ASoC: rsnd: check BUIF error everytime
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 27 May 2021 02:41:12 +0000 (11:41 +0900)
committerMark Brown <broonie@kernel.org>
Thu, 27 May 2021 10:15:28 +0000 (11:15 +0100)
Current ssi.c checks BUSIF when TDM mode, but it should be checked
everytime.
This patch do it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Message-Id: <8735u8nbjr.wl-kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sh/rcar/ssi.c

index bd47971..2dceac9 100644 (file)
@@ -535,8 +535,7 @@ static void rsnd_ssi_config_init(struct rsnd_mod *mod,
        }
 
        /* enable busif buffer over/under run interrupt. */
-       if (is_tdm || is_tdm_split)
-               rsnd_ssi_busif_err_irq_enable(mod);
+       rsnd_ssi_busif_err_irq_enable(mod);
 
 init_end:
        ssi->cr_own     = cr_own;
@@ -592,10 +591,6 @@ static int rsnd_ssi_quit(struct rsnd_mod *mod,
 {
        struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
        struct device *dev = rsnd_priv_to_dev(priv);
-       int is_tdm, is_tdm_split;
-
-       is_tdm          = rsnd_runtime_is_tdm(io);
-       is_tdm_split    = rsnd_runtime_is_tdm_split(io);
 
        if (!rsnd_ssi_is_run_mods(mod, io))
                return 0;
@@ -618,8 +613,7 @@ static int rsnd_ssi_quit(struct rsnd_mod *mod,
        }
 
        /* disable busif buffer over/under run interrupt. */
-       if (is_tdm || is_tdm_split)
-               rsnd_ssi_busif_err_irq_disable(mod);
+       rsnd_ssi_busif_err_irq_disable(mod);
 
        return 0;
 }
@@ -773,10 +767,6 @@ static void __rsnd_ssi_interrupt(struct rsnd_mod *mod,
        u32 status;
        bool elapsed = false;
        bool stop = false;
-       int is_tdm, is_tdm_split;
-
-       is_tdm          = rsnd_runtime_is_tdm(io);
-       is_tdm_split    = rsnd_runtime_is_tdm_split(io);
 
        spin_lock(&priv->lock);
 
@@ -798,8 +788,7 @@ static void __rsnd_ssi_interrupt(struct rsnd_mod *mod,
                stop = true;
        }
 
-       if (is_tdm || is_tdm_split)
-               stop |= rsnd_ssi_busif_err_status_clear(mod);
+       stop |= rsnd_ssi_busif_err_status_clear(mod);
 
        rsnd_ssi_status_clear(mod);
 rsnd_ssi_interrupt_out: