mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 10:04:04 +02:00
drm/xe: Use ttm_uncached for BO with NEEDS_UC flag
We should honor requested uncached mode also at the TTM layer. Otherwise, we risk losing updates to the memory based interrupts source or status vectors, as those require uncached memory. Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> Cc: Matt Roper <matthew.d.roper@intel.com> Acked-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240618104947.729-1-michal.wajdeczko@intel.com
This commit is contained in:
parent
cffd77865f
commit
8e7455dd0d
|
|
@ -378,6 +378,15 @@ static struct ttm_tt *xe_ttm_tt_create(struct ttm_buffer_object *ttm_bo,
|
|||
(xe->info.graphics_verx100 >= 1270 && bo->flags & XE_BO_FLAG_PAGETABLE))
|
||||
caching = ttm_write_combined;
|
||||
|
||||
if (bo->flags & XE_BO_FLAG_NEEDS_UC) {
|
||||
/*
|
||||
* Valid only for internally-created buffers only, for
|
||||
* which cpu_caching is never initialized.
|
||||
*/
|
||||
xe_assert(xe, bo->cpu_caching == 0);
|
||||
caching = ttm_uncached;
|
||||
}
|
||||
|
||||
err = ttm_tt_init(&tt->ttm, &bo->ttm, page_flags, caching, extra_pages);
|
||||
if (err) {
|
||||
kfree(tt);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user