mbox series

[v2,0/3] Parse the HEST PCIe AER and set to relevant registers

Message ID 20231218030430.783495-1-LeoLiu-oc@zhaoxin.com
Headers show
Series Parse the HEST PCIe AER and set to relevant registers | expand

Message

LeoLiu-oc Dec. 18, 2023, 3:04 a.m. UTC
From: LeoLiuoc <LeoLiu-oc@zhaoxin.com>

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. This patch is an
effective supplement to _HPP/_HPX method when the Firmware does not
support the _HPP/_HPX method and can be specially configured for the AER
register of the specific device.

---

v1->v2:
- Move the definition of structure "hest_parse_aer_info" to file apei.h.

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      | 69 +++++++++++++++++++++++-
 drivers/pci/pci-acpi.c        | 98 +++++++++++++++++++++++++++++++++++
 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, 195 insertions(+), 2 deletions(-)

Comments

Bjorn Helgaas May 8, 2024, 10:04 p.m. UTC | #1
On Mon, Dec 18, 2023 at 11:04:27AM +0800, LeoLiu-oc wrote:
> From: LeoLiuoc <LeoLiu-oc@zhaoxin.com>
> 
> 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. This patch is an
> effective supplement to _HPP/_HPX method when the Firmware does not
> support the _HPP/_HPX method and can be specially configured for the AER
> register of the specific device.
> 
> ---
> 
> v1->v2:
> - Move the definition of structure "hest_parse_aer_info" to file apei.h.

Just noticed that this removes the ACPICA header dependency problem
that Rafael pointed out.  This also applies (with minor offsets) to
v6.9-rc1, so it's not very stale.  We're almost to the v6.9 final
release, so when v6.10-rc1 is tagged, can you rebase to that and
repost this?

I assume you have a platform that uses this.  It would be good to
mention that in the commit log of patches 1 and 3 so we have some idea
of where it's useful and where changes need to be tested.

> 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      | 69 +++++++++++++++++++++++-
>  drivers/pci/pci-acpi.c        | 98 +++++++++++++++++++++++++++++++++++
>  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, 195 insertions(+), 2 deletions(-)
> 
> -- 
> 2.34.1
>
LeoLiu-oc May 9, 2024, 8:39 a.m. UTC | #2
在 2024/5/9 6:04, Bjorn Helgaas 写道:
> 
> 
> [这封邮件来自外部发件人 谨防风险]
> 
> On Mon, Dec 18, 2023 at 11:04:27AM +0800, LeoLiu-oc wrote:
>> From: LeoLiuoc <LeoLiu-oc@zhaoxin.com>
>>
>> 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. This patch is an
>> effective supplement to _HPP/_HPX method when the Firmware does not
>> support the _HPP/_HPX method and can be specially configured for the AER
>> register of the specific device.
>>
>> ---
>>
>> v1->v2:
>> - Move the definition of structure "hest_parse_aer_info" to file apei.h.
> 
> Just noticed that this removes the ACPICA header dependency problem
> that Rafael pointed out.  This also applies (with minor offsets) to
> v6.9-rc1, so it's not very stale.  We're almost to the v6.9 final
> release, so when v6.10-rc1 is tagged, can you rebase to that and
> repost this?
> 

Thank you very much for your review. I will make a new patch version 
based on the kernel v6.10-rc1 according to your suggestion.

> I assume you have a platform that uses this.  It would be good to
> mention that in the commit log of patches 1 and 3 so we have some idea
> of where it's useful and where changes need to be tested.
> 
Okay, I will add hardware suitability information for this patch to the 
commit log.

Yours sincerely
Leoliu-oc

>> 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      | 69 +++++++++++++++++++++++-
>>   drivers/pci/pci-acpi.c        | 98 +++++++++++++++++++++++++++++++++++
>>   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, 195 insertions(+), 2 deletions(-)
>>
>> --
>> 2.34.1
>>