All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: sathyanarayanan.kuppuswamy@linux.intel.com
Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
	ashok.raj@intel.com
Subject: Re: [PATCH v18 00/11] Add Error Disconnect Recover (EDR) support
Date: Tue, 31 Mar 2020 10:28:05 -0500	[thread overview]
Message-ID: <20200331152805.GA188783@google.com> (raw)
In-Reply-To: <cover.1585000084.git.sathyanarayanan.kuppuswamy@linux.intel.com>

On Mon, Mar 23, 2020 at 05:25:57PM -0700, sathyanarayanan.kuppuswamy@linux.intel.com wrote:
> From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
> 
> 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
> 
> Changes since v17 + Bjorns changes:
>  * This version is based on Bjorn's review/edr branch.
>  * Moved {pciehp,shpchp}_is_native() function definitions to pci.c and
>    removed it's CONFIG_ACPI dependency.
>  * Modified dpc_reset_link() function to return PCI_ERS_RESULT_NEED_RESET
>    when hotplug is not supported or enabled in kernel.
>  * Modified reset_link() function to handle PCI_ERS_RESULT_NEED_RESET as
>    valid return value.
>  * Moved the implementation of reset_link() function to pcie_do_recovery()
>    and renamed function callback parameter from reset_cb to reset_link.
>  * Moved the order of pci_acpi_add_edr_notifier() and
>    pci_acpi_remove_edr_notifier() calls in pci_acpi_setup() and
>    pci_acpi_cleanup() above wakeup capable support checks.
>  * Used acpi_check_dsm() to check whether given _DSM is supported or
>    not in edr.c.
> 
> Changes since v16:
>  * Removed reset_link from pcie_port_service_driver.
>  * Removed pcie_port_find_service().
>  * Added pci_dpc_init() in pci_init_capabilities().
> 
> Changes since v15:
>  * Splitted Patch # 3 in previous set into multiple patches.
>  * Refactored EDR driver use pci_dev instead of dpc_dev.
>  * Added some debug logs to EDR driver.
>  * Used pci_aer_raw_clear_status() for clearing AER errors in EDR path.
>  * Addressed other comments from Bjorn.
>  * Rebased patches on top of Bjorns "PCI/DPC: Move data to struct pci_dev" patch.
> 
> Changes since v14:
>  * Rebased on top of v5.6-rc1
> 
> 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
> 
> Bjorn Helgaas (1):
>   PCI/DPC: Move DPC data into struct pci_dev
> 
> Kuppuswamy Sathyanarayanan (10):
>   PCI/ERR: Update error status after reset_link()
>   PCI: move {pciehp,shpchp}_is_native() definitions to pci.c
>   PCI/DPC: Fix DPC recovery issue in non hotplug case
>   PCI/ERR: Remove service dependency in pcie_do_recovery()
>   PCI/ERR: Return status of pcie_do_recovery()
>   PCI/DPC: Cache DPC capabilities in pci_init_capabilities()
>   PCI/AER: Add pci_aer_raw_clear_status() to unconditionally clear Error
>     Status
>   PCI/DPC: Expose dpc_process_error(), dpc_reset_link() for use by EDR
>   PCI/DPC: Add Error Disconnect Recover (EDR) support
>   PCI/AER: Rationalize error status register clearing

Applied to pci/edr for v5.7, except these two:

    PCI: move {pciehp,shpchp}_is_native() definitions to pci.c
    PCI/DPC: Fix DPC recovery issue in non hotplug case

