Hi, On Fri, Aug 30, 2019 at 12:51 PM Stephen Boyd <swboyd@xxxxxxxxxxxx> wrote: > > Some MMC cards fail to enumerate properly when inserted into an MMC slot > on sdm845 devices. This is because the clk ops for qcom clks round the > frequency up to the nearest rate instead of down to the nearest rate. > For example, the MMC driver requests a frequency of 52MHz from > clk_set_rate() but the qcom implementation for these clks rounds 52MHz > up to the next supported frequency of 100MHz. The MMC driver could be > modified to request clk rate ranges but for now we can fix this in the > clk driver by changing the rounding policy for this clk to be round down > instead of round up. Since all the MMC rates are expressed as "maximum" clock rates doing it like you are doing it now seems sane. > Fixes: 06391eddb60a ("clk: qcom: Add Global Clock controller (GCC) driver for SDM845") > Reported-by: Douglas Anderson <dianders@xxxxxxxxxxxx> > Cc: Taniya Das <tdas@xxxxxxxxxxxxxx> > Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx> > --- > > I suppose we need to do this for all the sdc clks in qcom driver? Seems like a good idea to me. > drivers/clk/qcom/gcc-sdm845.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> -Doug