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 <bivvy.bi@rock-chips.com>
This commit is contained in:
Wyon Bi
2019-08-29 17:13:00 +08:00
parent 99294c04e4
commit 7dcaa64ce1

View File

@@ -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;