* [PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping @ 2016-09-25 9:55 Christian König [not found] ` <1474797313-1994-1-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Christian König @ 2016-09-25 9:55 UTC (permalink / raw) To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW From: Christian König <christian.koenig@amd.com> Otherwise we will look at the wrong place in the IB when GART mappings are split into smaller updates. Signed-off-by: Christian König <christian.koenig@amd.com> --- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index 2bb78dc..da31189 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -1017,6 +1017,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev, AMDGPU_GPU_PAGE_SIZE); pte[i] |= flags; } + addr = 0; } r = amdgpu_sync_fence(adev, &job->sync, exclusive); -- 2.5.0 _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply related [flat|nested] 8+ messages in thread
[parent not found: <1474797313-1994-1-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>]
* Re: [PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping [not found] ` <1474797313-1994-1-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> @ 2016-09-26 7:19 ` Flora Cui 2016-09-26 9:16 ` Flora Cui 0 siblings, 1 reply; 8+ messages in thread From: Flora Cui @ 2016-09-26 7:19 UTC (permalink / raw) To: Christian König Cc: Ray.Huang-5C7GfCeVMHo, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW On Sun, Sep 25, 2016 at 11:55:13AM +0200, Christian König wrote: > From: Christian König <christian.koenig@amd.com> > > Otherwise we will look at the wrong place in the IB when GART > mappings are split into smaller updates. > > Signed-off-by: Christian König <christian.koenig@amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > index 2bb78dc..da31189 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > @@ -1017,6 +1017,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev, > AMDGPU_GPU_PAGE_SIZE); > pte[i] |= flags; > } > + addr = 0; > } > > r = amdgpu_sync_fence(adev, &job->sync, exclusive); > -- > 2.5.0 > > IMHO this could fix the vmfault issue. 8<--- From cc7b5618665defd88e2adcd6f735562ecd784298 Mon Sep 17 00:00:00 2001 From: Flora Cui <Flora.Cui@amd.com> Date: Mon, 26 Sep 2016 15:14:02 +0800 Subject: [PATCH] drm/amdgpu: add ttm_bind in amdgpu_vm_bo_update() Change-Id: If73d5b06e9188e40250ccdfd1a2a659ed1ef52a6 Signed-off-by: Flora Cui <Flora.Cui@amd.com> --- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index 2bb78dc..7f17127 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -1166,6 +1166,8 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev, ttm = container_of(bo_va->bo->tbo.ttm, struct ttm_dma_tt, ttm); pages_addr = ttm->dma_address; + amdgpu_ttm_bind(&bo_va->bo->tbo, mem); + addr = (u64)mem->start << PAGE_SHIFT; break; case TTM_PL_VRAM: -- 2.7.4 _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping 2016-09-26 7:19 ` Flora Cui @ 2016-09-26 9:16 ` Flora Cui 2016-09-26 13:29 ` Christian König 0 siblings, 1 reply; 8+ messages in thread From: Flora Cui @ 2016-09-26 9:16 UTC (permalink / raw) To: Christian K�nig Cc: Ray.Huang-5C7GfCeVMHo, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW please ignore this patch. it actually revert the gtt mgr changes. On Mon, Sep 26, 2016 at 03:19:01PM +0800, Flora Cui wrote: > On Sun, Sep 25, 2016 at 11:55:13AM +0200, Christian König wrote: > > From: Christian König <christian.koenig@amd.com> > > > > Otherwise we will look at the wrong place in the IB when GART > > mappings are split into smaller updates. > > > > Signed-off-by: Christian König <christian.koenig@amd.com> > > --- > > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > > index 2bb78dc..da31189 100644 > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > > @@ -1017,6 +1017,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev, > > AMDGPU_GPU_PAGE_SIZE); > > pte[i] |= flags; > > } > > + addr = 0; > > } > > > > r = amdgpu_sync_fence(adev, &job->sync, exclusive); > > -- > > 2.5.0 > > > > > > IMHO this could fix the vmfault issue. > > 8<--- > From cc7b5618665defd88e2adcd6f735562ecd784298 Mon Sep 17 00:00:00 2001 > From: Flora Cui <Flora.Cui@amd.com> > Date: Mon, 26 Sep 2016 15:14:02 +0800 > Subject: [PATCH] drm/amdgpu: add ttm_bind in amdgpu_vm_bo_update() > > Change-Id: If73d5b06e9188e40250ccdfd1a2a659ed1ef52a6 > Signed-off-by: Flora Cui <Flora.Cui@amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > index 2bb78dc..7f17127 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > @@ -1166,6 +1166,8 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev, > ttm = container_of(bo_va->bo->tbo.ttm, struct > ttm_dma_tt, ttm); > pages_addr = ttm->dma_address; > + amdgpu_ttm_bind(&bo_va->bo->tbo, mem); > + addr = (u64)mem->start << PAGE_SHIFT; > break; > > case TTM_PL_VRAM: > -- > 2.7.4 > > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping 2016-09-26 9:16 ` Flora Cui @ 2016-09-26 13:29 ` Christian König [not found] ` <5336fe95-9645-0c9c-e948-1e51811ad907-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Christian König @ 2016-09-26 13:29 UTC (permalink / raw) To: Flora Cui; +Cc: Ray.Huang-5C7GfCeVMHo, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Yeah, that wouldn't really help but just make the problem more unlikely to happen once more. Anyway Tom St confirmed that the patch seems to work for the open stack. Anybody brave enough to throw an rb on this so that I can commit it? Thanks, Christian. Am 26.09.2016 um 11:16 schrieb Flora Cui: > please ignore this patch. it actually revert the gtt mgr changes. > > On Mon, Sep 26, 2016 at 03:19:01PM +0800, Flora Cui wrote: >> On Sun, Sep 25, 2016 at 11:55:13AM +0200, Christian König wrote: >>> From: Christian König <christian.koenig@amd.com> >>> >>> Otherwise we will look at the wrong place in the IB when GART >>> mappings are split into smaller updates. >>> >>> Signed-off-by: Christian König <christian.koenig@amd.com> >>> --- >>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> index 2bb78dc..da31189 100644 >>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> @@ -1017,6 +1017,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev, >>> AMDGPU_GPU_PAGE_SIZE); >>> pte[i] |= flags; >>> } >>> + addr = 0; >>> } >>> >>> r = amdgpu_sync_fence(adev, &job->sync, exclusive); >>> -- >>> 2.5.0 >>> >>> >> IMHO this could fix the vmfault issue. >> >> 8<--- >> From cc7b5618665defd88e2adcd6f735562ecd784298 Mon Sep 17 00:00:00 2001 >> From: Flora Cui <Flora.Cui@amd.com> >> Date: Mon, 26 Sep 2016 15:14:02 +0800 >> Subject: [PATCH] drm/amdgpu: add ttm_bind in amdgpu_vm_bo_update() >> >> Change-Id: If73d5b06e9188e40250ccdfd1a2a659ed1ef52a6 >> Signed-off-by: Flora Cui <Flora.Cui@amd.com> >> --- >> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> index 2bb78dc..7f17127 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> @@ -1166,6 +1166,8 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev, >> ttm = container_of(bo_va->bo->tbo.ttm, struct >> ttm_dma_tt, ttm); >> pages_addr = ttm->dma_address; >> + amdgpu_ttm_bind(&bo_va->bo->tbo, mem); >> + addr = (u64)mem->start << PAGE_SHIFT; >> break; >> >> case TTM_PL_VRAM: >> -- >> 2.7.4 >> >> >> _______________________________________________ >> amd-gfx mailing list >> amd-gfx@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/amd-gfx > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <5336fe95-9645-0c9c-e948-1e51811ad907-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>]
* Re: [PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping [not found] ` <5336fe95-9645-0c9c-e948-1e51811ad907-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> @ 2016-09-26 13:46 ` StDenis, Tom [not found] ` <CY4PR12MB1768C24C35861367BAD1BA07F7CD0-rpdhrqHFk06yjjPBNVDk/QdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: StDenis, Tom @ 2016-09-26 13:46 UTC (permalink / raw) To: Christian König, Cui, Flora Cc: Huang, Ray, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW [-- Attachment #1.1: Type: text/plain, Size: 4454 bytes --] I'm reading through the amdgpu_vm.c to try and see if the patch is correct but I'm not that familiar with the VM side of things. It seems to boil down to calling params->func() with a new dst value of NULL but that's where I'm stopped at the moment since I don't know what func() is. Nothing up to that point looks overtly wrong (like trying to use that address as a source for a read/write). Tom ________________________________ From: amd-gfx <amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org> on behalf of Christian König <deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> Sent: Monday, September 26, 2016 09:29 To: Cui, Flora Cc: Huang, Ray; amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Subject: Re: [PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping Yeah, that wouldn't really help but just make the problem more unlikely to happen once more. Anyway Tom St confirmed that the patch seems to work for the open stack. Anybody brave enough to throw an rb on this so that I can commit it? Thanks, Christian. Am 26.09.2016 um 11:16 schrieb Flora Cui: > please ignore this patch. it actually revert the gtt mgr changes. > > On Mon, Sep 26, 2016 at 03:19:01PM +0800, Flora Cui wrote: >> On Sun, Sep 25, 2016 at 11:55:13AM +0200, Christian König wrote: >>> From: Christian König <christian.koenig-5C7GfCeVMHo@public.gmane.org> >>> >>> Otherwise we will look at the wrong place in the IB when GART >>> mappings are split into smaller updates. >>> >>> Signed-off-by: Christian König <christian.koenig-5C7GfCeVMHo@public.gmane.org> >>> --- >>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> index 2bb78dc..da31189 100644 >>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> @@ -1017,6 +1017,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev, >>> AMDGPU_GPU_PAGE_SIZE); >>> pte[i] |= flags; >>> } >>> + addr = 0; >>> } >>> >>> r = amdgpu_sync_fence(adev, &job->sync, exclusive); >>> -- >>> 2.5.0 >>> >>> >> IMHO this could fix the vmfault issue. >> >> 8<--- >> From cc7b5618665defd88e2adcd6f735562ecd784298 Mon Sep 17 00:00:00 2001 >> From: Flora Cui <Flora.Cui-5C7GfCeVMHo@public.gmane.org> >> Date: Mon, 26 Sep 2016 15:14:02 +0800 >> Subject: [PATCH] drm/amdgpu: add ttm_bind in amdgpu_vm_bo_update() >> >> Change-Id: If73d5b06e9188e40250ccdfd1a2a659ed1ef52a6 >> Signed-off-by: Flora Cui <Flora.Cui-5C7GfCeVMHo@public.gmane.org> >> --- >> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> index 2bb78dc..7f17127 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> @@ -1166,6 +1166,8 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev, >> ttm = container_of(bo_va->bo->tbo.ttm, struct >> ttm_dma_tt, ttm); >> pages_addr = ttm->dma_address; >> + amdgpu_ttm_bind(&bo_va->bo->tbo, mem); >> + addr = (u64)mem->start << PAGE_SHIFT; >> break; >> >> case TTM_PL_VRAM: >> -- >> 2.7.4 >> >> >> _______________________________________________ >> amd-gfx mailing list >> amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org >> https://lists.freedesktop.org/mailman/listinfo/amd-gfx amd-gfx Info Page - lists.freedesktop.org<https://lists.freedesktop.org/mailman/listinfo/amd-gfx> lists.freedesktop.org To see the collection of prior postings to the list, visit the amd-gfx Archives. Using amd-gfx: To post a message to all the list members, send email ... > _______________________________________________ > amd-gfx mailing list > amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx [-- Attachment #1.2: Type: text/html, Size: 9618 bytes --] [-- Attachment #2: Type: text/plain, Size: 154 bytes --] _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <CY4PR12MB1768C24C35861367BAD1BA07F7CD0-rpdhrqHFk06yjjPBNVDk/QdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>]
* Re: [PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping [not found] ` <CY4PR12MB1768C24C35861367BAD1BA07F7CD0-rpdhrqHFk06yjjPBNVDk/QdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org> @ 2016-09-26 15:12 ` Christian König [not found] ` <c6238048-9393-e20c-2b03-6ff11c82ea45-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Christian König @ 2016-09-26 15:12 UTC (permalink / raw) To: StDenis, Tom, Cui, Flora Cc: Huang, Ray, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW [-- Attachment #1.1: Type: text/plain, Size: 4973 bytes --] The function called is either amdgpu_vm_do_set_ptes() or amdgpu_vm_do_copy_ptes(). But that is actually rather unrelated to the local handling of addr in the function changed. The point here is we have handled the address offset by giving it to amdgpu_vm_map_gart() and so we shouldn't add the address again. Regards, Christian. Am 26.09.2016 um 15:46 schrieb StDenis, Tom: > > I'm reading through the amdgpu_vm.c to try and see if the patch is > correct but I'm not that familiar with the VM side of things. It > seems to boil down to calling params->func() with a new dst value of > NULL but that's where I'm stopped at the moment since I don't know > what func() is. Nothing up to that point looks overtly wrong (like > trying to use that address as a source for a read/write). > > > Tom > > > ------------------------------------------------------------------------ > *From:* amd-gfx <amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org> on behalf of > Christian König <deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> > *Sent:* Monday, September 26, 2016 09:29 > *To:* Cui, Flora > *Cc:* Huang, Ray; amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org > *Subject:* Re: [PATCH] drm/amdgpu: fix addr handling in > amdgpu_vm_bo_update_mapping > Yeah, that wouldn't really help but just make the problem more unlikely > to happen once more. > > Anyway Tom St confirmed that the patch seems to work for the open stack. > > Anybody brave enough to throw an rb on this so that I can commit it? > > Thanks, > Christian. > > Am 26.09.2016 um 11:16 schrieb Flora Cui: > > please ignore this patch. it actually revert the gtt mgr changes. > > > > On Mon, Sep 26, 2016 at 03:19:01PM +0800, Flora Cui wrote: > >> On Sun, Sep 25, 2016 at 11:55:13AM +0200, Christian König wrote: > >>> From: Christian König <christian.koenig-5C7GfCeVMHo@public.gmane.org> > >>> > >>> Otherwise we will look at the wrong place in the IB when GART > >>> mappings are split into smaller updates. > >>> > >>> Signed-off-by: Christian König <christian.koenig-5C7GfCeVMHo@public.gmane.org> > >>> --- > >>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1 + > >>> 1 file changed, 1 insertion(+) > >>> > >>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > >>> index 2bb78dc..da31189 100644 > >>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > >>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > >>> @@ -1017,6 +1017,7 @@ static int > amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev, > >>>AMDGPU_GPU_PAGE_SIZE); > >>> pte[i] |= flags; > >>> } > >>> + addr = 0; > >>> } > >>> > >>> r = amdgpu_sync_fence(adev, &job->sync, exclusive); > >>> -- > >>> 2.5.0 > >>> > >>> > >> IMHO this could fix the vmfault issue. > >> > >> 8<--- > >> From cc7b5618665defd88e2adcd6f735562ecd784298 Mon Sep 17 00:00:00 2001 > >> From: Flora Cui <Flora.Cui-5C7GfCeVMHo@public.gmane.org> > >> Date: Mon, 26 Sep 2016 15:14:02 +0800 > >> Subject: [PATCH] drm/amdgpu: add ttm_bind in amdgpu_vm_bo_update() > >> > >> Change-Id: If73d5b06e9188e40250ccdfd1a2a659ed1ef52a6 > >> Signed-off-by: Flora Cui <Flora.Cui-5C7GfCeVMHo@public.gmane.org> > >> --- > >> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 ++ > >> 1 file changed, 2 insertions(+) > >> > >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > >> index 2bb78dc..7f17127 100644 > >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > >> @@ -1166,6 +1166,8 @@ int amdgpu_vm_bo_update(struct amdgpu_device > *adev, > >> ttm = container_of(bo_va->bo->tbo.ttm, struct > >> ttm_dma_tt, ttm); > >> pages_addr = ttm->dma_address; > >> + amdgpu_ttm_bind(&bo_va->bo->tbo, mem); > >> + addr = (u64)mem->start << PAGE_SHIFT; > >> break; > >> > >> case TTM_PL_VRAM: > >> -- > >> 2.7.4 > >> > >> > >> _______________________________________________ > >> amd-gfx mailing list > >> amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org > >> https://lists.freedesktop.org/mailman/listinfo/amd-gfx > <https://lists.freedesktop.org/mailman/listinfo/amd-gfx> > amd-gfx Info Page - lists.freedesktop.org > <https://lists.freedesktop.org/mailman/listinfo/amd-gfx> > lists.freedesktop.org > To see the collection of prior postings to the list, visit the amd-gfx > Archives. Using amd-gfx: To post a message to all the list members, > send email ... > > > > > _______________________________________________ > > amd-gfx mailing list > > amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org > > https://lists.freedesktop.org/mailman/listinfo/amd-gfx > > > _______________________________________________ > amd-gfx mailing list > amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx [-- Attachment #1.2: Type: text/html, Size: 13734 bytes --] [-- Attachment #2: Type: text/plain, Size: 154 bytes --] _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <c6238048-9393-e20c-2b03-6ff11c82ea45-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>]
* RE: [PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping [not found] ` <c6238048-9393-e20c-2b03-6ff11c82ea45-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> @ 2016-09-26 15:16 ` Deucher, Alexander [not found] ` <MWHPR12MB16940A99EBD2BCB0A5F687C3F7CD0-Gy0DoCVfaSW4WA4dJ5YXGAdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Deucher, Alexander @ 2016-09-26 15:16 UTC (permalink / raw) To: 'Christian König', StDenis, Tom, Cui, Flora Cc: Huang, Ray, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW [-- Attachment #1.1: Type: text/plain, Size: 5856 bytes --] Maybe it would be cleaner to just pass 0 to amdgpu_vm_frag_ptes() or remove the parameter altogether. Alex From: amd-gfx [mailto:amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org] On Behalf Of Christian König Sent: Monday, September 26, 2016 11:12 AM To: StDenis, Tom; Cui, Flora Cc: Huang, Ray; amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Subject: Re: [PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping The function called is either amdgpu_vm_do_set_ptes() or amdgpu_vm_do_copy_ptes(). But that is actually rather unrelated to the local handling of addr in the function changed. The point here is we have handled the address offset by giving it to amdgpu_vm_map_gart() and so we shouldn't add the address again. Regards, Christian. Am 26.09.2016 um 15:46 schrieb StDenis, Tom: I'm reading through the amdgpu_vm.c to try and see if the patch is correct but I'm not that familiar with the VM side of things. It seems to boil down to calling params->func() with a new dst value of NULL but that's where I'm stopped at the moment since I don't know what func() is. Nothing up to that point looks overtly wrong (like trying to use that address as a source for a read/write). Tom ________________________________ From: amd-gfx <amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org><mailto:amd-gfx-bounces@lists.freedesktop.org> on behalf of Christian König <deathsimple@vodafone.de><mailto:deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> Sent: Monday, September 26, 2016 09:29 To: Cui, Flora Cc: Huang, Ray; amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org<mailto:amd-gfx-PD4FTy7X32lzq7FAFJ/aeQ@public.gmane.orgtop.org> Subject: Re: [PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping Yeah, that wouldn't really help but just make the problem more unlikely to happen once more. Anyway Tom St confirmed that the patch seems to work for the open stack. Anybody brave enough to throw an rb on this so that I can commit it? Thanks, Christian. Am 26.09.2016 um 11:16 schrieb Flora Cui: > please ignore this patch. it actually revert the gtt mgr changes. > > On Mon, Sep 26, 2016 at 03:19:01PM +0800, Flora Cui wrote: >> On Sun, Sep 25, 2016 at 11:55:13AM +0200, Christian König wrote: >>> From: Christian König <christian.koenig-5C7GfCeVMHo@public.gmane.org><mailto:christian.koenig-5C7GfCeVMHo@public.gmane.org> >>> >>> Otherwise we will look at the wrong place in the IB when GART >>> mappings are split into smaller updates. >>> >>> Signed-off-by: Christian König <christian.koenig-5C7GfCeVMHo@public.gmane.org><mailto:christian.koenig-5C7GfCeVMHo@public.gmane.org> >>> --- >>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> index 2bb78dc..da31189 100644 >>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> @@ -1017,6 +1017,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev, >>> AMDGPU_GPU_PAGE_SIZE); >>> pte[i] |= flags; >>> } >>> + addr = 0; >>> } >>> >>> r = amdgpu_sync_fence(adev, &job->sync, exclusive); >>> -- >>> 2.5.0 >>> >>> >> IMHO this could fix the vmfault issue. >> >> 8<--- >> From cc7b5618665defd88e2adcd6f735562ecd784298 Mon Sep 17 00:00:00 2001 >> From: Flora Cui <Flora.Cui-5C7GfCeVMHo@public.gmane.org><mailto:Flora.Cui-5C7GfCeVMHo@public.gmane.org> >> Date: Mon, 26 Sep 2016 15:14:02 +0800 >> Subject: [PATCH] drm/amdgpu: add ttm_bind in amdgpu_vm_bo_update() >> >> Change-Id: If73d5b06e9188e40250ccdfd1a2a659ed1ef52a6 >> Signed-off-by: Flora Cui <Flora.Cui-5C7GfCeVMHo@public.gmane.org><mailto:Flora.Cui-5C7GfCeVMHo@public.gmane.org> >> --- >> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> index 2bb78dc..7f17127 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> @@ -1166,6 +1166,8 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev, >> ttm = container_of(bo_va->bo->tbo.ttm, struct >> ttm_dma_tt, ttm); >> pages_addr = ttm->dma_address; >> + amdgpu_ttm_bind(&bo_va->bo->tbo, mem); >> + addr = (u64)mem->start << PAGE_SHIFT; >> break; >> >> case TTM_PL_VRAM: >> -- >> 2.7.4 >> >> >> _______________________________________________ >> amd-gfx mailing list >> amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org<mailto:amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org> >> https://lists.freedesktop.org/mailman/listinfo/amd-gfx amd-gfx Info Page - lists.freedesktop.org<https://lists.freedesktop.org/mailman/listinfo/amd-gfx> lists.freedesktop.org To see the collection of prior postings to the list, visit the amd-gfx Archives. Using amd-gfx: To post a message to all the list members, send email ... > _______________________________________________ > amd-gfx mailing list > amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org<mailto:amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org> > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org<mailto:amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org> https://lists.freedesktop.org/mailman/listinfo/amd-gfx [-- Attachment #1.2: Type: text/html, Size: 15009 bytes --] [-- Attachment #2: Type: text/plain, Size: 154 bytes --] _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <MWHPR12MB16940A99EBD2BCB0A5F687C3F7CD0-Gy0DoCVfaSW4WA4dJ5YXGAdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>]
* RE: [PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping [not found] ` <MWHPR12MB16940A99EBD2BCB0A5F687C3F7CD0-Gy0DoCVfaSW4WA4dJ5YXGAdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org> @ 2016-09-26 15:19 ` Deucher, Alexander 0 siblings, 0 replies; 8+ messages in thread From: Deucher, Alexander @ 2016-09-26 15:19 UTC (permalink / raw) To: Deucher, Alexander, 'Christian König', StDenis, Tom, Cui, Flora Cc: Huang, Ray, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW [-- Attachment #1.1: Type: text/plain, Size: 6539 bytes --] Wait, nevermind. It would be good to add a comment that addr needs to be reset to 0 in this case since it's used below in the amdgpu_vm_frag_ptes(). The patch is: Reviewed-by: Alex Deucher <alexander.deucher-5C7GfCeVMHo@public.gmane.org> From: amd-gfx [mailto:amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org] On Behalf Of Deucher, Alexander Sent: Monday, September 26, 2016 11:17 AM To: 'Christian König'; StDenis, Tom; Cui, Flora Cc: Huang, Ray; amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Subject: RE: [PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping Maybe it would be cleaner to just pass 0 to amdgpu_vm_frag_ptes() or remove the parameter altogether. Alex From: amd-gfx [mailto:amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org] On Behalf Of Christian König Sent: Monday, September 26, 2016 11:12 AM To: StDenis, Tom; Cui, Flora Cc: Huang, Ray; amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org<mailto:amd-gfx-PD4FTy7X32lzq7FAFJ/aeQ@public.gmane.orgtop.org> Subject: Re: [PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping The function called is either amdgpu_vm_do_set_ptes() or amdgpu_vm_do_copy_ptes(). But that is actually rather unrelated to the local handling of addr in the function changed. The point here is we have handled the address offset by giving it to amdgpu_vm_map_gart() and so we shouldn't add the address again. Regards, Christian. Am 26.09.2016 um 15:46 schrieb StDenis, Tom: I'm reading through the amdgpu_vm.c to try and see if the patch is correct but I'm not that familiar with the VM side of things. It seems to boil down to calling params->func() with a new dst value of NULL but that's where I'm stopped at the moment since I don't know what func() is. Nothing up to that point looks overtly wrong (like trying to use that address as a source for a read/write). Tom ________________________________ From: amd-gfx <amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org><mailto:amd-gfx-bounces@lists.freedesktop.org> on behalf of Christian König <deathsimple@vodafone.de><mailto:deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> Sent: Monday, September 26, 2016 09:29 To: Cui, Flora Cc: Huang, Ray; amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org<mailto:amd-gfx-PD4FTy7X32lzq7FAFJ/aeQ@public.gmane.orgtop.org> Subject: Re: [PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping Yeah, that wouldn't really help but just make the problem more unlikely to happen once more. Anyway Tom St confirmed that the patch seems to work for the open stack. Anybody brave enough to throw an rb on this so that I can commit it? Thanks, Christian. Am 26.09.2016 um 11:16 schrieb Flora Cui: > please ignore this patch. it actually revert the gtt mgr changes. > > On Mon, Sep 26, 2016 at 03:19:01PM +0800, Flora Cui wrote: >> On Sun, Sep 25, 2016 at 11:55:13AM +0200, Christian König wrote: >>> From: Christian König <christian.koenig-5C7GfCeVMHo@public.gmane.org><mailto:christian.koenig-5C7GfCeVMHo@public.gmane.org> >>> >>> Otherwise we will look at the wrong place in the IB when GART >>> mappings are split into smaller updates. >>> >>> Signed-off-by: Christian König <christian.koenig-5C7GfCeVMHo@public.gmane.org><mailto:christian.koenig-5C7GfCeVMHo@public.gmane.org> >>> --- >>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> index 2bb78dc..da31189 100644 >>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> @@ -1017,6 +1017,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev, >>> AMDGPU_GPU_PAGE_SIZE); >>> pte[i] |= flags; >>> } >>> + addr = 0; >>> } >>> >>> r = amdgpu_sync_fence(adev, &job->sync, exclusive); >>> -- >>> 2.5.0 >>> >>> >> IMHO this could fix the vmfault issue. >> >> 8<--- >> From cc7b5618665defd88e2adcd6f735562ecd784298 Mon Sep 17 00:00:00 2001 >> From: Flora Cui <Flora.Cui-5C7GfCeVMHo@public.gmane.org><mailto:Flora.Cui-5C7GfCeVMHo@public.gmane.org> >> Date: Mon, 26 Sep 2016 15:14:02 +0800 >> Subject: [PATCH] drm/amdgpu: add ttm_bind in amdgpu_vm_bo_update() >> >> Change-Id: If73d5b06e9188e40250ccdfd1a2a659ed1ef52a6 >> Signed-off-by: Flora Cui <Flora.Cui-5C7GfCeVMHo@public.gmane.org><mailto:Flora.Cui-5C7GfCeVMHo@public.gmane.org> >> --- >> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> index 2bb78dc..7f17127 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> @@ -1166,6 +1166,8 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev, >> ttm = container_of(bo_va->bo->tbo.ttm, struct >> ttm_dma_tt, ttm); >> pages_addr = ttm->dma_address; >> + amdgpu_ttm_bind(&bo_va->bo->tbo, mem); >> + addr = (u64)mem->start << PAGE_SHIFT; >> break; >> >> case TTM_PL_VRAM: >> -- >> 2.7.4 >> >> >> _______________________________________________ >> amd-gfx mailing list >> amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org<mailto:amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org> >> https://lists.freedesktop.org/mailman/listinfo/amd-gfx amd-gfx Info Page - lists.freedesktop.org<https://lists.freedesktop.org/mailman/listinfo/amd-gfx> lists.freedesktop.org To see the collection of prior postings to the list, visit the amd-gfx Archives. Using amd-gfx: To post a message to all the list members, send email ... > _______________________________________________ > amd-gfx mailing list > amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org<mailto:amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org> > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org<mailto:amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org> https://lists.freedesktop.org/mailman/listinfo/amd-gfx [-- Attachment #1.2: Type: text/html, Size: 17160 bytes --] [-- Attachment #2: Type: text/plain, Size: 154 bytes --] _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-09-26 15:19 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-09-25 9:55 [PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping Christian König [not found] ` <1474797313-1994-1-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> 2016-09-26 7:19 ` Flora Cui 2016-09-26 9:16 ` Flora Cui 2016-09-26 13:29 ` Christian König [not found] ` <5336fe95-9645-0c9c-e948-1e51811ad907-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> 2016-09-26 13:46 ` StDenis, Tom [not found] ` <CY4PR12MB1768C24C35861367BAD1BA07F7CD0-rpdhrqHFk06yjjPBNVDk/QdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org> 2016-09-26 15:12 ` Christian König [not found] ` <c6238048-9393-e20c-2b03-6ff11c82ea45-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> 2016-09-26 15:16 ` Deucher, Alexander [not found] ` <MWHPR12MB16940A99EBD2BCB0A5F687C3F7CD0-Gy0DoCVfaSW4WA4dJ5YXGAdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org> 2016-09-26 15:19 ` Deucher, Alexander
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.