Lines Matching refs:inmw
551 struct tool_mw *inmw = filep->private_data; in tool_mw_read() local
553 if (inmw->mm_base == NULL) in tool_mw_read()
557 inmw->mm_base, inmw->size); in tool_mw_read()
563 struct tool_mw *inmw = filep->private_data; in tool_mw_write() local
565 if (inmw->mm_base == NULL) in tool_mw_write()
568 return simple_write_to_buffer(inmw->mm_base, inmw->size, offp, in tool_mw_write()
580 struct tool_mw *inmw = &tc->peers[pidx].inmws[widx]; in tool_setup_mw() local
584 if (inmw->mm_base != NULL) in tool_setup_mw()
592 inmw->size = min_t(resource_size_t, req_size, size); in tool_setup_mw()
593 inmw->size = round_up(inmw->size, addr_align); in tool_setup_mw()
594 inmw->size = round_up(inmw->size, size_align); in tool_setup_mw()
595 inmw->mm_base = dma_alloc_coherent(&tc->ntb->pdev->dev, inmw->size, in tool_setup_mw()
596 &inmw->dma_base, GFP_KERNEL); in tool_setup_mw()
597 if (!inmw->mm_base) in tool_setup_mw()
600 if (!IS_ALIGNED(inmw->dma_base, addr_align)) { in tool_setup_mw()
605 ret = ntb_mw_set_trans(tc->ntb, pidx, widx, inmw->dma_base, inmw->size); in tool_setup_mw()
610 inmw->dbgfs_file = debugfs_create_file(buf, 0600, in tool_setup_mw()
611 tc->peers[pidx].dbgfs_dir, inmw, in tool_setup_mw()
617 dma_free_coherent(&tc->ntb->pdev->dev, inmw->size, inmw->mm_base, in tool_setup_mw()
618 inmw->dma_base); in tool_setup_mw()
619 inmw->mm_base = NULL; in tool_setup_mw()
620 inmw->dma_base = 0; in tool_setup_mw()
621 inmw->size = 0; in tool_setup_mw()
628 struct tool_mw *inmw = &tc->peers[pidx].inmws[widx]; in tool_free_mw() local
630 debugfs_remove(inmw->dbgfs_file); in tool_free_mw()
632 if (inmw->mm_base != NULL) { in tool_free_mw()
634 dma_free_coherent(&tc->ntb->pdev->dev, inmw->size, in tool_free_mw()
635 inmw->mm_base, inmw->dma_base); in tool_free_mw()
638 inmw->mm_base = NULL; in tool_free_mw()
639 inmw->dma_base = 0; in tool_free_mw()
640 inmw->size = 0; in tool_free_mw()
641 inmw->dbgfs_file = NULL; in tool_free_mw()
647 struct tool_mw *inmw = filep->private_data; in tool_mw_trans_read() local
661 ret = ntb_mw_get_align(inmw->tc->ntb, inmw->pidx, inmw->widx, in tool_mw_trans_read()
668 inmw->widx); in tool_mw_trans_read()
672 ntb_peer_port_number(inmw->tc->ntb, inmw->pidx), in tool_mw_trans_read()
673 inmw->pidx); in tool_mw_trans_read()
676 "Window Address \t0x%pK\n", inmw->mm_base); in tool_mw_trans_read()
680 &inmw->dma_base); in tool_mw_trans_read()
684 &inmw->size); in tool_mw_trans_read()
709 struct tool_mw *inmw = filep->private_data; in tool_mw_trans_write() local
717 tool_free_mw(inmw->tc, inmw->pidx, inmw->widx); in tool_mw_trans_write()
719 ret = tool_setup_mw(inmw->tc, inmw->pidx, inmw->widx, val); in tool_mw_trans_write()