diff mbox series

linux-next: manual merge of the drm-misc tree with the drm and drm-intel trees

Message ID 20190814125433.20147fb7@canb.auug.org.au (mailing list archive)
State New, archived
Headers show
Series linux-next: manual merge of the drm-misc tree with the drm and drm-intel trees | expand

Commit Message

Stephen Rothwell Aug. 14, 2019, 2:54 a.m. UTC
Hi all,

Today's linux-next merge of the drm-misc tree got a conflict in:

  drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
  drivers/gpu/drm/i915/i915_vma.c
  drivers/gpu/drm/i915/i915_gem_batch_pool.c
  drivers/gpu/drm/i915/gem/i915_gem_object.c
  drivers/gpu/drm/i915/gt/intel_engine_pool.c

between commits:

  a93615f900bd ("drm/i915: Throw away the active object retirement complexity")
  12c255b5dad1 ("drm/i915: Provide an i915_active.acquire callback")
  cd2a4eaf8c79 ("drm/i915: Report resv_obj allocation failure")
  b40d73784ffc ("drm/i915: Replace struct_mutex for batch pool serialisation")
  ab2f7a5c18b5 ("drm/amdgpu: Implement VRAM wipe on release")
  0c159ffef628 ("drm/i915/gem: Defer obj->base.resv fini until RCU callback")

from the drm and drm-intel trees and commit:

  52791eeec1d9 ("dma-buf: rename reservation_object to dma_resv")

from the drm-misc tree.

I fixed it up (see below and I added the following merge fix patch) and
can carry the fix as necessary. This is now fixed as far as linux-next
is concerned, but any non trivial conflicts should be mentioned to your
upstream maintainer when your tree is submitted for merging.  You may
also want to consider cooperating with the maintainer of the
conflicting tree to minimise any particularly complex conflicts.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 14 Aug 2019 12:48:39 +1000
Subject: [PATCH] drm: fix up fallout from "dma-buf: rename reservation_object to dma_resv"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c  | 4 ++--
 drivers/gpu/drm/i915/gem/i915_gem_object.c  | 2 +-
 drivers/gpu/drm/i915/gt/intel_engine_pool.c | 8 ++++----
 3 files changed, 7 insertions(+), 7 deletions(-)

+++ b/drivers/gpu/drm/i915/i915_vma.c
@@@ -911,21 -951,16 +911,21 @@@ int i915_vma_move_to_active(struct i915
  		if (intel_fb_obj_invalidate(obj, ORIGIN_CS))
  			__i915_active_request_set(&obj->frontbuffer_write, rq);
  
- 		reservation_object_add_excl_fence(vma->resv, &rq->fence);
++		dma_resv_add_excl_fence(vma->resv, &rq->fence);
 +		obj->write_domain = I915_GEM_DOMAIN_RENDER;
  		obj->read_domains = 0;
 +	} else {
- 		err = reservation_object_reserve_shared(vma->resv, 1);
++		err = dma_resv_reserve_shared(vma->resv, 1);
 +		if (unlikely(err))
 +			return err;
 +
- 		reservation_object_add_shared_fence(vma->resv, &rq->fence);
++		dma_resv_add_shared_fence(vma->resv, &rq->fence);
 +		obj->write_domain = 0;
  	}
  	obj->read_domains |= I915_GEM_GPU_DOMAINS;
 +	obj->mm.dirty = true;
  
 -	if (flags & EXEC_OBJECT_NEEDS_FENCE)
 -		__i915_active_request_set(&vma->last_fence, rq);
 -
 -	export_fence(vma, rq, flags);
 +	GEM_BUG_ON(!i915_vma_is_active(vma));
  	return 0;
  }

Comments

