mbox series

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

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

Message

LeoLiu-oc July 18, 2024, 6:24 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.

v2->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".

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      |  66 +++++++++++++++++++++-
 drivers/pci/pci-acpi.c        | 101 ++++++++++++++++++++++++++++++++++
 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

Yazen Ghannam July 18, 2024, 3:46 p.m. UTC | #1
On Thu, Jul 18, 2024 at 02:24:02PM +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.
> 
> v2->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".
>

Please include a link to previous threads, if possible.

Thanks,
Yazen
Jonathan Cameron July 18, 2024, 4:43 p.m. UTC | #2
On Thu, 18 Jul 2024 11:46:46 -0400
Yazen Ghannam <yazen.ghannam@amd.com> wrote:

> On Thu, Jul 18, 2024 at 02:24:02PM +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.
> > 
> > v2->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".
> >  
> 
> Please include a link to previous threads, if possible.
Also, don't reply to previous thread.  Just send a new thread but
useful to include links to previous.

Given it's nested in my client, v2 is
https://lore.kernel.org/all/20231218030430.783495-1-LeoLiu-oc@zhaoxin.com/

> 
> Thanks,
> Yazen
>
Bjorn Helgaas Aug. 1, 2024, 11:57 p.m. UTC | #3
On Thu, Jul 18, 2024 at 02:24:02PM +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.

Just to close the loop on this, I'm assuming you'll rebase to
v6.11-rc1, fix the warnings from the robot, address Yazen's comment
and post a v4.

> v1->v2:
> - Move the definition of structure "hest_parse_aer_info" to file apei.h.
> 
> v2->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".
> 
> 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      |  66 +++++++++++++++++++++-
>  drivers/pci/pci-acpi.c        | 101 ++++++++++++++++++++++++++++++++++
>  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
>