From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Sun, 21 Apr 2013 23:38:47 +0000 (+0200)
Subject: drm: Perform a full mode set when the pixel format changed
X-Git-Tag: firefly_0821_release~3680^2~443^2~59
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ce83adf78bbbe6bdcd99f0b97212337ce6b84940;p=firefly-linux-kernel-4.4.55.git

drm: Perform a full mode set when the pixel format changed

Test whether the pixel format changes in the mode set handler, and
perform a full mode set instead of a mode set base if it does.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
---

diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
index 7b2d378b2576..e974f9309b72 100644
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@ -648,6 +648,9 @@ int drm_crtc_helper_set_config(struct drm_mode_set *set)
 		} else if (set->fb->bits_per_pixel !=
 			   set->crtc->fb->bits_per_pixel) {
 			mode_changed = true;
+		} else if (set->fb->pixel_format !=
+			   set->crtc->fb->pixel_format) {
+			mode_changed = true;
 		} else
 			fb_changed = true;
 	}