]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/i915/dsb: Generate the DSB buffer in commit_tail()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 30 Sep 2024 17:04:05 +0000 (20:04 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 3 Oct 2024 21:32:58 +0000 (00:32 +0300)
commitb0413571bc4421977c08fdf2179ccacd88f60446
tree6b05657d52d68c6e42701b235ce53117300e7ed5
parentb7e247b3c927493593414dd07ab12702b0977635
drm/i915/dsb: Generate the DSB buffer in commit_tail()

Once we start using DSB for plane updates we'll need to defer
generating the DSB buffer until the clear color has been
read out. So we need to move at some of the DSB stuff into
commit_tail(). That is perhaps a better place for it anyway
as the ioctl thread can move on immediately without spending
time building the DSB commands.

We always have the MMIO fallback (in case the DSB buffer
allocation fails), so there's no real reason to keep any
of this in the synchronous part of the ioctl.

Because the DSB LUT programming doesn't depend on the plane
clear color we can still do that part before waiting for
fences/etc. which should help paralleize things a bit more.
The DSB plane programming will need to happen after those
however as that depends on the clear color.

Reviewed-by: Animesh Manna <animesh.manna@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240930170415.23841-4-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_display.c