Lines Matching defs:win

53 static int h_allocate_vas_window(struct pseries_vas_window *win, u64 *domain,
68 if (win->win_addr == VAS_INVALID_WIN_ADDRESS) {
72 win->vas_win.winid = retbuf[0];
73 win->win_addr = retbuf[1];
74 win->complete_irq = retbuf[2];
75 win->fault_irq = retbuf[3];
111 static int h_modify_vas_window(struct pseries_vas_window *win)
121 win->vas_win.winid, win->pid, 0,
131 rc, win->vas_win.winid, win->pid);
262 txwin->name = kasprintf(GFP_KERNEL, "vas-win-%d",
465 struct pseries_vas_window *win;
467 win = container_of(vwin, struct pseries_vas_window, vas_win);
468 return win->win_addr;
471 static int deallocate_free_window(struct pseries_vas_window *win)
484 rc = h_deallocate_vas_window(win->vas_win.winid);
486 free_irq_setup(win);
493 struct pseries_vas_window *win;
500 win = container_of(vwin, struct pseries_vas_window, vas_win);
503 if (win->win_type >= VAS_MAX_FEAT_TYPE) {
505 vwin->winid, win->win_type);
509 caps = &vascaps[win->win_type].caps;
517 if (!(win->vas_win.status & VAS_WIN_NO_CRED_CLOSE) &&
518 !(win->vas_win.status & VAS_WIN_MIGRATE_CLOSE)) {
519 rc = deallocate_free_window(win);
525 vascaps[win->win_type].nr_close_wins--;
527 list_del(&win->win_list);
529 vascaps[win->win_type].nr_open_windows--;
535 kfree(win);
636 struct pseries_vas_window *win = NULL, *tmp;
663 list_for_each_entry_safe(win, tmp, &vcaps->list, win_list) {
679 list_for_each_entry_safe_from(win, tmp, &vcaps->list, win_list) {
688 if ((win->vas_win.status & VAS_WIN_NO_CRED_CLOSE) &&
689 (win->vas_win.status & VAS_WIN_MIGRATE_CLOSE)) {
690 win->vas_win.status &= ~flag;
698 if (!(win->vas_win.status & flag))
701 rc = allocate_setup_window(win, (u64 *)&domain[0],
706 rc = h_modify_vas_window(win);
710 mutex_lock(&win->vas_win.task_ref.mmap_mutex);
714 win->vas_win.status &= ~flag;
715 mutex_unlock(&win->vas_win.task_ref.mmap_mutex);
716 win->win_type = caps->win_type;
727 free_irq_setup(win);
728 h_deallocate_vas_window(win->vas_win.winid);
744 struct pseries_vas_window *win, *tmp;
754 list_for_each_entry_safe(win, tmp, &vcap->list, win_list) {
762 if ((win->vas_win.status & VAS_WIN_MIGRATE_CLOSE) ||
763 (win->vas_win.status & VAS_WIN_NO_CRED_CLOSE)) {
764 win->vas_win.status |= flag;
768 task_ref = &win->vas_win.task_ref;
781 win->vas_win.status |= flag;
801 rc = deallocate_free_window(win);