CXL 3.2 Spec mentions CXL LSA 2.1 Namespace Labels at section
9.13.2.5. If Namespace label is present in LSA during
nvdimm_probe() then dimm-physical-address(DPA) reservation is
required. But this reservation is not required by cxl region
label. Therefore if LSA scanning finds any region label, skip it.

Reviewed-by: Ira Weiny <[email protected]>
Reviewed-by: Jonathan Cameron <[email protected]>
Reviewed-by: Dave Jiang <[email protected]>
Signed-off-by: Neeraj Kumar <[email protected]>
---
 drivers/nvdimm/label.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/nvdimm/label.c b/drivers/nvdimm/label.c
index 5a4599c5e5a8..f18b04f63dcc 100644
--- a/drivers/nvdimm/label.c
+++ b/drivers/nvdimm/label.c
@@ -471,6 +471,13 @@ int nd_label_reserve_dpa(struct nvdimm_drvdata *ndd)
                lsa_label = to_lsa_label(ndd, slot);
                nd_label = &lsa_label->ns_label;
 
+               /*
+                * If the LSA label is a region label then it doesn't
+                * require a dimm-physical-address(DPA) reservation.
+                */
+               if (is_region_label(ndd, lsa_label))
+                       continue;
+
                if (!slot_valid(ndd, lsa_label, slot))
                        continue;
 
-- 
2.34.1


Reply via email to