If none of the CRTC parameters change along with the framebuffer, we can
forgo rewriting the register and waiting for a vblank. There are a few
calls made by the display managers as they start up which tend to end up
performing no-ops on the current CRTC settings.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
return -EINVAL;
}
+ if (fb == crtc->fb && crtc->x == x && crtc->y == y) {
+ DRM_DEBUG_KMS("skipping reset of current fb");
+ return 0;
+ }
+
mutex_lock(&dev->struct_mutex);
ret = intel_pin_and_fence_fb_obj(dev,
to_intel_framebuffer(fb)->obj,