From: LeoLiuoc <LeoLiu-oc@xxxxxxxxxxx> According to the Section 18.3.2.4, 18.3.2.5 and 18.3.2.6 in ACPI SPEC r6.5, the register value form HEST PCI Express AER Structure should be written to relevant PCIe Device's AER Capabilities. So the purpose of the patch set is to extract register value from HEST PCI Express AER structures and program them into PCIe Device's AER registers. Refer to the ACPI SPEC r6.5 for the more detailed description. Changes in v2: - Move the definition of structure "hest_parse_aer_info" to file apei.h. - Link to v1: https://lore.kernel.org/all/20231115091612.580685-1-LeoLiu-oc@xxxxxxxxxxx/ Changes in v3: - The applicable hardware for this patch is added to the commit information. - Change the function name "program_hest_aer_endpoint" to "program_hest_aer_common". - Add the comment to function "program_hest_aer_common". - Remove the "PCI_EXP_TYPE_PCIE_BRIDGE" branch handling in function "program_hest_aer_params". - Link to v2: https://lore.kernel.org/all/20231218030430.783495-1-LeoLiu-oc@xxxxxxxxxxx/ Changes in v4: - Fix some compilation warnings. - Link to v3: https://lore.kernel.org/all/20240718062405.30571-1-LeoLiu-oc@xxxxxxxxxxx/ LeoLiuoc (3): ACPI/APEI: Add hest_parse_pcie_aer() PCI: Add AER bits #defines for PCIe to PCI/PCI-X Bridge PCI/ACPI: Add pci_acpi_program_hest_aer_params() drivers/acpi/apei/hest.c | 77 ++++++++++++++++++++++++- drivers/pci/pci-acpi.c | 103 ++++++++++++++++++++++++++++++++++ drivers/pci/pci.h | 9 +++ drivers/pci/probe.c | 1 + include/acpi/apei.h | 17 ++++++ include/uapi/linux/pci_regs.h | 3 + 6 files changed, 208 insertions(+), 2 deletions(-) -- 2.34.1