Message ID | 1557494826-6044-2-git-send-email-michael.kao@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add Mediatek thermal dirver and dtsi | expand |
On Fri, May 10, 2019 at 9:27 PM michael.kao <michael.kao@mediatek.com> wrote: > + > + tzts1: tzts1 { > + polling-delay-passive = <0>; > + polling-delay = <0>; > + thermal-sensors = <&thermal 1>; > + sustainable-power = <0>; > + trips {}; > + cooling-maps {}; > + }; > + Is 0 a valid initial sustainable-power setting? Since we'll still get warning[1] about this, though it might not be harmful. If 0 is a valid setting, maybe we should consider showing the warning of not setting this property in [2]? [1] https://elixir.bootlin.com/linux/latest/source/drivers/thermal/power_allocator.c#L570 [2] https://elixir.bootlin.com/linux/latest/source/drivers/thermal/of-thermal.c#L1049
On Thu, May 30, 2019 at 02:27:28PM +0800, Hsin-Yi Wang wrote: > On Fri, May 10, 2019 at 9:27 PM michael.kao <michael.kao@mediatek.com> wrote: > > > + > > + tzts1: tzts1 { > > + polling-delay-passive = <0>; > > + polling-delay = <0>; > > + thermal-sensors = <&thermal 1>; > > + sustainable-power = <0>; > > + trips {}; > > + cooling-maps {}; > > + }; > > + > Is 0 a valid initial sustainable-power setting? Since we'll still get > warning[1] about this, though it might not be harmful. > > If 0 is a valid setting, maybe we should consider showing the warning > of not setting this property in [2]? > > [1] https://elixir.bootlin.com/linux/latest/source/drivers/thermal/power_allocator.c#L570 > [2] https://elixir.bootlin.com/linux/latest/source/drivers/thermal/of-thermal.c#L1049 IIUC a value of 0 is pointless, the thermal framework will still use an estimated value: https://elixir.bootlin.com/linux/v5.1.5/source/drivers/thermal/power_allocator.c#L203 As commented on v1 (https://patchwork.kernel.org/patch/10926519/#22620905) the value of the property may depend on the thermal characteristics of the device, there is not one correct value per SoC/core. If it is specified at SoC level device makers should be aware that they might have to override it for 'optimal' behavior on their device.
diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi index 926df75..52ad47e 100644 --- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi @@ -334,6 +334,88 @@ status = "disabled"; }; + thermal: thermal@1100b000 { + #thermal-sensor-cells = <1>; + compatible = "mediatek,mt8183-thermal"; + reg = <0 0x1100b000 0 0x1000>; + interrupts = <0 76 IRQ_TYPE_LEVEL_LOW>; + clocks = <&infracfg CLK_INFRA_THERM>, + <&infracfg CLK_INFRA_AUXADC>; + clock-names = "therm", "auxadc"; + resets = <&infracfg MT8183_INFRACFG_AO_THERM_SW_RST>; + mediatek,auxadc = <&auxadc>; + mediatek,apmixedsys = <&apmixedsys>; + mediatek,hw-reset-temp = <117000>; + nvmem-cells = <&thermal_calibration>; + nvmem-cell-names = "calibration-data"; + }; + + thermal-zones { + cpu_thermal: cpu_thermal { + polling-delay-passive = <1000>; + polling-delay = <1000>; + thermal-sensors = <&thermal 0>; + sustainable-power = <1500>; + }; + + /* The tzts1 ~ tzts6 don't need to polling */ + /* The tzts1 ~ tzts6 don't need to thermal throttle */ + + tzts1: tzts1 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&thermal 1>; + sustainable-power = <0>; + trips {}; + cooling-maps {}; + }; + + tzts2: tzts2 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&thermal 2>; + sustainable-power = <0>; + trips {}; + cooling-maps {}; + }; + + tzts3: tzts3 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&thermal 3>; + sustainable-power = <0>; + trips {}; + cooling-maps {}; + }; + + tzts4: tzts4 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&thermal 4>; + sustainable-power = <0>; + trips {}; + cooling-maps {}; + }; + + tzts5: tzts5 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&thermal 5>; + sustainable-power = <0>; + trips {}; + cooling-maps {}; + }; + + tztsABB: tztsABB { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&thermal 6>; + sustainable-power = <0>; + trips {}; + cooling-maps {}; + }; + }; + audiosys: syscon@11220000 { compatible = "mediatek,mt8183-audiosys", "syscon"; reg = <0 0x11220000 0 0x1000>; @@ -368,6 +450,9 @@ compatible = "mediatek,mt8183-efuse", "mediatek,efuse"; reg = <0 0x11f10000 0 0x1000>; + thermal_calibration: calib@180 { + reg = <0x180 0xc>; + }; }; mfgcfg: syscon@13000000 {
Add thermal zone node to Mediatek MT8183 dts file. Signed-off-by: Michael Kao <michael.kao@mediatek.com> --- arch/arm64/boot/dts/mediatek/mt8183.dtsi | 85 ++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+)