[PATCH 2/4] drm/i915/clflush: disallow on discrete

Thomas Hellström thomas.hellstrom at linux.intel.com
Wed Oct 27 11:23:59 UTC 2021


On 10/21/21 13:44, Matthew Auld wrote:
> We seem to have an unfortunate issue where we arrive from:
>
>      i915_gem_object_flush_if_display+0x86/0xd0 [i915]
>      intel_user_framebuffer_dirty+0x1a/0x50 [i915]
>      drm_mode_dirtyfb_ioctl+0xfb/0x1b0
>
> Which can be before the pages are populated(and pinned for display), and
> so i915_gem_object_has_struct_page() might still return true, as per the
> ttm backend. We could re-order the later get_pages() call here, but
> since on discrete everything should already be coherent, with the
> exception of the display engine, and even there display surfaces must be
> allocated in device local-memory anyway, so there should in theory be no
> conceivable reason to ever call i915_gem_clflush_object() on discrete.
>
> References: https://gitlab.freedesktop.org/drm/intel/-/issues/4320
> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
> Cc: Thomas Hellström <thomas.hellstrom at linux.intel.com>

Reviewed-by: Thomas Hellström <thomas.hellstrom at linux.intel.com>




More information about the dri-devel mailing list