Re: [PATCH 00/20] ASoC/soundwire: add support for ACE2.x

From: Pierre-Louis Bossart
Date: Wed Apr 12 2023 - 12:09:25 EST




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
>>>
>