[PATCH 10/13] drm/amdgpu: add support for new GFX shadow size query

Christian König ckoenig.leichtzumerken at gmail.com
Thu Mar 30 06:17:14 UTC 2023



Am 29.03.23 um 17:25 schrieb Alex Deucher:
> Use the new callback to fetch the data.  Return an error if
> not supported.  UMDs should use this query to check whether
> shadow buffers are supported and if so what size they
> should be.
>
> v2: return an error rather than a zerod structure.
> v3: drop GDS, move into dev_info structure.  Data will be
>      0 if not supported.
>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 14 ++++++++++++++
>   1 file changed, 14 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> index 0efb38539d70..90738024cc1a 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> @@ -876,6 +876,20 @@ int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
>   		dev_info->gl2c_cache_size = adev->gfx.config.gc_gl2c_per_gpu;
>   		dev_info->mall_size = adev->gmc.mall_size;
>   
> +
> +		if (adev->gfx.funcs->get_gfx_shadow_info) {
> +			struct amdgpu_gfx_shadow_info shadow_info;
> +			int r;

We can probably use the ret variable here instead of declaring a new one.

Christian.

> +
> +			r = amdgpu_gfx_get_gfx_shadow_info(adev, &shadow_info);
> +			if (!r) {
> +				dev_info->shadow_size = shadow_info.shadow_size;
> +				dev_info->shadow_alignment = shadow_info.shadow_alignment;
> +				dev_info->csa_size = shadow_info.csa_size;
> +				dev_info->csa_alignment = shadow_info.csa_alignment;
> +			}
> +		}
> +
>   		ret = copy_to_user(out, dev_info,
>   				   min((size_t)size, sizeof(*dev_info))) ? -EFAULT : 0;
>   		kfree(dev_info);



More information about the amd-gfx mailing list