mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-16 13:33:19 +08:00
Update to FreeBSD head 2018-06-01
Git mirror commit fb63610a69b0eb7f69a201ba05c4c1a7a2739cf9. Update #3472.
This commit is contained in:
@@ -2547,6 +2547,22 @@ pcib_enable_ari(struct pcib_softc *sc, uint32_t pcie_pos)
|
||||
int
|
||||
pcib_maxslots(device_t dev)
|
||||
{
|
||||
#if !defined(__amd64__) && !defined(__i386__)
|
||||
uint32_t pcie_pos;
|
||||
uint16_t val;
|
||||
|
||||
/*
|
||||
* If this is a PCIe rootport or downstream switch port, there's only
|
||||
* one slot permitted.
|
||||
*/
|
||||
if (pci_find_cap(dev, PCIY_EXPRESS, &pcie_pos) == 0) {
|
||||
val = pci_read_config(dev, pcie_pos + PCIER_FLAGS, 2);
|
||||
val &= PCIEM_FLAGS_TYPE;
|
||||
if (val == PCIEM_TYPE_ROOT_PORT ||
|
||||
val == PCIEM_TYPE_DOWNSTREAM_PORT)
|
||||
return (0);
|
||||
}
|
||||
#endif
|
||||
return (PCI_SLOTMAX);
|
||||
}
|
||||
|
||||
@@ -2560,7 +2576,7 @@ pcib_ari_maxslots(device_t dev)
|
||||
if (sc->flags & PCIB_ENABLE_ARI)
|
||||
return (PCIE_ARI_SLOTMAX);
|
||||
else
|
||||
return (PCI_SLOTMAX);
|
||||
return (pcib_maxslots(dev));
|
||||
}
|
||||
|
||||
static int
|
||||
|
Reference in New Issue
Block a user