Re: arm64: dts: rockchip: Disable HS400 for mmc on rk3399-roc-pc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Heiko,

Am 14.11.19 um 14:10 schrieb Heiko Stuebner:
> Hi Markus,
> 
> $subject is missing the [PATCH] prefix
will fix.
> 
> Am Montag, 11. November 2019, 10:51:04 CET schrieb Markus Reichl:
>> Working with rootfs on two 128GB mmcs on rk3399-roc-pc.
>> 
>> One (mmc name 128G72, one screw hole) works fine in HS400 mode.
>> Other (mmc name DJNB4R, firefly on pcb, two screw holes) gets lots of
>> mmc1: "running CQE recovery", even hangs with damaged fs,
>> when running under heavy load, e.g. compiling kernel.
>> Both run fine with HS200.
>> 
>> Disabling CQ with patch mmc: core: Add MMC Command Queue Support kernel parameter [0] did not help.
>> [0] https://gitlab.com/ayufan-repos/rock64/linux-mainline-kernel/commit/54e264154b87dfe32a8359b2726e2d5611adbaf3
> 
> I'm hoping for some input from other people in Cc but your mail headers
> also referenced the drive-impendance series from Christoph [0], which
> it seems we need to poke the phy maintainer again.
> 
> Did you check if changing the impedance helped (like the signal dampening
> Philipp described in one of the replies there).

checked with

