]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
drm/omap: dsi: Ensure the device is active during probe
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sat, 10 Nov 2018 11:16:53 +0000 (13:16 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Mon, 12 Nov 2018 09:50:13 +0000 (11:50 +0200)
The probe function performs hardware access to read the number of
supported data lanes from a configuration register and thus requires the
device to be active. Ensure this by surrounding the access with
dsi_runtime_get() and dsi_runtime_put() calls.

Fixes: edb715dffdee ("drm/omap: dss: dsi: Move initialization code from bind to probe")
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181110111654.4387-4-laurent.pinchart@ideasonboard.com
drivers/gpu/drm/omapdrm/dss/dsi.c

index 394c129cfb3bb8e03b8970fc839656e3d25becd5..b9d5ad7e67d8a29991adb7b5d627c2c6436030de 100644 (file)
@@ -5409,11 +5409,14 @@ static int dsi_probe(struct platform_device *pdev)
 
        /* DSI on OMAP3 doesn't have register DSI_GNQ, set number
         * of data to 3 by default */
-       if (dsi->data->quirks & DSI_QUIRK_GNQ)
+       if (dsi->data->quirks & DSI_QUIRK_GNQ) {
+               dsi_runtime_get(dsi);
                /* NB_DATA_LANES */
                dsi->num_lanes_supported = 1 + REG_GET(dsi, DSI_GNQ, 11, 9);
-       else
+               dsi_runtime_put(dsi);
+       } else {
                dsi->num_lanes_supported = 3;
+       }
 
        r = dsi_init_output(dsi);
        if (r)