Lines Matching refs:rbrp

638 hxge_rxbuf_index_info_init(p_hxge_t hxgep, p_rx_rbr_ring_t rbrp)  in hxge_rxbuf_index_info_init()  argument
646 ring_info = rbrp->ring_info; in hxge_rxbuf_index_info_init()
651 max_index = rbrp->num_blocks; in hxge_rxbuf_index_info_init()
1088 p_rx_rbr_ring_t rbrp; in hxge_rx_intr() local
1157 rbrp = hxgep->rx_rbr_rings->rbr_rings[channel]; in hxge_rx_intr()
1158 MUTEX_ENTER(&rbrp->post_lock); in hxge_rx_intr()
1159 if (!rbrp->rbr_is_empty) { in hxge_rx_intr()
1166 MUTEX_EXIT(&rbrp->post_lock); in hxge_rx_intr()
2068 p_rx_rbr_ring_t rbrp; in hxge_rx_rbr_empty_recover() local
2071 rbrp = rcrp->rx_rbr_p; in hxge_rx_rbr_empty_recover()
2084 MUTEX_ENTER(&rbrp->post_lock); in hxge_rx_rbr_empty_recover()
2085 if ((rbrp->rbb_max - rbrp->rbr_used) >= HXGE_RBR_EMPTY_THRESHOLD) { in hxge_rx_rbr_empty_recover()
2086 hxge_rbr_empty_restore(hxgep, rbrp); in hxge_rx_rbr_empty_recover()
2088 rbrp->rbr_is_empty = B_TRUE; in hxge_rx_rbr_empty_recover()
2090 MUTEX_EXIT(&rbrp->post_lock); in hxge_rx_rbr_empty_recover()
2212 p_rx_rbr_ring_t rbrp; in hxge_rx_err_evnts() local
2215 rbrp = rcrp->rx_rbr_p; in hxge_rx_err_evnts()
2221 MUTEX_ENTER(&rbrp->post_lock); in hxge_rx_err_evnts()
2224 MUTEX_EXIT(&rbrp->post_lock); in hxge_rx_err_evnts()
2545 p_rx_rbr_ring_t rbrp; in hxge_map_rxdma_channel_cfg_ring() local
2574 rbrp = *rbr_p; in hxge_map_rxdma_channel_cfg_ring()
2575 dmap = (p_hxge_dma_common_t)&rbrp->rbr_desc; in hxge_map_rxdma_channel_cfg_ring()
2576 hxge_setup_dma_common(dmap, cntl_dmap, rbrp->rbb_max, 4); in hxge_map_rxdma_channel_cfg_ring()
2583 rcfga_p = &(rbrp->rbr_cfga); in hxge_map_rxdma_channel_cfg_ring()
2584 rcfgb_p = &(rbrp->rbr_cfgb); in hxge_map_rxdma_channel_cfg_ring()
2585 kick_p = &(rbrp->rbr_kick); in hxge_map_rxdma_channel_cfg_ring()
2589 rbrp->rbr_addr = dmap->dma_cookie.dmac_laddress; in hxge_map_rxdma_channel_cfg_ring()
2590 rcfga_p->value = (rbrp->rbr_addr & in hxge_map_rxdma_channel_cfg_ring()
2592 rcfga_p->value |= ((uint64_t)rbrp->rbb_max << RBR_CFIG_A_LEN_SHIFT); in hxge_map_rxdma_channel_cfg_ring()
2595 rcfgb_p->bits.bufsz0 = rbrp->pkt_buf_size0; in hxge_map_rxdma_channel_cfg_ring()
2597 rcfgb_p->bits.bufsz1 = rbrp->pkt_buf_size1; in hxge_map_rxdma_channel_cfg_ring()
2599 rcfgb_p->bits.bufsz2 = rbrp->pkt_buf_size2; in hxge_map_rxdma_channel_cfg_ring()
2607 rbrp->rbr_desc_vp = (uint32_t *)dmap->kaddrp; in hxge_map_rxdma_channel_cfg_ring()
2612 rx_msg_ring = rbrp->rx_msg_ring; in hxge_map_rxdma_channel_cfg_ring()
2613 for (i = 0; i < rbrp->tnblocks; i++) { in hxge_map_rxdma_channel_cfg_ring()
2616 rx_msg_p->rx_rbr_p = rbrp; in hxge_map_rxdma_channel_cfg_ring()
2626 kick_p->bits.bkadd = rbrp->rbb_max; in hxge_map_rxdma_channel_cfg_ring()
2627 rbrp->rbr_wr_index = (rbrp->rbb_max - 1); in hxge_map_rxdma_channel_cfg_ring()
2629 rbrp->rbr_rd_index = 0; in hxge_map_rxdma_channel_cfg_ring()
2631 rbrp->rbr_consumed = 0; in hxge_map_rxdma_channel_cfg_ring()
2632 rbrp->rbr_used = 0; in hxge_map_rxdma_channel_cfg_ring()
2633 rbrp->rbr_use_bcopy = B_TRUE; in hxge_map_rxdma_channel_cfg_ring()
2634 rbrp->rbr_bufsize_type = RCR_PKTBUFSZ_0; in hxge_map_rxdma_channel_cfg_ring()
2649 rbrp->rbr_bufsize_type = hxge_rx_buf_size_type; in hxge_map_rxdma_channel_cfg_ring()
2655 rbrp->rbr_use_bcopy = B_FALSE; in hxge_map_rxdma_channel_cfg_ring()
2656 rbrp->rbr_threshold_hi = rbrp->rbb_max; in hxge_map_rxdma_channel_cfg_ring()
2666 rbrp->rbr_threshold_hi = in hxge_map_rxdma_channel_cfg_ring()
2667 rbrp->rbb_max * (hxge_rx_threshold_hi) / in hxge_map_rxdma_channel_cfg_ring()
2672 rbrp->rbr_threshold_hi = 0; in hxge_map_rxdma_channel_cfg_ring()
2680 if (rbrp->rbr_use_bcopy) { in hxge_map_rxdma_channel_cfg_ring()
2681 rbrp->rbr_use_bcopy = B_FALSE; in hxge_map_rxdma_channel_cfg_ring()
2683 rbrp->rbr_threshold_lo = rbrp->rbb_max; in hxge_map_rxdma_channel_cfg_ring()
2693 rbrp->rbr_threshold_lo = in hxge_map_rxdma_channel_cfg_ring()
2694 rbrp->rbb_max * (hxge_rx_threshold_lo) / in hxge_map_rxdma_channel_cfg_ring()
2699 rbrp->rbr_threshold_lo = 0; in hxge_map_rxdma_channel_cfg_ring()
2707 dma_channel, rbrp->rbb_max, rbrp->rbr_bufsize_type, in hxge_map_rxdma_channel_cfg_ring()
2708 rbrp->rbr_threshold_hi, rbrp->rbr_threshold_lo)); in hxge_map_rxdma_channel_cfg_ring()
2811 rbrp->rx_rcr_p = rcrp; in hxge_map_rxdma_channel_cfg_ring()
2812 rcrp->rx_rbr_p = rbrp; in hxge_map_rxdma_channel_cfg_ring()
2842 p_rx_rbr_ring_t rbrp; in hxge_map_rxdma_channel_buf_ring() local
2876 rbrp = (p_rx_rbr_ring_t)KMEM_ZALLOC(sizeof (rx_rbr_ring_t), KM_SLEEP); in hxge_map_rxdma_channel_buf_ring()
2883 MUTEX_INIT(&rbrp->lock, NULL, MUTEX_DRIVER, in hxge_map_rxdma_channel_buf_ring()
2885 MUTEX_INIT(&rbrp->post_lock, NULL, MUTEX_DRIVER, in hxge_map_rxdma_channel_buf_ring()
2888 rbrp->rdc = channel; in hxge_map_rxdma_channel_buf_ring()
2889 rbrp->num_blocks = num_chunks; in hxge_map_rxdma_channel_buf_ring()
2890 rbrp->tnblocks = nmsgs; in hxge_map_rxdma_channel_buf_ring()
2891 rbrp->rbb_max = nmsgs; in hxge_map_rxdma_channel_buf_ring()
2892 rbrp->rbr_max_size = nmsgs; in hxge_map_rxdma_channel_buf_ring()
2893 rbrp->rbr_wrap_mask = (rbrp->rbb_max - 1); in hxge_map_rxdma_channel_buf_ring()
2900 rbrp->pkt_buf_size0 = RBR_BUFSZ0_256B; in hxge_map_rxdma_channel_buf_ring()
2901 rbrp->pkt_buf_size0_bytes = RBR_BUFSZ0_256_BYTES; in hxge_map_rxdma_channel_buf_ring()
2902 rbrp->hpi_pkt_buf_size0 = SIZE_256B; in hxge_map_rxdma_channel_buf_ring()
2907 rbrp->pkt_buf_size1 = RBR_BUFSZ1_1K; in hxge_map_rxdma_channel_buf_ring()
2908 rbrp->pkt_buf_size1_bytes = RBR_BUFSZ1_1K_BYTES; in hxge_map_rxdma_channel_buf_ring()
2909 rbrp->hpi_pkt_buf_size1 = SIZE_1KB; in hxge_map_rxdma_channel_buf_ring()
2914 rbrp->pkt_buf_size2 = RBR_BUFSZ2_2K; in hxge_map_rxdma_channel_buf_ring()
2915 rbrp->pkt_buf_size2_bytes = RBR_BUFSZ2_2K_BYTES; in hxge_map_rxdma_channel_buf_ring()
2916 rbrp->hpi_pkt_buf_size2 = SIZE_2KB; in hxge_map_rxdma_channel_buf_ring()
2918 rbrp->block_size = hxgep->rx_default_block_size; in hxge_map_rxdma_channel_buf_ring()
2925 channel, rbrp->rbr_max_size, rbrp->rbb_max, nmsgs, in hxge_map_rxdma_channel_buf_ring()
2926 rbrp->block_size, hxgep->rx_default_block_size, in hxge_map_rxdma_channel_buf_ring()
2936 for (i = 0; i < rbrp->num_blocks; i++, dma_bufp++) { in hxge_map_rxdma_channel_buf_ring()
2976 rbrp->rbr_ref_cnt++; in hxge_map_rxdma_channel_buf_ring()
2981 if (i < rbrp->num_blocks) { in hxge_map_rxdma_channel_buf_ring()
2988 rbrp->rx_msg_ring = rx_msg_ring; in hxge_map_rxdma_channel_buf_ring()
2989 rbrp->dma_bufp = dma_buf_p; in hxge_map_rxdma_channel_buf_ring()
2990 rbrp->ring_info = ring_info; in hxge_map_rxdma_channel_buf_ring()
2992 status = hxge_rxbuf_index_info_init(hxgep, rbrp); in hxge_map_rxdma_channel_buf_ring()
2999 rbrp->rbr_state = RBR_POSTING; in hxge_map_rxdma_channel_buf_ring()
3001 *rbr_p = rbrp; in hxge_map_rxdma_channel_buf_ring()
3020 MUTEX_DESTROY(&rbrp->post_lock); in hxge_map_rxdma_channel_buf_ring()
3021 MUTEX_DESTROY(&rbrp->lock); in hxge_map_rxdma_channel_buf_ring()
3024 KMEM_FREE(rbrp, sizeof (rx_rbr_ring_t)); in hxge_map_rxdma_channel_buf_ring()
3548 p_rx_rbr_ring_t rbrp; in hxge_rxdma_fatal_err_recover() local
3570 rbrp = (p_rx_rbr_ring_t)hxgep->rx_rbr_rings->rbr_rings[channel]; in hxge_rxdma_fatal_err_recover()
3574 MUTEX_ENTER(&rbrp->lock); in hxge_rxdma_fatal_err_recover()
3605 rbrp->rbr_wr_index = (rbrp->rbb_max - 1); in hxge_rxdma_fatal_err_recover()
3606 rbrp->rbr_rd_index = 0; in hxge_rxdma_fatal_err_recover()
3627 rbrp->rbr_max_size)); in hxge_rxdma_fatal_err_recover()
3630 for (i = 0; i < rbrp->rbr_max_size; i++) { in hxge_rxdma_fatal_err_recover()
3631 rx_msg_p = rbrp->rx_msg_ring[i]; in hxge_rxdma_fatal_err_recover()
3645 (void) hxge_rxdma_start_channel(hxgep, channel, rbrp, rcrp, mboxp, in hxge_rxdma_fatal_err_recover()
3668 MUTEX_EXIT(&rbrp->lock); in hxge_rxdma_fatal_err_recover()
3675 MUTEX_EXIT(&rbrp->lock); in hxge_rxdma_fatal_err_recover()
3692 p_rx_rbr_ring_t rbrp; in hxge_rx_port_fatal_err_recover() local
3726 rbrp = rcrp->rx_rbr_p; in hxge_rx_port_fatal_err_recover()
3728 MUTEX_ENTER(&rbrp->post_lock); in hxge_rx_port_fatal_err_recover()
3737 MUTEX_EXIT(&rbrp->post_lock); in hxge_rx_port_fatal_err_recover()