[PATCH v4 0/4] Add support for tsens controller reinit via trustzone

From: Bhupesh Sharma
Date: Thu Sep 01 2022 - 06:54:37 EST


Changes since v3:
-----------------
- v3 can be viewed here: https://lore.kernel.org/linux-arm-msm/20220804054638.3197294-1-bhupesh.sharma@xxxxxxxxxx/
- Addressed review comments from Bjorn regarding early exit paths, spin
lock being held while returning from func, etc.
- Also added Bjorn's R-Bs for v3 patches.
- Rebased on latest linux-next (master branch) tip.

Changes since v2:
-----------------
- v2 can be viewed here: https://lore.kernel.org/linux-arm-msm/20220724122424.2509021-1-bhupesh.sharma@xxxxxxxxxx/
- Dropped sm6375 specific patch from v3, as suggested by Konrad.
- Rebased on latest linux-next (master branch) tip.

Changes since v1:
-----------------
- v1 can be viewed here: https://lore.kernel.org/linux-arm-msm/20220701145815.2037993-1-bhupesh.sharma@xxxxxxxxxx/
- Addressed several comments from Bjorn regarding locking, serialization
etc received on v1.
- Addressed Konrad's concerns about the tsens controller found on sm6375
SoC which seems to start in a bad state or is disabled when entering
the linux world.
- This series would depend on sm6375 tsens controller changes being
added by Konrad. It is based on linux-next (master branch) tip.

Some versions of Qualcomm tsens controller might enter a
'bad state' causing sensor temperatures/interrupts status
to be in an 'invalid' state.

It is recommended to re-initialize the tsens controller
via trustzone (secure registers) using scm call(s) when that
happens.

This patchset adds the support for the same.

Cc: andersson@xxxxxxxxxx
Cc: Amit Kucheria <amitk@xxxxxxxxxx>
Cc: Thara Gopinath <thara.gopinath@xxxxxxxxx>
Cc: linux-pm@xxxxxxxxxxxxxxx
Cc: linux-arm-msm@xxxxxxxxxxxxxxx

Bhupesh Sharma (4):
firmware: qcom: scm: Add support for tsens reinit workaround
thermal: qcom: tsens: Add hooks for supplying platform specific reinit
quirks
thermal: qcom: tsens: Add driver support for re-initialization quirk
thermal: qcom: tsens: Add reinit quirk support for tsens v2
controllers

drivers/firmware/qcom_scm.c | 15 +++
drivers/firmware/qcom_scm.h | 4 +
drivers/thermal/qcom/tsens-v2.c | 15 +++
drivers/thermal/qcom/tsens.c | 193 ++++++++++++++++++++++++++++++++
drivers/thermal/qcom/tsens.h | 18 ++-
include/linux/qcom_scm.h | 2 +
6 files changed, 246 insertions(+), 1 deletion(-)

--
2.37.1