linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lukasz Luba <l.luba@partner.samsung.com>
To: Zhang Rui <rui.zhang@intel.com>,
	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: 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
Subject: Re: [PATCH v2 00/11] thermal: add new flag irq-mode for trip point
Date: Wed, 5 Dec 2018 16:33:37 +0100	[thread overview]
Message-ID: <ffca9e30-7a7c-7f61-24a1-016c9ea1e611@partner.samsung.com> (raw)
In-Reply-To: <1544022486.2841.42.camel@intel.com>

Hi Rui,

On 12/5/18 4:08 PM, Zhang Rui wrote:
> On 三, 2018-11-07 at 18:09 +0100, Lukasz Luba wrote:
>> 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.
> 
> we have two timers, one for polling, and one for passive cooling.
> I think we are talking about passive cooling timer only, right?
> And the real problem is that we have multiple passive trip points and
> only part of them support irq_mode, and we don't want to start the
> passive polling timer for all of the passive trip points.
Yes exactly, we don't want to poll all of them by starting 'passive 
polling timer'.

Regards,
Lukasz
> 
> thanks,
> rui
> 
>>   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(-)
>>
> 
> 

      reply	other threads:[~2018-12-05 15:33 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
     [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 [this message]

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=ffca9e30-7a7c-7f61-24a1-016c9ea1e611@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).