summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSubhash Jadavani <subhashj@codeaurora.org>2015-01-08 16:36:07 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 10:58:37 -0700
commit588cbce99cddb8790375437494c7dfb9d419a252 (patch)
tree11a8b359b2d502cba8c1db5a92fbfe57be68e1cb /include
parent2d59afeff93bec2f5892093a7ed0ad879fcf4295 (diff)
scsi: ufs: add load based scaling of UFS gear
UFS driver's load based clock scaling feature scales down the ufs related clocks in order to allow low power modes of chipsets. UniPro 1.6 supports maximum gear up to HS-G3 (High Speed Gear3) and some of the chipsets low power modes may not be allowed in HS-G3 hence this change adds support to scale gear between HS-G3 and HS-G2 based on same existing load based clock scaling logic. Change-Id: I25c70230a77321efd654af7c496c43936324ae40 Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org> [subhashj@codeaurora.org: resolved trivial merge conflicts] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org> [venkatg@codeaurora.org: resolved trivial merge conflicts] Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/scsi/ufs/ufshcd.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/scsi/ufs/ufshcd.h b/include/linux/scsi/ufs/ufshcd.h
index 5e17d1b26a98..a94e3f3f7e64 100644
--- a/include/linux/scsi/ufs/ufshcd.h
+++ b/include/linux/scsi/ufs/ufshcd.h
@@ -419,6 +419,11 @@ struct ufs_hibern8_on_idle {
bool is_enabled;
};
+struct ufs_saved_pwr_info {
+ struct ufs_pa_layer_attr info;
+ bool is_valid;
+};
+
struct ufs_clk_scaling {
ktime_t busy_start_t;
bool is_busy_started;
@@ -426,6 +431,7 @@ struct ufs_clk_scaling {
unsigned long window_start_t;
struct device_attribute enable_attr;
bool is_allowed;
+ struct ufs_saved_pwr_info saved_pwr_info;
};
/**