[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 06:13:56 UTC 2021

BugLink: https://bugs.launchpad.net/bugs/1939541


Dolphin devices have CS8409 HDA Bridge connected to two CS42L42 codecs.
Codec 1 supports Headphone and Headset Mic. Codec 2 supports Line Out.


In order to support multiple CS42L42 codecs connected to a CS8409 HDA
Bridge, a changeset of 27 patches is proposed to
(now in linux-next), as well as two additional patches in
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]

[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
  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
  ALSA: hda/cs8409: Add Support to disable jack type detection for
  ALSA: hda/cs8409: Enable Full Scale Volume for Line Out Codec on
  ALSA: hda/cs8409: Set fixed sample rate of 48kHz for CS42L42
  ALSA: hda/cs8409: Use timeout rather than retries for I2C transaction
  ALSA: hda/cs8409: Remove unnecessary delays
  ALSA: hda/cs8409: Follow correct CS42L42 power down sequence for
  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