Recent raspberry pi firmware has modified the behavior of GET_CLOCK_RATE to return zero (0) when there is no previous call to SET_CLOCK_RATE.
This affects callers of bcm2835_get_mmc_clock and can lead to degraded MMC performance. Now, return the result of GET_MAX_CLOCK_RATE if GET_CLOCK_RATE is zero. Additionally, let the firmware manage SDCDIV when possible. Vincent Fazio (2): arm: rpi: fallback to max clock rate for MMC clock mmc: bcm2835-host: let firmware manage the clock divisor arch/arm/mach-bcm283x/include/mach/mbox.h | 18 ++++++++ arch/arm/mach-bcm283x/include/mach/msg.h | 10 +++++ arch/arm/mach-bcm283x/msg.c | 47 +++++++++++++++++++- drivers/mmc/bcm2835_sdhost.c | 53 ++++++++++++++--------- 4 files changed, 106 insertions(+), 22 deletions(-) -- 2.25.1