]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/i915: Allow the initial async flip to change modifier
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 30 Apr 2024 09:56:37 +0000 (12:56 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 3 May 2024 10:13:51 +0000 (13:13 +0300)
commit7c800d957173298a5c80576db7384ebfe6efc10c
tree9ad04bfb573c60ad813895d53111c274f2a5f6da
parent4df0f2ed25735e7da5a9015befda5199fe6fec73
drm/i915: Allow the initial async flip to change modifier

With Xorg+modesetting on skl+ we see the following behaviour:
1. root pixmap is X-tiled
2. client submitted buffers can be Y-tiled (w/ 'Option "dmabuf_capable"')
3. we try to switch from the X-tiled buffer to the Y-tiled buffer
   using an async flip (when vsync is disabled).
4. the async flip will be rejected by i915 due to the modifier change

Relax the rules a bit by turning the first async flip into a sync
flip so that we can change the modifier if necessary. Note that
we already convert the first async flip into a sync flip on adl+
in order to reprogram the watermarks.

Reviewed-by: Vandita Kulkarni <vandita.kulkarni@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240430095639.26390-4-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_atomic_plane.c
drivers/gpu/drm/i915/display/intel_display.c