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
1007 if (channel->reserve_ptr - channel->reserve_top > 0) { in vxge_hw_channel_dtr_alloc()
1009 *dtrh = channel->reserve_arr[--channel->reserve_ptr]; in vxge_hw_channel_dtr_alloc()
1020 if (channel->length - channel->free_ptr > 0) { in vxge_hw_channel_dtr_alloc()
1021 swap(channel->reserve_arr, channel->free_arr); in vxge_hw_channel_dtr_alloc()
1022 channel->reserve_ptr = channel->length; in vxge_hw_channel_dtr_alloc()
1023 channel->reserve_top = channel->free_ptr; in vxge_hw_channel_dtr_alloc()
1024 channel->free_ptr = channel->length; in vxge_hw_channel_dtr_alloc()
1026 channel->stats->reserve_free_swaps_cnt++; in vxge_hw_channel_dtr_alloc()
1031 channel->stats->full_cnt++; in vxge_hw_channel_dtr_alloc()
1046 vxge_hw_channel_dtr_post(struct __vxge_hw_channel *channel, void *dtrh) in vxge_hw_channel_dtr_post() argument
1048 vxge_assert(channel->work_arr[channel->post_index] == NULL); in vxge_hw_channel_dtr_post()
1050 channel->work_arr[channel->post_index++] = dtrh; in vxge_hw_channel_dtr_post()
1053 if (channel->post_index == channel->length) in vxge_hw_channel_dtr_post()
1054 channel->post_index = 0; in vxge_hw_channel_dtr_post()
1066 vxge_hw_channel_dtr_try_complete(struct __vxge_hw_channel *channel, void **dtrh) in vxge_hw_channel_dtr_try_complete() argument
1068 vxge_assert(channel->compl_index < channel->length); in vxge_hw_channel_dtr_try_complete()
1070 *dtrh = channel->work_arr[channel->compl_index]; in vxge_hw_channel_dtr_try_complete()
1081 void vxge_hw_channel_dtr_complete(struct __vxge_hw_channel *channel) in vxge_hw_channel_dtr_complete() argument
1083 channel->work_arr[channel->compl_index] = NULL; in vxge_hw_channel_dtr_complete()
1086 if (++channel->compl_index == channel->length) in vxge_hw_channel_dtr_complete()
1087 channel->compl_index = 0; in vxge_hw_channel_dtr_complete()
1089 channel->stats->total_compl_cnt++; in vxge_hw_channel_dtr_complete()
1100 void vxge_hw_channel_dtr_free(struct __vxge_hw_channel *channel, void *dtrh) in vxge_hw_channel_dtr_free() argument
1102 channel->free_arr[--channel->free_ptr] = dtrh; in vxge_hw_channel_dtr_free()
1112 int vxge_hw_channel_dtr_count(struct __vxge_hw_channel *channel) in vxge_hw_channel_dtr_count() argument
1114 return (channel->reserve_ptr - channel->reserve_top) + in vxge_hw_channel_dtr_count()
1115 (channel->length - channel->free_ptr); in vxge_hw_channel_dtr_count()
1136 struct __vxge_hw_channel *channel; in vxge_hw_ring_rxd_reserve() local
1138 channel = &ring->channel; in vxge_hw_ring_rxd_reserve()
1140 status = vxge_hw_channel_dtr_alloc(channel, rxdh); in vxge_hw_ring_rxd_reserve()
1178 struct __vxge_hw_channel *channel; in vxge_hw_ring_rxd_free() local
1180 channel = &ring->channel; in vxge_hw_ring_rxd_free()
1182 vxge_hw_channel_dtr_free(channel, rxdh); in vxge_hw_ring_rxd_free()
1195 struct __vxge_hw_channel *channel; in vxge_hw_ring_rxd_pre_post() local
1197 channel = &ring->channel; in vxge_hw_ring_rxd_pre_post()
1199 vxge_hw_channel_dtr_post(channel, rxdh); in vxge_hw_ring_rxd_pre_post()
1212 struct __vxge_hw_channel *channel; in vxge_hw_ring_rxd_post_post() local
1214 channel = &ring->channel; in vxge_hw_ring_rxd_post_post()
1235 struct __vxge_hw_channel *channel; in vxge_hw_ring_rxd_post() local
1237 channel = &ring->channel; in vxge_hw_ring_rxd_post()
1242 vxge_hw_channel_dtr_post(channel, rxdh); in vxge_hw_ring_rxd_post()
1297 struct __vxge_hw_channel *channel; in vxge_hw_ring_rxd_next_completed() local
1302 channel = &ring->channel; in vxge_hw_ring_rxd_next_completed()
1304 vxge_hw_channel_dtr_try_complete(channel, rxdh); in vxge_hw_ring_rxd_next_completed()
1323 vxge_hw_channel_dtr_complete(channel); in vxge_hw_ring_rxd_next_completed()
1362 struct __vxge_hw_channel *channel; in vxge_hw_ring_handle_tcode() local
1365 channel = &ring->channel; in vxge_hw_ring_handle_tcode()
1402 struct __vxge_hw_channel *channel; in __vxge_hw_non_offload_db_post() local
1404 channel = &fifo->channel; in __vxge_hw_non_offload_db_post()
1425 return vxge_hw_channel_dtr_count(&fifoh->channel); in vxge_hw_fifo_free_txdl_count_get()
1452 struct __vxge_hw_channel *channel; in vxge_hw_fifo_txdl_reserve() local
1456 channel = &fifo->channel; in vxge_hw_fifo_txdl_reserve()
1458 status = vxge_hw_channel_dtr_alloc(channel, txdlh); in vxge_hw_fifo_txdl_reserve()
1509 struct __vxge_hw_channel *channel; in vxge_hw_fifo_txdl_buffer_set() local
1511 channel = &fifo->channel; in vxge_hw_fifo_txdl_buffer_set()
1557 struct __vxge_hw_channel *channel; in vxge_hw_fifo_txdl_post() local
1559 channel = &fifo->channel; in vxge_hw_fifo_txdl_post()
1569 vxge_hw_channel_dtr_post(&fifo->channel, txdlh); in vxge_hw_fifo_txdl_post()
1620 struct __vxge_hw_channel *channel; in vxge_hw_fifo_txdl_next_completed() local
1624 channel = &fifo->channel; in vxge_hw_fifo_txdl_next_completed()
1626 vxge_hw_channel_dtr_try_complete(channel, txdlh); in vxge_hw_fifo_txdl_next_completed()
1639 vxge_hw_channel_dtr_complete(channel); in vxge_hw_fifo_txdl_next_completed()
1675 struct __vxge_hw_channel *channel; in vxge_hw_fifo_handle_tcode() local
1678 channel = &fifo->channel; in vxge_hw_fifo_handle_tcode()
1718 struct __vxge_hw_channel *channel; in vxge_hw_fifo_txdl_free() local
1720 channel = &fifo->channel; in vxge_hw_fifo_txdl_free()
1727 vxge_hw_channel_dtr_free(channel, txdlh); in vxge_hw_fifo_txdl_free()
2415 t_code, ring->channel.userdata); in vxge_hw_vpath_poll_rx()
2463 struct __vxge_hw_channel *channel; in vxge_hw_vpath_poll_tx() local
2465 channel = &fifo->channel; in vxge_hw_vpath_poll_tx()
2471 channel->userdata, skb_ptr, nr_skb, more) != VXGE_HW_OK) in vxge_hw_vpath_poll_tx()