lkml.org 
[lkml]   [2018]   [Feb]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v8 0/7] Address error and recovery for AER and DPC
    Date
    This patch set brings in error handling support for DPC

    The current implementation of AER and error message broadcasting to the
    EP driver is tightly coupled and limited to AER service driver.
    It is important to factor out broadcasting and other link handling
    callbacks. So that not only when AER gets triggered, but also when DPC get
    triggered (for e.g. ERR_FATAL), callbacks are handled appropriately.

    DPC should enumerate the devices after recovering the link, which is
    achieved by implementing error_resume callback.

    Changes since v7:
    Rebased the code on pci master
    > https://kernel.googlesource.com/pub/scm/linux/kernel/git/helgaas/pci
    Changes since v6:
    Sinan's and Stefan's comments implemented.
    > reordered patch 6 and 7
    > cleaned up
    Changes since v5:
    Sinan's and Keith's comments incorporated.
    > made separate patch for mutex
    > unified error repotting codes into driver/pci/pci.h
    > got rid of wait link active/inactive and
    made generic function in driver/pci/pci.c
    Changes since v4:
    Bjorn's comments incorporated.
    > Renamed only do_recovery.
    > moved the things more locally to drivers/pci/pci.h
    Changes since v3:
    Bjorn's comments incorporated.
    > Made separate patch renaming generic pci_err.c
    > Introduce pci_err.h to contain all the error types and recovery
    > removed all the dependencies on pci.h
    Changes since v2:
    Based on feedback from Keith:
    "
    When DPC is triggered due to receipt of an uncorrectable error Message,
    the Requester ID from the Message is recorded in the DPC Error
    Source ID register and that Message is discarded and not forwarded Upstream.
    "
    Removed the patch where AER checks if DPC service is active
    Changes since v1:
    Kbuild errors fixed:
    > pci_find_dpc_dev made static
    > ras_event.h updated
    > pci_find_aer_service call with CONFIG check
    > pci_find_dpc_service call with CONFIG check

    Oza Pawandeep (7):
    PCI/AER: Rename error recovery to generic pci naming
    PCI/AER: factor out error reporting from AER
    PCI/ERR: add mutex to synchronize recovery
    PCI/DPC: Unify and plumb error handling into DPC
    PCI/AER: Unify aer error defines at single space
    PCI/DPC: Enumerate the devices after DPC trigger event
    PCI: Unify wait for link active into generic pci

    drivers/acpi/apei/ghes.c | 1 +
    drivers/pci/hotplug/pciehp_hpc.c | 21 +-
    drivers/pci/pci.c | 39 +++-
    drivers/pci/pci.h | 11 +
    drivers/pci/pcie/Makefile | 2 +-
    drivers/pci/pcie/aer/aerdrv.h | 30 ---
    drivers/pci/pcie/aer/aerdrv_core.c | 293 +-------------------------
    drivers/pci/pcie/aer/aerdrv_errprint.c | 1 +
    drivers/pci/pcie/pcie-dpc.c | 115 ++++++++++-
    drivers/pci/pcie/pcie-err.c | 366 +++++++++++++++++++++++++++++++++
    drivers/pci/pcie/portdrv.h | 2 +
    include/linux/aer.h | 4 -
    include/linux/pci.h | 1 +
    13 files changed, 534 insertions(+), 352 deletions(-)
    create mode 100644 drivers/pci/pcie/pcie-err.c

    --
    Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.,
    a Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

    \
     
     \ /
      Last update: 2018-02-21 11:28    [W:2.642 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site