Re: [PATCH v14 0/5] Add Error Disconnect Recover (EDR) support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Bjorn,

On 2/12/20 6:38 AM, Bjorn Helgaas wrote:
On Fri, Feb 07, 2020 at 04:03:30PM -0800, sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx wrote:
From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>

This patchset adds support for following features:

1. Error Disconnect Recover (EDR) support.
2. _OSC based negotiation support for DPC.

You can find EDR spec in the following link.

https://members.pcisig.com/wg/PCI-SIG/document/12614
Hi Sathy,

Bad timing!  Linus tagged v5.6-rc1 on Feb 9, shortly after you posted
this.  Would you mind refreshing this so it applies on my "master"
branch (v5.6-rc1)?
Sure.

Changes since v13:
  * Moved all EDR related code to edr.c
  * Addressed Bjorns comments.

Changes since v12:
  * Addressed Bjorns comments.
  * Added check for CONFIG_PCIE_EDR before requesting DPC control from firmware.
  * Removed ff_check parameter from AER APIs.
  * Used macros for _OST return status values in DPC driver.

Changes since v11:
  * Allowed error recovery to proceed after successful reset_link().
  * Used correct ACPI handle for sending EDR status.
  * Rebased on top of v5.5-rc5

Changes since v10:
  * Added "edr_enabled" member to dpc priv structure, which is used to cache EDR
    enabling status based on status of pcie_ports_dpc_native and FF mode.
  * Changed type of _DSM argument from Integer to Package in acpi_enable_dpc_port()
    function to fix ACPI related boot warnings.
  * Rebased on top of v5.5-rc3

Changes since v9:
  * Removed caching of pcie_aer_get_firmware_first() in dpc driver.
  * Added proper spec reference in git log for patch 5 & 7.
  * Added new function parameter "ff_check" to pci_cleanup_aer_uncorrect_error_status(),
    pci_aer_clear_fatal_status() and pci_cleanup_aer_error_status_regs() functions.
  * Rebased on top of v5.4-rc5

Changes since v8:
  * Rebased on top of v5.4-rc1

Changes since v7:
  * Updated DSM version number to match the spec.

Changes since v6:
  * Modified the order of patches to enable EDR only after all necessary support is added in kernel.
  * Addressed Bjorn comments.

Changes since v5:
  * Addressed Keith's comments.
  * Added additional check for FF mode in pci_aer_init().
  * Updated commit history of "PCI/DPC: Add support for DPC recovery on NON_FATAL errors" patch.

Changes since v4:
  * Rebased on top of v5.3-rc1
  * Fixed lock/unlock issue in edr_handle_event().
  * Merged "Update error status after reset_link()" patch into this patchset.

Changes since v3:
  * Moved EDR related ACPI functions/definitions to pci-acpi.c
  * Modified commit history in few patches to include spec reference.
  * Added support to handle DPC triggered by NON_FATAL errors.
  * Added edr_lock to protect PCI device receiving duplicate EDR notifications.
  * Addressed Bjorn comments.

Changes since v2:
  * Split EDR support patch into multiple patches.
  * Addressed Bjorn comments.

Changes since v1:
  * Rebased on top of v5.1-rc1

Kuppuswamy Sathyanarayanan (5):
   PCI/ERR: Update error status after reset_link()
   PCI/DPC: Remove pcie_device reference from dpc_dev structure
   PCI/EDR: Export AER, DPC and error recovery functions
   PCI/DPC: Add Error Disconnect Recover (EDR) support
   PCI/ACPI: Enable EDR support

  drivers/acpi/pci_root.c   |  16 +++
  drivers/pci/pci-acpi.c    |   3 +
  drivers/pci/pci.h         |   8 ++
  drivers/pci/pcie/Kconfig  |  10 ++
  drivers/pci/pcie/Makefile |   1 +
  drivers/pci/pcie/aer.c    |  39 ++++--
  drivers/pci/pcie/dpc.c    |  92 ++++++++------
  drivers/pci/pcie/dpc.h    |  20 +++
  drivers/pci/pcie/edr.c    | 259 ++++++++++++++++++++++++++++++++++++++
  drivers/pci/pcie/err.c    |  35 ++++--
  drivers/pci/probe.c       |   1 +
  include/linux/acpi.h      |   6 +-
  include/linux/pci-acpi.h  |   8 ++
  include/linux/pci.h       |   1 +
  14 files changed, 441 insertions(+), 58 deletions(-)
  create mode 100644 drivers/pci/pcie/dpc.h
  create mode 100644 drivers/pci/pcie/edr.c

--
2.21.0

--
Sathyanarayanan Kuppuswamy
Linux kernel developer




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux