drm/amdgpu:new field members for SRIOV
and implement CSA functions in this file Signed-off-by: Monk Liu <Monk.Liu@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
3e19e69ab0
commit
bd7de27d81
|
@ -28,11 +28,17 @@
|
||||||
#define AMDGPU_SRIOV_CAPS_ENABLE_IOV (1 << 1) /* sr-iov is enabled on this GPU */
|
#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_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 */
|
#define AMDGPU_PASSTHROUGH_MODE (1 << 3) /* thw whole GPU is pass through for VM */
|
||||||
|
|
||||||
/* GPU virtualization */
|
/* GPU virtualization */
|
||||||
struct amdgpu_virt {
|
struct amdgpu_virt {
|
||||||
uint32_t caps;
|
uint32_t caps;
|
||||||
|
struct amdgpu_bo *csa_obj;
|
||||||
|
uint64_t csa_vmid0_addr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define AMDGPU_CSA_SIZE (8 * 1024)
|
||||||
|
#define AMDGPU_CSA_VADDR (AMDGPU_VA_RESERVED_SIZE - AMDGPU_CSA_SIZE)
|
||||||
|
|
||||||
#define amdgpu_sriov_enabled(adev) \
|
#define amdgpu_sriov_enabled(adev) \
|
||||||
((adev)->virt.caps & AMDGPU_SRIOV_CAPS_ENABLE_IOV)
|
((adev)->virt.caps & AMDGPU_SRIOV_CAPS_ENABLE_IOV)
|
||||||
|
|
||||||
|
|
|
@ -111,6 +111,8 @@ struct amdgpu_vm {
|
||||||
|
|
||||||
/* client id */
|
/* client id */
|
||||||
u64 client_id;
|
u64 client_id;
|
||||||
|
/* each VM will map on CSA */
|
||||||
|
struct amdgpu_bo_va *csa_bo_va;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct amdgpu_vm_id {
|
struct amdgpu_vm_id {
|
||||||
|
|
Loading…
Reference in New Issue