mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 04:34:03 +02:00
drm/xe: add XE_BO_FLAG_NEEDS_1G for minimum page-size sizing
Add XE_BO_FLAG_NEEDS_1G to mark BOs that require 1G minimum page-size sizing. Update xe_bo_init_locked() to honor the new flag in the existing VRAM/stolen-memory minimum page-size sizing path. When XE_BO_FLAG_NEEDS_1G is set, the BO size is rounded up to 1G. Otherwise, the existing 2M and 64K sizing behavior is preserved. If multiple minimum page-size flags are set, the largest requirement takes precedence: 1G over 2M over 64K. v3 - commit message reworded Signed-off-by: Nareshkumar Gollakoti <naresh.kumar.g@intel.com> Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com> Link: https://patch.msgid.link/20260729121843.1255891-4-naresh.kumar.g@intel.com Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
This commit is contained in:
parent
ceb4e4f0df
commit
caf4fd4eb8
|
|
@ -2352,8 +2352,16 @@ struct xe_bo *xe_bo_init_locked(struct xe_device *xe, struct xe_bo *bo,
|
|||
if (flags & (XE_BO_FLAG_VRAM_MASK | XE_BO_FLAG_STOLEN) &&
|
||||
!(flags & XE_BO_FLAG_IGNORE_MIN_PAGE_SIZE) &&
|
||||
((xe->info.vram_flags & XE_VRAM_FLAGS_NEED64K) ||
|
||||
(flags & (XE_BO_FLAG_NEEDS_64K | XE_BO_FLAG_NEEDS_2M)))) {
|
||||
size_t align = flags & XE_BO_FLAG_NEEDS_2M ? SZ_2M : SZ_64K;
|
||||
(flags & (XE_BO_FLAG_NEEDS_64K | XE_BO_FLAG_NEEDS_2M |
|
||||
XE_BO_FLAG_NEEDS_1G)))) {
|
||||
size_t align;
|
||||
|
||||
if (flags & XE_BO_FLAG_NEEDS_1G)
|
||||
align = SZ_1G;
|
||||
else if (flags & XE_BO_FLAG_NEEDS_2M)
|
||||
align = SZ_2M;
|
||||
else
|
||||
align = SZ_64K;
|
||||
|
||||
aligned_size = ALIGN(size, align);
|
||||
if (type != ttm_bo_type_device)
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@
|
|||
#define XE_BO_FLAG_CPU_ADDR_MIRROR BIT(24)
|
||||
#define XE_BO_FLAG_FORCE_USER_VRAM BIT(25)
|
||||
#define XE_BO_FLAG_NO_COMPRESSION BIT(26)
|
||||
#define XE_BO_FLAG_NEEDS_1G BIT(27)
|
||||
|
||||
/* this one is trigger internally only */
|
||||
#define XE_BO_FLAG_INTERNAL_TEST BIT(30)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user