]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/4.14.60/mmc-dw_mmc-update-actual-clock-for-mmc-debugfs.patch
Fixes for 5.10
[thirdparty/kernel/stable-queue.git] / releases / 4.14.60 / mmc-dw_mmc-update-actual-clock-for-mmc-debugfs.patch
CommitLineData
a65d4bac
GKH
1From foo@baz Sat Jul 28 10:25:26 CEST 2018
2From: Shawn Lin <shawn.lin@rock-chips.com>
3Date: Mon, 26 Mar 2018 17:26:25 +0800
4Subject: mmc: dw_mmc: update actual clock for mmc debugfs
5
6From: Shawn Lin <shawn.lin@rock-chips.com>
7
8[ Upstream commit ff178981bd5fd1667f373098740cb1c6d6efa1ba ]
9
10Respect the actual clock for mmc debugfs to help better debug
11the hardware.
12
13mmc_host mmc0: Bus speed (slot 0) = 135475200Hz (slot req 150000000Hz,
14actual 135475200HZ div = 0)
15
16cat /sys/kernel/debug/mmc0/ios
17clock: 150000000 Hz
18actual clock: 135475200 Hz
19vdd: 21 (3.3 ~ 3.4 V)
20bus mode: 2 (push-pull)
21chip select: 0 (don't care)
22power mode: 2 (on)
23bus width: 3 (8 bits)
24timing spec: 9 (mmc HS200)
25signal voltage: 0 (1.80 V)
26driver type: 0 (driver type B)
27
28Cc: Xiao Yao <xiaoyao@rock-chips.com>
29Cc: Ziyuan <xzy.xu@rock-chips.com>
30Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
31Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
32Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
33Signed-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;