Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/xe/if_xe.c
Show First 20 Lines • Show All 1,978 Lines • ▼ Show 20 Lines | do { | ||||
if (sc->port_res == NULL) | if (sc->port_res == NULL) | ||||
break; | break; | ||||
if ((rman_get_start(sc->port_res) & 0xf) == 0) | if ((rman_get_start(sc->port_res) & 0xf) == 0) | ||||
break; | break; | ||||
bus_release_resource(dev, SYS_RES_IOPORT, sc->port_rid, | bus_release_resource(dev, SYS_RES_IOPORT, sc->port_rid, | ||||
sc->port_res); | sc->port_res); | ||||
start = (rman_get_start(sc->port_res) + 15) & ~0xf; | start = (rman_get_start(sc->port_res) + 15) & ~0xf; | ||||
} while (1); | } while (1); | ||||
DEVPRINTF(1, (dev, "RealPort port 0x%0lx, size 0x%0lx\n", | DEVPRINTF(1, (dev, "RealPort port 0x%0jx, size 0x%0jx\n", | ||||
bus_get_resource_start(dev, SYS_RES_IOPORT, sc->port_rid), | bus_get_resource_start(dev, SYS_RES_IOPORT, sc->port_rid), | ||||
bus_get_resource_count(dev, SYS_RES_IOPORT, sc->port_rid))); | bus_get_resource_count(dev, SYS_RES_IOPORT, sc->port_rid))); | ||||
} else if (sc->ce2) { | } else if (sc->ce2) { | ||||
/* | /* | ||||
* Find contiguous I/O port for the Ethernet function | * Find contiguous I/O port for the Ethernet function | ||||
* on CEM2 and CEM3 cards. We allocate window 0 | * on CEM2 and CEM3 cards. We allocate window 0 | ||||
* wherever pccard has decided it should be, then find | * wherever pccard has decided it should be, then find | ||||
* an available window adjacent to it for the second | * an available window adjacent to it for the second | ||||
Show All 23 Lines | for (i = 0; i < 2; i++) { | ||||
if (bus_get_resource_start(dev, SYS_RES_IOPORT, | if (bus_get_resource_start(dev, SYS_RES_IOPORT, | ||||
sc->port_rid) == start) | sc->port_rid) == start) | ||||
break; | break; | ||||
bus_release_resource(dev, SYS_RES_IOPORT, sc->port_rid, | bus_release_resource(dev, SYS_RES_IOPORT, sc->port_rid, | ||||
sc->port_res); | sc->port_res); | ||||
sc->port_res = NULL; | sc->port_res = NULL; | ||||
} | } | ||||
DEVPRINTF(1, (dev, "CEM2/CEM3 port 0x%0lx, size 0x%0lx\n", | DEVPRINTF(1, (dev, "CEM2/CEM3 port 0x%0jx, size 0x%0jx\n", | ||||
bus_get_resource_start(dev, SYS_RES_IOPORT, sc->port_rid), | bus_get_resource_start(dev, SYS_RES_IOPORT, sc->port_rid), | ||||
bus_get_resource_count(dev, SYS_RES_IOPORT, sc->port_rid))); | bus_get_resource_count(dev, SYS_RES_IOPORT, sc->port_rid))); | ||||
} | } | ||||
if (!sc->port_res) { | if (!sc->port_res) { | ||||
DEVPRINTF(1, (dev, "Cannot allocate ioport\n")); | DEVPRINTF(1, (dev, "Cannot allocate ioport\n")); | ||||
xe_deactivate(dev); | xe_deactivate(dev); | ||||
return (ENOMEM); | return (ENOMEM); | ||||
Show All 39 Lines |