[PATCH 2/2] drm/amdkfd: Query vmid pasid mapping through stored info for non HWS

Zhao, Yong Yong.Zhao at amd.com
Thu Sep 26 22:11:59 UTC 2019


Okay, I will delete that message.

Yong

On 2019-09-26 5:31 p.m., Kuehling, Felix wrote:
> On 2019-09-26 5:27 p.m., Zhao, Yong wrote:
>> Because we record the mapping under non HWS mode in the software,
>> we can query pasid through vmid using the stored mapping instead of
>> reading from ATC registers.
>>
>> This also prepares for the defeatured ATC block in future ASICs.
>>
>> Change-Id: I781cb9d30dc0cc93379908ff1cf8da798bb26f13
>> Signed-off-by: Yong Zhao <Yong.Zhao at amd.com>
>> ---
>>    drivers/gpu/drm/amd/amdkfd/kfd_int_process_v9.c | 4 ++--
>>    1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v9.c b/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v9.c
>> index ab8a695c4a3c..9fff01c0fb9e 100644
>> --- a/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v9.c
>> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v9.c
>> @@ -58,8 +58,8 @@ static bool event_interrupt_isr_v9(struct kfd_dev *dev,
>>    		memcpy(patched_ihre, ih_ring_entry,
>>    				dev->device_info->ih_ring_entry_size);
>>    
>> -		pasid = dev->kfd2kgd->get_atc_vmid_pasid_mapping_pasid(
>> -				dev->kgd, vmid);
>> +		pasid = dev->dqm->vmid_pasid[vmid];
>> +		WARN_ONCE(pasid == 0, "No PASID assigned for VMID %d\n", vmid);
> When this happens, you'll now get to WARN_ONCE messages. One here and
> then the one a few lines lower: WARN_ONCE(pasid == 0, "Bug: No PASID in
> KFD interrupt"). My point was, your messages is redundant. The original
> WARN_ONCE already covers both the HWS and non-HWS cases.
>
> Regards,
>     Felix
>
>>    
>>    		/* Patch the pasid field */
>>    		patched_ihre[3] = cpu_to_le32((le32_to_cpu(patched_ihre[3])


More information about the amd-gfx mailing list