Messages in this thread | | | Subject | Re: [PATCH v3 1/5] PCI: dra7xx: Use threaded IRQ handler for "dra7xx-pcie-main" IRQ | From | Kishon Vijay Abraham I <> | Date | Tue, 11 Oct 2022 18:07:47 +0530 |
| |
On 06/10/22 7:19 pm, Manivannan Sadhasivam wrote: > The "dra7xx-pcie-main" hard IRQ handler is just printing the IRQ status > and calling the dw_pcie_ep_linkup() API if LINK_UP status is set. But the > execution of dw_pcie_ep_linkup() depends on the EPF driver and may take > more time depending on the EPF implementation. > > In general, hard IRQ handlers are supposed to return quickly and not block > for so long. Moreover, there is no real need of the current IRQ handler to > be a hard IRQ handler. So switch to the threaded IRQ handler for the > "dra7xx-pcie-main" IRQ. > > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Acked-by: Kishon Vijay Abraham I <kishon@ti.com> > --- > drivers/pci/controller/dwc/pci-dra7xx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pci/controller/dwc/pci-dra7xx.c b/drivers/pci/controller/dwc/pci-dra7xx.c > index 38462ed11d07..4ae807e7cf79 100644 > --- a/drivers/pci/controller/dwc/pci-dra7xx.c > +++ b/drivers/pci/controller/dwc/pci-dra7xx.c > @@ -840,7 +840,7 @@ static int dra7xx_pcie_probe(struct platform_device *pdev) > } > dra7xx->mode = mode; > > - ret = devm_request_irq(dev, irq, dra7xx_pcie_irq_handler, > + ret = devm_request_threaded_irq(dev, irq, NULL, dra7xx_pcie_irq_handler, > IRQF_SHARED, "dra7xx-pcie-main", dra7xx); > if (ret) { > dev_err(dev, "failed to request irq\n"); >
| |