Am 26.09.2019 15:51 schrieb Alex Deucher <alexdeuc...@gmail.com>: On Thu, Sep 26, 2019 at 9:47 AM Koenig, Christian <christian.koe...@amd.com> wrote: > > Am 26.09.19 um 15:40 schrieb Alex Deucher: > > On Thu, Sep 26, 2019 at 8:29 AM Christian König > > <ckoenig.leichtzumer...@gmail.com> wrote: > >> Stop, wait a second guys! > >> > >> This will disable the workaround for Navi10 and that is certainly not > >> correct: > >> > >> !(adev->asic_type >= CHIP_NAVI10 && adev->asic_type <= CHIP_NAVI12) > >> > > Actually, I think it's correct. When I merged the baco patch, I > > accidentally dropped the navi checks. E.g., > > @@ -245,8 +245,9 @@ static void gmc_v10_0_flush_gpu_tlb(struct > > amdgpu_device *adev, > > mutex_lock(&adev->mman.gtt_window_lock); > > > > gmc_v10_0_flush_vm_hub(adev, vmid, AMDGPU_MMHUB, 0); > > - if (!adev->mman.buffer_funcs_enabled || !adev->ib_pool_ready || > > - adev->asic_type != CHIP_NAVI10) { > > + if (!adev->mman.buffer_funcs_enabled || > > + !adev->ib_pool_ready || > > + adev->in_gpu_reset) { > > gmc_v10_0_flush_vm_hub(adev, vmid, AMDGPU_GFXHUB, 0); > > mutex_unlock(&adev->mman.gtt_window_lock); > > return; > > I think it should have been > > adev->asic_type != CHIP_NAVI10 && adev->asic_type != CHIP_NAVI14 && > > adev->asic_type != CHIP_NAVI12 > > My last status is that Navi12 is not supposed to need that workaround, > that's why we checked Navi10 and later Navi14 separately. > > It's possible that I miss-read the !(adev->asic_type >= CHIP_NAVI10 && > adev->asic_type <= CHIP_NAVI12) check here, but either way that looks to > complicated to me. > > We should rather mention every affected asic type separately here.
Good point. navi12 should be dropped from the check. How about the following? I would rather test explicitly for Navi 10 and 14, cause we can't be sure if there won't be another variant in the future. Christian. diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c index 241a4e57cf4a..280bbd7ca8a0 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c @@ -292,7 +292,8 @@ static void gmc_v10_0_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, if (!adev->mman.buffer_funcs_enabled || !adev->ib_pool_ready || - adev->in_gpu_reset) { + adev->in_gpu_reset || + (adev->asic_type == CHIP_NAVI12)) { gmc_v10_0_flush_vm_hub(adev, vmid, AMDGPU_GFXHUB_0, 0); mutex_unlock(&adev->mman.gtt_window_lock); return; Alex > > Regards, > Christian. > > > > > Alex > > > >> Christian. > >> > >> > >> Am 26.09.19 um 14:26 schrieb Deucher, Alexander: > >> > >> Please add a patch description. With that fixed: > >> Reviewed-by: Alex Deucher <alexander.deuc...@amd.com> > >> ________________________________ > >> From: amd-gfx <amd-gfx-boun...@lists.freedesktop.org> on behalf of Yuan, > >> Xiaojie <xiaojie.y...@amd.com> > >> Sent: Thursday, September 26, 2019 4:09 AM > >> To: amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org> > >> Cc: alexdeuc...@gmail.com <alexdeuc...@gmail.com> > >> Subject: Re: [PATCH] drm/amdgpu/gmc10: apply the 'invalidation from sdma' > >> workaround for navi > >> > >> Hi Alex, > >> > >> This patch is to add the asic_type check which is missing after drm-next > >> branch rebase. > >> > >> BR, > >> Xiaojie > >> ________________________________ > >> From: Yuan, Xiaojie <xiaojie.y...@amd.com> > >> Sent: Thursday, September 26, 2019 4:08 PM > >> To: amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org> > >> Cc: alexdeuc...@gmail.com <alexdeuc...@gmail.com>; Yuan, Xiaojie > >> <xiaojie.y...@amd.com> > >> Subject: [PATCH] drm/amdgpu/gmc10: apply the 'invalidation from sdma' > >> workaround for navi > >> > >> Fixes: 767acabdac81 ("drm/amd/powerplay: add baco smu reset function for > >> smu11") > >> Signed-off-by: Xiaojie Yuan <xiaojie.y...@amd.com> > >> --- > >> drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 1 + > >> 1 file changed, 1 insertion(+) > >> > >> diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c > >> b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c > >> index cb3f61873baa..dc2e68e019eb 100644 > >> --- a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c > >> +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c > >> @@ -292,6 +292,7 @@ static void gmc_v10_0_flush_gpu_tlb(struct > >> amdgpu_device *adev, uint32_t vmid, > >> > >> if (!adev->mman.buffer_funcs_enabled || > >> !adev->ib_pool_ready || > >> + !(adev->asic_type >= CHIP_NAVI10 && adev->asic_type <= > >> CHIP_NAVI12) || > >> adev->in_gpu_reset) { > >> gmc_v10_0_flush_vm_hub(adev, vmid, AMDGPU_GFXHUB_0, 0); > >> mutex_unlock(&adev->mman.gtt_window_lock); > >> -- > >> 2.20.1 > >> > >> > >> _______________________________________________ > >> 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