From patchwork Fri Dec 4 02:41:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hui Wang X-Patchwork-Id: 1410770 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4CnH6N0CwDz9sVH; Fri, 4 Dec 2020 13:42:04 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1kl12c-00040l-B5; Fri, 04 Dec 2020 02:41:50 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1kl12T-0003yq-QG for kernel-team@lists.ubuntu.com; Fri, 04 Dec 2020 02:41:41 +0000 Received: from [111.196.65.193] (helo=localhost.localdomain) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1kl12S-0005Sm-Na for kernel-team@lists.ubuntu.com; Fri, 04 Dec 2020 02:41:41 +0000 From: Hui Wang To: kernel-team@lists.ubuntu.com Subject: [SRU][OEM-5.10][PATCH 00/21] alsa/sdw: add support for tgl_3_in_1_sdca soundwire machine Date: Fri, 4 Dec 2020 10:41:11 +0800 Message-Id: <20201204024132.12905-1-hui.wang@canonical.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" 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