diff mbox series

ACPI: processor: allowing probing on platforms with one ACPI C-state

Message ID 20200422072607.18179-1-rui.zhang@intel.com (mailing list archive)
State Mainlined, archived
Headers show
Series ACPI: processor: allowing probing on platforms with one ACPI C-state | expand

Commit Message

Zhang, Rui April 22, 2020, 7:26 a.m. UTC
It is possible for ACPI _CST to return only one ACPI C-state, for
example, when deep cstate disabled in the BIOS.
And it is better for the acpi_idle driver to probe in this case as well
for consistency.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
---
 drivers/acpi/processor_idle.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

Comments

Rafael J. Wysocki April 26, 2020, 4:28 p.m. UTC | #1
On Wednesday, April 22, 2020 9:26:07 AM CEST Zhang Rui wrote:
> It is possible for ACPI _CST to return only one ACPI C-state, for
> example, when deep cstate disabled in the BIOS.
> And it is better for the acpi_idle driver to probe in this case as well
> for consistency.
> 
> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
> ---
>  drivers/acpi/processor_idle.c | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
> index dcc289e30166..75534c5b5433 100644
> --- a/drivers/acpi/processor_idle.c
> +++ b/drivers/acpi/processor_idle.c
> @@ -308,11 +308,7 @@ static int acpi_processor_get_power_info_cst(struct acpi_processor *pr)
>  	if (ret)
>  		return ret;
>  
> -	/*
> -	 * It is expected that there will be at least 2 states, C1 and
> -	 * something else (C2 or C3), so fail if that is not the case.
> -	 */
> -	if (pr->power.count < 2)
> +	if (!pr->power.count)
>  		return -EFAULT;
>  
>  	pr->flags.has_cst = 1;
> @@ -468,8 +464,7 @@ static int acpi_processor_get_cstate_info(struct acpi_processor *pr)
>  	for (i = 1; i < ACPI_PROCESSOR_MAX_POWER; i++) {
>  		if (pr->power.states[i].valid) {
>  			pr->power.count = i;
> -			if (pr->power.states[i].type >= ACPI_STATE_C2)
> -				pr->flags.power = 1;
> +			pr->flags.power = 1;
>  		}
>  	}
>  
> 

Applied as 5.8-candidate material, thanks!
diff mbox series

Patch

diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index dcc289e30166..75534c5b5433 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -308,11 +308,7 @@  static int acpi_processor_get_power_info_cst(struct acpi_processor *pr)
 	if (ret)
 		return ret;
 
-	/*
-	 * It is expected that there will be at least 2 states, C1 and
-	 * something else (C2 or C3), so fail if that is not the case.
-	 */
-	if (pr->power.count < 2)
+	if (!pr->power.count)
 		return -EFAULT;
 
 	pr->flags.has_cst = 1;
@@ -468,8 +464,7 @@  static int acpi_processor_get_cstate_info(struct acpi_processor *pr)
 	for (i = 1; i < ACPI_PROCESSOR_MAX_POWER; i++) {
 		if (pr->power.states[i].valid) {
 			pr->power.count = i;
-			if (pr->power.states[i].type >= ACPI_STATE_C2)
-				pr->flags.power = 1;
+			pr->flags.power = 1;
 		}
 	}