Lines Matching refs:txwin
71 static void *map_paste_region(struct pnv_vas_window *txwin)
78 name = kasprintf(GFP_KERNEL, "window-v%d-w%d", txwin->vinst->vas_id,
79 txwin->vas_win.winid);
83 txwin->paste_addr_name = name;
84 vas_win_paste_addr(txwin, &start, &len);
339 static void init_rsvd_tx_buf_count(struct pnv_vas_window *txwin,
342 write_hvwc_reg(txwin, VREG(TX_RSVD_BUF_COUNT), 0ULL);
910 static void init_winctx_for_txwin(struct pnv_vas_window *txwin,
931 winctx->wcreds_max = txwin->vas_win.wcreds_max;
934 winctx->nx_win = txwin->rxwin->nx_win;
951 winctx->rx_win_id = txwin->rxwin->vas_win.winid;
956 if (txwin->vinst->virq)
957 winctx->fault_win_id = txwin->vinst->fault_win->vas_win.winid;
963 if (txwin->vinst->virq)
964 winctx->irq_port = txwin->vinst->irq_port;
967 encode_pswid(txwin->vinst->vas_id,
968 txwin->vas_win.winid);
999 struct pnv_vas_window *txwin;
1029 txwin = vas_window_alloc(vinst);
1030 if (IS_ERR(txwin)) {
1031 rc = PTR_ERR(txwin);
1035 txwin->vas_win.cop = cop;
1036 txwin->tx_win = 1;
1037 txwin->rxwin = rxwin;
1038 txwin->nx_win = txwin->rxwin->nx_win;
1039 txwin->user_win = attr->user_win;
1040 txwin->vas_win.wcreds_max = attr->wcreds_max ?: VAS_WCREDS_DEFAULT;
1042 init_winctx_for_txwin(txwin, attr, &winctx);
1044 init_winctx_regs(txwin, &winctx);
1054 if (!txwin->user_win) {
1055 txwin->paste_kaddr = map_paste_region(txwin);
1056 if (IS_ERR(txwin->paste_kaddr)) {
1057 rc = PTR_ERR(txwin->paste_kaddr);
1070 rc = get_vas_user_win_ref(&txwin->vas_win.task_ref);
1074 vas_user_win_add_mm_context(&txwin->vas_win.task_ref);
1077 set_vinst_win(vinst, txwin);
1079 return &txwin->vas_win;
1082 vas_window_free(txwin);
1100 struct pnv_vas_window *txwin;
1105 txwin = container_of(vwin, struct pnv_vas_window, vas_win);
1106 trace_vas_paste_crb(current, txwin);
1113 WARN_ON_ONCE(txwin->nx_win && !re);
1115 addr = txwin->paste_kaddr;
1135 pr_debug("Txwin #%d: Msg count %llu\n", txwin->vas_win.winid,
1136 read_hvwc_reg(txwin, VREG(LRFIFO_PUSH)));
1425 pr_devel("Pid %d: Opening txwin, PIDR %ld\n", txattr.pidr,
1431 static u64 vas_user_win_paste_addr(struct vas_window *txwin)
1436 win = container_of(txwin, struct pnv_vas_window, vas_win);
1442 static int vas_user_win_close(struct vas_window *txwin)
1444 vas_win_close(txwin);