-static void i915_dump_pageflip(struct seq_file *m,
- struct drm_i915_private *dev_priv,
- struct intel_crtc *crtc,
- struct intel_flip_work *work)
-{
- const char pipe = pipe_name(crtc->pipe);
- u32 pending;
- int i;
-
- pending = atomic_read(&work->pending);
- if (pending) {
- seq_printf(m, "Flip ioctl preparing on pipe %c (plane %c)\n",
- pipe, plane_name(crtc->plane));
- } else {
- seq_printf(m, "Flip pending (waiting for vsync) on pipe %c (plane %c)\n",
- pipe, plane_name(crtc->plane));
- }
-
- for (i = 0; i < work->num_planes; i++) {
- struct intel_plane_state *old_plane_state = work->old_plane_state[i];
- struct drm_plane *plane = old_plane_state->base.plane;
- struct drm_i915_gem_request *req = old_plane_state->wait_req;
- struct intel_engine_cs *engine;
-
- seq_printf(m, "[PLANE:%i] part of flip.\n", plane->base.id);
-
- if (!req) {
- seq_printf(m, "Plane not associated with any engine\n");
- continue;
- }
-
- engine = i915_gem_request_get_engine(req);
-
- seq_printf(m, "Plane blocked on %s at seqno %x, next seqno %x [current breadcrumb %x], completed? %d\n",
- engine->name,
- i915_gem_request_get_seqno(req),
- dev_priv->next_seqno,
- engine->get_seqno(engine),
- i915_gem_request_completed(req, true));
- }
-
- seq_printf(m, "Flip queued on frame %d, now %d\n",
- pending ? work->flip_queued_vblank : -1,
- intel_crtc_get_vblank_counter(crtc));
-}
-