Module Name:    src
Committed By:   msaitoh
Date:           Fri May 23 19:31:23 UTC 2014

Modified Files:
        src/sys/dev/pci: pci_subr.c

Log Message:
No functional change:
- KNF
- Sort in PCI capability ID order.
- Add comments.


To generate a diff of this commit:
cvs rdiff -u -r1.114 -r1.115 src/sys/dev/pci/pci_subr.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.114 src/sys/dev/pci/pci_subr.c:1.115
--- src/sys/dev/pci/pci_subr.c:1.114	Fri May 23 18:32:13 2014
+++ src/sys/dev/pci/pci_subr.c	Fri May 23 19:31:23 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: pci_subr.c,v 1.114 2014/05/23 18:32:13 msaitoh Exp $	*/
+/*	$NetBSD: pci_subr.c,v 1.115 2014/05/23 19:31:23 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.114 2014/05/23 18:32:13 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pci_subr.c,v 1.115 2014/05/23 19:31:23 msaitoh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_pci.h"
@@ -148,14 +148,14 @@ static const struct pci_class pci_subcla
 };
 
 static const struct pci_class pci_subclass_communications[] = {
-	{ "serial",		PCI_SUBCLASS_COMMUNICATIONS_SERIAL,	NULL, },
-	{ "parallel",		PCI_SUBCLASS_COMMUNICATIONS_PARALLEL,	NULL, },
-	{ "multi-port serial",	PCI_SUBCLASS_COMMUNICATIONS_MPSERIAL,	NULL, },
-	{ "modem",		PCI_SUBCLASS_COMMUNICATIONS_MODEM,	NULL, },
-	{ "GPIB",		PCI_SUBCLASS_COMMUNICATIONS_GPIB,	NULL, },
-	{ "smartcard",		PCI_SUBCLASS_COMMUNICATIONS_SMARTCARD,	NULL, },
-	{ "miscellaneous",	PCI_SUBCLASS_COMMUNICATIONS_MISC,	NULL, },
-	{ NULL,			0,					NULL, },
+	{ "serial",		PCI_SUBCLASS_COMMUNICATIONS_SERIAL,	NULL,},
+	{ "parallel",		PCI_SUBCLASS_COMMUNICATIONS_PARALLEL,	NULL,},
+	{ "multi-port serial",	PCI_SUBCLASS_COMMUNICATIONS_MPSERIAL,	NULL,},
+	{ "modem",		PCI_SUBCLASS_COMMUNICATIONS_MODEM,	NULL,},
+	{ "GPIB",		PCI_SUBCLASS_COMMUNICATIONS_GPIB,	NULL,},
+	{ "smartcard",		PCI_SUBCLASS_COMMUNICATIONS_SMARTCARD,	NULL,},
+	{ "miscellaneous",	PCI_SUBCLASS_COMMUNICATIONS_MISC,	NULL,},
+	{ NULL,			0,					NULL,},
 };
 
 static const struct pci_class pci_subclass_system[] = {
@@ -326,14 +326,18 @@ int pciverbose_loaded = 0;
 /*
  * Routine to load the pciverbose kernel module as needed
  */
-void pci_load_verbose(void)
+void
+pci_load_verbose(void)
 {
+
 	if (pciverbose_loaded == 0)
 		module_autoload("pciverbose", MODULE_CLASS_MISC);
 }
 
