cxl/mem: Demarcate vendor specific capability IDs
authorBen Widawsky <ben.widawsky@intel.com>
Thu, 20 May 2021 20:48:52 +0000 (13:48 -0700)
committerDan Williams <dan.j.williams@intel.com>
Wed, 26 May 2021 18:20:17 +0000 (11:20 -0700)
Vendor capabilities occupy 0x8000 to 0xFFFF according to CXL 2.0 spec
8.2.8.2.1 CXL Device Capabilities. While they are not defined by the
spec, they are allowed and not "unknown". Call this detail out in the
logs to let users easily distinguish the difference.

This patch is a squash of two earlier patches and take in some minor
suggestions from both Vishal and Dan.

Cc: Vishal Verma <vishal.l.verma@intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Ben Widawsky <ben.widawsky@intel.com>
Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
Link: https://lore.kernel.org/r/20210520204852.1070780-1-ben.widawsky@intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/cxl/core.c

index 84b90db5742040f5e0c42d8c7abf9273c34b0657..38979c97158db640bb5c0729a09da2cf95c2cd84 100644 (file)
@@ -60,7 +60,10 @@ void cxl_setup_device_regs(struct device *dev, void __iomem *base,
                        regs->memdev = register_block;
                        break;
                default:
-                       dev_dbg(dev, "Unknown cap ID: %d (0x%x)\n", cap_id, offset);
+                       if (cap_id >= 0x8000)
+                               dev_dbg(dev, "Vendor cap ID: %#x offset: %#x\n", cap_id, offset);
+                       else
+                               dev_dbg(dev, "Unknown cap ID: %#x offset: %#x\n", cap_id, offset);
                        break;
                }
        }