Module Name:    src
Committed By:   matt
Date:           Sat Feb 15 03:22:27 UTC 2014

Modified Files:
        src/sys/dev/pci [matt-nb5-mips64]: if_wm.c pcireg.h ppb.c

Log Message:
sync pcireg.h with HEAD.
update if_wm.c and ppb.c accordingly.


To generate a diff of this commit:
cvs rdiff -u -r1.162.4.3.2.1.2.1 -r1.162.4.3.2.1.2.2 src/sys/dev/pci/if_wm.c
cvs rdiff -u -r1.57.26.1 -r1.57.26.2 src/sys/dev/pci/pcireg.h
cvs rdiff -u -r1.39.18.3 -r1.39.18.4 src/sys/dev/pci/ppb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/if_wm.c
diff -u src/sys/dev/pci/if_wm.c:1.162.4.3.2.1.2.1 src/sys/dev/pci/if_wm.c:1.162.4.3.2.1.2.2
--- src/sys/dev/pci/if_wm.c:1.162.4.3.2.1.2.1	Wed Apr 21 00:27:41 2010
+++ src/sys/dev/pci/if_wm.c	Sat Feb 15 03:22:27 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_wm.c,v 1.162.4.3.2.1.2.1 2010/04/21 00:27:41 matt Exp $	*/
+/*	$NetBSD: if_wm.c,v 1.162.4.3.2.1.2.2 2014/02/15 03:22:27 matt Exp $	*/
 
 /*
  * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc.
@@ -76,7 +76,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.162.4.3.2.1.2.1 2010/04/21 00:27:41 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.162.4.3.2.1.2.2 2014/02/15 03:22:27 matt Exp $");
 
 #include "bpfilter.h"
 #include "rnd.h"
@@ -1162,25 +1162,25 @@ wm_attach(device_t parent, device_t self
 				 * incorrectly.
 				 */
 				pcix_cmd = pci_conf_read(pa->pa_pc, pa->pa_tag,
-				    sc->sc_pcix_offset + PCI_PCIX_CMD);
+				    sc->sc_pcix_offset + PCIX_CMD);
 				pcix_sts = pci_conf_read(pa->pa_pc, pa->pa_tag,
-				    sc->sc_pcix_offset + PCI_PCIX_STATUS);
+				    sc->sc_pcix_offset + PCIX_STATUS);
 
 				bytecnt =
-				    (pcix_cmd & PCI_PCIX_CMD_BYTECNT_MASK) >>
-				    PCI_PCIX_CMD_BYTECNT_SHIFT;
+				    (pcix_cmd & PCIX_CMD_BYTECNT_MASK) >>
+				    PCIX_CMD_BYTECNT_SHIFT;
 				maxb =
-				    (pcix_sts & PCI_PCIX_STATUS_MAXB_MASK) >>
-				    PCI_PCIX_STATUS_MAXB_SHIFT;
+				    (pcix_sts & PCIX_STATUS_MAXB_MASK) >>
+				    PCIX_STATUS_MAXB_SHIFT;
 				if (bytecnt > maxb) {
 					aprint_verbose_dev(sc->sc_dev,
 					    "resetting PCI-X MMRBC: %d -> %d\n",
 					    512 << bytecnt, 512 << maxb);
 					pcix_cmd = (pcix_cmd &
-					    ~PCI_PCIX_CMD_BYTECNT_MASK) |
-					   (maxb << PCI_PCIX_CMD_BYTECNT_SHIFT);
+					    ~PCIX_CMD_BYTECNT_MASK) |
+					   (maxb << PCIX_CMD_BYTECNT_SHIFT);
 					pci_conf_write(pa->pa_pc, pa->pa_tag,
-					    sc->sc_pcix_offset + PCI_PCIX_CMD,
+					    sc->sc_pcix_offset + PCIX_CMD,
 					    pcix_cmd);
 				}
 			}

Index: src/sys/dev/pci/pcireg.h
diff -u src/sys/dev/pci/pcireg.h:1.57.26.1 src/sys/dev/pci/pcireg.h:1.57.26.2
--- src/sys/dev/pci/pcireg.h:1.57.26.1	Sat Dec 24 01:27:25 2011
+++ src/sys/dev/pci/pcireg.h	Sat Feb 15 03:22:27 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: pcireg.h,v 1.57.26.1 2011/12/24 01:27:25 matt Exp $	*/
+/*	$NetBSD: pcireg.h,v 1.57.26.2 2014/02/15 03:22:27 matt Exp $	*/
 
 /*
  * Copyright (c) 1995, 1996, 1999, 2000
@@ -179,6 +179,7 @@ typedef u_int8_t pci_revision_t;
 #define	PCI_SUBCLASS_MASS_STORAGE_ATA		0x05
 #define	PCI_SUBCLASS_MASS_STORAGE_SATA		0x06
 #define	PCI_SUBCLASS_MASS_STORAGE_SAS		0x07
+#define	PCI_SUBCLASS_MASS_STORAGE_NVM		0x08
 #define	PCI_SUBCLASS_MASS_STORAGE_MISC		0x80
 
 /* 0x02 network subclasses */
@@ -462,6 +463,7 @@ typedef u_int8_t pci_revision_t;
 #define	PCI_CAP_DEBUGPORT	0x0a
 #define	PCI_CAP_CPCI_RSRCCTL	0x0b
 #define	PCI_CAP_HOTPLUG		0x0c
+#define	PCI_CAP_SUBVENDOR	0x0d
 #define	PCI_CAP_AGP8		0x0e
 #define	PCI_CAP_SECURE		0x0f
 #define	PCI_CAP_PCIEXPRESS     	0x10
