From: Maarten Lankhorst Date: Thu, 12 Jan 2023 22:25:36 +0000 (-0500) Subject: drm/xe: Fix hidden gotcha regression with bo create X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=c343bacfad5db03c4156ff3a44e3a5547afb246f;p=linux.git drm/xe: Fix hidden gotcha regression with bo create The bo_create ioctl relied on the internal ordering of memory regions to be the same, make sure we don't allocate stolen instead of VRAM0. Also remove a debug warning left in. Signed-off-by: Maarten Lankhorst Reviewed-by: Philippe Lecluse Signed-off-by: Rodrigo Vivi --- diff --git a/drivers/gpu/drm/xe/xe_bo.h b/drivers/gpu/drm/xe/xe_bo.h index 8d8a3332dbc86..8c2cdbe51ab53 100644 --- a/drivers/gpu/drm/xe/xe_bo.h +++ b/drivers/gpu/drm/xe/xe_bo.h @@ -13,10 +13,12 @@ #define XE_DEFAULT_GTT_SIZE_MB 3072ULL /* 3GB by default */ #define XE_BO_CREATE_USER_BIT BIT(0) +/* The bits below need to be contiguous, or things break */ #define XE_BO_CREATE_SYSTEM_BIT BIT(1) -#define XE_BO_CREATE_STOLEN_BIT BIT(2) -#define XE_BO_CREATE_VRAM0_BIT BIT(3) -#define XE_BO_CREATE_VRAM1_BIT BIT(4) +#define XE_BO_CREATE_VRAM0_BIT BIT(2) +#define XE_BO_CREATE_VRAM1_BIT BIT(3) +/* -- */ +#define XE_BO_CREATE_STOLEN_BIT BIT(4) #define XE_BO_CREATE_VRAM_IF_DGFX(gt) \ (IS_DGFX(gt_to_xe(gt)) ? XE_BO_CREATE_VRAM0_BIT << gt->info.vram_id : \ XE_BO_CREATE_SYSTEM_BIT) diff --git a/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c b/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c index 21ca7f79e63be..b4e9c88644e47 100644 --- a/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c +++ b/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c @@ -184,7 +184,6 @@ static int __xe_ttm_stolen_io_mem_reserve_bar2(struct xe_device *xe, mem->bus.offset = cur.start; drm_WARN_ON(&xe->drm, !(mem->placement & TTM_PL_FLAG_CONTIGUOUS)); - WARN_ON_ONCE(1); if (mem->placement & TTM_PL_FLAG_CONTIGUOUS && mgr->mapping) mem->bus.addr = (u8 *)mgr->mapping + mem->bus.offset;