Re: [Intel-gfx] [PATCH 4/4] drm/i915: Switch to drm_crtc variants of vblank functions

Daniel Vetter
2015-02-13T07:46:53Z

On Fri, Feb 13, 2015 at 12:57:12AM +0200, Imre Deak wrote:
> On Tue, 2015-02-03 at 11:30 +0100, Daniel Vetter wrote:
> > Where possible right now. Just a small step towards nirvana ...
> >
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > ---
> > drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
> > drivers/gpu/drm/i915/intel_display.c | 9 +++++----
> > drivers/gpu/drm/i915/intel_sprite.c | 4 ++--
> > 3 files changed, 8 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> > index 3b332a493674..479ea0825166 100644
> > --- a/drivers/gpu/drm/i915/i915_debugfs.c
> > +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> > @@ -580,7 +580,7 @@ static int i915_gem_pageflip_info(struct seq_file *m, void *data)
> > seq_printf(m, "Flip queued on frame %d, (was ready on frame %d), now %d\n",
> > work->flip_queued_vblank,
> > work->flip_ready_vblank,
> > - drm_vblank_count(dev, crtc->pipe));
> > + drm_crtc_vblank_count(dev, &crtc->base));
>
> This doesn't compile, did these functions change meanwhile?

Oh dear, git add fail. I'll resend, including the follow-up fix for
drm_irq_uninstall.

Thanks a lot for your review.
-Daniel

>
> > if (work->enable_stall_check)
> > seq_puts(m, "Stall check enabled, ");
> > else
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index f8871a184747..2c33ef5c5f68 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -9674,10 +9674,10 @@ static bool __intel_pageflip_stall_check(struct drm_device *dev,
> > !i915_gem_request_completed(work->flip_queued_req, true))
> > return false;
> >
> > - work->flip_ready_vblank = drm_vblank_count(dev, intel_crtc->pipe);
> > + work->flip_ready_vblank = drm_crtc_vblank_count(dev, crtc);
> > }
> >
> > - if (drm_vblank_count(dev, intel_crtc->pipe) - work->flip_ready_vblank < 3)
> > + if (drm_crtc_vblank_count(dev, crtc) - work->flip_ready_vblank < 3)
> > return false;
> >
> > /* Potential stall - if we see that the flip has happened,
> > @@ -9708,7 +9708,8 @@ void intel_check_page_flip(struct drm_device *dev, int pipe)
> > spin_lock(&dev->event_lock);
> > if (intel_crtc->unpin_work && __intel_pageflip_stall_check(dev, crtc)) {
> > WARN_ONCE(1, "Kicking stuck page flip: queued at %d, now %d\n",
> > - intel_crtc->unpin_work->flip_queued_vblank, drm_vblank_count(dev, pipe));
> > + intel_crtc->unpin_work->flip_queued_vblank,
> > + drm_vblank_count(dev, pipe));
>
> Did you want to change this too? Regardless of this by making it
> compile:
> Reviewed-by: Imre Deak <imre.deak@intel.com>
>
> > page_flip_completed(intel_crtc);
> > }
> > spin_unlock(&dev->event_lock);
> > @@ -9849,7 +9850,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
> > intel_ring_get_request(ring));
> > }
> >
> > - work->flip_queued_vblank = drm_vblank_count(dev, intel_crtc->pipe);
> > + work->flip_queued_vblank = drm_crtc_vblank_count(dev, crtc);
> > work->enable_stall_check = true;
> >
> > i915_gem_track_fb(work->old_fb_obj, obj,
> > diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> > index 0a52c44ad03d..0f499adfe2e0 100644
> > --- a/drivers/gpu/drm/i915/intel_sprite.c
> > +++ b/drivers/gpu/drm/i915/intel_sprite.c
> > @@ -98,7 +98,7 @@ bool intel_pipe_update_start(struct intel_crtc *crtc, uint32_t *start_vbl_count)
> > if (min <= 0 || max <= 0)
> > return false;
> >
> > - if (WARN_ON(drm_vblank_get(dev, pipe)))
> > + if (WARN_ON(drm_crtc_vblank_get(dev, &crtc->base)))
> > return false;
> >
> > local_irq_disable();
> > @@ -132,7 +132,7 @@ bool intel_pipe_update_start(struct intel_crtc *crtc, uint32_t *start_vbl_count)
> >
> > finish_wait(wq, &wait);
> >
> > - drm_vblank_put(dev, pipe);
> > + drm_crtc_vblank_put(dev, &crtc->base);
> >
> > *start_vbl_count = dev->driver->get_vblank_counter(dev, pipe);
> >
>
>

--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org