Lines Matching refs:mw
588 struct ntb_transport_mw *mw; in ntb_transport_setup_qp_mw() local
597 mw = &nt->mw_vec[mw_num]; in ntb_transport_setup_qp_mw()
599 if (!mw->virt_addr) in ntb_transport_setup_qp_mw()
607 rx_size = (unsigned int)mw->xlat_size / num_qps_mw; in ntb_transport_setup_qp_mw()
608 qp->rx_buff = mw->virt_addr + rx_size * (qp_num / mw_count); in ntb_transport_setup_qp_mw()
636 struct ntb_transport_mw *mw = &nt->mw_vec[num_mw]; in ntb_free_mw() local
639 if (!mw->virt_addr) in ntb_free_mw()
643 dma_free_coherent(&pdev->dev, mw->buff_size, in ntb_free_mw()
644 mw->virt_addr, mw->dma_addr); in ntb_free_mw()
645 mw->xlat_size = 0; in ntb_free_mw()
646 mw->buff_size = 0; in ntb_free_mw()
647 mw->virt_addr = NULL; in ntb_free_mw()
653 struct ntb_transport_mw *mw = &nt->mw_vec[num_mw]; in ntb_set_mw() local
661 xlat_size = round_up(size, mw->xlat_align_size); in ntb_set_mw()
662 buff_size = round_up(size, mw->xlat_align); in ntb_set_mw()
665 if (mw->xlat_size == xlat_size) in ntb_set_mw()
668 if (mw->buff_size) in ntb_set_mw()
672 mw->xlat_size = xlat_size; in ntb_set_mw()
673 mw->buff_size = buff_size; in ntb_set_mw()
675 mw->virt_addr = dma_alloc_coherent(&pdev->dev, buff_size, in ntb_set_mw()
676 &mw->dma_addr, GFP_KERNEL); in ntb_set_mw()
677 if (!mw->virt_addr) { in ntb_set_mw()
678 mw->xlat_size = 0; in ntb_set_mw()
679 mw->buff_size = 0; in ntb_set_mw()
691 if (!IS_ALIGNED(mw->dma_addr, mw->xlat_align)) { in ntb_set_mw()
693 &mw->dma_addr); in ntb_set_mw()
699 rc = ntb_mw_set_trans(nt->ndev, num_mw, mw->dma_addr, mw->xlat_size); in ntb_set_mw()
1011 struct ntb_transport_mw *mw; in ntb_transport_probe() local
1044 mw = &nt->mw_vec[i]; in ntb_transport_probe()
1046 rc = ntb_mw_get_range(ndev, i, &mw->phys_addr, &mw->phys_size, in ntb_transport_probe()
1047 &mw->xlat_align, &mw->xlat_align_size); in ntb_transport_probe()
1051 mw->vbase = ioremap_wc(mw->phys_addr, mw->phys_size); in ntb_transport_probe()
1052 if (!mw->vbase) { in ntb_transport_probe()
1057 mw->buff_size = 0; in ntb_transport_probe()
1058 mw->xlat_size = 0; in ntb_transport_probe()
1059 mw->virt_addr = NULL; in ntb_transport_probe()
1060 mw->dma_addr = 0; in ntb_transport_probe()
1120 mw = &nt->mw_vec[i]; in ntb_transport_probe()
1121 iounmap(mw->vbase); in ntb_transport_probe()