aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2012-03-12 20:01:51 -0400
committerRafael J. Wysocki <rjw@sisk.pl>2012-03-13 17:37:21 -0400
commitc419e611c3c59c0e48405c279e497c4bf1bf2cd2 (patch)
tree6be86a3b2796e9e5faae968109e3ed66e7363927
parent85dc0b8a4019e38ad4fd0c008f89a5c241805ac2 (diff)
tmio_mmc / PM: Use PM QoS latency constraint
Make tmio_mmc call dev_pm_qos_expose_latency_limit() to expose the PM QoS latency limit to user space and specify the initial value of it as 100 microseconds. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
-rw-r--r--drivers/mmc/host/tmio_mmc_pio.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c
index abad01b37cfb..fc3eb1a7fe24 100644
--- a/drivers/mmc/host/tmio_mmc_pio.c
+++ b/drivers/mmc/host/tmio_mmc_pio.c
@@ -39,6 +39,7 @@
39#include <linux/module.h> 39#include <linux/module.h>
40#include <linux/pagemap.h> 40#include <linux/pagemap.h>
41#include <linux/platform_device.h> 41#include <linux/platform_device.h>
42#include <linux/pm_qos.h>
42#include <linux/pm_runtime.h> 43#include <linux/pm_runtime.h>
43#include <linux/scatterlist.h> 44#include <linux/scatterlist.h>
44#include <linux/workqueue.h> 45#include <linux/workqueue.h>
@@ -951,6 +952,8 @@ int __devinit tmio_mmc_host_probe(struct tmio_mmc_host **host,
951 952
952 mmc_add_host(mmc); 953 mmc_add_host(mmc);
953 954
955 dev_pm_qos_expose_latency_limit(&pdev->dev, 100);
956
954 /* Unmask the IRQs we want to know about */ 957 /* Unmask the IRQs we want to know about */
955 if (!_host->chan_rx) 958 if (!_host->chan_rx)
956 irq_mask |= TMIO_MASK_READOP; 959 irq_mask |= TMIO_MASK_READOP;
@@ -989,6 +992,8 @@ void tmio_mmc_host_remove(struct tmio_mmc_host *host)
989 || host->mmc->caps & MMC_CAP_NONREMOVABLE) 992 || host->mmc->caps & MMC_CAP_NONREMOVABLE)
990 pm_runtime_get_sync(&pdev->dev); 993 pm_runtime_get_sync(&pdev->dev);
991 994
995 dev_pm_qos_hide_latency_limit(&pdev->dev);
996
992 mmc_remove_host(host->mmc); 997 mmc_remove_host(host->mmc);
993 cancel_work_sync(&host->done); 998 cancel_work_sync(&host->done);
994 cancel_delayed_work_sync(&host->delayed_reset_work); 999 cancel_delayed_work_sync(&host->delayed_reset_work);