drm/omap: print an error if display enable fails
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 5 Jan 2016 09:43:16 +0000 (11:43 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 3 Mar 2016 15:36:41 +0000 (17:36 +0200)
If the panel's enable fails, omap_encoder silently ignores the failure.
omapdrm should really handle the failure, but unfortunately the whole
encoder enable codepath is expected to always succeed.

So for now, catch the enable failure and print an error.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
drivers/gpu/drm/omapdrm/omap_encoder.c

index 61714e9670ae91310afb1b17507652c674ffc008..0bbb9c59622e45916b643873df8c422246570fe9 100644 (file)
@@ -139,11 +139,16 @@ static void omap_encoder_enable(struct drm_encoder *encoder)
        struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
        struct omap_dss_device *dssdev = omap_encoder->dssdev;
        struct omap_dss_driver *dssdrv = dssdev->driver;
+       int r;
 
        omap_encoder_update(encoder, omap_crtc_channel(encoder->crtc),
                            omap_crtc_timings(encoder->crtc));
 
-       dssdrv->enable(dssdev);
+       r = dssdrv->enable(dssdev);
+       if (r)
+               dev_err(encoder->dev->dev,
+                       "Failed to enable display '%s': %d\n",
+                       dssdev->name, r);
 }
 
 static int omap_encoder_atomic_check(struct drm_encoder *encoder,