Message ID | 1404467043-5072-12-git-send-email-sonika.jindal@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Jul 04, 2014 at 03:14:03PM +0530, sonika.jindal@intel.com wrote: > From: Sonika Jindal <sonika.jindal@intel.com> > > Reset rotation property to 0 wherever applicable > > v2: Also calling set_property of the plane to set the rotation in the plane > structure. > > Cc: damien.lespiau@intel.com > Signed-off-by: Sonika Jindal <sonika.jindal@intel.com> Reviewed-by: Damien Lespiau <damien.lespiau@intel.com> > --- > drivers/gpu/drm/drm_fb_helper.c | 16 +++++++++++++++- > 1 file changed, 15 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c > index d5d8cea..30806b4 100644 > --- a/drivers/gpu/drm/drm_fb_helper.c > +++ b/drivers/gpu/drm/drm_fb_helper.c > @@ -282,9 +282,23 @@ static bool restore_fbdev_mode(struct drm_fb_helper *fb_helper) > > drm_warn_on_modeset_not_all_locked(dev); > > - list_for_each_entry(plane, &dev->mode_config.plane_list, head) > + list_for_each_entry(plane, &dev->mode_config.plane_list, head) { > + > + if (plane->rotation_property) { > + int ret = 0; > + if (plane->funcs->set_property) > + ret = plane->funcs->set_property(plane, > + plane->rotation_property, > + BIT(DRM_ROTATE_0)); > + if (!ret) > + drm_object_property_set_value(&plane->base, > + plane->rotation_property, > + BIT(DRM_ROTATE_0)); > + } > + > if (plane->type != DRM_PLANE_TYPE_PRIMARY) > drm_plane_force_disable(plane); > + } > > for (i = 0; i < fb_helper->crtc_count; i++) { > struct drm_mode_set *mode_set = &fb_helper->crtc_info[i].mode_set; > -- > 1.7.10.4 >
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c index d5d8cea..30806b4 100644 --- a/drivers/gpu/drm/drm_fb_helper.c +++ b/drivers/gpu/drm/drm_fb_helper.c @@ -282,9 +282,23 @@ static bool restore_fbdev_mode(struct drm_fb_helper *fb_helper) drm_warn_on_modeset_not_all_locked(dev); - list_for_each_entry(plane, &dev->mode_config.plane_list, head) + list_for_each_entry(plane, &dev->mode_config.plane_list, head) { + + if (plane->rotation_property) { + int ret = 0; + if (plane->funcs->set_property) + ret = plane->funcs->set_property(plane, + plane->rotation_property, + BIT(DRM_ROTATE_0)); + if (!ret) + drm_object_property_set_value(&plane->base, + plane->rotation_property, + BIT(DRM_ROTATE_0)); + } + if (plane->type != DRM_PLANE_TYPE_PRIMARY) drm_plane_force_disable(plane); + } for (i = 0; i < fb_helper->crtc_count; i++) { struct drm_mode_set *mode_set = &fb_helper->crtc_info[i].mode_set;