summaryrefslogtreecommitdiff
path: root/drivers/acpi
diff options
context:
space:
mode:
authorSudeep Holla <sudeep.holla@arm.com>2022-11-18 17:00:59 +0300
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2022-11-21 22:11:09 +0300
commitd7d4332155efe82a3d70ab179dde30cad3b094a4 (patch)
treeffec3960a473ed69d95ecf8494b1d0b720749b41 /drivers/acpi
parent1d280ce099db396e092cac1aa9bf2ea8beee6d76 (diff)
downloadlinux-d7d4332155efe82a3d70ab179dde30cad3b094a4.tar.xz
ACPI: bus: Fix the _OSC capability check for FFH OpRegion
As per the ACPI specification(vide section Platform-Wide OSPM Capabilities) the OSPM must set this bit to indicate support for the usage of Functional Fixed Hardware (FFixedHW) Operation Regions rather than the firmware as expected in the code. Update the check accordingly to reflect the requirement as stated in the specification. Reported-by: Jose Marinho <jose.marinho@arm.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/bus.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index 245fb0828e47..2b9eac7e7777 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -300,8 +300,6 @@ EXPORT_SYMBOL_GPL(osc_sb_native_usb4_support_confirmed);
bool osc_sb_cppc2_support_acked;
-bool osc_sb_ffh_opregion_support_confirmed;
-
static u8 sb_uuid_str[] = "0811B06E-4A27-44F9-8D60-3CBBC22E7B48";
static void acpi_bus_osc_negotiate_platform_control(void)
{
@@ -325,6 +323,8 @@ static void acpi_bus_osc_negotiate_platform_control(void)
capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_PCLPI_SUPPORT;
if (IS_ENABLED(CONFIG_ACPI_PRMT))
capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_PRM_SUPPORT;
+ if (IS_ENABLED(CONFIG_ACPI_FFH))
+ capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_FFH_OPR_SUPPORT;
#ifdef CONFIG_ARM64
capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_GENERIC_INITIATOR_SUPPORT;
@@ -385,8 +385,6 @@ static void acpi_bus_osc_negotiate_platform_control(void)
capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_NATIVE_USB4_SUPPORT;
osc_cpc_flexible_adr_space_confirmed =
capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_CPC_FLEXIBLE_ADR_SPACE;
- osc_sb_ffh_opregion_support_confirmed =
- capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_FFH_OPR_SUPPORT;
}
kfree(context.ret.pointer);
@@ -1412,8 +1410,7 @@ static int __init acpi_init(void)
disable_acpi();
return result;
}
- if (osc_sb_ffh_opregion_support_confirmed)
- acpi_init_ffh();
+ acpi_init_ffh();
pci_mmcfg_late_init();
acpi_iort_init();