mbox series

[v3,0/4] Add support for jack detection to codec present in A64 SoC

Message ID 20240302140042.1990256-1-megi@xff.cz (mailing list archive)
Headers show
Series Add support for jack detection to codec present in A64 SoC | expand

Message

Ondřej Jirman March 2, 2024, 2 p.m. UTC
From: Ondrej Jirman <megi@xff.cz>

This series adds support for jack detection to this codec. I used
and tested this on Pinephone. It works quite nicely. I tested it
against Android headset mic button resistor specification.

The patches are a rewritten and debugged version of the original
ones from Arnaud Ferraris and Samuel Holland, improved to better
handle headset button presses and with more robust plug-in/out
event debouncing, and to use set_jack API instead of sniffing
the sound card widget names, to detect the type of jack connector.

Please take a look. :)

v3:
- removed all device-tree related code
  (it's not necessary for core functionality, it only helps make the jack detect
  functionality of the codec be usable from simple-sound-card driver, and I'll
  send it spearately, because it will apparently need several more rounds
  of review)

v2:
- use set_jack/get_jack_type
- get rid of some custom poking inside card internals to figure
  out what kind of jack port we should setup the codec for
- read jack-type from OF as suggested here: 
  https://elixir.bootlin.com/linux/latest/source/sound/soc/soc-component.c#L288
- add DT bindings

Thank you very much,
	Ondřej Jirman

Arnaud Ferraris (2):
  ASoC: sun50i-codec-analog: Enable jack detection on startup
  ASoC: sun8i-codec: Implement jack and accessory detection

Samuel Holland (2):
  ASoC: sun50i-codec-analog: Move suspend/resume to set_bias_level
  ASoC: sun8i-codec: Enable bus clock at STANDBY and higher bias

 sound/soc/sunxi/sun50i-codec-analog.c |  73 +++++-
 sound/soc/sunxi/sun8i-codec.c         | 346 +++++++++++++++++++++++++-
 2 files changed, 399 insertions(+), 20 deletions(-)

Comments

Mark Brown March 26, 2024, 3:27 p.m. UTC | #1
On Sat, 02 Mar 2024 15:00:34 +0100, Ondřej Jirman wrote:
> This series adds support for jack detection to this codec. I used
> and tested this on Pinephone. It works quite nicely. I tested it
> against Android headset mic button resistor specification.
> 
> The patches are a rewritten and debugged version of the original
> ones from Arnaud Ferraris and Samuel Holland, improved to better
> handle headset button presses and with more robust plug-in/out
> event debouncing, and to use set_jack API instead of sniffing
> the sound card widget names, to detect the type of jack connector.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/4] ASoC: sun50i-codec-analog: Move suspend/resume to set_bias_level
      commit: c0454d31e05062b1c7df7eef21855ba1f56c5158
[2/4] ASoC: sun8i-codec: Enable bus clock at STANDBY and higher bias
      commit: c556814b926c3f16fdca3d18cac793ccf0d14c44
[3/4] ASoC: sun50i-codec-analog: Enable jack detection on startup
      commit: d5961e43b28668088087befbf4f7a043bd0ae65c
[4/4] ASoC: sun8i-codec: Implement jack and accessory detection
      commit: 21fa98f4197bb3365dda1417708b318f403c13c1

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark
Ondřej Jirman March 26, 2024, 4:33 p.m. UTC | #2
Hello Mark,

On Tue, Mar 26, 2024 at 03:27:41PM +0000, Mark Brown wrote:
> On Sat, 02 Mar 2024 15:00:34 +0100, Ondřej Jirman wrote:
> > This series adds support for jack detection to this codec. I used
> > and tested this on Pinephone. It works quite nicely. I tested it
> > against Android headset mic button resistor specification.
> > 
> > The patches are a rewritten and debugged version of the original
> > ones from Arnaud Ferraris and Samuel Holland, improved to better
> > handle headset button presses and with more robust plug-in/out
> > event debouncing, and to use set_jack API instead of sniffing
> > the sound card widget names, to detect the type of jack connector.
> > 
> > [...]
> 
> Applied to
> 
>    https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thank you.

Coincidentally, Intel kernel test bot found an issue today that this fails to
build with CONFIG_SND_JACK_INPUT_DEV disabled. Should I send a followup fix or
should I send v5 with the fix integrated into the patch that breaks?

Kind regards,
	o.

> Thanks!
> 
> [1/4] ASoC: sun50i-codec-analog: Move suspend/resume to set_bias_level
>       commit: c0454d31e05062b1c7df7eef21855ba1f56c5158
> [2/4] ASoC: sun8i-codec: Enable bus clock at STANDBY and higher bias
>       commit: c556814b926c3f16fdca3d18cac793ccf0d14c44
> [3/4] ASoC: sun50i-codec-analog: Enable jack detection on startup
>       commit: d5961e43b28668088087befbf4f7a043bd0ae65c
> [4/4] ASoC: sun8i-codec: Implement jack and accessory detection
>       commit: 21fa98f4197bb3365dda1417708b318f403c13c1
> 
> All being well this means that it will be integrated into the linux-next
> tree (usually sometime in the next 24 hours) and sent to Linus during
> the next merge window (or sooner if it is a bug fix), however if
> problems are discovered then the patch may be dropped or reverted.
> 
> You may get further e-mails resulting from automated or manual testing
> and review of the tree, please engage with people reporting problems and
> send followup patches addressing any issues that are reported if needed.
> 
> If any updates are required or you are submitting further changes they
> should be sent as incremental updates against current git, existing
> patches will not be replaced.
> 
> Please add any relevant lists and maintainers to the CCs when replying
> to this mail.
> 
> Thanks,
> Mark
>
Mark Brown March 26, 2024, 4:46 p.m. UTC | #3
On Tue, Mar 26, 2024 at 05:33:14PM +0100, Ondřej Jirman wrote:

> Coincidentally, Intel kernel test bot found an issue today that this fails to
> build with CONFIG_SND_JACK_INPUT_DEV disabled. Should I send a followup fix or
> should I send v5 with the fix integrated into the patch that breaks?

Please send a followup.