svn commit: r237673 - head/sys/dev/pci
Marius Strobl
marius at FreeBSD.org
Wed Jun 27 22:17:54 UTC 2012
Author: marius
Date: Wed Jun 27 22:17:52 2012
New Revision: 237673
URL: http://svn.freebsd.org/changeset/base/237673
Log:
For subtractively decoding bridges, don't try to grow windows but pass
the request up the tree in order to be on the safe side. Growing windows
in this case would mean to switch resources to positive decoding and
it's unclear how to correctly handle this. At least with ALi/ULi M5249
PCI-PCI bridges, this also just doesn't work out of the box.
Reviewed by: jhb
MFC after: 3 days
Modified:
head/sys/dev/pci/pci_pci.c
Modified: head/sys/dev/pci/pci_pci.c
==============================================================================
--- head/sys/dev/pci/pci_pci.c Wed Jun 27 22:13:40 2012 (r237672)
+++ head/sys/dev/pci/pci_pci.c Wed Jun 27 22:17:52 2012 (r237673)
@@ -1038,7 +1038,7 @@ pcib_alloc_resource(device_t dev, device
case SYS_RES_IOPORT:
r = pcib_suballoc_resource(sc, &sc->io, child, type, rid, start,
end, count, flags);
- if (r != NULL)
+ if (r != NULL || (sc->flags & PCIB_SUBTRACTIVE) != 0)
break;
if (pcib_grow_window(sc, &sc->io, type, start, end, count,
flags) == 0)
@@ -1062,7 +1062,7 @@ pcib_alloc_resource(device_t dev, device
}
r = pcib_suballoc_resource(sc, &sc->mem, child, type, rid,
start, end, count, flags);
- if (r != NULL)
+ if (r != NULL || (sc->flags & PCIB_SUBTRACTIVE) != 0)
break;
if (flags & RF_PREFETCHABLE) {
if (pcib_grow_window(sc, &sc->pmem, type, start, end,
More information about the svn-src-all
mailing list