[PATCH 2/3] drm/amdgpu: Add nps info table to IP discovery

Lijo Lazar lijo.lazar at amd.com
Tue May 14 08:36:25 UTC 2024


Add support to fetch NPS info table in IP discovery table.

Signed-off-by: Lijo Lazar <lijo.lazar at amd.com>
Reviewed-by: Le Ma <le.ma at amd.com>
---
 drivers/gpu/drm/amd/include/discovery.h | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/include/discovery.h b/drivers/gpu/drm/amd/include/discovery.h
index 0bc169f1ae0d..737d37cfd486 100644
--- a/drivers/gpu/drm/amd/include/discovery.h
+++ b/drivers/gpu/drm/amd/include/discovery.h
@@ -31,6 +31,7 @@
 #define HARVEST_TABLE_SIGNATURE         0x56524148
 #define VCN_INFO_TABLE_ID               0x004E4356
 #define MALL_INFO_TABLE_ID              0x4C4C414D
+#define NPS_INFO_TABLE_ID               0x0053504E
 
 typedef enum
 {
@@ -39,7 +40,7 @@ typedef enum
 	HARVEST_INFO,
 	VCN_INFO,
 	MALL_INFO,
-	RESERVED_1,
+	NPS_INFO,
 	TOTAL_TABLES = 6
 } table;
 
@@ -382,6 +383,28 @@ struct vcn_info_v1_0 {
 	uint32_t reserved[4];
 };
 
+#define NPS_INFO_TABLE_MAX_NUM_INSTANCES 12
+
+struct nps_info_header {
+    uint32_t table_id;      /* table ID */
+    uint16_t version_major; /* table version */
+    uint16_t version_minor; /* table version */
+    uint32_t size_bytes;    /* size of the entire header+data in bytes = 0x000000D4 (212) */
+};
+
+struct nps_instance_info_v1_0
+{
+    uint64_t base_address;
+    uint64_t limit_address;
+};
+
+struct nps_info_v1_0 {
+    struct   nps_info_header header;
+    uint32_t nps_type;
+    uint32_t count;
+    struct   nps_instance_info_v1_0 instance_info[NPS_INFO_TABLE_MAX_NUM_INSTANCES];
+};
+
 #pragma pack()
 
 #endif
-- 
2.25.1



More information about the amd-gfx mailing list