Re: [PATCH v8 0/6] Add LVTS architecture thermal

From: Nícolas F. R. A. Prado
Date: Fri Jul 29 2022 - 16:33:22 EST


On Tue, Jul 26, 2022 at 03:55:00PM +0200, Balsam CHIHI wrote:
> This series moves thermal files related to MediaTek to the mediatek folder.
> And introduce the new architecture LVTS (low voltage thermal sensor) driver to report
> the highest temperature in the SoC and record the highest temperature sensor,
> each sensor as a hot zone.
> The LVTS body is divided into two parts, the LVTS controller and the LVTS device.
> The LVTS controller can connect up to 4 LVTS devices, and each LVTS device
> can connect up to 7 TSMCUs.
>
> The architecture will be the first to be used on mt8192 and mt8195.
>
> Changelog:
> Changes in v8:
> - Fix Coding style issues
> - Rebase to kernel-5.18.rc8
> - Rebase on top of these series :
> - [RESEND v8 00/19] Cleanup MediaTek clk reset drivers and support SoCs :
> https://lore.kernel.org/all/20220523093346.28493-1-rex-bc.chen@xxxxxxxxxxxx/
> - [PATCH v6 00/12] thermal OF rework :
> https://lore.kernel.org/all/20220722200007.1839356-1-daniel.lezcano@xxxxxxxxxx/
> - Add multi-instance support and SRC Modularization :
> - Rewrite DTS and DT bindings
> - Add DT bindings for MT8195
> - One LVTS node for each HW Domain (AP and MCU)
> - One SW Instance for each HW Domain, for each SoC
> - Add an SRC file for each SoC (MT8192 and MT8195)
> - Add a Kconfig sub-menu entry for each SoC
> - Shrink LVTS instance iospace length from 0x1000 to 0x400
> - Replace platform_get_resource by platform_get_mem_or_io to get Base Address
> - Replace platform_get_resource by platform_get_irq to get Interrupt Number
> - Add "lvts_" prefix to functions and structs
>
> Changes in v7:
> - Fix coding style issues
> - Rewrite dt bindings
> - was not accurate
> - Use mt8195 for example (instead of mt8192)
> - Rename mt6873 to mt8192
> - Remove clock name
> - Rebased on top of to series:
> - https://patchwork.kernel.org/project/linux-mediatek/list/?series=637849
> - https://patchwork.kernel.org/project/linux-pm/list/?series=639386
>
> Changes in v6:
> - Remove temperature aggregation (it will be added in another series)
> - Update the way to read the temperature (read one sensor instead of all)
> - Add support of mt8195
>
> Changes in v5:
> - Use 'git mv' for the relocated file.
>
> Changes in v4:
> - Rebase to kernel-v5.13-rc1
> - Resend
>
> Changes in v3:
> - change the expression in the lvts_temp_to_raw to dev_s64.
>
> Changes in v2:
> - Rebase to kernel-5.11-rc1.
> - sort headers
> - remove initial value 0 of msr_raw in the lvts_temp_to_raw.
> - disconstruct the api of lvts_read_tc_msr_raw.
> - add the initial value max_temp = 0 and compare e.q.
> in the lvts_read_all_tc_temperature.
> - add the return with an invalid number in the lvts_init.
>
> This series depends on [1] and [2].
>
> [1]https://lore.kernel.org/all/20220523093346.28493-1-rex-bc.chen@xxxxxxxxxxxx/
> [2]https://lore.kernel.org/all/20220722200007.1839356-1-daniel.lezcano@xxxxxxxxxx/
>
> Alexandre Bailon (2):
> dt-bindings: thermal: Add binding document for LVTS thermal
> controllers
> arm64: dts: mt8195: Add efuse node to mt8195
>
> Michael Kao (3):
> thermal: mediatek: Relocate driver to mediatek folder
> thermal: mediatek: Add LVTS drivers for SoC theraml zones for mt8192
> thermal: mediatek: Add thermal zone settings for mt8195
>
> Tinghan Shen (1):
> arm64: dts: mt8195: Add thermal zone
>
> .../thermal/mediatek,mt8192-lvts.yaml | 73 ++
> .../thermal/mediatek,mt8195-lvts.yaml | 75 ++
> arch/arm64/boot/dts/mediatek/mt8195.dtsi | 131 ++-
> drivers/thermal/Kconfig | 14 +-
> drivers/thermal/Makefile | 2 +-
> drivers/thermal/mediatek/Kconfig | 62 ++
> drivers/thermal/mediatek/Makefile | 4 +
> drivers/thermal/mediatek/lvts_mt8192.c | 241 +++++
> drivers/thermal/mediatek/lvts_mt8195.c | 253 +++++
> .../{mtk_thermal.c => mediatek/soc_temp.c} | 2 +-
> drivers/thermal/mediatek/soc_temp_lvts.c | 928 ++++++++++++++++++
> drivers/thermal/mediatek/soc_temp_lvts.h | 366 +++++++
> 12 files changed, 2138 insertions(+), 13 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/thermal/mediatek,mt8192-lvts.yaml
> create mode 100644 Documentation/devicetree/bindings/thermal/mediatek,mt8195-lvts.yaml
> create mode 100644 drivers/thermal/mediatek/Kconfig
> create mode 100644 drivers/thermal/mediatek/Makefile
> create mode 100644 drivers/thermal/mediatek/lvts_mt8192.c
> create mode 100644 drivers/thermal/mediatek/lvts_mt8195.c
> rename drivers/thermal/{mtk_thermal.c => mediatek/soc_temp.c} (99%)
> create mode 100644 drivers/thermal/mediatek/soc_temp_lvts.c
> create mode 100644 drivers/thermal/mediatek/soc_temp_lvts.h

Given that you're adding a driver that supports both mt8192 and mt8195, and also
the DT thermal nodes for mt8195, maybe you could the DT nodes for mt8192 here as
well?

Thanks,
Nícolas