[Intel-gfx] drm-tip compile break

Lucas De Marchi lucas.demarchi at intel.com
Thu Mar 31 08:15:29 UTC 2022


On Thu, Mar 31, 2022 at 09:35:50AM +0200, Christian König wrote:
>Well the fix is trivial, but somehow rebuilding drm-tip always fails 
>for me while merging drm-intel-next.
>
>I probably have somehow messed up reverting the conflict resolution. Ideas?

It looks like the error is in the wrong conflict resolution in
629041de3a0c M─┐ Merge remote-tracking branch 'drm-misc/drm-misc-next' into drm-tip 

you'd need to redo the merge (-i) after telling git
rerere to forget the previous conflict resolution.

https://drm.pages.freedesktop.org/maintainer-tools/drm-tip.html#removing-a-wrong-conflict-resolution

it's also useful to use dim -i, to make sure we can build on each merge
afterwards.

AFAICS the revert would be on 141577c6d0bd ("2022y-03m-29d-09h-01m-04s UTC: drm-tip rerere cache update")

taking a stab on it, should be like below. It even builds,
but I have no confidence to commit it.

Lucas De Marchi

-------
diff --cc drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
index dd78402e3cb0,68494b959116..000000000000
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
@@@ -200,17 -187,20 +187,17 @@@ static void amdgpu_gtt_mgr_del(struct t
    *
    * Re-init the gart for each known BO in the GTT.
    */
  -int amdgpu_gtt_mgr_recover(struct amdgpu_gtt_mgr *mgr)
  +void amdgpu_gtt_mgr_recover(struct amdgpu_gtt_mgr *mgr)
   {
- 	struct amdgpu_gtt_node *node;
+ 	struct ttm_range_mgr_node *node;
   	struct drm_mm_node *mm_node;
   	struct amdgpu_device *adev;
  -	int r = 0;
   
   	adev = container_of(mgr, typeof(*adev), mman.gtt_mgr);
   	spin_lock(&mgr->lock);
   	drm_mm_for_each_node(mm_node, &mgr->mm) {
- 		node = container_of(mm_node, typeof(*node), base.mm_nodes[0]);
- 		amdgpu_ttm_recover_gart(node->tbo);
+ 		node = container_of(mm_node, typeof(*node), mm_nodes[0]);
  -		r = amdgpu_ttm_recover_gart(node->base.bo);
  -		if (r)
  -			break;
++		amdgpu_ttm_recover_gart(node->base.bo);
   	}
   	spin_unlock(&mgr->lock);
   
diff --cc drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index fc4563cf2828,28f5e8b21a99..000000000000
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@@ -375,9 -375,7 +375,9 @@@ static void amdgpu_vm_bo_base_init(stru
   	if (bo->tbo.base.resv != vm->root.bo->tbo.base.resv)
   		return;
   
  +	dma_resv_assert_held(vm->root.bo->tbo.base.resv);
  +
- 	vm->bulk_moveable = false;
+ 	ttm_bo_set_bulk_move(&bo->tbo, &vm->lru_bulk_move);
   	if (bo->tbo.type == ttm_bo_type_kernel && bo->parent)
   		amdgpu_vm_bo_relocated(base);
   	else
@@@ -2660,12 -2597,9 +2606,12 @@@ void amdgpu_vm_bo_del(struct amdgpu_dev
   	struct amdgpu_vm *vm = bo_va->base.vm;
   	struct amdgpu_vm_bo_base **base;
   
  +	dma_resv_assert_held(vm->root.bo->tbo.base.resv);
  +
   	if (bo) {
  +		dma_resv_assert_held(bo->tbo.base.resv);
   		if (bo->tbo.base.resv == vm->root.bo->tbo.base.resv)
- 			vm->bulk_moveable = false;
+ 			ttm_bo_set_bulk_move(&bo->tbo, NULL);
   
   		for (base = &bo_va->base.bo->vm_bo; *base;
   		     base = &(*base)->next) {


>
>Christian.
>
>Am 31.03.22 um 08:28 schrieb Christian König:
>>I'm going to take a look, but need to figure out how to find the 
>>broken merge
>>
>>Christian.
>>
>>Am 31.03.22 um 00:33 schrieb Dixit, Ashutosh:
>>>Is anyone looking into fixing this:
>>>
>>>drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c: In function 
>>>‘amdgpu_gtt_mgr_recover’:
>>>drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c:200:31: error: ‘struct 
>>>ttm_range_mgr_node’ has no member named ‘tbo’
>>>    amdgpu_ttm_recover_gart(node->tbo);
>>>                                ^~
>>>make[4]: *** [scripts/Makefile.build:288: 
>>>drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.o] Error 1
>>>
>>>Thanks.
>>
>


More information about the Intel-gfx mailing list