drm/msm/adreno: Use IRQF_NO_AUTOEN flag in request_irq()

[ Upstream commit 394679f322649d06fea3c646ba65f5a0887f52c3 ]

disable_irq() after request_irq() still has a time gap in which
interrupts can come. request_irq() with IRQF_NO_AUTOEN flag will
disable IRQ auto-enable when request IRQ.

Fixes: 4b565ca5a2 ("drm/msm: Add A6XX device support")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Patchwork: https://patchwork.freedesktop.org/patch/614075/
Signed-off-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Jinjie Ruan
2024-09-12 16:30:20 +08:00
committed by Greg Kroah-Hartman
parent 9e63fd47e6
commit 8e57e58ecf

View File

@@ -1462,15 +1462,13 @@ static int a6xx_gmu_get_irq(struct a6xx_gmu *gmu, struct platform_device *pdev,
irq = platform_get_irq_byname(pdev, name); irq = platform_get_irq_byname(pdev, name);
ret = request_irq(irq, handler, IRQF_TRIGGER_HIGH, name, gmu); ret = request_irq(irq, handler, IRQF_TRIGGER_HIGH | IRQF_NO_AUTOEN, name, gmu);
if (ret) { if (ret) {
DRM_DEV_ERROR(&pdev->dev, "Unable to get interrupt %s %d\n", DRM_DEV_ERROR(&pdev->dev, "Unable to get interrupt %s %d\n",
name, ret); name, ret);
return ret; return ret;
} }
disable_irq(irq);
return irq; return irq;
} }