anitazha / rpms / ndctl

Forked from rpms/ndctl 2 years ago
Clone

Blame 0202-cxl-list-Add-interleave-parameters-to-decoder-listin.patch

Jeff Moyer 2c91dc
From 0ee9ca3f6423a2af8ade983f596274f6fcfe66d6 Mon Sep 17 00:00:00 2001
Jeff Moyer 2c91dc
From: Dan Williams <dan.j.williams@intel.com>
Jeff Moyer 2c91dc
Date: Fri, 5 Aug 2022 13:38:03 -0700
Jeff Moyer 2c91dc
Subject: [PATCH 202/217] cxl/list: Add interleave parameters to decoder
Jeff Moyer 2c91dc
 listings
Jeff Moyer 2c91dc
Jeff Moyer 2c91dc
Emit interleave_ways and interleave_granularity in decoder output.
Jeff Moyer 2c91dc
Jeff Moyer 2c91dc
Link: https://lore.kernel.org/r/165973188300.1528532.222988685552982872.stgit@dwillia2-xfh.jf.intel.com
Jeff Moyer 2c91dc
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Jeff Moyer 2c91dc
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Jeff Moyer 2c91dc
---
Jeff Moyer 2c91dc
 cxl/json.c | 20 ++++++++++++++++++++
Jeff Moyer 2c91dc
 1 file changed, 20 insertions(+)
Jeff Moyer 2c91dc
Jeff Moyer 2c91dc
diff --git a/cxl/json.c b/cxl/json.c
Jeff Moyer 2c91dc
index 9cec58b..ada1dbe 100644
Jeff Moyer 2c91dc
--- a/cxl/json.c
Jeff Moyer 2c91dc
+++ b/cxl/json.c
Jeff Moyer 2c91dc
@@ -466,6 +466,26 @@ struct json_object *util_cxl_decoder_to_json(struct cxl_decoder *decoder,
Jeff Moyer 2c91dc
 			json_object_object_add(jdecoder, "size", jobj);
Jeff Moyer 2c91dc
 	}
Jeff Moyer 2c91dc
 
Jeff Moyer 2c91dc
+	val = cxl_decoder_get_interleave_ways(decoder);
Jeff Moyer 2c91dc
+	if (val < UINT_MAX) {
Jeff Moyer 2c91dc
+		jobj = json_object_new_int(val);
Jeff Moyer 2c91dc
+		if (jobj)
Jeff Moyer 2c91dc
+			json_object_object_add(jdecoder, "interleave_ways",
Jeff Moyer 2c91dc
+					       jobj);
Jeff Moyer 2c91dc
+
Jeff Moyer 2c91dc
+		/* granularity is a don't care if not interleaving */
Jeff Moyer 2c91dc
+		if (val > 1) {
Jeff Moyer 2c91dc
+			val = cxl_decoder_get_interleave_granularity(decoder);
Jeff Moyer 2c91dc
+			if (val < UINT_MAX) {
Jeff Moyer 2c91dc
+				jobj = json_object_new_int(val);
Jeff Moyer 2c91dc
+				if (jobj)
Jeff Moyer 2c91dc
+					json_object_object_add(
Jeff Moyer 2c91dc
+						jdecoder,
Jeff Moyer 2c91dc
+						"interleave_granularity", jobj);
Jeff Moyer 2c91dc
+			}
Jeff Moyer 2c91dc
+		}
Jeff Moyer 2c91dc
+	}
Jeff Moyer 2c91dc
+
Jeff Moyer 2c91dc
 	if (size == 0) {
Jeff Moyer 2c91dc
 		jobj = json_object_new_string("disabled");
Jeff Moyer 2c91dc
 		if (jobj)
Jeff Moyer 2c91dc
-- 
Jeff Moyer 2c91dc
2.27.0
Jeff Moyer 2c91dc