diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2023-12-11 10:11:34 +0200 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2023-12-18 15:29:14 +0200 |
commit | 88a173e5dd05e788068e8fa20a8c37c44bd8f416 (patch) | |
tree | 8b80ec72a2f610cb66eba9cbd97829ad5c31f445 /drivers | |
parent | 768f17fd25e4a98bf5166148629ecf6f647d5efc (diff) | |
download | linux-88a173e5dd05e788068e8fa20a8c37c44bd8f416.tar.gz linux-88a173e5dd05e788068e8fa20a8c37c44bd8f416.tar.bz2 linux-88a173e5dd05e788068e8fa20a8c37c44bd8f416.zip |
drm/i915: Reject async flips with bigjoiner
Currently async flips are busted when bigjoiner is in use.
As a short term fix simply reject async flips in that case.
Cc: stable@vger.kernel.org
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/9769
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231211081134.2698-1-ville.syrjala@linux.intel.com
Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
(cherry picked from commit e93bffc2ac0a833b42841f31fff955549d38ce98)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_display.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index db7ada7907f3..df582ff81b45 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -6033,6 +6033,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) |