ACPI / CPPC: Fix guaranteed performance handling
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Mon, 25 Mar 2019 16:04:39 +0000 (09:04 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 25 Mar 2019 22:57:21 +0000 (23:57 +0100)
commit11c7eefd7cc0d3c60248609a87068dc45f24a4a1
tree6538951169dd5373f32d09b8a316be312a9758d7
parentb85d83bae525031a6bd85f15b7d05f521f7900d2
ACPI / CPPC: Fix guaranteed performance handling

As per the ACPI specification, "Guaranteed Performance Register" is
a "Buffer" field and it cannot be "Integer", so treat the "Integer"
type for "Guaranteed Performance Register" field as invalid and
ignore its value in that case.

Also save one cpc_read() call when "Guaranteed Performance Register"
is not present, which means a register defined as:
"Register(SystemMemory, 0, 0, 0, 0)".

Fixes: c31b4cb1831d ("ACPI / CPPC: Add support for guaranteed performance")
Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: 4.20+ <stable@vger.kernel.org> # 4.20+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/cppc_acpi.c