From 7dcaa64ce199ad4fe4e3d624259d09b39f48eb96 Mon Sep 17 00:00:00 2001 From: Wyon Bi Date: Thu, 29 Aug 2019 17:13:00 +0800 Subject: [PATCH] drm/bridge: analogix_dp: set IRQ_NOAUTOEN to the irq flag The interrupt is requested before the device is powered on and it's value in some cases cannot be reliable. It happens on some devices that an interrupt is generated as soon as requested before having the chance to disable the irq. Change-Id: I889c069239d005ab0a3fb4eb36123608ec81d9ab Signed-off-by: Wyon Bi --- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index 17bbdb2ccf4a..38c805f783ab 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -1644,6 +1644,7 @@ analogix_dp_bind(struct device *dev, struct drm_device *drm_dev, return ERR_PTR(-ENODEV); } + irq_set_status_flags(dp->irq, IRQ_NOAUTOEN); ret = devm_request_threaded_irq(&pdev->dev, dp->irq, analogix_dp_hardirq, analogix_dp_irq_thread, @@ -1652,7 +1653,6 @@ analogix_dp_bind(struct device *dev, struct drm_device *drm_dev, dev_err(&pdev->dev, "failed to request irq\n"); goto err_disable_pm_runtime; } - disable_irq(dp->irq); dp->drm_dev = drm_dev; dp->encoder = dp->plat_data->encoder;