[PATCH] drm/amdgpu/sriov: Set the default value about gds vmid0 size

Deng, Emily Emily.Deng at amd.com
Fri Oct 12 08:25:29 UTC 2018


>-----Original Message-----
>From: Christian König <ckoenig.leichtzumerken at gmail.com>
>Sent: Friday, October 12, 2018 3:40 PM
>To: Deng, Emily <Emily.Deng at amd.com>; amd-gfx at lists.freedesktop.org
>Subject: Re: [PATCH] drm/amdgpu/sriov: Set the default value about gds
>vmid0 size
>
>Am 12.10.2018 um 05:21 schrieb Emily Deng:
>> For sriov, when first run windows guest, then run linux guest, the gds
>> vmid0 size will be reset to 0 by windows guest. So if the value has
>> been reset to 0, then set the value to the default value in linux guest.
>
>Can we just always use the fixed value instead of reading
>mmGDS_VMID0_SIZE?
>
>We really don't want to introduce so much complexity here and another extra
>code path for SRIOV.
Thanks, will send a patch to fix the value.

Best wishes
Emily Deng

>
>Christian.
>
>>
>> Signed-off-by: Emily Deng <Emily.Deng at amd.com>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 14 ++++++++++++++
>>   1 file changed, 14 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
>> b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
>> index ae86238..d9df3dd 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
>> @@ -4872,6 +4872,17 @@ static void gfx_v9_0_set_rlc_funcs(struct
>amdgpu_device *adev)
>>   	}
>>   }
>>
>> +static void gfx_v9_0_set_gds_default(struct amdgpu_device *adev) {
>> +	switch (adev->asic_type) {
>> +	case CHIP_VEGA10:
>> +		adev->gds.mem.total_size = 0x10000;
>> +		break;
>> +	default:
>> +		break;
>> +	}
>> +}
>> +
>>   static void gfx_v9_0_set_gds_init(struct amdgpu_device *adev)
>>   {
>>   	/* init asci gds info */
>> @@ -4879,6 +4890,9 @@ static void gfx_v9_0_set_gds_init(struct
>amdgpu_device *adev)
>>   	adev->gds.gws.total_size = 64;
>>   	adev->gds.oa.total_size = 16;
>>
>> +	if (adev->gds.mem.total_size == 0 && amdgpu_sriov_vf(adev))
>> +		gfx_v9_0_set_gds_default(adev);
>> +
>>   	if (adev->gds.mem.total_size == 64 * 1024) {
>>   		adev->gds.mem.gfx_partition_size = 4096;
>>   		adev->gds.mem.cs_partition_size = 4096;



More information about the amd-gfx mailing list