lkml.org 
[lkml]   [2020]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.6 47/79] ASoC: rsnd: Fix "status check failed" spam for multi-SSI
    Date
    From: Matthias Blankertz <matthias.blankertz@cetitec.com>

    [ Upstream commit 54cb6221688660670a2e430892d7f4e6370263b8 ]

    Fix the rsnd_ssi_stop function to skip disabling the individual SSIs of
    a multi-SSI setup, as the actual stop is performed by rsnd_ssiu_stop_gen2
    - the same logic as in rsnd_ssi_start. The attempt to disable these SSIs
    was harmless, but caused a "status check failed" message to be printed
    for every SSI in the multi-SSI setup.
    The disabling of interrupts is still performed, as they are enabled for
    all SSIs in rsnd_ssi_init, but care is taken to not accidentally set the
    EN bit for an SSI where it was not set by rsnd_ssi_start.

    Signed-off-by: Matthias Blankertz <matthias.blankertz@cetitec.com>
    Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/20200417153017.1744454-3-matthias.blankertz@cetitec.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    sound/soc/sh/rcar/ssi.c | 8 +++++++-
    1 file changed, 7 insertions(+), 1 deletion(-)

    diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c
    index 9900a4f6f4e53..4a7d3413917fc 100644
    --- a/sound/soc/sh/rcar/ssi.c
    +++ b/sound/soc/sh/rcar/ssi.c
    @@ -594,10 +594,16 @@ static int rsnd_ssi_stop(struct rsnd_mod *mod,
    * Capture: It might not receave data. Do nothing
    */
    if (rsnd_io_is_play(io)) {
    - rsnd_mod_write(mod, SSICR, cr | EN);
    + rsnd_mod_write(mod, SSICR, cr | ssi->cr_en);
    rsnd_ssi_status_check(mod, DIRQ);
    }

    + /* In multi-SSI mode, stop is performed by setting ssi0129 in
    + * SSI_CONTROL to 0 (in rsnd_ssio_stop_gen2). Do nothing here.
    + */
    + if (rsnd_ssi_multi_slaves_runtime(io))
    + return 0;
    +
    /*
    * disable SSI,
    * and, wait idle state
    --
    2.20.1
    \
     
     \ /
      Last update: 2020-04-30 15:52    [W:4.149 / U:0.412 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site