All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maarten Lankhorst <maarten.lankhorst@canonical.com>
To: airlied@linux.ie
Cc: thellstrom@vmware.com, nouveau@lists.freedesktop.org,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	bskeggs@redhat.com, alexander.deucher@amd.com,
	christian.koenig@amd.com
Subject: [PATCH 11/17] drm/vmwgfx: get rid of different types of fence_flags entirely
Date: Wed, 09 Jul 2014 14:30:05 +0200	[thread overview]
Message-ID: <20140709123005.11354.91213.stgit@patser> (raw)
In-Reply-To: <20140709093124.11354.3774.stgit@patser>

Only one type was ever used. This is needed to simplify the fence
support in the next commit.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c  |    5 +--
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h     |    1 -
 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c |   14 ++-------
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.c   |   50 ++++++++++++-------------------
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.h   |    8 +----
 5 files changed, 26 insertions(+), 52 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c b/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c
index 4a36bb1dc525..f15718cc631d 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c
@@ -792,15 +792,12 @@ static int vmw_sync_obj_flush(void *sync_obj)
 
 static bool vmw_sync_obj_signaled(void *sync_obj)
 {
-	return	vmw_fence_obj_signaled((struct vmw_fence_obj *) sync_obj,
-				       DRM_VMW_FENCE_FLAG_EXEC);
-
+	return vmw_fence_obj_signaled((struct vmw_fence_obj *) sync_obj);
 }
 
 static int vmw_sync_obj_wait(void *sync_obj, bool lazy, bool interruptible)
 {
 	return vmw_fence_obj_wait((struct vmw_fence_obj *) sync_obj,
-				  DRM_VMW_FENCE_FLAG_EXEC,
 				  lazy, interruptible,
 				  VMW_FENCE_WAIT_TIMEOUT);
 }
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
index 6b252a887ae2..f217e9723b9e 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
@@ -332,7 +332,6 @@ struct vmw_sw_context{
 	uint32_t *cmd_bounce;
 	uint32_t cmd_bounce_size;
 	struct list_head resource_list;
-	uint32_t fence_flags;
 	struct ttm_buffer_object *cur_query_bo;
 	struct list_head res_relocations;
 	uint32_t *buf_start;
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
index f8b25bc4e634..db30b790ad24 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
@@ -350,8 +350,6 @@ static int vmw_bo_to_validate_list(struct vmw_sw_context *sw_context,
 		vval_buf->validate_as_mob = validate_as_mob;
 	}
 
-	sw_context->fence_flags |= DRM_VMW_FENCE_FLAG_EXEC;
-
 	if (p_val_node)
 		*p_val_node = val_node;
 
@@ -2308,13 +2306,9 @@ int vmw_execbuf_fence_commands(struct drm_file *file_priv,
 
 	if (p_handle != NULL)
 		ret = vmw_user_fence_create(file_priv, dev_priv->fman,
-					    sequence,
-					    DRM_VMW_FENCE_FLAG_EXEC,
-					    p_fence, p_handle);
+					    sequence, p_fence, p_handle);
 	else
-		ret = vmw_fence_create(dev_priv->fman, sequence,
-				       DRM_VMW_FENCE_FLAG_EXEC,
-				       p_fence);
+		ret = vmw_fence_create(dev_priv->fman, sequence, p_fence);
 
 	if (unlikely(ret != 0 && !synced)) {
 		(void) vmw_fallback_wait(dev_priv, false, false,
@@ -2387,8 +2381,7 @@ vmw_execbuf_copy_fence_user(struct vmw_private *dev_priv,
 		ttm_ref_object_base_unref(vmw_fp->tfile,
 					  fence_handle, TTM_REF_USAGE);
 		DRM_ERROR("Fence copy error. Syncing.\n");
-		(void) vmw_fence_obj_wait(fence, fence->signal_mask,
-					  false, false,
+		(void) vmw_fence_obj_wait(fence, false, false,
 					  VMW_FENCE_WAIT_TIMEOUT);
 	}
 }
@@ -2438,7 +2431,6 @@ int vmw_execbuf_process(struct drm_file *file_priv,
 	sw_context->fp = vmw_fpriv(file_priv);
 	sw_context->cur_reloc = 0;
 	sw_context->cur_val_buf = 0;
-	sw_context->fence_flags = 0;
 	INIT_LIST_HEAD(&sw_context->resource_list);
 	sw_context->cur_query_bo = dev_priv->pinned_bo;
 	sw_context->last_query_ctx = NULL;
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
index 436b013b4231..05b9eea8e875 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
@@ -207,9 +207,7 @@ void vmw_fence_manager_takedown(struct vmw_fence_manager *fman)
 }
 
 static int vmw_fence_obj_init(struct vmw_fence_manager *fman,
-			      struct vmw_fence_obj *fence,
-			      u32 seqno,
-			      uint32_t mask,
+			      struct vmw_fence_obj *fence, u32 seqno,
 			      void (*destroy) (struct vmw_fence_obj *fence))
 {
 	unsigned long irq_flags;
@@ -220,7 +218,6 @@ static int vmw_fence_obj_init(struct vmw_fence_manager *fman,
 	INIT_LIST_HEAD(&fence->seq_passed_actions);
 	fence->fman = fman;
 	fence->signaled = 0;
-	fence->signal_mask = mask;
 	kref_init(&fence->kref);
 	fence->destroy = destroy;
 	init_waitqueue_head(&fence->queue);
@@ -356,7 +353,7 @@ static bool vmw_fence_goal_check_locked(struct vmw_fence_obj *fence)
 	u32 goal_seqno;
 	__le32 __iomem *fifo_mem;
 
-	if (fence->signaled & DRM_VMW_FENCE_FLAG_EXEC)
+	if (fence->signaled)
 		return false;
 
 	fifo_mem = fence->fman->dev_priv->mmio_virt;
@@ -386,7 +383,7 @@ rerun:
 	list_for_each_entry_safe(fence, next_fence, &fman->fence_list, head) {
 		if (seqno - fence->seqno < VMW_FENCE_WRAP) {
 			list_del_init(&fence->head);
-			fence->signaled |= DRM_VMW_FENCE_FLAG_EXEC;
+			fence->signaled = 1;
 			INIT_LIST_HEAD(&action_list);
 			list_splice_init(&fence->seq_passed_actions,
 					 &action_list);
@@ -417,8 +414,7 @@ rerun:
 	}
 }
 
-bool vmw_fence_obj_signaled(struct vmw_fence_obj *fence,
-			    uint32_t flags)
+bool vmw_fence_obj_signaled(struct vmw_fence_obj *fence)
 {
 	struct vmw_fence_manager *fman = fence->fman;
 	unsigned long irq_flags;
@@ -428,28 +424,25 @@ bool vmw_fence_obj_signaled(struct vmw_fence_obj *fence,
 	signaled = fence->signaled;
 	spin_unlock_irqrestore(&fman->lock, irq_flags);
 
-	flags &= fence->signal_mask;
-	if ((signaled & flags) == flags)
+	if (signaled)
 		return 1;
 
-	if ((signaled & DRM_VMW_FENCE_FLAG_EXEC) == 0)
-		vmw_fences_update(fman);
+	vmw_fences_update(fman);
 
 	spin_lock_irqsave(&fman->lock, irq_flags);
 	signaled = fence->signaled;
 	spin_unlock_irqrestore(&fman->lock, irq_flags);
 
-	return ((signaled & flags) == flags);
+	return signaled;
 }
 
-int vmw_fence_obj_wait(struct vmw_fence_obj *fence,
-		       uint32_t flags, bool lazy,
+int vmw_fence_obj_wait(struct vmw_fence_obj *fence, bool lazy,
 		       bool interruptible, unsigned long timeout)
 {
 	struct vmw_private *dev_priv = fence->fman->dev_priv;
 	long ret;
 
-	if (likely(vmw_fence_obj_signaled(fence, flags)))
+	if (likely(vmw_fence_obj_signaled(fence)))
 		return 0;
 
 	vmw_fifo_ping_host(dev_priv, SVGA_SYNC_GENERIC);
@@ -458,12 +451,12 @@ int vmw_fence_obj_wait(struct vmw_fence_obj *fence,
 	if (interruptible)
 		ret = wait_event_interruptible_timeout
 			(fence->queue,
-			 vmw_fence_obj_signaled(fence, flags),
+			 vmw_fence_obj_signaled(fence),
 			 timeout);
 	else
 		ret = wait_event_timeout
 			(fence->queue,
-			 vmw_fence_obj_signaled(fence, flags),
+			 vmw_fence_obj_signaled(fence),
 			 timeout);
 
 	vmw_seqno_waiter_remove(dev_priv);
@@ -497,7 +490,6 @@ static void vmw_fence_destroy(struct vmw_fence_obj *fence)
 
 int vmw_fence_create(struct vmw_fence_manager *fman,
 		     uint32_t seqno,
-		     uint32_t mask,
 		     struct vmw_fence_obj **p_fence)
 {
 	struct ttm_mem_global *mem_glob = vmw_mem_glob(fman->dev_priv);
@@ -515,7 +507,7 @@ int vmw_fence_create(struct vmw_fence_manager *fman,
 		goto out_no_object;
 	}
 
-	ret = vmw_fence_obj_init(fman, fence, seqno, mask,
+	ret = vmw_fence_obj_init(fman, fence, seqno,
 				 vmw_fence_destroy);
 	if (unlikely(ret != 0))
 		goto out_err_init;
@@ -559,7 +551,6 @@ static void vmw_user_fence_base_release(struct ttm_base_object **p_base)
 int vmw_user_fence_create(struct drm_file *file_priv,
 			  struct vmw_fence_manager *fman,
 			  uint32_t seqno,
-			  uint32_t mask,
 			  struct vmw_fence_obj **p_fence,
 			  uint32_t *p_handle)
 {
@@ -586,7 +577,7 @@ int vmw_user_fence_create(struct drm_file *file_priv,
 	}
 
 	ret = vmw_fence_obj_init(fman, &ufence->fence, seqno,
-				 mask, vmw_user_fence_destroy);
+				 vmw_user_fence_destroy);
 	if (unlikely(ret != 0)) {
 		kfree(ufence);
 		goto out_no_object;
@@ -647,13 +638,12 @@ void vmw_fence_fifo_down(struct vmw_fence_manager *fman)
 		kref_get(&fence->kref);
 		spin_unlock_irq(&fman->lock);
 
-		ret = vmw_fence_obj_wait(fence, fence->signal_mask,
-					 false, false,
+		ret = vmw_fence_obj_wait(fence, false, false,
 					 VMW_FENCE_WAIT_TIMEOUT);
 
 		if (unlikely(ret != 0)) {
 			list_del_init(&fence->head);
-			fence->signaled |= DRM_VMW_FENCE_FLAG_EXEC;
+			fence->signaled = 1;
 			INIT_LIST_HEAD(&action_list);
 			list_splice_init(&fence->seq_passed_actions,
 					 &action_list);
@@ -716,14 +706,14 @@ int vmw_fence_obj_wait_ioctl(struct drm_device *dev, void *data,
 
 	timeout = jiffies;
 	if (time_after_eq(timeout, (unsigned long)arg->kernel_cookie)) {
-		ret = ((vmw_fence_obj_signaled(fence, arg->flags)) ?
+		ret = ((vmw_fence_obj_signaled(fence)) ?
 		       0 : -EBUSY);
 		goto out;
 	}
 
 	timeout = (unsigned long)arg->kernel_cookie - timeout;
 
-	ret = vmw_fence_obj_wait(fence, arg->flags, arg->lazy, true, timeout);
+	ret = vmw_fence_obj_wait(fence, arg->lazy, true, timeout);
 
 out:
 	ttm_base_object_unref(&base);
@@ -760,10 +750,10 @@ int vmw_fence_obj_signaled_ioctl(struct drm_device *dev, void *data,
 	fence = &(container_of(base, struct vmw_user_fence, base)->fence);
 	fman = fence->fman;
 
-	arg->signaled = vmw_fence_obj_signaled(fence, arg->flags);
+	arg->signaled = vmw_fence_obj_signaled(fence);
 	spin_lock_irq(&fman->lock);
 
-	arg->signaled_flags = fence->signaled;
+	arg->signaled_flags = arg->flags;
 	arg->passed_seqno = dev_priv->last_read_seqno;
 	spin_unlock_irq(&fman->lock);
 
@@ -908,7 +898,7 @@ static void vmw_fence_obj_add_action(struct vmw_fence_obj *fence,
 	spin_lock_irqsave(&fman->lock, irq_flags);
 
 	fman->pending_actions[action->type]++;
-	if (fence->signaled & DRM_VMW_FENCE_FLAG_EXEC) {
+	if (fence->signaled) {
 		struct list_head action_list;
 
 		INIT_LIST_HEAD(&action_list);
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.h b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.h
index faf2e7873860..8c18d32bd1c3 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.h
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.h
@@ -56,7 +56,6 @@ struct vmw_fence_obj {
 	struct vmw_fence_manager *fman;
 	struct list_head head;
 	uint32_t signaled;
-	uint32_t signal_mask;
 	struct list_head seq_passed_actions;
 	void (*destroy)(struct vmw_fence_obj *fence);
 	wait_queue_head_t queue;
@@ -74,10 +73,9 @@ vmw_fence_obj_reference(struct vmw_fence_obj *fence);
 
 extern void vmw_fences_update(struct vmw_fence_manager *fman);
 
-extern bool vmw_fence_obj_signaled(struct vmw_fence_obj *fence,
-				   uint32_t flags);
+extern bool vmw_fence_obj_signaled(struct vmw_fence_obj *fence);
 
-extern int vmw_fence_obj_wait(struct vmw_fence_obj *fence, uint32_t flags,
+extern int vmw_fence_obj_wait(struct vmw_fence_obj *fence,
 			      bool lazy,
 			      bool interruptible, unsigned long timeout);
 
@@ -85,13 +83,11 @@ extern void vmw_fence_obj_flush(struct vmw_fence_obj *fence);
 
 extern int vmw_fence_create(struct vmw_fence_manager *fman,
 			    uint32_t seqno,
-			    uint32_t mask,
 			    struct vmw_fence_obj **p_fence);
 
 extern int vmw_user_fence_create(struct drm_file *file_priv,
 				 struct vmw_fence_manager *fman,
 				 uint32_t sequence,
-				 uint32_t mask,
 				 struct vmw_fence_obj **p_fence,
 				 uint32_t *p_handle);
 


  parent reply	other threads:[~2014-07-09 12:30 UTC|newest]

Thread overview: 165+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-09 12:29 [PATCH 00/17] Convert TTM to the new fence interface Maarten Lankhorst
2014-07-09 12:29 ` [PATCH 01/17] drm/ttm: add interruptible parameter to ttm_eu_reserve_buffers Maarten Lankhorst
2014-07-09 12:29 ` [PATCH 02/17] drm/ttm: kill off some members to ttm_validate_buffer Maarten Lankhorst
2014-07-09 12:29 ` [PATCH 03/17] drm/nouveau: add reservation to nouveau_gem_ioctl_cpu_prep Maarten Lankhorst
2014-07-09 12:29 ` [PATCH 04/17] drm/nouveau: require reservations for nouveau_fence_sync and nouveau_bo_fence Maarten Lankhorst
2014-07-09 12:29 ` [PATCH 05/17] drm/ttm: call ttm_bo_wait while inside a reservation Maarten Lankhorst
2014-07-09 12:29 ` [PATCH 06/17] drm/ttm: kill fence_lock Maarten Lankhorst
2014-07-09 12:29 ` [PATCH 07/17] drm/nouveau: rework to new fence interface Maarten Lankhorst
2014-07-09 12:29 ` [PATCH 08/17] drm/radeon: add timeout argument to radeon_fence_wait_seq Maarten Lankhorst
2014-07-09 12:29   ` Maarten Lankhorst
2014-07-09 12:29 ` [PATCH 09/17] drm/radeon: use common fence implementation for fences Maarten Lankhorst
2014-07-09 12:57   ` Deucher, Alexander
2014-07-09 12:57     ` Deucher, Alexander
2014-07-09 13:23     ` [PATCH v2 " Maarten Lankhorst
2014-07-09 13:23       ` Maarten Lankhorst
2014-07-10 17:27       ` Alex Deucher
2014-07-10 17:27         ` Alex Deucher
2014-07-22  4:05   ` [PATCH " Dave Airlie
2014-07-22  4:05     ` Dave Airlie
2014-07-22  4:05     ` Dave Airlie
2014-07-22  8:43     ` Christian König
2014-07-22  8:43       ` Christian König
2014-07-22 11:46       ` Daniel Vetter
2014-07-22 11:46         ` Daniel Vetter
2014-07-22 11:52         ` Daniel Vetter
2014-07-22 11:52           ` Daniel Vetter
2014-07-22 11:57         ` Daniel Vetter
2014-07-22 11:57           ` Daniel Vetter
2014-07-22 12:19           ` Christian König
2014-07-22 12:19             ` Christian König
2014-07-22 13:26             ` [Nouveau] " Daniel Vetter
2014-07-22 13:26               ` Daniel Vetter
2014-07-22 13:45               ` Christian König
2014-07-22 13:45                 ` Christian König
2014-07-22 14:44                 ` [Nouveau] " Maarten Lankhorst
2014-07-22 14:44                   ` Maarten Lankhorst
2014-07-22 15:02                   ` [Nouveau] " Christian König
2014-07-22 15:18                     ` Maarten Lankhorst
2014-07-22 15:17                 ` Daniel Vetter
2014-07-22 15:17                   ` Daniel Vetter
2014-07-22 15:35                   ` [Nouveau] " Christian König
2014-07-22 15:35                     ` Christian König
2014-07-22 15:42                     ` Daniel Vetter
2014-07-22 15:42                       ` Daniel Vetter
2014-07-22 15:59                       ` Christian König
2014-07-22 15:59                         ` Christian König
2014-07-22 16:21                         ` Daniel Vetter
2014-07-22 16:21                           ` Daniel Vetter
2014-07-22 16:39                           ` Christian König
2014-07-22 16:39                             ` Christian König
2014-07-22 16:52                             ` Daniel Vetter
2014-07-22 16:52                               ` Daniel Vetter
2014-07-22 16:43                           ` Daniel Vetter
2014-07-22 16:43                             ` Daniel Vetter
2014-07-23  6:40                         ` Maarten Lankhorst
2014-07-23  6:40                           ` Maarten Lankhorst
2014-07-23  6:52                           ` Christian König
2014-07-23  6:52                             ` Christian König
2014-07-23  7:02                             ` [Nouveau] " Daniel Vetter
2014-07-23  7:02                               ` Daniel Vetter
2014-07-23  7:06                             ` [Nouveau] " Maarten Lankhorst
2014-07-23  7:06                               ` Maarten Lankhorst
2014-07-23  7:09                               ` Daniel Vetter
2014-07-23  7:09                                 ` Daniel Vetter
2014-07-23  7:15                                 ` Christian König
2014-07-23  7:15                                   ` Christian König
2014-07-23  7:32                                   ` [Nouveau] " Maarten Lankhorst
2014-07-23  7:32                                     ` Maarten Lankhorst
2014-07-23  7:41                                     ` Christian König
2014-07-23  7:41                                       ` Christian König
2014-07-23  7:26                               ` [Nouveau] " Christian König
2014-07-23  7:26                                 ` Christian König
2014-07-23  7:31                                 ` Daniel Vetter
2014-07-23  7:31                                   ` Daniel Vetter
2014-07-23  7:37                                   ` Christian König
2014-07-23  7:37                                     ` Christian König
2014-07-23  7:51                                     ` [Nouveau] " Maarten Lankhorst
2014-07-23  7:51                                       ` Maarten Lankhorst
2014-07-23  7:58                                       ` [Nouveau] " Christian König
2014-07-23  7:58                                         ` Christian König
2014-07-23  8:07                                         ` [Nouveau] " Daniel Vetter
2014-07-23  8:07                                           ` Daniel Vetter
2014-07-23  8:20                                           ` [Nouveau] " Christian König
2014-07-23  8:20                                             ` Christian König
2014-07-23  8:25                                             ` Maarten Lankhorst
2014-07-23  8:25                                               ` Maarten Lankhorst
2014-07-23  8:42                                               ` [Nouveau] " Daniel Vetter
2014-07-23  8:42                                                 ` Daniel Vetter
2014-07-23  8:46                                                 ` Christian König
2014-07-23  8:46                                                   ` Christian König
2014-07-23  8:54                                                   ` [Nouveau] " Daniel Vetter
2014-07-23  8:54                                                     ` Daniel Vetter
2014-07-23  9:27                                                     ` [Nouveau] " Christian König
2014-07-23  9:27                                                       ` Christian König
2014-07-23  9:30                                                       ` [Nouveau] " Daniel Vetter
2014-07-23  9:30                                                         ` Daniel Vetter
2014-07-23  9:36                                                         ` [Nouveau] " Christian König
2014-07-23  9:36                                                           ` Christian König
2014-07-23  9:38                                                           ` [Nouveau] " Maarten Lankhorst
2014-07-23  9:38                                                             ` Maarten Lankhorst
2014-07-23  9:39                                                             ` Christian König
2014-07-23  9:39                                                               ` Christian König
2014-07-23  9:39                                                           ` [Nouveau] " Daniel Vetter
2014-07-23  9:39                                                             ` Daniel Vetter
2014-07-23  9:44                                                             ` Daniel Vetter
2014-07-23  9:44                                                               ` Daniel Vetter
2014-07-23  9:47                                                               ` [Nouveau] " Christian König
2014-07-23  9:47                                                                 ` Christian König
2014-07-23  9:52                                                                 ` Daniel Vetter
2014-07-23  9:52                                                                   ` Daniel Vetter
2014-07-23  9:55                                                                 ` [Nouveau] " Maarten Lankhorst
2014-07-23  9:55                                                                   ` Maarten Lankhorst
2014-07-23 10:13                                                                   ` [Nouveau] " Christian König
2014-07-23 10:13                                                                     ` Christian König
2014-07-23 10:52                                                                     ` [Nouveau] " Daniel Vetter
2014-07-23 10:52                                                                       ` Daniel Vetter
2014-07-23 12:36                                                                       ` Christian König
2014-07-23 12:36                                                                         ` Christian König
2014-07-23 12:42                                                                         ` Daniel Vetter
2014-07-23 12:42                                                                           ` Daniel Vetter
2014-07-23 13:16                                                                         ` Maarten Lankhorst
2014-07-23 13:16                                                                           ` Maarten Lankhorst
2014-07-23 14:05                                                                           ` [Nouveau] " Maarten Lankhorst
2014-07-23 14:05                                                                             ` Maarten Lankhorst
2014-07-24 13:47                                                                             ` [Nouveau] " Christian König
2014-07-24 13:47                                                                               ` Christian König
2014-07-23  8:01                                     ` Daniel Vetter
2014-07-23  8:01                                       ` Daniel Vetter
2014-07-23  8:31                                       ` Christian König
2014-07-23  8:31                                         ` Christian König
2014-07-23 12:35                             ` Rob Clark
2014-07-23 12:35                               ` Rob Clark
2014-07-22 14:05             ` Maarten Lankhorst
2014-07-22 14:24               ` Christian König
2014-07-22 14:27                 ` Maarten Lankhorst
2014-07-22 14:39                   ` Christian König
2014-07-22 14:47                     ` Maarten Lankhorst
2014-07-22 15:16                       ` Christian König
2014-07-22 15:19                     ` Daniel Vetter
2014-07-22 15:19                       ` Daniel Vetter
2014-07-22 15:42                       ` Alex Deucher
2014-07-22 15:42                         ` Alex Deucher
2014-07-22 15:48                         ` Daniel Vetter
2014-07-22 15:48                           ` Daniel Vetter
2014-07-22 19:14                           ` Jesse Barnes
2014-07-22 19:14                             ` Jesse Barnes
2014-07-23  9:47                             ` [Nouveau] " Daniel Vetter
2014-07-23  9:47                               ` Daniel Vetter
2014-07-23 15:37                               ` [Nouveau] " Jesse Barnes
2014-07-23 15:37                                 ` Jesse Barnes
2014-07-22 11:51     ` Maarten Lankhorst
2014-07-22 11:51       ` Maarten Lankhorst
2014-07-09 12:29 ` [PATCH 10/17] drm/qxl: rework to new fence interface Maarten Lankhorst
2014-07-09 12:30 ` Maarten Lankhorst [this message]
2014-07-09 12:30 ` [PATCH 12/17] drm/vmwgfx: " Maarten Lankhorst
2014-07-09 12:30 ` [PATCH 13/17] drm/ttm: flip the switch, and convert to dma_fence Maarten Lankhorst
2014-07-09 12:30 ` [PATCH 14/17] drm/nouveau: use rcu in nouveau_gem_ioctl_cpu_prep Maarten Lankhorst
2014-07-09 12:30 ` [PATCH 15/17] drm/radeon: use rcu waits in some ioctls Maarten Lankhorst
2014-07-09 12:30 ` [PATCH 16/17] drm/vmwgfx: use rcu in vmw_user_dmabuf_synccpu_grab Maarten Lankhorst
2014-07-09 12:30 ` [PATCH 17/17] drm/ttm: use rcu in core ttm Maarten Lankhorst
2014-07-09 13:09 ` [PATCH 00/17] Convert TTM to the new fence interface Mike Lothian
2014-07-09 13:21   ` Maarten Lankhorst
2014-07-09 13:21     ` Maarten Lankhorst
2014-07-10 21:37 ` Thomas Hellström
2014-07-10 21:37   ` Thomas Hellström

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140709123005.11354.91213.stgit@patser \
    --to=maarten.lankhorst@canonical.com \
    --cc=airlied@linux.ie \
    --cc=alexander.deucher@amd.com \
    --cc=bskeggs@redhat.com \
    --cc=christian.koenig@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nouveau@lists.freedesktop.org \
    --cc=thellstrom@vmware.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.