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

Commit ba343e02 authored by Tvrtko Ursulin's avatar Tvrtko Ursulin Committed by Daniel Vetter
Browse files

drm/i915/skl: CS flips are not supported with execlists



And skl only works in execlist mode, not in legacy ring submission.

Therefore remove dead code.

Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 30af77c4
Loading
Loading
Loading
Loading
+4 −68
Original line number Diff line number Diff line
@@ -9631,69 +9631,6 @@ static int intel_queue_mmio_flip(struct drm_device *dev,
	return 0;
}

static int intel_gen9_queue_flip(struct drm_device *dev,
				 struct drm_crtc *crtc,
				 struct drm_framebuffer *fb,
				 struct drm_i915_gem_object *obj,
				 struct intel_engine_cs *ring,
				 uint32_t flags)
{
	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
	uint32_t plane = 0, stride;
	int ret;

	switch(intel_crtc->pipe) {
	case PIPE_A:
		plane = MI_DISPLAY_FLIP_SKL_PLANE_1_A;
		break;
	case PIPE_B:
		plane = MI_DISPLAY_FLIP_SKL_PLANE_1_B;
		break;
	case PIPE_C:
		plane = MI_DISPLAY_FLIP_SKL_PLANE_1_C;
		break;
	default:
		WARN_ONCE(1, "unknown plane in flip command\n");
		return -ENODEV;
	}

	switch (obj->tiling_mode) {
	case I915_TILING_NONE:
		stride = fb->pitches[0] >> 6;
		break;
	case I915_TILING_X:
		stride = fb->pitches[0] >> 9;
		break;
	default:
		WARN_ONCE(1, "unknown tiling in flip command\n");
		return -ENODEV;
	}

	ret = intel_ring_begin(ring, 10);
	if (ret)
		return ret;

	intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(1));
	intel_ring_emit(ring, DERRMR);
	intel_ring_emit(ring, ~(DERRMR_PIPEA_PRI_FLIP_DONE |
				DERRMR_PIPEB_PRI_FLIP_DONE |
				DERRMR_PIPEC_PRI_FLIP_DONE));
	intel_ring_emit(ring, MI_STORE_REGISTER_MEM_GEN8(1) |
			      MI_SRM_LRM_GLOBAL_GTT);
	intel_ring_emit(ring, DERRMR);
	intel_ring_emit(ring, ring->scratch.gtt_offset + 256);
	intel_ring_emit(ring, 0);

	intel_ring_emit(ring, MI_DISPLAY_FLIP_I915 | plane);
	intel_ring_emit(ring, stride << 6 | obj->tiling_mode);
	intel_ring_emit(ring, intel_crtc->unpin_work->gtt_offset);

	intel_mark_page_flip_active(intel_crtc);
	__intel_ring_advance(ring);

	return 0;
}

static int intel_default_queue_flip(struct drm_device *dev,
				    struct drm_crtc *crtc,
				    struct drm_framebuffer *fb,
@@ -12993,9 +12930,6 @@ static void intel_init_display(struct drm_device *dev)
			valleyview_modeset_global_resources;
	}

	/* Default just returns -ENODEV to indicate unsupported */
	dev_priv->display.queue_flip = intel_default_queue_flip;

	switch (INTEL_INFO(dev)->gen) {
	case 2:
		dev_priv->display.queue_flip = intel_gen2_queue_flip;
@@ -13018,8 +12952,10 @@ static void intel_init_display(struct drm_device *dev)
		dev_priv->display.queue_flip = intel_gen7_queue_flip;
		break;
	case 9:
		dev_priv->display.queue_flip = intel_gen9_queue_flip;
		break;
		/* Drop through - unsupported since execlist only. */
	default:
		/* Default just returns -ENODEV to indicate unsupported */
		dev_priv->display.queue_flip = intel_default_queue_flip;
	}

	intel_panel_init_backlight_funcs(dev);