[PATCH 1/6] drm/amdgpu: add asic need_full_reset callback

Alex Deucher alexdeucher at gmail.com
Tue Apr 3 15:31:48 UTC 2018


On Tue, Apr 3, 2018 at 6:53 AM, Christian König
<ckoenig.leichtzumerken at gmail.com> wrote:
> Am 02.04.2018 um 11:24 schrieb Huang Rui:
>>
>> On Thu, Mar 29, 2018 at 03:01:48PM -0500, Alex Deucher wrote:
>>>
>>> Allow us to determine at the soc level whether the
>>> asic requires full reset or if soft reset will work.
>>>
>>> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
>>
>> Series are Reviewed-by: Huang Rui <ray.huang at amd.com>
>
>
> Reviewed-by: Christian König <christian.koenig at amd.com> except for one line:
>
>> +       case CHIP_FIJI:
>> +       case CHIP_TONGA:
>> +               /* XXX: soft reset should work on fiji and tonga */
>> +               return true;
>
> Shouldn't we go ahead and enabled this?

Full reset apparently works so I'd rather verify that soft reset works
reliably before enabling it.

Alex

>
> Christian.
>
>
>>
>>> ---
>>>   drivers/gpu/drm/amd/amdgpu/amdgpu.h | 3 +++
>>>   1 file changed, 3 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>>> index 58ffea7e43bd..2662cfc161af 100644
>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>>> @@ -1203,6 +1203,8 @@ struct amdgpu_asic_funcs {
>>>         /* invalidate hdp read cache */
>>>         void (*invalidate_hdp)(struct amdgpu_device *adev,
>>>                                struct amdgpu_ring *ring);
>>> +       /* check if the asic needs a full reset of if soft reset will
>>> work */
>>> +       bool (*need_full_reset)(struct amdgpu_device *adev);
>>>   };
>>>     /*
>>> @@ -1772,6 +1774,7 @@ amdgpu_get_sdma_instance(struct amdgpu_ring *ring)
>>>   #define amdgpu_asic_get_config_memsize(adev)
>>> (adev)->asic_funcs->get_config_memsize((adev))
>>>   #define amdgpu_asic_flush_hdp(adev, r)
>>> (adev)->asic_funcs->flush_hdp((adev), (r))
>>>   #define amdgpu_asic_invalidate_hdp(adev, r)
>>> (adev)->asic_funcs->invalidate_hdp((adev), (r))
>>> +#define amdgpu_asic_need_full_reset(adev)
>>> (adev)->asic_funcs->need_full_reset((adev))
>>>   #define amdgpu_gmc_flush_gpu_tlb(adev, vmid)
>>> (adev)->gmc.gmc_funcs->flush_gpu_tlb((adev), (vmid))
>>>   #define amdgpu_gmc_emit_flush_gpu_tlb(r, vmid, addr)
>>> (r)->adev->gmc.gmc_funcs->emit_flush_gpu_tlb((r), (vmid), (addr))
>>>   #define amdgpu_gmc_emit_pasid_mapping(r, vmid, pasid)
>>> (r)->adev->gmc.gmc_funcs->emit_pasid_mapping((r), (vmid), (pasid))
>>> --
>>> 2.13.6
>>>
>>> _______________________________________________
>>> amd-gfx mailing list
>>> amd-gfx at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>>
>> _______________________________________________
>> 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