ASoC: renesas: rz-ssi: Use only the proper amount of dividers
authorClaudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Tue, 10 Dec 2024 17:09:34 +0000 (19:09 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 11 Dec 2024 13:23:55 +0000 (13:23 +0000)
There is no need to populate the ckdv[] with invalid dividers as that
part will not be indexed anyway. The ssi->audio_mck/bclk_rate should
always be >= 0. While at it, change the ckdv type as u8, as the divider
128 was previously using the s8 sign bit.

Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Fixes: 03e786bd43410fa9 ("ASoC: sh: Add RZ/G2L SSIF-2 driver")
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20241210170953.2936724-6-claudiu.beznea.uj@bp.renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/renesas/rz-ssi.c

index 2d8721156099a031c8cc59cd1e46b1a2c33d620c..178c915331e962f192905fc21f227d1526421fc3 100644 (file)
@@ -258,8 +258,7 @@ static void rz_ssi_stream_quit(struct rz_ssi_priv *ssi,
 static int rz_ssi_clk_setup(struct rz_ssi_priv *ssi, unsigned int rate,
                            unsigned int channels)
 {
-       static s8 ckdv[16] = { 1,  2,  4,  8, 16, 32, 64, 128,
-                              6, 12, 24, 48, 96, -1, -1, -1 };
+       static u8 ckdv[] = { 1,  2,  4,  8, 16, 32, 64, 128, 6, 12, 24, 48, 96 };
        unsigned int channel_bits = 32; /* System Word Length */
        unsigned long bclk_rate = rate * channels * channel_bits;
        unsigned int div;