Message ID | 1522056385-88843-1-git-send-email-shawn.lin@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 26 March 2018 at 11:26, Shawn Lin <shawn.lin@rock-chips.com> wrote: > Respect the actual clock for mmc debugfs to help better debug > the hardware. > > mmc_host mmc0: Bus speed (slot 0) = 135475200Hz (slot req 150000000Hz, > actual 135475200HZ div = 0) > > cat /sys/kernel/debug/mmc0/ios > clock: 150000000 Hz > actual clock: 135475200 Hz > vdd: 21 (3.3 ~ 3.4 V) > bus mode: 2 (push-pull) > chip select: 0 (don't care) > power mode: 2 (on) > bus width: 3 (8 bits) > timing spec: 9 (mmc HS200) > signal voltage: 0 (1.80 V) > driver type: 0 (driver type B) > > Cc: Xiao Yao <xiaoyao@rock-chips.com> > Cc: Ziyuan <xzy.xu@rock-chips.com> > Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> Thanks, queued for 3.18! Kind regards Uffe > --- > > drivers/mmc/host/dw_mmc.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c > index 29a1afa..623f4d2 100644 > --- a/drivers/mmc/host/dw_mmc.c > +++ b/drivers/mmc/host/dw_mmc.c > @@ -1230,6 +1230,8 @@ static void dw_mci_setup_bus(struct dw_mci_slot *slot, bool force_clkinit) > if (host->state == STATE_WAITING_CMD11_DONE) > sdmmc_cmd_bits |= SDMMC_CMD_VOLT_SWITCH; > > + slot->mmc->actual_clock = 0; > + > if (!clock) { > mci_writel(host, CLKENA, 0); > mci_send_cmd(slot, sdmmc_cmd_bits, 0); > @@ -1288,6 +1290,8 @@ static void dw_mci_setup_bus(struct dw_mci_slot *slot, bool force_clkinit) > > /* keep the last clock value that was requested from core */ > slot->__clk_old = clock; > + slot->mmc->actual_clock = div ? ((host->bus_hz / div) >> 1) : > + host->bus_hz; > } > > host->current_speed = clock; > -- > 1.9.1 > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index 29a1afa..623f4d2 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -1230,6 +1230,8 @@ static void dw_mci_setup_bus(struct dw_mci_slot *slot, bool force_clkinit) if (host->state == STATE_WAITING_CMD11_DONE) sdmmc_cmd_bits |= SDMMC_CMD_VOLT_SWITCH; + slot->mmc->actual_clock = 0; + if (!clock) { mci_writel(host, CLKENA, 0); mci_send_cmd(slot, sdmmc_cmd_bits, 0); @@ -1288,6 +1290,8 @@ static void dw_mci_setup_bus(struct dw_mci_slot *slot, bool force_clkinit) /* keep the last clock value that was requested from core */ slot->__clk_old = clock; + slot->mmc->actual_clock = div ? ((host->bus_hz / div) >> 1) : + host->bus_hz; } host->current_speed = clock;
Respect the actual clock for mmc debugfs to help better debug the hardware. mmc_host mmc0: Bus speed (slot 0) = 135475200Hz (slot req 150000000Hz, actual 135475200HZ div = 0) cat /sys/kernel/debug/mmc0/ios clock: 150000000 Hz actual clock: 135475200 Hz vdd: 21 (3.3 ~ 3.4 V) bus mode: 2 (push-pull) chip select: 0 (don't care) power mode: 2 (on) bus width: 3 (8 bits) timing spec: 9 (mmc HS200) signal voltage: 0 (1.80 V) driver type: 0 (driver type B) Cc: Xiao Yao <xiaoyao@rock-chips.com> Cc: Ziyuan <xzy.xu@rock-chips.com> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> --- drivers/mmc/host/dw_mmc.c | 4 ++++ 1 file changed, 4 insertions(+)