diff mbox series

ACPI: bus: Fix osc_sb_cppc_not_supported check

Message ID 20220624115940.272422-1-Perry.Yuan@amd.com (mailing list archive)
State Rejected, archived
Headers show
Series ACPI: bus: Fix osc_sb_cppc_not_supported check | expand

Commit Message

Yuan, Perry June 24, 2022, 11:59 a.m. UTC
The patch fixs the osc_sb_cppc_not_supported variable checking
Otherwise the cppc acpi driver will be failed to register causing AMD
pstate driver failed to load when calling acpi_cpc_valid()

Fixes: c42fa24b447("ACPI: bus: Avoid using CPPC if not supported by firmware")
Signed-off-by: Perry Yuan <Perry.Yuan@amd.com>
---
 drivers/acpi/bus.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Rafael J. Wysocki June 24, 2022, 4:11 p.m. UTC | #1
On Fri, Jun 24, 2022 at 2:00 PM Perry Yuan <Perry.Yuan@amd.com> wrote:
>
> The patch fixs the osc_sb_cppc_not_supported variable checking
> Otherwise the cppc acpi driver will be failed to register causing AMD
> pstate driver failed to load when calling acpi_cpc_valid()
>
> Fixes: c42fa24b447("ACPI: bus: Avoid using CPPC if not supported by firmware")
> Signed-off-by: Perry Yuan <Perry.Yuan@amd.com>
> ---
>  drivers/acpi/bus.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
> index 4d7c51a33b01..9731e4a1e338 100644
> --- a/drivers/acpi/bus.c
> +++ b/drivers/acpi/bus.c
> @@ -359,7 +359,7 @@ static void acpi_bus_osc_negotiate_platform_control(void)
>         }
>
>  #ifdef CONFIG_ACPI_CPPC_LIB
> -       osc_sb_cppc_not_supported = !(capbuf_ret[OSC_SUPPORT_DWORD] &
> +       osc_sb_cppc_not_supported = !(capbuf_ret[OSC_SUPPORT_DWORD] &&
>                         (OSC_SB_CPC_SUPPORT | OSC_SB_CPCV2_SUPPORT));

This certainly is not a correct fix, because it causes
osc_sb_cppc_not_supported to always be true if
capbuf_ret[OSC_SUPPORT_DWORD] is not zero.

>  #endif
>
> --
> 2.25.1
>
Yuan, Perry June 24, 2022, 5:56 p.m. UTC | #2
[AMD Official Use Only - General]

Hi Rafael:

> -----Original Message-----
> From: Rafael J. Wysocki <rafael@kernel.org>
> Sent: Saturday, June 25, 2022 12:12 AM
> To: Yuan, Perry <Perry.Yuan@amd.com>
> Cc: Huang, Ray <Ray.Huang@amd.com>; Limonciello, Mario
> <Mario.Limonciello@amd.com>; Rafael J. Wysocki <rafael@kernel.org>; Len
> Brown <lenb@kernel.org>; Mika Westerberg
> <mika.westerberg@linux.intel.com>; ACPI Devel Maling List <linux-
> acpi@vger.kernel.org>; Linux Kernel Mailing List <linux-kernel@vger.kernel.org>;
> Fontenot, Nathan <Nathan.Fontenot@amd.com>; Su, Jinzhou (Joe)
> <Jinzhou.Su@amd.com>; Huang, Shimmer <Xinmei.Huang@amd.com>; Du,
> Xiaojian <Xiaojian.Du@amd.com>; Meng, Li (Jassmine) <Li.Meng@amd.com>;
> Linux PM <linux-pm@vger.kernel.org>
> Subject: Re: [PATCH] ACPI: bus: Fix osc_sb_cppc_not_supported check
> 
> [CAUTION: External Email]
> 
> On Fri, Jun 24, 2022 at 2:00 PM Perry Yuan <Perry.Yuan@amd.com> wrote:
> >
> > The patch fixs the osc_sb_cppc_not_supported variable checking
> > Otherwise the cppc acpi driver will be failed to register causing AMD
> > pstate driver failed to load when calling acpi_cpc_valid()
> >
> > Fixes: c42fa24b447("ACPI: bus: Avoid using CPPC if not supported by
> > firmware")
> > Signed-off-by: Perry Yuan <Perry.Yuan@amd.com>
> > ---
> >  drivers/acpi/bus.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c index
> > 4d7c51a33b01..9731e4a1e338 100644
> > --- a/drivers/acpi/bus.c
> > +++ b/drivers/acpi/bus.c
> > @@ -359,7 +359,7 @@ static void
> acpi_bus_osc_negotiate_platform_control(void)
> >         }
> >
> >  #ifdef CONFIG_ACPI_CPPC_LIB
> > -       osc_sb_cppc_not_supported = !(capbuf_ret[OSC_SUPPORT_DWORD] &
> > +       osc_sb_cppc_not_supported = !(capbuf_ret[OSC_SUPPORT_DWORD] &&
> >                         (OSC_SB_CPC_SUPPORT | OSC_SB_CPCV2_SUPPORT));
> 
> This certainly is not a correct fix, because it causes osc_sb_cppc_not_supported
> to always be true if capbuf_ret[OSC_SUPPORT_DWORD] is not zero.
> 
> >  #endif

That is true, I will send another fix solution soon.

Perry  

> >
> > --
> > 2.25.1
> >
diff mbox series

Patch

diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index 4d7c51a33b01..9731e4a1e338 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -359,7 +359,7 @@  static void acpi_bus_osc_negotiate_platform_control(void)
 	}
 
 #ifdef CONFIG_ACPI_CPPC_LIB
-	osc_sb_cppc_not_supported = !(capbuf_ret[OSC_SUPPORT_DWORD] &
+	osc_sb_cppc_not_supported = !(capbuf_ret[OSC_SUPPORT_DWORD] &&
 			(OSC_SB_CPC_SUPPORT | OSC_SB_CPCV2_SUPPORT));
 #endif