lkml.org 
[lkml]   [2022]   [Jul]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH v2 5/5] thermal: qcom: tsens: Add reinit quirk support for sm6375 controller
Date
tsens controller(s) on Qualcomm sm6375 SoC might start in
an unknown state or start with TSENS_EN indicating
a 'disabled' state when they enter linux world.

In such cases, it is useful to try and reinit them via
trustzone [via scm call(s)], at the very start.

Add hooks for the same in the qcom tsens driver.

Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Amit Kucheria <amitk@kernel.org>
Cc: Thara Gopinath <thara.gopinath@gmail.com>
Cc: linux-pm@vger.kernel.org
Cc: linux-arm-msm@vger.kernel.org
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
---
drivers/thermal/qcom/tsens.c | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c
index 928b6a44fda8..0141ea43c290 100644
--- a/drivers/thermal/qcom/tsens.c
+++ b/drivers/thermal/qcom/tsens.c
@@ -1083,6 +1083,16 @@ int __init init_common(struct tsens_priv *priv)
if (tsens_version(priv) >= VER_0_1)
tsens_enable_irq(priv);

+ /*
+ * For some tsens controllers, which start in
+ * an unknown state or start with TSENS_EN indicating
+ * a 'disabled' state, its useful to try and reinit
+ * them via trustzone, at the very start.
+ */
+ if (priv->needs_reinit_wa &&
+ (of_device_is_compatible(dev->of_node, "qcom,sm6375-tsens")))
+ __tsens_reinit_worker(priv);
+
tsens_debug_init(op);

err_put_device:
@@ -1145,6 +1155,9 @@ static const struct of_device_id tsens_table[] = {
}, {
.compatible = "qcom,msm8996-tsens",
.data = &data_8996,
+ }, {
+ .compatible = "qcom,sm6375-tsens",
+ .data = &data_tsens_v2_reinit,
}, {
.compatible = "qcom,sm8150-tsens",
.data = &data_tsens_v2_reinit,
--
2.35.3
\
 
 \ /
  Last update: 2022-07-24 14:26    [W:3.445 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site