aboutsummaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2015-06-05 06:03:17 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2015-06-05 06:03:17 -0700
commitdd4151b763c65b4b7a490773630e6a498b2b94bd (patch)
tree13fab494aa373f8e5616378ab8c9200d97f9ee1c /include/linux
parenta5fa232aa134b7bd3d45da06d8728a7e4ee0305d (diff)
parentb45b1357f30207815906caa197e6e288c37c6c5c (diff)
downloadqcom-msm-v3.10-dd4151b763c65b4b7a490773630e6a498b2b94bd.tar.gz
Merge "ARM: dts: msm: Enable modified dynamic qos in sdhci for MSM8939"
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mmc/sdhci.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/include/linux/mmc/sdhci.h b/include/linux/mmc/sdhci.h
index 6dcd8a315a5..230da189c72 100644
--- a/include/linux/mmc/sdhci.h
+++ b/include/linux/mmc/sdhci.h
@@ -30,6 +30,19 @@ enum sdhci_power_policy {
SDHCI_POWER_SAVE_MODE,
};
+struct sdhci_host_qos {
+ unsigned int *cpu_dma_latency_us;
+ unsigned int cpu_dma_latency_tbl_sz;
+ struct pm_qos_request pm_qos_req_dma;
+};
+
+enum sdhci_host_qos_policy {
+ SDHCI_QOS_READ_WRITE,
+ SDHCI_QOS_READ,
+ SDHCI_QOS_WRITE,
+ SDHCI_QOS_MAX_POLICY,
+};
+
struct sdhci_host {
/* Data set by hardware interface driver */
const char *hw_name; /* Hardware bus name */
@@ -266,11 +279,13 @@ struct sdhci_host {
#define SDHCI_TUNING_MODE_1 0
struct timer_list tuning_timer; /* Timer for tuning */
- unsigned int *cpu_dma_latency_us;
- unsigned int cpu_dma_latency_tbl_sz;
- struct pm_qos_request pm_qos_req_dma;
+ struct sdhci_host_qos host_qos[SDHCI_QOS_MAX_POLICY];
+ enum sdhci_host_qos_policy last_qos_policy;
+
+ bool host_use_default_qos;
unsigned int pm_qos_timeout_us; /* timeout for PM QoS request */
struct device_attribute pm_qos_tout;
+ struct delayed_work pm_qos_work;
struct sdhci_next next_data;
ktime_t data_start_time;