summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_mem.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2013-07-23 06:16:42 +0200
committerDave Airlie <airlied@redhat.com>2013-07-24 03:58:10 +0200
commit8002db6336dd361fc13214e9515fe5d52ff294ee (patch)
tree67a6fad200b33eada21944d3e42911a32f523705 /drivers/gpu/drm/radeon/radeon_mem.c
parentqxl: allow creation of pre-pinned objects and use for releases. (diff)
downloadlinux-8002db6336dd361fc13214e9515fe5d52ff294ee.tar.xz
linux-8002db6336dd361fc13214e9515fe5d52ff294ee.zip
qxl: convert qxl driver to proper use for reservations
The recent addition of lockdep support to reservations and their subsequent use by TTM showed up a number of potential problems with the way qxl was using TTM objects. a) it was allocating objects, and reserving them later without validating underneath the reservation, which meant in extreme conditions the objects could be evicted before the reservation ever used them. b) it was reserving objects straight after allocating them, but with no ability to back off should the reservations fail. It now allocates the necessary objects then does a complete reservation pass on them to avoid deadlocks. c) it had two lists per release tracking objects, unnecessary complicating the reservation process. This patch removes the dual object tracking, adds reservations ticket support to the release and fence object handling. It then ports the internal fb drawing code and the userspace facing ioctl to use the new interfaces properly, along with cleanup up the error path handling in some codepaths. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_mem.c')
0 files changed, 0 insertions, 0 deletions