ASoC: SOF: Intel: only support INFO_BATCH for legacy platforms
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Thu, 24 Oct 2019 21:03:18 +0000 (16:03 -0500)
committerMark Brown <broonie@kernel.org>
Fri, 25 Oct 2019 10:08:04 +0000 (11:08 +0100)
The current position update is not precise enough for PulseAudio to
work reliably with the timer-based scheduling on Baytrail,
Cherrytrail, Broadwell.

Disable the NO_PERIOD_WAKEUP capability and use BATCH to signal that
the position is only reliable and updated during period_elapsed
events.

This will be reverted when the firmware provides a more accurate
position for those platforms.

Reviewed-by: Jaska Uimonen <jaska.uimonen@intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20191024210318.30068-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/bdw.c
sound/soc/sof/intel/byt.c

index 7b4cd1f456bf1153724ad5e51e5116efbfdcc1e8..141dad55476447ac7ee79ff71e83f2e05ab72756 100644 (file)
@@ -598,7 +598,7 @@ const struct snd_sof_dsp_ops sof_bdw_ops = {
                        SNDRV_PCM_INFO_MMAP_VALID |
                        SNDRV_PCM_INFO_INTERLEAVED |
                        SNDRV_PCM_INFO_PAUSE |
-                       SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
+                       SNDRV_PCM_INFO_BATCH,
 };
 EXPORT_SYMBOL(sof_bdw_ops);
 
index 62edb959f1fcb7346fae77463ce7dac98f4fe30c..2abf80b3eb52fee2c0e7f06c9c6e051028f2104d 100644 (file)
@@ -538,7 +538,7 @@ const struct snd_sof_dsp_ops sof_tng_ops = {
                        SNDRV_PCM_INFO_MMAP_VALID |
                        SNDRV_PCM_INFO_INTERLEAVED |
                        SNDRV_PCM_INFO_PAUSE |
-                       SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
+                       SNDRV_PCM_INFO_BATCH,
 };
 EXPORT_SYMBOL(sof_tng_ops);
 
@@ -706,7 +706,7 @@ const struct snd_sof_dsp_ops sof_byt_ops = {
                        SNDRV_PCM_INFO_MMAP_VALID |
                        SNDRV_PCM_INFO_INTERLEAVED |
                        SNDRV_PCM_INFO_PAUSE |
-                       SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
+                       SNDRV_PCM_INFO_BATCH,
 };
 EXPORT_SYMBOL(sof_byt_ops);
 
@@ -773,7 +773,7 @@ const struct snd_sof_dsp_ops sof_cht_ops = {
                        SNDRV_PCM_INFO_MMAP_VALID |
                        SNDRV_PCM_INFO_INTERLEAVED |
                        SNDRV_PCM_INFO_PAUSE |
-                       SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
+                       SNDRV_PCM_INFO_BATCH,
 };
 EXPORT_SYMBOL(sof_cht_ops);