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

Imre Deak
2015-02-12T22:57:12Z

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?

> 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);