[PATCH 1/3] drm/amdgpu:new field members for SRIOV

Christian König deathsimple at vodafone.de
Wed Jan 11 15:46:41 UTC 2017


> [ML] do you mean If some where want to use  vmid0_gds_address I should just use vmid0_csa_addr + 4096 ?
Yes.

> Can I get your RB after above two place modified in patch ?
Yeah, with that fixed the patch is Reviewed-by: Christian König 
<christian.koenig at amd.com>.

Regards,
Christian.

Am 11.01.2017 um 15:49 schrieb Liu, Monk:
>> Similar to the GDS address inside the VMs I think the code actually using it should calculate it from the BO address.
> [ML] do you mean If some where want to use  vmid0_gds_address I should just use vmid0_csa_addr + 4096 ?
>
>> The validate buffer is only temporarily used during mapping the CSA into the VM.
> So please put that one the stack in that function.
>
> [ML] okay
>
>
> Can I get your RB after above two place modified in patch ?
>
> BR Monk
>
> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf Of Christian K?nig
> Sent: Wednesday, January 11, 2017 8:46 PM
> To: Liu, Monk <Monk.Liu at amd.com>; amd-gfx at lists.freedesktop.org
> Subject: Re: [PATCH 1/3] drm/amdgpu:new field members for SRIOV
>
> Am 11.01.2017 um 11:43 schrieb Monk Liu:
>> and implement CSA functions in this file
>>
>> Change-Id: Ife0eff7b13b8b5946f005a39f6ecb8db1cb72c38
>> Signed-off-by: Monk Liu <Monk.Liu at amd.com>
>> ---
>>    drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 8 ++++++++
>>    drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h   | 3 +++
>>    2 files changed, 11 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
>> index 0d821d9..b65bedc 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
>> @@ -28,11 +28,19 @@
>>    #define AMDGPU_SRIOV_CAPS_ENABLE_IOV   (1 << 1) /* sr-iov is enabled on this GPU */
>>    #define AMDGPU_SRIOV_CAPS_IS_VF        (1 << 2) /* this GPU is a virtual function */
>>    #define AMDGPU_PASSTHROUGH_MODE        (1 << 3) /* thw whole GPU is pass through for VM */
>> +
>>    /* GPU virtualization */
>>    struct amdgpu_virt {
>>    	uint32_t caps;
>> +	uint32_t csa_size;
>> +	struct amdgpu_bo *csa_obj;
>> +	uint64_t csa_vmid0_addr;
>> +	uint64_t gds_vmid0_addr;
> Similar to the GDS address inside the VMs I think the code actually using it should calculate it from the BO address.
>
>>    };
>>    
>> +#define AMDGPU_CSA_SIZE    (8 * 1024)
>> +#define AMDGPU_CSA_VADDR   (AMDGPU_VA_RESERVED_SIZE - AMDGPU_CSA_SIZE)
>> +
>>    #define amdgpu_sriov_enabled(adev) \
>>    ((adev)->virt.caps & AMDGPU_SRIOV_CAPS_ENABLE_IOV)
>>    
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
>> index 42a629b..42f1ec1 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
>> @@ -111,6 +111,9 @@ struct amdgpu_vm {
>>    
>>    	/* client id */
>>    	u64                     client_id;
>> +	/* each VM will map on CSA */
>> +	struct ttm_validate_buffer csa_tv;
> The validate buffer is only temporarily used during mapping the CSA into the VM.
>
> So please put that one the stack in that function.
>
> Apart from that the patch looks good to me, Christian.
>
>> +	struct amdgpu_bo_va *csa_bo_va;
>>    };
>>    
>>    struct amdgpu_vm_id {
>
> _______________________________________________
> 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