[PATCH 2/3] drm/radeon: no need to check all relocs for duplicates

Alex Deucher alexdeucher at gmail.com
Fri Oct 28 07:15:51 PDT 2011


2011/10/28 Christian König <deathsimple at vodafone.de>:
> Only check the previously checked relocs for
> duplicates. Also leaving the handle uninitialized
> isn't such a good idea.
>
> Signed-off-by: Christian König <deathsimple at vodafone.de>

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>


> ---
>  drivers/gpu/drm/radeon/radeon_cs.c |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_cs.c b/drivers/gpu/drm/radeon/radeon_cs.c
> index fae00c0..7b6e98a 100644
> --- a/drivers/gpu/drm/radeon/radeon_cs.c
> +++ b/drivers/gpu/drm/radeon/radeon_cs.c
> @@ -58,7 +58,7 @@ int radeon_cs_parser_relocs(struct radeon_cs_parser *p)
>
>                duplicate = false;
>                r = (struct drm_radeon_cs_reloc *)&chunk->kdata[i*4];
> -               for (j = 0; j < p->nrelocs; j++) {
> +               for (j = 0; j < i; j++) {
>                        if (r->handle == p->relocs[j].handle) {
>                                p->relocs_ptr[i] = &p->relocs[j];
>                                duplicate = true;
> @@ -84,7 +84,8 @@ int radeon_cs_parser_relocs(struct radeon_cs_parser *p)
>                        p->relocs[i].flags = r->flags;
>                        radeon_bo_list_add_object(&p->relocs[i].lobj,
>                                                  &p->validated);
> -               }
> +               } else
> +                       p->relocs[i].handle = 0;
>        }
>        return radeon_bo_list_validate(&p->validated);
>  }
> --
> 1.7.5.4
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>


More information about the dri-devel mailing list