[SRU][jammy][pull-request v4] alsa: enable the cirrus-logic side-codec to make the speaker output sound
Hui Wang
hui.wang at canonical.com
Fri Apr 15 04:32:27 UTC 2022
In the v4:
Rebase to the latest next-master branch, fix conflicting and change
cherry-picked to backported.
Remove the linux-next in the last 8 patches since those commits are
merged to mainline kernel from 5.18-rc1.
In the v3:
Dropped 17 patches which are fixing build errors for
sound/asoc/codec/cs35l41*.c. Without those 17 patches, I did some change
in the sound/asoc/codec/cs35l41*.c to make sure there are no failures
when building them, and change the cherry-pick to backport in some patches.
After dropping the 17 patches, this SRU is pretty clean now, it nearly
doesn't change the existing APIs or functions, it only introduces new
files or new functions in the existing files. It is safe to merge to
jammy kernel
And I also cleaned the annotations to fix the errors like "check-config:
FAIL (m != -):..."
BugLink: https://bugs.launchpad.net/bugs/1965496
[Impact]
We have a couple of lenovo latops models which have cirrus-logic side
codec between realtek codec and speaker, it plays a role as amplifier,
we need to enable this side-codec, otherwise the speaker can't output
sound.
[Fix]
Backport codec patches and some i2c and acpi detection patches from
mainline kernel and linux-next
[Test]
boot the patched kernel, run speaker test, both left and right channel
could work well.
[Where problems could occur]
If it could introduce regression, it will be on soc wm_adsp codec
drivers, since most of patch are adding new codec drivers, it will
not touch existing codec drivers. If a machine with wm_adsp codec
can't output sound or record sound, it means this SRU introduce
the regression on wm_adsp driver, but this possibility is very
low, since all patches are picked from mainline kernel.
The following changes since commit 2ae47f1acb5bbd2c971de62710fcb9fbe5a23338:
drm/i915/intel_combo_phy: Print I/O voltage info (2022-04-14 15:53:10
+0200)
are available in the Git repository at:
git://git.launchpad.net/~hui.wang/ubuntu/+source/linux/+git/jammy
jammy-lp1965496
for you to fetch changes up to ede14513342958ae54b6877483c10a061d00adb4:
UBUNTU: [Config] Add cirruslogic side codec support (2022-04-15
11:19:50 +0800)
----------------------------------------------------------------
Alexander Sergeyev (1):
ALSA: hda/realtek: fix speakers and micmute on HP 855 G8
Charles Keepax (15):
ASoC: cs35l41: Fix use of an uninitialised variable
ASoC: cs35l41: Use regmap_read_poll_timeout to wait for OTP boot
ASoC: cs35l41: Combine adjacent register writes
ASoC: cs35l41: Don't overwrite returned error code
ASoC: cs35l41: Fixup the error messages
ASoC: cs35l41: Fix a bunch of trivial code formating/style issues
misc: cs35l41: Remove unused pdn variable
ASoC: cs35l41: Change monitor widgets to siggens
ASoC: cs35l41: Remove incorrect comment
ASoC: cs35l41: Correct DSP power down
ASoC: cs35l41: Correct handling of some registers in the cache
ASoC: cs35l41: Update handling of test key registers
ASoC: cs35l41: Add support for hibernate memory retention mode
ALSA: hda: cs35l41: Avoid overwriting register patch
ALSA: hda: cs35l41: Add calls to newly added test key function
Dan Carpenter (1):
ALSA: hda: cs35l41: fix double free on error in probe()
David Rhodes (3):
ASoC: cs35l41: CS35L41 Boosted Smart Amplifier
ASoC: cs35l41: DSP Support
ASoC: cs35l41: Add cs35l51/53 IDs
Hui Wang (1):
UBUNTU: [Config] Add cirruslogic side codec support
Lucas Tanure (19):
ASoC: cs35l41: Set the max SPI speed for the whole device
ASoC: cs35l41: Fix link problem
ASoC: cs35l41: Fix undefined reference to core functions
ASoC: cs35l41: Convert tables to shared source code
ASoC: cs35l41: Move cs35l41_otp_unpack to shared code
ASoC: cs35l41: Move power initializations to reg_sequence
ASoC: cs35l41: Create shared function for errata patches
ASoC: cs35l41: Create shared function for setting channels
ASoC: cs35l41: Create shared function for boost configuration
ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems
ALSA: hda: cs35l41: Move cs35l41* calls to its own symbol namespace
ALSA: hda: cs35l41: Add missing default cases
ALSA: hda: cs35l41: Make use of the helper function dev_err_probe()
ALSA: hda: cs35l41: Tidyup code
ALSA: hda/realtek: Add support for Legion 7 16ACHg6 laptop
platform/x86: i2c-multi-instantiate: Rename it for a generic
serial driver name
platform/x86: serial-multi-instantiate: Reorganize I2C functions
ALSA: hda/realtek: Add support for HP Laptops
ACPI / scan: Create platform device for CS35L41
Saranya Gopal (1):
Revert "platform/x86: i2c-multi-instantiate: Don't create
platform device for INT3515 ACPI nodes"
Stefan Binding (5):
ALSA: hda/realtek: Add CS35L41 support for Thinkpad laptops
spi: Create helper API to lookup ACPI info for spi device
spi: Support selection of the index of the ACPI Spi Resource
before alloc
spi: Add API to count spi acpi resources
platform/x86: serial-multi-instantiate: Add SPI support
Uwe Kleine-König (2):
ASoC: cs35l41: Make cs35l41_remove() return void
ALSA: hda: cs35l41: Make cs35l41_hda_remove() return void
MAINTAINERS | 7 +-
debian.master/abi/amd64/generic.modules | 1 -
debian.master/config/annotations | 18 +-
debian.master/config/config.common.ubuntu | 9 +-
drivers/acpi/scan.c | 16 +-
drivers/platform/x86/Kconfig | 12 +-
drivers/platform/x86/Makefile | 2 +-
drivers/platform/x86/i2c-multi-instantiate.c | 189 ---------------
drivers/platform/x86/serial-multi-instantiate.c | 348
++++++++++++++++++++++++++++
drivers/spi/spi.c | 131 +++++++++--
include/linux/spi/spi.h | 7 +
include/sound/cs35l41.h | 780
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sound/pci/hda/Kconfig | 29 +++
sound/pci/hda/Makefile | 10 +
sound/pci/hda/cs35l41_hda.c | 542
+++++++++++++++++++++++++++++++++++++++++++
sound/pci/hda/cs35l41_hda.h | 69 ++++++
sound/pci/hda/cs35l41_hda_i2c.c | 68 ++++++
sound/pci/hda/cs35l41_hda_spi.c | 65 ++++++
sound/pci/hda/hda_component.h | 20 ++
sound/pci/hda/patch_realtek.c | 201 +++++++++++++++-
sound/soc/codecs/Kconfig | 26 +++
sound/soc/codecs/Makefile | 8 +
sound/soc/codecs/cs35l41-i2c.c | 102 ++++++++
sound/soc/codecs/cs35l41-lib.c | 1040
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sound/soc/codecs/cs35l41-spi.c | 100 ++++++++
sound/soc/codecs/cs35l41.c | 1596
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sound/soc/codecs/cs35l41.h | 60 +++++
27 files changed, 5234 insertions(+), 222 deletions(-)
delete mode 100644 drivers/platform/x86/i2c-multi-instantiate.c
create mode 100644 drivers/platform/x86/serial-multi-instantiate.c
create mode 100644 include/sound/cs35l41.h
create mode 100644 sound/pci/hda/cs35l41_hda.c
create mode 100644 sound/pci/hda/cs35l41_hda.h
create mode 100644 sound/pci/hda/cs35l41_hda_i2c.c
create mode 100644 sound/pci/hda/cs35l41_hda_spi.c
create mode 100644 sound/pci/hda/hda_component.h
create mode 100644 sound/soc/codecs/cs35l41-i2c.c
create mode 100644 sound/soc/codecs/cs35l41-lib.c
create mode 100644 sound/soc/codecs/cs35l41-spi.c
create mode 100644 sound/soc/codecs/cs35l41.c
create mode 100644 sound/soc/codecs/cs35l41.h
More information about the kernel-team
mailing list