On Thu, Apr 15, 2021 at 4:27 PM Ben Widawsky <ben.widawsky@xxxxxxxxx> wrote: > > 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. > > v2: Should be greater than or equal to (Ben) > > Fixes: 8adaf747c9f0b ("cxl/mem: Find device capabilities") > Signed-off-by: Ben Widawsky <ben.widawsky@xxxxxxxxx> > --- > drivers/cxl/mem.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/cxl/mem.c b/drivers/cxl/mem.c > index c05617b0ba4b..28c7c29567b3 100644 > --- a/drivers/cxl/mem.c > +++ b/drivers/cxl/mem.c > @@ -939,7 +939,10 @@ static int cxl_mem_setup_regs(struct cxl_mem *cxlm) > cxlm->memdev_regs = register_block; > break; > default: > - dev_dbg(dev, "Unknown cap ID: %x (0x%x)\n", cap_id, offset); > + if (cap_id >= 0x8000) > + dev_dbg(dev, "Vendor cap ID: %x (0x%x)\n", cap_id, offset); > + else > + dev_dbg(dev, "Unknown cap ID: %x (0x%x)\n", cap_id, offset); This wants the same %#x fixup that Vishal noted on patch2 [1], and I think it would be useful to clarify that the second number is indeed an offset: "Unknown cap_id: %#x offset: %#x\n" [1]: http://lore.kernel.org/r/40063fe52fcaa066a42d352b13128b6762277542.camel@xxxxxxxxx