Lines Matching defs:winctx
339 struct vas_winctx *winctx)
361 struct vas_winctx *winctx)
369 val = SET_FIELD(VAS_LPID, val, winctx->lpid);
373 val = SET_FIELD(VAS_PID_ID, val, winctx->pidr);
376 init_xlate_regs(window, winctx->user_win);
379 val = SET_FIELD(VAS_FAULT_TX_WIN, val, winctx->fault_win_id);
386 val = SET_FIELD(VAS_HV_INTR_SRC_RA, val, winctx->irq_port);
390 val = SET_FIELD(VAS_PSWID_EA_HANDLE, val, winctx->pswid);
406 val = winctx->rx_fifo;
411 val = SET_FIELD(VAS_LDATA_STAMP, val, winctx->data_stamp);
415 val = SET_FIELD(VAS_LDMA_TYPE, val, winctx->dma_type);
416 val = SET_FIELD(VAS_LDMA_FIFO_DISABLE, val, winctx->fifo_disable);
424 val = SET_FIELD(VAS_LRX_WCRED, val, winctx->wcreds_max);
428 val = SET_FIELD(VAS_TX_WCRED, val, winctx->wcreds_max);
434 fifo_size = winctx->rx_fifo_size / 1024;
447 init_rsvd_tx_buf_count(window, winctx);
451 val = SET_FIELD(VAS_LRX_WIN_ID, val, winctx->rx_win_id);
457 val = SET_FIELD(VAS_NOTIFY_DISABLE, val, winctx->notify_disable);
458 val = SET_FIELD(VAS_INTR_DISABLE, val, winctx->intr_disable);
459 val = SET_FIELD(VAS_NOTIFY_EARLY, val, winctx->notify_early);
460 val = SET_FIELD(VAS_NOTIFY_OSU_INTR, val, winctx->notify_os_intr_reg);
464 val = SET_FIELD(VAS_LNOTIFY_PID, val, winctx->lnotify_pid);
468 val = SET_FIELD(VAS_LNOTIFY_LPID, val, winctx->lnotify_lpid);
472 val = SET_FIELD(VAS_LNOTIFY_TID, val, winctx->lnotify_tid);
476 val = SET_FIELD(VAS_LNOTIFY_MIN_SCOPE, val, winctx->min_scope);
477 val = SET_FIELD(VAS_LNOTIFY_MAX_SCOPE, val, winctx->max_scope);
493 val = SET_FIELD(VAS_WINCTL_REJ_NO_CREDIT, val, winctx->rej_no_credit);
494 val = SET_FIELD(VAS_WINCTL_PIN, val, winctx->pin_win);
495 val = SET_FIELD(VAS_WINCTL_TX_WCRED_MODE, val, winctx->tx_wcred_mode);
496 val = SET_FIELD(VAS_WINCTL_RX_WCRED_MODE, val, winctx->rx_wcred_mode);
497 val = SET_FIELD(VAS_WINCTL_TX_WORD_MODE, val, winctx->tx_word_mode);
498 val = SET_FIELD(VAS_WINCTL_RX_WORD_MODE, val, winctx->rx_word_mode);
499 val = SET_FIELD(VAS_WINCTL_FAULT_WIN, val, winctx->fault_win);
500 val = SET_FIELD(VAS_WINCTL_NX_WIN, val, winctx->nx_win);
686 struct vas_winctx *winctx)
701 memset(winctx, 0, sizeof(struct vas_winctx));
703 winctx->rx_fifo = rxattr->rx_fifo;
704 winctx->rx_fifo_size = rxattr->rx_fifo_size;
705 winctx->wcreds_max = rxwin->wcreds_max;
706 winctx->pin_win = rxattr->pin_win;
708 winctx->nx_win = rxattr->nx_win;
709 winctx->fault_win = rxattr->fault_win;
710 winctx->user_win = rxattr->user_win;
711 winctx->rej_no_credit = rxattr->rej_no_credit;
712 winctx->rx_word_mode = rxattr->rx_win_ord_mode;
713 winctx->tx_word_mode = rxattr->tx_win_ord_mode;
714 winctx->rx_wcred_mode = rxattr->rx_wcred_mode;
715 winctx->tx_wcred_mode = rxattr->tx_wcred_mode;
716 winctx->notify_early = rxattr->notify_early;
718 if (winctx->nx_win) {
719 winctx->data_stamp = true;
720 winctx->intr_disable = true;
721 winctx->pin_win = true;
723 WARN_ON_ONCE(winctx->fault_win);
724 WARN_ON_ONCE(!winctx->rx_word_mode);
725 WARN_ON_ONCE(!winctx->tx_word_mode);
726 WARN_ON_ONCE(winctx->notify_after_count);
727 } else if (winctx->fault_win) {
728 winctx->notify_disable = true;
729 } else if (winctx->user_win) {
738 winctx->fifo_disable = true;
739 winctx->intr_disable = true;
740 winctx->rx_fifo = 0;
743 winctx->lnotify_lpid = rxattr->lnotify_lpid;
744 winctx->lnotify_pid = rxattr->lnotify_pid;
745 winctx->lnotify_tid = rxattr->lnotify_tid;
746 winctx->pswid = rxattr->pswid;
747 winctx->dma_type = VAS_DMA_TYPE_INJECT;
748 winctx->tc_mode = rxattr->tc_mode;
750 winctx->min_scope = VAS_SCOPE_LOCAL;
751 winctx->max_scope = VAS_SCOPE_VECTORED_GROUP;
753 winctx->irq_port = rxwin->vinst->irq_port;
855 struct vas_winctx winctx;
882 init_winctx_for_rxwin(rxwin, rxattr, &winctx);
883 init_winctx_regs(rxwin, &winctx);
910 struct vas_winctx *winctx)
927 memset(winctx, 0, sizeof(struct vas_winctx));
929 winctx->wcreds_max = txwin->wcreds_max;
931 winctx->user_win = txattr->user_win;
932 winctx->nx_win = txwin->rxwin->nx_win;
933 winctx->pin_win = txattr->pin_win;
934 winctx->rej_no_credit = txattr->rej_no_credit;
935 winctx->rsvd_txbuf_enable = txattr->rsvd_txbuf_enable;
937 winctx->rx_wcred_mode = txattr->rx_wcred_mode;
938 winctx->tx_wcred_mode = txattr->tx_wcred_mode;
939 winctx->rx_word_mode = txattr->rx_win_ord_mode;
940 winctx->tx_word_mode = txattr->tx_win_ord_mode;
941 winctx->rsvd_txbuf_count = txattr->rsvd_txbuf_count;
943 winctx->intr_disable = true;
944 if (winctx->nx_win)
945 winctx->data_stamp = true;
947 winctx->lpid = txattr->lpid;
948 winctx->pidr = txattr->pidr;
949 winctx->rx_win_id = txwin->rxwin->winid;
955 winctx->fault_win_id = txwin->vinst->fault_win->winid;
957 winctx->dma_type = VAS_DMA_TYPE_INJECT;
958 winctx->tc_mode = txattr->tc_mode;
959 winctx->min_scope = VAS_SCOPE_LOCAL;
960 winctx->max_scope = VAS_SCOPE_VECTORED_GROUP;
962 winctx->irq_port = txwin->vinst->irq_port;
964 winctx->pswid = txattr->pswid ? txattr->pswid :
998 struct vas_winctx winctx;
1039 init_winctx_for_txwin(txwin, attr, &winctx);
1041 init_winctx_regs(txwin, &winctx);