]> www.infradead.org Git - users/jedix/linux-maple.git/commit
ASoC: Intel: avs: PCM operations for LNL-based platforms
authorCezary Rojewski <cezary.rojewski@intel.com>
Mon, 7 Apr 2025 11:23:48 +0000 (13:23 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 7 Apr 2025 13:40:00 +0000 (14:40 +0100)
commit716643786f140f2d68f22424c75b9198ffe14290
tree3609d4ce77dbab352bedabc539db46a8e782577c
parentaf1c968d25c7c44cd2738349c479f8b610a3fc40
ASoC: Intel: avs: PCM operations for LNL-based platforms

Starting from LNL platform the so-called non-HDAudio transfer types,
e.g.: I2S/DMIC, utilize HDAudio LINK DMA rather than GPDMA for the data
streaming. In essence, all transfer types now utilize HDAudio Link. Most
of the existing code can be reused with the major difference being
HDAudio Link query method:

- fetch the Link by codec.addr in standard HDAudio transfer case
- fetch the Link by LEPTR.ID in non-HDAudio transfer case

To make the unification happen, store pointer to the Link in dma_data
and utilize it in the common code. And to avoid confusion in
transfer-type naming between cAVS-ACE 1.x (SkyLake till MeteorLake) and
ACE 2.0+ architecture (LunarLake onward), use:

- 'hda' for typical HDAudio transfer case
- 'nonhda' for non-HDAudio transfer case, cAVS-ACE 1.x
- 'althda' for non-HDAudio transfer case, ACE 2.0+

Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Link: https://patch.msgid.link/20250407112352.3720779-7-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/pcm.c