From 16a247d5895b086fb47a6525e38685988df4f1c8 Mon Sep 17 00:00:00 2001 From: jsg Date: Mon, 1 Jan 2024 23:59:47 +0000 Subject: [PATCH] drm/i915: Reject async flips with bigjoiner From Ville Syrjala 7d09c84df5ab9e18464a2f048e393a7860a043e9 in linux-6.1.y/6.1.70 88a173e5dd05e788068e8fa20a8c37c44bd8f416 in mainline linux --- sys/dev/pci/drm/i915/display/intel_display.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sys/dev/pci/drm/i915/display/intel_display.c b/sys/dev/pci/drm/i915/display/intel_display.c index a6bbf26c6df..cab50df3aa9 100644 --- a/sys/dev/pci/drm/i915/display/intel_display.c +++ b/sys/dev/pci/drm/i915/display/intel_display.c @@ -6481,6 +6481,17 @@ static int intel_async_flip_check_uapi(struct intel_atomic_state *state, return -EINVAL; } + /* + * FIXME: Bigjoiner+async flip is busted currently. + * Remove this check once the issues are fixed. + */ + if (new_crtc_state->bigjoiner_pipes) { + drm_dbg_kms(&i915->drm, + "[CRTC:%d:%s] async flip disallowed with bigjoiner\n", + crtc->base.base.id, crtc->base.name); + return -EINVAL; + } + for_each_oldnew_intel_plane_in_state(state, plane, old_plane_state, new_plane_state, i) { if (plane->pipe != crtc->pipe) -- 2.20.1