drm/amdgpu:new field members for SRIOV
authorMonk Liu <Monk.Liu@amd.com>
Mon, 9 Jan 2017 07:23:17 +0000 (15:23 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 27 Jan 2017 16:13:19 +0000 (11:13 -0500)
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>
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h

index 0d821d9c6932b788d3cc89f973f2d0e05675983f..63609e1796510e15ef58678ffce85d98aec1e436 100644 (file)
 #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;
+       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) \
 ((adev)->virt.caps & AMDGPU_SRIOV_CAPS_ENABLE_IOV)
 
index adbc2f5e5c7f46b86a80ff13a543c687edecead4..a12cb1b9a7e1b019ac8fd326bd15e1fbb26df300 100644 (file)
@@ -111,6 +111,8 @@ struct amdgpu_vm {
 
        /* client id */
        u64                     client_id;
+       /* each VM will map on CSA */
+       struct amdgpu_bo_va *csa_bo_va;
 };
 
 struct amdgpu_vm_id {