Commit 54e81e94 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown

ASoC: rsnd: check BUIF error everytime

Current ssi.c checks BUSIF when TDM mode, but it should be checked
everytime.
This patch do it.
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Message-Id: <8735u8nbjr.wl-kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent ab62e8a8
...@@ -535,8 +535,7 @@ static void rsnd_ssi_config_init(struct rsnd_mod *mod, ...@@ -535,8 +535,7 @@ static void rsnd_ssi_config_init(struct rsnd_mod *mod,
} }
/* enable busif buffer over/under run interrupt. */ /* 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: init_end:
ssi->cr_own = cr_own; ssi->cr_own = cr_own;
...@@ -592,10 +591,6 @@ static int rsnd_ssi_quit(struct rsnd_mod *mod, ...@@ -592,10 +591,6 @@ static int rsnd_ssi_quit(struct rsnd_mod *mod,
{ {
struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
struct device *dev = rsnd_priv_to_dev(priv); 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)) if (!rsnd_ssi_is_run_mods(mod, io))
return 0; return 0;
...@@ -618,8 +613,7 @@ static int rsnd_ssi_quit(struct rsnd_mod *mod, ...@@ -618,8 +613,7 @@ static int rsnd_ssi_quit(struct rsnd_mod *mod,
} }
/* disable busif buffer over/under run interrupt. */ /* 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; return 0;
} }
...@@ -773,10 +767,6 @@ static void __rsnd_ssi_interrupt(struct rsnd_mod *mod, ...@@ -773,10 +767,6 @@ static void __rsnd_ssi_interrupt(struct rsnd_mod *mod,
u32 status; u32 status;
bool elapsed = false; bool elapsed = false;
bool stop = 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); spin_lock(&priv->lock);
...@@ -798,8 +788,7 @@ static void __rsnd_ssi_interrupt(struct rsnd_mod *mod, ...@@ -798,8 +788,7 @@ static void __rsnd_ssi_interrupt(struct rsnd_mod *mod,
stop = true; 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_status_clear(mod);
rsnd_ssi_interrupt_out: rsnd_ssi_interrupt_out:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment