Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-8]: src/sys/dev/pci Pull up the following revisions, requested by...
details: https://anonhg.NetBSD.org/src/rev/023b637d276a
branches: netbsd-8
changeset: 454742:023b637d276a
user: martin <martin%NetBSD.org@localhost>
date: Thu Sep 26 18:14:54 2019 +0000
description:
Pull up the following revisions, requested by msaitoh in ticket #1388:
sys/dev/pci/pcireg.h 1.147 via patch
sys/dev/pci/pci_subr.c 1.212, 1.215-1.217 via patch
- Change fast back-to-back "capable" to "enable" in pci_subr.c.
- Print Primary Discard Timer, Secondary Discard Timer, Discard
Timer Status and Discard Timer SERR# Enable bit in pci_subr.c.
- Print some DPC register values not with %04x but with %08x because
those are 32bit.
- Remove whitespace for consistency.
- Use macro.
- Whitespace fixes.
diffstat:
sys/dev/pci/pci_subr.c | 81 +++++++++++++++++++++++++++----------------------
sys/dev/pci/pcireg.h | 4 +-
2 files changed, 47 insertions(+), 38 deletions(-)
diffs (288 lines):
diff -r abb392fba505 -r 023b637d276a sys/dev/pci/pci_subr.c
--- a/sys/dev/pci/pci_subr.c Thu Sep 26 18:11:02 2019 +0000
+++ b/sys/dev/pci/pci_subr.c Thu Sep 26 18:14:54 2019 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pci_subr.c,v 1.183.2.11 2019/07/17 15:55:31 martin Exp $ */
+/* $NetBSD: pci_subr.c,v 1.183.2.12 2019/09/26 18:14:54 martin 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.183.2.11 2019/07/17 15:55:31 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pci_subr.c,v 1.183.2.12 2019/09/26 18:14:54 martin Exp $");
#ifdef _KERNEL_OPT
#include "opt_pci.h"
@@ -209,7 +209,7 @@
/* PCI bridge programming interface */
static const struct pci_class pci_interface_pcibridge[] = {
- { "", PCI_INTERFACE_BRIDGE_PCI_PCI, NULL, },
+ { "", PCI_INTERFACE_BRIDGE_PCI_PCI, NULL, },
{ "subtractive decode", PCI_INTERFACE_BRIDGE_PCI_SUBDEC, NULL, },
{ NULL, 0, NULL, },
};
@@ -223,8 +223,8 @@
/* Advanced Switching programming interface */
static const struct pci_class pci_interface_advsw[] = {
- { "custom interface", PCI_INTERFACE_ADVSW_CUSTOM, NULL, },
- { "ASI-SIG", PCI_INTERFACE_ADVSW_ASISIG, NULL, },
+ { "custom interface", PCI_INTERFACE_ADVSW_CUSTOM, NULL, },
+ { "ASI-SIG", PCI_INTERFACE_ADVSW_ASISIG, NULL, },
{ NULL, 0, NULL, },
};
@@ -304,7 +304,7 @@
/*
* Class 0x08.
* Base system peripheral.
- */
+ */
/* PIC programming interface */
static const struct pci_class pci_interface_pic[] = {
@@ -429,10 +429,10 @@
/* IPMI programming interface */
static const struct pci_class pci_interface_ipmi[] = {
- { "SMIC", PCI_INTERFACE_IPMI_SMIC, NULL,},
- { "keyboard", PCI_INTERFACE_IPMI_KBD, NULL,},
- { "block transfer", PCI_INTERFACE_IPMI_BLOCKXFER, NULL,},
- { NULL, 0, NULL,},
+ { "SMIC", PCI_INTERFACE_IPMI_SMIC, NULL, },
+ { "keyboard", PCI_INTERFACE_IPMI_KBD, NULL, },
+ { "block transfer", PCI_INTERFACE_IPMI_BLOCKXFER, NULL, },
+ { NULL, 0, NULL, },
};
/* Subclasses */
@@ -478,8 +478,8 @@
/* Intelligent IO programming interface */
static const struct pci_class pci_interface_i2o[] = {
- { "FIFO at offset 0x40", PCI_INTERFACE_I2O_FIFOAT40, NULL,},
- { NULL, 0, NULL,},
+ { "FIFO at offset 0x40", PCI_INTERFACE_I2O_FIFOAT40, NULL, },
+ { NULL, 0, NULL, },
};
/* Subclasses */
@@ -494,9 +494,9 @@
* Satellite communication controller.
*/
static const struct pci_class pci_subclass_satcom[] = {
- { "TV", PCI_SUBCLASS_SATCOM_TV, NULL, },
- { "audio", PCI_SUBCLASS_SATCOM_AUDIO, NULL, },
- { "voice", PCI_SUBCLASS_SATCOM_VOICE, NULL, },
+ { "TV", PCI_SUBCLASS_SATCOM_TV, NULL, },
+ { "audio", PCI_SUBCLASS_SATCOM_AUDIO, NULL, },
+ { "voice", PCI_SUBCLASS_SATCOM_VOICE, NULL, },
{ "data", PCI_SUBCLASS_SATCOM_DATA, NULL, },
{ "miscellaneous", PCI_SUBCLASS_SATCOM_MISC, NULL, },
{ NULL, 0, NULL, },
@@ -507,9 +507,9 @@
* Encryption/Decryption controller.
*/
static const struct pci_class pci_subclass_crypto[] = {
- { "network/computing", PCI_SUBCLASS_CRYPTO_NETCOMP, NULL, },
+ { "network/computing", PCI_SUBCLASS_CRYPTO_NETCOMP, NULL, },
{ "entertainment", PCI_SUBCLASS_CRYPTO_ENTERTAINMENT, NULL,},
- { "miscellaneous", PCI_SUBCLASS_CRYPTO_MISC, NULL, },
+ { "miscellaneous", PCI_SUBCLASS_CRYPTO_MISC, NULL, },
{ NULL, 0, NULL, },
};
@@ -585,7 +585,7 @@
* a positive value if the dest buffer would have overflowed.
*/
-static int __printflike(3,4)
+static int __printflike(3, 4)
snappendf(char **dest, size_t *len, const char * restrict fmt, ...)
{
va_list ap;
@@ -609,7 +609,7 @@
/* Update dest & len to point at trailing NUL */
*dest += count;
*len -= count;
-
+
return 0;
}
@@ -1285,7 +1285,7 @@
printf("PCI-X 266 (Mode 2)\n");
else
printf("PCI-X 533 (Mode 2)\n");
-
+
printf(" Error protection: %s\n", (num <= 3) ? "parity" : "ECC");
switch (num & 0x03) {
default:
@@ -1524,7 +1524,7 @@
reg = regs[o2i(capoff + PCI_CAP_SUBSYS_ID)];
printf("\n Subsystem ID Capability Register\n");
- printf(" Subsystem ID : 0x%08x\n", reg);
+ printf(" Subsystem ID: 0x%08x\n", reg);
}
/* XXX pci_conf_print_agp8_cap */
@@ -1564,16 +1564,16 @@
onoff("IOMMU Miscellaneous Information Register 1", reg,
PCI_SECURE_CAP_EXT);
havemisc1 = reg & PCI_SECURE_CAP_EXT;
-
+
reg = regs[o2i(capoff + PCI_SECURE_IOMMU_BAL)];
printf(" Base Address Low Register: 0x%08x\n", reg);
onoff("Enable", reg, PCI_SECURE_IOMMU_BAL_EN);
reg2 = regs[o2i(capoff + PCI_SECURE_IOMMU_BAH)];
printf(" Base Address High Register: 0x%08x\n", reg2);
- printf(" Base Address : 0x%016" PRIx64 "\n",
+ printf(" Base Address: 0x%016" PRIx64 "\n",
((uint64_t)reg2 << 32)
| (reg & (PCI_SECURE_IOMMU_BAL_H | PCI_SECURE_IOMMU_BAL_L)));
-
+
reg = regs[o2i(capoff + PCI_SECURE_IOMMU_RANGE)];
printf(" IOMMU Range Register: 0x%08x\n", reg);
printf(" HyperTransport UnitID: 0x%02x\n",
@@ -1607,7 +1607,7 @@
if (!havemisc1)
return;
-
+
reg = regs[o2i(capoff + PCI_SECURE_IOMMU_MISC1)];
printf(" Miscellaneous Information Register 1: 0x%08x\n", reg);
printf(" MSI Message number (GA): 0x%02x\n",
@@ -1985,7 +1985,7 @@
if (check_slot == true) {
pcireg_t slcap;
-
+
/* Slot Capability Register */
slcap = reg = regs[o2i(capoff + PCIE_SLCAP)];
printf(" Slot Capability Register: 0x%08x\n", reg);
@@ -2146,7 +2146,6 @@
default:
printf("(reserved value)\n");
break;
-
}
printf(" LN System CLS: ");
switch (__SHIFTOUT(reg, PCIE_DCAP2_LNSYSCLS)) {
@@ -2340,7 +2339,7 @@
reg = regs[o2i(capoff + PCI_MSIX_CTL)];
printf(" Message Control register: 0x%04x\n",
(reg >> 16) & 0xff);
- printf(" Table Size: %d\n",PCI_MSIX_CTL_TBLSIZE(reg));
+ printf(" Table Size: %d\n", PCI_MSIX_CTL_TBLSIZE(reg));
onoff("Function Mask", reg, PCI_MSIX_CTL_FUNCMASK);
onoff("MSI-X Enable", reg, PCI_MSIX_CTL_ENABLE);
reg = regs[o2i(capoff + PCI_MSIX_TBLOFFSET)];
@@ -2517,14 +2516,14 @@
printf("Reserved\n");
break;
}
-
+
printf(" Primary Properties: ");
pci_conf_print_ea_cap_prop(__SHIFTOUT(reg, PCI_EA_PP));
printf(" Secondary Properties: ");
pci_conf_print_ea_cap_prop(__SHIFTOUT(reg, PCI_EA_SP));
onoff("Writable", reg, PCI_EA_W);
onoff("Enable for this entry", reg, PCI_EA_E);
-
+
if (entry_size == 0) {
entoff += 4;
continue;
@@ -2577,7 +2576,7 @@
{ PCI_CAP_AGP, "AGP", pci_conf_print_agp_cap },
{ PCI_CAP_VPD, "VPD", NULL },
{ PCI_CAP_SLOTID, "SlotID", NULL },
- { PCI_CAP_MSI, "MSI", pci_conf_print_msi_cap },
+ { PCI_CAP_MSI, "MSI", pci_conf_print_msi_cap },
{ PCI_CAP_CPCI_HOTSWAP, "CompactPCI Hot-swapping", NULL },
{ PCI_CAP_PCIX, "PCI-X", pci_conf_print_pcix_cap },
{ PCI_CAP_LDT, "HyperTransport", pci_conf_print_ht_cap },
@@ -2620,7 +2619,7 @@
default:
return 0;
}
-
+
for (off = PCI_CAPLIST_PTR(regs[o2i(capptr)]);
off != 0; off = PCI_CAPLIST_NEXT(rval)) {
rval = regs[o2i(off)];
@@ -3150,7 +3149,7 @@
reg = regs[o2i(extcapoff + PCI_RCLINK_DCL_LINKDESC(i))];
printf(" Link Entry %d:\n", i + 1);
printf(" Link Description Register: 0x%08x\n", reg);
- onoff(" Link Valid", reg,PCI_RCLINK_DCL_LINKDESC_LVALID);
+ onoff(" Link Valid", reg, PCI_RCLINK_DCL_LINKDESC_LVALID);
linktype = reg & PCI_RCLINK_DCL_LINKDESC_LTYPE;
onoff2(" Link Type", reg, PCI_RCLINK_DCL_LINKDESC_LTYPE,
"Configuration Space", "Memory-Mapped Space");
@@ -3558,7 +3557,7 @@
pcireg_t cap, ctl;
unsigned int bars, i, n;
char pbuf[MEM_PBUFSIZE];
-
+
printf("\n Resizable BAR\n");
/* Get Number of Resizable BARs */
@@ -4609,8 +4608,8 @@
else
printf(" Reserved @ 0x34: 0x%08x\n", regs[o2i(0x34)]);
- /* XXX */
- printf(" Expansion ROM Base Address: 0x%08x\n", regs[o2i(0x38)]);
+ printf(" Expansion ROM Base Address: 0x%08x\n",
+ regs[o2i(PCI_BRIDGE_EXPROMADDR_REG)]);
rval = regs[o2i(PCI_INTERRUPT_REG)];
printf(" Interrupt line: 0x%02x\n",
@@ -4654,7 +4653,15 @@
onoff("VGA 16bit enable", rval, PCI_BRIDGE_CONTROL_VGA16);
onoff("Master abort reporting", rval, PCI_BRIDGE_CONTROL_MABRT);
onoff("Secondary bus reset", rval, PCI_BRIDGE_CONTROL_SECBR);
- onoff("Fast back-to-back capable", rval,PCI_BRIDGE_CONTROL_SECFASTB2B);
+ onoff("Fast back-to-back enable", rval, PCI_BRIDGE_CONTROL_SECFASTB2B);
+ onoff("Primary Discard Timer", rval,
+ PCI_BRIDGE_CONTROL_PRI_DISC_TIMER);
+ onoff("Secondary Discard Timer",
+ rval, PCI_BRIDGE_CONTROL_SEC_DISC_TIMER);
+ onoff("Discard Timer Status", rval,
+ PCI_BRIDGE_CONTROL_DISC_TIMER_STAT);
+ onoff("Discard Timer SERR# Enable", rval,
+ PCI_BRIDGE_CONTROL_DISC_TIMER_SERR);
}
static void
diff -r abb392fba505 -r 023b637d276a sys/dev/pci/pcireg.h
--- a/sys/dev/pci/pcireg.h Thu Sep 26 18:11:02 2019 +0000
+++ b/sys/dev/pci/pcireg.h Thu Sep 26 18:14:54 2019 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pcireg.h,v 1.130.2.8 2018/12/04 11:29:41 martin Exp $ */
+/* $NetBSD: pcireg.h,v 1.130.2.9 2019/09/26 18:14:54 martin Exp $ */
/*
* Copyright (c) 1995, 1996, 1999, 2000
@@ -1336,6 +1336,8 @@
#define PCI_BRIDGE_IOHIGH_BASE_MASK 0xffff
#define PCI_BRIDGE_IOHIGH_LIMIT_MASK 0xffff
+#define PCI_BRIDGE_EXPROMADDR_REG 0x38
+
#define PCI_BRIDGE_CONTROL_REG 0x3c
#define PCI_BRIDGE_CONTROL_SHIFT 16
#define PCI_BRIDGE_CONTROL_MASK 0xffff
Home |
Main Index |
Thread Index |
Old Index