aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/vmwgfx
diff options
context:
space:
mode:
authorThomas Hellstrom <thellstrom@vmware.com>2010-01-13 16:28:41 -0500
committerDave Airlie <airlied@redhat.com>2010-01-13 21:19:01 -0500
commit476d51dbdbaa2e61fa4899459c658f476eee3fd9 (patch)
tree4917e97ae7d01226296bc665b0f0d91e2f7491c1 /drivers/gpu/drm/vmwgfx
parent3f09ea4ecdcbcea05541f83e557d6ce2e56626d8 (diff)
drm/vmwgfx: Implement a swap_notify callback.
Unbind GMR bindings on the buffer about to be swapped out. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/vmwgfx')
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c b/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c
index 4be47d84077f..37a81925b158 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c
@@ -179,6 +179,11 @@ static void vmw_move_notify(struct ttm_buffer_object *bo,
179 vmw_dmabuf_gmr_unbind(bo); 179 vmw_dmabuf_gmr_unbind(bo);
180} 180}
181 181
182static void vmw_swap_notify(struct ttm_buffer_object *bo)
183{
184 vmw_dmabuf_gmr_unbind(bo);
185}
186
182/** 187/**
183 * FIXME: We're using the old vmware polling method to sync. 188 * FIXME: We're using the old vmware polling method to sync.
184 * Do this with fences instead. 189 * Do this with fences instead.
@@ -233,5 +238,6 @@ struct ttm_bo_driver vmw_bo_driver = {
233 .sync_obj_flush = vmw_sync_obj_flush, 238 .sync_obj_flush = vmw_sync_obj_flush,
234 .sync_obj_unref = vmw_sync_obj_unref, 239 .sync_obj_unref = vmw_sync_obj_unref,
235 .sync_obj_ref = vmw_sync_obj_ref, 240 .sync_obj_ref = vmw_sync_obj_ref,
236 .move_notify = vmw_move_notify 241 .move_notify = vmw_move_notify,
242 .swap_notify = vmw_swap_notify
237}; 243};