[PATCH 1/2] drm/amdgpu: track MQD size for gfx and compute

Christian König ckoenig.leichtzumerken at gmail.com
Wed Mar 22 08:48:29 UTC 2023


Am 21.03.23 um 20:39 schrieb Alex Deucher:
> It varies by generation and we need to know the size
> to expose this via debugfs.

I suspect we can't just use the BO size for this?

If yes the series is Reviewed-by: Christian König <christian.koenig at amd.com>

>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c  | 2 ++
>   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 1 +
>   2 files changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
> index c50d59855011..5435f41a3b7f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
> @@ -404,6 +404,7 @@ int amdgpu_gfx_mqd_sw_init(struct amdgpu_device *adev,
>   					return r;
>   				}
>   
> +				ring->mqd_size = mqd_size;
>   				/* prepare MQD backup */
>   				adev->gfx.me.mqd_backup[i] = kmalloc(mqd_size, GFP_KERNEL);
>   				if (!adev->gfx.me.mqd_backup[i])
> @@ -424,6 +425,7 @@ int amdgpu_gfx_mqd_sw_init(struct amdgpu_device *adev,
>   				return r;
>   			}
>   
> +			ring->mqd_size = mqd_size;
>   			/* prepare MQD backup */
>   			adev->gfx.mec.mqd_backup[i] = kmalloc(mqd_size, GFP_KERNEL);
>   			if (!adev->gfx.mec.mqd_backup[i])
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
> index 7942cb62e52c..deb9f7bead02 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
> @@ -257,6 +257,7 @@ struct amdgpu_ring {
>   	struct amdgpu_bo	*mqd_obj;
>   	uint64_t                mqd_gpu_addr;
>   	void                    *mqd_ptr;
> +	unsigned                mqd_size;
>   	uint64_t                eop_gpu_addr;
>   	u32			doorbell_index;
>   	bool			use_doorbell;



More information about the amd-gfx mailing list