Blame SOURCES/0029-cmis-Initialize-Page-02h-in-memory-map.patch

89ea86
From 86853162d53b47cd0f6bcb926810aa0fd68b8898 Mon Sep 17 00:00:00 2001
89ea86
From: Ido Schimmel <idosch@nvidia.com>
89ea86
Date: Tue, 23 Nov 2021 19:40:57 +0200
89ea86
Subject: [PATCH 29/35] cmis: Initialize Page 02h in memory map
89ea86
89ea86
Page 02h stores module and lane thresholds that are going to be parsed
89ea86
and displayed in subsequent patches.
89ea86
89ea86
Request it via the 'MODULE_EEPROM_GET' netlink message and initialize it
89ea86
in the memory map.
89ea86
89ea86
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
89ea86
---
89ea86
 cmis.c | 13 ++++++++++---
89ea86
 1 file changed, 10 insertions(+), 3 deletions(-)
89ea86
89ea86
diff --git a/cmis.c b/cmis.c
89ea86
index 4798fd4c7d68..55b9d1b959cd 100644
89ea86
--- a/cmis.c
89ea86
+++ b/cmis.c
89ea86
@@ -17,9 +17,10 @@
89ea86
 
89ea86
 struct cmis_memory_map {
89ea86
 	const __u8 *lower_memory;
89ea86
-	const __u8 *upper_memory[1][2];	/* Bank, Page */
89ea86
+	const __u8 *upper_memory[1][3];	/* Bank, Page */
89ea86
 #define page_00h upper_memory[0x0][0x0]
89ea86
 #define page_01h upper_memory[0x0][0x1]
89ea86
+#define page_02h upper_memory[0x0][0x2]
89ea86
 };
89ea86
 
89ea86
 #define CMIS_PAGE_SIZE		0x80
89ea86
@@ -423,8 +424,8 @@ cmis_memory_map_init_pages(struct cmd_context *ctx,
89ea86
 		return ret;
89ea86
 	map->page_00h = request.data - CMIS_PAGE_SIZE;
89ea86
 
89ea86
-	/* Page 01h is only present when the module memory model is paged and
89ea86
-	 * not flat.
89ea86
+	/* Pages 01h and 02h are only present when the module memory model is
89ea86
+	 * paged and not flat.
89ea86
 	 */
89ea86
 	if (map->lower_memory[CMIS_MEMORY_MODEL_OFFSET] &
89ea86
 	    CMIS_MEMORY_MODEL_MASK)
89ea86
@@ -436,6 +437,12 @@ cmis_memory_map_init_pages(struct cmd_context *ctx,
89ea86
 		return ret;
89ea86
 	map->page_01h = request.data - CMIS_PAGE_SIZE;
89ea86
 
89ea86
+	cmis_request_init(&request, 0, 0x2, CMIS_PAGE_SIZE);
89ea86
+	ret = nl_get_eeprom_page(ctx, &request);
89ea86
+	if (ret < 0)
89ea86
+		return ret;
89ea86
+	map->page_02h = request.data - CMIS_PAGE_SIZE;
89ea86
+
89ea86
 	return 0;
89ea86
 }
89ea86
 
89ea86
-- 
89ea86
2.35.1
89ea86