Christian König Aug. 14, 2019, 6:51 a.m. UTC | #1
Am 14.08.19 um 04:54 schrieb Stephen Rothwell:
> Hi all,
>
> Today's linux-next merge of the drm-misc tree got a conflict in:
>
>    drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
>    drivers/gpu/drm/i915/i915_vma.c
>    drivers/gpu/drm/i915/i915_gem_batch_pool.c
>    drivers/gpu/drm/i915/gem/i915_gem_object.c
>    drivers/gpu/drm/i915/gt/intel_engine_pool.c
>
> between commits:
>
>    a93615f900bd ("drm/i915: Throw away the active object retirement complexity")
>    12c255b5dad1 ("drm/i915: Provide an i915_active.acquire callback")
>    cd2a4eaf8c79 ("drm/i915: Report resv_obj allocation failure")
>    b40d73784ffc ("drm/i915: Replace struct_mutex for batch pool serialisation")
>    ab2f7a5c18b5 ("drm/amdgpu: Implement VRAM wipe on release")
>    0c159ffef628 ("drm/i915/gem: Defer obj->base.resv fini until RCU callback")
>
> from the drm and drm-intel trees and commit:
>
>    52791eeec1d9 ("dma-buf: rename reservation_object to dma_resv")
>
> from the drm-misc tree.
>
> I fixed it up (see below and I added the following merge fix patch) and
> can carry the fix as necessary. This is now fixed as far as linux-next
> is concerned, but any non trivial conflicts should be mentioned to your
> upstream maintainer when your tree is submitted for merging.  You may
> also want to consider cooperating with the maintainer of the
> conflicting tree to minimise any particularly complex conflicts.
>
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Wed, 14 Aug 2019 12:48:39 +1000
> Subject: [PATCH] drm: fix up fallout from "dma-buf: rename reservation_object to dma_resv"
>
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

Yeah, it was to be expected that this causes a bit trouble.

