Re: [PATCH v4 2/4] thermal: qcom: tsens: Add hooks for supplying platform specific reinit quirks

From: Bjorn Andersson
Date: Tue Sep 13 2022 - 15:19:11 EST


On Thu, Sep 01, 2022 at 04:24:12PM +0530, Bhupesh Sharma wrote:
> Add hooks inside platform specific data which can be
> used by Qualcomm tsens controller(s) which might need
> reinitialization via trustzone.
>
> Cc: Bjorn Andersson <andersson@xxxxxxxxxx>
> Cc: Amit Kucheria <amitk@xxxxxxxxxx>
> Cc: Thara Gopinath <thara.gopinath@xxxxxxxxx>
> Cc: linux-pm@xxxxxxxxxxxxxxx
> Cc: linux-arm-msm@xxxxxxxxxxxxxxx
> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxx>
> ---
> drivers/thermal/qcom/tsens.h | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/thermal/qcom/tsens.h b/drivers/thermal/qcom/tsens.h
> index ba05c8233356..92787017c6ab 100644
> --- a/drivers/thermal/qcom/tsens.h
> +++ b/drivers/thermal/qcom/tsens.h
> @@ -513,6 +513,7 @@ struct tsens_features {
> * @num_sensors: Number of sensors supported by platform
> * @ops: operations the tsens instance supports
> * @hw_ids: Subset of sensors ids supported by platform, if not the first n
> + * @needs_reinit_wa: tsens controller might need reinit via trustzone

What does "_wa" mean, and what value does it add?

needs_reinit captures the intent pretty well in my view.

Regards,
Bjorn

> * @feat: features of the IP
> * @fields: bitfield locations
> */
> @@ -520,6 +521,7 @@ struct tsens_plat_data {
> const u32 num_sensors;
> const struct tsens_ops *ops;
> unsigned int *hw_ids;
> + bool needs_reinit_wa;
> struct tsens_features *feat;
> const struct reg_field *fields;
> };
> @@ -542,6 +544,7 @@ struct tsens_context {
> * @srot_map: pointer to SROT register address space
> * @tm_offset: deal with old device trees that don't address TM and SROT
> * address space separately
> + * @needs_reinit_wa: tsens controller might need reinit via trustzone
> * @ul_lock: lock while processing upper/lower threshold interrupts
> * @crit_lock: lock while processing critical threshold interrupts
> * @rf: array of regmap_fields used to store value of the field
> @@ -559,6 +562,7 @@ struct tsens_priv {
> struct regmap *tm_map;
> struct regmap *srot_map;
> u32 tm_offset;
> + bool needs_reinit_wa;
>
> /* lock for upper/lower threshold interrupts */
> spinlock_t ul_lock;
> --
> 2.37.1
>