<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pm24.git/drivers/thermal, branch cpufreq-rust</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>https://git.kobert.dev/pm24.git/atom/drivers/thermal?h=cpufreq-rust</id>
<link rel='self' href='https://git.kobert.dev/pm24.git/atom/drivers/thermal?h=cpufreq-rust'/>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/'/>
<updated>2025-01-20T12:10:15Z</updated>
<entry>
<title>Merge branch 'thermal-intel'</title>
<updated>2025-01-20T12:10:15Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2025-01-20T12:10:15Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=2dc748695568a02199e813d408a8f6f58919f4bd'/>
<id>urn:sha1:2dc748695568a02199e813d408a8f6f58919f4bd</id>
<content type='text'>
Merge updates of Intel thermal drivers for 6.14:

 - Add support for Panther Lake processors in multiple places (Zhang
   Rui, Srinivas Pandruvada).

 - Remove explicit user_space governor selection from Intel thermal
   drivers (Srinivas Pandruvada).

* thermal-intel:
  thermal: intel: Fix compile issue when CONFIG_NET is not defined
  thermal: intel: int340x: Panther Lake power floor and workload hint support
  thermal: intel: int340x: Panther Lake DLVR support
  thermal: intel: Remove explicit user_space governor selection
  ACPI: DPTF: Support Panther Lake
  thermal: intel: int340x: processor: Enable MMIO RAPL for Panther Lake
  powercap: intel_rapl: Add support for Panther Lake platform
</content>
</entry>
<entry>
<title>thermal: core: Rename function argument related to trip crossing</title>
<updated>2025-01-17T17:48:58Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2025-01-16T19:31:56Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=0ac66e512f13452d31e20d12546dc0b81a0ec713'/>
<id>urn:sha1:0ac66e512f13452d31e20d12546dc0b81a0ec713</id>
<content type='text'>
Rename the 'crossed_up' function argument to 'upward', which is more
proper English and a better match for representing temperature change
direction, everywhere in the code.

No functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Lukasz Luba &lt;lukasz.luba@arm.com&gt;
Link: https://patch.msgid.link/2360961.ElGaqSPkdT@rjwysocki.net
[ rjw: Rebased ]
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>thermal: gov_bang_bang: Relocate regulation logic description</title>
<updated>2025-01-17T17:48:58Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2025-01-16T19:31:11Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=e86001d6d09ddd93237bfcbc2dcfc01230f6b7a9'/>
<id>urn:sha1:e86001d6d09ddd93237bfcbc2dcfc01230f6b7a9</id>
<content type='text'>
Move the regulation logic description from the bang_bang_trip_crossed()
kerneldoc to the preamble.

No functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Lukasz Luba &lt;lukasz.luba@arm.com&gt;
Link: https://patch.msgid.link/4987649.31r3eYUQgx@rjwysocki.net
[ rjw: Removed a trailing whitespace ]
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>thermal: core: Rename callback functions in two governors</title>
<updated>2025-01-17T17:48:58Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2025-01-16T19:30:27Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=06354d7a619f9e8abfdbc21595605875f12d5f14'/>
<id>urn:sha1:06354d7a619f9e8abfdbc21595605875f12d5f14</id>
<content type='text'>
The names of :trip_crossed() callback functions in the Bang-bang and
User-space thermal governors don't match their current purpose any
more after previous changes, so rename them.

No functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Lukasz Luba &lt;lukasz.luba@arm.com&gt;
Link: https://patch.msgid.link/5859084.DvuYhMxLoT@rjwysocki.net
</content>
</entry>
<entry>
<title>thermal: of: fix OF node leak in of_thermal_zone_find()</title>
<updated>2025-01-07T19:05:32Z</updated>
<author>
<name>Joe Hattori</name>
<email>joe@pf.is.s.u-tokyo.ac.jp</email>
</author>
<published>2024-12-24T03:18:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=9164e0912af206a72ddac4915f7784e470a04ace'/>
<id>urn:sha1:9164e0912af206a72ddac4915f7784e470a04ace</id>
<content type='text'>
of_thermal_zone_find() calls of_parse_phandle_with_args(), but does not
release the OF node reference obtained by it.

Add a of_node_put() call when the call is successful.

Fixes: 3fd6d6e2b4e8 ("thermal/of: Rework the thermal device tree initialization")
Signed-off-by: Joe Hattori &lt;joe@pf.is.s.u-tokyo.ac.jp&gt;
Link: https://patch.msgid.link/20241224031809.950461-1-joe@pf.is.s.u-tokyo.ac.jp
[ rjw: Changelog edit ]
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>thermal: intel: Fix compile issue when CONFIG_NET is not defined</title>
<updated>2024-12-19T11:35:46Z</updated>
<author>
<name>Srinivas Pandruvada</name>
<email>srinivas.pandruvada@linux.intel.com</email>
</author>
<published>2024-12-18T21:44:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=207a792d01603faae08d9bd82846bd99c42c30cc'/>
<id>urn:sha1:207a792d01603faae08d9bd82846bd99c42c30cc</id>
<content type='text'>
If CONFIG_NET is not defined then THERMAL_NETLINK can't be selected.

