diff options
| author | Hawking Zhang <Hawking.Zhang@amd.com> | 2018-09-29 16:52:50 +0300 | 
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2018-11-06 22:02:45 +0300 | 
| commit | 593caa07ad6ad43bcd9edb36d828000053af7e2d (patch) | |
| tree | 1af4bb13746c9b38885af014762e2c1a830572ca /drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | |
| parent | 4b93151f57d873b271bb25cf1fb8f230792ba75a (diff) | |
| download | linux-593caa07ad6ad43bcd9edb36d828000053af7e2d.tar.xz | |
drm/amdgpu/psp: update topology info structures
topology info structure needs to match with the one defined
in xgmi ta
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Shaoyun Liu <Shaoyun.Liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 29 | 
1 files changed, 13 insertions, 16 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h index 28700a80cddd..9ec5d1a666a6 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h @@ -37,6 +37,7 @@  #define PSP_TMR_SIZE	0x400000  struct psp_context; +struct psp_xgmi_node_info;  struct psp_xgmi_topology_info;  enum psp_ring_type @@ -85,9 +86,9 @@ struct psp_funcs  	uint64_t (*xgmi_get_node_id)(struct psp_context *psp);  	uint64_t (*xgmi_get_hive_id)(struct psp_context *psp);  	int (*xgmi_get_topology_info)(struct psp_context *psp, int number_devices, -			struct psp_xgmi_topology_info *topology); +				      struct psp_xgmi_topology_info *topology);  	int (*xgmi_set_topology_info)(struct psp_context *psp, int number_devices, -			struct psp_xgmi_topology_info *topology); +				      struct psp_xgmi_topology_info *topology);  };  struct psp_xgmi_context { @@ -161,21 +162,17 @@ struct amdgpu_psp_funcs {  					enum AMDGPU_UCODE_ID);  }; +#define AMDGPU_XGMI_MAX_CONNECTED_NODES		64 +struct psp_xgmi_node_info { +	uint64_t				node_id; +	uint8_t					num_hops; +	uint8_t					is_sharing_enabled; +	enum ta_xgmi_assigned_sdma_engine	sdma_engine; +}; +  struct psp_xgmi_topology_info { -	/* Generated by PSP to identify the GPU instance within xgmi connection */ -	uint64_t			node_id; -	/* -	 * If all bits set to 0 , driver indicates it wants to retrieve the xgmi -	 * connection vector topology, but not access enable the connections -	 * if some or all bits are set to 1, driver indicates it want to retrieve the -	 * current xgmi topology and  access enable the link to GPU[i] associated -	 * with the bit position in the  vector. -	 * On return,: bits indicated which xgmi links are present/active depending -	 * on the  value passed in. The relative bit offset for the  relative GPU index -	 * within the  hive is always marked active. -	 */ -	uint32_t			connection_mask; -	uint32_t			reserved; /* must be  0 */ +	uint32_t			num_nodes; +	struct psp_xgmi_node_info	nodes[AMDGPU_XGMI_MAX_CONNECTED_NODES];  };  #define psp_prep_cmd_buf(ucode, type) (psp)->funcs->prep_cmd_buf((ucode), (type))  | 
