diff options
author | Jonathan Kim <jonathan.kim@amd.com> | 2021-08-04 02:01:55 +0300 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2021-08-19 01:22:24 +0300 |
commit | 44357a1bd5f5a1012024a127a4653c2dfa4af18a (patch) | |
tree | 2cce7ef66e40d8c3652cdb4470c0fa6b5656ec54 /drivers/gpu/drm/amd/amdgpu/ta_xgmi_if.h | |
parent | 3a6e4106a8fdb87fd3ede0eb242b70b0c4c82bd5 (diff) | |
download | linux-44357a1bd5f5a1012024a127a4653c2dfa4af18a.tar.xz |
drm/amdgpu: get extended xgmi topology data
The TA has a limit to the amount of data that can be retrieved from
GET_TOPOLOGY. For setups that exceed this limit, the xGMI topology
needs to be re-initialized and data needs to be re-fetched from the
extended link records by setting a flag in the shared command buffer.
The number of hops and the number of links must be accumulated by the
driver. Other data points are all fetched from the first request.
Because the TA has already exceeded its link record limit, it
cannot hold bidirectional information. Otherwise the driver would
have to do more than two fetches so the driver has to reflect the
topology information in the opposite direction.
v2: squashed with internal reviewed fix
Signed-off-by: Jonathan Kim <jonathan.kim@amd.com>
Reviewed-by: Hawking Zhang <hawking.zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/ta_xgmi_if.h')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/ta_xgmi_if.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/ta_xgmi_if.h b/drivers/gpu/drm/amd/amdgpu/ta_xgmi_if.h index cce7127afeaa..da815a93d46e 100644 --- a/drivers/gpu/drm/amd/amdgpu/ta_xgmi_if.h +++ b/drivers/gpu/drm/amd/amdgpu/ta_xgmi_if.h @@ -134,7 +134,8 @@ struct ta_xgmi_shared_memory { uint32_t cmd_id; uint32_t resp_id; enum ta_xgmi_status xgmi_status; - uint32_t reserved; + uint8_t flag_extend_link_record; + uint8_t reserved0[3]; union ta_xgmi_cmd_input xgmi_in_message; union ta_xgmi_cmd_output xgmi_out_message; }; |