Thread (14 messages) read the whole thread 14 messages, 4 authors, 2021-08-04

RE: [PATCH] mmc: renesas_sdhi: increase suspend/resume latency limit

From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Date: 2021-08-04 05:29:57
Also in: linux-renesas-soc

Hi Ulrich-san again,
From: Yoshihiro Shimoda, Sent: Tuesday, August 3, 2021 8:17 PM

So, I'll test this patch with my test environment tomorrow.
Unfortunately, this patch failed on mmc_test driver.
I'm not sure, but perhaps we have a potential issue on runtime PM with SDHI driver?

< My environment >
- H3 ES3.0 Salvator-XS
- kernel v5.14-rc2
- buildroot v2020.02.10

< How to test >
# mount -t debugfs none /sys/kernel/debug
# ./bind.sh mmc0:0001
# ./test.sh mmc0 mmc0;0001 38 38
# ./test.sh mmc0 mmc0;0001 38 38

CAUTION: The mmc_test driver will overwrite any data of the device..

< Results >
- When I tested on an eMMC, the issue happened.
-- But, when I tested on a sd card, the issue didn't happen.

- The mmc_test failed after test case 38.
-- After that, I could not recover the device even if I issued test case 45(Reset).
-- Once the test case 38 was OK, but after that, any test case failed.

- When I changed the latency value via sysfs as 100, the issue didn't happen.
# echo 100 > /sys/devices/platform/soc/ee140000.mmc/power/pm_qos_resume_latency_us

< Issue >
# ./test.sh mmc0 mmc0:0001 38 38
[   90.688971] mmc0: Starting tests of card mmc0:0001...
[   90.718703] mmc0: Test case 38. Write performance with non-blocking req 4k to 4MB...
[   90.762127] [mmc_test_rw_multiple] error
[   90.770964] mmc0: Result: ERROR (-84)
[   90.779551] mmc0: Tests completed.

< My scripts >
--- bind.sh ---
#!/bin/sh
if [ $# -ne 2 ]; then
	echo "[dev] [bind or unbind]"
	echo "dev list (for bind)"
	ls -la /sys/bus/mmc/drivers/mmcblk
	echo "dev list (for unbind)"
	ls -la /sys/bus/mmc/drivers/mmc_test
	exit
fi

if [ $2 = "bind" ]; then
	echo $1 > /sys/bus/mmc/drivers/mmcblk/unbind
	echo $1 > /sys/bus/mmc/drivers/mmc_test/bind
elif [ $2 = "unbind" ]; then
	echo $1 > /sys/bus/mmc/drivers/mmc_test/unbind
	echo $1 > /sys/bus/mmc/drivers/mmcblk/bind
fi
---------------
--- test.sh ---
#!/bin/sh

if [ $# -ne 4 ]; then
	echo "[dev base] [dev] [start] [end]"
	if [ $# -eq 2 ]; then
		echo "testlist"
		cat /sys/kernel/debug/$1/$2/testlist
	fi
	exit
fi

dev_base=$1
dev=$2
start=$3
end=$4

i=$start
while [ $i -le $end ] ; do
	echo $i > /sys/kernel/debug/$dev_base/$dev/test
	sleep 1
	i=`expr $i + 1`
done
---------------

Best regards,
Yoshihiro Shimoda
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help