Lines Matching defs:rbrp

1056 nxge_rxbuf_index_info_init(p_nxge_t nxgep, p_rx_rbr_ring_t rbrp)
1065 ring_info = rbrp->ring_info;
1069 max_index = rbrp->num_blocks;
1358 p_rx_rbr_ring_t rbrp;
1392 rbrp = (p_rx_rbr_ring_t)rbr_rings[channel],
1396 rbrp->rbr_wr_index = (rbrp->rbb_max - 1);
1397 rbrp->rbr_rd_index = 0;
1405 rbrp, rcrp, mboxp);
3404 p_rx_rbr_ring_t rbrp;
3431 rbrp = *rbr_p;
3432 dmap = (p_nxge_dma_common_t)&rbrp->rbr_desc;
3433 nxge_setup_dma_common(dmap, cntl_dmap, rbrp->rbb_max, 4);
3439 rcfga_p = &(rbrp->rbr_cfga);
3440 rcfgb_p = &(rbrp->rbr_cfgb);
3441 kick_p = &(rbrp->rbr_kick);
3445 rbrp->rbr_addr = dmap->dma_cookie.dmac_laddress;
3446 rcfga_p->value = (rbrp->rbr_addr &
3449 rcfga_p->value |= ((uint64_t)rbrp->rbb_max << RBR_CFIG_A_LEN_SHIFT);
3451 rcfgb_p->bits.ldw.bufsz0 = rbrp->pkt_buf_size0;
3453 rcfgb_p->bits.ldw.bufsz1 = rbrp->pkt_buf_size1;
3455 rcfgb_p->bits.ldw.bufsz2 = rbrp->pkt_buf_size2;
3463 rbrp->rbr_desc_vp = (uint32_t *)dmap->kaddrp;
3468 rx_msg_ring = rbrp->rx_msg_ring;
3469 for (i = 0; i < rbrp->tnblocks; i++) {
3472 rx_msg_p->rx_rbr_p = rbrp;
3482 kick_p->bits.ldw.bkadd = rbrp->rbb_max;
3483 rbrp->rbr_wr_index = (rbrp->rbb_max - 1);
3485 rbrp->rbr_rd_index = 0;
3487 rbrp->rbr_consumed = 0;
3488 rbrp->rbr_use_bcopy = B_TRUE;
3489 rbrp->rbr_bufsize_type = RCR_PKTBUFSZ_0;
3505 rbrp->rbr_bufsize_type = nxge_rx_buf_size_type;
3511 rbrp->rbr_use_bcopy = B_FALSE;
3512 rbrp->rbr_threshold_hi = rbrp->rbb_max;
3522 rbrp->rbr_threshold_hi =
3523 rbrp->rbb_max *
3528 rbrp->rbr_threshold_hi = 0;
3536 if (rbrp->rbr_use_bcopy) {
3537 rbrp->rbr_use_bcopy = B_FALSE;
3539 rbrp->rbr_threshold_lo = rbrp->rbb_max;
3549 rbrp->rbr_threshold_lo =
3550 rbrp->rbb_max *
3555 rbrp->rbr_threshold_lo = 0;
3562 "rbrp->rbr_bufsize_type %d "
3566 rbrp->rbb_max,
3567 rbrp->rbr_bufsize_type,
3568 rbrp->rbr_threshold_hi,
3569 rbrp->rbr_threshold_lo));
3571 rbrp->page_valid.value = 0;
3572 rbrp->page_mask_1.value = rbrp->page_mask_2.value = 0;
3573 rbrp->page_value_1.value = rbrp->page_value_2.value = 0;
3574 rbrp->page_reloc_1.value = rbrp->page_reloc_2.value = 0;
3575 rbrp->page_hdl.value = 0;
3577 rbrp->page_valid.bits.ldw.page0 = 1;
3578 rbrp->page_valid.bits.ldw.page1 = 1;
3726 rbrp->rx_rcr_p = rcrp;
3727 rcrp->rx_rbr_p = rbrp;
3758 p_rx_rbr_ring_t rbrp;
3796 rbrp = (p_rx_rbr_ring_t)KMEM_ZALLOC(sizeof (*rbrp), KM_SLEEP);
3803 MUTEX_INIT(&rbrp->lock, NULL, MUTEX_DRIVER,
3805 MUTEX_INIT(&rbrp->post_lock, NULL, MUTEX_DRIVER,
3807 rbrp->rdc = channel;
3808 rbrp->num_blocks = num_chunks;
3809 rbrp->tnblocks = nmsgs;
3810 rbrp->rbb_max = nmsgs;
3811 rbrp->rbr_max_size = nmsgs;
3812 rbrp->rbr_wrap_mask = (rbrp->rbb_max - 1);
3819 rbrp->pkt_buf_size0 = RBR_BUFSZ0_256B;
3820 rbrp->pkt_buf_size0_bytes = RBR_BUFSZ0_256_BYTES;
3821 rbrp->npi_pkt_buf_size0 = SIZE_256B;
3823 rbrp->pkt_buf_size1 = RBR_BUFSZ1_1K;
3824 rbrp->pkt_buf_size1_bytes = RBR_BUFSZ1_1K_BYTES;
3825 rbrp->npi_pkt_buf_size1 = SIZE_1KB;
3827 rbrp->block_size = nxgep->rx_default_block_size;
3830 rbrp->pkt_buf_size2 = RBR_BUFSZ2_2K;
3831 rbrp->pkt_buf_size2_bytes = RBR_BUFSZ2_2K_BYTES;
3832 rbrp->npi_pkt_buf_size2 = SIZE_2KB;
3834 if (rbrp->block_size >= 0x2000) {
3835 rbrp->pkt_buf_size2 = RBR_BUFSZ2_8K;
3836 rbrp->pkt_buf_size2_bytes = RBR_BUFSZ2_8K_BYTES;
3837 rbrp->npi_pkt_buf_size2 = SIZE_8KB;
3839 rbrp->pkt_buf_size2 = RBR_BUFSZ2_4K;
3840 rbrp->pkt_buf_size2_bytes = RBR_BUFSZ2_4K_BYTES;
3841 rbrp->npi_pkt_buf_size2 = SIZE_4KB;
3848 "rbrp->block_size %d default_block_size %d "
3850 channel, rbrp->rbr_max_size, rbrp->rbb_max, nmsgs,
3851 rbrp->block_size, nxgep->rx_default_block_size,
3856 for (i = 0; i < rbrp->num_blocks; i++, dma_bufp++) {
3902 rbrp->rbr_ref_cnt++;
3907 rbrp->rbr_alloc_type = DDI_MEM_ALLOC;
3909 rbrp->rbr_alloc_type = CONTIG_MEM_ALLOC;
3913 rbrp->rbr_alloc_type = KMEM_ALLOC;
3925 if (i < rbrp->num_blocks) {
3934 rbrp->rx_msg_ring = rx_msg_ring;
3935 rbrp->dma_bufp = dma_buf_p;
3936 rbrp->ring_info = ring_info;
3938 status = nxge_rxbuf_index_info_init(nxgep, rbrp);
3946 rbrp->rbr_state = RBR_POSTING;
3948 *rbr_p = rbrp;
3965 MUTEX_DESTROY(&rbrp->post_lock);
3966 MUTEX_DESTROY(&rbrp->lock);
3969 KMEM_FREE(rbrp, sizeof (rx_rbr_ring_t));
3998 "<== nxge_unmap_rxdma_channel_buf_ring: NULL rbrp"));
4596 p_rx_rbr_ring_t rbrp;
4619 rbrp = (p_rx_rbr_ring_t)nxgep->rx_rbr_rings->rbr_rings[channel];
4622 MUTEX_ENTER(&rbrp->lock);
4623 MUTEX_ENTER(&rbrp->post_lock);
4661 rbrp->rbr_wr_index = (rbrp->rbb_max - 1);
4662 rbrp->rbr_rd_index = 0;
4684 cmn_err(CE_NOTE, "!rbr entries = %d\n", rbrp->rbr_max_size);
4686 for (i = 0; i < rbrp->rbr_max_size; i++) {
4687 rx_msg_p = rbrp->rx_msg_ring[i];
4709 status = nxge_rxdma_start_channel(nxgep, channel, rbrp, rcrp, mboxp);
4714 MUTEX_EXIT(&rbrp->post_lock);
4715 MUTEX_EXIT(&rbrp->lock);
4724 MUTEX_EXIT(&rbrp->post_lock);
4725 MUTEX_EXIT(&rbrp->lock);