[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b2cc2e0a-ea18-6e2a-d428-edce03d113b2@ti.com>
Date: Tue, 11 Oct 2022 18:07:47 +0530
From: Kishon Vijay Abraham I <kishon@...com>
To: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>,
<kishon@...nel.org>, <lpieralisi@...nel.org>, <bhelgaas@...gle.com>
CC: <linux-pci@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<kw@...ux.com>, <robh@...nel.org>, <vidyas@...dia.com>,
<vigneshr@...com>
Subject: Re: [PATCH v3 1/5] PCI: dra7xx: Use threaded IRQ handler for
"dra7xx-pcie-main" IRQ
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@...aro.org>
Acked-by: Kishon Vijay Abraham I <kishon@...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");
>
Powered by blists - more mailing lists