diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2011-06-24 23:19:26 +0400 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-07-08 00:20:49 +0400 |
commit | 46e484566fe4dc8a34e0ccc154e2f8b939b9ec96 (patch) | |
tree | 6bcfc2121dfd705c3db0ec5554f2b6c5b6492f21 | |
parent | 020f6704b5fbf687534ce53aeedc0364a995ae8a (diff) | |
download | linux-46e484566fe4dc8a34e0ccc154e2f8b939b9ec96.tar.xz |
drm: bpp and depth changes require full mode sets
To properly drive a framebuffer with a new depth or bpp, dither settings
and link bandwidth calculations may change, so make sure we go through a
full mode set in that case.
Reported-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r-- | drivers/gpu/drm/drm_crtc_helper.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 92369655dca3..f88a9b2c977b 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c @@ -560,6 +560,11 @@ int drm_crtc_helper_set_config(struct drm_mode_set *set) mode_changed = true; } else if (set->fb == NULL) { mode_changed = true; + } else if (set->fb->depth != set->crtc->fb->depth) { + mode_changed = true; + } else if (set->fb->bits_per_pixel != + set->crtc->fb->bits_per_pixel) { + mode_changed = true; } else fb_changed = true; } |