Lines Matching refs:channel
293 void vxge_hw_channel_msix_mask(struct __vxge_hw_channel *channel, int msix_id) in vxge_hw_channel_msix_mask() argument
298 &channel->common_reg->set_msix_mask_vect[msix_id%4]); in vxge_hw_channel_msix_mask()
311 vxge_hw_channel_msix_unmask(struct __vxge_hw_channel *channel, int msix_id) in vxge_hw_channel_msix_unmask() argument
316 &channel->common_reg->clear_msix_mask_vect[msix_id%4]); in vxge_hw_channel_msix_unmask()
329 void vxge_hw_channel_msix_clear(struct __vxge_hw_channel *channel, int msix_id) in vxge_hw_channel_msix_clear() argument
333 &channel->common_reg->clr_msix_one_shot_vec[msix_id % 4]); in vxge_hw_channel_msix_clear()
1005 vxge_hw_channel_dtr_alloc(struct __vxge_hw_channel *channel, void **dtrh) in vxge_hw_channel_dtr_alloc() argument
1009 if (channel->reserve_ptr - channel->reserve_top > 0) { in vxge_hw_channel_dtr_alloc()
1011 *dtrh = channel->reserve_arr[--channel->reserve_ptr]; in vxge_hw_channel_dtr_alloc()
1022 if (channel->length - channel->free_ptr > 0) { in vxge_hw_channel_dtr_alloc()
1024 tmp_arr = channel->reserve_arr; in vxge_hw_channel_dtr_alloc()
1025 channel->reserve_arr = channel->free_arr; in vxge_hw_channel_dtr_alloc()
1026 channel->free_arr = tmp_arr; in vxge_hw_channel_dtr_alloc()
1027 channel->reserve_ptr = channel->length; in vxge_hw_channel_dtr_alloc()
1028 channel->reserve_top = channel->free_ptr; in vxge_hw_channel_dtr_alloc()
1029 channel->free_ptr = channel->length; in vxge_hw_channel_dtr_alloc()
1031 channel->stats->reserve_free_swaps_cnt++; in vxge_hw_channel_dtr_alloc()
1036 channel->stats->full_cnt++; in vxge_hw_channel_dtr_alloc()
1051 vxge_hw_channel_dtr_post(struct __vxge_hw_channel *channel, void *dtrh) in vxge_hw_channel_dtr_post() argument
1053 vxge_assert(channel->work_arr[channel->post_index] == NULL); in vxge_hw_channel_dtr_post()
1055 channel->work_arr[channel->post_index++] = dtrh; in vxge_hw_channel_dtr_post()
1058 if (channel->post_index == channel->length) in vxge_hw_channel_dtr_post()
1059 channel->post_index = 0; in vxge_hw_channel_dtr_post()
1071 vxge_hw_channel_dtr_try_complete(struct __vxge_hw_channel *channel, void **dtrh) in vxge_hw_channel_dtr_try_complete() argument
1073 vxge_assert(channel->compl_index < channel->length); in vxge_hw_channel_dtr_try_complete()
1075 *dtrh = channel->work_arr[channel->compl_index]; in vxge_hw_channel_dtr_try_complete()
1086 void vxge_hw_channel_dtr_complete(struct __vxge_hw_channel *channel) in vxge_hw_channel_dtr_complete() argument
1088 channel->work_arr[channel->compl_index] = NULL; in vxge_hw_channel_dtr_complete()
1091 if (++channel->compl_index == channel->length) in vxge_hw_channel_dtr_complete()
1092 channel->compl_index = 0; in vxge_hw_channel_dtr_complete()
1094 channel->stats->total_compl_cnt++; in vxge_hw_channel_dtr_complete()
1105 void vxge_hw_channel_dtr_free(struct __vxge_hw_channel *channel, void *dtrh) in vxge_hw_channel_dtr_free() argument
1107 channel->free_arr[--channel->free_ptr] = dtrh; in vxge_hw_channel_dtr_free()
1117 int vxge_hw_channel_dtr_count(struct __vxge_hw_channel *channel) in vxge_hw_channel_dtr_count() argument
1119 return (channel->reserve_ptr - channel->reserve_top) + in vxge_hw_channel_dtr_count()
1120 (channel->length - channel->free_ptr); in vxge_hw_channel_dtr_count()
1141 struct __vxge_hw_channel *channel; in vxge_hw_ring_rxd_reserve() local
1143 channel = &ring->channel; in vxge_hw_ring_rxd_reserve()
1145 status = vxge_hw_channel_dtr_alloc(channel, rxdh); in vxge_hw_ring_rxd_reserve()
1183 struct __vxge_hw_channel *channel; in vxge_hw_ring_rxd_free() local
1185 channel = &ring->channel; in vxge_hw_ring_rxd_free()
1187 vxge_hw_channel_dtr_free(channel, rxdh); in vxge_hw_ring_rxd_free()
1200 struct __vxge_hw_channel *channel; in vxge_hw_ring_rxd_pre_post() local
1202 channel = &ring->channel; in vxge_hw_ring_rxd_pre_post()
1204 vxge_hw_channel_dtr_post(channel, rxdh); in vxge_hw_ring_rxd_pre_post()
1217 struct __vxge_hw_channel *channel; in vxge_hw_ring_rxd_post_post() local
1219 channel = &ring->channel; in vxge_hw_ring_rxd_post_post()
1240 struct __vxge_hw_channel *channel; in vxge_hw_ring_rxd_post() local
1242 channel = &ring->channel; in vxge_hw_ring_rxd_post()
1247 vxge_hw_channel_dtr_post(channel, rxdh); in vxge_hw_ring_rxd_post()
1302 struct __vxge_hw_channel *channel; in vxge_hw_ring_rxd_next_completed() local
1307 channel = &ring->channel; in vxge_hw_ring_rxd_next_completed()
1309 vxge_hw_channel_dtr_try_complete(channel, rxdh); in vxge_hw_ring_rxd_next_completed()
1328 vxge_hw_channel_dtr_complete(channel); in vxge_hw_ring_rxd_next_completed()
1367 struct __vxge_hw_channel *channel; in vxge_hw_ring_handle_tcode() local
1370 channel = &ring->channel; in vxge_hw_ring_handle_tcode()
1407 struct __vxge_hw_channel *channel; in __vxge_hw_non_offload_db_post() local
1409 channel = &fifo->channel; in __vxge_hw_non_offload_db_post()
1430 return vxge_hw_channel_dtr_count(&fifoh->channel); in vxge_hw_fifo_free_txdl_count_get()
1457 struct __vxge_hw_channel *channel; in vxge_hw_fifo_txdl_reserve() local
1461 channel = &fifo->channel; in vxge_hw_fifo_txdl_reserve()
1463 status = vxge_hw_channel_dtr_alloc(channel, txdlh); in vxge_hw_fifo_txdl_reserve()
1514 struct __vxge_hw_channel *channel; in vxge_hw_fifo_txdl_buffer_set() local
1516 channel = &fifo->channel; in vxge_hw_fifo_txdl_buffer_set()
1562 struct __vxge_hw_channel *channel; in vxge_hw_fifo_txdl_post() local
1564 channel = &fifo->channel; in vxge_hw_fifo_txdl_post()
1574 vxge_hw_channel_dtr_post(&fifo->channel, txdlh); in vxge_hw_fifo_txdl_post()
1625 struct __vxge_hw_channel *channel; in vxge_hw_fifo_txdl_next_completed() local
1629 channel = &fifo->channel; in vxge_hw_fifo_txdl_next_completed()
1631 vxge_hw_channel_dtr_try_complete(channel, txdlh); in vxge_hw_fifo_txdl_next_completed()
1644 vxge_hw_channel_dtr_complete(channel); in vxge_hw_fifo_txdl_next_completed()
1680 struct __vxge_hw_channel *channel; in vxge_hw_fifo_handle_tcode() local
1683 channel = &fifo->channel; in vxge_hw_fifo_handle_tcode()
1723 struct __vxge_hw_channel *channel; in vxge_hw_fifo_txdl_free() local
1725 channel = &fifo->channel; in vxge_hw_fifo_txdl_free()
1732 vxge_hw_channel_dtr_free(channel, txdlh); in vxge_hw_fifo_txdl_free()
2420 t_code, ring->channel.userdata); in vxge_hw_vpath_poll_rx()
2468 struct __vxge_hw_channel *channel; in vxge_hw_vpath_poll_tx() local
2470 channel = &fifo->channel; in vxge_hw_vpath_poll_tx()
2476 channel->userdata, skb_ptr, nr_skb, more) != VXGE_HW_OK) in vxge_hw_vpath_poll_tx()