Lines Matching defs:channel

604 	 * TX queues per channel for different checksumming combinations.
778 struct efx_channel *channel;
808 efx_for_each_channel(channel, efx) {
812 if (!channel->type->want_pio ||
813 channel->channel >= efx->xdp_channel_offset)
816 efx_for_each_channel_tx_queue(tx_queue, channel) {
822 tx_queue->channel->channel - 1) *
888 struct efx_channel *channel;
892 efx_for_each_channel(channel, efx)
893 efx_for_each_channel_tx_queue(tx_queue, channel)
1152 "Reducing channel VIs from %u to %u\n",
1160 * copy-buffer per TX channel. Failure is non-fatal, as there
1981 static void efx_ef10_push_irq_moderation(struct efx_channel *channel)
1983 struct efx_nic *efx = channel->efx;
1987 if (channel->irq_moderation_us) {
1989 usecs = channel->irq_moderation_us;
2000 channel->channel);
2015 channel->channel);
2023 channel->channel);
2151 /* Schedule processing of the channel */
2152 efx_schedule_channel_irq(efx->channel[context->index]);
2162 struct efx_channel *channel;
2178 efx_for_each_channel(channel, efx) {
2180 efx_schedule_channel_irq(channel);
2345 struct efx_channel *channel = tx_queue->channel;
2359 /* Disable sync events on this channel. */
2374 netif_dbg(efx, hw, efx->net_dev, "Using TSOv2 for channel %u\n",
2375 channel->channel);
2628 struct efx_channel *channel = efx_rx_queue_channel(rx_queue);
2636 MCDI_SET_DWORD(inbuf, DRIVER_EVENT_IN_EVQ, channel->channel);
2644 efx_mcdi_rpc_async(channel->efx, MC_CMD_DRIVER_EVENT,
2657 static int efx_ef10_ev_init(struct efx_channel *channel)
2659 struct efx_nic *efx = channel->efx;
2668 return efx_mcdi_ev_init(channel, cut_thru, use_v2);
2717 static u16 efx_ef10_handle_rx_event_errors(struct efx_channel *channel,
2724 struct efx_nic *efx = channel->efx;
2730 channel->n_rx_eth_crc_err += n_packets;
2747 &channel->n_rx_outer_ip_hdr_chksum_err :
2748 &channel->n_rx_ip_hdr_chksum_err) += n_packets;
2763 &channel->n_rx_outer_tcp_udp_chksum_err :
2764 &channel->n_rx_tcp_udp_chksum_err) += n_packets;
2782 channel->n_rx_inner_ip_hdr_chksum_err += n_packets;
2800 channel->n_rx_inner_tcp_udp_chksum_err += n_packets;
2808 static int efx_ef10_handle_rx_event(struct efx_channel *channel,
2814 struct efx_nic *efx = channel->efx;
2842 rx_queue = efx_channel_get_rx_queue(channel);
2884 ++channel->n_rx_merge_events;
2885 channel->n_rx_merge_packets += n_packets;
2902 flags |= efx_ef10_handle_rx_event_errors(channel, n_packets,
2932 channel->irq_mod_score += 2 * n_packets;
2961 efx_ef10_handle_tx_event(struct efx_channel *channel, efx_qword_t *event)
2963 struct efx_nic *efx = channel->efx;
2979 tx_queue = channel->tx_queue + (tx_ev_q_label % EFX_MAX_TXQ_PER_CHANNEL);
3032 "channel %d unknown tx event type %d (data "
3034 channel->channel, tx_ev_type,
3043 efx_ef10_handle_driver_event(struct efx_channel *channel, efx_qword_t *event)
3045 struct efx_nic *efx = channel->efx;
3059 "channel %d unknown driver event type %d"
3061 channel->channel, subcode,
3067 static void efx_ef10_handle_driver_generated_event(struct efx_channel *channel,
3070 struct efx_nic *efx = channel->efx;
3077 channel->event_test_cpu = raw_smp_processor_id();
3084 efx_fast_push_rx_descriptors(&channel->rx_queue, true);
3088 "channel %d unknown driver event type %u"
3090 channel->channel, (unsigned) subcode,
3097 static int efx_ef10_ev_process(struct efx_channel *channel, int quota)
3099 struct efx_nic *efx = channel->efx;
3109 read_ptr = channel->eventq_read_ptr;
3112 p_event = efx_event(channel, read_ptr);
3126 channel->channel, EFX_QWORD_VAL(event));
3130 efx_mcdi_process_event(channel, &event);
3133 spent += efx_ef10_handle_rx_event(channel, &event);
3143 spent_tx += efx_ef10_handle_tx_event(channel, &event);
3150 efx_ef10_handle_driver_event(channel, &event);
3155 efx_ef10_handle_driver_generated_event(channel, &event);
3159 "channel %d unknown event type %d"
3161 channel->channel, ev_code,
3167 channel->eventq_read_ptr = read_ptr;
3171 static void efx_ef10_ev_read_ack(struct efx_channel *channel)
3173 struct efx_nic *efx = channel->efx;
3185 (channel->eventq_read_ptr &
3186 channel->eventq_mask) >>
3189 channel->channel);
3193 channel->eventq_read_ptr &
3196 channel->channel);
3199 channel->eventq_read_ptr &
3200 channel->eventq_mask);
3201 efx_writed_page(efx, &rptr, ER_DZ_EVQ_RPTR, channel->channel);
3205 static void efx_ef10_ev_test_generate(struct efx_channel *channel)
3208 struct efx_nic *efx = channel->efx;
3216 MCDI_SET_DWORD(inbuf, DRIVER_EVENT_IN_EVQ, channel->channel);
3630 static int efx_ef10_rx_enable_timestamping(struct efx_channel *channel,
3636 if (channel->sync_events_state == SYNC_EVENTS_REQUESTED ||
3637 channel->sync_events_state == SYNC_EVENTS_VALID ||
3638 (temp && channel->sync_events_state == SYNC_EVENTS_DISABLED))
3640 channel->sync_events_state = SYNC_EVENTS_REQUESTED;
3645 channel->channel);
3647 rc = efx_mcdi_rpc(channel->efx, MC_CMD_PTP,
3651 channel->sync_events_state = temp ? SYNC_EVENTS_QUIESCENT :
3657 static int efx_ef10_rx_disable_timestamping(struct efx_channel *channel,
3663 if (channel->sync_events_state == SYNC_EVENTS_DISABLED ||
3664 (temp && channel->sync_events_state == SYNC_EVENTS_QUIESCENT))
3666 if (channel->sync_events_state == SYNC_EVENTS_QUIESCENT) {
3667 channel->sync_events_state = SYNC_EVENTS_DISABLED;
3670 channel->sync_events_state = temp ? SYNC_EVENTS_QUIESCENT :
3678 channel->channel);
3680 rc = efx_mcdi_rpc(channel->efx, MC_CMD_PTP,
3689 int (*set)(struct efx_channel *channel, bool temp);
3690 struct efx_channel *channel;
3696 channel = efx_ptp_channel(efx);
3697 if (channel) {
3698 int rc = set(channel, temp);