drm: omapdrm: Move crtc info out of the crtc structure
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Fri, 6 Mar 2015 17:00:18 +0000 (19:00 +0200)
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Fri, 12 Jun 2015 19:52:49 +0000 (22:52 +0300)
The crtc info structure is only used to setup the crtc through the DSS
API. Move it from the crtc structure to local variables in
omap_crtc_dss_enable().

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

index b32a6fb053389d38f4c88d12a2947fe0ed25cb16..430bf64521f04b5af32c1e1436c03d662ae6282c 100644 (file)
@@ -35,7 +35,6 @@ struct omap_crtc {
 
        const char *name;
        enum omap_channel channel;
-       struct omap_overlay_manager_info info;
        struct drm_encoder *current_encoder;
 
        /*
@@ -188,8 +187,15 @@ static void omap_crtc_set_enabled(struct drm_crtc *crtc, bool enable)
 static int omap_crtc_dss_enable(struct omap_overlay_manager *mgr)
 {
        struct omap_crtc *omap_crtc = omap_crtcs[mgr->id];
+       struct omap_overlay_manager_info info;
 
-       dispc_mgr_setup(omap_crtc->channel, &omap_crtc->info);
+       memset(&info, 0, sizeof(info));
+       info.default_color = 0x00000000;
+       info.trans_key = 0x00000000;
+       info.trans_key_type = OMAP_DSS_COLOR_KEY_GFX_DST;
+       info.trans_enabled = false;
+
+       dispc_mgr_setup(omap_crtc->channel, &info);
        dispc_mgr_set_timings(omap_crtc->channel,
                        &omap_crtc->timings);
        omap_crtc_set_enabled(&omap_crtc->base, true);
@@ -628,7 +634,6 @@ struct drm_crtc *omap_crtc_init(struct drm_device *dev,
 {
        struct drm_crtc *crtc = NULL;
        struct omap_crtc *omap_crtc;
-       struct omap_overlay_manager_info *info;
        int ret;
 
        DBG("%s", channel_names[channel]);
@@ -656,13 +661,6 @@ struct drm_crtc *omap_crtc_init(struct drm_device *dev,
        /* temporary: */
        omap_crtc->mgr = omap_dss_get_overlay_manager(channel);
 
-       /* TODO: fix hard-coded setup.. add properties! */
-       info = &omap_crtc->info;
-       info->default_color = 0x00000000;
-       info->trans_key = 0x00000000;
-       info->trans_key_type = OMAP_DSS_COLOR_KEY_GFX_DST;
-       info->trans_enabled = false;
-
        ret = drm_crtc_init_with_planes(dev, crtc, plane, NULL,
                                        &omap_crtc_funcs);
        if (ret < 0) {