Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/mxge/if_mxge.c
Show First 20 Lines • Show All 4,655 Lines • ▼ Show 20 Lines | mxge_add_single_irq(mxge_softc_t *sc) | ||||
count = pci_msi_count(sc->dev); | count = pci_msi_count(sc->dev); | ||||
if (count == 1 && pci_alloc_msi(sc->dev, &count) == 0) { | if (count == 1 && pci_alloc_msi(sc->dev, &count) == 0) { | ||||
rid = 1; | rid = 1; | ||||
} else { | } else { | ||||
rid = 0; | rid = 0; | ||||
sc->legacy_irq = 1; | sc->legacy_irq = 1; | ||||
} | } | ||||
sc->irq_res = bus_alloc_resource(sc->dev, SYS_RES_IRQ, &rid, 0, ~0, | sc->irq_res = bus_alloc_resource_any(sc->dev, SYS_RES_IRQ, &rid, | ||||
1, RF_SHAREABLE | RF_ACTIVE); | RF_SHAREABLE | RF_ACTIVE); | ||||
if (sc->irq_res == NULL) { | if (sc->irq_res == NULL) { | ||||
device_printf(sc->dev, "could not alloc interrupt\n"); | device_printf(sc->dev, "could not alloc interrupt\n"); | ||||
return ENXIO; | return ENXIO; | ||||
} | } | ||||
if (mxge_verbose) | if (mxge_verbose) | ||||
device_printf(sc->dev, "using %s irq %ld\n", | device_printf(sc->dev, "using %s irq %ld\n", | ||||
sc->legacy_irq ? "INTx" : "MSI", | sc->legacy_irq ? "INTx" : "MSI", | ||||
rman_get_start(sc->irq_res)); | rman_get_start(sc->irq_res)); | ||||
▲ Show 20 Lines • Show All 134 Lines • ▼ Show 20 Lines | mtx_init(&sc->driver_mtx, sc->driver_mtx_name, | ||||
MTX_NETWORK_LOCK, MTX_DEF); | MTX_NETWORK_LOCK, MTX_DEF); | ||||
callout_init_mtx(&sc->co_hdl, &sc->driver_mtx, 0); | callout_init_mtx(&sc->co_hdl, &sc->driver_mtx, 0); | ||||
mxge_setup_cfg_space(sc); | mxge_setup_cfg_space(sc); | ||||
/* Map the board into the kernel */ | /* Map the board into the kernel */ | ||||
rid = PCIR_BARS; | rid = PCIR_BARS; | ||||
sc->mem_res = bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, 0, | sc->mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, | ||||
~0, 1, RF_ACTIVE); | RF_ACTIVE); | ||||
if (sc->mem_res == NULL) { | if (sc->mem_res == NULL) { | ||||
device_printf(dev, "could not map memory\n"); | device_printf(dev, "could not map memory\n"); | ||||
err = ENXIO; | err = ENXIO; | ||||
goto abort_with_lock; | goto abort_with_lock; | ||||
} | } | ||||
sc->sram = rman_get_virtual(sc->mem_res); | sc->sram = rman_get_virtual(sc->mem_res); | ||||
sc->sram_size = 2*1024*1024 - (2*(48*1024)+(32*1024)) - 0x100; | sc->sram_size = 2*1024*1024 - (2*(48*1024)+(32*1024)) - 0x100; | ||||
if (sc->sram_size > rman_get_size(sc->mem_res)) { | if (sc->sram_size > rman_get_size(sc->mem_res)) { | ||||
▲ Show 20 Lines • Show All 207 Lines • Show Last 20 Lines |