Amadeusz Sławiński
a5bbbde2b8
ASoC: Intel: avs: Use helper function to set up DMA
...
dma_set_mask() and dma_set_coherent_mask() can be performed with one
call to dma_set_mask_and_coherent(), which slightly reduces amount of
code on our side.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220707124153.1858249-9-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-07-08 18:53:24 +01:00
Amadeusz Sławiński
8544eebc78
ASoC: Intel: avs: Set max DMA segment size
...
Apparently it is possible for code to allocate large buffers which may
cause warnings as reported in [1]. This was fixed for HDA, SOF and
skylake in patchset [2], fix it also for avs driver.
[1] https://github.com/thesofproject/linux/issues/3430
[2] https://lore.kernel.org/all/20220215132756.31236-1-tiwai@suse.de/
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220707124153.1858249-8-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-07-08 18:53:23 +01:00
Cezary Rojewski
daa36bbcd7
ASoC: Intel: avs: Block IPC channel on suspend
...
To allow for driver's filesystem interfaces e.g.: debugfs, to be touched
even when the device is asleep, mark IPC-channel as blocked when the
device is suspended. This causes any invocation of said interfaces that
do not toggle PM themselves to gracefully fail with "Operation not
permitted" message.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220707124153.1858249-7-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-07-08 18:53:22 +01:00
Cezary Rojewski
c50cea054e
ASoC: Intel: avs: Register HDAudio ext-bus operations
...
With ASoC representation of HDAudio codec added, update bus initiazation
to complete it.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220707124153.1858249-2-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-07-08 18:53:17 +01:00
Cezary Rojewski
c8c960c109
ASoC: Intel: avs: APL-based platforms support
...
Define handlers specific to cAVS 1.5+ platforms, that is, APL and
similar platforms. These differ from SKL-alike ones in terms of AudioDSP
firmware generation and thus the '+' suffix. Introduciton of IMR,
removal of CLDMA, D0IX support and monolithic-ation of library/module
code are most impactful but are not the only changes brought with this
newer generation. Some generic and 1.5 operations are being re-used to
reduce code size.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220516101116.190192-16-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-05-17 11:58:08 +01:00
Cezary Rojewski
b3e29075b2
ASoC: Intel: avs: SKL-based platforms support
...
Define handlers specific to cAVS 1.5 platforms, that is SKL, KBL, AML
and all other variants based on this very version of AudioDSP
architecture. Most are specific to SKL-alike platforms with only
skl_log_buffer_offset() being exposed and used later by younger
equivalents.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220516101116.190192-15-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-05-17 11:58:07 +01:00
Cezary Rojewski
cfbc100e6b
ASoC: Intel: avs: Power management
...
To preserve power during sleep operations, handle suspend (S3),
hibernation (S4) and runtime (RTD3) transitions. As flow for all of
is shared, define common handlers to reduce code size.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220516101116.190192-14-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-05-17 11:58:06 +01:00
Cezary Rojewski
1affc44ea5
ASoC: Intel: avs: PCI driver implementation
...
HD-Audio bus is a PCI device. Add all functions necessary to probe such
device along with its removal sequence. Behaviour implemented for all
standard operations is similar to existing solutions: sound/pci/hda and
sound/soc/intel/skylake.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220516101116.190192-13-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-05-17 11:58:04 +01:00
Cezary Rojewski
b27f452317
ASoC: Intel: avs: General code loading flow
...
Code loading is a complex procedure and requires combined effort of DMA
and IPCs. With IPCs already in place, lay out ground for specific DMA
transfer operations.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220311153544.136854-15-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-03-11 16:24:07 +00:00