On Tue, Jun 08, 2021 at 09:11:57AM +0200, Christian König wrote: > Am 08.06.21 um 09:06 schrieb Felix Kuehling: > > Am 2021-06-08 um 2:55 a.m. schrieb Christian König: > > > Hi Felix, > > > > > > that should already be fixed in drm-tip as part of the merge of the > > > TTM changes. > > No, the preempt_mgr doesn't exist in drm-misc-next. It does exist in > > drm-next, but that doesn't seem to have the TTM changes yet. > > > > Is there another DRM branch or repository that you're referring to with > > drm-tip? > > drm-tip is an integration branch for conflict resolution. > > E.g. when we have changes in drm-misc-next which break when we merge with > drm-next I'm informed and need to provide a conflict resolution patch. > > This is automatically applied when drm-next and drm-misc-next are merged > together again. > > It just looks like that drm-next and drm-misc-next are merged manually into > linux-next and then the conflict resolution doesn't apply and everything > breaks into pieces. > > Adding Daniel as well. How should that be handled? Should we merge > drm-misc-next into drm-next now? Yeah I'm expecting there will be a pull request this week. I've given Dave Airlie a headsup that the conflict is "interesting" and that maybe he needs to push out a test branch for you and Thomas Hellstrom to review/test first. -Daniel > > Thanks, > Christian. > > > > > Regards, > > Fel > > > > > Regards, > > > Christian. > > > > > > Am 08.06.21 um 07:37 schrieb Felix Kuehling: > > > > Hi Christian, > > > > > > > > I based amdgpu_preempt_mgr on amdgpu_gtt_mgr and now I'm looking at what > > > > changed there. Looks like I'll need to create a dummy node in > > > > amdgpu_preempt_mgr_new to satisfy TTM, and free it in > > > > amdgpu_preempt_mgr_del. > > > > > > > > Thanks, > > > > Felix > > > > > > > > > > > > Am 2021-06-07 um 10:50 p.m. schrieb Stephen Rothwell: > > > > > Hi all, > > > > > > > > > > After merging the drm-misc tree, today's linux-next build (x86_64 > > > > > allmodconfig) failed like this: > > > > > > > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.c: In function > > > > > 'amdgpu_preempt_mgr_new': > > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.c:75:5: error: 'struct > > > > > ttm_resource' has no member named 'mm_node' > > > > > 75 | mem->mm_node = NULL; > > > > > | ^~ > > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.c: At top level: > > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.c:129:11: error: > > > > > initialization of 'int (*)(struct ttm_resource_manager *, struct > > > > > ttm_buffer_object *, const struct ttm_place *, struct ttm_resource > > > > > **)' from incompatible pointer type 'int (*)(struct > > > > > ttm_resource_manager *, struct ttm_buffer_object *, const struct > > > > > ttm_place *, struct ttm_resource *)' > > > > > [-Werror=incompatible-pointer-types] > > > > > 129 | .alloc = amdgpu_preempt_mgr_new, > > > > > | ^~~~~~~~~~~~~~~~~~~~~~ > > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.c:129:11: note: (near > > > > > initialization for 'amdgpu_preempt_mgr_func.alloc') > > > > > > > > > > Caused by commit > > > > > > > > > > cb1c81467af3 ("drm/ttm: flip the switch for driver allocated > > > > > resources v2") > > > > > > > > > > from the drm-misc tree interacting with commit > > > > > > > > > > b453e42a6e8b ("drm/amdgpu: Add new placement for preemptible SG > > > > > BOs") > > > > > > > > > > from the drm tree. > > > > > > > > > > I don't know how to fix this, so I added the following hack (a better > > > > > fix would be nice): > > > > > > > > > > From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > > > > > Date: Tue, 8 Jun 2021 12:41:16 +1000 > > > > > Subject: [PATCH] hack fix up for needed amdgpu_preempt_mgr_new() fix up > > > > > > > > > > Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > > > > > --- > > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.c | 4 +++- > > > > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > > > > > > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.c > > > > > b/drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.c > > > > > index d607f314cc1b..e1a7b3e967b9 100644 > > > > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.c > > > > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.c > > > > > @@ -66,14 +66,16 @@ static DEVICE_ATTR_RO(mem_info_preempt_used); > > > > > static int amdgpu_preempt_mgr_new(struct ttm_resource_manager *man, > > > > > struct ttm_buffer_object *tbo, > > > > > const struct ttm_place *place, > > > > > - struct ttm_resource *mem) > > > > > + struct ttm_resource **res) > > > > > { > > > > > +#if 0 > > > > > struct amdgpu_preempt_mgr *mgr = to_preempt_mgr(man); > > > > > atomic64_add(mem->num_pages, &mgr->used); > > > > > mem->mm_node = NULL; > > > > > mem->start = AMDGPU_BO_INVALID_OFFSET; > > > > > +#endif > > > > > return 0; > > > > > } > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch