linux/drivers/thermal
Stephan Gerhold b6f739da00 thermal/drivers/qcom/tsens-v0_1: Add mdm9607 correction offsets
According to the msm-3.18 vendor kernel from Qualcomm, mdm9607 needs
"correction factors" to adjust for additional offsets observed after the
factory calibration values in the fuses [1, 2].

The fixed offsets should be applied unless there is a special
calibration mode value that indicates that no offsets are needed [3].

Note that the new calibration mode values are called differently in this
patch compared to the vendor kernel:
  - TSENS_TWO_POINT_CALIB_N_WA        -> ONE_PT_CALIB2_NO_OFFSET
  - TSENS_TWO_POINT_CALIB_N_OFFSET_WA -> TWO_PT_CALIB_NO_OFFSET
This is because close inspection of the calibration function [3] reveals
that TSENS_TWO_POINT_CALIB_N_WA is actually a "one point" calibration
because the if statements skip all "point2" related code for it.

[1]: d9d2db1b82
[2]: d75aef53a7
[3]: https://git.codelinaro.org/clo/la/kernel/msm-3.18/-/blob/LE.UM.4.3.2.r1-04200-9x07/drivers/thermal/msm-tsens.c#L2987-3136

Fixes: a2149ab815 ("thermal/drivers/qcom/tsens-v0_1: Add support for MDM9607")
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Stephan Gerhold <stephan.gerhold@kernkonzept.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20230508-msm8909-tsens-v5-3-5eb632235ba7@kernkonzept.com
2023-06-26 12:03:13 +02:00
..
broadcom thermal/drivers/bcm2835: Remove buggy call to thermal_of_zone_unregister 2023-04-07 18:36:28 +02:00
intel thermal/intel/intel_soc_dts_iosf: Fix reporting wrong temperatures 2023-06-15 18:07:48 +02:00
mediatek thermal/drivers/mediatek: Use of_address_to_resource() 2023-04-26 10:38:34 +02:00
qcom thermal/drivers/qcom/tsens-v0_1: Add mdm9607 correction offsets 2023-06-26 12:03:13 +02:00
samsung thermal/core: Use the thermal zone 'devdata' accessor in thermal located drivers 2023-03-03 20:45:02 +01:00
st thermal/drivers/stm: Don't set no_hwmon to false 2023-04-01 20:51:45 +02:00
tegra thermal/drivers/tegra-bpmp: Handle offline zones 2023-04-07 10:31:33 +02:00
ti-soc-thermal - Add more thermal zone device encapsulation: prevent setting 2023-04-03 20:43:32 +02:00
amlogic_thermal.c thermal: amlogic: Use dev_err_probe() 2023-04-07 11:18:28 +02:00
armada_thermal.c thermal: Remove debug or error messages in get_temp() ops 2023-03-03 20:45:02 +01:00
cpufreq_cooling.c - Add more thermal zone device encapsulation: prevent setting 2023-04-03 20:43:32 +02:00
cpuidle_cooling.c More thermal control updates for 6.4-rc1 2023-05-03 11:46:01 -07:00
da9062-thermal.c thermal/drivers/da9062: Don't access the thermal zone device fields 2023-03-03 20:45:03 +01:00
db8500_thermal.c thermal/drivers/db8500: Use driver dev instead of tz->device 2023-04-01 20:51:45 +02:00
devfreq_cooling.c thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
dove_thermal.c thermal: Remove debug or error messages in get_temp() ops 2023-03-03 20:45:02 +01:00
gov_bang_bang.c thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions 2023-01-06 14:14:47 +01:00
gov_fair_share.c thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
gov_power_allocator.c thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
gov_step_wise.c thermal: gov_step_wise: Adjust code logic to match comment 2023-04-27 19:17:11 +02:00
gov_user_space.c thermal: gov_user_space: Do not lock thermal zone mutex 2022-08-30 20:18:47 +02:00
hisi_thermal.c thermal/drivers/hisi: Use devm_platform_ioremap_resource() 2023-04-01 20:51:45 +02:00
imx8mm_thermal.c thermal: Use of_property_present() for testing DT property presence 2023-03-30 19:26:44 +02:00
imx_sc_thermal.c thermal/hwmon: Use the right device for devm_thermal_add_hwmon_sysfs() 2023-03-03 20:45:02 +01:00
imx_thermal.c - Add more thermal zone device encapsulation: prevent setting 2023-04-03 20:43:32 +02:00
k3_bandgap.c thermal/hwmon: Use the right device for devm_thermal_add_hwmon_sysfs() 2023-03-03 20:45:02 +01:00
k3_j72xx_bandgap.c thermal/core: Use the thermal zone 'devdata' accessor in thermal located drivers 2023-03-03 20:45:02 +01:00
Kconfig thermal: Allow selecting the bang-bang governor as default 2023-06-26 12:03:13 +02:00
khadas_mcu_fan.c thermal/core: Make cooling device state change private 2021-01-19 22:31:10 +01:00
kirkwood_thermal.c thermal: Remove debug or error messages in get_temp() ops 2023-03-03 20:45:02 +01:00
Makefile thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
max77620_thermal.c thermal: Remove debug or error messages in get_temp() ops 2023-03-03 20:45:02 +01:00
qoriq_thermal.c thermal/hwmon: Use the right device for devm_thermal_add_hwmon_sysfs() 2023-03-03 20:45:02 +01:00
rcar_gen3_thermal.c drivers/thermal/rcar_gen3_thermal: add reading fuses for Gen4 2023-06-26 12:03:13 +02:00
rcar_thermal.c thermal/hwmon: Do not set no_hwmon before calling thermal_add_hwmon_sysfs() 2023-03-03 20:45:02 +01:00
rockchip_thermal.c thermal/drivers/rockchip: use devm_reset_control_array_get_exclusive() 2023-04-07 10:31:33 +02:00
rzg2l_thermal.c thermal/hwmon: Do not set no_hwmon before calling thermal_add_hwmon_sysfs() 2023-03-03 20:45:02 +01:00
spear_thermal.c thermal/drivers/spear: Don't use tz->device but pdev->dev 2023-03-03 20:45:02 +01:00
sprd_thermal.c thermal/core: Use the thermal zone 'devdata' accessor in thermal located drivers 2023-03-03 20:45:02 +01:00
sun8i_thermal.c thermal/hwmon: Use the right device for devm_thermal_add_hwmon_sysfs() 2023-03-03 20:45:02 +01:00
thermal-generic-adc.c thermal: Remove debug or error messages in get_temp() ops 2023-03-03 20:45:02 +01:00
thermal_acpi.c thermal: ACPI: Make helpers retrieve temperature only 2023-02-02 15:26:45 +01:00
thermal_core.c thermal: core: Encapsulate tz->device field 2023-04-27 19:20:12 +02:00
thermal_core.h thermal: Allow selecting the bang-bang governor as default 2023-06-26 12:03:13 +02:00
thermal_helpers.c thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
thermal_hwmon.c thermal: thermal_hwmon: Revert recent message adjustment 2023-03-29 20:40:10 +02:00
thermal_hwmon.h thermal/hwmon: Use the right device for devm_thermal_add_hwmon_sysfs() 2023-03-03 20:45:02 +01:00
thermal_mmio.c thermal/core: Use the thermal zone 'devdata' accessor in thermal located drivers 2023-03-03 20:45:02 +01:00
thermal_netlink.c thermal/core: Fix unregistering netlink at thermal init time 2023-01-25 16:40:39 +01:00
thermal_netlink.h thermal/core: Fix unregistering netlink at thermal init time 2023-01-25 16:40:39 +01:00
thermal_of.c thermal/of: Unexport unused OF functions 2023-04-07 18:36:28 +02:00
thermal_sysfs.c thermal: core: Drop excessive lockdep_assert_held() calls 2023-03-28 20:49:47 +02:00
thermal_trace.h thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
thermal_trace_ipa.h thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
thermal_trip.c thermal/core: Move the thermal trip code to a dedicated file 2023-01-25 16:40:39 +01:00
uniphier_thermal.c thermal/core: Use the thermal zone 'devdata' accessor in thermal located drivers 2023-03-03 20:45:02 +01:00