• Rafael J. Wysocki's avatar
    ACPI: CPPC: Do not prevent CPPC from working in the future · 4f4179fc
    Rafael J. Wysocki authored
    There is a problem with the current revision checks in
    is_cppc_supported() that they essentially prevent the CPPC support
    from working if a new _CPC package format revision being a proper
    superset of the v3 and only causing _CPC to return a package with more
    entries (while retaining the types and meaning of the entries defined by
    the v3) is introduced in the future and used by the platform firmware.
    
    In that case, as long as the number of entries in the _CPC return
    package is at least CPPC_V3_NUM_ENT, it should be perfectly fine to
    use the v3 support code and disregard the additional package entries
    added by the new package format revision.
    
    For this reason, drop is_cppc_supported() altogether, put the revision
    checks directly into acpi_cppc_processor_probe() so they are easier to
    follow and rework them to take the case mentioned above into account.
    
    Fixes: 4773e77c ("ACPI / CPPC: Add support for CPPC v3")
    Cc: 4.18+ <stable@vger.kernel.org> # 4.18+
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    4f4179fc
cppc_acpi.c 44.8 KB