aboutsummaryrefslogtreecommitdiffstats
path: root/include/drm
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2011-10-27 12:28:37 -0400
committerDave Airlie <airlied@redhat.com>2011-10-27 12:28:37 -0400
commit1717c0e23f411147490c7a3312b894f0ea9a5fb1 (patch)
tree68c94629535328221188c7ebd41f9e413da41cb0 /include/drm
parent83f30d0e0343ad010afbc3523007b68e8b439694 (diff)
Revert "drm/ttm: add a way to bo_wait for either the last read or last write"
This reverts commit dfadbbdb57b3f2bb33e14f129a43047c6f0caefa. Further upstream discussion between Marek and Thomas decided this wasn't fully baked and needed further work, so revert it before it hits mainline. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/ttm/ttm_bo_api.h16
-rw-r--r--include/drm/ttm/ttm_execbuf_util.h6
2 files changed, 2 insertions, 20 deletions
diff --git a/include/drm/ttm/ttm_bo_api.h b/include/drm/ttm/ttm_bo_api.h
index da957bf3fe44..42e346985186 100644
--- a/include/drm/ttm/ttm_bo_api.h
+++ b/include/drm/ttm/ttm_bo_api.h
@@ -44,11 +44,6 @@ struct ttm_bo_device;
44 44
45struct drm_mm_node; 45struct drm_mm_node;
46 46
47enum ttm_buffer_usage {
48 TTM_USAGE_READ = 1,
49 TTM_USAGE_WRITE = 2,
50 TTM_USAGE_READWRITE = TTM_USAGE_READ | TTM_USAGE_WRITE
51};
52 47
53/** 48/**
54 * struct ttm_placement 49 * struct ttm_placement
@@ -179,10 +174,7 @@ struct ttm_tt;
179 * the bo_device::lru_lock. 174 * the bo_device::lru_lock.
180 * @reserved: Deadlock-free lock used for synchronization state transitions. 175 * @reserved: Deadlock-free lock used for synchronization state transitions.
181 * @sync_obj_arg: Opaque argument to synchronization object function. 176 * @sync_obj_arg: Opaque argument to synchronization object function.
182 * @sync_obj: Pointer to a synchronization object of a last read or write, 177 * @sync_obj: Pointer to a synchronization object.
183 * whichever is later.
184 * @sync_obj_read: Pointer to a synchronization object of a last read.
185 * @sync_obj_write: Pointer to a synchronization object of a last write.
186 * @priv_flags: Flags describing buffer object internal state. 178 * @priv_flags: Flags describing buffer object internal state.
187 * @vm_rb: Rb node for the vm rb tree. 179 * @vm_rb: Rb node for the vm rb tree.
188 * @vm_node: Address space manager node. 180 * @vm_node: Address space manager node.
@@ -266,8 +258,6 @@ struct ttm_buffer_object {
266 258
267 void *sync_obj_arg; 259 void *sync_obj_arg;
268 void *sync_obj; 260 void *sync_obj;
269 void *sync_obj_read;
270 void *sync_obj_write;
271 unsigned long priv_flags; 261 unsigned long priv_flags;
272 262
273 /** 263 /**
@@ -335,7 +325,6 @@ ttm_bo_reference(struct ttm_buffer_object *bo)
335 * @bo: The buffer object. 325 * @bo: The buffer object.
336 * @interruptible: Use interruptible wait. 326 * @interruptible: Use interruptible wait.
337 * @no_wait: Return immediately if buffer is busy. 327 * @no_wait: Return immediately if buffer is busy.
338 * @usage: Whether to wait for the last read and/or the last write.
339 * 328 *
340 * This function must be called with the bo::mutex held, and makes 329 * This function must be called with the bo::mutex held, and makes
341 * sure any previous rendering to the buffer is completed. 330 * sure any previous rendering to the buffer is completed.
@@ -345,8 +334,7 @@ ttm_bo_reference(struct ttm_buffer_object *bo)
345 * Returns -ERESTARTSYS if interrupted by a signal. 334 * Returns -ERESTARTSYS if interrupted by a signal.
346 */ 335 */
347extern int ttm_bo_wait(struct ttm_buffer_object *bo, bool lazy, 336extern int ttm_bo_wait(struct ttm_buffer_object *bo, bool lazy,
348 bool interruptible, bool no_wait, 337 bool interruptible, bool no_wait);
349 enum ttm_buffer_usage usage);
350/** 338/**
351 * ttm_bo_validate 339 * ttm_bo_validate
352 * 340 *
diff --git a/include/drm/ttm/ttm_execbuf_util.h b/include/drm/ttm/ttm_execbuf_util.h
index 375f29902295..26cc7f9ffa41 100644
--- a/include/drm/ttm/ttm_execbuf_util.h
+++ b/include/drm/ttm/ttm_execbuf_util.h
@@ -41,26 +41,20 @@
41 * @bo: refcounted buffer object pointer. 41 * @bo: refcounted buffer object pointer.
42 * @new_sync_obj_arg: New sync_obj_arg for @bo, to be used once 42 * @new_sync_obj_arg: New sync_obj_arg for @bo, to be used once
43 * adding a new sync object. 43 * adding a new sync object.
44 * @usage Indicates how @bo is used by the device.
45 * @reserved: Indicates whether @bo has been reserved for validation. 44 * @reserved: Indicates whether @bo has been reserved for validation.
46 * @removed: Indicates whether @bo has been removed from lru lists. 45 * @removed: Indicates whether @bo has been removed from lru lists.
47 * @put_count: Number of outstanding references on bo::list_kref. 46 * @put_count: Number of outstanding references on bo::list_kref.
48 * @old_sync_obj: Pointer to a sync object about to be unreferenced 47 * @old_sync_obj: Pointer to a sync object about to be unreferenced
49 * @old_sync_obj_read: Pointer to a read sync object about to be unreferenced.
50 * @old_sync_obj_write: Pointer to a write sync object about to be unreferenced.
51 */ 48 */
52 49
53struct ttm_validate_buffer { 50struct ttm_validate_buffer {
54 struct list_head head; 51 struct list_head head;
55 struct ttm_buffer_object *bo; 52 struct ttm_buffer_object *bo;
56 void *new_sync_obj_arg; 53 void *new_sync_obj_arg;
57 enum ttm_buffer_usage usage;
58 bool reserved; 54 bool reserved;
59 bool removed; 55 bool removed;
60 int put_count; 56 int put_count;
61 void *old_sync_obj; 57 void *old_sync_obj;
62 void *old_sync_obj_read;
63 void *old_sync_obj_write;
64}; 58};
65 59
66/** 60/**