-const char *pci_findvendor_stub(pcireg_t id_reg)
+const char *
+pci_findvendor_stub(pcireg_t id_reg)
 {
+
 	pci_load_verbose();
 	if (pciverbose_loaded)
 		return pci_findvendor(id_reg);
@@ -341,8 +345,10 @@ const char *pci_findvendor_stub(pcireg_t
 		return NULL;
 }
 
-const char *pci_findproduct_stub(pcireg_t id_reg)
+const char *
+pci_findproduct_stub(pcireg_t id_reg)
 {
+
 	pci_load_verbose();
 	if (pciverbose_loaded)
 		return pci_findproduct(id_reg);
@@ -505,15 +511,19 @@ pci_conf_print_common(
 	onoff("Parity error checking", rval, PCI_COMMAND_PARITY_ENABLE);
 	onoff("Address/data stepping", rval, PCI_COMMAND_STEPPING_ENABLE);
 	onoff("System error (SERR)", rval, PCI_COMMAND_SERR_ENABLE);
-	onoff("Fast back-to-back transactions", rval, PCI_COMMAND_BACKTOBACK_ENABLE);
+	onoff("Fast back-to-back transactions", rval,
+	    PCI_COMMAND_BACKTOBACK_ENABLE);
 	onoff("Interrupt disable", rval, PCI_COMMAND_INTERRUPT_DISABLE);
 
 	printf("    Status register: 0x%04x\n", (rval >> 16) & 0xffff);
-	onoff2("Interrupt status", rval, PCI_STATUS_INT_STATUS, "active", "inactive");
+	onoff2("Interrupt status", rval, PCI_STATUS_INT_STATUS, "active",
+	    "inactive");
 	onoff("Capability List support", rval, PCI_STATUS_CAPLIST_SUPPORT);
 	onoff("66 MHz capable", rval, PCI_STATUS_66MHZ_SUPPORT);
-	onoff("User Definable Features (UDF) support", rval, PCI_STATUS_UDF_SUPPORT);
-	onoff("Fast back-to-back capable", rval, PCI_STATUS_BACKTOBACK_SUPPORT);
+	onoff("User Definable Features (UDF) support", rval,
+	    PCI_STATUS_UDF_SUPPORT);
+	onoff("Fast back-to-back capable", rval,
+	    PCI_STATUS_BACKTOBACK_SUPPORT);
 	onoff("Data parity error detected", rval, PCI_STATUS_PARITY_ERROR);
 
 	printf("      DEVSEL timing: ");
@@ -533,8 +543,10 @@ pci_conf_print_common(
 	}
 	printf(" (0x%x)\n", (rval & PCI_STATUS_DEVSEL_MASK) >> 25);
 
-	onoff("Slave signaled Target Abort", rval, PCI_STATUS_TARGET_TARGET_ABORT);
-	onoff("Master received Target Abort", rval, PCI_STATUS_MASTER_TARGET_ABORT);
+	onoff("Slave signaled Target Abort", rval,
+	    PCI_STATUS_TARGET_TARGET_ABORT);
+	onoff("Master received Target Abort", rval,
+	    PCI_STATUS_MASTER_TARGET_ABORT);
 	onoff("Master received Master Abort", rval, PCI_STATUS_MASTER_ABORT);
 	onoff("Asserted System Error (SERR)", rval, PCI_STATUS_SPECIAL_ERROR);
 	onoff("Parity error detected", rval, PCI_STATUS_PARITY_DETECT);
@@ -557,7 +569,8 @@ pci_conf_print_common(
 			printf("    Subclass Name: %s (0x%02x)\n",
 			    subclassp->name, PCI_SUBCLASS(rval));
 		else
-			printf("    Subclass ID: 0x%02x\n", PCI_SUBCLASS(rval));
+			printf("    Subclass ID: 0x%02x\n",
+			    PCI_SUBCLASS(rval));
 	} else {
 		printf("    Class ID: 0x%02x\n", PCI_CLASS(rval));
 		printf("    Subclass ID: 0x%02x\n", PCI_SUBCLASS(rval));
@@ -744,73 +757,120 @@ pci_conf_print_regs(const pcireg_t *regs
 		printf("\n");
 }
 
-static void
-pci_conf_print_type0(
-#ifdef _KERNEL
-    pci_chipset_tag_t pc, pcitag_t tag,
-#endif
-    const pcireg_t *regs
-#ifdef _KERNEL
-    , int sizebars
-#endif
-    )
+static const char *
+pci_conf_print_pcipm_cap_aux(uint16_t caps)
 {
-	int off, width;
-	pcireg_t rval;
 
-	for (off = PCI_MAPREG_START; off < PCI_MAPREG_END; off += width) {
-#ifdef _KERNEL
-		width = pci_conf_print_bar(pc, tag, regs, off, NULL, sizebars);
-#else
-		width = pci_conf_print_bar(regs, off, NULL);
-#endif
+	switch ((caps >> 6) & 7) {
+	case 0:	return "self-powered";
+	case 1: return "55 mA";
+	case 2: return "100 mA";
+	case 3: return "160 mA";
+	case 4: return "220 mA";
+	case 5: return "270 mA";
+	case 6: return "320 mA";
+	case 7:
+	default: return "375 mA";
 	}
+}
 
-	printf("    Cardbus CIS Pointer: 0x%08x\n", regs[o2i(0x28)]);
+static const char *
+pci_conf_print_pcipm_cap_pmrev(uint8_t val)
+{
+	static const char unk[] = "unknown";
+	static const char *pmrev[8] = {
+		unk, "1.0", "1.1", "1.2", unk, unk, unk, unk
+	};
+	if (val > 7)
+		return unk;
+	return pmrev[val];
+}
 
-	rval = regs[o2i(PCI_SUBSYS_ID_REG)];
-	printf("    Subsystem vendor ID: 0x%04x\n", PCI_VENDOR(rval));
-	printf("    Subsystem ID: 0x%04x\n", PCI_PRODUCT(rval));
+static void
+pci_conf_print_pcipm_cap(const pcireg_t *regs, int capoff)
+{
+	uint16_t caps, pmcsr;
+	pcireg_t reg;
 
-	/* XXX */
-	printf("    Expansion ROM Base Address: 0x%08x\n", regs[o2i(0x30)]);
+	caps = regs[o2i(capoff)] >> PCI_PMCR_SHIFT;
+	reg = regs[o2i(capoff + PCI_PMCSR)];
+	pmcsr = reg & 0xffff;
 
-	if (regs[o2i(PCI_COMMAND_STATUS_REG)] & PCI_STATUS_CAPLIST_SUPPORT)
-		printf("    Capability list pointer: 0x%02x\n",
-		    PCI_CAPLIST_PTR(regs[o2i(PCI_CAPLISTPTR_REG)]));
-	else
-		printf("    Reserved @ 0x34: 0x%08x\n", regs[o2i(0x34)]);
+	printf("\n  PCI Power Management Capabilities Register\n");
 
-	printf("    Reserved @ 0x38: 0x%08x\n", regs[o2i(0x38)]);
+	printf("    Capabilities register: 0x%04x\n", caps);
+	printf("      Version: %s\n",
+	    pci_conf_print_pcipm_cap_pmrev(caps & PCI_PMCR_VERSION_MASK));
+	onoff("PME# clock", caps, PCI_PMCR_PME_CLOCK);
+	onoff("Device specific initialization", caps, PCI_PMCR_DSI);
+	printf("      3.3V auxiliary current: %s\n",
+	    pci_conf_print_pcipm_cap_aux(caps));
+	onoff("D1 power management state support", caps, PCI_PMCR_D1SUPP);
+	onoff("D2 power management state support", caps, PCI_PMCR_D2SUPP);
+	printf("      PME# support: 0x%02x\n", caps >> 11);
 
-	rval = regs[o2i(PCI_INTERRUPT_REG)];
-	printf("    Maximum Latency: 0x%02x\n", (rval >> 24) & 0xff);
-	printf("    Minimum Grant: 0x%02x\n", (rval >> 16) & 0xff);
-	printf("    Interrupt pin: 0x%02x ", PCI_INTERRUPT_PIN(rval));
-	switch (PCI_INTERRUPT_PIN(rval)) {
-	case PCI_INTERRUPT_PIN_NONE:
-		printf("(none)");
-		break;
-	case PCI_INTERRUPT_PIN_A:
-		printf("(pin A)");
-		break;
-	case PCI_INTERRUPT_PIN_B:
-		printf("(pin B)");
-		break;
-	case PCI_INTERRUPT_PIN_C:
-		printf("(pin C)");
-		break;
-	case PCI_INTERRUPT_PIN_D:
-		printf("(pin D)");
-		break;
-	default:
-		printf("(? ? ?)");
-		break;
+	printf("    Control/status register: 0x%04x\n", pmcsr);
+	printf("      Power state: D%d\n", pmcsr & PCI_PMCSR_STATE_MASK);
+	onoff("PCI Express reserved", (pmcsr >> 2), 1);
+	onoff("No soft reset", (pmcsr >> 3), 1);
+	printf("      PME# assertion: %sabled\n",
+	    (pmcsr & PCI_PMCSR_PME_EN) ? "en" : "dis");
+	onoff("PME# status", pmcsr, PCI_PMCSR_PME_STS);
+	printf("    Bridge Support Extensions register: 0x%02x\n",
+	    (reg >> 16) & 0xff);
+	onoff("B2/B3 support", reg, PCI_PMCSR_B2B3_SUPPORT);
+	onoff("Bus Power/Clock Control Enable", reg, PCI_PMCSR_BPCC_EN);
+	printf("    Data register: 0x%02x\n", (reg >> 24) & 0xff);
+	
+}
+
+/* XXX pci_conf_print_vpd_cap */
+/* XXX pci_conf_print_slotid_cap */
+
+static void
+pci_conf_print_msi_cap(const pcireg_t *regs, int capoff)
+{
+	uint32_t ctl, mmc, mme;
+
+	regs += o2i(capoff);
+	ctl = *regs++;
+	mmc = __SHIFTOUT(ctl, PCI_MSI_CTL_MMC_MASK);
+	mme = __SHIFTOUT(ctl, PCI_MSI_CTL_MME_MASK);
+
+	printf("\n  PCI Message Signaled Interrupt\n");
+
+	printf("    Message Control register: 0x%04x\n", ctl >> 16);
+	onoff("MSI Enabled", ctl, PCI_MSI_CTL_MSI_ENABLE);
+	printf("      Multiple Message Capable: %s (%d vector%s)\n",
+	    mmc > 0 ? "yes" : "no", 1 << mmc, mmc > 0 ? "s" : "");
+	printf("      Multiple Message Enabled: %s (%d vector%s)\n",
+	    mme > 0 ? "on" : "off", 1 << mme, mme > 0 ? "s" : "");
+	onoff("64 Bit Address Capable", ctl, PCI_MSI_CTL_64BIT_ADDR);
+	onoff("Per-Vector Masking Capable", ctl, PCI_MSI_CTL_PERVEC_MASK);
+	printf("    Message Address %sregister: 0x%08x\n",
+	    ctl & PCI_MSI_CTL_64BIT_ADDR ? "(lower) " : "", *regs++);
+	if (ctl & PCI_MSI_CTL_64BIT_ADDR) {
+		printf("    Message Address %sregister: 0x%08x\n",
+		    "(upper) ", *regs++);
+	}
+	printf("    Message Data register: 0x%08x\n", *regs++);
+	if (ctl & PCI_MSI_CTL_PERVEC_MASK) {
+		printf("    Vector Mask register: 0x%08x\n", *regs++);
+		printf("    Vector Pending register: 0x%08x\n", *regs++);
 	}
-	printf("\n");
-	printf("    Interrupt line: 0x%02x\n", PCI_INTERRUPT_LINE(rval));
 }
 
+/* XXX pci_conf_print_cpci_hostwap_cap */
+/* XXX pci_conf_print_pcix_cap */
+/* XXX pci_conf_print_ldt_cap */
+/* XXX pci_conf_print_vendspec_cap */
+/* XXX pci_conf_print_debugport_cap */
+/* XXX pci_conf_print_cpci_rsrcctl_cap */
+/* XXX pci_conf_print_hotplug_cap */
+/* XXX pci_conf_print_subvendor_cap */
+/* XXX pci_conf_print_agp8_cap */
+/* XXX pci_conf_print_secure_cap */
+
 static void
 pci_print_pcie_L0s_latency(uint32_t val)
 {
@@ -1373,104 +1433,10 @@ pci_conf_print_pcie_cap(const pcireg_t *
 	/* Slot Status 2 */
 }
 
-static const char *
-pci_conf_print_pcipm_cap_aux(uint16_t caps)
-{
-	switch ((caps >> 6) & 7) {
-	case 0:	return "self-powered";
-	case 1: return "55 mA";
-	case 2: return "100 mA";
-	case 3: return "160 mA";
-	case 4: return "220 mA";
-	case 5: return "270 mA";
-	case 6: return "320 mA";
-	case 7:
-	default: return "375 mA";
-	}
-}
-
-static const char *
-pci_conf_print_pcipm_cap_pmrev(uint8_t val)
-{
-	static const char unk[] = "unknown";
-	static const char *pmrev[8] = {
-		unk, "1.0", "1.1", "1.2", unk, unk, unk, unk
-	};
-	if (val > 7)
-		return unk;
-	return pmrev[val];
-}
-
-static void
-pci_conf_print_pcipm_cap(const pcireg_t *regs, int capoff)
-{
-	uint16_t caps, pmcsr;
-	pcireg_t reg;
-
-	caps = regs[o2i(capoff)] >> PCI_PMCR_SHIFT;
-	reg = regs[o2i(capoff + PCI_PMCSR)];
-	pmcsr = reg & 0xffff;
-
-	printf("\n  PCI Power Management Capabilities Register\n");
-
-	printf("    Capabilities register: 0x%04x\n", caps);
-	printf("      Version: %s\n",
-	    pci_conf_print_pcipm_cap_pmrev(caps & PCI_PMCR_VERSION_MASK));
-	onoff("PME# clock", caps, PCI_PMCR_PME_CLOCK);
-	onoff("Device specific initialization", caps, PCI_PMCR_DSI);
-	printf("      3.3V auxiliary current: %s\n",
-	    pci_conf_print_pcipm_cap_aux(caps));
-	onoff("D1 power management state support", caps, PCI_PMCR_D1SUPP);
-	onoff("D2 power management state support", caps, PCI_PMCR_D2SUPP);
-	printf("      PME# support: 0x%02x\n", caps >> 11);
+/* XXX pci_conf_print_msix_cap */
+/* XXX pci_conf_print_sata_cap */
+/* XXX pci_conf_print_pciaf_cap */
 
-	printf("    Control/status register: 0x%04x\n", pmcsr);
-	printf("      Power state: D%d\n", pmcsr & PCI_PMCSR_STATE_MASK);
-	onoff("PCI Express reserved", (pmcsr >> 2), 1);
-	onoff("No soft reset", (pmcsr >> 3), 1);
-	printf("      PME# assertion: %sabled\n",
-	    (pmcsr & PCI_PMCSR_PME_EN) ? "en" : "dis");
-	onoff("PME# status", pmcsr, PCI_PMCSR_PME_STS);
-	printf("    Bridge Support Extensions register: 0x%02x\n",
-	    (reg >> 16) & 0xff);
-	onoff("B2/B3 support", reg, PCI_PMCSR_B2B3_SUPPORT);
-	onoff("Bus Power/Clock Control Enable", reg, PCI_PMCSR_BPCC_EN);
-	printf("    Data register: 0x%02x\n", (reg >> 24) & 0xff);
-	
-}
-
-static void
-pci_conf_print_msi_cap(const pcireg_t *regs, int capoff)
-{
-	uint32_t ctl, mmc, mme;
-
-	regs += o2i(capoff);
-	ctl = *regs++;
-	mmc = __SHIFTOUT(ctl, PCI_MSI_CTL_MMC_MASK);
-	mme = __SHIFTOUT(ctl, PCI_MSI_CTL_MME_MASK);
-
-	printf("\n  PCI Message Signaled Interrupt\n");
-
-	printf("    Message Control register: 0x%04x\n", ctl >> 16);
-	onoff("MSI Enabled", ctl, PCI_MSI_CTL_MSI_ENABLE);
-	printf("      Multiple Message Capable: %s (%d vector%s)\n",
-	    mmc > 0 ? "yes" : "no", 1 << mmc, mmc > 0 ? "s" : "");
-	printf("      Multiple Message Enabled: %s (%d vector%s)\n",
-	    mme > 0 ? "on" : "off", 1 << mme, mme > 0 ? "s" : "");
-	onoff("64 Bit Address Capable", ctl, PCI_MSI_CTL_64BIT_ADDR);
-	onoff("Per-Vector Masking Capable", ctl, PCI_MSI_CTL_PERVEC_MASK);
-	printf("    Message Address %sregister: 0x%08x\n",
-	    ctl & PCI_MSI_CTL_64BIT_ADDR ? "(lower) " : "", *regs++);
-	if (ctl & PCI_MSI_CTL_64BIT_ADDR) {
-		printf("    Message Address %sregister: 0x%08x\n",
-		    "(upper) ", *regs++);
-	}
-	printf("    Message Data register: 0x%08x\n", *regs++);
-	if (ctl & PCI_MSI_CTL_PERVEC_MASK) {
-		printf("    Vector Mask register: 0x%08x\n", *regs++);
-		printf("    Vector Pending register: 0x%08x\n", *regs++);
-	}
-}
 static void
 pci_conf_print_caplist(
 #ifdef _KERNEL
@@ -1561,12 +1527,28 @@ pci_conf_print_caplist(
 		}
 		printf(")\n");
 	}
-	if (msi_off != -1)
-		pci_conf_print_msi_cap(regs, msi_off);
 	if (pcipm_off != -1)
 		pci_conf_print_pcipm_cap(regs, pcipm_off);
+	/* XXX AGP */
+	/* XXX VPD */
+	/* XXX SLOTID */
+	if (msi_off != -1)
+		pci_conf_print_msi_cap(regs, msi_off);
+	/* XXX CPCI_HOTSWAP */
+	/* XXX PCIX */
+	/* XXX LDT */
+	/* XXX VENDSPEC */
+	/* XXX DEBUGPORT */
+	/* XXX CPCI_RSRCCTL */
+	/* XXX HOTPLUG */
+	/* XXX SUBVENDOR */
+	/* XXX AGP8 */
+	/* XXX SECURE */
 	if (pcie_off != -1)
 		pci_conf_print_pcie_cap(regs, pcie_off);
+	/* XXX MSIX */
+	/* XXX SATA */
+	/* XXX PCIAF */
 }
 
 /* Print the Secondary Status Register. */
@@ -1607,6 +1589,73 @@ pci_conf_print_ssr(pcireg_t rval)
 }
 
 static void
+pci_conf_print_type0(
+#ifdef _KERNEL
+    pci_chipset_tag_t pc, pcitag_t tag,
+#endif
+    const pcireg_t *regs
+#ifdef _KERNEL
+    , int sizebars
+#endif
+    )
+{
+	int off, width;
+	pcireg_t rval;
+
+	for (off = PCI_MAPREG_START; off < PCI_MAPREG_END; off += width) {
+#ifdef _KERNEL
+		width = pci_conf_print_bar(pc, tag, regs, off, NULL, sizebars);
+#else
+		width = pci_conf_print_bar(regs, off, NULL);
+#endif
+	}
+
+	printf("    Cardbus CIS Pointer: 0x%08x\n", regs[o2i(0x28)]);
+
+	rval = regs[o2i(PCI_SUBSYS_ID_REG)];
+	printf("    Subsystem vendor ID: 0x%04x\n", PCI_VENDOR(rval));
+	printf("    Subsystem ID: 0x%04x\n", PCI_PRODUCT(rval));
+
+	/* XXX */
+	printf("    Expansion ROM Base Address: 0x%08x\n", regs[o2i(0x30)]);
+
+	if (regs[o2i(PCI_COMMAND_STATUS_REG)] & PCI_STATUS_CAPLIST_SUPPORT)
+		printf("    Capability list pointer: 0x%02x\n",
+		    PCI_CAPLIST_PTR(regs[o2i(PCI_CAPLISTPTR_REG)]));
+	else
+		printf("    Reserved @ 0x34: 0x%08x\n", regs[o2i(0x34)]);
+
+	printf("    Reserved @ 0x38: 0x%08x\n", regs[o2i(0x38)]);
+
+	rval = regs[o2i(PCI_INTERRUPT_REG)];
+	printf("    Maximum Latency: 0x%02x\n", (rval >> 24) & 0xff);
+	printf("    Minimum Grant: 0x%02x\n", (rval >> 16) & 0xff);
+	printf("    Interrupt pin: 0x%02x ", PCI_INTERRUPT_PIN(rval));
+	switch (PCI_INTERRUPT_PIN(rval)) {
+	case PCI_INTERRUPT_PIN_NONE:
+		printf("(none)");
+		break;
+	case PCI_INTERRUPT_PIN_A:
+		printf("(pin A)");
+		break;
+	case PCI_INTERRUPT_PIN_B:
+		printf("(pin B)");
+		break;
+	case PCI_INTERRUPT_PIN_C:
+		printf("(pin C)");
+		break;
+	case PCI_INTERRUPT_PIN_D:
+		printf("(pin D)");
+		break;
+	default:
+		printf("(? ? ?)");
+		break;
+	}
+	printf("\n");
+	printf("    Interrupt line: 0x%02x\n", PCI_INTERRUPT_LINE(rval));
+}
+
+static void
 pci_conf_print_type1(
 #ifdef _KERNEL
     pci_chipset_tag_t pc, pcitag_t tag,
@@ -1727,8 +1776,8 @@ pci_conf_print_type1(
 	}
 	if (pbase < plimit) {
 		if (use_upper == 1)
-			printf("      range:  0x%016" PRIx64 "-0x%016" PRIx64 "\n",
-			    pbase, plimit);
+			printf("      range:  0x%016" PRIx64 "-0x%016" PRIx64
+			    "\n", pbase, plimit);
 		else
 			printf("      range:  0x%08x-0x%08x\n",
 			    (uint32_t)pbase, (uint32_t)plimit);
@@ -1878,7 +1927,8 @@ pci_conf_print_type2(
 	onoff("VGA enable", rval, __BIT(3));
 	onoff("Master abort mode", rval, __BIT(5));
 	onoff("Secondary (CardBus) bus reset", rval, __BIT(6));
-	onoff("Functional interrupts routed by ExCA registers", rval, __BIT(7));
+	onoff("Functional interrupts routed by ExCA registers", rval,
+	    __BIT(7));
 	onoff("Memory window 0 prefetchable", rval, __BIT(8));
 	onoff("Memory window 1 prefetchable", rval, __BIT(9));
 	onoff("Write posting enable", rval, __BIT(10));

Reply via email to