+++ /dev/null
-From dc3cd91af19d69d02ecd896f08cc90833efdf7e2 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 25 Jan 2022 08:18:19 +0100
-Subject: PCI/portdrv: Don't disable AER reporting in
- get_port_device_capability()
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Stefan Roese <sr@denx.de>
-
-[ Upstream commit 8795e182b02dc87e343c79e73af6b8b7f9c5e635 ]
-
-AER reporting is currently disabled in the DevCtl registers of all non Root
-Port PCIe devices on systems using pcie_ports_native || host->native_aer,
-disabling AER completely in such systems. This is because 2bd50dd800b5
-("PCI: PCIe: Disable PCIe port services during port initialization"), added
-a call to pci_disable_pcie_error_reporting() *after* the AER setup was
-completed for the PCIe device tree.
-
-Here a longer analysis about the current status of AER enabling /
-disabling upon bootup provided by Bjorn:
-
- pcie_portdrv_probe
- pcie_port_device_register
- get_port_device_capability
- pci_disable_pcie_error_reporting
- clear CERE NFERE FERE URRE # <-- disable for RP USP DSP
- pcie_device_init
- device_register # new AER service device
- aer_probe
- aer_enable_rootport # RP only
- set_downstream_devices_error_reporting
- set_device_error_reporting # self (RP)
- if (RP || USP || DSP)
- pci_enable_pcie_error_reporting
- set CERE NFERE FERE URRE # <-- enable for RP
- pci_walk_bus
- set_device_error_reporting
- if (RP || USP || DSP)
- pci_enable_pcie_error_reporting
- set CERE NFERE FERE URRE # <-- enable for USP DSP
-
-In a typical Root Port -> Endpoint hierarchy, the above:
- - Disables Error Reporting for the Root Port,
- - Enables Error Reporting for the Root Port,
- - Does NOT enable Error Reporting for the Endpoint because it is not a
- Root Port or Switch Port.
-
-In a deeper Root Port -> Upstream Switch Port -> Downstream Switch
-Port -> Endpoint hierarchy:
- - Disables Error Reporting for the Root Port,
- - Enables Error Reporting for the Root Port,
- - Enables Error Reporting for both Switch Ports,
- - Does NOT enable Error Reporting for the Endpoint because it is not a
- Root Port or Switch Port,
- - Disables Error Reporting for the Switch Ports when pcie_portdrv_probe()
- claims them. AER does not re-enable it because these are not Root
- Ports.
-
-Remove this call to pci_disable_pcie_error_reporting() from
-get_port_device_capability(), leaving the already enabled AER configuration
-intact. With this change, AER is enabled in the Root Port and the PCIe
-switch upstream and downstream ports. Only the PCIe Endpoints don't have
-AER enabled yet. A follow-up patch will take care of this Endpoint
-enabling.
-
-Fixes: 2bd50dd800b5 ("PCI: PCIe: Disable PCIe port services during port initialization")
-Link: https://lore.kernel.org/r/20220125071820.2247260-3-sr@denx.de
-Signed-off-by: Stefan Roese <sr@denx.de>
-Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
-Reviewed-by: Pali Rohár <pali@kernel.org>
-Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
-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>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/pci/pcie/portdrv_core.c | 9 +--------
- 1 file changed, 1 insertion(+), 8 deletions(-)
-
-diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c
-index 7c37d815229e..216dd6e61624 100644
---- a/drivers/pci/pcie/portdrv_core.c
-+++ b/drivers/pci/pcie/portdrv_core.c
-@@ -218,15 +218,8 @@ static int get_port_device_capability(struct pci_dev *dev)
-
- #ifdef CONFIG_PCIEAER
- if (dev->aer_cap && pci_aer_available() &&
-- (pcie_ports_native || host->native_aer)) {
-+ (pcie_ports_native || host->native_aer))
- services |= PCIE_PORT_SERVICE_AER;
--
-- /*
-- * Disable AER on this port in case it's been enabled by the
-- * BIOS (the AER service driver will enable it when necessary).
-- */
-- pci_disable_pcie_error_reporting(dev);
-- }
- #endif
-
- /*
---
-2.35.1
-
memstick-ms_block-fix-some-incorrect-memory-allocati.patch
memstick-ms_block-fix-a-memory-leak.patch
mmc-sdhci-of-at91-fix-set_uhs_signaling-rewriting-of.patch
-pci-portdrv-don-t-disable-aer-reporting-in-get_port_.patch
scsi-smartpqi-fix-dma-direction-for-raid-requests.patch
usb-gadget-udc-amd5536-depends-on-has_dma.patch
rdma-hfi1-fix-potential-memory-leak-in-setup_base_ct.patch
+++ /dev/null
-From 2f4f9f5cf15f56abb4c1efb0905162e33d851834 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 25 Jan 2022 08:18:19 +0100
-Subject: PCI/portdrv: Don't disable AER reporting in
- get_port_device_capability()
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Stefan Roese <sr@denx.de>
-
-[ Upstream commit 8795e182b02dc87e343c79e73af6b8b7f9c5e635 ]
-
-AER reporting is currently disabled in the DevCtl registers of all non Root
-Port PCIe devices on systems using pcie_ports_native || host->native_aer,
-disabling AER completely in such systems. This is because 2bd50dd800b5
-("PCI: PCIe: Disable PCIe port services during port initialization"), added
-a call to pci_disable_pcie_error_reporting() *after* the AER setup was
-completed for the PCIe device tree.
-
-Here a longer analysis about the current status of AER enabling /
-disabling upon bootup provided by Bjorn:
-
- pcie_portdrv_probe
- pcie_port_device_register
- get_port_device_capability
- pci_disable_pcie_error_reporting
- clear CERE NFERE FERE URRE # <-- disable for RP USP DSP
- pcie_device_init
- device_register # new AER service device
- aer_probe
- aer_enable_rootport # RP only
- set_downstream_devices_error_reporting
- set_device_error_reporting # self (RP)
- if (RP || USP || DSP)
- pci_enable_pcie_error_reporting
- set CERE NFERE FERE URRE # <-- enable for RP
- pci_walk_bus
- set_device_error_reporting
- if (RP || USP || DSP)
- pci_enable_pcie_error_reporting
- set CERE NFERE FERE URRE # <-- enable for USP DSP
-
-In a typical Root Port -> Endpoint hierarchy, the above:
- - Disables Error Reporting for the Root Port,
- - Enables Error Reporting for the Root Port,
- - Does NOT enable Error Reporting for the Endpoint because it is not a
- Root Port or Switch Port.
-
-In a deeper Root Port -> Upstream Switch Port -> Downstream Switch
-Port -> Endpoint hierarchy:
- - Disables Error Reporting for the Root Port,
- - Enables Error Reporting for the Root Port,
- - Enables Error Reporting for both Switch Ports,
- - Does NOT enable Error Reporting for the Endpoint because it is not a
- Root Port or Switch Port,
- - Disables Error Reporting for the Switch Ports when pcie_portdrv_probe()
- claims them. AER does not re-enable it because these are not Root
- Ports.
-
-Remove this call to pci_disable_pcie_error_reporting() from
-get_port_device_capability(), leaving the already enabled AER configuration
-intact. With this change, AER is enabled in the Root Port and the PCIe
-switch upstream and downstream ports. Only the PCIe Endpoints don't have
-AER enabled yet. A follow-up patch will take care of this Endpoint
-enabling.
-
-Fixes: 2bd50dd800b5 ("PCI: PCIe: Disable PCIe port services during port initialization")
-Link: https://lore.kernel.org/r/20220125071820.2247260-3-sr@denx.de
-Signed-off-by: Stefan Roese <sr@denx.de>
-Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
-Reviewed-by: Pali Rohár <pali@kernel.org>
-Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
-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>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/pci/pcie/portdrv_core.c | 9 +--------
- 1 file changed, 1 insertion(+), 8 deletions(-)
-
-diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c
-index 8637f6068f9c..066406d6d0ee 100644
---- a/drivers/pci/pcie/portdrv_core.c
-+++ b/drivers/pci/pcie/portdrv_core.c
-@@ -222,15 +222,8 @@ static int get_port_device_capability(struct pci_dev *dev)
-
- #ifdef CONFIG_PCIEAER
- if (dev->aer_cap && pci_aer_available() &&
-- (pcie_ports_native || host->native_aer)) {
-+ (pcie_ports_native || host->native_aer))
- services |= PCIE_PORT_SERVICE_AER;
--
-- /*
-- * Disable AER on this port in case it's been enabled by the
-- * BIOS (the AER service driver will enable it when necessary).
-- */
-- pci_disable_pcie_error_reporting(dev);
-- }
- #endif
-
- /*
---
-2.35.1
-
memstick-ms_block-fix-some-incorrect-memory-allocati.patch
memstick-ms_block-fix-a-memory-leak.patch
mmc-sdhci-of-at91-fix-set_uhs_signaling-rewriting-of.patch
-pci-portdrv-don-t-disable-aer-reporting-in-get_port_.patch
scsi-smartpqi-fix-dma-direction-for-raid-requests.patch
usb-gadget-udc-amd5536-depends-on-has_dma.patch
rdma-hns-fix-incorrect-clearing-of-interrupt-status-.patch