summaryrefslogtreecommitdiff
path: root/drivers/scsi/ufs/ufs-qcom.h
diff options
context:
space:
mode:
authorGilad Broner <gbroner@codeaurora.org>2015-07-14 14:07:05 +0300
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 11:00:13 -0700
commit8f1b4b5eb025e773158e5764b7f538ebda1f7bc8 (patch)
treeeb0471ba2cfddcb216c9143f3f7081c1252c176f /drivers/scsi/ufs/ufs-qcom.h
parent38da06a7709696c2c1179ae0f7ffc8d5b782ae92 (diff)
scsi: ufs-qcom: add sys-fs entries for PM QoS control
Add sys-fs entries to allow user space control PM QoS latency parameters and enable/disable PM QoS voting. The entries are added under: /sys/bus/platform/devices/624000.ufshc/624000.ufshc:ufs_variant/ pm_qos_enable: write 0 to disable PM QoS, 1 to enable. Example: "echo 1 > pm_qos_enable" pm_qos_latency_us: write the desired value for each cpu group, separated by a comma. Example: "echo 10,20 > pm_qos_latency_us" Change-Id: I9797a1e62c4867ab831b4f18cbb1e0ca9834247b Signed-off-by: Gilad Broner <gbroner@codeaurora.org> Signed-off-by: Krishna Konda <kkonda@codeaurora.org> [venkatg@codeaurora.org: resolved trivial merge conflicts] Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
Diffstat (limited to 'drivers/scsi/ufs/ufs-qcom.h')
-rw-r--r--drivers/scsi/ufs/ufs-qcom.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/ufs/ufs-qcom.h b/drivers/scsi/ufs/ufs-qcom.h
index a8cc22ebb0ee..55edd8e777ef 100644
--- a/drivers/scsi/ufs/ufs-qcom.h
+++ b/drivers/scsi/ufs/ufs-qcom.h
@@ -283,6 +283,8 @@ struct ufs_qcom_pm_qos_cpu_group {
/**
* struct ufs_qcom_pm_qos - data related to PM QoS voting logic
* @groups: PM QoS cpu group state array
+ * @enable_attr: sysfs attribute to enable/disable PM QoS voting logic
+ * @latency_attr: sysfs attribute to set latency value
* @workq: single threaded workqueue to run PM QoS voting/unvoting
* @num_clusters: number of clusters defined
* @default_cpu: cpu to use for voting for request not specifying a cpu
@@ -290,6 +292,8 @@ struct ufs_qcom_pm_qos_cpu_group {
*/
struct ufs_qcom_pm_qos {
struct ufs_qcom_pm_qos_cpu_group *groups;
+ struct device_attribute enable_attr;
+ struct device_attribute latency_attr;
struct workqueue_struct *workq;
int num_groups;
int default_cpu;