• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/contrib/ncsw/Peripherals/QM/

Lines Matching defs:dqrr

452 /* It's safer to code in terms of the 'dqrr' object than the 'portal' object,
455 /* #define DQRR_API_START() register struct qm_dqrr *dqrr = &portal->dqrr */
480 register struct qm_dqrr *dqrr = &portal->dqrr;
492 dqrr->ring = ptr_ADD(portal->addr.addr_ce, CL_DQRR);
493 dqrr->pi = (uint8_t)(qm_in(DQRR_PI_CINH) & (QM_DQRR_SIZE - 1));
494 dqrr->ci = (uint8_t)(qm_in(DQRR_CI_CINH) & (QM_DQRR_SIZE - 1));
495 dqrr->cursor = dqrr->ring + dqrr->ci;
496 dqrr->fill = cyc_diff(QM_DQRR_SIZE, dqrr->ci, dqrr->pi);
497 dqrr->vbit = (uint8_t)((qm_in(DQRR_PI_CINH) & QM_DQRR_SIZE) ?
499 dqrr->ithresh = (uint8_t)qm_in(DQRR_ITR);
502 dqrr->dmode = dmode;
503 dqrr->pmode = pmode;
504 dqrr->cmode = cmode;
505 dqrr->flags = 0;
507 dqrr->flags |= QM_DQRR_FLAG_RE;
509 dqrr->flags |= QM_DQRR_FLAG_SE;
529 register struct qm_dqrr *dqrr = &portal->dqrr;
530 if (dqrr->ci != DQRR_PTR2IDX(dqrr->cursor))
537 register struct qm_dqrr *dqrr = &portal->dqrr;
538 if (!dqrr->fill)
540 return dqrr->cursor;
545 register struct qm_dqrr *dqrr = &portal->dqrr;
546 return DQRR_PTR2IDX(dqrr->cursor);
551 register struct qm_dqrr *dqrr = &portal->dqrr;
553 ASSERT_COND(dqrr->fill);
555 dqrr->cursor = DQRR_INC(dqrr->cursor);
556 return --dqrr->fill;
561 register struct qm_dqrr *dqrr = &portal->dqrr;
562 uint8_t diff, old_pi = dqrr->pi;
564 ASSERT_COND(dqrr->pmode == e_QmPortalPCI);
566 dqrr->pi = (uint8_t)(qm_in(DQRR_PI_CINH) & (QM_DQRR_SIZE - 1));
567 diff = cyc_diff(QM_DQRR_SIZE, old_pi, dqrr->pi);
568 dqrr->fill += diff;
575 register struct qm_dqrr *dqrr = &portal->dqrr;
576 ASSERT_COND(dqrr->pmode == e_QmPortalPCE);
584 register struct qm_dqrr *dqrr = &portal->dqrr;
585 uint8_t diff, old_pi = dqrr->pi;
587 ASSERT_COND(dqrr->pmode == e_QmPortalPCE);
589 dqrr->pi = (uint8_t)(qm_cl_in(DQRR_PI) & (QM_DQRR_SIZE - 1));
590 diff = cyc_diff(QM_DQRR_SIZE, old_pi, dqrr->pi);
591 dqrr->fill += diff;
597 register struct qm_dqrr *dqrr = &portal->dqrr;
599 ASSERT_COND(dqrr->pmode == e_QmPortalPVB);
601 if (!(dqrr->flags & QM_DQRR_FLAG_RE))
603 dcbit_ro(ptr_ADD(dqrr->ring, qm_cl(dqrr->pi)));
608 register struct qm_dqrr *dqrr = &portal->dqrr;
609 struct qm_dqrr_entry *res = ptr_ADD(dqrr->ring, qm_cl(dqrr->pi));
611 ASSERT_COND(dqrr->pmode == e_QmPortalPVB);
613 if ((res->verb & QM_DQRR_VERB_VBIT) == dqrr->vbit) {
614 dqrr->pi = (uint8_t)((dqrr->pi + 1) & (QM_DQRR_SIZE - 1));
615 if (!dqrr->pi)
616 dqrr->vbit ^= QM_DQRR_VERB_VBIT;
617 dqrr->fill++;
625 register struct qm_dqrr *dqrr = &portal->dqrr;
627 ASSERT_COND(dqrr->cmode == e_QmPortalDqrrCCI);
629 dqrr->ci = (uint8_t)((dqrr->ci + num) & (QM_DQRR_SIZE - 1));
630 qm_out(DQRR_CI_CINH, dqrr->ci);
635 register struct qm_dqrr *dqrr = &portal->dqrr;
637 ASSERT_COND(dqrr->cmode == e_QmPortalDqrrCCI);
639 dqrr->ci = DQRR_PTR2IDX(dqrr->cursor);
640 qm_out(DQRR_CI_CINH, dqrr->ci);
646 register struct qm_dqrr *dqrr = &portal->dqrr;
647 ASSERT_COND(dqrr->cmode == e_QmPortalDqrrCCE);
655 register struct qm_dqrr *dqrr = &portal->dqrr;
657 ASSERT_COND(dqrr->cmode == e_QmPortalDqrrCCE);
659 dqrr->ci = (uint8_t)((dqrr->ci + num) & (QM_DQRR_SIZE - 1));
660 qm_cl_out(DQRR_CI, dqrr->ci);
665 register struct qm_dqrr *dqrr = &portal->dqrr;
667 ASSERT_COND(dqrr->cmode == e_QmPortalDqrrCCE);
669 dqrr->ci = DQRR_PTR2IDX(dqrr->cursor);
670 qm_cl_out(DQRR_CI, dqrr->ci);
676 register struct qm_dqrr *dqrr = &portal->dqrr;
677 ASSERT_COND(dqrr->cmode == e_QmPortalDqrrDCA);
691 register struct qm_dqrr *dqrr = &portal->dqrr;
693 ASSERT_COND(dqrr->cmode == e_QmPortalDqrrDCA);
694 ASSERT_COND((dqrr->ring + idx) == dq);
705 register struct qm_dqrr *dqrr = &portal->dqrr;
706 ASSERT_COND(dqrr->cmode == e_QmPortalDqrrDCA);
715 register struct qm_dqrr *dqrr = &portal->dqrr;
716 ASSERT_COND(dqrr->cmode == e_QmPortalDqrrDCA);
724 register struct qm_dqrr *dqrr = &portal->dqrr;
725 ASSERT_COND(dqrr->cmode == e_QmPortalDqrrDCA);
734 register struct qm_dqrr *dqrr = &portal->dqrr;
735 ASSERT_COND(dqrr->cmode == e_QmPortalDqrrDCA);
742 register struct qm_dqrr *dqrr = &portal->dqrr;
744 ASSERT_COND(dqrr->cmode != e_QmPortalDqrrDCA);
747 return dqrr->ci;
753 register struct qm_dqrr *dqrr = &portal->dqrr;
754 ASSERT_COND(dqrr->cmode != e_QmPortalDqrrDCA);
764 register struct qm_dqrr *dqrr = &portal->dqrr;
766 ASSERT_COND(dqrr->cmode != e_QmPortalDqrrDCA);
770 (dqrr->ci & (QM_DQRR_SIZE - 1)));/* DCAP_CI */
805 register struct qm_dqrr *dqrr = &portal->dqrr;
806 return dqrr->ithresh;