Re: [PATCH v9 4/7] PCI/DPC: Unify and plumb error handling into DPC

From: poza
Date: Fri Feb 23 2018 - 00:22:58 EST


On 2018-02-23 00:53, Randy Dunlap wrote:
On 02/21/2018 11:46 PM, Oza Pawandeep wrote:
Current DPC driver does not do recovery, e.g. calling end-point's driver's
callbacks, which sanitize the sw.

DPC driver implements link_reset callback, and calls pci_do_recovery.

Hi,
What does DPC mean?


DPC (Downstream port containment) is PCIe RP or Switch feature, which if detects FATAL error messages
halts the outgoing traffic, and PCIe link reset and quiescence activities are taken care by HW, and recovery is made.
followed by that; normal operation can be resumed.

Signed-off-by: Oza Pawandeep <poza@xxxxxxxxxxxxxx>


diff --git a/drivers/pci/pcie/pcie-dpc.c b/drivers/pci/pcie/pcie-dpc.c
index 38e40c6..208b427 100644
--- a/drivers/pci/pcie/pcie-dpc.c
+++ b/drivers/pci/pcie/pcie-dpc.c

@@ -82,12 +137,25 @@ static void dpc_wait_link_inactive(struct dpc_dev *dpc)
dev_warn(dev, "Link state not disabled for DPC event\n");
}

+/**
+ * dpc_reset_link - reset link DPC routine
+ * @dev: pointer to Root Port's pci_dev data structure

* @pdev: ...

+ *
+ * Invoked by Port Bus driver when performing link reset at Root Port.
+ */
+static pci_ers_result_t dpc_reset_link(struct pci_dev *pdev)
{

You can use 'make W=1 ...' to find kernel-doc warnings like this.


sure thanks for this tip.

ps: I am going to post v11 to address some comments.
thanks,