Module Name:    src
Committed By:   msaitoh
Date:           Mon Nov 16 09:10:58 UTC 2015

Modified Files:
        src/sys/dev/pci: pci_subr.c pcireg.h ppb.c

Log Message:
Define PCIE_XCAP_{VER,TYPE}(x) and use them.


To generate a diff of this commit:
cvs rdiff -u -r1.142 -r1.143 src/sys/dev/pci/pci_subr.c
cvs rdiff -u -r1.108 -r1.109 src/sys/dev/pci/pcireg.h
cvs rdiff -u -r1.54 -r1.55 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/pci_subr.c
diff -u src/sys/dev/pci/pci_subr.c:1.142 src/sys/dev/pci/pci_subr.c:1.143
--- src/sys/dev/pci/pci_subr.c:1.142	Fri Nov 13 03:56:44 2015
+++ src/sys/dev/pci/pci_subr.c	Mon Nov 16 09:10:58 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: pci_subr.c,v 1.142 2015/11/13 03:56:44 msaitoh Exp $	*/
+/*	$NetBSD: pci_subr.c,v 1.143 2015/11/16 09:10:58 msaitoh Exp $	*/
 
 /*
  * Copyright (c) 1997 Zubin D. Dittia.  All rights reserved.
@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pci_subr.c,v 1.142 2015/11/13 03:56:44 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pci_subr.c,v 1.143 2015/11/16 09:10:58 msaitoh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_pci.h"
@@ -2185,7 +2185,7 @@ pci_conf_print_aer_cap(const pcireg_t *r
 
 	if (pci_conf_find_cap(regs, capoff, PCI_CAP_PCIEXPRESS, &pcie_capoff)) {
 		reg = regs[o2i(pcie_capoff)];
-		pcie_devtype = reg & PCIE_XCAP_TYPE_MASK;
+		pcie_devtype = PCIE_XCAP_TYPE(reg);
 		/* PCIe DW9 to DW14 is for PCIe 2.0 and newer */
 		if (__SHIFTOUT(reg, PCIE_XCAP_VER_MASK) >= 2) {
 			reg = regs[o2i(pcie_capoff + PCIE_DCAP2)];

Index: src/sys/dev/pci/pcireg.h
diff -u src/sys/dev/pci/pcireg.h:1.108 src/sys/dev/pci/pcireg.h:1.109
--- src/sys/dev/pci/pcireg.h:1.108	Thu Nov 12 12:17:59 2015
+++ src/sys/dev/pci/pcireg.h	Mon Nov 16 09:10:58 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: pcireg.h,v 1.108 2015/11/12 12:17:59 msaitoh Exp $	*/
+/*	$NetBSD: pcireg.h,v 1.109 2015/11/16 09:10:58 msaitoh Exp $	*/
 
 /*
  * Copyright (c) 1995, 1996, 1999, 2000
@@ -871,18 +871,20 @@ typedef u_int8_t pci_revision_t;
 #define	PCIE_XCAP_MASK		__BITS(31, 16)
 /* Capability Version */
 #define PCIE_XCAP_VER_MASK	__SHIFTIN(__BITS(3, 0), PCIE_XCAP_MASK)
-#define	 PCIE_XCAP_VER_1	__SHIFTIN(1, PCIE_XCAP_VER_MASK)
-#define	 PCIE_XCAP_VER_2	__SHIFTIN(2, PCIE_XCAP_VER_MASK)
+#define PCIE_XCAP_VER(x)	__SHIFTOUT((x), PCIE_XCAP_VER_MASK)
+#define	 PCIE_XCAP_VER_1		1
+#define	 PCIE_XCAP_VER_2		2
 #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_TYPE(x)	__SHIFTOUT((x), PCIE_XCAP_TYPE_MASK)
+#define	 PCIE_XCAP_TYPE_PCIE_DEV	0x0
+#define	 PCIE_XCAP_TYPE_PCI_DEV		0x1
+#define	 PCIE_XCAP_TYPE_ROOT		0x4
+#define	 PCIE_XCAP_TYPE_UP		0x5
+#define	 PCIE_XCAP_TYPE_DOWN		0x6
+#define	 PCIE_XCAP_TYPE_PCIE2PCI	0x7
+#define	 PCIE_XCAP_TYPE_PCI2PCIE	0x8
+#define	 PCIE_XCAP_TYPE_ROOT_INTEP	0x9
+#define	 PCIE_XCAP_TYPE_ROOT_EVNTC	0xa
 #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 */

Index: src/sys/dev/pci/ppb.c
diff -u src/sys/dev/pci/ppb.c:1.54 src/sys/dev/pci/ppb.c:1.55
--- src/sys/dev/pci/ppb.c:1.54	Wed Sep 24 10:57:03 2014
+++ src/sys/dev/pci/ppb.c	Mon Nov 16 09:10:58 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ppb.c,v 1.54 2014/09/24 10:57:03 msaitoh Exp $	*/
+/*	$NetBSD: ppb.c,v 1.55 2015/11/16 09:10:58 msaitoh 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.54 2014/09/24 10:57:03 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ppb.c,v 1.55 2015/11/16 09:10:58 msaitoh Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -102,14 +102,16 @@ ppb_fix_pcie(device_t self)
 {
 	struct ppb_softc *sc = device_private(self);
 	pcireg_t reg;
-	int off;
+	int off, capversion, devtype;
 
 	if (!pci_get_capability(sc->sc_pc, sc->sc_tag, PCI_CAP_PCIEXPRESS,
 				&off, &reg))
 		return; /* Not a PCIe device */
 
+	capversion = PCIE_XCAP_VER(reg);
+	devtype = PCIE_XCAP_TYPE(reg);
 	aprint_normal_dev(self, "PCI Express capability version ");
-	switch (reg & PCIE_XCAP_VER_MASK) {
+	switch (capversion) {
 	case PCIE_XCAP_VER_1:
 		aprint_normal("1");
 		break;
@@ -117,13 +119,11 @@ ppb_fix_pcie(device_t self)
 		aprint_normal("2");
 		break;
 	default:
-		aprint_normal_dev(self,
-		    "unsupported (0x%" PRIxMAX ")\n",
-		    __SHIFTOUT(reg, PCIE_XCAP_VER_MASK));
+		aprint_normal_dev(self, "unsupported (%d)\n", capversion);
 		return;
 	}
 	aprint_normal(" <");
-	switch (reg & PCIE_XCAP_TYPE_MASK) {
+	switch (devtype) {
 	case PCIE_XCAP_TYPE_PCIE_DEV:
 		aprint_normal("PCI-E Endpoint device");
 		break;
@@ -146,12 +146,11 @@ ppb_fix_pcie(device_t self)
 		aprint_normal("PCI/PCI-X to PCI-E Bridge");
 		break;
 	default:
-		aprint_normal("Device/Port Type 0x%" PRIxMAX,
-		    __SHIFTOUT(reg, PCIE_XCAP_TYPE_MASK));
+		aprint_normal("Device/Port Type %x", devtype);
 		break;
 	}
 
-	switch (reg & PCIE_XCAP_TYPE_MASK) {
+	switch (devtype) {
 	case PCIE_XCAP_TYPE_ROOT:
 	case PCIE_XCAP_TYPE_DOWN:
 	case PCIE_XCAP_TYPE_PCI2PCIE:

Reply via email to