All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Niklas Söderlund" <niklas.soderlund@ragnatech.se>
To: Daniel Lezcano <daniel.lezcano@linexp.org>
Cc: daniel.lezcano@linaro.org, rafael@kernel.org,
	rui.zhang@intel.com, khilman@baylibre.com, abailon@baylibre.com,
	amitk@kernel.org, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org,
	"open list:RENESAS R-CAR THERMAL DRIVERS" 
	<linux-renesas-soc@vger.kernel.org>
Subject: Re: [PATCH v1 17/33] thermal/drivers/rcar: Switch to new of API
Date: Mon, 25 Jul 2022 01:28:26 +0200	[thread overview]
Message-ID: <Yt3Vmt/AAzqzDzBF@oden.dyn.berto.se> (raw)
In-Reply-To: <Yt3KDSO248WebZ/w@oden.dyn.berto.se>

Hi (again) Daniel,

I figured it out, the thermal zone is disabled after this change. For 
both rcar sensors with the new API thermal_zone_device_enable() is never 
called.

In the old API the zone is enabled in the call chain of 
devm_thermal_zone_of_sensor_register(). While after this change the zone 
is not enabled by the core when calling thermal_zone_device_enable().

If I add a call to thermal_zone_device_enable() together with the new 
API everything works as before. But I'm not sure if the correct solution 
is to add a call to thermal_zone_device_enable() in the sensor drivers 
or in the call chain of the new API?

On 2022-07-25 00:39:10 +0200, Niklas Söderlund wrote:
> Hi Daniel,
> 
> I tested your branch, unfortunately with the same result for 
> rcar_gen3_thermal. Manipulation of emul_temp file do not trigger 
> actions.
> 
> If I on-top of your branch revert:
> 
>     409ca214f4c6bd5b ("thermal/of: Remove old OF code")
>     7b43f76d3428227e ("thermal/drivers/rcar: Switch to new of API")
> 
> I'm able to 'restore' the behavior where I can change the cooling state 
> and trigger the critical trip point using emul_temp to shutdown the 
> board.
> 
> As the change in question also effects the rcar_thermal sensor I gave 
> that a try too. It have no cooling on this system I have so my only 
> test-case is to write a temperature above the critical trip point to 
> emul_temp as see if that shutdown the system.  And just as with 
> rcar_gen3_thermal with your series nothing happens while with the two 
> commits outline above reverted the system shuts down.
> 
>     echo 110000 > /sys/devices/virtual/thermal/thermal_zone0/emul_temp
> 
> If it's any help writing to emul_temp have some effect as the emulated 
> temperature is read back from the temp sysfs while. For rcar_thermal 
> where the critical trip point is 95 degrees,
> 
>     * With this series
>     # grep . /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_*
>     /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_hyst:0
>     /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_temp:95000
>     /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_type:critical
>     # cat /sys/devices/virtual/thermal/thermal_zone0/temp
>     35000
>     # echo 50000 > /sys/devices/virtual/thermal/thermal_zone0/emul_temp
>     # cat /sys/devices/virtual/thermal/thermal_zone0/temp
>     50000
>     # echo 110000 > /sys/devices/virtual/thermal/thermal_zone0/emul_temp
>     # cat /sys/devices/virtual/thermal/thermal_zone0/temp
>     110000
>     *** system alive ***
> 
>     * With this series and the two patches reverted or plain v5.19-rc4
>     # grep .  /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_* 
>     /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_hyst:0
>     /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_temp:95000
>     /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_type:critical
>     # cat /sys/devices/virtual/thermal/thermal_zone0/temp
>     35000
>     # echo 50000 > /sys/devices/virtual/thermal/thermal_zone0/emul_temp
>     # cat /sys/devices/virtual/thermal/thermal_zone0/temp
>     50000
>     # echo 110000 > /sys/devices/virtual/thermal/thermal_zone0/emul_temp
>     [  121.380054] thermal thermal_zone0: cpu-thermal: critical temperature reached, shutting down
>     [  121.388482] reboot: HARDWARE PROTECTION shutdown (Temperature too high)
>     *** system shuts down ***
> 
> And to make it more problematic I don't think the lack of action is 
> limited to the emul_temp interface. With rcar_thermal I lowered the 
> critical trip point value to 45C and used the cpuburn application to 
> generate load and raise the temperature.
> 
> The result mirrors the findings above, with your branch the system do 
> not trigger the critical trip point. If I revert the two commits or run 
> plain v5.19-rc4, once the temperature reaches 45C the critical trip 
> point kicks in and shuts down the system.
> 
> I hope this helps, I'm sorry I can't find the real issue diging in the 
> core changes. I'm happy to help trying to find the root cause for this 
> and I think the idea behind the new API is good.
> 
> On 2022-07-24 23:11:47 +0200, Daniel Lezcano wrote:
> > 
> > Hi Niklas,
> > 
> > I give another try but failed to reproduce the issue. Perhaps my board has a
> > path different from yours.
> > 
> > Thanks for proposing to test the series. I've uploaded the branch here:
> > 
> > https://github.com/dlezcano/linux-thermal
> > 
> > 
> > On 24/07/2022 21:00, Niklas Söderlund wrote:
> > > Hi Daniel,
> > > 
> > > On 2022-07-24 20:27:54 +0200, Daniel Lezcano wrote:
> > > > Hi Niklas,
> > > > 
> > > > I tried to reproduce the issue but without success.
> > > > 
> > > > What sensor are you using ?
> > > I was using rcar_gen3_thermal.
> > > 
> > > I did my tests starting on v5.19-rc7 and then picked '[PATCH v5 00/12]
> > > thermal OF rework' from [1] and finally applied this full series on-top
> > > of that. If you have a branch or some specific test you wish me to try
> > > I'm happy to so.
> > > 
> > > 1. https://lore.kernel.org/lkml/20220710123512.1714714-1-daniel.lezcano@linexp.org/
> > > 
> > > > 
> > > > On 19/07/2022 11:10, Niklas Söderlund wrote:
> > > > > Hi Daniel,
> > > > > 
> > > > > Thanks for your work.
> > > > > 
> > > > > On 2022-07-10 23:24:07 +0200, Daniel Lezcano wrote:
> > > > > > The thermal OF code has a new API allowing to migrate the OF
> > > > > > initialization to a simpler approach.
> > > > > > 
> > > > > > Use this new API.
> > > > > I tested this together with the series it depends on and while
> > > > > temperature monitoring seems to work fine it breaks the emul_temp
> > > > > interface (/sys/class/thermal/thermal_zone2/emul_temp).
> > > > > 
> > > > > Before this change I can write a temperature to this file and have it
> > > > > trigger actions, in my test-case changing the cooling state, which I
> > > > > observe in /sys/class/thermal/cooling_device0/cur_state.
> > > > > 
> > > > > Likewise before this change I could trip the critical trip-point that
> > > > > would power off the board using the emul_temp interface, this too no
> > > > > longer works,
> > > > > 
> > > > >       echo 120000 > /sys/class/thermal/thermal_zone2/emul_temp
> > > > > 
> > > > > Is this an intention change of the new API?
> > > > 
> > > > 
> > > > 
> > 
> 
> -- 
> Kind Regards,
> Niklas Söderlund

