summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorRam Chandrasekar <rkumbako@codeaurora.org>2016-11-23 14:21:47 -0700
committerRam Chandrasekar <rkumbako@codeaurora.org>2016-12-07 11:17:55 -0700
commit64a7b2e649b19e747fa805079c203f1d8753a81d (patch)
tree9633bdd8fa18d157d803e74458d4ba8a43e8be74 /include/linux
parentc975089fd596688e1271339c7914892f20cc58bb (diff)
msm: lmh_dcvsh: Support new API to notify scheduler
HLOS can place a mitigation frequency via the LMH DCVSh hardware using the software cap register and this request doesn't trigger a debug interrupt. Thus, this frequency mitigation change will not result in scheduler being notified by LMH DCVSh driver. Introduce a new API in LMH DCVSh driver, that can be used by other drivers to trigger the scheduler notification. This API and the interrupt handler follows the same code path to poll and notify the scheduler. Change-Id: Iefcdb57ff598ecb1bafc535958684f75b1f6e645 Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/msm_thermal.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/msm_thermal.h b/include/linux/msm_thermal.h
index f3ec960536aa..33286c2d81fc 100644
--- a/include/linux/msm_thermal.h
+++ b/include/linux/msm_thermal.h
@@ -255,6 +255,15 @@ extern int devmgr_client_request_mitigation(struct device_clnt_data *clnt,
extern void devmgr_unregister_mitigation_client(
struct device *dev,
struct device_clnt_data *clnt);
+#ifdef CONFIG_QCOM_THERMAL_LIMITS_DCVS
+extern int msm_lmh_dcvsh_sw_notify(int cpu);
+#else
+static inline int msm_lmh_dcvsh_sw_notify(int cpu)
+{
+ return -ENODEV;
+}
+#endif
+
#else
static inline int msm_thermal_init(struct msm_thermal_data *pdata)
{
@@ -330,6 +339,10 @@ static inline void devmgr_unregister_mitigation_client(
struct device_clnt_data *clnt)
{
}
+static inline int msm_lmh_dcvsh_sw_notify(int cpu)
+{
+ return -ENODEV;
+}
#endif
#endif /*__MSM_THERMAL_H*/