[SRU][OEM-5.10][PATCH 00/21] alsa/sdw: add support for tgl_3_in_1_sdca soundwire machine

Hui Wang hui.wang at canonical.com
Fri Dec 4 02:41:11 UTC 2020


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

[Impact]
We need to enable a Dell soundwire machine in the OEM project, but
the soundwire design is different from previous generation, it follows
soundwire sdca spec. both ubuntu kernel and upstream kernel don't have
driver for soundwire sdca yet, so the audio device on this machine
can't be detected.

[Fix]
backport 20 patches from the kernel git tree of intel sof/project

[Test]
After booting up, we could see the sound card by running
pacmd list-cards, and there is speaker, headphone, dmic and headset-mic
on this sound card, test playback and record, all worked well.

[Where problems could occur]
The patches change some soundwire bus driver and alsa intel asoc
machine driver, it could make the sound stop working on old
soundwire machines. But this possibility is very low since we
tested these patches on Dell soundwire machines.



Bard Liao (2):
  UBUNTU: SAUCE: soundwire/regmap: use _no_pm functions in
    regmap_read/write
  UBUNTU: SAUCE: regmap: sdw: use no_pm routines for SoundWire 1.2 MBQ

Hui Wang (1):
  UBUNTU: [config] Enable sdw_sdca codec and machine driver

Jack Yu (1):
  UBUNTU: SAUCE: ASoC/SoundWire: rt715-sdca: First version of rt715 sdw
    sdca codec driver

Pierre-Louis Bossart (15):
  UBUNTU: SAUCE: soundwire: SDCA: detect sdca_cascade interrupt
  UBUNTU: SAUCE: regmap: sdw: add required header files
  UBUNTU: SAUCE: soundwire: SDCA: add helper macro to access controls
  UBUNTU: SAUCE: regmap/SoundWire: sdw: add support for SoundWire 1.2
    MBQ
  UBUNTU: SAUCE: soundwire: bus: add comments to explain interrupt loop
    filter
  UBUNTU: SAUCE: soundwire: bus: reset slave_notify status at each loop
  UBUNTU: SAUCE: soundwire: registers: add definitions for clearable
    interrupt fields
  UBUNTU: SAUCE: soundwire: bus: only clear valid DP0 interrupts
  UBUNTU: SAUCE: soundwire: bus: only clear valid DPN interrupts
  UBUNTU: SAUCE: soundwire: master: use pm_runtime_set_active() on add
  UBUNTU: SAUCE: soundwire: bus: use sdw_update_no_pm when initializing
    a device
  UBUNTU: SAUCE: soundwire: bus: use sdw_write_no_pm when setting the
    bus scale registers
  UBUNTU: SAUCE: soundwire: bus: use no_pm IO routines for all interrupt
    handling
  UBUNTU: SAUCE: soundwire: bus: fix confusion on device used by
    pm_runtime
  UBUNTU: SAUCE: soundwire: bus: clarify dev_err/dbg device references

Shuming Fan (2):
  UBUNTU: SAUCE: ASoC/SoundWire: rt1316: Add RT1316 SDCA vendor-specific
    driver
  UBUNTU: SAUCE: ASoC/SoundWire: rt711-sdca: Add RT711 SDCA
    vendor-specific driver

 debian.oem/config/annotations           |   11 +-
 debian.oem/config/config.common.ubuntu  |    8 +-
 drivers/base/regmap/Kconfig             |    6 +-
 drivers/base/regmap/Makefile            |    1 +
 drivers/base/regmap/regmap-sdw-mbq.c    |  101 ++
 drivers/base/regmap/regmap-sdw.c        |    6 +-
 drivers/soundwire/bus.c                 |  182 ++-
 drivers/soundwire/master.c              |   14 +
 include/linux/regmap.h                  |   35 +
 include/linux/soundwire/sdw.h           |    6 +
 include/linux/soundwire/sdw_registers.h |   43 +
 sound/soc/codecs/Kconfig                |   20 +
 sound/soc/codecs/Makefile               |    6 +
 sound/soc/codecs/rt1316-sdw.c           |  756 ++++++++++++
 sound/soc/codecs/rt1316-sdw.h           |  115 ++
 sound/soc/codecs/rt711-sdca-sdw.c       |  424 +++++++
 sound/soc/codecs/rt711-sdca-sdw.h       |  101 ++
 sound/soc/codecs/rt711-sdca.c           | 1482 +++++++++++++++++++++++
 sound/soc/codecs/rt711-sdca.h           |  246 ++++
 sound/soc/codecs/rt715-sdca-sdw.c       |  278 +++++
 sound/soc/codecs/rt715-sdca-sdw.h       |  170 +++
 sound/soc/codecs/rt715-sdca.c           |  936 ++++++++++++++
 sound/soc/codecs/rt715-sdca.h           |  124 ++
 sound/soc/codecs/rt715.h                |    1 -
 24 files changed, 5002 insertions(+), 70 deletions(-)
 create mode 100644 drivers/base/regmap/regmap-sdw-mbq.c
 create mode 100644 sound/soc/codecs/rt1316-sdw.c
 create mode 100644 sound/soc/codecs/rt1316-sdw.h
 create mode 100644 sound/soc/codecs/rt711-sdca-sdw.c
 create mode 100644 sound/soc/codecs/rt711-sdca-sdw.h
 create mode 100644 sound/soc/codecs/rt711-sdca.c
 create mode 100644 sound/soc/codecs/rt711-sdca.h
 create mode 100644 sound/soc/codecs/rt715-sdca-sdw.c
 create mode 100644 sound/soc/codecs/rt715-sdca-sdw.h
 create mode 100644 sound/soc/codecs/rt715-sdca.c
 create mode 100644 sound/soc/codecs/rt715-sdca.h

-- 
2.25.1




More information about the kernel-team mailing list