[Intel-xe] [PATCH] drm/xe: Make xe_mmio_tile_vram_size() static

Matt Roper matthew.d.roper at intel.com
Wed Nov 15 01:00:19 UTC 2023


On Tue, Nov 14, 2023 at 01:10:33PM -0800, Brian Welty wrote:
> 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 at intel.com>

Reviewed-by: Matt Roper <matthew.d.roper at intel.com>

> ---
>  drivers/gpu/drm/xe/xe_mmio.c           | 3 ++-
>  drivers/gpu/drm/xe/xe_mmio.h           | 1 -
>  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c | 7 ++-----
>  3 files changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_mmio.c b/drivers/gpu/drm/xe/xe_mmio.c
> index d8f9fabf715e..0baaef53f3a7 100644
> --- a/drivers/gpu/drm/xe/xe_mmio.c
> +++ b/drivers/gpu/drm/xe/xe_mmio.c
> @@ -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;
> diff --git a/drivers/gpu/drm/xe/xe_mmio.h b/drivers/gpu/drm/xe/xe_mmio.h
> index ae09f777d711..54de7a433696 100644
> --- a/drivers/gpu/drm/xe/xe_mmio.h
> +++ b/drivers/gpu/drm/xe/xe_mmio.h
> @@ -138,7 +138,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
> diff --git a/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c b/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
> index 0c533d36791d..837b522cb91f 100644
> --- a/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
> +++ b/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
> @@ -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;
> -- 
> 2.38.0
> 

-- 
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation


More information about the Intel-xe mailing list