aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlija Hadzic <ihadzic@research.bell-labs.com>2013-10-29 11:09:42 -0400
committerDave Airlie <airlied@redhat.com>2013-11-05 23:27:50 -0500
commitbec2eac3a4f987a1268dd1ec9a864349879082ef (patch)
treed90860bd3d34fc32d122237ed7a13808b28176e5
parentfc50a890dfbec975386412fff1193200f270c66c (diff)
drm: eliminate old_fb from drm_crtc_helper_set_config
Old framebuffer is stored in save_set.fb and it is the same value that is later stored in old_fb. This makes old_fb redundant so we can replace it with save_set.fb. Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/drm_crtc_helper.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
index 866dcfcf0659..11040a5886d4 100644
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@ -603,7 +603,6 @@ int drm_crtc_helper_set_config(struct drm_mode_set *set)
603 struct drm_device *dev; 603 struct drm_device *dev;
604 struct drm_crtc *save_crtcs, *new_crtc, *crtc; 604 struct drm_crtc *save_crtcs, *new_crtc, *crtc;
605 struct drm_encoder *save_encoders, *new_encoder, *encoder; 605 struct drm_encoder *save_encoders, *new_encoder, *encoder;
606 struct drm_framebuffer *old_fb = NULL;
607 bool mode_changed = false; /* if true do a full mode set */ 606 bool mode_changed = false; /* if true do a full mode set */
608 bool fb_changed = false; /* if true and !mode_changed just do a flip */ 607 bool fb_changed = false; /* if true and !mode_changed just do a flip */
609 struct drm_connector *save_connectors, *connector; 608 struct drm_connector *save_connectors, *connector;
@@ -798,14 +797,13 @@ int drm_crtc_helper_set_config(struct drm_mode_set *set)
798 DRM_DEBUG_KMS("attempting to set mode from" 797 DRM_DEBUG_KMS("attempting to set mode from"
799 " userspace\n"); 798 " userspace\n");
800 drm_mode_debug_printmodeline(set->mode); 799 drm_mode_debug_printmodeline(set->mode);
801 old_fb = set->crtc->fb;
802 set->crtc->fb = set->fb; 800 set->crtc->fb = set->fb;
803 if (!drm_crtc_helper_set_mode(set->crtc, set->mode, 801 if (!drm_crtc_helper_set_mode(set->crtc, set->mode,
804 set->x, set->y, 802 set->x, set->y,
805 old_fb)) { 803 save_set.fb)) {
806 DRM_ERROR("failed to set mode on [CRTC:%d]\n", 804 DRM_ERROR("failed to set mode on [CRTC:%d]\n",
807 set->crtc->base.id); 805 set->crtc->base.id);
808 set->crtc->fb = old_fb; 806 set->crtc->fb = save_set.fb;
809 ret = -EINVAL; 807 ret = -EINVAL;
810 goto fail; 808 goto fail;
811 } 809 }
@@ -820,13 +818,11 @@ int drm_crtc_helper_set_config(struct drm_mode_set *set)
820 } else if (fb_changed) { 818 } else if (fb_changed) {
821 set->crtc->x = set->x; 819 set->crtc->x = set->x;
822 set->crtc->y = set->y; 820 set->crtc->y = set->y;
823
824 old_fb = set->crtc->fb;
825 set->crtc->fb = set->fb; 821 set->crtc->fb = set->fb;
826 ret = crtc_funcs->mode_set_base(set->crtc, 822 ret = crtc_funcs->mode_set_base(set->crtc,
827 set->x, set->y, old_fb); 823 set->x, set->y, save_set.fb);
828 if (ret != 0) { 824 if (ret != 0) {
829 set->crtc->fb = old_fb; 825 set->crtc->fb = save_set.fb;
830 goto fail; 826 goto fail;
831 } 827 }
832 } 828 }