ASoC: meson: axg-fifo: relax period size constraints
authorJerome Brunet <jbrunet@baylibre.com>
Wed, 18 Dec 2019 17:24:20 +0000 (18:24 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 18 Dec 2019 20:01:34 +0000 (20:01 +0000)
Now that the fifo depths and thresholds are properly in the axg-fifo
driver, we can relax the constraints on period. As long as the period is a
multiple of the fifo burst size (8 bytes) things should be OK.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20191218172420.1199117-5-jbrunet@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/meson/axg-fifo.c
sound/soc/meson/axg-fifo.h

index c2742a02d866c73d01650576b8278aa0170d575f..c12b0d5e8ebf3ac75b2ec35542ef8a1efd2b207e 100644 (file)
@@ -34,7 +34,7 @@ static struct snd_pcm_hardware axg_fifo_hw = {
        .rate_max = 192000,
        .channels_min = 1,
        .channels_max = AXG_FIFO_CH_MAX,
-       .period_bytes_min = AXG_FIFO_MIN_DEPTH,
+       .period_bytes_min = AXG_FIFO_BURST,
        .period_bytes_max = UINT_MAX,
        .periods_min = 2,
        .periods_max = UINT_MAX,
@@ -227,17 +227,17 @@ int axg_fifo_pcm_open(struct snd_soc_component *component,
 
        /*
         * Make sure the buffer and period size are multiple of the FIFO
-        * minimum depth size
+        * burst
         */
        ret = snd_pcm_hw_constraint_step(ss->runtime, 0,
                                         SNDRV_PCM_HW_PARAM_BUFFER_BYTES,
-                                        AXG_FIFO_MIN_DEPTH);
+                                        AXG_FIFO_BURST);
        if (ret)
                return ret;
 
        ret = snd_pcm_hw_constraint_step(ss->runtime, 0,
                                         SNDRV_PCM_HW_PARAM_PERIOD_BYTES,
-                                        AXG_FIFO_MIN_DEPTH);
+                                        AXG_FIFO_BURST);
        if (ret)
                return ret;
 
index 521b54e98fd316dc8ff6274f0bffd848c6c73601..b63acd723c870c58d4406596057002fc925d26a2 100644 (file)
@@ -31,8 +31,6 @@ struct snd_soc_pcm_runtime;
                                         SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE)
 
 #define AXG_FIFO_BURST                 8
-#define AXG_FIFO_MIN_CNT               64
-#define AXG_FIFO_MIN_DEPTH             (AXG_FIFO_BURST * AXG_FIFO_MIN_CNT)
 
 #define FIFO_INT_ADDR_FINISH           BIT(0)
 #define FIFO_INT_ADDR_INT              BIT(1)