[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