mbox series

[0/9] ALSA: cs35l56: Apply calibration from EFI

Message ID 20240221150507.1039979-1-rf@opensource.cirrus.com (mailing list archive)
Headers show
Series ALSA: cs35l56: Apply calibration from EFI | expand

Message

Richard Fitzgerald Feb. 21, 2024, 3:04 p.m. UTC
Factory calibration of the speakers stores the calibration information
into an EFI variable.

This set of patches adds support for applying speaker calibration
data from that EFI variable.

Patch #1 and #2 are bugfixes that are prerequisites.

The HDA patches #7 and #8 depend on the ASoC patches.

Patch #9 is a KUnit test for the new cs-amp-lib library.

Richard Fitzgerald (8):
  ASoC: wm_adsp: Fix missing mutex_lock in wm_adsp_write_ctl()
  ASoC: wm_adsp: Add wm_adsp_start() and wm_adsp_stop()
  ASoC: cs-amp-lib: Add helpers for factory calibration data
  ASoC: cs35l56: Add helper functions for amp calibration
  ASoC: cs35l56: Apply amp calibration from EFI data
  ALSA: hda: hda_cs_dsp_ctl: Add helper function to write calibration
  ALSA: hda: cs35l56: Apply amp calibration from EFI data
  ASoC: cs-amp-lib: Add KUnit test for calibration helpers

Simon Trimmer (1):
  ALSA: hda: hda_cs_dsp_ctl: Only call notify when a control has been
    added to a card

 include/sound/cs-amp-lib.h         |  66 +++
 include/sound/cs35l56.h            |  10 +
 sound/pci/hda/Kconfig              |   2 +
 sound/pci/hda/cs35l56_hda.c        |  36 +-
 sound/pci/hda/hda_cs_dsp_ctl.c     |  52 ++-
 sound/pci/hda/hda_cs_dsp_ctl.h     |   4 +
 sound/soc/codecs/Kconfig           |  18 +
 sound/soc/codecs/Makefile          |   4 +
 sound/soc/codecs/cs-amp-lib-test.c | 709 +++++++++++++++++++++++++++++
 sound/soc/codecs/cs-amp-lib.c      | 270 +++++++++++
 sound/soc/codecs/cs35l56-sdw.c     |  20 +
 sound/soc/codecs/cs35l56-shared.c  |  83 ++++
 sound/soc/codecs/cs35l56.c         |  43 +-
 sound/soc/codecs/wm_adsp.c         |  30 +-
 sound/soc/codecs/wm_adsp.h         |   2 +
 15 files changed, 1328 insertions(+), 21 deletions(-)
 create mode 100644 include/sound/cs-amp-lib.h
 create mode 100644 sound/soc/codecs/cs-amp-lib-test.c
 create mode 100644 sound/soc/codecs/cs-amp-lib.c

Comments

Takashi Iwai Feb. 22, 2024, 9:03 a.m. UTC | #1
On Wed, 21 Feb 2024 16:04:58 +0100,
Richard Fitzgerald wrote:
> 
> Factory calibration of the speakers stores the calibration information
> into an EFI variable.
> 
> This set of patches adds support for applying speaker calibration
> data from that EFI variable.
> 
> Patch #1 and #2 are bugfixes that are prerequisites.
> 
> The HDA patches #7 and #8 depend on the ASoC patches.
> 
> Patch #9 is a KUnit test for the new cs-amp-lib library.
> 
> Richard Fitzgerald (8):
>   ASoC: wm_adsp: Fix missing mutex_lock in wm_adsp_write_ctl()
>   ASoC: wm_adsp: Add wm_adsp_start() and wm_adsp_stop()
>   ASoC: cs-amp-lib: Add helpers for factory calibration data
>   ASoC: cs35l56: Add helper functions for amp calibration
>   ASoC: cs35l56: Apply amp calibration from EFI data
>   ALSA: hda: hda_cs_dsp_ctl: Add helper function to write calibration
>   ALSA: hda: cs35l56: Apply amp calibration from EFI data
>   ASoC: cs-amp-lib: Add KUnit test for calibration helpers
> 
> Simon Trimmer (1):
>   ALSA: hda: hda_cs_dsp_ctl: Only call notify when a control has been
>     added to a card

I guess it's better to be merged through ASoC tree.
Feel free to my review tag

Reviewed-by: Takashi Iwai <tiwai@suse.de>


thanks,

Takashi
Richard Fitzgerald Feb. 22, 2024, 2:40 p.m. UTC | #2
On 21/02/2024 15:04, Richard Fitzgerald wrote:
> Factory calibration of the speakers stores the calibration information
> into an EFI variable.
> 
> This set of patches adds support for applying speaker calibration
> data from that EFI variable.
> 

STOP! Don't merge.

I found a potential lockdep error in this code.
Will send a V2.
Mark Brown Feb. 26, 2024, 4:42 p.m. UTC | #3
On Wed, 21 Feb 2024 15:04:58 +0000, Richard Fitzgerald wrote:
> Factory calibration of the speakers stores the calibration information
> into an EFI variable.
> 
> This set of patches adds support for applying speaker calibration
> data from that EFI variable.
> 
> Patch #1 and #2 are bugfixes that are prerequisites.
> 
> [...]

Applied to

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

Thanks!

[1/9] ASoC: wm_adsp: Fix missing mutex_lock in wm_adsp_write_ctl()
      (no commit info)
[2/9] ALSA: hda: hda_cs_dsp_ctl: Only call notify when a control has been added to a card
      (no commit info)
[3/9] ASoC: wm_adsp: Add wm_adsp_start() and wm_adsp_stop()
      commit: 5519ac3a7164d5d1c31879bf5b0d279b58c8e88f
[4/9] ASoC: cs-amp-lib: Add helpers for factory calibration data
      commit: 1cad8725f2b98965ed3658bc917090b30adb14fa
[5/9] ASoC: cs35l56: Add helper functions for amp calibration
      commit: e1830f66f6c62d288d2c27a7ed18ab93caa0b253
[6/9] ASoC: cs35l56: Apply amp calibration from EFI data
      commit: 1326444e93c250ff99eba048f699313ba6acbf2f
[7/9] ALSA: hda: hda_cs_dsp_ctl: Add helper function to write calibration
      (no commit info)
[8/9] ALSA: hda: cs35l56: Apply amp calibration from EFI data
      commit: cfa43aaa7948be5a701ad4099588cf49d5a02708
[9/9] ASoC: cs-amp-lib: Add KUnit test for calibration helpers
      (no commit info)

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