Home | History | Annotate | Download | only in pci

Lines Matching defs:aqb

3732 	struct ixl_aq_buf *aqb;
3751 aqb = sc->sc_arq_live[cons];
3753 KASSERT(aqb != NULL);
3755 bus_dmamap_sync(sc->sc_dmat, aqb->aqb_map, 0, IXL_AQ_BUFLEN,
3769 SIMPLEQ_INSERT_TAIL(&sc->sc_arq_idle, aqb, aqb_entry);
5252 struct ixl_aq_buf *aqb;
5254 aqb = kmem_alloc(sizeof(*aqb), KM_SLEEP);
5256 aqb->aqb_size = IXL_AQ_BUFLEN;
5258 if (bus_dmamap_create(sc->sc_dmat, aqb->aqb_size, 1,
5259 aqb->aqb_size, 0,
5260 BUS_DMA_WAITOK | BUS_DMA_ALLOCNOW, &aqb->aqb_map) != 0)
5262 if (bus_dmamem_alloc(sc->sc_dmat, aqb->aqb_size,
5263 IXL_AQ_ALIGN, 0, &aqb->aqb_seg, 1, &aqb->aqb_nsegs,
5266 if (bus_dmamem_map(sc->sc_dmat, &aqb->aqb_seg, aqb->aqb_nsegs,
5267 aqb->aqb_size, &aqb->aqb_data, BUS_DMA_WAITOK) != 0)
5269 if (bus_dmamap_load(sc->sc_dmat, aqb->aqb_map, aqb->aqb_data,
5270 aqb->aqb_size, NULL, BUS_DMA_WAITOK) != 0)
5273 return aqb;
5275 bus_dmamem_unmap(sc->sc_dmat, aqb->aqb_data, aqb->aqb_size);
5277 bus_dmamem_free(sc->sc_dmat, &aqb->aqb_seg, 1);
5279 bus_dmamap_destroy(sc->sc_dmat, aqb->aqb_map);
5281 kmem_free(aqb, sizeof(*aqb));
5287 ixl_aqb_free(struct ixl_softc *sc, struct ixl_aq_buf *aqb)
5290 bus_dmamap_unload(sc->sc_dmat, aqb->aqb_map);
5291 bus_dmamem_unmap(sc->sc_dmat, aqb->aqb_data, aqb->aqb_size);
5292 bus_dmamem_free(sc->sc_dmat, &aqb->aqb_seg, 1);
5293 bus_dmamap_destroy(sc->sc_dmat, aqb->aqb_map);
5294 kmem_free(aqb, sizeof(*aqb));
5300 struct ixl_aq_buf *aqb;
5314 aqb = sc->sc_arq_live[prod];
5317 if (aqb == NULL) {
5318 aqb = SIMPLEQ_FIRST(&sc->sc_arq_idle);
5319 if (aqb != NULL) {
5320 SIMPLEQ_REMOVE(&sc->sc_arq_idle, aqb,
5322 } else if ((aqb = ixl_aqb_alloc(sc)) == NULL) {
5326 sc->sc_arq_live[prod] = aqb;
5327 memset(aqb->aqb_data, 0, aqb->aqb_size);
5329 bus_dmamap_sync(sc->sc_dmat, aqb->aqb_map, 0,
5330 aqb->aqb_size, BUS_DMASYNC_PREREAD);
5336 iaq->iaq_datalen = htole16(aqb->aqb_size);
5341 ixl_aq_dva(iaq, aqb->aqb_map->dm_segs[0].ds_addr);
5362 struct ixl_aq_buf *aqb;
5366 aqb = sc->sc_arq_live[i];
5367 if (aqb == NULL)
5371 bus_dmamap_sync(sc->sc_dmat, aqb->aqb_map, 0, aqb->aqb_size,
5373 ixl_aqb_free(sc, aqb);
5376 while ((aqb = SIMPLEQ_FIRST(&sc->sc_arq_idle)) != NULL) {
5377 SIMPLEQ_REMOVE(&sc->sc_arq_idle, aqb,
5379 ixl_aqb_free(sc, aqb);