As the MDSS registers the IRQ domain before populating child devices,
there is little point in deferring the IRQ request up to the
msm_dp_modeset_init(). Following the 'get resources as early as
possible' paradigm, move dp_request_irq() call to dp_display_probe().

Signed-off-by: Dmitry Baryshkov <dmitry.barysh...@linaro.org>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c 
b/drivers/gpu/drm/msm/dp/dp_display.c
index 40c7f91abec9..0fb3cb773bec 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -1309,6 +1309,12 @@ static int dp_display_probe(struct platform_device *pdev)
        dp->dp_display.is_edp =
                (dp->dp_display.connector_type == DRM_MODE_CONNECTOR_eDP);
 
+       rc = dp_display_request_irq(&dp->dp_display);
+       if (rc) {
+               DRM_ERROR("request_irq failed, ret=%d\n", rc);
+               return rc;
+       }
+
        rc = dp_init_sub_modules(dp);
        if (rc) {
                DRM_ERROR("init sub module failed\n");
@@ -1600,12 +1606,6 @@ int msm_dp_modeset_init(struct msm_dp *dp_display, 
struct drm_device *dev,
 
        dp_priv = container_of(dp_display, struct dp_display_private, 
dp_display);
 
-       ret = dp_display_request_irq(dp_display);
-       if (ret) {
-               DRM_ERROR("request_irq failed, ret=%d\n", ret);
-               return ret;
-       }
-
        ret = dp_display_get_next_bridge(dp_display);
        if (ret)
                return ret;
-- 
2.35.1

Reply via email to