Hi Biju, On Sun, 29 Jun 2025 at 22:39, Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote: > Wrong actual clock reported, if the SD clock division ratio is other > than 1:1(bits DIV[7:0] in SD_CLK_CTRL are set to 11111111). > > On high speed mode, cat /sys/kernel/debug/mmc1/ios > Without the patch: > clock: 50000000 Hz > actual clock: 200000000 Hz > > After the fix: > clock: 50000000 Hz > actual clock: 50000000 Hz > > Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> Thanks for your patch! > --- a/drivers/mmc/host/renesas_sdhi_core.c > +++ b/drivers/mmc/host/renesas_sdhi_core.c > @@ -222,7 +222,11 @@ static void renesas_sdhi_set_clock(struct tmio_mmc_host *host, > clk &= ~0xff; > } > > - sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, clk & CLK_CTL_DIV_MASK); > + clock = clk & CLK_CTL_DIV_MASK; > + if (clock != 0xff) Perhaps CLK_CTL_DIV_MASK? > + host->mmc->actual_clock /= (1 << (ffs(clock) + 1)); > + > + sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, clock); > if (!(host->pdata->flags & TMIO_MMC_MIN_RCAR2)) > usleep_range(10000, 11000); Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds