2021-01-13 18:29:13

by Frank Wunderlich

[permalink] [raw]
Subject: [PATCH v2] dts64: mt7622: fix slow sd card access

From: Frank Wunderlich <[email protected]>

Fix extreme slow speed (200MB takes ~20 min) on writing sdcard on
bananapi-r64 by adding reset-control for mmc1 like it's done for mmc0/emmc.

Cc: [email protected]
Fixes: 2c002a3049f7 ("arm64: dts: mt7622: add mmc related device nodes")
Signed-off-by: Frank Wunderlich <[email protected]>
---
changes since v1:
- drop change to uhs-mode because mt7622 does not support it
---
arch/arm64/boot/dts/mediatek/mt7622.dtsi | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/mediatek/mt7622.dtsi b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
index 5b9ec032ce8d..7c6d871538a6 100644
--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
@@ -698,6 +698,8 @@ mmc1: mmc@11240000 {
clocks = <&pericfg CLK_PERI_MSDC30_1_PD>,
<&topckgen CLK_TOP_AXI_SEL>;
clock-names = "source", "hclk";
+ resets = <&pericfg MT7622_PERI_MSDC1_SW_RST>;
+ reset-names = "hrst";
status = "disabled";
};

--
2.25.1


Subject: Re: [PATCH v2] dts64: mt7622: fix slow sd card access

On Wed, 2021-01-13 at 19:09 +0100, Frank Wunderlich wrote:
> From: Frank Wunderlich <[email protected]>
>
> Fix extreme slow speed (200MB takes ~20 min) on writing sdcard on
> bananapi-r64 by adding reset-control for mmc1 like it's done for mmc0/emmc.
>
> Cc: [email protected]
> Fixes: 2c002a3049f7 ("arm64: dts: mt7622: add mmc related device nodes")
> Signed-off-by: Frank Wunderlich <[email protected]>
> ---
> changes since v1:
> - drop change to uhs-mode because mt7622 does not support it
> ---
> arch/arm64/boot/dts/mediatek/mt7622.dtsi | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt7622.dtsi b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
> index 5b9ec032ce8d..7c6d871538a6 100644
> --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
> @@ -698,6 +698,8 @@ mmc1: mmc@11240000 {
> clocks = <&pericfg CLK_PERI_MSDC30_1_PD>,
> <&topckgen CLK_TOP_AXI_SEL>;
> clock-names = "source", "hclk";
> + resets = <&pericfg MT7622_PERI_MSDC1_SW_RST>;
> + reset-names = "hrst";
This looks ok to me. I think it's also necessary to trigger software
reset for SD(mmc1) because loader(uboot) might mess up MSDC's registers.
"Software reset" here will reset registers of AHB/AXI bus domain, such
as MSDC_CFG[8:15]. msdc_reset_hw() in mtk-sd.c will only reset registers
of MSDC CK domain.

2021-01-31 15:14:34

by Matthias Brugger

[permalink] [raw]
Subject: Re: [PATCH v2] dts64: mt7622: fix slow sd card access



On 13/01/2021 19:09, Frank Wunderlich wrote:
> From: Frank Wunderlich <[email protected]>
>
> Fix extreme slow speed (200MB takes ~20 min) on writing sdcard on
> bananapi-r64 by adding reset-control for mmc1 like it's done for mmc0/emmc.
>
> Cc: [email protected]
> Fixes: 2c002a3049f7 ("arm64: dts: mt7622: add mmc related device nodes")
> Signed-off-by: Frank Wunderlich <[email protected]>

Applied to v5.11-next/dts64

Thanks!

> ---
> changes since v1:
> - drop change to uhs-mode because mt7622 does not support it
> ---
> arch/arm64/boot/dts/mediatek/mt7622.dtsi | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt7622.dtsi b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
> index 5b9ec032ce8d..7c6d871538a6 100644
> --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
> @@ -698,6 +698,8 @@ mmc1: mmc@11240000 {
> clocks = <&pericfg CLK_PERI_MSDC30_1_PD>,
> <&topckgen CLK_TOP_AXI_SEL>;
> clock-names = "source", "hclk";
> + resets = <&pericfg MT7622_PERI_MSDC1_SW_RST>;
> + reset-names = "hrst";
> status = "disabled";
> };
>
>