[Intel-xe] [PATCH 1/1] drm/xe: Fix stolen memory size calculation
Aravind Iddamsetty
aravind.iddamsetty at intel.com
Fri Jun 9 18:52:49 UTC 2023
The stolen memory base should be derived from GSMBASE or
FLAT_CCS_BASE_ADDR when flat ccs is applicable.
Fixes: acf067c2f5a5 ("drm/xe: Implement stolen memory.")
Signed-off-by: Aravind Iddamsetty <aravind.iddamsetty at intel.com>
---
drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c b/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
index 21ecc734f10a..29ce69bf8200 100644
--- a/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
+++ b/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
@@ -54,7 +54,6 @@ bool xe_ttm_stolen_cpu_access_needs_ggtt(struct xe_device *xe)
static s64 detect_bar2_dgfx(struct xe_device *xe, struct xe_ttm_stolen_mgr *mgr)
{
struct xe_tile *tile = xe_device_get_root_tile(xe);
- struct xe_gt *mmio = xe_root_mmio_gt(xe);
struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
u64 stolen_size;
u64 tile_offset;
@@ -66,12 +65,12 @@ static s64 detect_bar2_dgfx(struct xe_device *xe, struct xe_ttm_stolen_mgr *mgr)
return 0;
}
- /* Use DSM base address instead for stolen memory */
- mgr->stolen_base = (xe_mmio_read64(mmio, DSMBASE) & BDSM_MASK) - tile_offset;
+ /* stolen base should be at end of usable vram */
+ mgr->stolen_base = vram_size;
if (drm_WARN_ON(&xe->drm, tile_size < mgr->stolen_base))
return 0;
- stolen_size = tile_size - mgr->stolen_base;
+ stolen_size = tile_size - vram_size;
/* Verify usage fits in the actual resource available */
if (mgr->stolen_base + stolen_size <= pci_resource_len(pdev, GEN12_LMEM_BAR))
--
2.25.1
More information about the Intel-xe
mailing list