Lines Matching defs:winctx
340 struct vas_winctx *winctx)
362 struct vas_winctx *winctx)
370 val = SET_FIELD(VAS_LPID, val, winctx->lpid);
374 val = SET_FIELD(VAS_PID_ID, val, winctx->pidr);
377 init_xlate_regs(window, winctx->user_win);
380 val = SET_FIELD(VAS_FAULT_TX_WIN, val, winctx->fault_win_id);
387 val = SET_FIELD(VAS_HV_INTR_SRC_RA, val, winctx->irq_port);
391 val = SET_FIELD(VAS_PSWID_EA_HANDLE, val, winctx->pswid);
407 val = winctx->rx_fifo;
412 val = SET_FIELD(VAS_LDATA_STAMP, val, winctx->data_stamp);
416 val = SET_FIELD(VAS_LDMA_TYPE, val, winctx->dma_type);
417 val = SET_FIELD(VAS_LDMA_FIFO_DISABLE, val, winctx->fifo_disable);
425 val = SET_FIELD(VAS_LRX_WCRED, val, winctx->wcreds_max);
429 val = SET_FIELD(VAS_TX_WCRED, val, winctx->wcreds_max);
435 fifo_size = winctx->rx_fifo_size / 1024;
448 init_rsvd_tx_buf_count(window, winctx);
452 val = SET_FIELD(VAS_LRX_WIN_ID, val, winctx->rx_win_id);
458 val = SET_FIELD(VAS_NOTIFY_DISABLE, val, winctx->notify_disable);
459 val = SET_FIELD(VAS_INTR_DISABLE, val, winctx->intr_disable);
460 val = SET_FIELD(VAS_NOTIFY_EARLY, val, winctx->notify_early);
461 val = SET_FIELD(VAS_NOTIFY_OSU_INTR, val, winctx->notify_os_intr_reg);
465 val = SET_FIELD(VAS_LNOTIFY_PID, val, winctx->lnotify_pid);
469 val = SET_FIELD(VAS_LNOTIFY_LPID, val, winctx->lnotify_lpid);
473 val = SET_FIELD(VAS_LNOTIFY_TID, val, winctx->lnotify_tid);
477 val = SET_FIELD(VAS_LNOTIFY_MIN_SCOPE, val, winctx->min_scope);
478 val = SET_FIELD(VAS_LNOTIFY_MAX_SCOPE, val, winctx->max_scope);
494 val = SET_FIELD(VAS_WINCTL_REJ_NO_CREDIT, val, winctx->rej_no_credit);
495 val = SET_FIELD(VAS_WINCTL_PIN, val, winctx->pin_win);
496 val = SET_FIELD(VAS_WINCTL_TX_WCRED_MODE, val, winctx->tx_wcred_mode);
497 val = SET_FIELD(VAS_WINCTL_RX_WCRED_MODE, val, winctx->rx_wcred_mode);
498 val = SET_FIELD(VAS_WINCTL_TX_WORD_MODE, val, winctx->tx_word_mode);
499 val = SET_FIELD(VAS_WINCTL_RX_WORD_MODE, val, winctx->rx_word_mode);
500 val = SET_FIELD(VAS_WINCTL_FAULT_WIN, val, winctx->fault_win);
501 val = SET_FIELD(VAS_WINCTL_NX_WIN, val, winctx->nx_win);
688 struct vas_winctx *winctx)
703 memset(winctx, 0, sizeof(struct vas_winctx));
705 winctx->rx_fifo = rxattr->rx_fifo;
706 winctx->rx_fifo_size = rxattr->rx_fifo_size;
707 winctx->wcreds_max = rxwin->vas_win.wcreds_max;
708 winctx->pin_win = rxattr->pin_win;
710 winctx->nx_win = rxattr->nx_win;
711 winctx->fault_win = rxattr->fault_win;
712 winctx->user_win = rxattr->user_win;
713 winctx->rej_no_credit = rxattr->rej_no_credit;
714 winctx->rx_word_mode = rxattr->rx_win_ord_mode;
715 winctx->tx_word_mode = rxattr->tx_win_ord_mode;
716 winctx->rx_wcred_mode = rxattr->rx_wcred_mode;
717 winctx->tx_wcred_mode = rxattr->tx_wcred_mode;
718 winctx->notify_early = rxattr->notify_early;
720 if (winctx->nx_win) {
721 winctx->data_stamp = true;
722 winctx->intr_disable = true;
723 winctx->pin_win = true;
725 WARN_ON_ONCE(winctx->fault_win);
726 WARN_ON_ONCE(!winctx->rx_word_mode);
727 WARN_ON_ONCE(!winctx->tx_word_mode);
728 WARN_ON_ONCE(winctx->notify_after_count);
729 } else if (winctx->fault_win) {
730 winctx->notify_disable = true;
731 } else if (winctx->user_win) {
740 winctx->fifo_disable = true;
741 winctx->intr_disable = true;
742 winctx->rx_fifo = 0;
745 winctx->lnotify_lpid = rxattr->lnotify_lpid;
746 winctx->lnotify_pid = rxattr->lnotify_pid;
747 winctx->lnotify_tid = rxattr->lnotify_tid;
748 winctx->pswid = rxattr->pswid;
749 winctx->dma_type = VAS_DMA_TYPE_INJECT;
750 winctx->tc_mode = rxattr->tc_mode;
752 winctx->min_scope = VAS_SCOPE_LOCAL;
753 winctx->max_scope = VAS_SCOPE_VECTORED_GROUP;
755 winctx->irq_port = rxwin->vinst->irq_port;
857 struct vas_winctx winctx;
884 init_winctx_for_rxwin(rxwin, rxattr, &winctx);
885 init_winctx_regs(rxwin, &winctx);
912 struct vas_winctx *winctx)
929 memset(winctx, 0, sizeof(struct vas_winctx));
931 winctx->wcreds_max = txwin->vas_win.wcreds_max;
933 winctx->user_win = txattr->user_win;
934 winctx->nx_win = txwin->rxwin->nx_win;
935 winctx->pin_win = txattr->pin_win;
936 winctx->rej_no_credit = txattr->rej_no_credit;
937 winctx->rsvd_txbuf_enable = txattr->rsvd_txbuf_enable;
939 winctx->rx_wcred_mode = txattr->rx_wcred_mode;
940 winctx->tx_wcred_mode = txattr->tx_wcred_mode;
941 winctx->rx_word_mode = txattr->rx_win_ord_mode;
942 winctx->tx_word_mode = txattr->tx_win_ord_mode;
943 winctx->rsvd_txbuf_count = txattr->rsvd_txbuf_count;
945 winctx->intr_disable = true;
946 if (winctx->nx_win)
947 winctx->data_stamp = true;
949 winctx->lpid = txattr->lpid;
950 winctx->pidr = txattr->pidr;
951 winctx->rx_win_id = txwin->rxwin->vas_win.winid;
957 winctx->fault_win_id = txwin->vinst->fault_win->vas_win.winid;
959 winctx->dma_type = VAS_DMA_TYPE_INJECT;
960 winctx->tc_mode = txattr->tc_mode;
961 winctx->min_scope = VAS_SCOPE_LOCAL;
962 winctx->max_scope = VAS_SCOPE_VECTORED_GROUP;
964 winctx->irq_port = txwin->vinst->irq_port;
966 winctx->pswid = txattr->pswid ? txattr->pswid :
1001 struct vas_winctx winctx;
1042 init_winctx_for_txwin(txwin, attr, &winctx);
1044 init_winctx_regs(txwin, &winctx);