]>
Commit | Line | Data |
---|---|---|
a65d4bac GKH |
1 | From foo@baz Sat Jul 28 10:25:26 CEST 2018 |
2 | From: Shawn Lin <shawn.lin@rock-chips.com> | |
3 | Date: Mon, 26 Mar 2018 17:26:25 +0800 | |
4 | Subject: mmc: dw_mmc: update actual clock for mmc debugfs | |
5 | ||
6 | From: Shawn Lin <shawn.lin@rock-chips.com> | |
7 | ||
8 | [ Upstream commit ff178981bd5fd1667f373098740cb1c6d6efa1ba ] | |
9 | ||
10 | Respect the actual clock for mmc debugfs to help better debug | |
11 | the hardware. | |
12 | ||
13 | mmc_host mmc0: Bus speed (slot 0) = 135475200Hz (slot req 150000000Hz, | |
14 | actual 135475200HZ div = 0) | |
15 | ||
16 | cat /sys/kernel/debug/mmc0/ios | |
17 | clock: 150000000 Hz | |
18 | actual clock: 135475200 Hz | |
19 | vdd: 21 (3.3 ~ 3.4 V) | |
20 | bus mode: 2 (push-pull) | |
21 | chip select: 0 (don't care) | |
22 | power mode: 2 (on) | |
23 | bus width: 3 (8 bits) | |
24 | timing spec: 9 (mmc HS200) | |
25 | signal voltage: 0 (1.80 V) | |
26 | driver type: 0 (driver type B) | |
27 | ||
28 | Cc: Xiao Yao <xiaoyao@rock-chips.com> | |
29 | Cc: Ziyuan <xzy.xu@rock-chips.com> | |
30 | Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> | |
31 | Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> | |
32 | Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> | |
33 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
34 | --- | |
35 | drivers/mmc/host/dw_mmc.c | 4 ++++ | |
36 | 1 file changed, 4 insertions(+) | |
37 | ||
38 | --- a/drivers/mmc/host/dw_mmc.c | |
39 | +++ b/drivers/mmc/host/dw_mmc.c | |
40 | @@ -1255,6 +1255,8 @@ static void dw_mci_setup_bus(struct dw_m | |
41 | if (host->state == STATE_WAITING_CMD11_DONE) | |
42 | sdmmc_cmd_bits |= SDMMC_CMD_VOLT_SWITCH; | |
43 | ||
44 | + slot->mmc->actual_clock = 0; | |
45 | + | |
46 | if (!clock) { | |
47 | mci_writel(host, CLKENA, 0); | |
48 | mci_send_cmd(slot, sdmmc_cmd_bits, 0); | |
49 | @@ -1313,6 +1315,8 @@ static void dw_mci_setup_bus(struct dw_m | |
50 | ||
51 | /* keep the last clock value that was requested from core */ | |
52 | slot->__clk_old = clock; | |
53 | + slot->mmc->actual_clock = div ? ((host->bus_hz / div) >> 1) : | |
54 | + host->bus_hz; | |
55 | } | |
56 | ||
57 | host->current_speed = clock; |