Linux-Next Archive on lore.kernel.org
 help / color / Atom feed
* linux-next: manual merge of the drm-misc tree with the drm and drm-intel trees
@ 2019-08-14  2:54 Stephen Rothwell
  2019-08-14  6:51 ` Koenig, Christian
  2019-08-21 23:50 ` Stephen Rothwell
  0 siblings, 2 replies; 3+ messages in thread
From: Stephen Rothwell @ 2019-08-14  2:54 UTC (permalink / raw)
  To: Daniel Vetter, Intel Graphics, DRI, Dave Airlie, Jani Nikula,
	Joonas Lahtinen, Rodrigo Vivi
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Christian König, Chris Wilson, Felix Kuehling, Alex Deucher

[-- Attachment #1: Type: text/plain, Size: 5193 bytes --]

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

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
+++ 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;
  }
  

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: linux-next: manual merge of the drm-misc tree with the drm and drm-intel trees
  2019-08-14  2:54 linux-next: manual merge of the drm-misc tree with the drm and drm-intel trees Stephen Rothwell
@ 2019-08-14  6:51 ` Koenig, Christian
  2019-08-21 23:50 ` Stephen Rothwell
  1 sibling, 0 replies; 3+ messages in thread
From: Koenig, Christian @ 2019-08-14  6:51 UTC (permalink / raw)
  To: Stephen Rothwell, Daniel Vetter, Intel Graphics, DRI,
	Dave Airlie, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi
  Cc: Linux Next Mailing List, Linux Kernel Mailing List, Chris Wilson,
	Kuehling, Felix, Deucher, Alexander

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: linux-next: manual merge of the drm-misc tree with the drm and drm-intel trees
  2019-08-14  2:54 linux-next: manual merge of the drm-misc tree with the drm and drm-intel trees Stephen Rothwell
  2019-08-14  6:51 ` Koenig, Christian
@ 2019-08-21 23:50 ` Stephen Rothwell
  1 sibling, 0 replies; 3+ messages in thread
From: Stephen Rothwell @ 2019-08-21 23:50 UTC (permalink / raw)
  To: Daniel Vetter, Intel Graphics, DRI, Dave Airlie, Jani Nikula,
	Joonas Lahtinen, Rodrigo Vivi
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Christian König, Chris Wilson, Felix Kuehling, Alex Deucher

[-- Attachment #1: Type: text/plain, Size: 4068 bytes --]

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

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-14  2:54 linux-next: manual merge of the drm-misc tree with the drm and drm-intel trees Stephen Rothwell
2019-08-14  6:51 ` Koenig, Christian
2019-08-21 23:50 ` Stephen Rothwell

Linux-Next Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-next/0 linux-next/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-next linux-next/ https://lore.kernel.org/linux-next \
		linux-next@vger.kernel.org linux-next@archiver.kernel.org
	public-inbox-index linux-next


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-next


AGPL code for this site: git clone https://public-inbox.org/ public-inbox