drm/i915: Put update_state_fb() next to the fb update
authorDamien Lespiau <damien.lespiau@intel.com>
Thu, 5 Feb 2015 17:22:15 +0000 (17:22 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 13 Feb 2015 22:28:03 +0000 (23:28 +0100)
update_state_fb() at the end of intel_find_plane_obj() is misleading as
it leads us to believe the update is done for all code path.

A successful call to intel_alloc_plane_obj() will return and
update_state_fb() is then only needed when we share a fb from another
CRTC. Put the update() function there then.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index e5c057996353b452329a7f63fdd46c936576765c..8900ce09faa003b2e3b7c9b840600c1bdb8f5c5f 100644 (file)
@@ -2466,12 +2466,12 @@ intel_find_plane_obj(struct intel_crtc *intel_crtc,
 
                        drm_framebuffer_reference(c->primary->fb);
                        intel_crtc->base.primary->fb = c->primary->fb;
+                       update_state_fb(intel_crtc->base.primary);
                        obj->frontbuffer_bits |= INTEL_FRONTBUFFER_PRIMARY(intel_crtc->pipe);
                        break;
                }
        }
 
-       update_state_fb(intel_crtc->base.primary);
 }
 
 static void i9xx_update_primary_plane(struct drm_crtc *crtc,