diff mbox series

arm64: dts: hikey: Fix eMMC corruption regression

Message ID 1527304247-12868-1-git-send-email-john.stultz@linaro.org
State Accepted
Commit 9c6d26df1fae6ad4718d51c48e6517913304ed27
Headers show
Series arm64: dts: hikey: Fix eMMC corruption regression | expand

Commit Message

John Stultz May 26, 2018, 3:10 a.m. UTC
This patch is a partial revert of commit
abd7d0972a19 ("arm64: dts: hikey: Enable HS200 mode on eMMC")

which has been causing eMMC corruption on my HiKey board.

Symptoms usually looked like:

mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)
...
mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)
mmc0: new HS200 MMC card at address 0001
...
dwmmc_k3 f723d000.dwmmc0: Unexpected command timeout, state 3
mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)
mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)
mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)
mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)
mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)
mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)
print_req_error: I/O error, dev mmcblk0, sector 8810504
Aborting journal on device mmcblk0p10-8.
mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)
mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)
mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)
mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)
mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)
mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)
mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)
mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)
EXT4-fs error (device mmcblk0p10): ext4_journal_check_start:61: Detected aborted journal
EXT4-fs (mmcblk0p10): Remounting filesystem read-only

And quite often this would result in a disk that wouldn't properly
boot even with older kernels.

It seems the max-frequency property added by the above patch is
causing the problem, so remove it.

Cc: Ryan Grachek <ryan@edited.us>
Cc: Wei Xu <xuwei5@hisilicon.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: YongQin Liu <yongqin.liu@linaro.org>
Cc: Leo Yan <leo.yan@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>

---
 arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 1 -
 1 file changed, 1 deletion(-)

-- 
2.7.4

Comments

Leo Yan May 26, 2018, 5:34 a.m. UTC | #1
On Fri, May 25, 2018 at 08:10:47PM -0700, John Stultz wrote:
> This patch is a partial revert of commit

> abd7d0972a19 ("arm64: dts: hikey: Enable HS200 mode on eMMC")

> 

> which has been causing eMMC corruption on my HiKey board.

> 

> Symptoms usually looked like:

> 

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> ...

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> mmc0: new HS200 MMC card at address 0001

> ...

> dwmmc_k3 f723d000.dwmmc0: Unexpected command timeout, state 3

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> print_req_error: I/O error, dev mmcblk0, sector 8810504

> Aborting journal on device mmcblk0p10-8.

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> EXT4-fs error (device mmcblk0p10): ext4_journal_check_start:61: Detected aborted journal

> EXT4-fs (mmcblk0p10): Remounting filesystem read-only

> 

> And quite often this would result in a disk that wouldn't properly

> boot even with older kernels.


I tested this patch on the kernel 4.17.0-rc5, I don't see booting
issue with this patch.

Tested-by: Leo Yan <leo.yan@linaro.org>


> It seems the max-frequency property added by the above patch is

> causing the problem, so remove it.


Should Cc this patch to stable kernel mailing list as fixing?

> Cc: Ryan Grachek <ryan@edited.us>

> Cc: Wei Xu <xuwei5@hisilicon.com>

> Cc: Arnd Bergmann <arnd@arndb.de>

> Cc: Ulf Hansson <ulf.hansson@linaro.org>

> Cc: YongQin Liu <yongqin.liu@linaro.org>

> Cc: Leo Yan <leo.yan@linaro.org>

> Signed-off-by: John Stultz <john.stultz@linaro.org>

> ---

>  arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 1 -

>  1 file changed, 1 deletion(-)

> 

> diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts

> index 724a0d3..edb4ee0 100644

> --- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts

> +++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts

> @@ -299,7 +299,6 @@

>  		/* GPIO blocks 16 thru 19 do not appear to be routed to pins */

>  

>  		dwmmc_0: dwmmc0@f723d000 {

> -			max-frequency = <150000000>;

>  			cap-mmc-highspeed;

>  			mmc-hs200-1_8v;

>  			non-removable;

> -- 

> 2.7.4

>
Wei Xu May 26, 2018, 5:58 p.m. UTC | #2
Hi John,

On 2018/5/26 4:10, John Stultz wrote:
> This patch is a partial revert of commit

> abd7d0972a19 ("arm64: dts: hikey: Enable HS200 mode on eMMC")

> 

> which has been causing eMMC corruption on my HiKey board.

> 

> Symptoms usually looked like:

> 

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> ...

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> mmc0: new HS200 MMC card at address 0001

> ...

> dwmmc_k3 f723d000.dwmmc0: Unexpected command timeout, state 3

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> print_req_error: I/O error, dev mmcblk0, sector 8810504

> Aborting journal on device mmcblk0p10-8.

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> mmc_host mmc0: Bus speed (slot 0) = 24800000Hz (slot req 400000Hz, actual 400000HZ div = 31)

> mmc_host mmc0: Bus speed (slot 0) = 148800000Hz (slot req 150000000Hz, actual 148800000HZ div = 0)

> EXT4-fs error (device mmcblk0p10): ext4_journal_check_start:61: Detected aborted journal

> EXT4-fs (mmcblk0p10): Remounting filesystem read-only

> 

> And quite often this would result in a disk that wouldn't properly

> boot even with older kernels.

> 

> It seems the max-frequency property added by the above patch is

> causing the problem, so remove it.

> 

> Cc: Ryan Grachek <ryan@edited.us>

> Cc: Wei Xu <xuwei5@hisilicon.com>

> Cc: Arnd Bergmann <arnd@arndb.de>

> Cc: Ulf Hansson <ulf.hansson@linaro.org>

> Cc: YongQin Liu <yongqin.liu@linaro.org>

> Cc: Leo Yan <leo.yan@linaro.org>

> Signed-off-by: John Stultz <john.stultz@linaro.org>


Thanks!
Applied to the hisilicon fix tree.

Best Regards,
Wei

> ---

>  arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 1 -

>  1 file changed, 1 deletion(-)

> 

> diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts

> index 724a0d3..edb4ee0 100644

> --- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts

> +++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts

> @@ -299,7 +299,6 @@

>  		/* GPIO blocks 16 thru 19 do not appear to be routed to pins */

>  

>  		dwmmc_0: dwmmc0@f723d000 {

> -			max-frequency = <150000000>;

>  			cap-mmc-highspeed;

>  			mmc-hs200-1_8v;

>  			non-removable;

>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
index 724a0d3..edb4ee0 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
@@ -299,7 +299,6 @@ 
 		/* GPIO blocks 16 thru 19 do not appear to be routed to pins */
 
 		dwmmc_0: dwmmc0@f723d000 {
-			max-frequency = <150000000>;
 			cap-mmc-highspeed;
 			mmc-hs200-1_8v;
 			non-removable;