Hence add dependency on CONFIG_NET. Othewise it will generate compile
errors while compiling thermal_netlink.c.

Fixes: 4596cbea0ed2 ("thermal: intel: Remove explicit user_space governor selection")
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Signed-off-by: Srinivas Pandruvada &lt;srinivas.pandruvada@linux.intel.com&gt;
Link: https://patch.msgid.link/20241218214444.1904650-1-srinivas.pandruvada@linux.intel.com
[ rjw: Merge the "depends on" lines ]
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>thermal: intel: int340x: Panther Lake power floor and workload hint support</title>
<updated>2024-12-18T19:43:17Z</updated>
<author>
<name>Srinivas Pandruvada</name>
<email>srinivas.pandruvada@linux.intel.com</email>
</author>
<published>2024-12-16T21:18:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=b59bd75a4b0983d6bcd10987b32ea9b9042db88c'/>
<id>urn:sha1:b59bd75a4b0983d6bcd10987b32ea9b9042db88c</id>
<content type='text'>
Panther Lake follows same register set as Lunar Lake. Enable feature
flags to support workload hints and power floor status.

Signed-off-by: Srinivas Pandruvada &lt;srinivas.pandruvada@linux.intel.com&gt;
Link: https://patch.msgid.link/20241216211810.1207028-2-srinivas.pandruvada@linux.intel.com
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>thermal: intel: int340x: Panther Lake DLVR support</title>
<updated>2024-12-18T19:43:17Z</updated>
<author>
<name>Srinivas Pandruvada</name>
<email>srinivas.pandruvada@linux.intel.com</email>
</author>
<published>2024-12-16T21:18:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=e50eeababa946d92f1669fd4d66a5f652b143b05'/>
<id>urn:sha1:e50eeababa946d92f1669fd4d66a5f652b143b05</id>
<content type='text'>
Panther Lake follows same register set as Lunar Lake for DLVR. Enable
feature flag to support DLVR.

Signed-off-by: Srinivas Pandruvada &lt;srinivas.pandruvada@linux.intel.com&gt;
Link: https://patch.msgid.link/thermal: intel: int340x: Panther Lake DLVR support
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>thermal: intel: Remove explicit user_space governor selection</title>
<updated>2024-12-18T19:40:22Z</updated>
<author>
<name>Srinivas Pandruvada</name>
<email>srinivas.pandruvada@linux.intel.com</email>
</author>
<published>2024-12-16T19:08:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=4596cbea0ed2ef4f563a92775c9f612700ece145'/>
<id>urn:sha1:4596cbea0ed2ef4f563a92775c9f612700ece145</id>
<content type='text'>
Currently some user space programs like Linux thermald needs to register
to get notifications from both thermal user space governor and also
Thermal netlink. This is required as some messages like HFI (Hardware
Feedback Notifications) requires Thermal netlink.

This results in additional processing in kernel and user space to process
both notifications. The cost of using user space governor using
kobject_uevent is much higher as this is also used by other user space
daemons like udev daemon.

Do not select user_space thermal governor by default. If it is present
user space programs can always use this governor by writing to
"policy" attribute.

Instead from the kernel select THERMAL_NETLINK. Trip temperature
violation can be received by user space programs via thermal netlink
events:
THERMAL_GENL_EVENT_TZ_TRIP_UP
THERMAL_GENL_EVENT_TZ_TRIP_DOWN

Signed-off-by: Srinivas Pandruvada &lt;srinivas.pandruvada@linux.intel.com&gt;
Link: https://patch.msgid.link/20241216190821.1137162-1-srinivas.pandruvada@linux.intel.com
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>thermal/thresholds: Fix boundaries and detection routine</title>
<updated>2024-12-18T13:51:31Z</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2024-12-16T21:26:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=4feaedf7d243f1a9af36dfb2711a5641fe3559dc'/>
<id>urn:sha1:4feaedf7d243f1a9af36dfb2711a5641fe3559dc</id>
<content type='text'>
The current implementation does not work if the thermal zone is
interrupt driven only.

The boundaries are not correctly checked and computed as it happens
only when the temperature is increasing or decreasing.

The problem arises because the routine to detect when we cross a
threshold is correlated with the computation of the boundaries. We
assume we have to recompute the boundaries when a threshold is crossed
but actually we should do that even if the it is not the case.

Mixing the boundaries computation and the threshold detection for the
sake of optimizing the routine is much more complex as it appears
intuitively and prone to errors.

This fix separates the boundaries computation and the threshold
crossing detection into different routines. The result is a code much
more simple to understand, thus easier to maintain.

The drawback is we browse the thresholds list several time but we can
consider that as neglictible because that happens when the temperature
is updated. There are certainly some aeras to improve in the
temperature update routine but it would be not adequate as this change
aims to fix the thresholds for v6.13.

Fixes: 445936f9e258 ("thermal: core: Add user thresholds support")
Tested-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt; # rock5b, Lenovo x13s
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Link: https://patch.msgid.link/20241216212644.1145122-1-daniel.lezcano@linaro.org
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
</feed>
