[Intel-xe] [PATCH 1/3] drm/xe: Replace xe_ttm_vram_mgr.tile with xe_mem_region

Matthew Brost matthew.brost at intel.com
Wed Oct 25 22:29:43 UTC 2023


On Wed, Oct 25, 2023 at 11:00:06AM -0700, Brian Welty wrote:
> Replace the xe_ttm_vram_mgr.tile pointer with a xe_mem_region pointer
> instead. The former is currently unused.
> TTM VRAM regions are exposing device vram and is better to store a pointer
> directly to the xe_mem_region instead of the tile. This allows to cleanup
> unneccesary usage of xe_tile from xe_bo.c in later patch.
> 
> Signed-off-by: Brian Welty <brian.welty at intel.com>

Reviewed-by: Matthew Brost <matthew.brost at intel.com>

> ---
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr.c       | 7 +++----
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h | 6 +++---
>  2 files changed, 6 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
> index 285791eb4a79..953e5dc0fd80 100644
> --- a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
> +++ b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
> @@ -358,12 +358,11 @@ int __xe_ttm_vram_mgr_init(struct xe_device *xe, struct xe_ttm_vram_mgr *mgr,
>  int xe_ttm_vram_mgr_init(struct xe_tile *tile, struct xe_ttm_vram_mgr *mgr)
>  {
>  	struct xe_device *xe = tile_to_xe(tile);
> +	struct xe_mem_region *vram = &tile->mem.vram;
>  
> -	mgr->tile = tile;
> -
> +	mgr->vram = vram;
>  	return __xe_ttm_vram_mgr_init(xe, mgr, XE_PL_VRAM0 + tile->id,
> -				      tile->mem.vram.usable_size,
> -				      tile->mem.vram.io_size,
> +				      vram->usable_size, vram->io_size,
>  				      PAGE_SIZE);
>  }
>  
> diff --git a/drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h b/drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h
> index 48bb991c14a5..2d75cf126289 100644
> --- a/drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h
> +++ b/drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h
> @@ -9,7 +9,7 @@
>  #include <drm/drm_buddy.h>
>  #include <drm/ttm/ttm_device.h>
>  
> -struct xe_tile;
> +struct xe_mem_region;
>  
>  /**
>   * struct xe_ttm_vram_mgr - XE TTM VRAM manager
> @@ -17,12 +17,12 @@ struct xe_tile;
>   * Manages placement of TTM resource in VRAM.
>   */
>  struct xe_ttm_vram_mgr {
> -	/** @tile: Tile which the VRAM belongs to */
> -	struct xe_tile *tile;
>  	/** @manager: Base TTM resource manager */
>  	struct ttm_resource_manager manager;
>  	/** @mm: DRM buddy allocator which manages the VRAM */
>  	struct drm_buddy mm;
> +	/** @vram: ptr to details of associated VRAM region */
> +	struct xe_mem_region *vram;
>  	/** @visible_size: Proped size of the CPU visible portion */
>  	u64 visible_size;
>  	/** @visible_avail: CPU visible portion still unallocated */
> -- 
> 2.38.0
> 


More information about the Intel-xe mailing list