@@ -567,128 +569,239 @@ struct pci_msix_table_entry {
  * as 32-bit values, offset and shifted appropriately.  Make sure you perform
  * the appropriate R/M/W cycles!
  */
-#define PCI_PCIX_CMD			0x00
-#define PCI_PCIX_CMD_PERR_RECOVER	0x00010000
-#define PCI_PCIX_CMD_RELAXED_ORDER	0x00020000
-#define PCI_PCIX_CMD_BYTECNT_MASK	0x000c0000
-#define	PCI_PCIX_CMD_BYTECNT_SHIFT	18
-#define		PCI_PCIX_CMD_BCNT_512		0x00000000
-#define		PCI_PCIX_CMD_BCNT_1024		0x00040000
-#define		PCI_PCIX_CMD_BCNT_2048		0x00080000
-#define		PCI_PCIX_CMD_BCNT_4096		0x000c0000
-#define PCI_PCIX_CMD_SPLTRANS_MASK	0x00700000
-#define		PCI_PCIX_CMD_SPLTRANS_1		0x00000000
-#define		PCI_PCIX_CMD_SPLTRANS_2		0x00100000
-#define		PCI_PCIX_CMD_SPLTRANS_3		0x00200000
-#define		PCI_PCIX_CMD_SPLTRANS_4		0x00300000
-#define		PCI_PCIX_CMD_SPLTRANS_8		0x00400000
-#define		PCI_PCIX_CMD_SPLTRANS_12	0x00500000
-#define		PCI_PCIX_CMD_SPLTRANS_16	0x00600000
-#define		PCI_PCIX_CMD_SPLTRANS_32	0x00700000
+#define PCIX_CMD			0x00
+#define PCIX_CMD_PERR_RECOVER	0x00010000
+#define PCIX_CMD_RELAXED_ORDER	0x00020000
+#define PCIX_CMD_BYTECNT_MASK	0x000c0000
+#define	PCIX_CMD_BYTECNT_SHIFT	18
+#define		PCIX_CMD_BCNT_512		0x00000000
+#define		PCIX_CMD_BCNT_1024		0x00040000
+#define		PCIX_CMD_BCNT_2048		0x00080000
+#define		PCIX_CMD_BCNT_4096		0x000c0000
+#define PCIX_CMD_SPLTRANS_MASK	0x00700000
+#define		PCIX_CMD_SPLTRANS_1		0x00000000
+#define		PCIX_CMD_SPLTRANS_2		0x00100000
+#define		PCIX_CMD_SPLTRANS_3		0x00200000
+#define		PCIX_CMD_SPLTRANS_4		0x00300000
+#define		PCIX_CMD_SPLTRANS_8		0x00400000
+#define		PCIX_CMD_SPLTRANS_12	0x00500000
+#define		PCIX_CMD_SPLTRANS_16	0x00600000
+#define		PCIX_CMD_SPLTRANS_32	0x00700000
 
 /*
  * Status. 32 bits at offset 4.
  */
-#define PCI_PCIX_STATUS			0x04
-#define PCI_PCIX_STATUS_FN_MASK		0x00000007
-#define PCI_PCIX_STATUS_DEV_MASK	0x000000f8
-#define PCI_PCIX_STATUS_BUS_MASK	0x0000ff00
-#define PCI_PCIX_STATUS_64BIT		0x00010000
-#define PCI_PCIX_STATUS_133		0x00020000
-#define PCI_PCIX_STATUS_SPLDISC		0x00040000
-#define PCI_PCIX_STATUS_SPLUNEX		0x00080000
-#define PCI_PCIX_STATUS_DEVCPLX		0x00100000
-#define PCI_PCIX_STATUS_MAXB_MASK	0x00600000
-#define	PCI_PCIX_STATUS_MAXB_SHIFT	21
-#define		PCI_PCIX_STATUS_MAXB_512	0x00000000
-#define		PCI_PCIX_STATUS_MAXB_1024	0x00200000
-#define		PCI_PCIX_STATUS_MAXB_2048	0x00400000
-#define		PCI_PCIX_STATUS_MAXB_4096	0x00600000
-#define PCI_PCIX_STATUS_MAXST_MASK	0x03800000
-#define		PCI_PCIX_STATUS_MAXST_1		0x00000000
-#define		PCI_PCIX_STATUS_MAXST_2		0x00800000
-#define		PCI_PCIX_STATUS_MAXST_3		0x01000000
-#define		PCI_PCIX_STATUS_MAXST_4		0x01800000
-#define		PCI_PCIX_STATUS_MAXST_8		0x02000000
-#define		PCI_PCIX_STATUS_MAXST_12	0x02800000
-#define		PCI_PCIX_STATUS_MAXST_16	0x03000000
-#define		PCI_PCIX_STATUS_MAXST_32	0x03800000
-#define PCI_PCIX_STATUS_MAXRS_MASK	0x1c000000
-#define		PCI_PCIX_STATUS_MAXRS_1K	0x00000000
-#define		PCI_PCIX_STATUS_MAXRS_2K	0x04000000
-#define		PCI_PCIX_STATUS_MAXRS_4K	0x08000000
-#define		PCI_PCIX_STATUS_MAXRS_8K	0x0c000000
-#define		PCI_PCIX_STATUS_MAXRS_16K	0x10000000
-#define		PCI_PCIX_STATUS_MAXRS_32K	0x14000000
-#define		PCI_PCIX_STATUS_MAXRS_64K	0x18000000
-#define		PCI_PCIX_STATUS_MAXRS_128K	0x1c000000
-#define PCI_PCIX_STATUS_SCERR			0x20000000
+#define PCIX_STATUS			0x04
+#define PCIX_STATUS_FN_MASK		0x00000007
+#define PCIX_STATUS_DEV_MASK	0x000000f8
+#define PCIX_STATUS_BUS_MASK	0x0000ff00
+#define PCIX_STATUS_64BIT		0x00010000
+#define PCIX_STATUS_133		0x00020000
+#define PCIX_STATUS_SPLDISC		0x00040000
+#define PCIX_STATUS_SPLUNEX		0x00080000
+#define PCIX_STATUS_DEVCPLX		0x00100000
+#define PCIX_STATUS_MAXB_MASK	0x00600000
+#define	PCIX_STATUS_MAXB_SHIFT	21
+#define		PCIX_STATUS_MAXB_512	0x00000000
+#define		PCIX_STATUS_MAXB_1024	0x00200000
+#define		PCIX_STATUS_MAXB_2048	0x00400000
+#define		PCIX_STATUS_MAXB_4096	0x00600000
+#define PCIX_STATUS_MAXST_MASK	0x03800000
+#define		PCIX_STATUS_MAXST_1		0x00000000
+#define		PCIX_STATUS_MAXST_2		0x00800000
+#define		PCIX_STATUS_MAXST_3		0x01000000
+#define		PCIX_STATUS_MAXST_4		0x01800000
+#define		PCIX_STATUS_MAXST_8		0x02000000
+#define		PCIX_STATUS_MAXST_12	0x02800000
+#define		PCIX_STATUS_MAXST_16	0x03000000
+#define		PCIX_STATUS_MAXST_32	0x03800000
+#define PCIX_STATUS_MAXRS_MASK	0x1c000000
+#define		PCIX_STATUS_MAXRS_1K	0x00000000
+#define		PCIX_STATUS_MAXRS_2K	0x04000000
+#define		PCIX_STATUS_MAXRS_4K	0x08000000
+#define		PCIX_STATUS_MAXRS_8K	0x0c000000
+#define		PCIX_STATUS_MAXRS_16K	0x10000000
+#define		PCIX_STATUS_MAXRS_32K	0x14000000
+#define		PCIX_STATUS_MAXRS_64K	0x18000000
+#define		PCIX_STATUS_MAXRS_128K	0x1c000000
+#define PCIX_STATUS_SCERR			0x20000000
 
 /*
  * PCI Express; access via capability pointer.
  */
-#define PCI_PCIE_XCAP		0x00	/* Capability List & Capabilities
-					 * Register
-					 */
-#define	PCI_PCIE_XCAP_MASK	__BITS(31, 16)
+#define PCIE_XCAP	0x00	/* Capability List & Capabilities Register */
+#define	PCIE_XCAP_MASK		__BITS(31, 16)
 /* Capability Version */
-#define PCI_PCIE_XCAP_VER_MASK	__SHIFTIN(__BITS(3, 0), PCI_PCIE_XCAP_MASK)
-#define	 PCI_PCIE_XCAP_VER_1_0		__SHIFTIN(1, PCI_PCIE_XCAP_VER_MASK)
-#define	 PCI_PCIE_XCAP_VER_2_0		__SHIFTIN(2, PCI_PCIE_XCAP_VER_MASK)
-#define	PCI_PCIE_XCAP_TYPE_MASK	__SHIFTIN(__BITS(7, 4), PCI_PCIE_XCAP_MASK)
-#define	 PCI_PCIE_XCAP_TYPE_PCIE_DEV	__SHIFTIN(0x0, PCI_PCIE_XCAP_TYPE_MASK)
-#define	 PCI_PCIE_XCAP_TYPE_PCI_DEV	__SHIFTIN(0x1, PCI_PCIE_XCAP_TYPE_MASK)
-#define	 PCI_PCIE_XCAP_TYPE_ROOT	__SHIFTIN(0x4, PCI_PCIE_XCAP_TYPE_MASK)
-#define	 PCI_PCIE_XCAP_TYPE_UP		__SHIFTIN(0x5, PCI_PCIE_XCAP_TYPE_MASK)
-#define	 PCI_PCIE_XCAP_TYPE_DOWN	__SHIFTIN(0x6, PCI_PCIE_XCAP_TYPE_MASK)
-#define	 PCI_PCIE_XCAP_TYPE_PCIE2PCI	__SHIFTIN(0x7, PCI_PCIE_XCAP_TYPE_MASK)
-#define	 PCI_PCIE_XCAP_TYPE_PCI2PCIE	__SHIFTIN(0x8, PCI_PCIE_XCAP_TYPE_MASK)
-#define PCI_PCIE_XCAP_SI	__SHIFTIN(__BIT(8), PCI_PCIE_XCAP_MASK)		/* Slot Implemented */
-#define PCI_PCIE_DCAP		0x04	/* Device Capabilities Register */
-#define PCI_PCIE_DCSR		0x08	/* Device Control & Status Register */
-#define PCI_PCIE_DCSR_MAX_READ_REQ	__BITS(14, 12)
-#define PCI_PCIE_DCSR_ENA_NO_SNOOP	__BIT(11)
-#define PCI_PCIE_DCSR_CED	__BIT(0 + 16)
-#define PCI_PCIE_DCSR_NFED	__BIT(1 + 16)
-#define PCI_PCIE_DCSR_FED	__BIT(2 + 16)
-#define PCI_PCIE_DCSR_URD	__BIT(3 + 16)
-#define PCI_PCIE_LCAP		0x0c
-#define PCI_PCIE_LCSR		0x10	/* Link Control & Status Register */
-#define PCI_PCIE_LCSR_ASPM_L0S	__BIT(0)
-#define PCI_PCIE_LCSR_ASPM_L1	__BIT(1)
-#define PCI_PCIE_SLCAP		0x14	/* Slot Capabilities Register */
-#define PCI_PCIE_SLCAP_ABP	__BIT(0)	/* Attention Button Present */
-#define PCI_PCIE_SLCAP_PCP	__BIT(1)	/* Power Controller Present */
-#define PCI_PCIE_SLCAP_MSP	__BIT(2)	/* MRL Sensor Present */
-#define PCI_PCIE_SLCAP_AIP	__BIT(3)	/* Attention Indicator
-						 * Present
-						 */
-#define PCI_PCIE_SLCAP_PIP	__BIT(4)	/* Power Indicator Present */
-#define PCI_PCIE_SLCAP_HPS	__BIT(5)	/* Hot-Plug Surprise */
-#define PCI_PCIE_SLCAP_HPC	__BIT(6)	/* Hot-Plug Capable */
-#define PCI_PCIE_SLCSR		0x18
-#define PCI_PCIE_SLCSR_ABE	__BIT(0)
-#define PCI_PCIE_SLCSR_PFE	__BIT(1)
-#define PCI_PCIE_SLCSR_MSE	__BIT(2)
-#define PCI_PCIE_SLCSR_PDE	__BIT(3)
-#define PCI_PCIE_SLCSR_CCE	__BIT(4)
-#define PCI_PCIE_SLCSR_HPE	__BIT(5)
-#define PCI_PCIE_SLCSR_ABP	__BIT(0 + 16)
-#define PCI_PCIE_SLCSR_PFD	__BIT(1 + 16)
-#define PCI_PCIE_SLCSR_MSC	__BIT(2 + 16)
-#define PCI_PCIE_SLCSR_PDC	__BIT(3 + 16)
-#define PCI_PCIE_SLCSR_CC	__BIT(4 + 16)
-#define PCI_PCIE_SLCSR_MS	__BIT(5 + 16)
-#define PCI_PCIE_SLCSR_PDS	__BIT(6 + 16)
-#define PCI_PCIE_SLCSR_LACS	__BIT(8 + 16)
-#define PCI_PCIE_RCR		0x1c
-#define PCI_PCIE_RSR		0x20
-#define PCI_PCIE_DCAP2		0x24
-#define PCI_PCIE_DCSR2		0x28
-#define PCI_PCIE_LCAP2		0x2c
-#define PCI_PCIE_LCSR2		0x30
-#define PCI_PCIE_SLCAP2		0x34
-#define PCI_PCIE_SLCSR2		0x38
+#define PCIE_XCAP_VER_MASK	__SHIFTIN(__BITS(3, 0), PCIE_XCAP_MASK)
+#define	 PCIE_XCAP_VER_1_0	__SHIFTIN(1, PCIE_XCAP_VER_MASK)
+#define	 PCIE_XCAP_VER_2_0	__SHIFTIN(2, PCIE_XCAP_VER_MASK)
+#define	PCIE_XCAP_TYPE_MASK	__SHIFTIN(__BITS(7, 4), PCIE_XCAP_MASK)
+#define	 PCIE_XCAP_TYPE_PCIE_DEV __SHIFTIN(0x0, PCIE_XCAP_TYPE_MASK)
+#define	 PCIE_XCAP_TYPE_PCI_DEV	__SHIFTIN(0x1, PCIE_XCAP_TYPE_MASK)
+#define	 PCIE_XCAP_TYPE_ROOT	__SHIFTIN(0x4, PCIE_XCAP_TYPE_MASK)
+#define	 PCIE_XCAP_TYPE_UP	__SHIFTIN(0x5, PCIE_XCAP_TYPE_MASK)
+#define	 PCIE_XCAP_TYPE_DOWN	__SHIFTIN(0x6, PCIE_XCAP_TYPE_MASK)
+#define	 PCIE_XCAP_TYPE_PCIE2PCI __SHIFTIN(0x7, PCIE_XCAP_TYPE_MASK)
+#define	 PCIE_XCAP_TYPE_PCI2PCIE __SHIFTIN(0x8, PCIE_XCAP_TYPE_MASK)
+#define	 PCIE_XCAP_TYPE_ROOT_INTEP __SHIFTIN(0x9, PCIE_XCAP_TYPE_MASK)
+#define	 PCIE_XCAP_TYPE_ROOT_EVNTC __SHIFTIN(0xa, PCIE_XCAP_TYPE_MASK)
+#define PCIE_XCAP_SI		__SHIFTIN(__BIT(8), PCIE_XCAP_MASK) /* Slot Implemented */
+#define PCIE_XCAP_IRQ		__SHIFTIN(__BITS(13, 9), PCIE_XCAP_MASK)
+#define PCIE_DCAP	0x04	/* Device Capabilities Register */
+#define PCIE_DCAP_MAX_PAYLOAD	__BITS(2, 0)   /* Max Payload Size Supported */
+#define PCIE_DCAP_PHANTOM_FUNCS	__BITS(4, 3)   /* Phantom Functions Supported*/
+#define PCIE_DCAP_EXT_TAG_FIELD	__BIT(5)       /* Extended Tag Field Support */
+#define PCIE_DCAP_L0S_LATENCY	__BITS(8, 6)   /* Endpoint L0 Accptbl Latency*/
+#define PCIE_DCAP_L1_LATENCY	__BITS(11, 9)  /* Endpoint L1 Accptbl Latency*/
+#define PCIE_DCAP_ATTN_BUTTON	__BIT(12)      /* Attention Indicator Button */
+#define PCIE_DCAP_ATTN_IND	__BIT(13)      /* Attention Indicator Present*/
+#define PCIE_DCAP_PWR_IND	__BIT(14)      /* Power Indicator Present */
+#define PCIE_DCAP_ROLE_ERR_RPT	__BIT(15)      /* Role-Based Error Reporting */
+#define PCIE_DCAP_SLOT_PWR_LIM_VAL __BITS(25, 18) /* Cap. Slot PWR Limit Val */
+#define PCIE_DCAP_SLOT_PWR_LIM_SCALE __BITS(27, 26) /* Cap. SlotPWRLimit Scl */
+#define PCIE_DCAP_FLR		__BIT(28)      /* Function-Level Reset Cap. */
+#define PCIE_DCSR	0x08	/* Device Control & Status Register */
+#define PCIE_DCSR_ENA_COR_ERR	__BIT(0)       /* Correctable Error Report En*/
+#define PCIE_DCSR_ENA_NFER	__BIT(1)       /* Non-Fatal Error Report En. */
+#define PCIE_DCSR_ENA_FER	__BIT(2)       /* Fatal Error Reporting Enabl*/
+#define PCIE_DCSR_ENA_URR	__BIT(3)       /* Unsupported Request Rpt En */
+#define PCIE_DCSR_ENA_RELAX_ORD	__BIT(4)       /* Enable Relaxed Ordering */
+#define PCIE_DCSR_MAX_PAYLOAD	__BITS(7, 5)   /* Max Payload Size */
+#define PCIE_DCSR_EXT_TAG_FIELD	__BIT(8)       /* Extended Tag Field Enable */
+#define PCIE_DCSR_PHANTOM_FUNCS	__BIT(9)       /* Phantom Functions Enable */
+#define PCIE_DCSR_AUX_POWER_PM	__BIT(10)      /* Aux Power PM Enable */
+#define PCIE_DCSR_ENA_NO_SNOOP	__BIT(11)      /* Enable No Snoop */
+#define PCIE_DCSR_MAX_READ_REQ	__BITS(14, 12) /* Max Read Request Size */
+#define PCIE_DCSR_BRDG_CFG_RETRY __BIT(15)     /* Bridge Config Retry Enable */
+#define PCIE_DCSR_INITIATE_FLR	__BIT(15)      /* Initiate Function-Level Rst*/
+#define PCIE_DCSR_CED		__BIT(0 + 16)  /* Correctable Error Detected */
+#define PCIE_DCSR_NFED		__BIT(1 + 16)  /* Non-Fatal Error Detected */
+#define PCIE_DCSR_FED		__BIT(2 + 16)  /* Fatal Error Detected */
+#define PCIE_DCSR_URD		__BIT(3 + 16)  /* Unsupported Req. Detected */
+#define PCIE_DCSR_AUX_PWR	__BIT(4 + 16)  /* Aux Power Detected */
+#define PCIE_DCSR_TRANSACTION_PND __BIT(5 + 16) /* Transaction Pending */
+#define PCIE_LCAP	0x0c	/* Link Capabilities Register */
+#define PCIE_LCAP_MAX_SPEED	__BITS(3, 0)   /* Max Link Speed */
+#define PCIE_LCAP_MAX_WIDTH	__BITS(9, 4)   /* Maximum Link Width */
+#define PCIE_LCAP_ASPM		__BITS(11, 10) /* Active State Link PM Supp. */
+#define PCIE_LCAP_L0S_EXIT	__BITS(14, 12) /* L0s Exit Latency */
+#define PCIE_LCAP_L1_EXIT	__BITS(17, 15) /* L1 Exit Latency */
+#define PCIE_LCAP_CLOCK_PM	__BIT(18)      /* Clock Power Management */
+#define PCIE_LCAP_SURPRISE_DOWN	__BIT(19)      /* Surprise Down Err Rpt Cap. */
+#define PCIE_LCAP_DL_ACTIVE	__BIT(20)      /* Data Link Layer Link Active*/
+#define PCIE_LCAP_LINK_BW_NOTIFY __BIT(21)     /* Link BW Notification Capabl*/
+#define PCIE_LCAP_ASPM_COMPLIANCE __BIT(22)    /* ASPM Optionally Compliance */
+#define PCIE_LCAP_PORT		__BITS(31, 24) /* Port Number */
+#define PCIE_LCSR	0x10	/* Link Control & Status Register */
+#define PCIE_LCSR_ASPM_L0S	__BIT(0)       /* Active State PM Control L0s*/
+#define PCIE_LCSR_ASPM_L1	__BIT(1)       /* Active State PM Control L1 */
+#define PCIE_LCSR_RCB		__BIT(3)       /* Read Completion Boundry Ctl*/
+#define PCIE_LCSR_LINK_DIS	__BIT(4)       /* Link Disable */
+#define PCIE_LCSR_RETRAIN	__BIT(5)       /* Retrain Link */
+#define PCIE_LCSR_COMCLKCFG	__BIT(6)       /* Common Clock Configuration */
+#define PCIE_LCSR_EXTNDSYNC	__BIT(7)       /* Extended Synch */
+#define PCIE_LCSR_ENCLKPM	__BIT(8)       /* Enable Clock Power Managmt */
+#define PCIE_LCSR_HAWD		__BIT(9)       /* HW Autonomous Width Disable*/
+#define PCIE_LCSR_LBMIE		__BIT(10)      /* Link BW Management Intr En */
+#define PCIE_LCSR_LABIE		__BIT(11)      /* Link Autonomous BW Intr En */
+#define	PCIE_LCSR_LINKSPEED	__BITS(19, 16) /* Link Speed */
+#define	PCIE_LCSR_NLW		__BITS(25, 20) /* Negotiated Link Width */
+#define	PCIE_LCSR_LINKTRAIN_ERR	__BIT(10 + 16) /* Link Training Error */
+#define	PCIE_LCSR_LINKTRAIN	__BIT(11 + 16) /* Link Training */
+#define	PCIE_LCSR_SLOTCLKCFG 	__BIT(12 + 16) /* Slot Clock Configuration */
+#define	PCIE_LCSR_DLACTIVE	__BIT(13 + 16) /* Data Link Layer Link Active*/
+#define	PCIE_LCSR_LINK_BW_MGMT	__BIT(14 + 16) /* Link BW Management Status */
+#define	PCIE_LCSR_LINK_AUTO_BW	__BIT(15 + 16) /* Link Autonomous BW Status */
+#define PCIE_SLCAP	0x14	/* Slot Capabilities Register */
+#define PCIE_SLCAP_ABP		__BIT(0)       /* Attention Button Present */
+#define PCIE_SLCAP_PCP		__BIT(1)       /* Power Controller Present */
+#define PCIE_SLCAP_MSP		__BIT(2)       /* MRL Sensor Present */
+#define PCIE_SLCAP_AIP		__BIT(3)       /* Attention Indicator Present*/
+#define PCIE_SLCAP_PIP		__BIT(4)       /* Power Indicator Present */
+#define PCIE_SLCAP_HPS		__BIT(5)       /* Hot-Plug Surprise */
+#define PCIE_SLCAP_HPC		__BIT(6)       /* Hot-Plug Capable */
+#define	PCIE_SLCAP_SPLV		__BITS(14, 7)  /* Slot Power Limit Value */
+#define	PCIE_SLCAP_SPLS		__BITS(16, 15) /* Slot Power Limit Scale */
+#define	PCIE_SLCAP_EIP		__BIT(17)      /* Electromechanical Interlock*/
+#define	PCIE_SLCAP_NCCS		__BIT(18)      /* No Command Completed Supp. */
+#define	PCIE_SLCAP_PSN		__BITS(31, 19) /* Physical Slot Number */
+#define PCIE_SLCSR	0x18	/* Slot Control & Status Register */
+#define PCIE_SLCSR_ABE		__BIT(0)       /* Attention Button Pressed En*/
+#define PCIE_SLCSR_PFE		__BIT(1)       /* Power Button Pressed Enable*/
+#define PCIE_SLCSR_MSE		__BIT(2)       /* MRL Sensor Changed Enable */
+#define PCIE_SLCSR_PDE		__BIT(3)       /* Presence Detect Changed Ena*/
+#define PCIE_SLCSR_CCE		__BIT(4)       /* Command Completed Intr. En */
+#define PCIE_SLCSR_HPE		__BIT(5)       /* Hot Plug Interrupt Enable */
+#define PCIE_SLCSR_AIC		__BITS(7, 6)   /* Attention Indicator Control*/
+#define PCIE_SLCSR_PIC		__BITS(9, 8)   /* Power Indicator Control */
+#define PCIE_SLCSR_PCC		__BIT(10)      /* Power Controller Control */
+#define PCIE_SLCSR_EIC		__BIT(11)      /* Electromechanical Interlock*/
+#define PCIE_SLCSR_DLLSCE	__BIT(12)      /* DataLinkLayer State Changed*/
+#define PCIE_SLCSR_ABP		__BIT(0 + 16)  /* Attention Button Pressed */
+#define PCIE_SLCSR_PFD		__BIT(1 + 16)  /* Power Fault Detected */
+#define PCIE_SLCSR_MSC		__BIT(2 + 16)  /* MRL Sensor Changed */
+#define PCIE_SLCSR_PDC		__BIT(3 + 16)  /* Presence Detect Changed */
+#define PCIE_SLCSR_CC		__BIT(4 + 16)  /* Command Completed */
+#define PCIE_SLCSR_MS		__BIT(5 + 16)  /* MRL Sensor State */
+#define PCIE_SLCSR_PDS		__BIT(6 + 16)  /* Presence Detect State */
+#define PCIE_SLCSR_EIS		__BIT(7 + 16)  /* Electromechanical Interlock*/
+#define PCIE_SLCSR_LACS		__BIT(8 + 16)  /* Data Link Layer State Chg. */
+#define PCIE_RCR	0x1c	/* Root Control & Capabilities Reg. */
+#define PCIE_RCR_SERR_CER	__BIT(0)       /* SERR on Correctable Err. En*/
+#define PCIE_RCR_SERR_NFER	__BIT(1)       /* SERR on Non-Fatal Error En */
+#define PCIE_RCR_SERR_FER	__BIT(2)       /* SERR on Fatal Error Enable */
+#define PCIE_RCR_PME_IE		__BIT(3)       /* PME Interrupt Enable */
+#define PCIE_RSR	0x20	/* Root Status Register */
+#define PCIE_RSR_PME_REQESTER	__BITS(15, 0)  /* PME Requester ID */
+#define PCIE_RSR_PME_STAT	__BIT(16)      /* PME Status */
+#define PCIE_RSR_PME_PEND	__BIT(17)      /* PME Pending */
+#define PCIE_DCAP2	0x24	/* Device Capabilities 2 Register */
+#define PCIE_DCAP2_COMPT_RANGE	__BITS(3,0)    /* Compl. Timeout Ranges Supp */
+#define PCIE_DCAP2_COMPT_DIS	__BIT(4)       /* Compl. Timeout Disable Supp*/
+#define PCIE_DCAP2_ARI_FWD	__BIT(5)       /* ARI Forward Supported */
+#define PCIE_DCAP2_ATOM_ROUT	__BIT(6)       /* AtomicOp Routing Supported */
+#define PCIE_DCAP2_32ATOM	__BIT(7)       /* 32bit AtomicOp Compl. Supp */
+#define PCIE_DCAP2_64ATOM	__BIT(8)       /* 64bit AtomicOp Compl. Supp */
+#define PCIE_DCAP2_128CAS	__BIT(9)       /* 128bit Cas Completer Supp. */
+#define PCIE_DCAP2_NO_ROPR_PASS	__BIT(10)      /* No RO-enabled PR-PR Passng */
+#define PCIE_DCAP2_LTR_MEC	__BIT(11)      /* LTR Mechanism Supported */
+#define PCIE_DCAP2_TPH_COMP	__BITS(13, 12) /* TPH Completer Supported */
+#define PCIE_DCAP2_OBFF		__BITS(19, 18) /* OBPF */
+#define PCIE_DCAP2_EXTFMT_FLD	__BIT(20)      /* Extended Fmt Field Support */
+#define PCIE_DCAP2_EETLP_PREF	__BIT(21)      /* End-End TLP Prefix Support */
+#define PCIE_DCAP2_MAX_EETLP	__BITS(23, 22) /* Max End-End TLP Prefix Sup */
+#define PCIE_DCSR2	0x28	/* Device Control & Status 2 Register */
+#define PCIE_DCSR2_COMPT_VAL	__BITS(3, 0)   /* Completion Timeout Value */
+#define PCIE_DCSR2_COMPT_DIS	__BIT(4)       /* Completion Timeout Disable */
+#define PCIE_DCSR2_ARI_FWD	__BIT(5)       /* ARI Forwarding Enable */
+#define PCIE_DCSR2_ATOM_REQ	__BIT(6)       /* AtomicOp Requester Enable */
+#define PCIE_DCSR2_ATOM_EBLK	__BIT(7)       /* AtomicOp Egress Blocking */
+#define PCIE_DCSR2_IDO_REQ	__BIT(8)       /* IDO Request Enable */
+#define PCIE_DCSR2_IDO_COMP	__BIT(9)       /* IDO Completion Enable */
+#define PCIE_DCSR2_LTR_MEC	__BIT(10)      /* LTR Mechanism Enable */
+#define PCIE_DCSR2_OBFF_EN	__BITS(14, 13) /* OBPF Enable */
+#define PCIE_DCSR2_EETLP	__BIT(15)      /* End-End TLP Prefix Blcking */
+#define PCIE_LCAP2	0x2c	/* Link Capabilities 2 Register */
+#define PCIE_LCAP2_SUP_LNKSV	__BITS(7, 1)   /* Supported Link Speeds Vect */
+#define PCIE_LCAP2_CROSSLNK	__BIT(8)       /* Crosslink Supported */
+#define PCIE_LCSR2	0x30	/* Link Control & Status 2 Register */
+#define PCIE_LCSR2_TGT_LSPEED	__BITS(3, 0)   /* Target Link Speed */
+#define PCIE_LCSR2_ENT_COMPL	__BIT(4)       /* Enter Compliance */
+#define PCIE_LCSR2_HW_AS_DIS	__BIT(5)       /* HW Autonomous Speed Disabl */
+#define PCIE_LCSR2_SEL_DEEMP	__BIT(6)       /* Selectable De-emphasis */
+#define PCIE_LCSR2_TX_MARGIN	__BITS(9, 7)   /* Transmit Margin */
+#define PCIE_LCSR2_EN_MCOMP	__BIT(10)      /* Enter Modified Compliance */
+#define PCIE_LCSR2_COMP_SOS	__BIT(11)      /* Compliance SOS */
+#define PCIE_LCSR2_COMP_DEEMP	__BITS(15, 12) /* Compliance Present/De-emph */
+#define PCIE_LCSR2_DEEMP_LVL	__BIT(0 + 16)  /* Current De-emphasis Level */
+#define PCIE_LCSR2_EQ_COMPL	__BIT(1 + 16)  /* Equalization Complete */
+#define PCIE_LCSR2_EQP1_SUC	__BIT(2 + 16)  /* Equaliz Phase 1 Successful */
+#define PCIE_LCSR2_EQP2_SUC	__BIT(3 + 16)  /* Equaliz Phase 2 Successful */
+#define PCIE_LCSR2_EQP3_SUC	__BIT(4 + 16)  /* Equaliz Phase 3 Successful */
+#define PCIE_LCSR2_LNKEQ_REQ	__BIT(5 + 16)  /* Link Equalization Request */
+
+#define PCIE_SLCAP2	0x34	/* Slot Capabilities 2 Register */
+#define PCIE_SLCSR2	0x38	/* Slot Control & Status 2 Register */
 
 /*
  * Interrupt Configuration Register; contains interrupt pin and line.

Index: src/sys/dev/pci/ppb.c
diff -u src/sys/dev/pci/ppb.c:1.39.18.3 src/sys/dev/pci/ppb.c:1.39.18.4
--- src/sys/dev/pci/ppb.c:1.39.18.3	Sat Dec 24 01:28:02 2011
+++ src/sys/dev/pci/ppb.c	Sat Feb 15 03:22:27 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: ppb.c,v 1.39.18.3 2011/12/24 01:28:02 matt Exp $	*/
+/*	$NetBSD: ppb.c,v 1.39.18.4 2014/02/15 03:22:27 matt Exp $	*/
 
 /*
  * Copyright (c) 1996, 1998 Christopher G. Demetriou.  All rights reserved.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ppb.c,v 1.39.18.3 2011/12/24 01:28:02 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ppb.c,v 1.39.18.4 2014/02/15 03:22:27 matt Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -43,9 +43,9 @@ __KERNEL_RCSID(0, "$NetBSD: ppb.c,v 1.39
 #include <dev/pci/ppbreg.h>
 #include <dev/pci/pcidevs.h>
 
-#define	PCI_PCIE_SLCSR_NOTIFY_MASK					\
-	(PCI_PCIE_SLCSR_ABE | PCI_PCIE_SLCSR_PFE | PCI_PCIE_SLCSR_MSE |	\
-	 PCI_PCIE_SLCSR_PDE | PCI_PCIE_SLCSR_CCE | PCI_PCIE_SLCSR_HPE)
+#define	PCIE_SLCSR_NOTIFY_MASK					\
+	(PCIE_SLCSR_ABE | PCIE_SLCSR_PFE | PCIE_SLCSR_MSE |	\
+	 PCIE_SLCSR_PDE | PCIE_SLCSR_CCE | PCIE_SLCSR_HPE)
 
 struct ppb_softc {
 	device_t sc_dev;		/* generic device glue */
@@ -94,52 +94,52 @@ ppb_fix_pcie(device_t self)
 		return; /* Not a PCIe device */
 
 	aprint_normal_dev(self, "PCI Express ");
-	switch (reg & PCI_PCIE_XCAP_VER_MASK) {
-	case PCI_PCIE_XCAP_VER_1_0:
+	switch (reg & PCIE_XCAP_VER_MASK) {
+	case PCIE_XCAP_VER_1_0:
 		aprint_normal("1.0");
 		break;
-	case PCI_PCIE_XCAP_VER_2_0:
+	case PCIE_XCAP_VER_2_0:
 		aprint_normal("2.0");
 		break;
 	default:
 		aprint_normal_dev(self,
 		    "version unsupported (0x%" PRIxMAX ")\n",
-		    __SHIFTOUT(reg, PCI_PCIE_XCAP_VER_MASK));
+		    __SHIFTOUT(reg, PCIE_XCAP_VER_MASK));
 		return;
 	}
 	aprint_normal(" <");
-	switch (reg & PCI_PCIE_XCAP_TYPE_MASK) {
-	case PCI_PCIE_XCAP_TYPE_PCIE_DEV:
+	switch (reg & PCIE_XCAP_TYPE_MASK) {
+	case PCIE_XCAP_TYPE_PCIE_DEV:
 		aprint_normal("PCI-E Endpoint device");
 		break;
-	case PCI_PCIE_XCAP_TYPE_PCI_DEV:
+	case PCIE_XCAP_TYPE_PCI_DEV:
 		aprint_normal("Legacy PCI-E Endpoint device");
 		break;
-	case PCI_PCIE_XCAP_TYPE_ROOT:
+	case PCIE_XCAP_TYPE_ROOT:
 		aprint_normal("Root Port of PCI-E Root Complex");
 		break;
-	case PCI_PCIE_XCAP_TYPE_UP:
+	case PCIE_XCAP_TYPE_UP:
 		aprint_normal("Upstream Port of PCI-E Switch");
 		break;
-	case PCI_PCIE_XCAP_TYPE_DOWN:
+	case PCIE_XCAP_TYPE_DOWN:
 		aprint_normal("Downstream Port of PCI-E Switch");
 		break;
-	case PCI_PCIE_XCAP_TYPE_PCIE2PCI:
+	case PCIE_XCAP_TYPE_PCIE2PCI:
 		aprint_normal("PCI-E to PCI/PCI-X Bridge");
 		break;
-	case PCI_PCIE_XCAP_TYPE_PCI2PCIE:
+	case PCIE_XCAP_TYPE_PCI2PCIE:
 		aprint_normal("PCI/PCI-X to PCI-E Bridge");
 		break;
 	default:
 		aprint_normal("Device/Port Type 0x%" PRIxMAX,
-		    __SHIFTOUT(reg, PCI_PCIE_XCAP_TYPE_MASK));
+		    __SHIFTOUT(reg, PCIE_XCAP_TYPE_MASK));
 		break;
 	}
 
-	switch (reg & PCI_PCIE_XCAP_TYPE_MASK) {
-	case PCI_PCIE_XCAP_TYPE_ROOT:
-	case PCI_PCIE_XCAP_TYPE_DOWN:
-	case PCI_PCIE_XCAP_TYPE_PCI2PCIE:
+	switch (reg & PCIE_XCAP_TYPE_MASK) {
+	case PCIE_XCAP_TYPE_ROOT:
+	case PCIE_XCAP_TYPE_DOWN:
+	case PCIE_XCAP_TYPE_PCI2PCIE:
 		reg = pci_conf_read(sc->sc_pc, sc->sc_tag, off + 0x0c);
 		u_int mlw = (reg >> 4) & 0x1f;
 		u_int mls = (reg >> 0) & 0x0f;
@@ -162,12 +162,12 @@ ppb_fix_pcie(device_t self)
 		break;
 	}
 
-	reg = pci_conf_read(sc->sc_pc, sc->sc_tag, off + PCI_PCIE_SLCSR);
-	if (reg & PCI_PCIE_SLCSR_NOTIFY_MASK) {
+	reg = pci_conf_read(sc->sc_pc, sc->sc_tag, off + PCIE_SLCSR);
+	if (reg & PCIE_SLCSR_NOTIFY_MASK) {
 		aprint_debug_dev(self, "disabling notification events\n");
-		reg &= ~PCI_PCIE_SLCSR_NOTIFY_MASK;
+		reg &= ~PCIE_SLCSR_NOTIFY_MASK;
 		pci_conf_write(sc->sc_pc, sc->sc_tag,
-		    off + PCI_PCIE_SLCSR, reg);
+		    off + PCIE_SLCSR, reg);
 	}
 }
 

Reply via email to