mbox series

[v2,0/4] ASoC: Intel: bytcht_es8316: Determine quirks/routing through ACPI DSM

Message ID 20231202123946.54347-1-hdegoede@redhat.com
Headers show
Series ASoC: Intel: bytcht_es8316: Determine quirks/routing through ACPI DSM | expand

Message

Hans de Goede Dec. 2, 2023, 12:39 p.m. UTC
Hi All,

This takes some of the work done to auto-configure quirks/routing
for ESS83xx codecs by getting the info from ACPI from:
https://github.com/thesofproject/linux/pull/4112

And then builds on top of this to add auto-configuration to
the bytcht_es8316 board driver.

Changes in v2:
- Move es83xx-dsm-common.c back to sound/soc/codecs like the original
  version from: https://github.com/thesofproject/linux/pull/4112/

Note compared to the pull-request, which deals with the ES8336, this
series deals with the ES8316 (for which I have several devices to test
on) and this moves handling of the _DSM from the codec driver to
the board driver since with the ES8316 the board driver takes
care of setting up various routes for things like the mic and
speakers.

After this series audio now works properly on a CHT Chuwi Hi12
tablet without needing to add an extra quirk for that model.

This has also been tested on the following devices, where things
are unchanged from before (the ACPI autoconfiguration gives the
same results as the old defaults) :

Onda V80 plus (CHT)
GP-electronic T701 (BYT)

I also tested this on a Nanote UMPC-01, here the _DSM result
for PLATFORM_SPK_TYPE_ARG wrongly returns 1 (mono) while
the device actually has 2 speakers, so this model needs to keep
its DMI quirk.

I don't have an IRBIS NB41 nor a TECLAST X98 Plus II,
so the DMI quirks for those are left in place too on
a better safe then sorry basis.

Regards,

Hans


Hans de Goede (2):
  ASoC: Intel: bytcht_es8316: Add is_bytcr helper variable
  ASoC: Intel: bytcht_es8316: Determine quirks/routing with codec-dev
    ACPI DSM

Pierre-Louis Bossart (2):
  ASoC: es83xx: add ACPI DSM helper module
  ASoC: Intel: bytcht_es8316: Dump basic _DSM information

 sound/soc/codecs/Kconfig               |   4 +
 sound/soc/codecs/Makefile              |   2 +
 sound/soc/codecs/es83xx-dsm-common.c   |  89 ++++++
 sound/soc/codecs/es83xx-dsm-common.h   | 393 +++++++++++++++++++++++++
 sound/soc/intel/boards/Kconfig         |   1 +
 sound/soc/intel/boards/bytcht_es8316.c |  71 ++++-
 6 files changed, 557 insertions(+), 3 deletions(-)
 create mode 100644 sound/soc/codecs/es83xx-dsm-common.c
 create mode 100644 sound/soc/codecs/es83xx-dsm-common.h

Comments

Pierre-Louis Bossart Dec. 4, 2023, 2:46 p.m. UTC | #1
On 12/2/23 06:39, Hans de Goede wrote:
> Hi All,
> 
> This takes some of the work done to auto-configure quirks/routing
> for ESS83xx codecs by getting the info from ACPI from:
> https://github.com/thesofproject/linux/pull/4112
> 
> And then builds on top of this to add auto-configuration to
> the bytcht_es8316 board driver.
> 
> Changes in v2:
> - Move es83xx-dsm-common.c back to sound/soc/codecs like the original
>   version from: https://github.com/thesofproject/linux/pull/4112/
> 
> Note compared to the pull-request, which deals with the ES8336, this
> series deals with the ES8316 (for which I have several devices to test
> on) and this moves handling of the _DSM from the codec driver to
> the board driver since with the ES8316 the board driver takes
> care of setting up various routes for things like the mic and
> speakers.
> 
> After this series audio now works properly on a CHT Chuwi Hi12
> tablet without needing to add an extra quirk for that model.
> 
> This has also been tested on the following devices, where things
> are unchanged from before (the ACPI autoconfiguration gives the
> same results as the old defaults) :
> 
> Onda V80 plus (CHT)
> GP-electronic T701 (BYT)
> 
> I also tested this on a Nanote UMPC-01, here the _DSM result
> for PLATFORM_SPK_TYPE_ARG wrongly returns 1 (mono) while
> the device actually has 2 speakers, so this model needs to keep
> its DMI quirk.
> 
> I don't have an IRBIS NB41 nor a TECLAST X98 Plus II,
> so the DMI quirks for those are left in place too on
> a better safe then sorry basis.

Thanks Hans!

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Mark Brown Dec. 5, 2023, 1:11 p.m. UTC | #2
On Sat, 02 Dec 2023 13:39:42 +0100, Hans de Goede wrote:
> This takes some of the work done to auto-configure quirks/routing
> for ESS83xx codecs by getting the info from ACPI from:
> https://github.com/thesofproject/linux/pull/4112
> 
> And then builds on top of this to add auto-configuration to
> the bytcht_es8316 board driver.
> 
> [...]

Applied to

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

Thanks!

[1/4] ASoC: es83xx: add ACPI DSM helper module
      commit: 9c8bec3b63255ca04e5dad87471a35790aec06dc
[2/4] ASoC: Intel: bytcht_es8316: Dump basic _DSM information
      commit: b71e1d3789946a20e0e34349f4a874604ac65c3e
[3/4] ASoC: Intel: bytcht_es8316: Add is_bytcr helper variable
      commit: e8acf91a4013202934313f3c2968e6962daaffff
[4/4] ASoC: Intel: bytcht_es8316: Determine quirks/routing with codec-dev ACPI DSM
      commit: 7650862f4e72d2533356ec001b8ea8d5839aced0

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