Lines Matching refs:vinst
34 base = window->vinst->paste_base_addr; in vas_win_paste_addr()
35 shift = window->vinst->paste_win_id_shift; in vas_win_paste_addr()
50 pbaddr = window->vinst->hvwc_bar_start; in get_hvwc_mmio_bar()
60 pbaddr = window->vinst->uwc_bar_start; in get_uwc_mmio_bar()
77 name = kasprintf(GFP_KERNEL, "window-v%d-w%d", txwin->vinst->vas_id, in map_paste_region()
525 struct vas_instance *vinst = window->vinst; in vas_window_free() local
533 vas_release_window_id(&vinst->ida, winid); in vas_window_free()
536 static struct vas_window *vas_window_alloc(struct vas_instance *vinst) in vas_window_alloc() argument
541 winid = vas_assign_window_id(&vinst->ida); in vas_window_alloc()
549 window->vinst = vinst; in vas_window_alloc()
561 vas_release_window_id(&vinst->ida, winid); in vas_window_alloc()
581 static struct vas_window *get_user_rxwin(struct vas_instance *vinst, u32 pswid) in get_user_rxwin() argument
588 if (vinst->vas_id != vasid) in get_user_rxwin()
591 rxwin = vinst->windows[winid]; in get_user_rxwin()
605 static struct vas_window *get_vinst_rxwin(struct vas_instance *vinst, in get_vinst_rxwin() argument
610 mutex_lock(&vinst->mutex); in get_vinst_rxwin()
613 rxwin = get_user_rxwin(vinst, pswid); in get_vinst_rxwin()
615 rxwin = vinst->rxwin[cop] ?: ERR_PTR(-EINVAL); in get_vinst_rxwin()
620 mutex_unlock(&vinst->mutex); in get_vinst_rxwin()
640 static void set_vinst_win(struct vas_instance *vinst, in set_vinst_win() argument
645 mutex_lock(&vinst->mutex); in set_vinst_win()
652 WARN_ON_ONCE(vinst->rxwin[window->cop]); in set_vinst_win()
653 vinst->rxwin[window->cop] = window; in set_vinst_win()
656 WARN_ON_ONCE(vinst->windows[id] != NULL); in set_vinst_win()
657 vinst->windows[id] = window; in set_vinst_win()
659 mutex_unlock(&vinst->mutex); in set_vinst_win()
669 struct vas_instance *vinst = window->vinst; in clear_vinst_win() local
671 mutex_lock(&vinst->mutex); in clear_vinst_win()
674 WARN_ON_ONCE(!vinst->rxwin[window->cop]); in clear_vinst_win()
675 vinst->rxwin[window->cop] = NULL; in clear_vinst_win()
678 WARN_ON_ONCE(vinst->windows[id] != window); in clear_vinst_win()
679 vinst->windows[id] = NULL; in clear_vinst_win()
681 mutex_unlock(&vinst->mutex); in clear_vinst_win()
752 if (rxwin->vinst->virq) in init_winctx_for_rxwin()
753 winctx->irq_port = rxwin->vinst->irq_port; in init_winctx_for_rxwin()
856 struct vas_instance *vinst; in vas_rx_win_open() local
863 vinst = find_vas_instance(vasid); in vas_rx_win_open()
864 if (!vinst) { in vas_rx_win_open()
870 rxwin = vas_window_alloc(vinst); in vas_rx_win_open()
885 set_vinst_win(vinst, rxwin); in vas_rx_win_open()
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()
999 struct vas_instance *vinst; in vas_tx_win_open() local
1014 vinst = find_vas_instance(vasid); in vas_tx_win_open()
1015 if (!vinst) { in vas_tx_win_open()
1020 rxwin = get_vinst_rxwin(vinst, cop, attr->pswid); in vas_tx_win_open()
1026 txwin = vas_window_alloc(vinst); in vas_tx_win_open()
1063 if (!vinst->virq) { in vas_tx_win_open()
1114 set_vinst_win(vinst, txwin); in vas_tx_win_open()
1395 struct vas_window *vas_pswid_to_window(struct vas_instance *vinst, in vas_pswid_to_window() argument
1420 window = vinst->windows[winid]; in vas_pswid_to_window()
1424 winid, pswid, vinst); in vas_pswid_to_window()