On Wed, May 11, 2022 at 03:45:55PM +0200, Pierre Gondois wrote:
> ACPI 6.2 Section 6.2.11.2 'Platform-Wide OSPM Capabilities':
> Starting with ACPI Specification 6.2, all _CPC registers can be in
> PCC, System Memory, System IO, or Functional Fixed Hardware address
> spaces. OSPM support for this more flexible register space scheme is
> indicated by the “Flexible Address Space for CPPC Registers” _OSC bit
>
> Otherwise (cf ACPI 6.1, s8.4.7.1.1.X), _CPC registers must be in:
> - PCC or Functional Fixed Hardware address space if defined
> - SystemMemory address space (NULL register) if not defined
>
> Add the corresponding _OSC bit and check it when parsing _CPC objects.
>
Looks good, other than a minor nit below. Feel free to ignore that or
check what is Rafael's preference. Otherwise,
Reviewed-by: Sudeep Holla <[email protected]>
> Signed-off-by: Pierre Gondois <[email protected]>
> ---
> drivers/acpi/bus.c | 18 ++++++++++++++++++
> drivers/acpi/cppc_acpi.c | 9 +++++++++
> include/linux/acpi.h | 2 ++
> 3 files changed, 29 insertions(+)
>
[...]
> diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> index d7136d13aa44..977d74d0465b 100644
> --- a/include/linux/acpi.h
> +++ b/include/linux/acpi.h
> @@ -574,6 +574,7 @@ acpi_status acpi_run_osc(acpi_handle handle, struct acpi_osc_context *context);
> #define OSC_SB_OSLPI_SUPPORT 0x00000100
> #define OSC_SB_CPC_DIVERSE_HIGH_SUPPORT 0x00001000
> #define OSC_SB_GENERIC_INITIATOR_SUPPORT 0x00002000
> +#define OSC_SB_CPC_FLEXIBLE_ADR_SP 0x00004000
I would prefer ADR_SPACE instead of ADR_SP.
--
Regards,
Sudeep
On Wed, May 11, 2022 at 4:17 PM Sudeep Holla <[email protected]> wrote:
>
> On Wed, May 11, 2022 at 03:45:55PM +0200, Pierre Gondois wrote:
> > ACPI 6.2 Section 6.2.11.2 'Platform-Wide OSPM Capabilities':
> > Starting with ACPI Specification 6.2, all _CPC registers can be in
> > PCC, System Memory, System IO, or Functional Fixed Hardware address
> > spaces. OSPM support for this more flexible register space scheme is
> > indicated by the “Flexible Address Space for CPPC Registers” _OSC bit
> >
> > Otherwise (cf ACPI 6.1, s8.4.7.1.1.X), _CPC registers must be in:
> > - PCC or Functional Fixed Hardware address space if defined
> > - SystemMemory address space (NULL register) if not defined
> >
> > Add the corresponding _OSC bit and check it when parsing _CPC objects.
> >
>
> Looks good, other than a minor nit below. Feel free to ignore that or
> check what is Rafael's preference. Otherwise,
>
> Reviewed-by: Sudeep Holla <[email protected]>
>
> > Signed-off-by: Pierre Gondois <[email protected]>
> > ---
> > drivers/acpi/bus.c | 18 ++++++++++++++++++
> > drivers/acpi/cppc_acpi.c | 9 +++++++++
> > include/linux/acpi.h | 2 ++
> > 3 files changed, 29 insertions(+)
> >
> [...]
>
> > diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> > index d7136d13aa44..977d74d0465b 100644
> > --- a/include/linux/acpi.h
> > +++ b/include/linux/acpi.h
> > @@ -574,6 +574,7 @@ acpi_status acpi_run_osc(acpi_handle handle, struct acpi_osc_context *context);
> > #define OSC_SB_OSLPI_SUPPORT 0x00000100
> > #define OSC_SB_CPC_DIVERSE_HIGH_SUPPORT 0x00001000
> > #define OSC_SB_GENERIC_INITIATOR_SUPPORT 0x00002000
> > +#define OSC_SB_CPC_FLEXIBLE_ADR_SP 0x00004000
>
> I would prefer ADR_SPACE instead of ADR_SP.
Yes, please make this change.