thermal/drivers/qcom: Add support for LMh driver
authorThara Gopinath <thara.gopinath@linaro.org>
Mon, 9 Aug 2021 19:16:00 +0000 (15:16 -0400)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Wed, 18 Aug 2021 07:32:25 +0000 (09:32 +0200)
commit53bca371cdf7addc1e93e1b99285b3d3935685ec
tree0092f732d97acf201e01db7fdd399bfd1d788dc1
parentde3438c47a8ddc75548e62a03736a9321c2b7bac
thermal/drivers/qcom: Add support for LMh driver

Driver enabling various pieces of Limits Management Hardware(LMh) for cpu
cluster0 and cpu cluster1 namely kick starting monitoring of temperature,
current, battery current violations, enabling reliability algorithm and
setting up various temperature limits.

The following has been explained in the cover letter. I am including this
here so that this remains in the commit message as well.

LMh is a hardware infrastructure on some Qualcomm SoCs that can enforce
temperature and current limits as programmed by software for certain IPs
like CPU. On many newer LMh is configured by firmware/TZ and no programming
is needed from the kernel side. But on certain SoCs like sdm845 the
firmware does not do a complete programming of the h/w. On such soc's
kernel software has to explicitly set up the temperature limits and turn on
various monitoring and enforcing algorithms on the hardware.

Tested-by: Steev Klimaszewski <steev@kali.org> # Lenovo Yoga C630
Signed-off-by: Thara Gopinath <thara.gopinath@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20210809191605.3742979-3-thara.gopinath@linaro.org
drivers/thermal/qcom/Kconfig
drivers/thermal/qcom/Makefile
drivers/thermal/qcom/lmh.c [new file with mode: 0644]