Lines Matching refs:txwin

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