Lines Matching refs:dmareqp

369 ddi_dmareq_mapin(struct ddi_dma_req *dmareqp, caddr_t *mapaddrp,  in ddi_dmareq_mapin()  argument
372 int sleep = (dmareqp->dmar_fp == DDI_DMA_SLEEP) ? VM_SLEEP: VM_NOSLEEP; in ddi_dmareq_mapin()
374 *lenp = dmareqp->dmar_object.dmao_size; in ddi_dmareq_mapin()
375 if (dmareqp->dmar_object.dmao_type == DMA_OTYP_PAGES) { in ddi_dmareq_mapin()
376 *mapaddrp = dmareq_pp_mapin(dmareqp->dmar_object.dmao_size, in ddi_dmareq_mapin()
377 dmareqp->dmar_object.dmao_obj.pp_obj.pp_offset, in ddi_dmareq_mapin()
378 dmareqp->dmar_object.dmao_obj.pp_obj.pp_pp, sleep); in ddi_dmareq_mapin()
380 } else if (dmareqp->dmar_object.dmao_obj.virt_obj.v_priv != NULL) { in ddi_dmareq_mapin()
381 *mapaddrp = dmareq_pplist_mapin(dmareqp->dmar_object.dmao_size, in ddi_dmareq_mapin()
382 dmareqp->dmar_object.dmao_obj.virt_obj.v_addr, in ddi_dmareq_mapin()
383 dmareqp->dmar_object.dmao_obj.virt_obj.v_priv, in ddi_dmareq_mapin()
384 dmareqp->dmar_object.dmao_obj.virt_obj.v_as, sleep); in ddi_dmareq_mapin()
386 } else if (dmareqp->dmar_object.dmao_obj.virt_obj.v_as == &kas) { in ddi_dmareq_mapin()
388 return (dmareqp->dmar_object.dmao_obj.virt_obj.v_addr); in ddi_dmareq_mapin()
389 } else if (dmareqp->dmar_object.dmao_obj.virt_obj.v_as == NULL) { in ddi_dmareq_mapin()
391 return (dmareqp->dmar_object.dmao_obj.virt_obj.v_addr); in ddi_dmareq_mapin()
393 *mapaddrp = dmareq_mapin(dmareqp->dmar_object.dmao_size, in ddi_dmareq_mapin()
394 dmareqp->dmar_object.dmao_obj.virt_obj.v_addr, in ddi_dmareq_mapin()
395 dmareqp->dmar_object.dmao_obj.virt_obj.v_as, sleep); in ddi_dmareq_mapin()
3507 ddi_dma_handle_t handle, struct ddi_dma_req *dmareqp, in bofi_dma_bindhdl() argument
3532 return save_bus_ops.bus_dma_bindhdl(dip, rdip, handle, dmareqp, in bofi_dma_bindhdl()
3541 hp->flags = dmareqp->dmar_flags; in bofi_dma_bindhdl()
3542 if (dmareqp->dmar_object.dmao_type == DMA_OTYP_PAGES) { in bofi_dma_bindhdl()
3544 hp->map_pp = dmareqp->dmar_object.dmao_obj.pp_obj.pp_pp; in bofi_dma_bindhdl()
3545 } else if (dmareqp->dmar_object.dmao_obj.virt_obj.v_priv != NULL) { in bofi_dma_bindhdl()
3547 hp->map_pplist = dmareqp->dmar_object.dmao_obj.virt_obj.v_priv; in bofi_dma_bindhdl()
3554 hp->addr = ddi_dmareq_mapin(dmareqp, &hp->mapaddr, &hp->len); in bofi_dma_bindhdl()
3568 (dmareqp->dmar_fp == DDI_DMA_SLEEP) ? KM_SLEEP : KM_NOSLEEP, in bofi_dma_bindhdl()
3573 if (dmareqp->dmar_flags & DDI_DMA_WRITE) in bofi_dma_bindhdl()
3575 dmareq = *dmareqp; in bofi_dma_bindhdl()
3581 dmareqp = &dmareq; in bofi_dma_bindhdl()
3586 retval = save_bus_ops.bus_dma_bindhdl(dip, rdip, handle, dmareqp, in bofi_dma_bindhdl()
3609 if (dmareqp->dmar_fp != DDI_DMA_DONTWAIT) { in bofi_dma_bindhdl()
3613 (void) timeout((void (*)())dmareqp->dmar_fp, in bofi_dma_bindhdl()
3614 dmareqp->dmar_arg, 10); in bofi_dma_bindhdl()