Lines Matching full:cpr

237 static void inline bnxt_do_enable_intr(struct bnxt_cp_ring *cpr);
238 static void inline bnxt_do_disable_intr(struct bnxt_cp_ring *cpr);
239 static void bnxt_mark_cpr_invalid(struct bnxt_cp_ring *cpr);
1332 struct bnxt_cp_ring *cpr = (struct bnxt_cp_ring *) db_ptr; in bnxt_cuw_db_cq() local
1333 struct bnxt_bar_info *db_bar = &cpr->ring.softc->doorbell_bar; in bnxt_cuw_db_cq()
1335 bus_space_barrier(db_bar->tag, db_bar->handle, cpr->ring.doorbell, 4, in bnxt_cuw_db_cq()
1337 bus_space_write_4(db_bar->tag, db_bar->handle, cpr->ring.doorbell, in bnxt_cuw_db_cq()
1339 ((cpr->cons == UINT32_MAX) ? 0 : in bnxt_cuw_db_cq()
1340 (cpr->cons | CMPL_DOORBELL_IDX_VALID)) | in bnxt_cuw_db_cq()
1372 struct bnxt_cp_ring *cpr = (struct bnxt_cp_ring *) db_ptr; in bnxt_thor_db_rx_cq() local
1373 struct bnxt_bar_info *db_bar = &cpr->ring.softc->doorbell_bar; in bnxt_thor_db_rx_cq()
1375 uint32_t cons = cpr->cons; in bnxt_thor_db_rx_cq()
1380 cons = RING_NEXT(&cpr->ring, cons); in bnxt_thor_db_rx_cq()
1384 db_msg.type_path_xid = ((cpr->ring.phys_id << DBC_DBC_XID_SFT) & in bnxt_thor_db_rx_cq()
1388 bus_space_barrier(db_bar->tag, db_bar->handle, cpr->ring.doorbell, 8, in bnxt_thor_db_rx_cq()
1390 bus_space_write_8(db_bar->tag, db_bar->handle, cpr->ring.doorbell, in bnxt_thor_db_rx_cq()
1398 struct bnxt_cp_ring *cpr = (struct bnxt_cp_ring *) db_ptr; in bnxt_thor_db_tx_cq() local
1399 struct bnxt_bar_info *db_bar = &cpr->ring.softc->doorbell_bar; in bnxt_thor_db_tx_cq()
1401 uint32_t cons = cpr->cons; in bnxt_thor_db_tx_cq()
1405 db_msg.type_path_xid = ((cpr->ring.phys_id << DBC_DBC_XID_SFT) & in bnxt_thor_db_tx_cq()
1409 bus_space_barrier(db_bar->tag, db_bar->handle, cpr->ring.doorbell, 8, in bnxt_thor_db_tx_cq()
1411 bus_space_write_8(db_bar->tag, db_bar->handle, cpr->ring.doorbell, in bnxt_thor_db_tx_cq()
1419 struct bnxt_cp_ring *cpr = (struct bnxt_cp_ring *) db_ptr; in bnxt_thor_db_nq() local
1420 struct bnxt_bar_info *db_bar = &cpr->ring.softc->doorbell_bar; in bnxt_thor_db_nq()
1422 uint32_t cons = cpr->cons; in bnxt_thor_db_nq()
1426 db_msg.type_path_xid = ((cpr->ring.phys_id << DBC_DBC_XID_SFT) & in bnxt_thor_db_nq()
1430 bus_space_barrier(db_bar->tag, db_bar->handle, cpr->ring.doorbell, 8, in bnxt_thor_db_nq()
1432 bus_space_write_8(db_bar->tag, db_bar->handle, cpr->ring.doorbell, in bnxt_thor_db_nq()
1489 struct bnxt_cp_ring *cpr = (struct bnxt_cp_ring *) db_ptr; in bnxt_thor2_db_rx_cq() local
1490 struct bnxt_bar_info *db_bar = &cpr->ring.softc->doorbell_bar; in bnxt_thor2_db_rx_cq()
1492 uint32_t cons = cpr->raw_cons; in bnxt_thor2_db_rx_cq()
1499 toggle = cpr->toggle; in bnxt_thor2_db_rx_cq()
1501 db_msg = DBR_PATH_L2 | ((u64)cpr->ring.phys_id << DBR_XID_SFT) | DBR_VALID | in bnxt_thor2_db_rx_cq()
1502 DB_RING_IDX_CMP(&cpr->ring, cons) | DB_TOGGLE(toggle); in bnxt_thor2_db_rx_cq()
1509 bus_space_barrier(db_bar->tag, db_bar->handle, cpr->ring.doorbell, 8, in bnxt_thor2_db_rx_cq()
1511 bus_space_write_8(db_bar->tag, db_bar->handle, cpr->ring.doorbell, in bnxt_thor2_db_rx_cq()
1520 struct bnxt_cp_ring *cpr = (struct bnxt_cp_ring *) db_ptr; in bnxt_thor2_db_tx_cq() local
1521 struct bnxt_bar_info *db_bar = &cpr->ring.softc->doorbell_bar; in bnxt_thor2_db_tx_cq()
1523 uint32_t cons = cpr->raw_cons; in bnxt_thor2_db_tx_cq()
1527 toggle = cpr->toggle; in bnxt_thor2_db_tx_cq()
1529 db_msg = DBR_PATH_L2 | ((u64)cpr->ring.phys_id << DBR_XID_SFT) | DBR_VALID | in bnxt_thor2_db_tx_cq()
1530 DB_RING_IDX_CMP(&cpr->ring, cons) | DB_TOGGLE(toggle); in bnxt_thor2_db_tx_cq()
1537 bus_space_barrier(db_bar->tag, db_bar->handle, cpr->ring.doorbell, 8, in bnxt_thor2_db_tx_cq()
1539 bus_space_write_8(db_bar->tag, db_bar->handle, cpr->ring.doorbell, in bnxt_thor2_db_tx_cq()
1548 struct bnxt_cp_ring *cpr = (struct bnxt_cp_ring *) db_ptr; in bnxt_thor2_db_nq() local
1549 struct bnxt_bar_info *db_bar = &cpr->ring.softc->doorbell_bar; in bnxt_thor2_db_nq()
1551 uint32_t cons = cpr->raw_cons; in bnxt_thor2_db_nq()
1555 toggle = cpr->toggle; in bnxt_thor2_db_nq()
1557 db_msg = DBR_PATH_L2 | ((u64)cpr->ring.phys_id << DBR_XID_SFT) | DBR_VALID | in bnxt_thor2_db_nq()
1558 DB_RING_IDX_CMP(&cpr->ring, cons) | DB_TOGGLE(toggle); in bnxt_thor2_db_nq()
1565 bus_space_barrier(db_bar->tag, db_bar->handle, cpr->ring.doorbell, 8, in bnxt_thor2_db_nq()
1567 bus_space_write_8(db_bar->tag, db_bar->handle, cpr->ring.doorbell, in bnxt_thor2_db_nq()
3661 bnxt_do_enable_intr(struct bnxt_cp_ring *cpr) in bnxt_do_enable_intr() argument
3663 struct bnxt_softc *softc = cpr->ring.softc; in bnxt_do_enable_intr()
3666 if (cpr->ring.phys_id == (uint16_t)HWRM_NA_SIGNATURE) in bnxt_do_enable_intr()
3670 softc->db_ops.bnxt_db_nq(cpr, 1); in bnxt_do_enable_intr()
3672 softc->db_ops.bnxt_db_rx_cq(cpr, 1); in bnxt_do_enable_intr()
3676 bnxt_do_disable_intr(struct bnxt_cp_ring *cpr) in bnxt_do_disable_intr() argument
3678 struct bnxt_softc *softc = cpr->ring.softc; in bnxt_do_disable_intr()
3680 if (cpr->ring.phys_id == (uint16_t)HWRM_NA_SIGNATURE) in bnxt_do_disable_intr()
3684 softc->db_ops.bnxt_db_nq(cpr, 0); in bnxt_do_disable_intr()
3686 softc->db_ops.bnxt_db_rx_cq(cpr, 0); in bnxt_do_disable_intr()
3729 bnxt_process_async_msg(struct bnxt_cp_ring *cpr, tx_cmpl_t *cmpl) in bnxt_process_async_msg() argument
3731 struct bnxt_softc *softc = cpr->ring.softc; in bnxt_process_async_msg()
3751 struct bnxt_cp_ring *cpr = &softc->nq_rings[nqid]; in process_nq() local
3752 nq_cn_t *cmp = (nq_cn_t *) cpr->ring.vaddr; in process_nq()
3755 bool v_bit = cpr->v_bit; in process_nq()
3756 uint32_t cons = cpr->cons; in process_nq()
3757 uint32_t raw_cons = cpr->raw_cons; in process_nq()
3768 bnxt_process_async_msg(cpr, (tx_cmpl_t *)&cmp[cons]); in process_nq()
3774 NEXT_CP_CONS_V(&cpr->ring, cons, v_bit); in process_nq()
3780 cpr->cons = cons; in process_nq()
3781 cpr->raw_cons = raw_cons; in process_nq()
3782 cpr->v_bit = v_bit; in process_nq()
4865 struct bnxt_cp_ring *cpr = arg; in bnxt_handle_isr() local
4866 struct bnxt_softc *softc = cpr->ring.softc; in bnxt_handle_isr()
4868 cpr->int_count++; in bnxt_handle_isr()
4871 softc->db_ops.bnxt_db_rx_cq(cpr, 0); in bnxt_handle_isr()
4922 bnxt_mark_cpr_invalid(struct bnxt_cp_ring *cpr) in bnxt_mark_cpr_invalid() argument
4924 struct cmpl_base *cmp = (void *)cpr->ring.vaddr; in bnxt_mark_cpr_invalid()
4927 for (i = 0; i < cpr->ring.ring_size; i++) in bnxt_mark_cpr_invalid()
4928 cmp[i].info3_v = !cpr->v_bit; in bnxt_mark_cpr_invalid()
5146 struct bnxt_cp_ring *cpr = &softc->def_cp_ring; in bnxt_def_cp_task() local
5150 uint32_t cons = cpr->cons; in bnxt_def_cp_task()
5151 bool v_bit = cpr->v_bit; in bnxt_def_cp_task()
5159 NEXT_CP_CONS_V(&cpr->ring, cons, v_bit); in bnxt_def_cp_task()
5160 cmpl = &((struct cmpl_base *)cpr->ring.vaddr)[cons]; in bnxt_def_cp_task()
5196 cpr->cons = last_cons; in bnxt_def_cp_task()
5197 cpr->v_bit = last_v_bit; in bnxt_def_cp_task()
5198 softc->db_ops.bnxt_db_rx_cq(cpr, 1); in bnxt_def_cp_task()