ASoC: Intel: Skylake: Fix default dma_buffer_size
authorSubhransu S. Prusty <subhransu.s.prusty@intel.com>
Fri, 30 Jun 2017 13:08:44 +0000 (18:38 +0530)
committerMark Brown <broonie@kernel.org>
Mon, 10 Jul 2017 18:19:40 +0000 (19:19 +0100)
If the dma_buffer_size is not defined in topology, fix it to 2ms default
value to make backward compatible.

Fixes: f6e6ab1d16ec ("ASoC: Intel: Skylake: Fix dma buffer size calculation")
Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Acked-By: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/skylake/skl-messages.c

index eca8582..fb2f1f6 100644 (file)
@@ -540,6 +540,14 @@ static void skl_setup_cpr_gateway_cfg(struct skl_sst *ctx,
        cpr_mconfig->gtw_cfg.dma_buffer_size =
                                mconfig->dma_buffer_size * dma_io_buf;
 
+       /* fallback to 2ms default value */
+       if (!cpr_mconfig->gtw_cfg.dma_buffer_size) {
+               if (mconfig->hw_conn_type == SKL_CONN_SOURCE)
+                       cpr_mconfig->gtw_cfg.dma_buffer_size = 2 * mconfig->obs;
+               else
+                       cpr_mconfig->gtw_cfg.dma_buffer_size = 2 * mconfig->ibs;
+       }
+
        cpr_mconfig->cpr_feature_mask = 0;
        cpr_mconfig->gtw_cfg.config_length  = 0;