Re: [PATCH v6 4/6] arm64: dts: mediatek: mt8186: add default thermal zones

From: Julien Panis
Date: Wed May 29 2024 - 05:12:28 EST


On 5/29/24 10:33, Chen-Yu Tsai wrote:
On Wed, May 29, 2024 at 4:17 PM AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx> wrote:
Il 29/05/24 07:57, Julien Panis ha scritto:
From: Nicolas Pitre <npitre@xxxxxxxxxxxx>

Inspired by the vendor kernel but adapted to the upstream thermal
driver version.

Signed-off-by: Nicolas Pitre <npitre@xxxxxxxxxxxx>
Signed-off-by: Julien Panis <jpanis@xxxxxxxxxxxx>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>
I'm getting some crazy readings which would cause the machine to
immediately shutdown during boot. Anyone else see this? Or maybe
my device has bad calibration data?

gpu_thermal-virtual-0
Adapter: Virtual device
temp1: +229.7 C

nna_thermal-virtual-0
Adapter: Virtual device
temp1: +229.7 C

cpu_big0_thermal-virtual-0
Adapter: Virtual device
temp1: -7.2 C

cpu_little2_thermal-virtual-0
Adapter: Virtual device
temp1: +157.2 C

cpu_little0_thermal-virtual-0
Adapter: Virtual device
temp1: -277.1 C

adsp_thermal-virtual-0
Adapter: Virtual device
temp1: +229.7 C

cpu_big1_thermal-virtual-0
Adapter: Virtual device
temp1: +229.7 C

cam_thermal-virtual-0
Adapter: Virtual device
temp1: +45.4 C

cpu_little1_thermal-virtual-0
Adapter: Virtual device
temp1: -241.8 C

It's likely that your device has bad calibration data indeed. We observed the same
behavior on the mt8186 device we used (a Corsola) and finally realized that the
golden temperature was 0 (device not properly calibrated).

To make a comparison, we run chromiumos v5.15 and dmesg output was:
'This sample is not calibrated, fake !!'
Additional debugging revealed that the golden temp was actually 0. As a result,
chromiumos v5.15 does not use the calibration data. It uses some default values
instead. That's why you can observe good temperatures with chromiumos v5.15
even with a device that is not calibrated.

This feature is not implemented in the driver upstream, so you need a device
properly calibrated to get good temperatures with it. When we forced this
driver using the default values used by chromiumos v5.15 instead of real calib
data (temporarily, just for testing), the temperatures were good.

Please make sure your device is properly calibrated: 0 < golden temp < 62.

Julien