Lines Matching refs:channel

179  *	Is our index within @channel->tx_queue array.
183 * @channel: The associated channel
194 * @timestamping: Is timestamping enabled for this channel?
247 struct efx_channel *channel;
421 * struct efx_channel - An Efx channel
423 * A channel comprises an event queue, at least one TX queue, at least
428 * @channel: Channel instance number
441 * @event_test_cpu: Last CPU to handle interrupt or test event for this channel
476 * @rx_queue: RX queue for this channel
477 * @tx_queue: TX queues for this channel
479 * @sync_events_state: Current state of sync events on this channel
485 int channel;
552 * @index: Index of the channel/IRQ
553 * @name: Name of the channel/IRQ
566 * @handle_no_channel: Handle failure to allocate an extra channel
572 * @get_name: Generate the channel's name (used for its IRQ handler)
573 * @copy: Copy the channel state prior to reallocation. May be %NULL if
577 * @want_txqs: Determine whether this channel should have TX queues
582 * channel's TX queues.
771 * @rxq_index: channel to which the filter will steer traffic.
794 * @rxq_index: Identifies the channel for which this request was made
849 * @channel: Channels
868 * @tx_queues_per_channel: number of TX queues probed on each channel
870 * @xdp_channel_offset: Offset of zeroth channel used for XPD TX.
871 * @xdp_tx_per_channel: Max number of TX queues on an XDP TX channel.
884 * (valid only if channel->sync_timestamps_enabled; always negative)
1010 struct efx_channel *channel[EFX_MAX_CHANNELS];
1263 * @irq_handle_msi: Handle MSI for a channel. The @dev_id argument is
1264 * a pointer to the &struct efx_msi_context for the channel.
1283 * @rx_packet: Receive the queued RX buffer on a channel
1368 bool (*handle_global_event)(struct efx_channel *channel, efx_qword_t *);
1380 void (*push_irq_moderation)(struct efx_channel *channel);
1430 void (*rx_packet)(struct efx_channel *channel);
1432 int (*ev_probe)(struct efx_channel *channel);
1433 int (*ev_init)(struct efx_channel *channel);
1434 void (*ev_fini)(struct efx_channel *channel);
1435 void (*ev_remove)(struct efx_channel *channel);
1436 int (*ev_process)(struct efx_channel *channel, int quota);
1437 void (*ev_read_ack)(struct efx_channel *channel);
1438 void (*ev_test_generate)(struct efx_channel *channel);
1540 return efx->channel[index];
1545 for (_channel = (_efx)->channel[0]; \
1547 _channel = (_channel->channel + 1 < (_efx)->n_channels) ? \
1548 (_efx)->channel[_channel->channel + 1] : NULL)
1552 for (_channel = (_efx)->channel[(_efx)->n_channels - 1]; \
1554 _channel = _channel->channel ? \
1555 (_efx)->channel[_channel->channel - 1] : NULL)
1561 return efx->channel[efx->tx_channel_offset + index];
1568 return efx->channel[efx->xdp_channel_offset + index];
1571 static inline bool efx_channel_is_xdp_tx(struct efx_channel *channel)
1573 return channel->channel - channel->efx->xdp_channel_offset <
1574 channel->efx->n_xdp_channels;
1577 static inline bool efx_channel_has_tx_queues(struct efx_channel *channel)
1579 return channel && channel->channel >= channel->efx->tx_channel_offset;
1582 static inline unsigned int efx_channel_num_tx_queues(struct efx_channel *channel)
1584 if (efx_channel_is_xdp_tx(channel))
1585 return channel->efx->xdp_tx_per_channel;
1586 return channel->efx->tx_queues_per_channel;
1590 efx_channel_get_tx_queue(struct efx_channel *channel, unsigned int type)
1593 return channel->tx_queue_by_type[type];
1599 struct efx_channel *channel = efx_get_tx_channel(efx, index);
1601 return efx_channel_get_tx_queue(channel, type);
1604 /* Iterate over all TX queues belonging to a channel */
1614 static inline bool efx_channel_has_rx_queue(struct efx_channel *channel)
1616 return channel->rx_queue.core_index >= 0;
1620 efx_channel_get_rx_queue(struct efx_channel *channel)
1622 EFX_WARN_ON_ONCE_PARANOID(!efx_channel_has_rx_queue(channel));
1623 return &channel->rx_queue;
1626 /* Iterate over all RX queues belonging to a channel */
1643 return efx_rx_queue_channel(rx_queue)->channel;
1694 /* Get the max fill level of the TX queues on this channel */
1696 efx_channel_tx_fill_level(struct efx_channel *channel)
1701 efx_for_each_channel_tx_queue(tx_queue, channel)
1710 efx_channel_tx_old_fill_level(struct efx_channel *channel)
1715 efx_for_each_channel_tx_queue(tx_queue, channel)