drivers/soundwire/Makefile | 3 +- drivers/soundwire/bus.c | 3 + drivers/soundwire/cadence_master.h | 2 + drivers/soundwire/intel.h | 16 + drivers/soundwire/intel_ace2x.c | 390 ++++++++++++++++++++++++ drivers/soundwire/intel_ace2x_debugfs.c | 147 +++++++++ drivers/soundwire/intel_auxdevice.c | 17 ++ drivers/soundwire/intel_init.c | 21 +- include/linux/soundwire/sdw.h | 3 +- include/linux/soundwire/sdw_intel.h | 88 ++++++ sound/soc/sof/intel/hda.c | 31 +- sound/soc/sof/intel/shim.h | 1 + 12 files changed, 711 insertions(+), 11 deletions(-) create mode 100644 drivers/soundwire/intel_ace2x.c create mode 100644 drivers/soundwire/intel_ace2x_debugfs.c
This series uses the abstraction added in past kernel cycles to provide
support for the ACE2.x integration. The existing SHIM and Cadence
registers are now split in 3 (SHIM, IP, SHIM vendor-specific), with some
parts also moved to the HDaudio Extended Multi link structures. Nothing
fundamentally different except for the register map.
This series only provides the basic mechanisms to expose SoundWire-based
DAIs. The PCI parts and DSP management will be contributed later, and the
DAI ops are now empty as well.
The change is mainly on SoundWire. It would be better to go through
SoundWire tree.
Pierre-Louis Bossart (20):
ASoC: SOF: Intel: shim: add enum for ACE 2.0 IP used in LunarLake
soundwire: intel: add ACE2.x SHIM definitions
soundwire: intel_ace2x: add empty new ops for LunarLake
soundwire/ASOC: Intel: update offsets for LunarLake
soundwire: intel/cadence: set ip_offset at run-time
ASoC/soundwire: intel: pass hdac_bus pointer for link management
soundwire: intel: add eml_lock in the interface for new platforms
ASoC: SOF: Intel: hda: retrieve SoundWire eml_lock and pass pointer
soundwire: intel_init: use eml_lock parameter
soundwire: intel_ace2x: add debugfs support
soundwire: intel_ace2x: add link power-up/down helpers
soundwire: intel_ace2x: set SYNCPRD before powering-up
soundwire: intel_ace2x: configure link PHY
soundwire: intel_ace2x: add DAI registration
soundwire: intel_ace2x: add sync_arm/sync_go helpers
soundwire: intel_ace2x: use common helpers for bus start/stop
soundwire: intel_ace2x: enable wake support
soundwire: intel_ace2x: add check_cmdsync_unlocked helper
soundwire: bus: add new manager callback to deal with peripheral
enumeration
soundwire: intel_ace2x: add new_peripheral_assigned callback
drivers/soundwire/Makefile | 3 +-
drivers/soundwire/bus.c | 3 +
drivers/soundwire/cadence_master.h | 2 +
drivers/soundwire/intel.h | 16 +
drivers/soundwire/intel_ace2x.c | 390 ++++++++++++++++++++++++
drivers/soundwire/intel_ace2x_debugfs.c | 147 +++++++++
drivers/soundwire/intel_auxdevice.c | 17 ++
drivers/soundwire/intel_init.c | 21 +-
include/linux/soundwire/sdw.h | 3 +-
include/linux/soundwire/sdw_intel.h | 88 ++++++
sound/soc/sof/intel/hda.c | 31 +-
sound/soc/sof/intel/shim.h | 1 +
12 files changed, 711 insertions(+), 11 deletions(-)
create mode 100644 drivers/soundwire/intel_ace2x.c
create mode 100644 drivers/soundwire/intel_ace2x_debugfs.c
--
2.25.1
The patches will not compile due to missed dependency but welcome review on the code changes. > -----Original Message----- > From: Bard Liao <yung-chuan.liao@linux.intel.com> > Sent: Thursday, March 23, 2023 1:45 PM > To: alsa-devel@alsa-project.org; vkoul@kernel.org; broonie@kernel.org > Cc: vinod.koul@linaro.org; linux-kernel@vger.kernel.org; pierre- > louis.bossart@linux.intel.com; Liao, Bard <bard.liao@intel.com>; > tiwai@suse.de > Subject: [PATCH 00/20] ASoC/soundwire: add support for ACE2.x > > This series uses the abstraction added in past kernel cycles to provide > support for the ACE2.x integration. The existing SHIM and Cadence > registers are now split in 3 (SHIM, IP, SHIM vendor-specific), with some > parts also moved to the HDaudio Extended Multi link structures. Nothing > fundamentally different except for the register map. > > This series only provides the basic mechanisms to expose SoundWire-based > DAIs. The PCI parts and DSP management will be contributed later, and the > DAI ops are now empty as well. > > The change is mainly on SoundWire. It would be better to go through > SoundWire tree. > > Pierre-Louis Bossart (20): > ASoC: SOF: Intel: shim: add enum for ACE 2.0 IP used in LunarLake > soundwire: intel: add ACE2.x SHIM definitions > soundwire: intel_ace2x: add empty new ops for LunarLake > soundwire/ASOC: Intel: update offsets for LunarLake > soundwire: intel/cadence: set ip_offset at run-time > ASoC/soundwire: intel: pass hdac_bus pointer for link management > soundwire: intel: add eml_lock in the interface for new platforms > ASoC: SOF: Intel: hda: retrieve SoundWire eml_lock and pass pointer > soundwire: intel_init: use eml_lock parameter > soundwire: intel_ace2x: add debugfs support > soundwire: intel_ace2x: add link power-up/down helpers > soundwire: intel_ace2x: set SYNCPRD before powering-up > soundwire: intel_ace2x: configure link PHY > soundwire: intel_ace2x: add DAI registration > soundwire: intel_ace2x: add sync_arm/sync_go helpers > soundwire: intel_ace2x: use common helpers for bus start/stop > soundwire: intel_ace2x: enable wake support > soundwire: intel_ace2x: add check_cmdsync_unlocked helper > soundwire: bus: add new manager callback to deal with peripheral > enumeration > soundwire: intel_ace2x: add new_peripheral_assigned callback > > drivers/soundwire/Makefile | 3 +- > drivers/soundwire/bus.c | 3 + > drivers/soundwire/cadence_master.h | 2 + > drivers/soundwire/intel.h | 16 + > drivers/soundwire/intel_ace2x.c | 390 ++++++++++++++++++++++++ > drivers/soundwire/intel_ace2x_debugfs.c | 147 +++++++++ > drivers/soundwire/intel_auxdevice.c | 17 ++ > drivers/soundwire/intel_init.c | 21 +- > include/linux/soundwire/sdw.h | 3 +- > include/linux/soundwire/sdw_intel.h | 88 ++++++ > sound/soc/sof/intel/hda.c | 31 +- > sound/soc/sof/intel/shim.h | 1 + > 12 files changed, 711 insertions(+), 11 deletions(-) > create mode 100644 drivers/soundwire/intel_ace2x.c > create mode 100644 drivers/soundwire/intel_ace2x_debugfs.c > > -- > 2.25.1
On 23-03-23, 13:44, Bard Liao wrote: > This series uses the abstraction added in past kernel cycles to provide > support for the ACE2.x integration. The existing SHIM and Cadence ACE2..? > registers are now split in 3 (SHIM, IP, SHIM vendor-specific), with some > parts also moved to the HDaudio Extended Multi link structures. Nothing > fundamentally different except for the register map. > > This series only provides the basic mechanisms to expose SoundWire-based > DAIs. The PCI parts and DSP management will be contributed later, and the > DAI ops are now empty as well. > > The change is mainly on SoundWire. It would be better to go through > SoundWire tree. > > Pierre-Louis Bossart (20): > ASoC: SOF: Intel: shim: add enum for ACE 2.0 IP used in LunarLake > soundwire: intel: add ACE2.x SHIM definitions > soundwire: intel_ace2x: add empty new ops for LunarLake > soundwire/ASOC: Intel: update offsets for LunarLake > soundwire: intel/cadence: set ip_offset at run-time > ASoC/soundwire: intel: pass hdac_bus pointer for link management > soundwire: intel: add eml_lock in the interface for new platforms > ASoC: SOF: Intel: hda: retrieve SoundWire eml_lock and pass pointer > soundwire: intel_init: use eml_lock parameter > soundwire: intel_ace2x: add debugfs support > soundwire: intel_ace2x: add link power-up/down helpers > soundwire: intel_ace2x: set SYNCPRD before powering-up > soundwire: intel_ace2x: configure link PHY > soundwire: intel_ace2x: add DAI registration > soundwire: intel_ace2x: add sync_arm/sync_go helpers > soundwire: intel_ace2x: use common helpers for bus start/stop > soundwire: intel_ace2x: enable wake support > soundwire: intel_ace2x: add check_cmdsync_unlocked helper > soundwire: bus: add new manager callback to deal with peripheral > enumeration > soundwire: intel_ace2x: add new_peripheral_assigned callback > > drivers/soundwire/Makefile | 3 +- > drivers/soundwire/bus.c | 3 + > drivers/soundwire/cadence_master.h | 2 + > drivers/soundwire/intel.h | 16 + > drivers/soundwire/intel_ace2x.c | 390 ++++++++++++++++++++++++ > drivers/soundwire/intel_ace2x_debugfs.c | 147 +++++++++ > drivers/soundwire/intel_auxdevice.c | 17 ++ > drivers/soundwire/intel_init.c | 21 +- > include/linux/soundwire/sdw.h | 3 +- > include/linux/soundwire/sdw_intel.h | 88 ++++++ > sound/soc/sof/intel/hda.c | 31 +- > sound/soc/sof/intel/shim.h | 1 + > 12 files changed, 711 insertions(+), 11 deletions(-) > create mode 100644 drivers/soundwire/intel_ace2x.c > create mode 100644 drivers/soundwire/intel_ace2x_debugfs.c > > -- > 2.25.1 -- ~Vinod
On 4/12/23 05:07, Vinod Koul wrote: > On 23-03-23, 13:44, Bard Liao wrote: >> This series uses the abstraction added in past kernel cycles to provide >> support for the ACE2.x integration. The existing SHIM and Cadence > > ACE2..? Not sure I get the comment, this refers to the IP version. ACE 2.0 IP used in LunarLake, x refers to future TDB versions. BTW this depends on the series "[PATCH v2 00/18] ASoC: SOF: Intel: hda-mlink: HDaudio multi-link extension update" applied yesterday by Mark. It'd be really nice if we can have this in 6.4-rc1 to continue adding the rest of the Lunar Lake patches. We tried to limit the number of changes impacting both ASoC and SoundWire subsystems but there's mechanically 2 merges needed (ASoC -> SoundWire for the hda-mlink dependency and SoundWire->ASoC for the interface changes below). > >> registers are now split in 3 (SHIM, IP, SHIM vendor-specific), with some >> parts also moved to the HDaudio Extended Multi link structures. Nothing >> fundamentally different except for the register map. >> >> This series only provides the basic mechanisms to expose SoundWire-based >> DAIs. The PCI parts and DSP management will be contributed later, and the >> DAI ops are now empty as well. >> >> The change is mainly on SoundWire. It would be better to go through >> SoundWire tree. >> >> Pierre-Louis Bossart (20): >> ASoC: SOF: Intel: shim: add enum for ACE 2.0 IP used in LunarLake >> soundwire: intel: add ACE2.x SHIM definitions >> soundwire: intel_ace2x: add empty new ops for LunarLake >> soundwire/ASOC: Intel: update offsets for LunarLake >> soundwire: intel/cadence: set ip_offset at run-time >> ASoC/soundwire: intel: pass hdac_bus pointer for link management >> soundwire: intel: add eml_lock in the interface for new platforms >> ASoC: SOF: Intel: hda: retrieve SoundWire eml_lock and pass pointer >> soundwire: intel_init: use eml_lock parameter >> soundwire: intel_ace2x: add debugfs support >> soundwire: intel_ace2x: add link power-up/down helpers >> soundwire: intel_ace2x: set SYNCPRD before powering-up >> soundwire: intel_ace2x: configure link PHY >> soundwire: intel_ace2x: add DAI registration >> soundwire: intel_ace2x: add sync_arm/sync_go helpers >> soundwire: intel_ace2x: use common helpers for bus start/stop >> soundwire: intel_ace2x: enable wake support >> soundwire: intel_ace2x: add check_cmdsync_unlocked helper >> soundwire: bus: add new manager callback to deal with peripheral >> enumeration >> soundwire: intel_ace2x: add new_peripheral_assigned callback >> >> drivers/soundwire/Makefile | 3 +- >> drivers/soundwire/bus.c | 3 + >> drivers/soundwire/cadence_master.h | 2 + >> drivers/soundwire/intel.h | 16 + >> drivers/soundwire/intel_ace2x.c | 390 ++++++++++++++++++++++++ >> drivers/soundwire/intel_ace2x_debugfs.c | 147 +++++++++ >> drivers/soundwire/intel_auxdevice.c | 17 ++ >> drivers/soundwire/intel_init.c | 21 +- >> include/linux/soundwire/sdw.h | 3 +- >> include/linux/soundwire/sdw_intel.h | 88 ++++++ >> sound/soc/sof/intel/hda.c | 31 +- >> sound/soc/sof/intel/shim.h | 1 + >> 12 files changed, 711 insertions(+), 11 deletions(-) >> create mode 100644 drivers/soundwire/intel_ace2x.c >> create mode 100644 drivers/soundwire/intel_ace2x_debugfs.c >> >> -- >> 2.25.1 >
On 12-04-23, 09:11, Pierre-Louis Bossart wrote: > > > On 4/12/23 05:07, Vinod Koul wrote: > > On 23-03-23, 13:44, Bard Liao wrote: > >> This series uses the abstraction added in past kernel cycles to provide > >> support for the ACE2.x integration. The existing SHIM and Cadence > > > > ACE2..? > > Not sure I get the comment, this refers to the IP version. What does ACE mean, it should be expanded so that people know what it might refer to..? > > ACE 2.0 IP used in LunarLake, x refers to future TDB versions. > > BTW this depends on the series "[PATCH v2 00/18] ASoC: SOF: Intel: > hda-mlink: HDaudio multi-link extension update" applied yesterday by > Mark. It'd be really nice if we can have this in 6.4-rc1 to continue > adding the rest of the Lunar Lake patches. That should be mentioned in cover, I can ack this if okay and Mark might apply..? or u folks have something else in mind? > > We tried to limit the number of changes impacting both ASoC and > SoundWire subsystems but there's mechanically 2 merges needed (ASoC -> > SoundWire for the hda-mlink dependency and SoundWire->ASoC for the > interface changes below). > > > > >> registers are now split in 3 (SHIM, IP, SHIM vendor-specific), with some > >> parts also moved to the HDaudio Extended Multi link structures. Nothing > >> fundamentally different except for the register map. > >> > >> This series only provides the basic mechanisms to expose SoundWire-based > >> DAIs. The PCI parts and DSP management will be contributed later, and the > >> DAI ops are now empty as well. > >> > >> The change is mainly on SoundWire. It would be better to go through > >> SoundWire tree. > >> > >> Pierre-Louis Bossart (20): > >> ASoC: SOF: Intel: shim: add enum for ACE 2.0 IP used in LunarLake > >> soundwire: intel: add ACE2.x SHIM definitions > >> soundwire: intel_ace2x: add empty new ops for LunarLake > >> soundwire/ASOC: Intel: update offsets for LunarLake > >> soundwire: intel/cadence: set ip_offset at run-time > >> ASoC/soundwire: intel: pass hdac_bus pointer for link management > >> soundwire: intel: add eml_lock in the interface for new platforms > >> ASoC: SOF: Intel: hda: retrieve SoundWire eml_lock and pass pointer > >> soundwire: intel_init: use eml_lock parameter > >> soundwire: intel_ace2x: add debugfs support > >> soundwire: intel_ace2x: add link power-up/down helpers > >> soundwire: intel_ace2x: set SYNCPRD before powering-up > >> soundwire: intel_ace2x: configure link PHY > >> soundwire: intel_ace2x: add DAI registration > >> soundwire: intel_ace2x: add sync_arm/sync_go helpers > >> soundwire: intel_ace2x: use common helpers for bus start/stop > >> soundwire: intel_ace2x: enable wake support > >> soundwire: intel_ace2x: add check_cmdsync_unlocked helper > >> soundwire: bus: add new manager callback to deal with peripheral > >> enumeration > >> soundwire: intel_ace2x: add new_peripheral_assigned callback > >> > >> drivers/soundwire/Makefile | 3 +- > >> drivers/soundwire/bus.c | 3 + > >> drivers/soundwire/cadence_master.h | 2 + > >> drivers/soundwire/intel.h | 16 + > >> drivers/soundwire/intel_ace2x.c | 390 ++++++++++++++++++++++++ > >> drivers/soundwire/intel_ace2x_debugfs.c | 147 +++++++++ > >> drivers/soundwire/intel_auxdevice.c | 17 ++ > >> drivers/soundwire/intel_init.c | 21 +- > >> include/linux/soundwire/sdw.h | 3 +- > >> include/linux/soundwire/sdw_intel.h | 88 ++++++ > >> sound/soc/sof/intel/hda.c | 31 +- > >> sound/soc/sof/intel/shim.h | 1 + > >> 12 files changed, 711 insertions(+), 11 deletions(-) > >> create mode 100644 drivers/soundwire/intel_ace2x.c > >> create mode 100644 drivers/soundwire/intel_ace2x_debugfs.c > >> > >> -- > >> 2.25.1 > > -- ~Vinod
On 4/12/23 10:22, Vinod Koul wrote: > On 12-04-23, 09:11, Pierre-Louis Bossart wrote: >> >> >> On 4/12/23 05:07, Vinod Koul wrote: >>> On 23-03-23, 13:44, Bard Liao wrote: >>>> This series uses the abstraction added in past kernel cycles to provide >>>> support for the ACE2.x integration. The existing SHIM and Cadence >>> >>> ACE2..? >> >> Not sure I get the comment, this refers to the IP version. > > What does ACE mean, it should be expanded so that people know what it > might refer to..? I think at one point it stood for "Audio Converged Engine", which doesn't really clarify anything, does it? It's easier for most people to just refer to cAVS or ACE as a type of IP followed by a version number, and use the mapping between the IP version and end-user device in the PCI descriptors. >> ACE 2.0 IP used in LunarLake, x refers to future TDB versions. >> >> BTW this depends on the series "[PATCH v2 00/18] ASoC: SOF: Intel: >> hda-mlink: HDaudio multi-link extension update" applied yesterday by >> Mark. It'd be really nice if we can have this in 6.4-rc1 to continue >> adding the rest of the Lunar Lake patches. > > That should be mentioned in cover, Yes the cover and some patches miss details, it's hard when you have such a long series to be clear and avoid repetition at the same time... > I can ack this if okay and Mark might apply..? or u folks have something else in mind? that would be ideal, but unfortunately this series will not apply as is on Mark's for-next branch. I just checked, there are multiple conflicts with the intel_bus_common stuff which is missing in Mark's tree. Mark also provided his Acked-by tag already for patches 1/4/6/8, so I was under the impression that these patches would be merged through the soundwire tree. I think what's missing is a tag from Mark to make sure the hda-mlink dependencies are in the soundwire tree? >> >> We tried to limit the number of changes impacting both ASoC and >> SoundWire subsystems but there's mechanically 2 merges needed (ASoC -> >> SoundWire for the hda-mlink dependency and SoundWire->ASoC for the >> interface changes below). >> >>> >>>> registers are now split in 3 (SHIM, IP, SHIM vendor-specific), with some >>>> parts also moved to the HDaudio Extended Multi link structures. Nothing >>>> fundamentally different except for the register map. >>>> >>>> This series only provides the basic mechanisms to expose SoundWire-based >>>> DAIs. The PCI parts and DSP management will be contributed later, and the >>>> DAI ops are now empty as well. >>>> >>>> The change is mainly on SoundWire. It would be better to go through >>>> SoundWire tree. >>>> >>>> Pierre-Louis Bossart (20): >>>> ASoC: SOF: Intel: shim: add enum for ACE 2.0 IP used in LunarLake >>>> soundwire: intel: add ACE2.x SHIM definitions >>>> soundwire: intel_ace2x: add empty new ops for LunarLake >>>> soundwire/ASOC: Intel: update offsets for LunarLake >>>> soundwire: intel/cadence: set ip_offset at run-time >>>> ASoC/soundwire: intel: pass hdac_bus pointer for link management >>>> soundwire: intel: add eml_lock in the interface for new platforms >>>> ASoC: SOF: Intel: hda: retrieve SoundWire eml_lock and pass pointer >>>> soundwire: intel_init: use eml_lock parameter >>>> soundwire: intel_ace2x: add debugfs support >>>> soundwire: intel_ace2x: add link power-up/down helpers >>>> soundwire: intel_ace2x: set SYNCPRD before powering-up >>>> soundwire: intel_ace2x: configure link PHY >>>> soundwire: intel_ace2x: add DAI registration >>>> soundwire: intel_ace2x: add sync_arm/sync_go helpers >>>> soundwire: intel_ace2x: use common helpers for bus start/stop >>>> soundwire: intel_ace2x: enable wake support >>>> soundwire: intel_ace2x: add check_cmdsync_unlocked helper >>>> soundwire: bus: add new manager callback to deal with peripheral >>>> enumeration >>>> soundwire: intel_ace2x: add new_peripheral_assigned callback >>>> >>>> drivers/soundwire/Makefile | 3 +- >>>> drivers/soundwire/bus.c | 3 + >>>> drivers/soundwire/cadence_master.h | 2 + >>>> drivers/soundwire/intel.h | 16 + >>>> drivers/soundwire/intel_ace2x.c | 390 ++++++++++++++++++++++++ >>>> drivers/soundwire/intel_ace2x_debugfs.c | 147 +++++++++ >>>> drivers/soundwire/intel_auxdevice.c | 17 ++ >>>> drivers/soundwire/intel_init.c | 21 +- >>>> include/linux/soundwire/sdw.h | 3 +- >>>> include/linux/soundwire/sdw_intel.h | 88 ++++++ >>>> sound/soc/sof/intel/hda.c | 31 +- >>>> sound/soc/sof/intel/shim.h | 1 + >>>> 12 files changed, 711 insertions(+), 11 deletions(-) >>>> create mode 100644 drivers/soundwire/intel_ace2x.c >>>> create mode 100644 drivers/soundwire/intel_ace2x_debugfs.c >>>> >>>> -- >>>> 2.25.1 >>> >
© 2016 - 2026 Red Hat, Inc.