mbox series

[v4,0/3] Fully enable AER

Message ID 20220125071820.2247260-1-sr@denx.de
Headers show
Series Fully enable AER | expand

Message

Stefan Roese Jan. 25, 2022, 7:18 a.m. UTC
While working on AER support on a ZynqMP based system, which has some
PCIe Device connected via a PCIe switch, problems with AER enabling in
the Device Control registers of all PCIe devices but the Root Port. In
fact, only the Root Port has AER enabled right now. This patch set now
fixes this problem by first fixing the AER enabing in the
interconnected PCIe switches between the Root Port and the PCIe
devices and in a 2nd patch, also enabling AER in the PCIe Endpoints.

Please note that these changes are quite invasive, as with these
patches applied, AER now will be enabled in the Device Control
registers of all available PCIe Endpoints, which currently is not the
case.

Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
Cc: Bjorn Helgaas <helgaas@kernel.org>
Cc: Pali Rohár <pali@kernel.org>
Cc: Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Yao Hongbo <yaohongbo@linux.alibaba.com>
Cc: Naveen Naidu <naveennaidu479@gmail.com>

Stefan Roese (3):
  PCI/AER: Call pcie_set_ecrc_checking() for each PCIe device
  PCI/portdrv: Don't disable AER reporting in
    get_port_device_capability()
  PCI/AER: Enable AER on all PCIe devices supporting it

 drivers/pci/pcie/aer.c          | 10 +++++++---
 drivers/pci/pcie/portdrv_core.c |  9 +--------
 2 files changed, 8 insertions(+), 11 deletions(-)

Comments

Stefan Roese March 24, 2022, 4:55 p.m. UTC | #1
On 1/25/22 08:18, Stefan Roese wrote:
> While working on AER support on a ZynqMP based system, which has some
> PCIe Device connected via a PCIe switch, problems with AER enabling in
> the Device Control registers of all PCIe devices but the Root Port. In
> fact, only the Root Port has AER enabled right now. This patch set now
> fixes this problem by first fixing the AER enabing in the
> interconnected PCIe switches between the Root Port and the PCIe
> devices and in a 2nd patch, also enabling AER in the PCIe Endpoints.
> 
> Please note that these changes are quite invasive, as with these
> patches applied, AER now will be enabled in the Device Control
> registers of all available PCIe Endpoints, which currently is not the
> case.
> 
> Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
> Cc: Bjorn Helgaas <helgaas@kernel.org>
> Cc: Pali Rohár <pali@kernel.org>
> Cc: Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com>
> Cc: Michal Simek <michal.simek@xilinx.com>
> Cc: Yao Hongbo <yaohongbo@linux.alibaba.com>
> Cc: Naveen Naidu <naveennaidu479@gmail.com>
> 
> Stefan Roese (3):
>    PCI/AER: Call pcie_set_ecrc_checking() for each PCIe device
>    PCI/portdrv: Don't disable AER reporting in
>      get_port_device_capability()
>    PCI/AER: Enable AER on all PCIe devices supporting it
> 
>   drivers/pci/pcie/aer.c          | 10 +++++++---
>   drivers/pci/pcie/portdrv_core.c |  9 +--------
>   2 files changed, 8 insertions(+), 11 deletions(-)
> 

Bjorn, what's the status of this patchset? I know this is sensible
stuff, to fully enable PCIe AER. How should be handle this? Do you
plan to pull this soon'ish? Please let me know if something is missing.

Thanks,
Stefan
Stefan Roese April 4, 2022, 10:36 a.m. UTC | #2
On 3/24/22 17:55, Stefan Roese wrote:
> On 1/25/22 08:18, Stefan Roese wrote:
>> While working on AER support on a ZynqMP based system, which has some
>> PCIe Device connected via a PCIe switch, problems with AER enabling in
>> the Device Control registers of all PCIe devices but the Root Port. In
>> fact, only the Root Port has AER enabled right now. This patch set now
>> fixes this problem by first fixing the AER enabing in the
>> interconnected PCIe switches between the Root Port and the PCIe
>> devices and in a 2nd patch, also enabling AER in the PCIe Endpoints.
>>
>> Please note that these changes are quite invasive, as with these
>> patches applied, AER now will be enabled in the Device Control
>> registers of all available PCIe Endpoints, which currently is not the
>> case.
>>
>> Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
>> Cc: Bjorn Helgaas <helgaas@kernel.org>
>> Cc: Pali Rohár <pali@kernel.org>
>> Cc: Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com>
>> Cc: Michal Simek <michal.simek@xilinx.com>
>> Cc: Yao Hongbo <yaohongbo@linux.alibaba.com>
>> Cc: Naveen Naidu <naveennaidu479@gmail.com>
>>
>> Stefan Roese (3):
>>    PCI/AER: Call pcie_set_ecrc_checking() for each PCIe device
>>    PCI/portdrv: Don't disable AER reporting in
>>      get_port_device_capability()
>>    PCI/AER: Enable AER on all PCIe devices supporting it
>>
>>   drivers/pci/pcie/aer.c          | 10 +++++++---
>>   drivers/pci/pcie/portdrv_core.c |  9 +--------
>>   2 files changed, 8 insertions(+), 11 deletions(-)
>>
> 
> Bjorn, what's the status of this patchset? I know this is sensible
> stuff, to fully enable PCIe AER. How should be handle this? Do you
> plan to pull this soon'ish? Please let me know if something is missing.

Hi Bjorn,

maybe it helps, if I send the patchwork links for these patches as
well. Here we go:

https://patchwork.kernel.org/project/linux-pci/patch/20220125071820.2247260-2-sr@denx.de/
https://patchwork.kernel.org/project/linux-pci/patch/20220125071820.2247260-3-sr@denx.de/
https://patchwork.kernel.org/project/linux-pci/patch/20220125071820.2247260-4-sr@denx.de/

All 3 are delegated to you.

Thanks,
Stefan
Bjorn Helgaas July 11, 2022, 7:53 p.m. UTC | #3
On Tue, Jan 25, 2022 at 08:18:17AM +0100, Stefan Roese wrote:
> While working on AER support on a ZynqMP based system, which has some
> PCIe Device connected via a PCIe switch, problems with AER enabling in
> the Device Control registers of all PCIe devices but the Root Port. In
> fact, only the Root Port has AER enabled right now. This patch set now
> fixes this problem by first fixing the AER enabing in the
> interconnected PCIe switches between the Root Port and the PCIe
> devices and in a 2nd patch, also enabling AER in the PCIe Endpoints.
> 
> Please note that these changes are quite invasive, as with these
> patches applied, AER now will be enabled in the Device Control
> registers of all available PCIe Endpoints, which currently is not the
> case.
> 
> Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
> Cc: Bjorn Helgaas <helgaas@kernel.org>
> Cc: Pali Rohár <pali@kernel.org>
> Cc: Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com>
> Cc: Michal Simek <michal.simek@xilinx.com>
> Cc: Yao Hongbo <yaohongbo@linux.alibaba.com>
> Cc: Naveen Naidu <naveennaidu479@gmail.com>
> 
> Stefan Roese (3):
>   PCI/AER: Call pcie_set_ecrc_checking() for each PCIe device
>   PCI/portdrv: Don't disable AER reporting in
>     get_port_device_capability()
>   PCI/AER: Enable AER on all PCIe devices supporting it
> 
>  drivers/pci/pcie/aer.c          | 10 +++++++---
>  drivers/pci/pcie/portdrv_core.c |  9 +--------
>  2 files changed, 8 insertions(+), 11 deletions(-)

Applied to pci/err for v5.20, thanks and sorry for the delay.