Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/sound/pci/envy24ht.c
Show First 20 Lines • Show All 2,394 Lines • ▼ Show 20 Lines | #endif | ||||
return 0; | return 0; | ||||
} | } | ||||
static int | static int | ||||
envy24ht_alloc_resource(struct sc_info *sc) | envy24ht_alloc_resource(struct sc_info *sc) | ||||
{ | { | ||||
/* allocate I/O port resource */ | /* allocate I/O port resource */ | ||||
sc->csid = PCIR_CCS; | sc->csid = PCIR_CCS; | ||||
sc->cs = bus_alloc_resource(sc->dev, SYS_RES_IOPORT, | sc->cs = bus_alloc_resource_any(sc->dev, SYS_RES_IOPORT, | ||||
&sc->csid, 0, ~0, 1, RF_ACTIVE); | &sc->csid, RF_ACTIVE); | ||||
sc->mtid = ENVY24HT_PCIR_MT; | sc->mtid = ENVY24HT_PCIR_MT; | ||||
sc->mt = bus_alloc_resource(sc->dev, SYS_RES_IOPORT, | sc->mt = bus_alloc_resource_any(sc->dev, SYS_RES_IOPORT, | ||||
&sc->mtid, 0, ~0, 1, RF_ACTIVE); | &sc->mtid, RF_ACTIVE); | ||||
if (!sc->cs || !sc->mt) { | if (!sc->cs || !sc->mt) { | ||||
device_printf(sc->dev, "unable to map IO port space\n"); | device_printf(sc->dev, "unable to map IO port space\n"); | ||||
return ENXIO; | return ENXIO; | ||||
} | } | ||||
sc->cst = rman_get_bustag(sc->cs); | sc->cst = rman_get_bustag(sc->cs); | ||||
sc->csh = rman_get_bushandle(sc->cs); | sc->csh = rman_get_bushandle(sc->cs); | ||||
sc->mtt = rman_get_bustag(sc->mt); | sc->mtt = rman_get_bustag(sc->mt); | ||||
sc->mth = rman_get_bushandle(sc->mt); | sc->mth = rman_get_bushandle(sc->mt); | ||||
#if(0) | #if(0) | ||||
device_printf(sc->dev, | device_printf(sc->dev, | ||||
"IO port register values\nCCS: 0x%lx\nMT: 0x%lx\n", | "IO port register values\nCCS: 0x%lx\nMT: 0x%lx\n", | ||||
pci_read_config(sc->dev, PCIR_CCS, 4), | pci_read_config(sc->dev, PCIR_CCS, 4), | ||||
pci_read_config(sc->dev, PCIR_MT, 4)); | pci_read_config(sc->dev, PCIR_MT, 4)); | ||||
#endif | #endif | ||||
/* allocate interrupt resource */ | /* allocate interrupt resource */ | ||||
sc->irqid = 0; | sc->irqid = 0; | ||||
sc->irq = bus_alloc_resource(sc->dev, SYS_RES_IRQ, &sc->irqid, | sc->irq = bus_alloc_resource_any(sc->dev, SYS_RES_IRQ, &sc->irqid, | ||||
0, ~0, 1, RF_ACTIVE | RF_SHAREABLE); | RF_ACTIVE | RF_SHAREABLE); | ||||
if (!sc->irq || | if (!sc->irq || | ||||
snd_setup_intr(sc->dev, sc->irq, INTR_MPSAFE, envy24ht_intr, sc, &sc->ih)) { | snd_setup_intr(sc->dev, sc->irq, INTR_MPSAFE, envy24ht_intr, sc, &sc->ih)) { | ||||
device_printf(sc->dev, "unable to map interrupt\n"); | device_printf(sc->dev, "unable to map interrupt\n"); | ||||
return ENXIO; | return ENXIO; | ||||
} | } | ||||
/* allocate DMA resource */ | /* allocate DMA resource */ | ||||
if (bus_dma_tag_create(/*parent*/bus_get_dma_tag(sc->dev), | if (bus_dma_tag_create(/*parent*/bus_get_dma_tag(sc->dev), | ||||
▲ Show 20 Lines • Show All 163 Lines • Show Last 20 Lines |