From: Lukasz Luba <l.luba@partner.samsung.com> To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Cc: rui.zhang@intel.com, edubezval@gmail.com, daniel.lezcano@linaro.org, robh+dt@kernel.org, mark.rutland@arm.com, corbet@lwn.net, b.zolnierkie@samsung.com, krzk@kernel.org, Lukasz Luba <l.luba@partner.samsung.com> Subject: [PATCH v2 00/11] thermal: add new flag irq-mode for trip point Date: Wed, 7 Nov 2018 18:09:42 +0100 [thread overview] Message-ID: <1541610593-28542-1-git-send-email-l.luba@partner.samsung.com> (raw) In-Reply-To: <CGME20181107171019eucas1p1fcb1f44e00265434548d901479f2ea94@eucas1p1.samsung.com> Hi all, This patch set adds a new flag and mechanism in thermal trip points in DT. The old implementation in thermal zone in DT sets the same configuration for all internal trip points. It does not work for all HW. There are SoCs which support IRQs for some trip points (i.e. Exynos 4 has 4 trip points with IRQs). For additional one defined inside the thermal zone there is a need of 'polling'. When developer adds polling mode settings inside the thermal zone, all the trip points will be registered for polling, even those supporting IRQs, which does not make sense. Thus, developers create workarounds, which are confusing for some other developers. To workaround, people declare some trip points as 'active' (those with IRQ support). It allows to bypass polling mode in thermal framework applied for all thermal zone's trip points. Thermal framework defines 4 types of trip points. The 'passive' means passive cooling using DVFS, 'active' is designed for fan and other devices actively changing the outside conditions. Therefore, a workaround mentioned earlier is confusing when someone does not know about the framework limitations. This patch set tries to solve the issue by adding one flag inside the trip point: 'irq-mode;'. The trip point 'passive' declared in DT with explicit flag 'irq-mode;' will not register itself as polling mode. Thermal framework will skip it during scheduling next read out work. The old global-polling-mode-configuration-inside-thermal-zone is still valid. Patch set does not break existing design for trip points which do not have 'irq-mode' flag - they will use polling. As an example please check patch #10 for Exynos4 SoC family, where there is 4 HW supported trip points and there is a need of 6. The rest 2 are declared as 'passive' without 'irq-mode;' flag, which means polling mode needed for them. Patch #1 is a small cleanup in thermal framework. Change log: v2 - changed description in cover letter - change commit messages according to Krzysztof comments - rebase on top of current mainline (v4.20-rc1) Regards, Lukasz Luba Lukasz Luba (11): thermal: remove unused function parameter thermal: add irq-mode configuration for trip point thermal: add new sysfs file for irq-mode Doc: thermal: new irq-mode for trip point Doc: DT: thermal: new irq-mode for trip point arm64: dts: exynos5433: add support for thermal trip irq-mode arm64: dts: exynos7: add support for thermal trip irq-mode arm: dts: exynos4: add support for thermal trip irq-mode arm: dts: exynos5420: add support for thermal trip irq-mode arm: dts: exynos5422: add support for thermal trip irq-mode arm: dts: exynos5410: add support for thermal trip irq-mode .../devicetree/bindings/thermal/thermal.txt | 7 ++ Documentation/thermal/sysfs-api.txt | 9 ++ arch/arm/boot/dts/exynos4-cpu-thermal.dtsi | 10 +- arch/arm/boot/dts/exynos5410-odroidxu.dts | 10 +- arch/arm/boot/dts/exynos5420-trip-points.dtsi | 10 +- arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 40 +++++--- arch/arm64/boot/dts/exynos/exynos5433-tmu.dtsi | 105 ++++++++++++++------- .../arm64/boot/dts/exynos/exynos7-trip-points.dtsi | 8 ++ drivers/thermal/of-thermal.c | 17 ++++ drivers/thermal/thermal_core.c | 16 ++-- drivers/thermal/thermal_sysfs.c | 53 ++++++++++- include/linux/thermal.h | 5 + 12 files changed, 226 insertions(+), 64 deletions(-) -- 2.7.4
next parent reply other threads:[~2018-11-07 17:10 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <CGME20181107171019eucas1p1fcb1f44e00265434548d901479f2ea94@eucas1p1.samsung.com> 2018-11-07 17:09 ` Lukasz Luba [this message] [not found] ` <CGME20181107171022eucas1p1c2431f0561d9b1357ab569ab77deca34@eucas1p1.samsung.com> 2018-11-07 17:09 ` [PATCH v2 01/11] thermal: remove unused function parameter Lukasz Luba [not found] ` <CGME20181107171036eucas1p13253d56b463c8f888ab8f8e418635297@eucas1p1.samsung.com> 2018-11-07 17:09 ` [PATCH v2 02/11] thermal: add irq-mode configuration for trip point Lukasz Luba 2018-12-05 15:09 ` Zhang Rui 2018-12-06 19:18 ` Lukasz Luba 2018-12-06 19:55 ` Lukasz Luba 2019-01-10 14:20 ` Zhang Rui [not found] ` <CGME20181107171037eucas1p1b475d186830d4401b50fcd2c16781f92@eucas1p1.samsung.com> 2018-11-07 17:09 ` [PATCH v2 03/11] thermal: add new sysfs file for irq-mode Lukasz Luba [not found] ` <CGME20181107171038eucas1p1eb5dce12a1f5f7a3587f82f8396fa075@eucas1p1.samsung.com> 2018-11-07 17:09 ` [PATCH v2 04/11] Doc: thermal: new irq-mode for trip point Lukasz Luba [not found] ` <CGME20181107171039eucas1p2227bd4bc573fd0d2a3a97986004be16b@eucas1p2.samsung.com> 2018-11-07 17:09 ` [PATCH v2 05/11] Doc: DT: " Lukasz Luba 2018-11-12 8:51 ` Krzysztof Kozlowski 2018-11-13 10:06 ` Lukasz Luba [not found] ` <5bea0ecd.1c69fb81.d5613.1c9e@mx.google.com> 2018-11-13 10:13 ` Lukasz Luba [not found] ` <CGME20181107171041eucas1p1a3cf91435b9071fd6e6f84101ebbcd9f@eucas1p1.samsung.com> 2018-11-07 17:09 ` [PATCH v2 06/11] arm64: dts: exynos5433: add support for thermal trip irq-mode Lukasz Luba 2018-11-12 9:00 ` Krzysztof Kozlowski 2018-11-13 10:10 ` Lukasz Luba [not found] ` <CGME20181107171042eucas1p1675eb589f3951e516461a0a775ee87da@eucas1p1.samsung.com> 2018-11-07 17:09 ` [PATCH v2 07/11] arm64: dts: exynos7: " Lukasz Luba [not found] ` <CGME20181107171043eucas1p16be3fa901c7bceb129c70fc81dba6e48@eucas1p1.samsung.com> 2018-11-07 17:09 ` [PATCH v2 08/11] arm: dts: exynos4: " Lukasz Luba [not found] ` <CGME20181107171044eucas1p198434e21cf21ee754302615a6a8f3c20@eucas1p1.samsung.com> 2018-11-07 17:09 ` [PATCH v2 09/11] arm: dts: exynos5420: " Lukasz Luba [not found] ` <CGME20181107171045eucas1p26ec5feb1b2a397971c919592f6d87b40@eucas1p2.samsung.com> 2018-11-07 17:09 ` [PATCH v2 10/11] arm: dts: exynos5422: " Lukasz Luba [not found] ` <CGME20181107171046eucas1p1649bcf14a88ef9dd183724dde3a98f8c@eucas1p1.samsung.com> 2018-11-07 17:09 ` [PATCH v2 11/11] arm: dts: exynos5410: " Lukasz Luba 2018-12-05 15:08 ` [PATCH v2 00/11] thermal: add new flag irq-mode for trip point Zhang Rui 2018-12-05 15:33 ` Lukasz Luba
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1541610593-28542-1-git-send-email-l.luba@partner.samsung.com \ --to=l.luba@partner.samsung.com \ --cc=b.zolnierkie@samsung.com \ --cc=corbet@lwn.net \ --cc=daniel.lezcano@linaro.org \ --cc=devicetree@vger.kernel.org \ --cc=edubezval@gmail.com \ --cc=krzk@kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-doc@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=robh+dt@kernel.org \ --cc=rui.zhang@intel.com \ --subject='Re: [PATCH v2 00/11] thermal: add new flag irq-mode for trip point' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).