summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/radeon/radeon_cs.c
diff options
context:
space:
mode:
authorJerome Glisse <jglisse@redhat.com>2010-02-15 23:36:13 +0300
committerDave Airlie <airlied@redhat.com>2010-02-18 08:06:41 +0300
commit91cb91becf372b5308cdd7d2e15b2e3ef66bae7e (patch)
tree9fe8fbe62d1eac20d15530daf124d907ce7fe937 /drivers/gpu/drm/radeon/radeon_cs.c
parentb58db2c6dd18d35f59862d3352c86a0a58838bf3 (diff)
downloadlinux-91cb91becf372b5308cdd7d2e15b2e3ef66bae7e.tar.xz
drm/radeon/kms: fix indirect buffer management V2
There is 3 different distinct states for an indirect buffer (IB) : 1- free with no fence 2- free with a fence 3- non free (fence doesn't matter) Previous code mixed case 2 & 3 in a single one leading to possible catastrophique failure. This patch rework the handling and properly separate each case. So when you get ib we set the ib as non free and fence status doesn't matter. Fence become active (ie has a meaning for the ib code) once the ib is scheduled or free. This patch also get rid of the alloc bitmap as it was overkill, we know go through IB pool list like in a ring buffer as the oldest IB is the first one the will be free. Fix : https://bugs.freedesktop.org/show_bug.cgi?id=26438 and likely other bugs. V2 remove the scheduled list, it's useless now, fix free ib scanning Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_cs.c')
0 files changed, 0 insertions, 0 deletions