Lines Matching refs:mp

119     xsvc_mem_t **mp);
120 static void xsvc_mem_free(xsvc_state_t *state, xsvc_mem_t *mp);
295 xsvc_mem_t *mp;
320 mp = mnode->mn_home;
321 xsvc_mem_free(state, mp);
464 xsvc_mem_t *mp;
504 err = xsvc_mem_alloc(state, key, &mp);
508 mp->xm_size = size;
511 mp->xm_dma_attr.dma_attr_version = DMA_ATTR_V0;
512 mp->xm_dma_attr.dma_attr_count_max = (uint64_t)0xFFFFFFFF;
513 mp->xm_dma_attr.dma_attr_burstsizes = 1;
514 mp->xm_dma_attr.dma_attr_minxfer = 1;
515 mp->xm_dma_attr.dma_attr_maxxfer = (uint64_t)0xFFFFFFFF;
516 mp->xm_dma_attr.dma_attr_seg = (uint64_t)0xFFFFFFFF;
517 mp->xm_dma_attr.dma_attr_granular = 1;
518 mp->xm_dma_attr.dma_attr_flags = 0;
522 mp->xm_dma_attr.dma_attr_addr_lo = params32.xsvc_mem_addr_lo;
523 mp->xm_dma_attr.dma_attr_addr_hi = params32.xsvc_mem_addr_hi;
524 mp->xm_dma_attr.dma_attr_sgllen = params32.xsvc_mem_sgllen;
526 mp->xm_dma_attr.dma_attr_align = P2ROUNDUP(
529 mp->xm_dma_attr.dma_attr_addr_lo = params.xsvc_mem_addr_lo;
530 mp->xm_dma_attr.dma_attr_addr_hi = params.xsvc_mem_addr_hi;
531 mp->xm_dma_attr.dma_attr_sgllen = params.xsvc_mem_sgllen;
533 mp->xm_dma_attr.dma_attr_align = P2ROUNDUP(
537 mp->xm_device_attr = xsvc_device_attr;
539 err = ddi_dma_alloc_handle(state->xs_dip, &mp->xm_dma_attr,
540 DDI_DMA_SLEEP, NULL, &mp->xm_dma_handle);
547 err = ddi_dma_mem_alloc(mp->xm_dma_handle, mp->xm_size,
548 &mp->xm_device_attr, DDI_DMA_CONSISTENT, DDI_DMA_DONTWAIT, NULL,
549 &mp->xm_addr, &mp->xm_real_length, &mp->xm_mem_handle);
555 err = ddi_dma_addr_bind_handle(mp->xm_dma_handle, NULL, mp->xm_addr,
556 mp->xm_size, DDI_DMA_RDWR | DDI_DMA_CONSISTENT, DDI_DMA_SLEEP,
557 NULL, &mp->xm_cookie, &mp->xm_cookie_count);
564 for (i = 0; i < mp->xm_cookie_count; i++) {
566 sgl32.mloc_addr = mp->xm_cookie.dmac_laddress;
567 sgl32.mloc_size = mp->xm_cookie.dmac_size;
575 sgl.mloc_addr = mp->xm_cookie.dmac_laddress;
576 sgl.mloc_size = mp->xm_cookie.dmac_size;
584 ddi_dma_nextcookie(mp->xm_dma_handle, &mp->xm_cookie);
610 (void) ddi_dma_unbind_handle(mp->xm_dma_handle);
612 ddi_dma_mem_free(&mp->xm_mem_handle);
614 ddi_dma_free_handle(&mp->xm_dma_handle);
616 mp->xm_dma_handle = NULL;
617 xsvc_mem_free(state, mp);
635 xsvc_mem_t *mp;
656 mp = xsvc_mem_lookup(state, key);
657 if (mp == NULL) {
661 (void) ddi_dma_sync(mp->xm_dma_handle, 0, 0, DDI_DMA_SYNC_FORCPU);
676 xsvc_mem_t *mp;
697 mp = xsvc_mem_lookup(state, key);
698 if (mp == NULL) {
702 xsvc_mem_free(state, mp);
712 xsvc_mem_alloc(xsvc_state_t *state, uint64_t key, xsvc_mem_t **mp)
721 *mp = kmem_alloc(sizeof (xsvc_mem_t), KM_SLEEP);
722 (*mp)->xm_mnode.mn_home = *mp;
723 (*mp)->xm_mnode.mn_key = key;
726 avl_add(&state->xs_mlist.ml_avl, &(*mp)->xm_mnode);
737 xsvc_mem_free(xsvc_state_t *state, xsvc_mem_t *mp)
739 if (mp->xm_dma_handle != NULL) {
740 (void) ddi_dma_unbind_handle(mp->xm_dma_handle);
741 ddi_dma_mem_free(&mp->xm_mem_handle);
742 ddi_dma_free_handle(&mp->xm_dma_handle);
746 mp->xm_size;
751 avl_remove(&state->xs_mlist.ml_avl, &mp->xm_mnode);
754 kmem_free(mp, sizeof (*mp));
767 xsvc_mem_t *mp;
775 mp = mnp->mn_home;
777 mp = NULL;
780 return (mp);