]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe: Make xe_mmio_tile_vram_size() static
authorBrian Welty <brian.welty@intel.com>
Tue, 14 Nov 2023 00:49:43 +0000 (16:49 -0800)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:44:33 +0000 (11:44 -0500)
During xe_mmio_probe_vram(), we already store the values returned from
xe_mmio_tile_vram_size() into the xe_tile structures.
There is no need to call xe_mmio_tile_vram_size() again later during
setup of the STOLEN region. Just use the values stored in the root tile.

Signed-off-by: Brian Welty <brian.welty@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_mmio.c
drivers/gpu/drm/xe/xe_mmio.h
drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c

index d8f9fabf715e983e326006d1b797b5e0f4337466..0baaef53f3a724e84d1f992a3516963b00ecae53 100644 (file)
@@ -201,7 +201,8 @@ static int xe_determine_lmem_bar_size(struct xe_device *xe)
  * NOTE: multi-tile bases will include the tile offset.
  *
  */
-int xe_mmio_tile_vram_size(struct xe_tile *tile, u64 *vram_size, u64 *tile_size, u64 *tile_offset)
+static int xe_mmio_tile_vram_size(struct xe_tile *tile, u64 *vram_size,
+                                 u64 *tile_size, u64 *tile_offset)
 {
        struct xe_device *xe = tile_to_xe(tile);
        struct xe_gt *gt = tile->primary_gt;
index 24a23dad7dce66d2fc1994b017bbb43540ca0a32..b244e9063caaff8b59d4746237090c0b862269ef 100644 (file)
@@ -135,7 +135,6 @@ static inline bool xe_mmio_in_range(const struct xe_gt *gt,
 }
 
 int xe_mmio_probe_vram(struct xe_device *xe);
-int xe_mmio_tile_vram_size(struct xe_tile *tile, u64 *vram_size, u64 *tile_size, u64 *tile_base);
 u64 xe_mmio_read64_2x32(struct xe_gt *gt, struct xe_reg reg);
 
 #endif
index 0c533d36791d9cb2ebb669367050f635a56e229e..837b522cb91fee346c41caf7385d966610943883 100644 (file)
@@ -62,12 +62,9 @@ static s64 detect_bar2_dgfx(struct xe_device *xe, struct xe_ttm_stolen_mgr *mgr)
        u64 stolen_size;
        u64 tile_offset;
        u64 tile_size;
-       u64 vram_size;
 
-       if (xe_mmio_tile_vram_size(tile, &vram_size, &tile_size, &tile_offset)) {
-               drm_err(&xe->drm, "Querying total vram size failed\n");
-               return 0;
-       }
+       tile_offset = tile->mem.vram.io_start - xe->mem.vram.io_start;
+       tile_size = tile->mem.vram.actual_physical_size;
 
        /* Use DSM base address instead for stolen memory */
        mgr->stolen_base = (xe_mmio_read64_2x32(mmio, DSMBASE) & BDSM_MASK) - tile_offset;