tree bbbdea20f0bdf4bbc94515c68c1aa0562a037c4f
parent f516d32262a4c0fef3fccdf2a82671f54f5c1e33
author Jerome Brunet <jbrunet@baylibre.com> 1530007645 +0200
committer Mark Brown <broonie@kernel.org> 1530180983 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQFHBAABCgAxFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAls0tXcTHGJyb29uaWVA
 a2VybmVsLm9yZwAKCRAk1otyXVSH0EQrB/9n+enEWWL2Mm32rDgb21ogIiMe+qP0
 ppxRnKGFG8bzGFa/T7GTS7JmFTYBSmGLJZg6zshS5Ejtyf4Dp/nY5SZRY7pnhL7j
 EM3UFGNIU6LXLsvBK0i5R9Pt/1vgb9U4ZgkMrclIQMxn3RdM6I4BZPQiU80XWnQt
 WaFm/IecKHOalaw/GS8llX+Xdq8tAmYIOLqPiwRRmSvLa/gnSGRznP5wS4UX+n0P
 ztZuv8V3Se0K5lxwzt+/Td8wXnPbiLHpPVzYoZoipsFYpr/RI6vo6WDU7tO4rNmO
 YxiS8yC97zCvL8RhcGALB4zTjeWAH7uLMnKIOGQn/hJsphRo1xlKrvQb
 =lA1i
 -----END PGP SIGNATURE-----

ASoC: dpcm: improve runtime update predictability

As it is, dpcm_runtime_update() performs the old path and new path
update of a frontend before going on to the next frontend DAI.
Depending the order of the FEs within the rtd list, the result of
the update might be different.

For example:
 * Frontend A connected to backend C, with a 48kHz playback
 * Frontend B connected to backend D, with a 44.1kHz playback
 * FE A appears before FE B in the rtd list of the card.

If we reparent BE C to FE B (disconnecting BE D):
* old path update of FE A will run first, and BE C will get hw_free()
  and shutdown()
* new path update of FE B will run after and BE C, which is stopped,
  so it will be configured at 44.1kHz, as expected

If we reparent BE D to FE A (disconnecting BE C):
* new path update of FE A will run first but since BE D is still running
  at 44.1kHz, it won't be reconfigured (no call to startup() or
  hw_params())
* old path update of FE B runs after, nothing happens
* In this case, we end up with a BE playing at 44.1kHz a stream which is
  supposed to be played at 48Khz (too slow)

To improve this situation, this patch performs all the FE old paths update
before going on to update the new paths. With this, the result should
no longer depend on the order of the FE within the card rtd list.

Please note that there might be a small performance penalty since
dpcm_process_paths() is called twice per stream direction.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
