<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/acpi/processor_idle.c, branch v7.3-rc2</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>ACPI: processor: idle: Add switch for strict _LPI processing</title>
<updated>2026-07-17T09:10:09+00:00</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2026-07-09T12:42:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=67fcf679c80835a6110190dfd3287a93a7df1dfb'/>
<id>67fcf679c80835a6110190dfd3287a93a7df1dfb</id>
<content type='text'>
Add a "strict" argument to acpi_processor_extract_lpi_info() that, when
set, will cause it to ignore _LPI states without minimum residency or
wake latency instead of assuming 10 us values for these parameters.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/3896986.MHq7AAxBmi@rafael.j.wysocki
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a "strict" argument to acpi_processor_extract_lpi_info() that, when
set, will cause it to ignore _LPI states without minimum residency or
wake latency instead of assuming 10 us values for these parameters.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/3896986.MHq7AAxBmi@rafael.j.wysocki
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI: processor: idle: Relocate acpi_processor_extract_lpi_info()</title>
<updated>2026-07-17T09:10:09+00:00</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2026-07-09T12:41:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c60e851f9c179c265dd71a8ecc49abee977bff14'/>
<id>c60e851f9c179c265dd71a8ecc49abee977bff14</id>
<content type='text'>
In preparation for adding ACPI _LPI support to the intel_idle driver,
move acpi_processor_extract_lpi_info() along with some static functions
used by it to the acpi_processor.c file containing the non-modular part
of the ACPI processor driver, so it can be called by external non-modular
code like intel_idle.

However, export it to modules in the ACPI_PROCESSOR_IDLE import
namespace so that the modular part of the ACPI processor driver
can still invoke it.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/2277662.Mh6RI2rZIc@rafael.j.wysocki
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In preparation for adding ACPI _LPI support to the intel_idle driver,
move acpi_processor_extract_lpi_info() along with some static functions
used by it to the acpi_processor.c file containing the non-modular part
of the ACPI processor driver, so it can be called by external non-modular
code like intel_idle.

However, export it to modules in the ACPI_PROCESSOR_IDLE import
namespace so that the modular part of the ACPI processor driver
can still invoke it.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/2277662.Mh6RI2rZIc@rafael.j.wysocki
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI: processor: idle: Introduce acpi_processor_extract_lpi_info()</title>
<updated>2026-07-17T09:10:09+00:00</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2026-07-09T12:40:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=99ba75bbc17bb9f6e1e46e809651f5f5e39f8f69'/>
<id>99ba75bbc17bb9f6e1e46e809651f5f5e39f8f69</id>
<content type='text'>
In preparation for adding ACPI _LPI support to the intel_idle driver,
move the majority of the acpi_processor_get_lpi_info() function body
to a new function called acpi_processor_extract_lpi_info() that will
be exported to external code subsequently.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/2709187.Lt9SDvczpP@rafael.j.wysocki
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In preparation for adding ACPI _LPI support to the intel_idle driver,
move the majority of the acpi_processor_get_lpi_info() function body
to a new function called acpi_processor_extract_lpi_info() that will
be exported to external code subsequently.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/2709187.Lt9SDvczpP@rafael.j.wysocki
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI: processor: idle: Introduce too_many_states() for _LPI</title>
<updated>2026-07-17T09:10:09+00:00</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2026-07-09T12:39:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=db4c69b33bc5f3e41b80b10b2e00bed4a690c648'/>
<id>db4c69b33bc5f3e41b80b10b2e00bed4a690c648</id>
<content type='text'>
To reduce code duplication, introduce a function called too_many_states()
that will check if the total number of _LPI states for a given CPU is
too large and print a message in that case.

Use that function in flatten_lpi_states() and acpi_processor_get_lpi_info().

No functional impact beyond reducing dynamic debug flexibility.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/1964818.CQOukoFCf9@rafael.j.wysocki
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To reduce code duplication, introduce a function called too_many_states()
that will check if the total number of _LPI states for a given CPU is
too large and print a message in that case.

Use that function in flatten_lpi_states() and acpi_processor_get_lpi_info().

No functional impact beyond reducing dynamic debug flexibility.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/1964818.CQOukoFCf9@rafael.j.wysocki
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI: processor: idle: Rework flatten_lpi_states()</title>
<updated>2026-07-17T09:10:09+00:00</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2026-07-09T12:39:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=592343c4d2a215f07b5d5c657370a4fa2ac731c6'/>
<id>592343c4d2a215f07b5d5c657370a4fa2ac731c6</id>
<content type='text'>
Rewrite flatten_lpi_states() to make it easier to follow:

 * Rename its flat_state_cnt, curr_level and prev_level parameters to
   state_count, curr, and prev, respectively, so their names match the
   names of analogous variables in acpi_processor_get_lpi_info().

 * Eliminate a redundant local variable state_count.

 * Move definitions of local variables to the code blocks in which
   they are used.

 * Reduce the indentation level in the inner loop.

 * Use more meaningful names for local variables.

 * Move two statements that belong in acpi_processor_get_lpi_info()
   from flatten_lpi_states() to that function.

 * Use acpi_handle_info() for printing a message when the count of
   flattened states gets too large and drop the message requesting
   ACPI_PROCESSOR_MAX_POWER to be adjusted which is pointless.

 * Add a comment explaining what happens in that function.

