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

From: "Koenig, Christian" <[email-masked]>
Date: Wed, 14 Aug 2019 06:51:46 +0000

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 <[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]>

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

Reviewed-by: Christian König <[email-masked]>

> ---
>   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);