drm/radeon: validate relocations in the order determined by userspace v3
Userspace should set the first 4 bits of drm_radeon_cs_reloc::flags to a number from 0 to 15. The higher the number, the higher the priority, which means a buffer with a higher number will be validated sooner. The old behavior is preserved: Buffers used for write are prioritized over read-only buffers if the userspace doesn't set the number. v2: add buffers to buckets directly, then concatenate them v3: use a stable sort Signed-off-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
This commit is contained in:

committed by
Christian König

parent
4330441a74
commit
c9b7654889
@@ -366,16 +366,6 @@ void radeon_bo_fini(struct radeon_device *rdev)
|
||||
arch_phys_wc_del(rdev->mc.vram_mtrr);
|
||||
}
|
||||
|
||||
void radeon_bo_list_add_object(struct radeon_bo_list *lobj,
|
||||
struct list_head *head)
|
||||
{
|
||||
if (lobj->written) {
|
||||
list_add(&lobj->tv.head, head);
|
||||
} else {
|
||||
list_add_tail(&lobj->tv.head, head);
|
||||
}
|
||||
}
|
||||
|
||||
int radeon_bo_list_validate(struct ww_acquire_ctx *ticket,
|
||||
struct list_head *head, int ring)
|
||||
{
|
||||
|
Reference in New Issue
Block a user