[PATCH] ACPI: processor: idle: Add debug log for the state whose entry method is illegal

Huisong Li posted 1 patch 2 months, 2 weeks ago
drivers/acpi/processor_idle.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] ACPI: processor: idle: Add debug log for the state whose entry method is illegal
Posted by Huisong Li 2 months, 2 weeks ago
According to ACPI spec, entry method in LPI sub-package must be buffer
or integer. Driver will disable the state whose the entry method is
illegal by zero flags in struct acpi_lpi_state. The entry method is
very key in cpuidle. A debug log is very useful developers.

Signed-off-by: Huisong Li <lihuisong@huawei.com>
---
 drivers/acpi/processor_idle.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 22909fccf0b1..5f86297c8b23 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -946,6 +946,8 @@ static int acpi_processor_evaluate_lpi(acpi_handle handle,
 			lpi_state->entry_method = ACPI_CSTATE_INTEGER;
 			lpi_state->address = obj->integer.value;
 		} else {
+			pr_debug("Entry method of state-%d is illegal, disable it.\n",
+				 state_idx);
 			continue;
 		}
 
-- 
2.33.0
Re: [PATCH] ACPI: processor: idle: Add debug log for the state whose entry method is illegal
Posted by Jonathan Cameron 2 months ago
On Tue, 25 Nov 2025 14:47:02 +0800
Huisong Li <lihuisong@huawei.com> wrote:

> According to ACPI spec, entry method in LPI sub-package must be buffer
> or integer. Driver will disable the state whose the entry method is
> illegal by zero flags in struct acpi_lpi_state. The entry method is
> very key in cpuidle. A debug log is very useful developers.
> 
> Signed-off-by: Huisong Li <lihuisong@huawei.com>
Seems reasonable to me and debug is probably appropriate error for broken
firmware. 
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>

> ---
>  drivers/acpi/processor_idle.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
> index 22909fccf0b1..5f86297c8b23 100644
> --- a/drivers/acpi/processor_idle.c
> +++ b/drivers/acpi/processor_idle.c
> @@ -946,6 +946,8 @@ static int acpi_processor_evaluate_lpi(acpi_handle handle,
>  			lpi_state->entry_method = ACPI_CSTATE_INTEGER;
>  			lpi_state->address = obj->integer.value;
>  		} else {
> +			pr_debug("Entry method of state-%d is illegal, disable it.\n",
> +				 state_idx);
>  			continue;
>  		}
>
Re: [PATCH] ACPI: processor: idle: Add debug log for the state whose entry method is illegal
Posted by Rafael J. Wysocki 3 weeks, 3 days ago
On Mon, Dec 8, 2025 at 5:35 PM Jonathan Cameron
<jonathan.cameron@huawei.com> wrote:
>
> On Tue, 25 Nov 2025 14:47:02 +0800
> Huisong Li <lihuisong@huawei.com> wrote:
>
> > According to ACPI spec, entry method in LPI sub-package must be buffer
> > or integer. Driver will disable the state whose the entry method is
> > illegal by zero flags in struct acpi_lpi_state. The entry method is
> > very key in cpuidle. A debug log is very useful developers.
> >
> > Signed-off-by: Huisong Li <lihuisong@huawei.com>
> Seems reasonable to me and debug is probably appropriate error for broken
> firmware.
> Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>

Applied as 6.20 material, thanks!

> > ---
> >  drivers/acpi/processor_idle.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
> > index 22909fccf0b1..5f86297c8b23 100644
> > --- a/drivers/acpi/processor_idle.c
> > +++ b/drivers/acpi/processor_idle.c
> > @@ -946,6 +946,8 @@ static int acpi_processor_evaluate_lpi(acpi_handle handle,
> >                       lpi_state->entry_method = ACPI_CSTATE_INTEGER;
> >                       lpi_state->address = obj->integer.value;
> >               } else {
> > +                     pr_debug("Entry method of state-%d is illegal, disable it.\n",
> > +                              state_idx);
> >                       continue;
> >               }
> >
>