mbox series

[v2,0/6] ASoC: Intel: Skylake: Topology and shutdown fixes

Message ID 20221205085330.857665-1-cezary.rojewski@intel.com
Headers show
Series ASoC: Intel: Skylake: Topology and shutdown fixes | expand

Message

Cezary Rojewski Dec. 5, 2022, 8:53 a.m. UTC
Even though skylake-driver is going to be replaced by the avs-driver,
the goal is to keep it functional on all the configurations it supports
until its EOL. When comparing chrome trees against upstream
skylake-driver, couple fixes pop up that are not part of upstream
repository. These fixes are backed up by real bugs (issue trackers),
address real problems. There is no reason for them to stay in the
internal tree.

Patches 1-4 combined together address issue where the driver updates the
presumably static audio format descriptions coming from the topology
files through its "fixup" functions. As long as given audio format is
used by a single path, nothing collides and any updates are harmless.
However, when multiple paths e.g.: DMIC and HDMI1 utilize the same audio
format descriptor, any updates caused by the opening of the first path,
may cause the second to fail.

The 5th change from the set fixes driver hang sporadically occurring
during shutdown procedure. Once HDAudio links are powered down along
with the AudioDSP, the hang stops reproducing.

The last change helps survive in environments with limited/fragmented
memory. While the BDL is small already, other buffers can be allocated
using scatter-gather. This basically aligns the code with what the
avs-driver does.


Changes in v2:
- no changes to the first 5 patches
- added patch that I forgot to add in v1

Cezary Rojewski (6):
  ASoC: Intel: Skylake: Update pipe_config_idx before filling BE params
  ASoC: Intel: Skylake: Remove skl_tplg_is_multi_fmt()
  ASoC: Intel: Skylake: Drop pipe_config_idx
  ASoC: Intel: Skylake: Introduce single place for pipe-config selection
  ASoC: Intel: Skylake: Fix driver hang during shutdown
  ASoC: Intel: Skylake: Use SG allocation for SKL-based firmware load

 sound/soc/intel/skylake/skl-sst-cldma.c | 27 +++++----
 sound/soc/intel/skylake/skl-topology.c  | 73 ++++++++-----------------
 sound/soc/intel/skylake/skl-topology.h  |  1 -
 sound/soc/intel/skylake/skl.c           |  5 +-
 4 files changed, 44 insertions(+), 62 deletions(-)