staging: drm/omap: fix for connectors not enabled at bootup

Message ID CAF6AEGtBNAjHFUPBOAH9koccD0YFh-UCGT5bix3+XTG9H6C-vQ@mail.gmail.com
State New
Headers show

Commit Message

Rob Clark Dec. 15, 2011, 8:51 p.m.
On Mon, Dec 12, 2011 at 6:39 PM, Greg KH <greg@kroah.com> wrote:
> On Sun, Dec 11, 2011 at 03:13:17PM -0600, Rob Clark wrote:
>> From: Rob Clark <rob@ti.com>
>>
>> The connector's dpms fxn is only triggered by userspace.  When the
>> driver is loaded and detected displays configured, drm core only
>> calls the crtc and encoder's dpms functions.
>>
>> Signed-off-by: Rob Clark <rob@ti.com>
>> ---
>> Arguably, this could be called a work-around, and instead drm core
>> should call connector's dpms functions and rely on
>> drm_helper_connector_dpms to call encoder and crtc dpms functions.
>> If people think it is better to fix this in drm core, and don't
>> mind me making that change, then I will do that instead.
>
> Sounds like you should do that in the drm core itself, so I'll not queue
> up this patch for now.

Ok, seems to be a one line change in drm core, which I'm about to send
a patch for:

                        }
                }
                drm_helper_disable_unused_functions(dev);



> thanks,
>
> greg k-h
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch

diff --git a/drivers/gpu/drm/drm_crtc_helper.c
b/drivers/gpu/drm/drm_crtc_helper.c
index d2619d7..2f1ec7c 100644
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@ -710,7 +710,7 @@  int drm_crtc_helper_set_config(struct drm_mode_set *set)
                        for (i = 0; i < set->num_connectors; i++) {
                                DRM_DEBUG_KMS("\t[CONNECTOR:%d:%s] set
DPMS on\n", set->connectors[i]->base.id,

drm_get_connector_name(set->connectors[i]));
-                               set->connectors[i]->dpms = DRM_MODE_DPMS_ON;
+
set->connectors[i]->funcs->dpms(set->connectors[i], DRM_MODE_DPMS_ON);