Lines Matching defs:dmareqp

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