&emmc_phy {
+       drive-impedance-ohm = <33>;

gives no improvement:
[    1.688590] mmc1: CQHCI version 5.10
[    1.714157] mmc1: SDHCI controller on fe330000.sdhci [fe330000.sdhci] using ADMA
[    1.797822] mmc1: Command Queue Engine enabled
[    1.798259] mmc1: new HS400 Enhanced strobe MMC card at address 0001
[    1.800034] mmcblk1: mmc1:0001 DJNB4R 116 GiB 
[    1.800643] mmcblk1boot0: mmc1:0001 DJNB4R partition 1 4.00 MiB
[    1.801408] mmcblk1boot1: mmc1:0001 DJNB4R partition 2 4.00 MiB
[    1.802886] mmcblk1rpmb: mmc1:0001 DJNB4R partition 3 4.00 MiB, chardev (246:0)
...
[  100.118020] mmc1: running CQE recovery
[  100.120890] ------------[ cut here ]------------
[  100.121310] mmc1: cqhci: spurious TCN for tag 2
[  100.121802] WARNING: CPU: 0 PID: 232 at drivers/mmc/host/cqhci.c:729 cqhci_irq+0x30c/0x480
[  100.122530] Modules linked in: rfkill snd_soc_hdmi_codec dw_hdmi_i2s_audio dw_hdmi_cec rockchipdrm crct10dif_ce analogix_dp dw_mipi_dsi snd_soc_simple_card dw_hdmi cec snd_soc_rockchip_i2s snd_soc_simple_card_utils panfrost snd_soc_rockchip_pcm drm_kms_helper snd_soc_core gpu_sched snd_pcm_dmaengine syscopyarea sysfillrect sysimgblt snd_pcm fb_sys_fops snd_timer snd drm soundcore fusb302 tcpm typec rockchip_saradc drm_panel_orientation_quirks ipv6
[  100.126097] CPU: 0 PID: 232 Comm: kworker/0:2H Not tainted 5.4.0-rc7-next-20191112-00007-g2ad177c77749 #44
[  100.126946] Hardware name: Firefly ROC-RK3399-PC Board (DT)
[  100.127454] Workqueue: kblockd blk_mq_run_work_fn
[  100.127885] pstate: 20000085 (nzCv daIf -PAN -UAO)
[  100.128318] pc : cqhci_irq+0x30c/0x480
[  100.128660] lr : cqhci_irq+0x30c/0x480
[  100.128997] sp : ffff800010003d10
[  100.129298] x29: ffff800010003d10 x28: 0000000000000000 
[  100.129777] x27: 0000000000000001 x26: ffff8000108e0fe8 
[  100.130257] x25: ffff0000f5ae5c98 x24: ffff800010b7e1a8 
[  100.130737] x23: ffff800010b198c8 x22: ffff0000f5a80000 
[  100.131216] x21: 0000000000000002 x20: 0000000000000002 
[  100.131694] x19: ffff0000f5ae5c80 x18: 0000000000000010 
[  100.132173] x17: 0000000000000000 x16: 0000000000000000 
[  100.132653] x15: ffffffffffffffff x14: ffff800010b198c8 
[  100.133132] x13: ffff800090003a77 x12: ffff800010003a7f 
[  100.133612] x11: ffff800010b30000 x10: ffff800010003a00 
[  100.134092] x9 : 00000000ffffffd0 x8 : ffff80001045a060 
[  100.134571] x7 : 000000000000025f x6 : ffff800010b979e2 
[  100.135050] x5 : 0000000000000001 x4 : 0000000000000000 
[  100.135529] x3 : 0000000000000000 x2 : 0000000000000000 
[  100.136007] x1 : e005989da46f2500 x0 : 0000000000000000 
[  100.136486] Call trace:
[  100.136719]  cqhci_irq+0x30c/0x480
[  100.137033]  sdhci_arasan_cqhci_irq+0x58/0x80
[  100.137430]  sdhci_irq+0xb8/0xbb8
[  100.137742]  __handle_irq_event_percpu+0x6c/0x170
[  100.138169]  handle_irq_event_percpu+0x34/0x88
[  100.138575]  handle_irq_event+0x44/0xc8
[  100.138927]  handle_fasteoi_irq+0xb4/0x160
[  100.139302]  generic_handle_irq+0x24/0x38
[  100.139670]  __handle_domain_irq+0x60/0xb8
[  100.140045]  gic_handle_irq+0xc0/0x158
[  100.140389]  el1_irq+0xb8/0x180
[  100.140684]  _raw_spin_unlock_irqrestore+0x20/0x48
[  100.141119]  sdhci_cqe_enable+0xec/0x108
[  100.141478]  sdhci_arasan_cqe_enable+0x4c/0x58
[  100.141880]  cqhci_request+0x2d0/0x500
[  100.142226]  mmc_cqe_start_req+0x50/0x60
[  100.142585]  mmc_blk_mq_issue_rq+0x430/0x794
[  100.142974]  mmc_mq_queue_rq+0x104/0x270
[  100.143332]  blk_mq_dispatch_rq_list+0xa8/0x580
[  100.143746]  blk_mq_sched_dispatch_requests+0xf4/0x1d8
[  100.144210]  __blk_mq_run_hw_queue+0xac/0x120
[  100.144605]  blk_mq_run_work_fn+0x1c/0x28
[  100.144974]  process_one_work+0x1e0/0x358
[  100.145340]  worker_thread+0x40/0x488
[  100.145679]  kthread+0x118/0x120
[  100.145977]  ret_from_fork+0x10/0x18
[  100.146302] ---[ end trace 6277099ad751ed64 ]---
[  100.213815] mmc1: running CQE recovery
[  100.413933] mmc1: running CQE recovery

> 
> [0] https://patchwork.kernel.org/patch/10835567/
> most current v2 it seems is https://patchwork.kernel.org/patch/10842421/
> 
>> Therefore I propose to disable HS400 mode on roc-pc for now.
> 
> Hoping for more input :-)

Hoping, too.


Gruß,
-- 
Markus Reichl
> 
> 
> Heiko
> 
> 
>> Signed-off-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx>
>> ---
>>  arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi | 2 --
>>  1 file changed, 2 deletions(-)
>> 
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
>> index 29a50a083c42..33df95e384b4 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
>> +++ b/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
>> @@ -660,8 +660,6 @@
>>  
>>  &sdhci {
>>  	bus-width = <8>;
>> -	mmc-hs400-1_8v;
>> -	mmc-hs400-enhanced-strobe;
>>  	non-removable;
>>  	status = "okay";
>>  };
>> 
> 




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux