Lines Matching defs:mem

200 hatm_alloc_dmamem(struct hatm_softc *sc, const char *what, struct dmamem *mem)
204 mem->base = NULL;
213 if (mem->size < mem->align)
214 mem->size = mem->align;
216 error = bus_dma_tag_create(sc->parent_tag, mem->align, 0,
218 NULL, NULL, mem->size, 1,
220 NULL, NULL, &mem->tag);
226 error = bus_dmamem_alloc(mem->tag, &mem->base, 0, &mem->map);
228 if_printf(sc->ifp, "DMA mem alloc (%s): %d\n",
230 bus_dma_tag_destroy(mem->tag);
231 mem->base = NULL;
235 error = bus_dmamap_load(mem->tag, mem->map, mem->base, mem->size,
236 dmaload_helper, &mem->paddr, BUS_DMA_NOWAIT);
240 bus_dmamem_free(mem->tag, mem->base, mem->map);
241 bus_dma_tag_destroy(mem->tag);
242 mem->base = NULL;
246 DBG(sc, DMA, ("%s S/A/V/P 0x%x 0x%x %p 0x%lx", what, mem->size,
247 mem->align, mem->base, (u_long)mem->paddr));
256 hatm_destroy_dmamem(struct dmamem *mem)
258 if (mem->base != NULL) {
259 bus_dmamap_unload(mem->tag, mem->map);
260 bus_dmamem_free(mem->tag, mem->base, mem->map);
261 (void)bus_dma_tag_destroy(mem->tag);
262 mem->base = NULL;
466 hatm_destroy_dmamem(&sc->irq_0.mem);
467 hatm_destroy_dmamem(&sc->rbp_s0.mem);
468 hatm_destroy_dmamem(&sc->rbp_l0.mem);
469 hatm_destroy_dmamem(&sc->rbp_s1.mem);
470 hatm_destroy_dmamem(&sc->rbrq_0.mem);
471 hatm_destroy_dmamem(&sc->rbrq_1.mem);
472 hatm_destroy_dmamem(&sc->tbrq.mem);
473 hatm_destroy_dmamem(&sc->tpdrq.mem);
755 q->irq = q->mem.base;
763 WRITE4(sc, HE_REGO_IRQ_BASE(group), q->mem.paddr);
1136 bzero(q->mem.base, q->mem.size);
1137 q->rbp = q->mem.base;
1141 (u_long)q->mem.paddr));
1143 WRITE4(sc, HE_REGO_RBP_S(large, group), q->mem.paddr);
1175 rq->rbrq = rq->mem.base;
1178 DBG(sc, ATTACH, ("RBRQ%u=0x%lx", group, (u_long)rq->mem.paddr));
1180 WRITE4(sc, HE_REGO_RBRQ_ST(group), rq->mem.paddr);
1213 tq->tbrq = tq->mem.base;
1216 DBG(sc, ATTACH, ("TBRQ%u=0x%lx", group, (u_long)tq->mem.paddr));
1218 WRITE4(sc, HE_REGO_TBRQ_B_T(group), tq->mem.paddr);
1233 tq->tpdrq = tq->mem.base;
1236 DBG(sc, ATTACH, ("TPDRQ=0x%lx", (u_long)tq->mem.paddr));
1238 WRITE4(sc, HE_REGO_TPDRQ_H, tq->mem.paddr);
1838 sc->rbp_s0.mem.size = sc->rbp_s0.size * 8;
1839 sc->rbp_s0.mem.align = sc->rbp_s0.mem.size;
1843 sc->rbp_l0.mem.size = sc->rbp_l0.size * 8;
1844 sc->rbp_l0.mem.align = sc->rbp_l0.mem.size;
1848 sc->rbp_s1.mem.size = sc->rbp_s1.size * 8;
1849 sc->rbp_s1.mem.align = sc->rbp_s1.mem.size;
1852 sc->rbrq_0.mem.size = sc->rbrq_0.size * 8;
1853 sc->rbrq_0.mem.align = sc->rbrq_0.mem.size;
1856 sc->rbrq_1.mem.size = sc->rbrq_1.size * 8;
1857 sc->rbrq_1.mem.align = sc->rbrq_1.mem.size;
1860 sc->irq_0.mem.size = sc->irq_0.size * sizeof(uint32_t);
1861 sc->irq_0.mem.align = 4 * 1024;
1863 sc->tbrq.mem.size = sc->tbrq.size * 4;
1864 sc->tbrq.mem.align = 2 * sc->tbrq.mem.size; /* ZZZ */
1866 sc->tpdrq.mem.size = sc->tpdrq.size * 8;
1867 sc->tpdrq.mem.align = sc->tpdrq.mem.size;
1885 if ((error = hatm_alloc_dmamem(sc, "IRQ", &sc->irq_0.mem)) != 0 ||
1886 (error = hatm_alloc_dmamem(sc, "TBRQ0", &sc->tbrq.mem)) != 0 ||
1887 (error = hatm_alloc_dmamem(sc, "TPDRQ", &sc->tpdrq.mem)) != 0 ||
1891 if (sc->rbp_s0.mem.size != 0 &&
1892 (error = hatm_alloc_dmamem(sc, "RBPS0", &sc->rbp_s0.mem)))
1894 if (sc->rbp_l0.mem.size != 0 &&
1895 (error = hatm_alloc_dmamem(sc, "RBPL0", &sc->rbp_l0.mem)))
1897 if (sc->rbp_s1.mem.size != 0 &&
1898 (error = hatm_alloc_dmamem(sc, "RBPS1", &sc->rbp_s1.mem)))
1901 if (sc->rbrq_0.mem.size != 0 &&
1902 (error = hatm_alloc_dmamem(sc, "RBRQ0", &sc->rbrq_0.mem)))
1904 if (sc->rbrq_1.mem.size != 0 &&
1905 (error = hatm_alloc_dmamem(sc, "RBRQ1", &sc->rbrq_1.mem)))
2387 bzero(sc->rbp_s0.mem.base, sc->rbp_s0.mem.size);
2389 bzero(sc->rbp_l0.mem.base, sc->rbp_l0.mem.size);
2391 bzero(sc->rbp_s1.mem.base, sc->rbp_s1.mem.size);
2393 bzero(sc->rbrq_0.mem.base, sc->rbrq_0.mem.size);
2395 bzero(sc->rbrq_1.mem.base, sc->rbrq_1.mem.size);
2397 bzero(sc->tbrq.mem.base, sc->tbrq.mem.size);
2398 bzero(sc->tpdrq.mem.base, sc->tpdrq.mem.size);