No intentional functional impact beyond the message printed when
the count of flattened states is too large.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/2064627.usQuhbGJ8B@rafael.j.wysocki
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rewrite flatten_lpi_states() to make it easier to follow:

 * Rename its flat_state_cnt, curr_level and prev_level parameters to
   state_count, curr, and prev, respectively, so their names match the
   names of analogous variables in acpi_processor_get_lpi_info().

 * Eliminate a redundant local variable state_count.

 * Move definitions of local variables to the code blocks in which
   they are used.

 * Reduce the indentation level in the inner loop.

 * Use more meaningful names for local variables.

 * Move two statements that belong in acpi_processor_get_lpi_info()
   from flatten_lpi_states() to that function.

 * Use acpi_handle_info() for printing a message when the count of
   flattened states gets too large and drop the message requesting
   ACPI_PROCESSOR_MAX_POWER to be adjusted which is pointless.

 * Add a comment explaining what happens in that function.

No intentional functional impact beyond the message printed when
the count of flattened states is too large.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/2064627.usQuhbGJ8B@rafael.j.wysocki
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI: processor: idle: Rearrange loop in acpi_processor_get_lpi_info()</title>
<updated>2026-07-17T09:10:08+00:00</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2026-07-09T12:38:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=75739f2c708f7be888fd5353811f169bbbc44313'/>
<id>75739f2c708f7be888fd5353811f169bbbc44313</id>
<content type='text'>
Eliminate local variable status (that is redundant) from
acpi_processor_get_lpi_info() and make that function call
acpi_get_parent() in one place.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/1862515.VLH7GnMWUR@rafael.j.wysocki
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Eliminate local variable status (that is redundant) from
acpi_processor_get_lpi_info() and make that function call
acpi_get_parent() in one place.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/1862515.VLH7GnMWUR@rafael.j.wysocki
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI: processor: idle: Drop redundant _LPI presence checks</title>
<updated>2026-07-17T09:10:08+00:00</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2026-07-09T12:37:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=863572d8711c7f02344f5e37163063c43c4b105d'/>
<id>863572d8711c7f02344f5e37163063c43c4b105d</id>
<content type='text'>
The acpi_has_method() checks for _LPI in acpi_processor_get_lpi_info()
are redundant because acpi_processor_evaluate_lpi() returns an error
when _LPI is not present, so drop them.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/3349003.5fSG56mABF@rafael.j.wysocki
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The acpi_has_method() checks for _LPI in acpi_processor_get_lpi_info()
are redundant because acpi_processor_evaluate_lpi() returns an error
when _LPI is not present, so drop them.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/3349003.5fSG56mABF@rafael.j.wysocki
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI: processor: idle: Rework first-level _LPI states processing</title>
<updated>2026-07-17T09:10:08+00:00</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2026-07-09T12:37:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ab96ea910d06d60758adbc330456528cb41cf2eb'/>
<id>ab96ea910d06d60758adbc330456528cb41cf2eb</id>
<content type='text'>
The first-level _LPI states need not be combined with the previous
level and the entry method for them cannot be ACPI_CSTATE_INTEGER, so
process them directly in acpi_processor_get_lpi_info() instead of doing
a special case for them in flatten_lpi_states().

Also bail out if there are no _LPI states at the first level because
that means that there are no _LPI states at all.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Link: https://patch.msgid.link/3703077.iIbC2pHGDl@rafael.j.wysocki
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The first-level _LPI states need not be combined with the previous
level and the entry method for them cannot be ACPI_CSTATE_INTEGER, so
process them directly in acpi_processor_get_lpi_info() instead of doing
a special case for them in flatten_lpi_states().

Also bail out if there are no _LPI states at the first level because
that means that there are no _LPI states at all.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Link: https://patch.msgid.link/3703077.iIbC2pHGDl@rafael.j.wysocki
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI: processor: idle: Rearrange acpi_processor_get_lpi_info()</title>
<updated>2026-07-17T09:10:08+00:00</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2026-07-09T12:36:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=fcdc7587db7701f5c451b558b989822131b1b8c8'/>
<id>fcdc7587db7701f5c451b558b989822131b1b8c8</id>
<content type='text'>
Reorder the definitions of local variables in
acpi_processor_get_lpi_info() and drop local variable
pr_ahandle that is not really necessary from it.

Additionally, move two definitions of local variables to
the loop in which they are used and rearrange the code
slightly to prepare it for subsequent changes.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/7965163.EvYhyI6sBW@rafael.j.wysocki
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reorder the definitions of local variables in
acpi_processor_get_lpi_info() and drop local variable
pr_ahandle that is not really necessary from it.

Additionally, move two definitions of local variables to
the loop in which they are used and rearrange the code
slightly to prepare it for subsequent changes.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Sudeep Holla &lt;sudeep.holla@kernel.org&gt;
Acked-by: Huisong Li &lt;lihuisong@huawei.com&gt;
Link: https://patch.msgid.link/7965163.EvYhyI6sBW@rafael.j.wysocki
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI: processor: idle: Introduce lpi_state_debug()</title>
<updated>2026-07-17T09:10:08+00:00</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2026-07-09T12:35:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=7358da875332d20e59a49cea3b35bab8c5519d53'/>
<id>7358da875332d20e59a49cea3b35bab8c5519d53</id>
<content type='text'>
Add a helper macro called lpi_state_debug() for printing debug messages
regarding _LPI states and use it in acpi_processor_evaluate_lpi().

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Link: https://patch.msgid.link/2043393.PYKUYFuaPT@rafael.j.wysocki
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a helper macro called lpi_state_debug() for printing debug messages
regarding _LPI states and use it in acpi_processor_evaluate_lpi().

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Link: https://patch.msgid.link/2043393.PYKUYFuaPT@rafael.j.wysocki
</pre>
</div>
</content>
</entry>
</feed>
