Lines Matching refs:inmw

549 	struct tool_mw *inmw = filep->private_data;  in tool_mw_read()  local
551 if (inmw->mm_base == NULL) in tool_mw_read()
555 inmw->mm_base, inmw->size); in tool_mw_read()
561 struct tool_mw *inmw = filep->private_data; in tool_mw_write() local
563 if (inmw->mm_base == NULL) in tool_mw_write()
566 return simple_write_to_buffer(inmw->mm_base, inmw->size, offp, in tool_mw_write()
578 struct tool_mw *inmw = &tc->peers[pidx].inmws[widx]; in tool_setup_mw() local
582 if (inmw->mm_base != NULL) in tool_setup_mw()
590 inmw->size = min_t(resource_size_t, req_size, size); in tool_setup_mw()
591 inmw->size = round_up(inmw->size, addr_align); in tool_setup_mw()
592 inmw->size = round_up(inmw->size, size_align); in tool_setup_mw()
593 inmw->mm_base = dma_alloc_coherent(&tc->ntb->dev, inmw->size, in tool_setup_mw()
594 &inmw->dma_base, GFP_KERNEL); in tool_setup_mw()
595 if (!inmw->mm_base) in tool_setup_mw()
598 if (!IS_ALIGNED(inmw->dma_base, addr_align)) { in tool_setup_mw()
603 ret = ntb_mw_set_trans(tc->ntb, pidx, widx, inmw->dma_base, inmw->size); in tool_setup_mw()
608 inmw->dbgfs_file = debugfs_create_file(buf, 0600, in tool_setup_mw()
609 tc->peers[pidx].dbgfs_dir, inmw, in tool_setup_mw()
615 dma_free_coherent(&tc->ntb->dev, inmw->size, inmw->mm_base, in tool_setup_mw()
616 inmw->dma_base); in tool_setup_mw()
617 inmw->mm_base = NULL; in tool_setup_mw()
618 inmw->dma_base = 0; in tool_setup_mw()
619 inmw->size = 0; in tool_setup_mw()
626 struct tool_mw *inmw = &tc->peers[pidx].inmws[widx]; in tool_free_mw() local
628 debugfs_remove(inmw->dbgfs_file); in tool_free_mw()
630 if (inmw->mm_base != NULL) { in tool_free_mw()
632 dma_free_coherent(&tc->ntb->dev, inmw->size, in tool_free_mw()
633 inmw->mm_base, inmw->dma_base); in tool_free_mw()
636 inmw->mm_base = NULL; in tool_free_mw()
637 inmw->dma_base = 0; in tool_free_mw()
638 inmw->size = 0; in tool_free_mw()
639 inmw->dbgfs_file = NULL; in tool_free_mw()
645 struct tool_mw *inmw = filep->private_data; in tool_mw_trans_read() local
659 ret = ntb_mw_get_align(inmw->tc->ntb, inmw->pidx, inmw->widx, in tool_mw_trans_read()
666 inmw->widx); in tool_mw_trans_read()
670 ntb_peer_port_number(inmw->tc->ntb, inmw->pidx), in tool_mw_trans_read()
671 inmw->pidx); in tool_mw_trans_read()
674 "Window Address \t0x%pK\n", inmw->mm_base); in tool_mw_trans_read()
678 &inmw->dma_base); in tool_mw_trans_read()
682 &inmw->size); in tool_mw_trans_read()
707 struct tool_mw *inmw = filep->private_data; in tool_mw_trans_write() local
715 tool_free_mw(inmw->tc, inmw->pidx, inmw->widx); in tool_mw_trans_write()
717 ret = tool_setup_mw(inmw->tc, inmw->pidx, inmw->widx, val); in tool_mw_trans_write()