[PATCH] drm/amdgpu/gmc10: apply the 'invalidation from sdma' workaround for navi

Koenig, Christian Christian.Koenig at amd.com
Thu Sep 26 13:47:00 UTC 2019


Am 26.09.19 um 15:40 schrieb Alex Deucher:
> On Thu, Sep 26, 2019 at 8:29 AM Christian König
> <ckoenig.leichtzumerken at 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.

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.deucher at amd.com>
>> ________________________________
>> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> on behalf of Yuan, Xiaojie <Xiaojie.Yuan at amd.com>
>> Sent: Thursday, September 26, 2019 4:09 AM
>> To: amd-gfx at lists.freedesktop.org <amd-gfx at lists.freedesktop.org>
>> Cc: alexdeucher at gmail.com <alexdeucher at 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.Yuan at amd.com>
>> Sent: Thursday, September 26, 2019 4:08 PM
>> To: amd-gfx at lists.freedesktop.org <amd-gfx at lists.freedesktop.org>
>> Cc: alexdeucher at gmail.com <alexdeucher at gmail.com>; Yuan, Xiaojie <Xiaojie.Yuan at 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.yuan at 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 at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>>
>>



More information about the amd-gfx mailing list