From: Priyansh Jain <priyansh.jain@oss.qualcomm.com>
To: Amit Kucheria <amitk@kernel.org>,
Thara Gopinath <thara.gopinath@gmail.com>,
"Rafael J . Wysocki" <rafael@kernel.org>,
Daniel Lezcano <daniel.lezcano@kernel.org>,
Zhang Rui <rui.zhang@intel.com>,
Lukasz Luba <lukasz.luba@arm.com>
Cc: linux-pm@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-kernel@vger.kernel.org, manaf.pallikunhi@oss.qualcomm.com,
Priyansh Jain <priyansh.jain@oss.qualcomm.com>
Subject: [PATCH v2 0/2] thermal: qcom: tsens: fix temperature handling
Date: Fri, 8 May 2026 15:36:58 +0530 [thread overview]
Message-ID: <20260508100700.772985-1-priyansh.jain@oss.qualcomm.com> (raw)
This series fixes multiple issues in the Qualcomm TSENS thermal driver
related to temperature sampling and trip threshold handling.
Patch 1 updates the temperature read path to atomically sample the
temperature value along with its valid bit, in accordance with hardware
programming guidelines. It also implements the recommended retry and
fallback behavior to avoid incorrect readings during transient hardware
update windows.
Patch 2 widens the software trip temperature limits to match the full
hardware-supported range. This prevents repeated threshold
reprogramming and interrupt storms when devices operate beyond the
previously clamped limits on newer chipsets, while preserving behavior
for platforms operating within the original range.
v2:
- Reverted merging of the valid-bit and LAST_TEMP register field logic
to preserve the regmap differences between TSENS versions
- Defined valid-bit support and last temperature resolution for all
TSENS v1 and v2 feature structures
- Defined last temperature resolution for Tsens v0 feature structure
- Dropped tsens version checks in favor of valid-bit capability
- Computed masks from resolution to keep a single source of truth
- Minor code cleanups based on review feedback
Priyansh Jain (2):
thermal: qcom: tsens: atomic temperature read with hardware-guided
retries
thermal: qcom: tsens: widen temperature limits to match hardware range
drivers/thermal/qcom/tsens-v0_1.c | 1 +
drivers/thermal/qcom/tsens-v1.c | 4 ++
drivers/thermal/qcom/tsens-v2.c | 10 ++-
drivers/thermal/qcom/tsens.c | 114 ++++++++++++++++++++----------
drivers/thermal/qcom/tsens.h | 7 ++
5 files changed, 98 insertions(+), 38 deletions(-)
--
2.43.0
next reply other threads:[~2026-05-08 10:07 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-08 10:06 Priyansh Jain [this message]
2026-05-08 10:06 ` [PATCH v2 1/2] thermal: qcom: tsens: atomic temperature read with hardware-guided retries Priyansh Jain
2026-05-08 12:09 ` Konrad Dybcio
2026-05-11 6:15 ` Priyansh Jain
2026-05-08 10:07 ` [PATCH v2 2/2] thermal: qcom: tsens: widen temperature limits to match hardware range Priyansh Jain
2026-05-08 12:10 ` Konrad Dybcio
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260508100700.772985-1-priyansh.jain@oss.qualcomm.com \
--to=priyansh.jain@oss.qualcomm.com \
--cc=amitk@kernel.org \
--cc=daniel.lezcano@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=lukasz.luba@arm.com \
--cc=manaf.pallikunhi@oss.qualcomm.com \
--cc=rafael@kernel.org \
--cc=rui.zhang@intel.com \
--cc=thara.gopinath@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox