Message ID | 1370186581-1177-1-git-send-email-daniel.vetter@ffwll.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sun, Jun 02, 2013 at 05:23:01PM +0200, Daniel Vetter wrote: > We only need to do them if the pipe is actually running and if the > framebuffers have changed. Removes two "wait for vblank timed out" > messages when doing a suspend/resume cycle on my i855gm. > > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Comments inline. > --- > drivers/gpu/drm/i915/intel_display.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 0b27c57..0669729 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -2203,7 +2203,8 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y, > crtc->y = y; > > if (old_fb) { > - intel_wait_for_vblank(dev, intel_crtc->pipe); > + if (to_intel_crtc(crtc)->active && old_fb != fb) if (intel_crtc->active && old_fb != fb) > + intel_wait_for_vblank(dev, intel_crtc->pipe); > intel_unpin_fb_obj(to_intel_framebuffer(old_fb)->obj); -Chris
On Mon, Jun 03, 2013 at 08:49:13AM +0100, Chris Wilson wrote: > On Sun, Jun 02, 2013 at 05:23:01PM +0200, Daniel Vetter wrote: > > We only need to do them if the pipe is actually running and if the > > framebuffers have changed. Removes two "wait for vblank timed out" > > messages when doing a suspend/resume cycle on my i855gm. > > > > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> > > Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> > > Comments inline. > > --- > > drivers/gpu/drm/i915/intel_display.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > > index 0b27c57..0669729 100644 > > --- a/drivers/gpu/drm/i915/intel_display.c > > +++ b/drivers/gpu/drm/i915/intel_display.c > > @@ -2203,7 +2203,8 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y, > > crtc->y = y; > > > > if (old_fb) { > > - intel_wait_for_vblank(dev, intel_crtc->pipe); > > + if (to_intel_crtc(crtc)->active && old_fb != fb) > if (intel_crtc->active && old_fb != fb) Oops, missed that one. Queued for -next, thanks for the review. -Daniel
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 0b27c57..0669729 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -2203,7 +2203,8 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y, crtc->y = y; if (old_fb) { - intel_wait_for_vblank(dev, intel_crtc->pipe); + if (to_intel_crtc(crtc)->active && old_fb != fb) + intel_wait_for_vblank(dev, intel_crtc->pipe); intel_unpin_fb_obj(to_intel_framebuffer(old_fb)->obj); }
We only need to do them if the pipe is actually running and if the framebuffers have changed. Removes two "wait for vblank timed out" messages when doing a suspend/resume cycle on my i855gm. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/i915/intel_display.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)