drm/radeon: validate relocations in the order determined by userspace v3
authorMarek Olšák <marek.olsak@amd.com>
Sat, 1 Mar 2014 23:56:21 +0000 (00:56 +0100)
committerChristian König <christian.koenig@amd.com>
Mon, 3 Mar 2014 09:57:19 +0000 (10:57 +0100)
commitc9b76548899cde2e729e3bca015d7e78ec5baad7
treee7be2b702803f238bfa5e4406fa9ed8e70f9351f
parent4330441a745ea0f1fd881438a0bbdfedda65f74a
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>
drivers/gpu/drm/radeon/radeon.h
drivers/gpu/drm/radeon/radeon_cs.c
drivers/gpu/drm/radeon/radeon_object.c
drivers/gpu/drm/radeon/radeon_object.h