ASoC: pcm: save fixed-up hw_params of BE
authorLibin Yang <libin.yang@intel.com>
Fri, 19 Apr 2019 01:53:12 +0000 (09:53 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 19 Apr 2019 16:00:28 +0000 (17:00 +0100)
Some drivers mandate setting up hw params after resuming from system sleep.
Since, the hw_params ioctl is not invoked upon resuming, the fixed-up BE
dai hw params should be saved so the driver can use it in its resume
sequence.

Signed-off-by: Libin Yang <libin.yang@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-pcm.c

index 2d5d5cac4ba602f6c9bb53b33124633b448af5ce..035dedee78f122881b6cc3da43c6d0b947e2b344 100644 (file)
@@ -2156,6 +2156,10 @@ int dpcm_be_dai_hw_params(struct snd_soc_pcm_runtime *fe, int stream)
                        }
                }
 
+               /* copy the fixed-up hw params for BE dai */
+               memcpy(&be->dpcm[stream].hw_params, &dpcm->hw_params,
+                      sizeof(struct snd_pcm_hw_params));
+
                /* only allow hw_params() if no connected FEs are running */
                if (!snd_soc_dpcm_can_be_params(fe, be, stream))
                        continue;