ASoC: apple: mca: Fix final status read on SERDES reset
authorMartin Povišer <povik+lin@cutebit.org>
Fri, 24 Feb 2023 15:33:00 +0000 (16:33 +0100)
committerMark Brown <broonie@kernel.org>
Fri, 24 Feb 2023 16:31:18 +0000 (16:31 +0000)
From within the early trigger we are doing a reset of the SERDES unit,
but the final status read is on a bad address. Add the missing SERDES
unit offset in calculation of the address.

Fixes: 3df5d0d97289 ("ASoC: apple: mca: Start new platform driver")
Signed-off-by: Martin Povišer <povik+lin@cutebit.org>
Link: https://lore.kernel.org/r/20230224153302.45365-1-povik+lin@cutebit.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/apple/mca.c

index 24381c4..9cceeb2 100644 (file)
@@ -210,7 +210,7 @@ static void mca_fe_early_trigger(struct snd_pcm_substream *substream, int cmd,
                           SERDES_CONF_SOME_RST);
                readl_relaxed(cl->base + serdes_conf);
                mca_modify(cl, serdes_conf, SERDES_STATUS_RST, 0);
-               WARN_ON(readl_relaxed(cl->base + REG_SERDES_STATUS) &
+               WARN_ON(readl_relaxed(cl->base + serdes_unit + REG_SERDES_STATUS) &
                        SERDES_STATUS_RST);
                break;
        default: