[PATCH 00/30][SRU][OEM-5.13][I][U] ALSA: hda/cs8409: Add support for dolphin
You-Sheng Yang
vicamo.yang at canonical.com
Thu Aug 19 07:25:18 UTC 2021
On 8/19/21 2:13 PM, You-Sheng Yang wrote:
> BugLink: https://bugs.launchpad.net/bugs/1939541
>
> [Impact]
>
> Dolphin devices have CS8409 HDA Bridge connected to two CS42L42 codecs.
> Codec 1 supports Headphone and Headset Mic. Codec 2 supports Line Out.
>
> [Fix]
>
> In order to support multiple CS42L42 codecs connected to a CS8409 HDA
> Bridge, a changeset of 27 patches is proposed to
> https://patchwork.kernel.org/project/alsa-devel/cover/20210811185654.6837-1-vitalyr@opensource.cirrus.com/
> (now in linux-next), as well as two additional patches in
> https://lore.kernel.org/lkml/20210812183433.6330-1-vitalyr@opensource.cirrus.com/
> that fixes pop sounds at insertion of earphone jack and reboot. The
> second patch of the latter changeset is on hold because of another fix
> series that deprecates the reboot_notify callback of HD-audio by
> forcibly doing runtime-suspend at shutdown.
>
> A Ubuntu sauced patch is also added to enable the now stand alone
> module snd-hda-codec-cs8409.
>
> [Test Case]
>
> Test on oem dolphin platform, as well as previous cs8409 platforms with
> one single codec.
>
> [Where problems could occur]
While this is the first platform we have multiple codecs connected to a
CS8409 HDA bridge, we may still have further stability or acoustic
quality issues as we had for previous cirrus platforms.
> [Other Info]
>
> This also fixes default sample rate problem that was previously fixed by
> a oem-only package oem-fix-audio-cirrus-default-sample-rate.
>
> Lucas Tanure (12):
> ALSA: hda/cirrus: Move CS8409 HDA bridge to separate module
> ALSA: hda/cs8409: Move arrays of configuration to a new file
> ALSA: hda/cs8409: Disable unsolicited response for the first boot
> ALSA: hda/cs8409: Prevent I2C access during suspend time
> ALSA: hda/cs8409: Generalize volume controls
> ALSA: hda/cs8409: Dont disable I2C clock between consecutive accesses
> ALSA: hda/cs8409: Avoid setting the same I2C address for every access
> ALSA: hda/cs8409: Avoid re-setting the same page as the last access
> ALSA: hda/cs8409: Support i2c bulk read/write functions
> ALSA: hda/cs8409: Separate CS8409, CS42L42 and project functions
> ALSA: hda/cs8409: Move codec properties to its own struct
> ALSA: hda/cs8409: Add support for dolphin
>
> Stefan Binding (17):
> ALSA: hda/cs8409: Use enums for register names and coefficients
> ALSA: hda/cs8409: Mask all CS42L42 interrupts on initialization
> ALSA: hda/cs8409: Reduce HS pops/clicks for Cyborg
> ALSA: hda/cs8409: Disable unnecessary Ring Sense for
> Cyborg/Warlock/Bullseye
> ALSA: hda/cs8409: Disable unsolicited responses during suspend
> ALSA: hda/cs8409: Mask CS42L42 wake events
> ALSA: hda/cs8409: Simplify CS42L42 jack detect.
> ALSA: hda/cs8409: Support multiple sub_codecs for Suspend/Resume/Unsol
> events
> ALSA: hda/cs8409: Add Support to disable jack type detection for
> CS42L42
> ALSA: hda/cs8409: Enable Full Scale Volume for Line Out Codec on
> Dolphin
> ALSA: hda/cs8409: Set fixed sample rate of 48kHz for CS42L42
> ALSA: hda/cs8409: Use timeout rather than retries for I2C transaction
> waits
> ALSA: hda/cs8409: Remove unnecessary delays
> ALSA: hda/cs8409: Follow correct CS42L42 power down sequence for
> suspend
> ALSA: hda/cs8409: Unmute/Mute codec when stream starts/stops
> ALSA: hda/cs8409: Prevent pops and clicks during suspend
> ALSA: hda/cs8409: Prevent pops and clicks during reboot
>
> You-Sheng Yang (1):
> UBUNTU: [Config] Enable Cirrus Logic HDA bridge support
>
> debian.oem/config/config.common.ubuntu | 1 +
> sound/pci/hda/Kconfig | 10 +
> sound/pci/hda/Makefile | 2 +
> sound/pci/hda/patch_cirrus.c | 1074 --------------------
> sound/pci/hda/patch_cs8409-tables.c | 560 +++++++++++
> sound/pci/hda/patch_cs8409.c | 1287 ++++++++++++++++++++++++
> sound/pci/hda/patch_cs8409.h | 369 +++++++
> 7 files changed, 2229 insertions(+), 1074 deletions(-)
> create mode 100644 sound/pci/hda/patch_cs8409-tables.c
> create mode 100644 sound/pci/hda/patch_cs8409.c
> create mode 100644 sound/pci/hda/patch_cs8409.h
>
More information about the kernel-team
mailing list