mirror of https://gitee.com/openkylin/linux.git
drm/radeon: no need to check all relocs for duplicates
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@vodafone.de> Reviewed-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
4d8bf9aee1
commit
16557f1ef0
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue