summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Müller <schnitzeltony@googlemail.com>2015-06-08 14:48:05 +0200
committerOtavio Salvador <otavio@ossystems.com.br>2015-06-10 12:10:09 -0300
commit172a4277f0632941aa74f02495d2c420e5495323 (patch)
treef2d20c286d7d05e95fe51fb4b90cc2817b8e5ece
parentcb3ff963b1bbff7d2c2a9e6344e4ea592a958154 (diff)
downloadmeta-fsl-arm-172a4277f0632941aa74f02495d2c420e5495323.tar.gz
linux-imx_3.14.28: fix initial MMC device detection
On Variscite Varsom we have three devices connected to MMC * MMC1: eMMC * MMC2: SDCard * MMC3: Wifi Without this patch only the first device was detected properly. I found two workarounds which can be removed by this patch: 1. Variscite: booting from SDCard made possible by renumbering MMC devices [1]. 2. BoundaryDevices: Add workqueues for each mmc_host [2]. This had been tested here too but causes crashing sdcard for huge storage traffic. [1] https://github.com/varigit/linux-2.6-imx/blob/imx_3.10.53_1.1.0_ga_var01/arch/arm/boot/dts/imx6qdl.dtsi / Line 879 [2] https://github.com/boundarydevices/linux-imx6/commit/1d40159a995a298f16901bfb14ae3e0294c65691 Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-rw-r--r--recipes-kernel/linux/linux-imx-3.14.28/0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch36
-rw-r--r--recipes-kernel/linux/linux-imx_3.14.28.bb1
2 files changed, 37 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-imx-3.14.28/0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch b/recipes-kernel/linux/linux-imx-3.14.28/0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch
new file mode 100644
index 0000000..0d3caa4
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-3.14.28/0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch
@@ -0,0 +1,36 @@
1From 77903c01d8c6c5d2544085ba074aceadc1191d21 Mon Sep 17 00:00:00 2001
2From: Ulf Hansson <ulf.hansson@linaro.org>
3Date: Thu, 11 Dec 2014 15:12:25 +0100
4Subject: [PATCH 2/2] mmc: sdhci-esdhc-imx: Fixup runtime PM conditions during
5 ->probe()
6
7By configure runtime PM prior we enable the use of it, we close the gap
8for strange and unhandled conditions. Moreover it makes us rely on the
9driver core, after finalized ->probe(), to request an inactive device
10to become runtime PM idle/suspended, which earlier potentially could
11happen already at pm_runtime_set_autosuspend_delay().
12
13Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
14---
15 drivers/mmc/host/sdhci-esdhc-imx.c | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
19index 043866c..10ef824 100644
20--- a/drivers/mmc/host/sdhci-esdhc-imx.c
21+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
22@@ -1080,10 +1080,10 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
23 goto disable_clk;
24
25 pm_runtime_set_active(&pdev->dev);
26- pm_runtime_enable(&pdev->dev);
27 pm_runtime_set_autosuspend_delay(&pdev->dev, 50);
28 pm_runtime_use_autosuspend(&pdev->dev);
29 pm_suspend_ignore_children(&pdev->dev, 1);
30+ pm_runtime_enable(&pdev->dev);
31
32 return 0;
33
34--
351.9.3
36
diff --git a/recipes-kernel/linux/linux-imx_3.14.28.bb b/recipes-kernel/linux/linux-imx_3.14.28.bb
index e3078f7..5d1be54 100644
--- a/recipes-kernel/linux/linux-imx_3.14.28.bb
+++ b/recipes-kernel/linux/linux-imx_3.14.28.bb
@@ -18,6 +18,7 @@ SRC_URI += " \
18 file://0001-ARM-imx6q-drop-unnecessary-semicolon.patch \ 18 file://0001-ARM-imx6q-drop-unnecessary-semicolon.patch \
19 file://0002-ARM-clk-imx6q-fix-video-divider-for-rev-T0-1.0.patch \ 19 file://0002-ARM-clk-imx6q-fix-video-divider-for-rev-T0-1.0.patch \
20 file://0003-ARM-imx6sl-Disable-imx6sl-specific-code-when-imx6sl-.patch \ 20 file://0003-ARM-imx6sl-Disable-imx6sl-specific-code-when-imx6sl-.patch \
21 file://0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch \
21" 22"
22 23
23COMPATIBLE_MACHINE = "(mx6)" 24COMPATIBLE_MACHINE = "(mx6)"