diff options
author | Matthew Auld <matthew.auld@intel.com> | 2024-11-19 10:19:27 +0000 |
---|---|---|
committer | Matthew Auld <matthew.auld@intel.com> | 2024-11-26 09:36:28 +0000 |
commit | f7e1fe4593511ff3abe70387235a57aff546adb4 (patch) | |
tree | 404cd9d5d18e30b0382c70ec816225bb1e8c5476 /drivers/gpu/drm/xe/xe_ttm_vram_mgr.c | |
parent | 4fe70f664a105391321c85b2af241001e8118d24 (diff) |
drm/xe/vram: fix lpfn check
Technically we should check the lfpn value and not the place->lpfn, for
the case where the allocation itself could be as large as the entire
region and not be range based, which might result in incorrectly doing a
power-of-two roundup. The allocator itself will already ensure it's
contiguous underneath for such an allocation. This shouldn't fix any
current usecase, but never the less came up from some internal testing.
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Piotr PiĆ³rkowski <piotr.piorkowski@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241119101926.190203-2-matthew.auld@intel.com
Diffstat (limited to 'drivers/gpu/drm/xe/xe_ttm_vram_mgr.c')
-rw-r--r-- | drivers/gpu/drm/xe/xe_ttm_vram_mgr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c index 1d39a8c53b3a..c95728c45ea4 100644 --- a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c +++ b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c @@ -109,7 +109,7 @@ static int xe_ttm_vram_mgr_new(struct ttm_resource_manager *man, goto error_unlock; } - if (place->fpfn + (size >> PAGE_SHIFT) != place->lpfn && + if (place->fpfn + (size >> PAGE_SHIFT) != lpfn && place->flags & TTM_PL_FLAG_CONTIGUOUS) { size = roundup_pow_of_two(size); min_page_size = size; |