[PATCH] drm/amdgpu: cleanup amdgpu_cs_ioctl to make code logicality clear

Christian König deathsimple at vodafone.de
Mon Oct 31 07:53:52 UTC 2016


Am 31.10.2016 um 03:08 schrieb Huang Rui:
> Signed-off-by: Huang Rui <ray.huang at amd.com>

Looks good to me, patch is Reviewed-by: Christian König 
<christian.koenig at amd.com>.

BTW: amdgpu_cs_handle_lockup() is a leftover from radeon and can be 
removed. Would be nice if you can take care of this as well.

Regards,
Christian.

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 32 ++++++++++++++++----------------
>   1 file changed, 16 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> index 0cb27c3..d73dd1b 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> @@ -1052,29 +1052,29 @@ int amdgpu_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
>   	r = amdgpu_cs_parser_init(&parser, data);
>   	if (r) {
>   		DRM_ERROR("Failed to initialize parser !\n");
> -		amdgpu_cs_parser_fini(&parser, r, false);
> -		r = amdgpu_cs_handle_lockup(adev, r);
> -		return r;
> -	}
> -	r = amdgpu_cs_parser_bos(&parser, data);
> -	if (r == -ENOMEM)
> -		DRM_ERROR("Not enough memory for command submission!\n");
> -	else if (r && r != -ERESTARTSYS)
> -		DRM_ERROR("Failed to process the buffer list %d!\n", r);
> -	else if (!r) {
> -		reserved_buffers = true;
> -		r = amdgpu_cs_ib_fill(adev, &parser);
> +		goto out;
>   	}
>   
> -	if (!r) {
> -		r = amdgpu_cs_dependencies(adev, &parser);
> -		if (r)
> -			DRM_ERROR("Failed in the dependencies handling %d!\n", r);
> +	r = amdgpu_cs_parser_bos(&parser, data);
> +	if (r) {
> +		if (r == -ENOMEM)
> +			DRM_ERROR("Not enough memory for command submission!\n");
> +		else if (r != -ERESTARTSYS)
> +			DRM_ERROR("Failed to process the buffer list %d!\n", r);
> +		goto out;
>   	}
>   
> +	reserved_buffers = true;
> +	r = amdgpu_cs_ib_fill(adev, &parser);
>   	if (r)
>   		goto out;
>   
> +	r = amdgpu_cs_dependencies(adev, &parser);
> +	if (r) {
> +		DRM_ERROR("Failed in the dependencies handling %d!\n", r);
> +		goto out;
> +	}
> +
>   	for (i = 0; i < parser.job->num_ibs; i++)
>   		trace_amdgpu_cs(&parser, i);
>   




More information about the amd-gfx mailing list