eqcr 356 drivers/soc/fsl/qbman/qman.c struct qm_eqcr eqcr; eqcr 411 drivers/soc/fsl/qbman/qman.c static inline void eqcr_inc(struct qm_eqcr *eqcr) eqcr 414 drivers/soc/fsl/qbman/qman.c struct qm_eqcr_entry *partial = eqcr->cursor + 1; eqcr 416 drivers/soc/fsl/qbman/qman.c eqcr->cursor = eqcr_carryclear(partial); eqcr 417 drivers/soc/fsl/qbman/qman.c if (partial != eqcr->cursor) eqcr 418 drivers/soc/fsl/qbman/qman.c eqcr->vbit ^= QM_EQCR_VERB_VBIT; eqcr 426 drivers/soc/fsl/qbman/qman.c struct qm_eqcr *eqcr = &portal->eqcr; eqcr 430 drivers/soc/fsl/qbman/qman.c eqcr->ring = portal->addr.ce + QM_CL_EQCR; eqcr 431 drivers/soc/fsl/qbman/qman.c eqcr->ci = qm_in(portal, QM_REG_EQCR_CI_CINH) & (QM_EQCR_SIZE - 1); eqcr 434 drivers/soc/fsl/qbman/qman.c eqcr->cursor = eqcr->ring + pi; eqcr 435 drivers/soc/fsl/qbman/qman.c eqcr->vbit = (qm_in(portal, QM_REG_EQCR_PI_CINH) & QM_EQCR_SIZE) ? eqcr 437 drivers/soc/fsl/qbman/qman.c eqcr->available = QM_EQCR_SIZE - 1 - eqcr 438 drivers/soc/fsl/qbman/qman.c dpaa_cyc_diff(QM_EQCR_SIZE, eqcr->ci, pi); eqcr 439 drivers/soc/fsl/qbman/qman.c eqcr->ithresh = qm_in(portal, QM_REG_EQCR_ITR); eqcr 441 drivers/soc/fsl/qbman/qman.c eqcr->busy = 0; eqcr 442 drivers/soc/fsl/qbman/qman.c eqcr->pmode = pmode; eqcr 459 drivers/soc/fsl/qbman/qman.c struct qm_eqcr *eqcr = &portal->eqcr; eqcr 463 drivers/soc/fsl/qbman/qman.c DPAA_ASSERT(!eqcr->busy); eqcr 464 drivers/soc/fsl/qbman/qman.c if (pi != eqcr_ptr2idx(eqcr->cursor)) eqcr 466 drivers/soc/fsl/qbman/qman.c if (ci != eqcr->ci) eqcr 468 drivers/soc/fsl/qbman/qman.c if (eqcr->ci != eqcr_ptr2idx(eqcr->cursor)) eqcr 475 drivers/soc/fsl/qbman/qman.c struct qm_eqcr *eqcr = &portal->eqcr; eqcr 477 drivers/soc/fsl/qbman/qman.c DPAA_ASSERT(!eqcr->busy); eqcr 478 drivers/soc/fsl/qbman/qman.c if (!eqcr->available) eqcr 482 drivers/soc/fsl/qbman/qman.c eqcr->busy = 1; eqcr 484 drivers/soc/fsl/qbman/qman.c dpaa_zero(eqcr->cursor); eqcr 485 drivers/soc/fsl/qbman/qman.c return eqcr->cursor; eqcr 491 drivers/soc/fsl/qbman/qman.c struct qm_eqcr *eqcr = &portal->eqcr; eqcr 494 drivers/soc/fsl/qbman/qman.c DPAA_ASSERT(!eqcr->busy); eqcr 495 drivers/soc/fsl/qbman/qman.c if (!eqcr->available) { eqcr 496 drivers/soc/fsl/qbman/qman.c old_ci = eqcr->ci; eqcr 497 drivers/soc/fsl/qbman/qman.c eqcr->ci = qm_ce_in(portal, QM_CL_EQCR_CI_CENA) & eqcr 499 drivers/soc/fsl/qbman/qman.c diff = dpaa_cyc_diff(QM_EQCR_SIZE, old_ci, eqcr->ci); eqcr 500 drivers/soc/fsl/qbman/qman.c eqcr->available += diff; eqcr 505 drivers/soc/fsl/qbman/qman.c eqcr->busy = 1; eqcr 507 drivers/soc/fsl/qbman/qman.c dpaa_zero(eqcr->cursor); eqcr 508 drivers/soc/fsl/qbman/qman.c return eqcr->cursor; eqcr 511 drivers/soc/fsl/qbman/qman.c static inline void eqcr_commit_checks(struct qm_eqcr *eqcr) eqcr 513 drivers/soc/fsl/qbman/qman.c DPAA_ASSERT(eqcr->busy); eqcr 514 drivers/soc/fsl/qbman/qman.c DPAA_ASSERT(!(be32_to_cpu(eqcr->cursor->fqid) & ~QM_FQID_MASK)); eqcr 515 drivers/soc/fsl/qbman/qman.c DPAA_ASSERT(eqcr->available >= 1); eqcr 520 drivers/soc/fsl/qbman/qman.c struct qm_eqcr *eqcr = &portal->eqcr; eqcr 523 drivers/soc/fsl/qbman/qman.c eqcr_commit_checks(eqcr); eqcr 524 drivers/soc/fsl/qbman/qman.c DPAA_ASSERT(eqcr->pmode == qm_eqcr_pvb); eqcr 526 drivers/soc/fsl/qbman/qman.c eqcursor = eqcr->cursor; eqcr 527 drivers/soc/fsl/qbman/qman.c eqcursor->_ncw_verb = myverb | eqcr->vbit; eqcr 529 drivers/soc/fsl/qbman/qman.c eqcr_inc(eqcr); eqcr 530 drivers/soc/fsl/qbman/qman.c eqcr->available--; eqcr 532 drivers/soc/fsl/qbman/qman.c eqcr->busy = 0; eqcr 543 drivers/soc/fsl/qbman/qman.c struct qm_eqcr *eqcr = &portal->eqcr; eqcr 544 drivers/soc/fsl/qbman/qman.c u8 diff, old_ci = eqcr->ci; eqcr 546 drivers/soc/fsl/qbman/qman.c eqcr->ci = qm_ce_in(portal, QM_CL_EQCR_CI_CENA) & (QM_EQCR_SIZE - 1); eqcr 548 drivers/soc/fsl/qbman/qman.c diff = dpaa_cyc_diff(QM_EQCR_SIZE, old_ci, eqcr->ci); eqcr 549 drivers/soc/fsl/qbman/qman.c eqcr->available += diff; eqcr 555 drivers/soc/fsl/qbman/qman.c struct qm_eqcr *eqcr = &portal->eqcr; eqcr 557 drivers/soc/fsl/qbman/qman.c eqcr->ithresh = ithresh; eqcr 563 drivers/soc/fsl/qbman/qman.c struct qm_eqcr *eqcr = &portal->eqcr; eqcr 565 drivers/soc/fsl/qbman/qman.c return eqcr->available; eqcr 570 drivers/soc/fsl/qbman/qman.c struct qm_eqcr *eqcr = &portal->eqcr; eqcr 572 drivers/soc/fsl/qbman/qman.c return QM_EQCR_SIZE - 1 - eqcr->available;