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

From: Stephen Rothwell
Date: Wed Aug 21 2019 - 19:50:44 EST


Hi all,

On Wed, 14 Aug 2019 12:54:33 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxxxx>
---
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: pgpKEuxkC3kko.pgp
Description: OpenPGP digital signature