[Intel-xe] [PATCH 06/12] drm/xe: Move xe_set_dma_info outside of MMIO setup

Matthew Brost matthew.brost at intel.com
Wed Nov 8 10:14:22 UTC 2023


On Wed, Nov 08, 2023 at 01:33:38AM +0100, Michał Winiarski wrote:
> MMIO is going to be setup earlier during probe. Move xe_set_dma_info
> outside of MMIO setup.
> 
> Signed-off-by: Michał Winiarski <michal.winiarski at intel.com>

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

> ---
>  drivers/gpu/drm/xe/xe_device.c | 26 ++++++++++++++++++++++++++
>  drivers/gpu/drm/xe/xe_mmio.c   | 26 --------------------------
>  2 files changed, 26 insertions(+), 26 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> index 78374997cbf6f..3bcda5626493a 100644
> --- a/drivers/gpu/drm/xe/xe_device.c
> +++ b/drivers/gpu/drm/xe/xe_device.c
> @@ -342,6 +342,28 @@ static void xe_device_sanitize(struct drm_device *drm, void *arg)
>  		xe_gt_sanitize(gt);
>  }
>  
> +static int xe_set_dma_info(struct xe_device *xe)
> +{
> +	unsigned int mask_size = xe->info.dma_mask_size;
> +	int err;
> +
> +	dma_set_max_seg_size(xe->drm.dev, xe_sg_segment_size(xe->drm.dev));
> +
> +	err = dma_set_mask(xe->drm.dev, DMA_BIT_MASK(mask_size));
> +	if (err)
> +		goto mask_err;
> +
> +	err = dma_set_coherent_mask(xe->drm.dev, DMA_BIT_MASK(mask_size));
> +	if (err)
> +		goto mask_err;
> +
> +	return 0;
> +
> +mask_err:
> +	drm_err(&xe->drm, "Can't set DMA mask/consistent mask (%d)\n", err);
> +	return err;
> +}
> +
>  int xe_device_probe(struct xe_device *xe)
>  {
>  	struct xe_tile *tile;
> @@ -356,6 +378,10 @@ int xe_device_probe(struct xe_device *xe)
>  	if (err)
>  		return err;
>  
> +	err = xe_set_dma_info(xe);
> +	if (err)
> +		return err;
> +
>  	for_each_tile(tile, xe, id) {
>  		err = xe_tile_alloc(tile);
>  		if (err)
> diff --git a/drivers/gpu/drm/xe/xe_mmio.c b/drivers/gpu/drm/xe/xe_mmio.c
> index f4cddf2dfa3a3..7329ca73e64ad 100644
> --- a/drivers/gpu/drm/xe/xe_mmio.c
> +++ b/drivers/gpu/drm/xe/xe_mmio.c
> @@ -25,28 +25,6 @@
>  
>  #define BAR_SIZE_SHIFT 20
>  
> -static int xe_set_dma_info(struct xe_device *xe)
> -{
> -	unsigned int mask_size = xe->info.dma_mask_size;
> -	int err;
> -
> -	dma_set_max_seg_size(xe->drm.dev, xe_sg_segment_size(xe->drm.dev));
> -
> -	err = dma_set_mask(xe->drm.dev, DMA_BIT_MASK(mask_size));
> -	if (err)
> -		goto mask_err;
> -
> -	err = dma_set_coherent_mask(xe->drm.dev, DMA_BIT_MASK(mask_size));
> -	if (err)
> -		goto mask_err;
> -
> -	return 0;
> -
> -mask_err:
> -	drm_err(&xe->drm, "Can't set DMA mask/consistent mask (%d)\n", err);
> -	return err;
> -}
> -
>  static void
>  _resize_bar(struct xe_device *xe, int resno, resource_size_t size)
>  {
> @@ -420,10 +398,6 @@ int xe_mmio_init(struct xe_device *xe)
>  	root_tile->mmio.size = xe->mmio.size;
>  	root_tile->mmio.regs = xe->mmio.regs;
>  
> -	err = xe_set_dma_info(xe);
> -	if (err)
> -		return err;
> -
>  	xe_mmio_probe_tiles(xe);
>  
>  	return 0;
> -- 
> 2.42.0
> 


More information about the Intel-xe mailing list