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

From: Stephen Rothwell <[email-masked]>
Date: Thu, 22 Aug 2019 09:50:29 +1000

Hi all,

On Wed, 14 Aug 2019 12:54:33 +1000 Stephen Rothwell <[email-masked]> 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 <[email-masked]>
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 <[email-masked]>
---
 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;
  }

-- 
Cheers,
Stephen Rothwell