Reviewed-by: Christian König <christian.koenig@amd.com>

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_object.c  | 4 ++--
>   drivers/gpu/drm/i915/gem/i915_gem_object.c  | 2 +-
>   drivers/gpu/drm/i915/gt/intel_engine_pool.c | 8 ++++----
>   3 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> index dfd4aa68c806..6ebe61e14f29 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> @@ -1242,7 +1242,7 @@ void amdgpu_bo_release_notify(struct ttm_buffer_object *bo)
>   	    !(abo->flags & AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE))
>   		return;
>   
> -	reservation_object_lock(bo->base.resv, NULL);
> +	dma_resv_lock(bo->base.resv, NULL);
>   
>   	r = amdgpu_fill_buffer(abo, AMDGPU_POISON, bo->base.resv, &fence);
>   	if (!WARN_ON(r)) {
> @@ -1250,7 +1250,7 @@ void amdgpu_bo_release_notify(struct ttm_buffer_object *bo)
>   		dma_fence_put(fence);
>   	}
>   
> -	reservation_object_unlock(bo->base.resv);
> +	dma_resv_unlock(bo->base.resv);
>   }
>   
>   /**
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c
> index 3929c3a6b281..67dc61e02c9f 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_object.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c
> @@ -154,7 +154,7 @@ static void __i915_gem_free_object_rcu(struct rcu_head *head)
>   		container_of(head, typeof(*obj), rcu);
>   	struct drm_i915_private *i915 = to_i915(obj->base.dev);
>   
> -	reservation_object_fini(&obj->base._resv);
> +	dma_resv_fini(&obj->base._resv);
>   	i915_gem_object_free(obj);
>   
>   	GEM_BUG_ON(!atomic_read(&i915->mm.free_count));
> diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pool.c b/drivers/gpu/drm/i915/gt/intel_engine_pool.c
> index 03d90b49584a..4cd54c569911 100644
> --- a/drivers/gpu/drm/i915/gt/intel_engine_pool.c
> +++ b/drivers/gpu/drm/i915/gt/intel_engine_pool.c
> @@ -43,12 +43,12 @@ static int pool_active(struct i915_active *ref)
>   {
>   	struct intel_engine_pool_node *node =
>   		container_of(ref, typeof(*node), active);
> -	struct reservation_object *resv = node->obj->base.resv;
> +	struct dma_resv *resv = node->obj->base.resv;
>   	int err;
>   
> -	if (reservation_object_trylock(resv)) {
> -		reservation_object_add_excl_fence(resv, NULL);
> -		reservation_object_unlock(resv);
> +	if (dma_resv_trylock(resv)) {
> +		dma_resv_add_excl_fence(resv, NULL);
> +		dma_resv_unlock(resv);
>   	}
>   
>   	err = i915_gem_object_pin_pages(node->obj);
Stephen Rothwell Aug. 21, 2019, 11:50 p.m. UTC | #2
Hi all,

On Wed, 14 Aug 2019 12:54:33 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Today's linux-next merge of the drm-misc tree got a conflict in:
> 
>   drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
>   drivers/gpu/drm/i915/i915_vma.c
>   drivers/gpu/drm/i915/i915_gem_batch_pool.c
>   drivers/gpu/drm/i915/gem/i915_gem_object.c
>   drivers/gpu/drm/i915/gt/intel_engine_pool.c
> 
> between commits:
> 
>   a93615f900bd ("drm/i915: Throw away the active object retirement complexity")
>   12c255b5dad1 ("drm/i915: Provide an i915_active.acquire callback")
>   cd2a4eaf8c79 ("drm/i915: Report resv_obj allocation failure")
>   b40d73784ffc ("drm/i915: Replace struct_mutex for batch pool serialisation")
>   ab2f7a5c18b5 ("drm/amdgpu: Implement VRAM wipe on release")
>   0c159ffef628 ("drm/i915/gem: Defer obj->base.resv fini until RCU callback")
> 
> from the drm and drm-intel trees and commit:
> 
>   52791eeec1d9 ("dma-buf: rename reservation_object to dma_resv")
> 
> from the drm-misc tree.
> 
> I fixed it up (see below and I added the following merge fix patch) and
> can carry the fix as necessary. This is now fixed as far as linux-next
> is concerned, but any non trivial conflicts should be mentioned to your
> upstream maintainer when your tree is submitted for merging.  You may
> also want to consider cooperating with the maintainer of the
> conflicting tree to minimise any particularly complex conflicts.

So the parts of this that affected the drm tree are now fixed, but the
conflicts between the drm-intel and drm-misc trees are now between the
drm-intel and drm trees.

The added patch becomes:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 14 Aug 2019 12:48:39 +1000
Subject: [PATCH] drm: fix up fallout from "dma-buf: rename reservation_object to dma_resv"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/gpu/drm/i915/gt/intel_engine_pool.c | 8 ++++----
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pool.c b/drivers/gpu/drm/i915/gt/intel_engine_pool.c
index 03d90b49584a..4cd54c569911 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_pool.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_pool.c
@@ -43,12 +43,12 @@ static int pool_active(struct i915_active *ref)
 {
 	struct intel_engine_pool_node *node =
 		container_of(ref, typeof(*node), active);
-	struct reservation_object *resv = node->obj->base.resv;
+	struct dma_resv *resv = node->obj->base.resv;
 	int err;
 
-	if (reservation_object_trylock(resv)) {
-		reservation_object_add_excl_fence(resv, NULL);
-		reservation_object_unlock(resv);
+	if (dma_resv_trylock(resv)) {
+		dma_resv_add_excl_fence(resv, NULL);
+		dma_resv_unlock(resv);
 	}
 
 	err = i915_gem_object_pin_pages(node->obj);

I think the remaining merge resolution is:

diff --cc drivers/gpu/drm/i915/i915_vma.c
index 8be1bbef40e5,ebfd03d117cd..000000000000
--- a/drivers/gpu/drm/i915/i915_vma.c
+++ b/drivers/gpu/drm/i915/i915_vma.c
@@@ -911,21 -951,16 +911,21 @@@ int i915_vma_move_to_active(struct i915
  		if (intel_fb_obj_invalidate(obj, ORIGIN_CS))
  			__i915_active_request_set(&obj->frontbuffer_write, rq);
  
- 		reservation_object_add_excl_fence(vma->resv, &rq->fence);
++		dma_resv_add_excl_fence(vma->resv, &rq->fence);
 +		obj->write_domain = I915_GEM_DOMAIN_RENDER;
  		obj->read_domains = 0;
 +	} else {
- 		err = reservation_object_reserve_shared(vma->resv, 1);
++		err = dma_resv_reserve_shared(vma->resv, 1);
 +		if (unlikely(err))
 +			return err;
 +
- 		reservation_object_add_shared_fence(vma->resv, &rq->fence);
++		dma_resv_add_shared_fence(vma->resv, &rq->fence);
 +		obj->write_domain = 0;
  	}
  	obj->read_domains |= I915_GEM_GPU_DOMAINS;
 +	obj->mm.dirty = true;
  
 -	if (flags & EXEC_OBJECT_NEEDS_FENCE)
 -		__i915_active_request_set(&vma->last_fence, rq);
 -
 -	export_fence(vma, rq, flags);
 +	GEM_BUG_ON(!i915_vma_is_active(vma));
  	return 0;
  }
diff mbox series

Patch

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
index dfd4aa68c806..6ebe61e14f29 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
@@ -1242,7 +1242,7 @@  void amdgpu_bo_release_notify(struct ttm_buffer_object *bo)
 	    !(abo->flags & AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE))
 		return;
 
-	reservation_object_lock(bo->base.resv, NULL);
+	dma_resv_lock(bo->base.resv, NULL);
 
 	r = amdgpu_fill_buffer(abo, AMDGPU_POISON, bo->base.resv, &fence);
 	if (!WARN_ON(r)) {
@@ -1250,7 +1250,7 @@  void amdgpu_bo_release_notify(struct ttm_buffer_object *bo)
 		dma_fence_put(fence);
 	}
 
-	reservation_object_unlock(bo->base.resv);
+	dma_resv_unlock(bo->base.resv);
 }
 
 /**
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c
index 3929c3a6b281..67dc61e02c9f 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_object.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c
@@ -154,7 +154,7 @@  static void __i915_gem_free_object_rcu(struct rcu_head *head)
 		container_of(head, typeof(*obj), rcu);
 	struct drm_i915_private *i915 = to_i915(obj->base.dev);
 
-	reservation_object_fini(&obj->base._resv);
+	dma_resv_fini(&obj->base._resv);
 	i915_gem_object_free(obj);
 
 	GEM_BUG_ON(!atomic_read(&i915->mm.free_count));
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pool.c b/drivers/gpu/drm/i915/gt/intel_engine_pool.c
index 03d90b49584a..4cd54c569911 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_pool.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_pool.c
@@ -43,12 +43,12 @@  static int pool_active(struct i915_active *ref)
 {
 	struct intel_engine_pool_node *node =
 		container_of(ref, typeof(*node), active);
-	struct reservation_object *resv = node->obj->base.resv;
+	struct dma_resv *resv = node->obj->base.resv;
 	int err;
 
-	if (reservation_object_trylock(resv)) {
-		reservation_object_add_excl_fence(resv, NULL);
-		reservation_object_unlock(resv);
+	if (dma_resv_trylock(resv)) {
+		dma_resv_add_excl_fence(resv, NULL);
+		dma_resv_unlock(resv);
 	}
 
 	err = i915_gem_object_pin_pages(node->obj);
-- 
2.20.1

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/gpu/drm/i915/i915_vma.c
index 8be1bbef40e5,ebfd03d117cd..000000000000
--- a/drivers/gpu/drm/i915/i915_vma.c