>  Documentation/PCI/pcieaer-howto.rst       |  23 +-
>  drivers/acpi/pci_root.c                   |  15 ++
>  drivers/net/ethernet/intel/ice/ice_main.c |   4 +-
>  drivers/ntb/hw/idt/ntb_hw_idt.c           |   4 +-
>  drivers/pci/pci-acpi.c                    |  40 +---
>  drivers/pci/pci.c                         |  40 +++-
>  drivers/pci/pci.h                         |  13 +-
>  drivers/pci/pcie/Kconfig                  |  10 +
>  drivers/pci/pcie/Makefile                 |   1 +
>  drivers/pci/pcie/aer.c                    |  40 ++--
>  drivers/pci/pcie/dpc.c                    | 145 ++++++-------
>  drivers/pci/pcie/edr.c                    | 251 ++++++++++++++++++++++
>  drivers/pci/pcie/err.c                    |  67 ++----
>  drivers/pci/pcie/portdrv.h                |   5 -
>  drivers/pci/pcie/portdrv_core.c           |  21 --
>  drivers/pci/probe.c                       |   2 +
>  drivers/scsi/lpfc/lpfc_attr.c             |   4 +-
>  include/linux/acpi.h                      |   6 +-
>  include/linux/aer.h                       |   9 +-
>  include/linux/pci-acpi.h                  |   8 +
>  include/linux/pci.h                       |   6 +
>  include/linux/pci_hotplug.h               |   7 +-
>  22 files changed, 471 insertions(+), 250 deletions(-)
>  create mode 100644 drivers/pci/pcie/edr.c
> 
> -- 
> 2.17.1
> 

  parent reply	other threads:[~2020-03-31 15:28 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-24  0:25 [PATCH v18 00/11] Add Error Disconnect Recover (EDR) support sathyanarayanan.kuppuswamy
2020-03-24  0:25 ` [PATCH v18 01/11] PCI/ERR: Update error status after reset_link() sathyanarayanan.kuppuswamy
2020-03-24  0:25 ` [PATCH v18 02/11] PCI: move {pciehp,shpchp}_is_native() definitions to pci.c sathyanarayanan.kuppuswamy
2020-03-24  0:26 ` [PATCH v18 03/11] PCI/DPC: Fix DPC recovery issue in non hotplug case sathyanarayanan.kuppuswamy
2020-03-24 23:49   ` Bjorn Helgaas
2020-03-25  1:17     ` Kuppuswamy, Sathyanarayanan
2020-03-28 17:10       ` Bjorn Helgaas
2020-03-28 22:04         ` Kuppuswamy, Sathyanarayanan
2020-03-28 22:21           ` Bjorn Helgaas
2020-03-28 22:40             ` Kuppuswamy, Sathyanarayanan
2020-03-24  0:26 ` [PATCH v18 04/11] PCI/DPC: Move DPC data into struct pci_dev sathyanarayanan.kuppuswamy
2020-03-24  0:26 ` [PATCH v18 05/11] PCI/ERR: Remove service dependency in pcie_do_recovery() sathyanarayanan.kuppuswamy
2020-03-28 21:12   ` Kuppuswamy, Sathyanarayanan
2020-03-28 21:32     ` Bjorn Helgaas
2020-03-28 21:55       ` Kuppuswamy, Sathyanarayanan
2020-03-28 22:16         ` Bjorn Helgaas
2020-03-24  0:26 ` [PATCH v18 06/11] PCI/ERR: Return status of pcie_do_recovery() sathyanarayanan.kuppuswamy
2020-03-24  0:26 ` [PATCH v18 07/11] PCI/DPC: Cache DPC capabilities in pci_init_capabilities() sathyanarayanan.kuppuswamy
2020-03-24  0:26 ` [PATCH v18 08/11] PCI/AER: Add pci_aer_raw_clear_status() to unconditionally clear Error Status sathyanarayanan.kuppuswamy
2020-03-24  0:26 ` [PATCH v18 09/11] PCI/DPC: Expose dpc_process_error(), dpc_reset_link() for use by EDR sathyanarayanan.kuppuswamy
2020-03-24  0:26 ` [PATCH v18 10/11] PCI/DPC: Add Error Disconnect Recover (EDR) support sathyanarayanan.kuppuswamy
2020-03-24 21:37   ` Bjorn Helgaas
2020-03-25  1:00     ` Kuppuswamy, Sathyanarayanan
2020-03-26 22:36       ` Bjorn Helgaas
2024-04-11 18:07   ` Bjorn Helgaas
2024-04-11 19:16     ` Kuppuswamy Sathyanarayanan
2020-03-24  0:26 ` [PATCH v18 11/11] PCI/AER: Rationalize error status register clearing sathyanarayanan.kuppuswamy
2020-03-31 15:28 ` Bjorn Helgaas [this message]
2020-03-31 16:28   ` [PATCH v18 00/11] Add Error Disconnect Recover (EDR) support Kuppuswamy, Sathyanarayanan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200331152805.GA188783@google.com \
    --to=helgaas@kernel.org \
    --cc=ashok.raj@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=sathyanarayanan.kuppuswamy@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.