OSDN Git Service

drm/amdgpu/gmc: add initial xgmi structure to amdgpu_gmc structure
authorAlex Deucher <alexander.deucher@amd.com>
Tue, 19 Jun 2018 21:00:47 +0000 (16:00 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 11 Sep 2018 03:46:01 +0000 (22:46 -0500)
Initial pass at a structure to store xgmi info.  xgmi is a high
speed cross gpu interconnect.

Acked-by: Huang Rui <ray.huang@amd.com>
Acked-by: Slava Abramov <slava.abramov@amd.com>
Reviewed-by :Shaoyun liu <Shaoyun.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Shaoyun Liu <Shaoyun.Liu@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h

index 17ffc35..a929a55 100644 (file)
@@ -87,6 +87,18 @@ struct amdgpu_gmc_funcs {
                           u64 *dst, u64 *flags);
 };
 
+struct amdgpu_xgmi {
+       /* from psp */
+       u64 device_id;
+       u64 hive_id;
+       /* fixed per family */
+       u64 node_segment_size;
+       /* physical node (0-3) */
+       unsigned physical_node_id;
+       /* number of nodes (0-4) */
+       unsigned num_physical_nodes;
+};
+
 struct amdgpu_gmc {
        resource_size_t         aper_size;
        resource_size_t         aper_base;
@@ -125,6 +137,8 @@ struct amdgpu_gmc {
        atomic_t                vm_fault_info_updated;
 
        const struct amdgpu_gmc_funcs   *gmc_funcs;
+
+       struct amdgpu_xgmi xgmi;
 };
 
 #define amdgpu_gmc_flush_gpu_tlb(adev, vmid) (adev)->gmc.gmc_funcs->flush_gpu_tlb((adev), (vmid))