-by: Bjorn Helgaas
Link:
https://lore.kernel.org/r/20201002184735.1229220-5-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Acked-by: Jonathan Cameron
Reviewed-by: Kuppuswamy Sathyanarayanan
---
drivers/pci/pci.h | 4 ++--
drivers/pci/pcie/err.c | 8
to AER/ERR
PCI/AER: Add RCEC AER error injection support
Sean V Kelley (12):
AER: aer_root_reset() non-native handling
PCI/RCEC: Cache RCEC capabilities in pci_init_capabilities()
PCI/ERR: Rename reset_link() to reset_subordinates()
PCI/ERR: Simplify by using pci_upstream_bridge()
ntification register.
Given the commonality with Root Ports and the need to also support AER and
PME services for RCECs, extend the Root Port driver to support RCEC devices
by adding the RCEC Class ID to the driver structure.
Co-developed-by: Sean V Kelley
Link:
https://lore.kernel.org/r/2020
-Precision-5520/
Signed-off-by: Sean V Kelley
---
drivers/pci/pcie/aer.c | 29 -
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index 65dff5f3457a..6fe2d4ef0635 100644
--- a/drivers/pci/pcie/aer.c
+++ b/d
them to
Root Ports and Downstream Ports.
Link:
https://lore.kernel.org/r/20201002184735.1229220-8-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Acked-by: Jonathan Cameron
---
drivers/pci/pcie/err.c | 31 +--
1 file changed, 25
Consolidate subordinate bus checks with pci_walk_bus() into
pci_walk_bridge() for walking below potentially AER affected bridges.
[bhelgaas: fix kerneldoc]
Suggested-by: Bjorn Helgaas
Link:
https://lore.kernel.org/r/20201002184735.1229220-7-seanvk@oregontracks.org
Signed-off-by: Sean V
Reverse the sense of the Root Port/Downstream Port conditional for clarity.
No functional change intended.
[bhelgaas: split to separate patch]
Link:
https://lore.kernel.org/r/20201002184735.1229220-6-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Acked-by
l.org/r/20201002184735.1229220-6-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Acked-by: Jonathan Cameron
Reviewed-by: Kuppuswamy Sathyanarayanan
---
drivers/pci/pcie/err.c | 37 -
1 file changed, 20 insertions(+), 17
current PME
service driver and attach the PME service driver to the RCEC device.
Co-developed-by: Qiuxu Zhuo
Link:
https://lore.kernel.org/r/20201002184735.1229220-14-seanvk@oregontracks.org
Signed-off-by: Qiuxu Zhuo
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
---
drivers/pci
device associated
with the RCiEP, there is nothing to act upon as the firmware is acting
before the OS.
Add handling for the linked RCEC in AER/ERR while taking into account
non-native cases.
Co-developed-by: Sean V Kelley
Link:
https://lore.kernel.org/r/20201002184735.1229220-12-seanvk
From: Qiuxu Zhuo
Root Complex Event Collectors (RCEC) appear as peers to Root Ports and may
also have the AER capability.
Add RCEC support to the AER error injection driver.
Co-developed-by: Sean V Kelley
Link:
https://lore.kernel.org/r/20201002184735.1229220-15-seanvk@oregontracks.org
/20201002184735.1229220-11-seanvk@oregontracks.org
Signed-off-by: Qiuxu Zhuo
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Reviewed-by: Jonathan Cameron
---
drivers/pci/pci.h | 2 +
drivers/pci/pcie/portdrv_pci.c | 3 ++
drivers/pci/pcie/rcec.c| 94
@oregontracks.org
Signed-off-by: Qiuxu Zhuo
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Reviewed-by: Jonathan Cameron
Reviewed-by: Kuppuswamy Sathyanarayanan
---
drivers/pci/pci.h | 6 ++
drivers/pci/pcie/aer.c | 29 ++---
drivers/pci/pcie
ter filling it]
Suggested-by: Bjorn Helgaas
Co-developed-by: Qiuxu Zhuo
Link:
https://lore.kernel.org/r/20201002184735.1229220-4-seanvk@oregontracks.org
Signed-off-by: Qiuxu Zhuo
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Reviewed-by: Jonathan Cameron
---
drivers/pci/pc
Use pci_upstream_bridge() in place of dev->bus->self. No functional change
intended.
[bhelgaas: split to separate patch]
Link:
https://lore.kernel.org/r/20201002184735.1229220-6-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Acked-by: Jonathan C
Instead of calling pci_pcie_type(dev) twice, call it once and save the
result. No functional change intended.
[bhelgaas: split to separate patch]
Link:
https://lore.kernel.org/r/20201002184735.1229220-6-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
them to
Root Ports and Downstream Ports.
Link:
https://lore.kernel.org/r/20201002184735.1229220-8-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Acked-by: Jonathan Cameron
---
drivers/pci/pcie/err.c | 31 +--
1 file changed, 25
@oregontracks.org
Signed-off-by: Qiuxu Zhuo
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Reviewed-by: Jonathan Cameron
---
drivers/pci/pci.h | 6 ++
drivers/pci/pcie/aer.c | 29 ++---
drivers/pci/pcie/rcec.c | 37
From: Qiuxu Zhuo
Root Complex Event Collectors (RCEC) appear as peers to Root Ports and may
also have the AER capability.
Add RCEC support to the AER error injection driver.
Co-developed-by: Sean V Kelley
Link:
https://lore.kernel.org/r/20201002184735.1229220-15-seanvk@oregontracks.org
current PME
service driver and attach the PME service driver to the RCEC device.
Co-developed-by: Qiuxu Zhuo
Link:
https://lore.kernel.org/r/20201002184735.1229220-14-seanvk@oregontracks.org
Signed-off-by: Qiuxu Zhuo
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
---
drivers/pci
/20201002184735.1229220-11-seanvk@oregontracks.org
Signed-off-by: Qiuxu Zhuo
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Reviewed-by: Jonathan Cameron
---
drivers/pci/pci.h | 2 +
drivers/pci/pcie/portdrv_pci.c | 3 ++
drivers/pci/pcie/rcec.c| 94
Consolidate subordinate bus checks with pci_walk_bus() into
pci_walk_bridge() for walking below potentially AER affected bridges.
[bhelgaas: fix kerneldoc]
Suggested-by: Bjorn Helgaas
Link:
https://lore.kernel.org/r/20201002184735.1229220-7-seanvk@oregontracks.org
Signed-off-by: Sean V
device associated
with the RCiEP, there is nothing to act upon as the firmware is acting
before the OS.
Add handling for the linked RCEC in AER/ERR while taking into account
non-native cases.
Co-developed-by: Sean V Kelley
Link:
https://lore.kernel.org/r/20201002184735.1229220-12-seanvk
-by: Bjorn Helgaas
Link:
https://lore.kernel.org/r/20201002184735.1229220-5-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Acked-by: Jonathan Cameron
---
drivers/pci/pci.h | 4 ++--
drivers/pci/pcie/err.c | 8
2 files changed, 6 insertions
Use pci_upstream_bridge() in place of dev->bus->self. No functional change
intended.
[bhelgaas: split to separate patch]
Link:
https://lore.kernel.org/r/20201002184735.1229220-6-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Acked-by: Jonathan C
Reverse the sense of the Root Port/Downstream Port conditional for clarity.
No functional change intended.
[bhelgaas: split to separate patch]
Link:
https://lore.kernel.org/r/20201002184735.1229220-6-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Acked-by
From: Qiuxu Zhuo
A PCIe Root Complex Event Collector (RCEC) has base class 0x08, sub-class
0x07, and programming interface 0x00. Add the class code 0x0807 to
identify RCEC devices and add #defines for the RCEC Endpoint Association
Extended Capability.
See PCIe r5.0, sec 1.3.4 ("Root Complex Eve
ter filling it]
Suggested-by: Bjorn Helgaas
Co-developed-by: Qiuxu Zhuo
Link:
https://lore.kernel.org/r/20201002184735.1229220-4-seanvk@oregontracks.org
Signed-off-by: Qiuxu Zhuo
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Reviewed-by: Jonathan Cameron
---
drivers/pci/pc
l.org/r/20201002184735.1229220-6-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Acked-by: Jonathan Cameron
---
drivers/pci/pcie/err.c | 37 -
1 file changed, 20 insertions(+), 17 deletions(-)
diff --git a/driver
Instead of calling pci_pcie_type(dev) twice, call it once and save the
result. No functional change intended.
[bhelgaas: split to separate patch]
Link:
https://lore.kernel.org/r/20201002184735.1229220-6-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Add RCEC class code and extended capability
PCI/RCEC: Bind RCEC devices to the Root Port driver
PCI/RCEC: Add RCiEP's linked RCEC to AER/ERR
PCI/AER: Add RCEC AER error injection support
Sean V Kelley (12):
AER: aer_root_reset() non-native handling
PCI/RCEC: Cache RCEC capabilit
ntification register.
Given the commonality with Root Ports and the need to also support AER and
PME services for RCECs, extend the Root Port driver to support RCEC devices
by adding the RCEC Class ID to the driver structure.
Co-developed-by: Sean V Kelley
Link:
https://lore.kernel.org/r/2020
-Precision-5520/
Signed-off-by: Sean V Kelley
---
drivers/pci/pcie/aer.c | 29 -
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index 65dff5f3457a..6fe2d4ef0635 100644
--- a/drivers/pci/pcie/aer.c
+++ b/d
On 14 Nov 2020, at 7:37, Bjorn Helgaas wrote:
On Wed, Nov 04, 2020 at 03:22:44PM -0800, Sean V Kelley wrote:
If an OS has not been granted AER control via _OSC, then
the OS should not make changes to PCI_ERR_ROOT_COMMAND and
PCI_ERR_ROOT_STATUS related registers. Per section 4.5.1 of
the
On 5 Nov 2020, at 16:14, Sean V Kelley wrote:
From: Qiuxu Zhuo
When attempting error recovery for an RCiEP associated with an RCEC
device,
there needs to be a way to update the Root Error Status, the
Uncorrectable
Error Status and the Uncorrectable Error Severity of the parent RCEC.
In
ter filling it]
Suggested-by: Bjorn Helgaas
Co-developed-by: Qiuxu Zhuo
Link:
https://lore.kernel.org/r/20201002184735.1229220-4-seanvk@oregontracks.org
Signed-off-by: Qiuxu Zhuo
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Reviewed-by: Jonathan Cameron
---
drivers/pci/pc
Instead of calling pci_pcie_type(dev) twice, call it once and save the
result. No functional change intended.
[bhelgaas: split to separate patch]
Link:
https://lore.kernel.org/r/20201002184735.1229220-6-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
them to
Root Ports and Downstream Ports.
Link:
https://lore.kernel.org/r/20201002184735.1229220-8-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Acked-by: Jonathan Cameron
---
drivers/pci/pcie/err.c | 31 +--
1 file changed, 25
From: Qiuxu Zhuo
A PCIe Root Complex Event Collector (RCEC) has base class 0x08, sub-class
0x07, and programming interface 0x00. Add the class code 0x0807 to
identify RCEC devices and add #defines for the RCEC Endpoint Association
Extended Capability.
See PCIe r5.0, sec 1.3.4 ("Root Complex Eve
Reverse the sense of the Root Port/Downstream Port conditional for clarity.
No functional change intended.
[bhelgaas: split to separate patch]
Link:
https://lore.kernel.org/r/20201002184735.1229220-6-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Acked-by
From: Qiuxu Zhuo
Root Complex Event Collectors (RCEC) appear as peers to Root Ports and may
also have the AER capability.
Add RCEC support to the AER error injection driver.
Co-developed-by: Sean V Kelley
Link:
https://lore.kernel.org/r/20201002184735.1229220-15-seanvk@oregontracks.org
-by: Bjorn Helgaas
Link:
https://lore.kernel.org/r/20201002184735.1229220-5-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Acked-by: Jonathan Cameron
---
drivers/pci/pci.h | 4 ++--
drivers/pci/pcie/err.c | 8
2 files changed, 6 insertions
ntification register.
Given the commonality with Root Ports and the need to also support AER and
PME services for RCECs, extend the Root Port driver to support RCEC devices
by adding the RCEC Class ID to the driver structure.
Co-developed-by: Sean V Kelley
Link:
https://lore.kernel.org/r/2020
jection support
Sean V Kelley (12):
AER: aer_root_reset() non-native handling
PCI/RCEC: Cache RCEC capabilities in pci_init_capabilities()
PCI/ERR: Rename reset_link() to reset_subordinates()
PCI/ERR: Simplify by using pci_upstream_bridge()
PCI/ERR: Simplify by computing pci_pcie_type() once
-Precision-5520/
Signed-off-by: Sean V Kelley
---
drivers/pci/pcie/aer.c | 31 +--
1 file changed, 17 insertions(+), 14 deletions(-)
diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index 65dff5f3457a..4ab379fa1506 100644
--- a/drivers/pci/pcie/aer.c
+++
/20201002184735.1229220-11-seanvk@oregontracks.org
Signed-off-by: Qiuxu Zhuo
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Reviewed-by: Jonathan Cameron
---
drivers/pci/pci.h | 2 +
drivers/pci/pcie/portdrv_pci.c | 3 ++
drivers/pci/pcie/rcec.c| 94
device associated
with the RCiEP, there is nothing to act upon as the firmware is acting
before the OS.
Add handling for the linked RCEC in AER/ERR while taking into account
non-native cases.
Co-developed-by: Sean V Kelley
Link:
https://lore.kernel.org/r/20201002184735.1229220-12-seanvk
Use pci_upstream_bridge() in place of dev->bus->self. No functional change
intended.
[bhelgaas: split to separate patch]
Link:
https://lore.kernel.org/r/20201002184735.1229220-6-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Acked-by: Jonathan C
current PME
service driver and attach the PME service driver to the RCEC device.
Co-developed-by: Qiuxu Zhuo
Link:
https://lore.kernel.org/r/20201002184735.1229220-14-seanvk@oregontracks.org
Signed-off-by: Qiuxu Zhuo
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
---
drivers/pci
@oregontracks.org
Signed-off-by: Qiuxu Zhuo
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Reviewed-by: Jonathan Cameron
---
drivers/pci/pci.h | 6 ++
drivers/pci/pcie/aer.c | 29 ++---
drivers/pci/pcie/rcec.c | 37
l.org/r/20201002184735.1229220-6-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
Acked-by: Jonathan Cameron
---
drivers/pci/pcie/err.c | 37 -
1 file changed, 20 insertions(+), 17 deletions(-)
diff --git a/driver
Consolidate subordinate bus checks with pci_walk_bus() into
pci_walk_bridge() for walking below potentially AER affected bridges.
[bhelgaas: fix kerneldoc]
Suggested-by: Bjorn Helgaas
Link:
https://lore.kernel.org/r/20201002184735.1229220-7-seanvk@oregontracks.org
Signed-off-by: Sean V
-Precision-5520/
Signed-off-by: Sean V Kelley
---
Changes since V2 :
Fixed an unfortunate copy/paste error.
Changes since V1 [1]:
Noted lack of historical context on isolation of both the
pci_bus_error_reset() and the clearing of Root Error Status. In fact,
the call to aer_enable_rootport(
-Precision-5520/
Signed-off-by: Sean V Kelley
---
Changes since V1 [1]:
Noted lack of historical context on isolation of both the
pci_bus_error_reset() and the clearing of Root Error Status. In fact,
the call to aer_enable_rootport() likewise disables system error generation
in response to erro
On 1 Nov 2020, at 22:27, Ethan Zhao wrote:
On Sat, Oct 31, 2020 at 6:36 AM Sean V Kelley
wrote:
If an OS has not been granted AER control via _OSC, then
the OS should not make changes to PCI_ERR_ROOT_COMMAND and
PCI_ERR_ROOT_STATUS related registers. Per section 4.5.1 of
the System Firmware
https://members.pcisig.com/wg/PCI-SIG/document/14076
[2]
https://lore.kernel.org/linux-pci/20201020162820.GA370938@bjorn-Precision-5520/
Signed-off-by: Sean V Kelley
---
drivers/pci/pcie/aer.c | 21 ++---
1 file changed, 6 insertions(+), 15 deletions(-)
diff --git a/driver
On 19 Oct 2020, at 11:59, Kuppuswamy, Sathyanarayanan wrote:
On 10/19/20 11:31 AM, Sean V Kelley wrote:
On 19 Oct 2020, at 3:49, Ethan Zhao wrote:
On Sat, Oct 17, 2020 at 6:29 AM Bjorn Helgaas
wrote:
[+cc Christoph, Ethan, Sinan, Keith; sorry should have cc'd you to
begin with
On Sat, 2020-10-17 at 09:14 -0700, Sean V Kelley wrote:
> On 16 Oct 2020, at 13:30, Bjorn Helgaas wrote:
>
> > [+to Jonathan]
> >
> > On Thu, Oct 15, 2020 at 05:11:10PM -0700, Sean V Kelley wrote:
> > > From: Qiuxu Zhuo
> > >
> > > When attemp
ans
OS is not in charge and should not be messing with AER I guess. That
seems appropriate to me then.
Thanks,
Sean
Thanks,
Ethan
On Fri, Oct 16, 2020 at 03:30:37PM -0500, Bjorn Helgaas wrote:
[+to Jonathan]
On Thu, Oct 15, 2020 at 05:11:10PM -0700, Sean V Kelley wrote:
From: Qiuxu
On 16 Oct 2020, at 13:30, Bjorn Helgaas wrote:
[+to Jonathan]
On Thu, Oct 15, 2020 at 05:11:10PM -0700, Sean V Kelley wrote:
From: Qiuxu Zhuo
When attempting error recovery for an RCiEP associated with an RCEC
device,
there needs to be a way to update the Root Error Status, the
On 16 Oct 2020, at 10:22, Bjorn Helgaas wrote:
On Thu, Oct 15, 2020 at 05:11:08PM -0700, Sean V Kelley wrote:
From: Sean V Kelley
In some cases a bridge may not exist as the hardware controlling may
be
handled only by firmware and so is not visible to the OS. This
scenario is
also possible
ntification register.
Given the commonality with Root Ports and the need to also support AER and
PME services for RCECs, extend the Root Port driver to support RCEC devices
by adding the RCEC Class ID to the driver structure.
Co-developed-by: Sean V Kelley
Link:
https://lore.kernel.org/r/2020
From: Sean V Kelley
pcie_do_recovery() may be called with "dev" being either a bridge (Root
Port or Switch Downstream Port) or an Endpoint. The bulk of the function
deals with the bridge, so if we start with an Endpoint, we reset "dev" to
be the bridge leading to it.
For c
From: Sean V Kelley
Use pci_upstream_bridge() in place of dev->bus->self. No functional change
intended.
[bhelgaas: split to separate patch]
Link:
https://lore.kernel.org/r/20201002184735.1229220-6-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by: Bjorn Helgaas
From: Sean V Kelley
Instead of calling pci_pcie_type(dev) twice, call it once and save the
result. No functional change intended.
[bhelgaas: split to separate patch]
Link:
https://lore.kernel.org/r/20201002184735.1229220-6-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off
From: Sean V Kelley
Reverse the sense of the Root Port/Downstream Port conditional for clarity.
No functional change intended.
[bhelgaas: split to separate patch]
Link:
https://lore.kernel.org/r/20201002184735.1229220-6-seanvk@oregontracks.org
Signed-off-by: Sean V Kelley
Signed-off-by
From: Sean V Kelley
Consolidate subordinate bus checks with pci_walk_bus() into
pci_walk_bridge() for walking below potentially AER affected bridges.
[bhelgaas: fix kerneldoc]
Suggested-by: Bjorn Helgaas
Link:
https://lore.kernel.org/r/20201002184735.1229220-7-seanvk@oregontracks.org
From: Sean V Kelley
reset_link() appears to be misnamed. The point is to reset any devices
below a given bridge, so rename it to reset_subordinates() to make it clear
that we are passing a bridge with the intent to reset the devices below it.
[bhelgaas: fix reset_subordinate_device() typo
From: Sean V Kelley
Extend support for Root Complex Event Collectors by decoding and caching
the RCEC Endpoint Association Extended Capabilities when enumerating. Use
that cached information for later error source reporting. See PCIe r5.0,
sec 7.9.10.
[bhelgaas: make pci_rcec_init() void, set
From: Sean V Kelley
In some cases a bridge may not exist as the hardware controlling may be
handled only by firmware and so is not visible to the OS. This scenario is
also possible in future use cases involving non-native use of RCECs by
firmware.
Explicitly apply conditional logic around these
From: Sean V Kelley
Root Complex Event Collectors (RCEC) appear as peers to Root Ports and also
have the AER capability. In addition, actions need to be taken for
associated RCiEPs. In such cases the RCECs will need to be walked in order
to find and act upon their respective RCiEPs.
Extend the
From: Sean V Kelley
A Root Complex Event Collector terminates error and PME messages from
associated RCiEPs.
Use the RCEC Endpoint Association Extended Capability to identify
associated RCiEPs. Link the associated RCiEPs as the RCECs are enumerated.
Co-developed-by: Qiuxu Zhuo
Link:
https
device associated
with the RCiEP, there is nothing to act upon as the firmware is acting
before the OS.
Add handling for the linked RCEC in AER/ERR while taking into account
non-native cases.
Co-developed-by: Sean V Kelley
Link:
https://lore.kernel.org/r/20201002184735.1229220-12-seanvk
From: Qiuxu Zhuo
Root Complex Event Collectors (RCEC) appear as peers to Root Ports and may
also have the AER capability.
Add RCEC support to the AER error injection driver.
Co-developed-by: Sean V Kelley
Link:
https://lore.kernel.org/r/20201002184735.1229220-15-seanvk@oregontracks.org
From: Sean V Kelley
Root Complex Event Collectors (RCEC) appear as peers of Root Ports and also
have the PME capability. As with AER, there is a need to be able to walk
the RCiEPs associated with their RCEC for purposes of acting upon them with
callbacks.
Add RCEC support through the use of
From: Qiuxu Zhuo
A PCIe Root Complex Event Collector (RCEC) has base class 0x08, sub-class
0x07, and programming interface 0x00. Add the class code 0x0807 to
identify RCEC devices and add #defines for the RCEC Endpoint Association
Extended Capability.
See PCIe r5.0, sec 1.3.4 ("Root Complex Eve
From: Sean V Kelley
Changes since v8 [1] and based on discussion [2] and pci/err tree [3]:
- No functional changes. Tested with aer injection.
PCI/AER: Apply function level reset to RCiEP on fatal error
- Remove. Handle with pcie_flr() directly when adding linked RCEC to AER/ERR.
PCI/RCEC
On Mon, 2020-10-12 at 17:58 -0500, Bjorn Helgaas wrote:
> On Fri, Oct 09, 2020 at 11:51:39PM +, Kelley, Sean V wrote:
> > On Fri, 2020-10-09 at 15:07 -0700, Sean V Kelley wrote:
> > So I tested the following out, including your moving flr to aer.c:
> >
> >
On 9 Oct 2020, at 14:30, Bjorn Helgaas wrote:
On Fri, Oct 09, 2020 at 12:57:45PM -0500, Bjorn Helgaas wrote:
On Fri, Oct 02, 2020 at 11:47:32AM -0700, Sean V Kelley wrote:
From: Qiuxu Zhuo
When attempting error recovery for an RCiEP associated with an RCEC
device,
there needs to be a way
On 9 Oct 2020, at 14:27, Bjorn Helgaas wrote:
On Fri, Oct 02, 2020 at 11:47:29AM -0700, Sean V Kelley wrote:
From: Jonathan Cameron
Currently the kernel does not handle AER errors for Root Complex
integrated End Points (RCiEPs)[0]. These devices sit on a root bus
within
the Root Complex (RC
On 9 Oct 2020, at 11:53, Sean V Kelley wrote:
On 9 Oct 2020, at 11:34, Sean V Kelley wrote:
On 9 Oct 2020, at 11:26, Sean V Kelley wrote:
Hi Bjorn,
On 9 Oct 2020, at 10:57, Bjorn Helgaas wrote:
On Fri, Oct 02, 2020 at 11:47:32AM -0700, Sean V Kelley wrote:
From: Qiuxu Zhuo
When
On 9 Oct 2020, at 11:34, Sean V Kelley wrote:
On 9 Oct 2020, at 11:26, Sean V Kelley wrote:
Hi Bjorn,
On 9 Oct 2020, at 10:57, Bjorn Helgaas wrote:
On Fri, Oct 02, 2020 at 11:47:32AM -0700, Sean V Kelley wrote:
From: Qiuxu Zhuo
When attempting error recovery for an RCiEP associated with
On 9 Oct 2020, at 11:26, Sean V Kelley wrote:
Hi Bjorn,
On 9 Oct 2020, at 10:57, Bjorn Helgaas wrote:
On Fri, Oct 02, 2020 at 11:47:32AM -0700, Sean V Kelley wrote:
From: Qiuxu Zhuo
When attempting error recovery for an RCiEP associated with an RCEC
device,
there needs to be a way to
Hi Bjorn,
On 9 Oct 2020, at 10:57, Bjorn Helgaas wrote:
On Fri, Oct 02, 2020 at 11:47:32AM -0700, Sean V Kelley wrote:
From: Qiuxu Zhuo
When attempting error recovery for an RCiEP associated with an RCEC
device,
there needs to be a way to update the Root Error Status, the
Uncorrectable
From: Sean V Kelley
A Root Complex Event Collector provides support for
terminating error and PME messages from associated RCiEPs.
Make use of the RCEC Endpoint Association Extended Capability
to identify associated RCiEPs. Link the associated RCiEPs as
the RCECs are enumerated.
Co-developed
From: Qiuxu Zhuo
The Root Complex Event Collectors (RCEC) appear as peers to Root Ports
and also have the AER capability. So add RCEC support to the current AER
error injection driver.
Signed-off-by: Qiuxu Zhuo
Co-developed-by: Sean V Kelley
Signed-off-by: Sean V Kelley
---
drivers/pci/pcie
From: Qiuxu Zhuo
Attempt to do a function level reset for an RCiEP on fatal error.
Signed-off-by: Qiuxu Zhuo
Reviewed-by: Jonathan Cameron
---
drivers/pci/pcie/err.c | 31 ++-
1 file changed, 22 insertions(+), 9 deletions(-)
diff --git a/drivers/pci/pcie/err.c b/d
From: Sean V Kelley
In some cases a bridge may not exist as the hardware
controlling may be handled only by firmware and so is
not visible to the OS. This scenario is also possible
in future use cases involving non-native use of RCECs
by firmware. So explicitly apply conditional logic
around
From: Sean V Kelley
Root Complex Event Collectors (RCEC) appear as peers of Root Ports
and also have the PME capability. As with AER, there is a need to be
able to walk the RCiEPs associated with their RCEC for purposes of
acting upon them with callbacks. So add RCEC support through the use
of
xpress Error Section
Signed-off-by: Jonathan Cameron
Signed-off-by: Sean V Kelley
---
drivers/pci/pcie/err.c | 25 -
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/drivers/pci/pcie/err.c b/drivers/pci/pcie/err.c
index 5ff1afa4763d..c4ceca42a3bf 100644
--- a/dr
re.
Co-developed-by: Sean V Kelley
Signed-off-by: Sean V Kelley
Signed-off-by: Qiuxu Zhuo
Reviewed-by: Jonathan Cameron
---
drivers/pci/pcie/portdrv_pci.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.
From: Sean V Kelley
reset_link() appears to be misnamed. The point is to really
reset any devices below a given bridge. So rename it to
reset_subordinate_devices() to make it clear that we are
passing a bridge with the intent to reset the devices below it.
Suggested-by: Bjorn Helgaas
Signed
From: Sean V Kelley
A generic term such as "bridge" may be used for something with
a subordinate bus. The mix of ports would benefit from a use of
the term. Further clarity can be had in pcie_do_recovery()
with use of pci_upstream_bridge() in place of dev->bus->self.
Reverse the
From: Sean V Kelley
Root Complex Event Collectors (RCEC) appear as peers to Root Ports
and also have the AER capability. In addition, actions need to be taken
for associated RCiEPs. In such cases the RCECs will need to be walked in
order to find and act upon their respective RCiEPs. Extend the
device
associated with the RCiEP, there is nothing to act upon as the firmware
is acting before the OS. So add handling for the linked 'rcec' in AER/ERR
while taking into account non-native cases.
Co-developed-by: Sean V Kelley
Signed-off-by: Sean V Kelley
Signed-off-by: Qiuxu Zhuo
R
From: Sean V Kelley
Changes since v7 [1]:
- No functional changes.
- Reword bridge patch.
- Noted testing below for #non-native/no RCEC case
(Jonathan Cameron)
- Separate out pci_walk_bus() into pci_walk_bridge() change.
- Put remaining dev to bridge name changes in the separate patch from v7
From: Qiuxu Zhuo
A PCIe Root Complex Event Collector (RCEC) has the base class 0x08,
sub-class 0x07, and programming interface 0x00. Add the class code
0x0807 to identify RCEC devices and add the defines for the RCEC
Endpoint Association Extended Capability.
See PCI Express Base Specification, v
From: Sean V Kelley
Extend support for Root Complex Event Collectors by decoding and
caching the RCEC Endpoint Association Extended Capabilities when
enumerating. Use that cached information for later error source
reporting. See PCI Express Base Specification, version 5.0-1,
section 7.9.10
From: Sean V Kelley
Consolidate subordinate bus checks with pci_walk_bus()
into pci_walk_bridge() for walking below potentially
AER affected bridges.
Suggested-by: Bjorn Helgaas
Signed-off-by: Sean V Kelley
---
drivers/pci/pcie/err.c | 29 ++---
1 file changed, 22
On 1 Oct 2020, at 16:14, Bjorn Helgaas wrote:
On Wed, Sep 30, 2020 at 02:58:14PM -0700, Sean V Kelley wrote:
From: Jonathan Cameron
Currently the kernel does not handle AER errors for Root Complex
integrated End Points (RCiEPs)[0]. These devices sit on a root bus
within
the Root Complex (RC
1 - 100 of 231 matches
Mail list logo