Lines Matching refs:txwin

70 static void *map_paste_region(struct vas_window *txwin)  in map_paste_region()  argument
77 name = kasprintf(GFP_KERNEL, "window-v%d-w%d", txwin->vinst->vas_id, in map_paste_region()
78 txwin->winid); in map_paste_region()
82 txwin->paste_addr_name = name; in map_paste_region()
83 vas_win_paste_addr(txwin, &start, &len); in map_paste_region()
338 static void init_rsvd_tx_buf_count(struct vas_window *txwin, in init_rsvd_tx_buf_count() argument
341 write_hvwc_reg(txwin, VREG(TX_RSVD_BUF_COUNT), 0ULL); in init_rsvd_tx_buf_count()
908 static void init_winctx_for_txwin(struct vas_window *txwin, in init_winctx_for_txwin() argument
929 winctx->wcreds_max = txwin->wcreds_max; in init_winctx_for_txwin()
932 winctx->nx_win = txwin->rxwin->nx_win; in init_winctx_for_txwin()
949 winctx->rx_win_id = txwin->rxwin->winid; in init_winctx_for_txwin()
954 if (txwin->vinst->virq) in init_winctx_for_txwin()
955 winctx->fault_win_id = txwin->vinst->fault_win->winid; in init_winctx_for_txwin()
961 if (txwin->vinst->virq) in init_winctx_for_txwin()
962 winctx->irq_port = txwin->vinst->irq_port; in init_winctx_for_txwin()
965 encode_pswid(txwin->vinst->vas_id, txwin->winid); in init_winctx_for_txwin()
996 struct vas_window *txwin; in vas_tx_win_open() local
1026 txwin = vas_window_alloc(vinst); in vas_tx_win_open()
1027 if (IS_ERR(txwin)) { in vas_tx_win_open()
1028 rc = PTR_ERR(txwin); in vas_tx_win_open()
1032 txwin->cop = cop; in vas_tx_win_open()
1033 txwin->tx_win = 1; in vas_tx_win_open()
1034 txwin->rxwin = rxwin; in vas_tx_win_open()
1035 txwin->nx_win = txwin->rxwin->nx_win; in vas_tx_win_open()
1036 txwin->user_win = attr->user_win; in vas_tx_win_open()
1037 txwin->wcreds_max = attr->wcreds_max ?: VAS_WCREDS_DEFAULT; in vas_tx_win_open()
1039 init_winctx_for_txwin(txwin, attr, &winctx); in vas_tx_win_open()
1041 init_winctx_regs(txwin, &winctx); in vas_tx_win_open()
1051 if (!txwin->user_win) { in vas_tx_win_open()
1052 txwin->paste_kaddr = map_paste_region(txwin); in vas_tx_win_open()
1053 if (IS_ERR(txwin->paste_kaddr)) { in vas_tx_win_open()
1054 rc = PTR_ERR(txwin->paste_kaddr); in vas_tx_win_open()
1076 txwin->pid = get_task_pid(current, PIDTYPE_PID); in vas_tx_win_open()
1080 txwin->mm = get_task_mm(current); in vas_tx_win_open()
1082 if (!txwin->mm) { in vas_tx_win_open()
1083 put_pid(txwin->pid); in vas_tx_win_open()
1090 mmgrab(txwin->mm); in vas_tx_win_open()
1091 mmput(txwin->mm); in vas_tx_win_open()
1092 mm_context_add_vas_window(txwin->mm); in vas_tx_win_open()
1100 txwin->tgid = find_get_pid(task_tgid_vnr(current)); in vas_tx_win_open()
1114 set_vinst_win(vinst, txwin); in vas_tx_win_open()
1116 return txwin; in vas_tx_win_open()
1119 vas_window_free(txwin); in vas_tx_win_open()
1135 int vas_paste_crb(struct vas_window *txwin, int offset, bool re) in vas_paste_crb() argument
1141 trace_vas_paste_crb(current, txwin); in vas_paste_crb()
1148 WARN_ON_ONCE(txwin->nx_win && !re); in vas_paste_crb()
1150 addr = txwin->paste_kaddr; in vas_paste_crb()
1170 pr_debug("Txwin #%d: Msg count %llu\n", txwin->winid, in vas_paste_crb()
1171 read_hvwc_reg(txwin, VREG(LRFIFO_PUSH))); in vas_paste_crb()