diff options
| author | Ilija Hadzic <ihadzic@research.bell-labs.com> | 2013-10-29 11:09:42 -0400 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2013-11-05 23:27:50 -0500 |
| commit | bec2eac3a4f987a1268dd1ec9a864349879082ef (patch) | |
| tree | d90860bd3d34fc32d122237ed7a13808b28176e5 | |
| parent | fc50a890dfbec975386412fff1193200f270c66c (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.c | 12 |
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 | } |
