[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <CTUIWUIPVCMZ.17974ZYUS1D93@homedev>
Date: Wed, 05 Jul 2023 20:36:19 +0000
From: "Folker Schwesinger" <dev@...ker-schwesinger.de>
To: "Christopher Obbard" <chris.obbard@...labora.com>,
<linux-rockchip@...ts.infradead.org>
Cc: <kernel@...labora.com>, "Akash Gajjar" <Akash_Gajjar@...tor.com>,
"Conor Dooley" <conor+dt@...nel.org>,
"FUKAUMI Naoki" <naoki@...xa.com>,
"Heiko Stuebner" <heiko@...ech.de>,
"Jagan Teki" <jagan@...rulasolutions.com>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@...aro.org>,
"Pragnesh Patel" <Pragnesh_Patel@...tor.com>,
"Rob Herring" <robh+dt@...nel.org>, <devicetree@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v1 1/2] arm64: dts: rockchip: Disable HS400 for eMMC on
ROCK Pi 4
On Wed Jul 5, 2023 at 4:42 PM CEST, Christopher Obbard wrote:
> There is some instablity with some eMMC modules on ROCK Pi 4 SBCs running
> in HS400 mode. This ends up resulting in some block errors after a while
> or after a "heavy" operation utilising the eMMC (e.g. resizing a
> filesystem). An example of these errors is as follows:
>
> [ 289.171014] mmc1: running CQE recovery
> [ 290.048972] mmc1: running CQE recovery
> [ 290.054834] mmc1: running CQE recovery
> [ 290.060817] mmc1: running CQE recovery
> [ 290.061337] blk_update_request: I/O error, dev mmcblk1, sector 1411072 op 0x1:(WRITE) flags 0x800 phys_seg 36 prio class 0
> [ 290.061370] EXT4-fs warning (device mmcblk1p1): ext4_end_bio:348: I/O error 10 writing to inode 29547 starting block 176466)
> [ 290.061484] Buffer I/O error on device mmcblk1p1, logical block 172288
> [ 290.061531] Buffer I/O error on device mmcblk1p1, logical block 172289
> [ 290.061551] Buffer I/O error on device mmcblk1p1, logical block 172290
> [ 290.061574] Buffer I/O error on device mmcblk1p1, logical block 172291
> [ 290.061592] Buffer I/O error on device mmcblk1p1, logical block 172292
> [ 290.061615] Buffer I/O error on device mmcblk1p1, logical block 172293
> [ 290.061632] Buffer I/O error on device mmcblk1p1, logical block 172294
> [ 290.061654] Buffer I/O error on device mmcblk1p1, logical block 172295
> [ 290.061673] Buffer I/O error on device mmcblk1p1, logical block 172296
> [ 290.061695] Buffer I/O error on device mmcblk1p1, logical block 172297
>
> Disabling the Command Queue seems to stop the CQE recovery from running,
> but doesn't seem to improve the I/O errors. Until this can be investigated
> further, disable HS400 mode on the ROCK Pi 4 SBCs to at least stop I/O
> errors from occurring.
>
> While we are here, set the eMMC maximum clock frequency to 1.5MHz to
> follow the ROCK 4C+.
>
> Fixes: 1b5715c602fd ("arm64: dts: rockchip: add ROCK Pi 4 DTS support")
> Signed-off-by: Christopher Obbard <chris.obbard@...labora.com>
> ---
>
> arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
> index 907071d4fe80..95efee311ece 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
> @@ -645,9 +645,9 @@ &saradc {
> };
>
> &sdhci {
> + max-frequency = <150000000>;
> bus-width = <8>;
> - mmc-hs400-1_8v;
> - mmc-hs400-enhanced-strobe;
> + mmc-hs200-1_8v;
> non-removable;
> status = "okay";
> };
Works as advertised on a RockPi 4b v1.3 with kernel 6.1.37.
Tested-By: Folker Schwesinger <dev@...ker-schwesinger.de>
Folker
Powered by blists - more mailing lists