Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'pci/bwctrl'

- Disable bwctrl on Intel P45 to avoid a boot hang (Ilpo Järvinen)

* pci/bwctrl:
PCI/bwctrl: Disable BW controller on Intel P45 using a quirk

+14
+3
drivers/pci/pcie/bwctrl.c
··· 250 250 struct pci_dev *port = srv->port; 251 251 int ret; 252 252 253 + if (port->no_bw_notif) 254 + return -ENODEV; 255 + 253 256 /* Can happen if we run out of bus numbers during enumeration. */ 254 257 if (!port->subordinate) 255 258 return -ENODEV;
+10
drivers/pci/quirks.c
··· 1360 1360 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TOSHIBA, 0x605, quirk_transparent_bridge); 1361 1361 1362 1362 /* 1363 + * Enabling Link Bandwidth Management Interrupts (BW notifications) can cause 1364 + * boot hangs on P45. 1365 + */ 1366 + static void quirk_p45_bw_notifications(struct pci_dev *dev) 1367 + { 1368 + dev->no_bw_notif = 1; 1369 + } 1370 + DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e21, quirk_p45_bw_notifications); 1371 + 1372 + /* 1363 1373 * Common misconfiguration of the MediaGX/Geode PCI master that will reduce 1364 1374 * PCI bandwidth from 70MB/s to 25MB/s. See the GXM/GXLV/GX1 datasheets 1365 1375 * found at http://www.national.com/analog for info on what these bits do.
+1
include/linux/pci.h
··· 406 406 user sysfs */ 407 407 unsigned int clear_retrain_link:1; /* Need to clear Retrain Link 408 408 bit manually */ 409 + unsigned int no_bw_notif:1; /* BW notifications may cause issues */ 409 410 unsigned int d3hot_delay; /* D3hot->D0 transition time in ms */ 410 411 unsigned int d3cold_delay; /* D3cold->D0 transition time in ms */ 411 412