Message ID | 20240806230118.1332763-2-alistair.francis@wdc.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Bjorn Helgaas |
Headers | show |
Series | [v15,1/4] PCI/DOE: Rename DOE protocol to feature | expand |
On Wed, 7 Aug 2024, Alistair Francis wrote: > PCIe r6.1 (which was published July 24) describes a "Vendor ID", a > "Data Object Type" and "Next Index" as the fields in the DOE > Discovery Response Data Object. The DOE driver currently uses > both the terms type and prot for the second element. > > This patch renames all uses of the DOE Discovery Response Data Object > to use type as the second element of the object header, instead of > type/prot as it currently is. > > Signed-off-by: Alistair Francis <alistair.francis@wdc.com> > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > --- > diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h > index 94c00996e633..795e49304ae4 100644 > --- a/include/uapi/linux/pci_regs.h > +++ b/include/uapi/linux/pci_regs.h > @@ -1146,9 +1146,12 @@ > #define PCI_DOE_DATA_OBJECT_DISC_REQ_3_INDEX 0x000000ff > #define PCI_DOE_DATA_OBJECT_DISC_REQ_3_VER 0x0000ff00 > #define PCI_DOE_DATA_OBJECT_DISC_RSP_3_VID 0x0000ffff > -#define PCI_DOE_DATA_OBJECT_DISC_RSP_3_PROTOCOL 0x00ff0000 > +#define PCI_DOE_DATA_OBJECT_DISC_RSP_3_TYPE 0x00ff0000 This change (removal of the old define) is inside UAPI header, so it does seem something that is not allowed. > #define PCI_DOE_DATA_OBJECT_DISC_RSP_3_NEXT_INDEX 0xff000000 > > +/* Deprecated old name, replaced with PCI_DOE_DATA_OBJECT_DISC_RSP_3_TYPE */ > +#define PCI_DOE_DATA_OBJECT_DISC_RSP_3_PROTOCOL PCI_DOE_DATA_OBJECT_DISC_RSP_3_TYPE > + > /* Compute Express Link (CXL r3.1, sec 8.1.5) */ > #define PCI_DVSEC_CXL_PORT 3 > #define PCI_DVSEC_CXL_PORT_CTL 0x0c >
On Wed, Aug 7, 2024 at 6:03 PM Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> wrote: > > On Wed, 7 Aug 2024, Alistair Francis wrote: > > > PCIe r6.1 (which was published July 24) describes a "Vendor ID", a > > "Data Object Type" and "Next Index" as the fields in the DOE > > Discovery Response Data Object. The DOE driver currently uses > > both the terms type and prot for the second element. > > > > This patch renames all uses of the DOE Discovery Response Data Object > > to use type as the second element of the object header, instead of > > type/prot as it currently is. > > > > Signed-off-by: Alistair Francis <alistair.francis@wdc.com> > > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > > --- > > > diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h > > index 94c00996e633..795e49304ae4 100644 > > --- a/include/uapi/linux/pci_regs.h > > +++ b/include/uapi/linux/pci_regs.h > > @@ -1146,9 +1146,12 @@ > > #define PCI_DOE_DATA_OBJECT_DISC_REQ_3_INDEX 0x000000ff > > #define PCI_DOE_DATA_OBJECT_DISC_REQ_3_VER 0x0000ff00 > > #define PCI_DOE_DATA_OBJECT_DISC_RSP_3_VID 0x0000ffff > > -#define PCI_DOE_DATA_OBJECT_DISC_RSP_3_PROTOCOL 0x00ff0000 > > +#define PCI_DOE_DATA_OBJECT_DISC_RSP_3_TYPE 0x00ff0000 > > This change (removal of the old define) is inside UAPI header, so it does > seem something that is not allowed. > > > #define PCI_DOE_DATA_OBJECT_DISC_RSP_3_NEXT_INDEX 0xff000000 > > > > +/* Deprecated old name, replaced with PCI_DOE_DATA_OBJECT_DISC_RSP_3_TYPE */ > > +#define PCI_DOE_DATA_OBJECT_DISC_RSP_3_PROTOCOL PCI_DOE_DATA_OBJECT_DISC_RSP_3_TYPE The old define is kept here though Alistair
On Thu, 8 Aug 2024, Alistair Francis wrote: > On Wed, Aug 7, 2024 at 6:03 PM Ilpo Järvinen > <ilpo.jarvinen@linux.intel.com> wrote: > > > > On Wed, 7 Aug 2024, Alistair Francis wrote: > > > > > PCIe r6.1 (which was published July 24) describes a "Vendor ID", a > > > "Data Object Type" and "Next Index" as the fields in the DOE > > > Discovery Response Data Object. The DOE driver currently uses > > > both the terms type and prot for the second element. > > > > > > This patch renames all uses of the DOE Discovery Response Data Object > > > to use type as the second element of the object header, instead of > > > type/prot as it currently is. > > > > > > Signed-off-by: Alistair Francis <alistair.francis@wdc.com> > > > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > > > --- > > > > > diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h > > > index 94c00996e633..795e49304ae4 100644 > > > --- a/include/uapi/linux/pci_regs.h > > > +++ b/include/uapi/linux/pci_regs.h > > > @@ -1146,9 +1146,12 @@ > > > #define PCI_DOE_DATA_OBJECT_DISC_REQ_3_INDEX 0x000000ff > > > #define PCI_DOE_DATA_OBJECT_DISC_REQ_3_VER 0x0000ff00 > > > #define PCI_DOE_DATA_OBJECT_DISC_RSP_3_VID 0x0000ffff > > > -#define PCI_DOE_DATA_OBJECT_DISC_RSP_3_PROTOCOL 0x00ff0000 > > > +#define PCI_DOE_DATA_OBJECT_DISC_RSP_3_TYPE 0x00ff0000 > > > > This change (removal of the old define) is inside UAPI header, so it does > > seem something that is not allowed. > > > > > #define PCI_DOE_DATA_OBJECT_DISC_RSP_3_NEXT_INDEX 0xff000000 > > > > > > +/* Deprecated old name, replaced with PCI_DOE_DATA_OBJECT_DISC_RSP_3_TYPE */ > > > +#define PCI_DOE_DATA_OBJECT_DISC_RSP_3_PROTOCOL PCI_DOE_DATA_OBJECT_DISC_RSP_3_TYPE > > The old define is kept here though Ah sorry, I didn't realize it despite the comment...
diff --git a/drivers/pci/doe.c b/drivers/pci/doe.c index f776f5304a3e..defc4be81bd4 100644 --- a/drivers/pci/doe.c +++ b/drivers/pci/doe.c @@ -406,7 +406,7 @@ static int pci_doe_discovery(struct pci_doe_mb *doe_mb, u8 capver, u8 *index, u1 response_pl = le32_to_cpu(response_pl_le); *vid = FIELD_GET(PCI_DOE_DATA_OBJECT_DISC_RSP_3_VID, response_pl); - *feature = FIELD_GET(PCI_DOE_DATA_OBJECT_DISC_RSP_3_PROTOCOL, + *feature = FIELD_GET(PCI_DOE_DATA_OBJECT_DISC_RSP_3_TYPE, response_pl); *index = FIELD_GET(PCI_DOE_DATA_OBJECT_DISC_RSP_3_NEXT_INDEX, response_pl); @@ -414,9 +414,9 @@ static int pci_doe_discovery(struct pci_doe_mb *doe_mb, u8 capver, u8 *index, u1 return 0; } -static void *pci_doe_xa_feat_entry(u16 vid, u8 prot) +static void *pci_doe_xa_feat_entry(u16 vid, u8 type) { - return xa_mk_value((vid << 8) | prot); + return xa_mk_value((vid << 8) | type); } static int pci_doe_cache_features(struct pci_doe_mb *doe_mb) @@ -430,19 +430,19 @@ static int pci_doe_cache_features(struct pci_doe_mb *doe_mb) do { int rc; u16 vid; - u8 prot; + u8 type; rc = pci_doe_discovery(doe_mb, PCI_EXT_CAP_VER(hdr), &index, - &vid, &prot); + &vid, &type); if (rc) return rc; pci_dbg(doe_mb->pdev, - "[%x] Found feature %d vid: %x prot: %x\n", - doe_mb->cap_offset, xa_idx, vid, prot); + "[%x] Found feature %d vid: %x type: %x\n", + doe_mb->cap_offset, xa_idx, vid, type); rc = xa_insert(&doe_mb->feats, xa_idx++, - pci_doe_xa_feat_entry(vid, prot), GFP_KERNEL); + pci_doe_xa_feat_entry(vid, type), GFP_KERNEL); if (rc) return rc; } while (index); @@ -663,7 +663,7 @@ EXPORT_SYMBOL_GPL(pci_doe); * * @pdev: PCI device * @vendor: Vendor ID - * @prot: Data Object Type + * @type: Data Object Type * * Find first DOE mailbox of a PCI device which supports the given feature. * diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h index 94c00996e633..795e49304ae4 100644 --- a/include/uapi/linux/pci_regs.h +++ b/include/uapi/linux/pci_regs.h @@ -1146,9 +1146,12 @@ #define PCI_DOE_DATA_OBJECT_DISC_REQ_3_INDEX 0x000000ff #define PCI_DOE_DATA_OBJECT_DISC_REQ_3_VER 0x0000ff00 #define PCI_DOE_DATA_OBJECT_DISC_RSP_3_VID 0x0000ffff -#define PCI_DOE_DATA_OBJECT_DISC_RSP_3_PROTOCOL 0x00ff0000 +#define PCI_DOE_DATA_OBJECT_DISC_RSP_3_TYPE 0x00ff0000 #define PCI_DOE_DATA_OBJECT_DISC_RSP_3_NEXT_INDEX 0xff000000 +/* Deprecated old name, replaced with PCI_DOE_DATA_OBJECT_DISC_RSP_3_TYPE */ +#define PCI_DOE_DATA_OBJECT_DISC_RSP_3_PROTOCOL PCI_DOE_DATA_OBJECT_DISC_RSP_3_TYPE + /* Compute Express Link (CXL r3.1, sec 8.1.5) */ #define PCI_DVSEC_CXL_PORT 3 #define PCI_DVSEC_CXL_PORT_CTL 0x0c