[PATCH] drm/amdkfd: fix address watch clearing bug for gfx v9.4.2
Eric Huang
jinhuieric.huang at amd.com
Thu Aug 10 21:26:58 UTC 2023
Yes. I will send out the fix for gc v9.4.3 later. Thanks for your review.
Eric
On 2023-08-10 17:02, Felix Kuehling wrote:
> I think amdgpu_amdkfd_gc_9_4_3.c needs a similar fix. But maybe a bit
> different because it needs to support multiple XCCs.
>
> That said, this patch is
>
> Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com>
>
>
> On 2023-08-10 16:47, Eric Huang wrote:
>> KFD currently relies on MEC FW to clear tcp watch control
>> register by sending MAP_PROCESS packet with 0 of field
>> tcp_watch_cntl to HWS, but if the queue is suspended, the
>> packet will not be sent and the previous value will be
>> left on the register, that will affect the following apps.
>> So the solution is to clear the register as gfx v9 in KFD.
>>
>> Signed-off-by: Eric Huang <jinhuieric.huang at amd.com>
>> ---
>> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_aldebaran.c | 8 +-------
>> 1 file changed, 1 insertion(+), 7 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_aldebaran.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_aldebaran.c
>> index e2fed6edbdd0..aff08321e976 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_aldebaran.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_aldebaran.c
>> @@ -163,12 +163,6 @@ static uint32_t
>> kgd_gfx_aldebaran_set_address_watch(
>> return watch_address_cntl;
>> }
>> -static uint32_t kgd_gfx_aldebaran_clear_address_watch(struct
>> amdgpu_device *adev,
>> - uint32_t watch_id)
>> -{
>> - return 0;
>> -}
>> -
>> const struct kfd2kgd_calls aldebaran_kfd2kgd = {
>> .program_sh_mem_settings = kgd_gfx_v9_program_sh_mem_settings,
>> .set_pasid_vmid_mapping = kgd_gfx_v9_set_pasid_vmid_mapping,
>> @@ -193,7 +187,7 @@ const struct kfd2kgd_calls aldebaran_kfd2kgd = {
>> .set_wave_launch_trap_override =
>> kgd_aldebaran_set_wave_launch_trap_override,
>> .set_wave_launch_mode = kgd_aldebaran_set_wave_launch_mode,
>> .set_address_watch = kgd_gfx_aldebaran_set_address_watch,
>> - .clear_address_watch = kgd_gfx_aldebaran_clear_address_watch,
>> + .clear_address_watch = kgd_gfx_v9_clear_address_watch,
>> .get_iq_wait_times = kgd_gfx_v9_get_iq_wait_times,
>> .build_grace_period_packet_info =
>> kgd_gfx_v9_build_grace_period_packet_info,
>> .program_trap_handler_settings =
>> kgd_gfx_v9_program_trap_handler_settings,
More information about the amd-gfx
mailing list