[PATCH v3] drm/amdgpu/sriov: Only sriov runtime support use kiq

Deng, Emily Emily.Deng at amd.com
Tue Aug 21 09:15:28 UTC 2018


>-----Original Message-----
>From: Christian König <ckoenig.leichtzumerken at gmail.com>
>Sent: Tuesday, August 21, 2018 5:05 PM
>To: Deng, Emily <Emily.Deng at amd.com>; amd-gfx at lists.freedesktop.org
>Subject: Re: [PATCH v3] drm/amdgpu/sriov: Only sriov runtime support use kiq
>
>Am 21.08.2018 um 10:41 schrieb Emily Deng:
>> Move the check into the caller instead of returning an error code here
>>
>> For sriov, don't use kiq in exclusive mode, as don't know how long
>> time it will take, some times it will occur exclusive timeout.
>>
>> Signed-off-by: Emily Deng <Emily.Deng at amd.com>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 19 +++++++++++--------
>>   1 file changed, 11 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
>> b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
>> index 0bf8439..de1467e 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
>> @@ -321,9 +321,6 @@ signed long  amdgpu_kiq_reg_write_reg_wait(struct
>amdgpu_device *adev,
>>   	struct amdgpu_kiq *kiq = &adev->gfx.kiq;
>>   	struct amdgpu_ring *ring = &kiq->ring;
>>
>> -	if (!ring->ready)
>> -		return -EINVAL;
>> -
>>   	spin_lock_irqsave(&kiq->ring_lock, flags);
>>
>>   	amdgpu_ring_alloc(ring, 32);
>> @@ -389,11 +386,17 @@ static void gmc_v9_0_flush_gpu_tlb(struct
>amdgpu_device *adev,
>>   	for (i = 0; i < AMDGPU_MAX_VMHUBS; ++i) {
>>   		struct amdgpu_vmhub *hub = &adev->vmhub[i];
>>   		u32 tmp = gmc_v9_0_get_invalidate_req(vmid);
>> -
>> -		r = amdgpu_kiq_reg_write_reg_wait(adev, hub-
>>vm_inv_eng0_req + eng,
>> -			hub->vm_inv_eng0_ack + eng, tmp, 1 << vmid);
>> -		if (!r)
>> -			continue;
>> +		struct amdgpu_kiq *kiq = &adev->gfx.kiq;
>> +		struct amdgpu_ring *ring = &kiq->ring;
>> +
>> +		if (ring->ready &&
>
>Do you really need the local variable here? Just check
>adev->gfx.kiq.ring.ready directly.
Ok, will modify.
>Apart from that the patch is Reviewed-by: Christian König
><christian.koenig at amd.com>.
>
>Regards,
>Christian.
>
>> +		    (amdgpu_sriov_runtime(adev) ||
>> +		     !amdgpu_sriov_vf(adev))) {
>> +			r = amdgpu_kiq_reg_write_reg_wait(adev, hub-
>>vm_inv_eng0_req + eng,
>> +				hub->vm_inv_eng0_ack + eng, tmp, 1 << vmid);
>> +			if (!r)
>> +				continue;
>> +		}
>>
>>   		spin_lock(&adev->gmc.invalidate_lock);
>>



More information about the amd-gfx mailing list