Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/omap: print an error if display enable fails

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>

+6 -1
+6 -1
drivers/gpu/drm/omapdrm/omap_encoder.c
··· 139 139 struct omap_encoder *omap_encoder = to_omap_encoder(encoder); 140 140 struct omap_dss_device *dssdev = omap_encoder->dssdev; 141 141 struct omap_dss_driver *dssdrv = dssdev->driver; 142 + int r; 142 143 143 144 omap_encoder_update(encoder, omap_crtc_channel(encoder->crtc), 144 145 omap_crtc_timings(encoder->crtc)); 145 146 146 - dssdrv->enable(dssdev); 147 + r = dssdrv->enable(dssdev); 148 + if (r) 149 + dev_err(encoder->dev->dev, 150 + "Failed to enable display '%s': %d\n", 151 + dssdev->name, r); 147 152 } 148 153 149 154 static int omap_encoder_atomic_check(struct drm_encoder *encoder,