Lines Matching defs:rbrp

647 hxge_rxbuf_index_info_init(p_hxge_t hxgep, p_rx_rbr_ring_t rbrp)
655 ring_info = rbrp->ring_info;
660 max_index = rbrp->num_blocks;
1097 p_rx_rbr_ring_t rbrp;
1166 rbrp = hxgep->rx_rbr_rings->rbr_rings[channel];
1167 MUTEX_ENTER(&rbrp->post_lock);
1168 if (!rbrp->rbr_is_empty) {
1175 MUTEX_EXIT(&rbrp->post_lock);
2087 p_rx_rbr_ring_t rbrp;
2090 rbrp = rcrp->rx_rbr_p;
2103 MUTEX_ENTER(&rbrp->post_lock);
2104 if ((rbrp->rbb_max - rbrp->rbr_used) >= HXGE_RBR_EMPTY_THRESHOLD) {
2105 hxge_rbr_empty_restore(hxgep, rbrp);
2107 rbrp->rbr_is_empty = B_TRUE;
2109 MUTEX_EXIT(&rbrp->post_lock);
2231 p_rx_rbr_ring_t rbrp;
2234 rbrp = rcrp->rx_rbr_p;
2240 MUTEX_ENTER(&rbrp->post_lock);
2243 MUTEX_EXIT(&rbrp->post_lock);
2564 p_rx_rbr_ring_t rbrp;
2593 rbrp = *rbr_p;
2594 dmap = (p_hxge_dma_common_t)&rbrp->rbr_desc;
2595 hxge_setup_dma_common(dmap, cntl_dmap, rbrp->rbb_max, 4);
2602 rcfga_p = &(rbrp->rbr_cfga);
2603 rcfgb_p = &(rbrp->rbr_cfgb);
2604 kick_p = &(rbrp->rbr_kick);
2608 rbrp->rbr_addr = dmap->dma_cookie.dmac_laddress;
2609 rcfga_p->value = (rbrp->rbr_addr &
2611 rcfga_p->value |= ((uint64_t)rbrp->rbb_max << RBR_CFIG_A_LEN_SHIFT);
2614 rcfgb_p->bits.bufsz0 = rbrp->pkt_buf_size0;
2616 rcfgb_p->bits.bufsz1 = rbrp->pkt_buf_size1;
2618 rcfgb_p->bits.bufsz2 = rbrp->pkt_buf_size2;
2626 rbrp->rbr_desc_vp = (uint32_t *)dmap->kaddrp;
2631 rx_msg_ring = rbrp->rx_msg_ring;
2632 for (i = 0; i < rbrp->tnblocks; i++) {
2635 rx_msg_p->rx_rbr_p = rbrp;
2645 kick_p->bits.bkadd = rbrp->rbb_max;
2646 rbrp->rbr_wr_index = (rbrp->rbb_max - 1);
2648 rbrp->rbr_rd_index = 0;
2650 rbrp->rbr_consumed = 0;
2651 rbrp->rbr_used = 0;
2652 rbrp->rbr_use_bcopy = B_TRUE;
2653 rbrp->rbr_bufsize_type = RCR_PKTBUFSZ_0;
2668 rbrp->rbr_bufsize_type = hxge_rx_buf_size_type;
2674 rbrp->rbr_use_bcopy = B_FALSE;
2675 rbrp->rbr_threshold_hi = rbrp->rbb_max;
2685 rbrp->rbr_threshold_hi =
2686 rbrp->rbb_max * (hxge_rx_threshold_hi) /
2691 rbrp->rbr_threshold_hi = 0;
2699 if (rbrp->rbr_use_bcopy) {
2700 rbrp->rbr_use_bcopy = B_FALSE;
2702 rbrp->rbr_threshold_lo = rbrp->rbb_max;
2712 rbrp->rbr_threshold_lo =
2713 rbrp->rbb_max * (hxge_rx_threshold_lo) /
2718 rbrp->rbr_threshold_lo = 0;
2724 "rbrp->rbr_bufsize_type %d rbb_threshold_hi %d "
2726 dma_channel, rbrp->rbb_max, rbrp->rbr_bufsize_type,
2727 rbrp->rbr_threshold_hi, rbrp->rbr_threshold_lo));
2835 rbrp->rx_rcr_p = rcrp;
2836 rcrp->rx_rbr_p = rbrp;
2866 p_rx_rbr_ring_t rbrp;
2900 rbrp = (p_rx_rbr_ring_t)KMEM_ZALLOC(sizeof (rx_rbr_ring_t), KM_SLEEP);
2907 MUTEX_INIT(&rbrp->lock, NULL, MUTEX_DRIVER,
2909 MUTEX_INIT(&rbrp->post_lock, NULL, MUTEX_DRIVER,
2912 rbrp->rdc = channel;
2913 rbrp->num_blocks = num_chunks;
2914 rbrp->tnblocks = nmsgs;
2915 rbrp->rbb_max = nmsgs;
2916 rbrp->rbr_max_size = nmsgs;
2917 rbrp->rbr_wrap_mask = (rbrp->rbb_max - 1);
2924 rbrp->pkt_buf_size0 = RBR_BUFSZ0_256B;
2925 rbrp->pkt_buf_size0_bytes = RBR_BUFSZ0_256_BYTES;
2926 rbrp->hpi_pkt_buf_size0 = SIZE_256B;
2931 rbrp->pkt_buf_size1 = RBR_BUFSZ1_1K;
2932 rbrp->pkt_buf_size1_bytes = RBR_BUFSZ1_1K_BYTES;
2933 rbrp->hpi_pkt_buf_size1 = SIZE_1KB;
2938 rbrp->pkt_buf_size2 = RBR_BUFSZ2_2K;
2939 rbrp->pkt_buf_size2_bytes = RBR_BUFSZ2_2K_BYTES;
2940 rbrp->hpi_pkt_buf_size2 = SIZE_2KB;
2942 rbrp->block_size = hxgep->rx_default_block_size;
2947 "rbrp->block_size %d default_block_size %d "
2949 channel, rbrp->rbr_max_size, rbrp->rbb_max, nmsgs,
2950 rbrp->block_size, hxgep->rx_default_block_size,
2960 for (i = 0; i < rbrp->num_blocks; i++, dma_bufp++) {
3008 rbrp->rbr_ref_cnt++;
3013 if (i < rbrp->num_blocks) {
3020 rbrp->rx_msg_ring = rx_msg_ring;
3021 rbrp->dma_bufp = dma_buf_p;
3022 rbrp->ring_info = ring_info;
3024 status = hxge_rxbuf_index_info_init(hxgep, rbrp);
3031 rbrp->rbr_state = RBR_POSTING;
3033 *rbr_p = rbrp;
3052 MUTEX_DESTROY(&rbrp->post_lock);
3053 MUTEX_DESTROY(&rbrp->lock);
3056 KMEM_FREE(rbrp, sizeof (rx_rbr_ring_t));
3082 "<== hxge_unmap_rxdma_channel_buf_ring: NULL rbrp"));
3580 p_rx_rbr_ring_t rbrp;
3602 rbrp = (p_rx_rbr_ring_t)hxgep->rx_rbr_rings->rbr_rings[channel];
3606 MUTEX_ENTER(&rbrp->lock);
3637 rbrp->rbr_wr_index = (rbrp->rbb_max - 1);
3638 rbrp->rbr_rd_index = 0;
3664 rbrp->rbr_max_size));
3667 for (i = 0; i < rbrp->rbr_max_size; i++) {
3668 rx_msg_p = rbrp->rx_msg_ring[i];
3682 (void) hxge_rxdma_start_channel(hxgep, channel, rbrp, rcrp, mboxp,
3705 MUTEX_EXIT(&rbrp->lock);
3712 MUTEX_EXIT(&rbrp->lock);
3729 p_rx_rbr_ring_t rbrp;
3763 rbrp = rcrp->rx_rbr_p;
3765 MUTEX_ENTER(&rbrp->post_lock);
3774 MUTEX_EXIT(&rbrp->post_lock);