diff options
author | Matthew Auld <matthew.auld@intel.com> | 2021-10-27 17:18:11 +0100 |
---|---|---|
committer | Matthew Auld <matthew.auld@intel.com> | 2021-11-02 09:44:06 +0000 |
commit | c52b3b489783b3b244c8134204d542a4d07030b7 (patch) | |
tree | afbc59ec762794eeb7d46e36559822dfd22c3d92 /drivers/gpu/drm/qxl/qxl_ttm.c | |
parent | 3ea355b234d7d3e543b89e55c66d57db50ef1581 (diff) |
drm/i915/clflush: disallow on discrete
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@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211027161813.3094681-2-matthew.auld@intel.com
Diffstat (limited to 'drivers/gpu/drm/qxl/qxl_ttm.c')
0 files changed, 0 insertions, 0 deletions