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
This commit is contained in:
parent
49ce68b369
commit
a6c8226584
@ -1038,7 +1038,7 @@ pcib_alloc_resource(device_t dev, device_t child, int type, int *rid,
|
||||
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_t child, int type, int *rid,
|
||||
}
|
||||
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,
|
||||
|
Loading…
Reference in New Issue
Block a user