Add data structure and helpers to get client id data of mmhub.

Signed-off-by: Lijo Lazar <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_mmhub.h | 25 +++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mmhub.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_mmhub.h
index 92918101a95d..6b8214650e5d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mmhub.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mmhub.h
@@ -66,12 +66,37 @@ struct amdgpu_mmhub_funcs {
        int (*get_xgmi_info)(struct amdgpu_device *adev);
 };
 
+struct amdgpu_mmhub_client_ids {
+       const char * const (*names)[2];
+       unsigned int size;
+};
+
 struct amdgpu_mmhub {
        struct ras_common_if *ras_if;
        const struct amdgpu_mmhub_funcs *funcs;
        struct amdgpu_mmhub_ras  *ras;
+       struct amdgpu_mmhub_client_ids client_ids;
 };
 
+static inline void
+amdgpu_mmhub_init_client_info(struct amdgpu_mmhub *mmhub,
+                             const char * const (*names)[2],
+                             unsigned int size)
+{
+       mmhub->client_ids.names = names;
+       mmhub->client_ids.size = size;
+}
+
+static inline const char *
+amdgpu_mmhub_client_name(struct amdgpu_mmhub *mmhub,
+                         u32 cid, bool is_write)
+{
+       if (cid < mmhub->client_ids.size)
+               return mmhub->client_ids.names[cid][is_write];
+
+       return NULL;
+}
+
 int amdgpu_mmhub_ras_sw_init(struct amdgpu_device *adev);
 
 #endif
-- 
2.49.0

Reply via email to