-- 
Kind Regards,
Niklas Söderlund

  reply	other threads:[~2022-07-24 23:28 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-10 21:23 [PATCH v1 00/33] New thermal OF code Daniel Lezcano
2022-07-10 21:23 ` [PATCH v1 01/33] thermal/of: Rework the thermal device tree initialization Daniel Lezcano
2022-07-12  2:40   ` Guenter Roeck
2022-07-10 21:23 ` [PATCH v1 02/33] thermal/of: Make new code and old code co-exist Daniel Lezcano
2022-07-10 21:23 ` [PATCH v1 03/33] thermal/drivers/rockchip: Switch to new of API Daniel Lezcano
2022-07-10 21:23   ` Daniel Lezcano
2022-07-10 21:23   ` Daniel Lezcano
2022-07-10 21:23 ` [PATCH v1 04/33] thermal/drivers/uniphier: " Daniel Lezcano
2022-07-10 21:23   ` Daniel Lezcano
2022-07-10 21:23 ` [PATCH v1 05/33] thermal/drivers/generic-adc: " Daniel Lezcano
2022-07-10 21:23 ` [PATCH v1 06/33] thermal/drivers/mmio: " Daniel Lezcano
2022-07-10 21:23 ` [PATCH v1 07/33] thermal/drivers/tegra: " Daniel Lezcano
2022-07-10 21:23 ` [PATCH v1 08/33] thermal/drivers/sun8i: " Daniel Lezcano
2022-07-10 21:23   ` Daniel Lezcano
2022-07-10 21:23 ` [PATCH v1 09/33] thermal/drivers/sprd: " Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 10/33] thermal/drivers/broadcom: " Daniel Lezcano
2022-07-10 21:24   ` Daniel Lezcano
2022-07-11  2:37   ` Florian Fainelli
2022-07-11  2:37     ` Florian Fainelli
2022-07-10 21:24 ` [PATCH v1 11/33] thermal/drivers/qcom: " Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 12/33] thermal/drivers/st: " Daniel Lezcano
2022-07-10 21:24   ` Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 13/33] thermal/drivers/amlogic: " Daniel Lezcano
2022-07-10 21:24   ` Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 14/33] thermal/drivers/armada: " Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 15/33] thermal/drivers/db8500: " Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 16/33] thermal/drivers/imx: " Daniel Lezcano
2022-07-10 21:24   ` Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 17/33] thermal/drivers/rcar: " Daniel Lezcano
2022-07-19  9:10   ` Niklas Söderlund
2022-07-22 19:34     ` Daniel Lezcano
2022-07-24 18:27     ` Daniel Lezcano
2022-07-24 19:00       ` Niklas Söderlund
2022-07-24 21:11         ` Daniel Lezcano
2022-07-24 22:39           ` Niklas Söderlund
2022-07-24 23:28             ` Niklas Söderlund [this message]
2022-07-25 10:00               ` Daniel Lezcano
2022-07-25 10:38                 ` Niklas Söderlund
2022-07-25 21:09                   ` Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 18/33] thermal/drivers/rzg2l: " Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 19/33] thermal/drivers/qoriq: " Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 20/33] thermal/drivers/mtk: " Daniel Lezcano
2022-07-10 21:24   ` Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 21/33] thermal/drivers/banggap: " Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 22/33] thermal/drivers/maxim: " Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 23/33] thermal/drivers/hisilicon: " Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 24/33] thermal/drivers/ti-soc: " Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 25/33] ata/drivers/ahci_imx: Switch to new of thermal API Daniel Lezcano
2022-07-10 21:24   ` Daniel Lezcano
2022-07-10 23:18   ` Damien Le Moal
2022-07-10 23:18     ` Damien Le Moal
2022-07-11  9:14     ` Daniel Lezcano
2022-07-11  9:14       ` Daniel Lezcano
2022-07-11 10:37       ` Damien Le Moal
2022-07-11 10:37         ` Damien Le Moal
2022-07-10 21:24 ` [PATCH v1 26/33] hwmon/drivers: " Daniel Lezcano
2022-07-13 13:43   ` Guenter Roeck
2022-07-10 21:24 ` [PATCH v1 27/33] iio/drivers/sun4i_gpadc: " Daniel Lezcano
2022-07-10 21:24   ` Daniel Lezcano
2022-07-11  7:52   ` Lars-Peter Clausen
2022-07-11  7:52     ` Lars-Peter Clausen
2022-07-10 21:24 ` [PATCH v1 28/33] input/drivers/touchscreen_sun4i: " Daniel Lezcano
2022-07-10 21:24   ` Daniel Lezcano
2022-07-10 21:24   ` Daniel Lezcano
2022-07-11  3:28   ` Dmitry Torokhov
2022-07-11  3:28     ` Dmitry Torokhov
2022-07-10 21:24 ` [PATCH v1 29/33] regulator/drivers/max8976: " Daniel Lezcano
2022-07-11 11:02   ` Mark Brown
2022-07-10 21:24 ` [PATCH v1 30/33] thermal/drivers/bcm2835: " Daniel Lezcano
2022-07-10 21:24   ` Daniel Lezcano
2022-07-11  2:40   ` Florian Fainelli
2022-07-11  2:40     ` Florian Fainelli
2022-07-10 21:24 ` [PATCH v1 31/33] thermal/drivers/samsung: " Daniel Lezcano
2022-07-10 21:24   ` Daniel Lezcano
2022-07-11 10:41   ` Krzysztof Kozlowski
2022-07-11 10:41     ` Krzysztof Kozlowski
2022-07-10 21:24 ` [PATCH v1 32/33] thermal/core: Move set_trip_temp ops to the sysfs code Daniel Lezcano
2022-07-10 21:24 ` [PATCH v1 33/33] thermal/of: Remove old OF code Daniel Lezcano

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=Yt3Vmt/AAzqzDzBF@oden.dyn.berto.se \
    --to=niklas.soderlund@ragnatech.se \
    --cc=abailon@baylibre.com \
    --cc=amitk@kernel.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=daniel.lezcano@linexp.org \
    --cc=khilman@baylibre.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=rui.zhang@intel.com \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.