Commit 7be03eae authored by Robert Richter's avatar Robert Richter Committed by Dave Jiang
Browse files

cxl/acpi: Prepare use of EFI runtime services



In order to use EFI runtime services, esp. ACPI PRM which uses the
efi_rts_wq workqueue, initialize EFI before CXL ACPI.

There is a subsys_initcall order dependency if driver is builtin:

 subsys_initcall(cxl_acpi_init);
 subsys_initcall(efisubsys_init);

Prevent the efi_rts_wq workqueue being used by cxl_acpi_init() before
its allocation. Use subsys_initcall_sync(cxl_acpi_init) to always run
efisubsys_init() first.

Reported-by: default avatarGregory Price <gourry@gourry.net>
Tested-by: default avatarJoshua Hahn <joshua.hahnjy@gmail.com>
Reviewed-by: default avatarJoshua Hahn <joshua.hahnjy@gmail.com>
Reviewed-by: default avatarGregory Price <gourry@gourry.net>
Reviewed-by: default avatarDave Jiang <dave.jiang@intel.com>
Reviewed-by: default avatarJonathan Cameron <jonathan.cameron@huawei.com>
Tested-by: default avatarGregory Price <gourry@gourry.net>
Signed-off-by: default avatarRobert Richter <rrichter@amd.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>> ---
Link: https://patch.msgid.link/20260114164837.1076338-10-rrichter@amd.com


Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
parent a31af411
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -1005,8 +1005,12 @@ static void __exit cxl_acpi_exit(void)
	cxl_bus_drain();
}

/* load before dax_hmem sees 'Soft Reserved' CXL ranges */
subsys_initcall(cxl_acpi_init);
/*
 * Load before dax_hmem sees 'Soft Reserved' CXL ranges. Use
 * subsys_initcall_sync() since there is an order dependency with
 * subsys_initcall(efisubsys_init), which must run first.
 */
subsys_initcall_sync(cxl_acpi_init);

/*
 * Arrange for host-bridge ports to be active synchronous with