Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e3feefd authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/i915: Switch to drm_crtc variants of vblank functions



Where possible right now. Just a small step towards nirvana ...

v2: git add. Uggh. Noticed by Imre.

Cc: Imre Deak <imre.deak@intel.com>
Reviewed-by: default avatarImre Deak <imre.deak@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
parent f3a5c3f6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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(&crtc->base));
			if (work->enable_stall_check)
				seq_puts(m, "Stall check enabled, ");
			else
+5 −4
Original line number Diff line number Diff line
@@ -9661,10 +9661,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(crtc);
	}

	if (drm_vblank_count(dev, intel_crtc->pipe) - work->flip_ready_vblank < 3)
	if (drm_crtc_vblank_count(crtc) - work->flip_ready_vblank < 3)
		return false;

	/* Potential stall - if we see that the flip has happened,
@@ -9695,7 +9695,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));
		page_flip_completed(intel_crtc);
	}
	spin_unlock(&dev->event_lock);
@@ -9837,7 +9838,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(crtc);
	work->enable_stall_check = true;

	i915_gem_track_fb(intel_fb_obj(work->old_fb), obj,
+2 −2
Original line number Diff line number Diff line
@@ -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(&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(&crtc->base);

	*start_vbl_count = dev->driver->get_vblank_counter(dev, pipe);