[RFC PATCH 0/4] mmc: sdhci: Support maximum DMA latency request via PM QoS

From: Adrian Hunter
Date: Tue Mar 24 2015 - 09:42:48 EST


Here are some patches to address an issue with SDHCI
in Intel Baytrail. Intel Baytrail has been observed
sometimes to hang if host controllers are using DMA
while deep C-states are used. Workaround that by
specifying a maximum DMA latency that will prevent
deep C-states.

The first patch adds a new PM QOS function so that
the SDHCI driver can do a "lazy" cancel of the QoS
request from within its "finish" tasklet.

The second patch adds support to SDHCI for specifying a
maximum DMA latency.

The third and fourth patches take that facility into
use for Baytrail.

Ad hoc testing with Lenovo Thinkpad 10 showed a stress
test could run for at least 24 hours with the patches,
compared to less than an hour without.

These patches are on top of my driver strength patches
which are on top of my re-tuning patches.

Adrian Hunter (4):
PM / QoS: Add pm_qos_cancel_request_lazy() that doesn't sleep
mmc: sdhci: Support maximum DMA latency request via PM QOS
mmc: sdhci-acpi: Fix device hang on Intel BayTrail
mmc: sdhci-pci: Fix device hang on Intel BayTrail

drivers/mmc/host/sdhci-acpi.c | 32 ++++++++++++++++++++++++++
drivers/mmc/host/sdhci-pci.c | 13 +++++++++++
drivers/mmc/host/sdhci.c | 52 +++++++++++++++++++++++++++++++++++++++++++
drivers/mmc/host/sdhci.h | 7 ++++++
include/linux/pm_qos.h | 2 ++
kernel/power/qos.c | 20 +++++++++++++++++
6 files changed, 126 insertions(+)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/