On 8/7/19 5:41 AM, Sudeep Holla wrote: > On Mon, Aug 05, 2019 at 11:03:38AM -0600, Al Stone wrote: >> According to the ACPI 6.3 specification, the _PSD method is optional >> when using CPPC. The underlying assumption appears to be that each CPU >> can change frequency independently from all other CPUs; _PSD is provided >> to tell the OS that some processors can NOT do that. >> >> However, the acpi_get_psd() function returns -ENODEV if there is no _PSD >> method present, or an ACPI error status if an error occurs when evaluating >> _PSD, if present. This essentially makes _PSD mandatory when using CPPC, >> in violation of the specification, and only on Linux. >> >> This has forced some firmware writers to provide a dummy _PSD, even though >> it is irrelevant, but only because Linux requires it; other OSPMs follow >> the spec. We really do not want to have OS specific ACPI tables, though. >> >> So, correct acpi_get_psd() so that it does not return an error if there >> is no _PSD method present, but does return a failure when the method can >> not be executed properly. This allows _PSD to be optional as it should >> be. >> > > Makes sense to me. FWIW, > > Reviewed-by: Sudeep Holla < sudeep.holla@xxxxxxx> > > -- > Regards, > Sudeep > Thanks for the review, Sudeep. All the ARM systems I've seen seem to have a _PSD so this hasn't been an issue there. Some newer platforms coming out are starting to use CPPC, though, and took the spec at face value :). -- ciao, al ----------------------------------- Al Stone Software Engineer Red Hat, Inc. ahs3@xxxxxxxxxx -----------------------------------