drm/vmwgfx: Implement a swap_notify callback.
authorThomas Hellstrom <thellstrom@vmware.com>
Wed, 13 Jan 2010 21:28:41 +0000 (22:28 +0100)
committerDave Airlie <airlied@redhat.com>
Thu, 14 Jan 2010 02:19:01 +0000 (12:19 +1000)
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>
drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c

index 4be47d84077fc8241749f5b871dcbdb7cd91c4a4..37a81925b158469a45797a7fb7581a647a0aefbd 100644 (file)
@@ -179,6 +179,11 @@ static void vmw_move_notify(struct ttm_buffer_object *bo,
                vmw_dmabuf_gmr_unbind(bo);
 }
 
+static void vmw_swap_notify(struct ttm_buffer_object *bo)
+{
+       vmw_dmabuf_gmr_unbind(bo);
+}
+
 /**
  * FIXME: We're using the old vmware polling method to sync.
  * Do this with fences instead.
@@ -233,5 +238,6 @@ struct ttm_bo_driver vmw_bo_driver = {
        .sync_obj_flush = vmw_sync_obj_flush,
        .sync_obj_unref = vmw_sync_obj_unref,
        .sync_obj_ref = vmw_sync_obj_ref,
-       .move_notify = vmw_move_notify
+       .move_notify = vmw_move_notify,
+       .swap_notify = vmw_swap_notify
 };