PCI: Add Vendor-Specific Extended Capability header info
authorBjorn Helgaas <bhelgaas@google.com>
Fri, 13 Jul 2012 20:30:21 +0000 (14:30 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 22 Aug 2012 19:47:28 +0000 (13:47 -0600)
This adds the fields in the Vendor-Specific Header: ID, Rev, and Length.
There may be multiple Vendor-Specific capabilities, so drivers should use
the VSEC ID to identify the one of interest.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
include/linux/pci_regs.h

index 7fb75b1..02448b1 100644 (file)
 #define  PCI_PWR_CAP_BUDGET(x) ((x) & 1)       /* Included in system budget */
 #define PCI_EXT_CAP_PWR_SIZEOF 16
 
+/* Vendor-Specific (VSEC, PCI_EXT_CAP_ID_VNDR) */
+#define PCI_VNDR_HEADER                4       /* Vendor-Specific Header */
+#define  PCI_VNDR_HEADER_ID(x) ((x) & 0xffff)
+#define  PCI_VNDR_HEADER_REV(x)        (((x) >> 16) & 0xf)
+#define  PCI_VNDR_HEADER_LEN(x)        (((x) >> 20) & 0xfff)
+
 /*
  * Hypertransport sub capability types
  *