ASoC: Intel: Skylake: Topology and shutdown fixes
authorMark Brown <broonie@kernel.org>
Wed, 7 Dec 2022 17:24:46 +0000 (17:24 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 7 Dec 2022 17:24:46 +0000 (17:24 +0000)
commit4f143eca515534f08915caba40517b665a622f90
tree2ad75b3581206e6f8656599777474d8f2ed5a809
parent38eef3be38ab895959c442702864212cc3beb96c
parent451d85c46cf719a09a052510d4d4cd920103163a
ASoC: Intel: Skylake: Topology and shutdown fixes

Merge series from Cezary Rojewski <cezary.rojewski@intel.com>:

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.