From: Sonika Jindal <sonika.jin...@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 at intel.com
Signed-off-by: Sonika Jindal <sonika.jindal at 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

Reply via email to