linux/drivers/net/ethernet/sfc
Edward Cree a81dcd85a7 sfc: assign TXQs without gaps
Since we only allocate VIs for the number of TXQs we actually need, we
 cannot naively use "channel * TXQ_TYPES + txq" for the TXQ number, as
 this has gaps (when efx->tx_queues_per_channel < EFX_TXQ_TYPES) and
 thus overruns the driver's VI allocations, causing the firmware to
 reject the MC_CMD_INIT_TXQ based on INSTANCE.
Thus, we distinguish INSTANCE (stored in tx_queue->queue) from LABEL
 (tx_queue->label); the former is allocated starting from 0 in
 efx_set_channels(), while the latter is simply the txq type (index in
 channel->tx_queue array).
To simplify things, rather than changing tx_queues_per_channel after
 setting up TXQs, make Siena always probe its HIGHPRI queues at start
 of day, rather than deferring it until tc mqprio enables them.

Signed-off-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-07-02 14:47:40 -07:00
..
falcon treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
bitfield.h sfc: extend bitfield macros up to POPULATE_DWORD_13 2020-06-29 17:37:48 -07:00
ef10.c sfc: assign TXQs without gaps 2020-07-02 14:47:40 -07:00
ef10_regs.h
ef10_sriov.c
ef10_sriov.h
efx.c sfc: commonise netif_set_real_num[tr]x_queues calls 2020-07-02 14:47:40 -07:00
efx.h sfc: commonise miscellaneous efx functions 2020-06-30 13:09:09 -07:00
efx_channels.c sfc: assign TXQs without gaps 2020-07-02 14:47:40 -07:00
efx_channels.h sfc: move modparam 'rss_cpus' out of common channel code 2020-07-02 14:47:40 -07:00
efx_common.c sfc: make tx_queues_per_channel variable at runtime 2020-07-02 14:47:40 -07:00
efx_common.h sfc: support setting MTU even if not privileged to configure MAC fully 2020-07-02 14:47:39 -07:00
enum.h
ethtool.c sfc: commonise other ethtool bits 2020-06-29 17:37:48 -07:00
ethtool_common.c sfc: assign TXQs without gaps 2020-07-02 14:47:40 -07:00
ethtool_common.h sfc: commonise other ethtool bits 2020-06-29 17:37:48 -07:00
farch.c sfc: assign TXQs without gaps 2020-07-02 14:47:40 -07:00
farch_regs.h
filter.h
io.h
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile
mcdi.c sfc: commonise drain event handling 2020-06-29 17:37:49 -07:00
mcdi.h sfc: move NIC-specific mcdi_port declarations out of common header 2020-06-30 13:09:09 -07:00
mcdi_filters.c sfc: add missing licence info to mcdi_filters.c 2020-06-30 13:09:09 -07:00
mcdi_filters.h sfc: move rx_rss_context_exclusive into struct efx_mcdi_filter_table 2020-05-11 13:31:49 -07:00
mcdi_functions.c sfc: assign TXQs without gaps 2020-07-02 14:47:40 -07:00
mcdi_functions.h
mcdi_mon.c
mcdi_pcol.h sfc: update MCDI protocol headers 2020-06-29 17:37:48 -07:00
mcdi_port.c sfc: commonise some MAC configuration code 2020-06-30 13:09:09 -07:00
mcdi_port.h sfc: move NIC-specific mcdi_port declarations out of common header 2020-06-30 13:09:09 -07:00
mcdi_port_common.c sfc: commonise some MAC configuration code 2020-06-30 13:09:09 -07:00
mcdi_port_common.h sfc: move definition of EFX_MC_STATS_GENERATION_INVALID 2020-06-30 13:09:09 -07:00
mtd.c
net_driver.h sfc: assign TXQs without gaps 2020-07-02 14:47:40 -07:00
nic.c sfc: move definition of EFX_MC_STATS_GENERATION_INVALID 2020-06-30 13:09:09 -07:00
nic.h sfc: remove duplicate declaration of efx_enqueue_skb_tso() 2020-06-30 13:09:09 -07:00
nic_common.h sfc: assign TXQs without gaps 2020-07-02 14:47:40 -07:00
ptp.c sfc: split up nic.h 2020-06-29 17:37:48 -07:00
ptp.h sfc: split up nic.h 2020-06-29 17:37:48 -07:00
rx.c sfc: commonise efx_sync_rx_buffer() 2020-06-30 13:09:09 -07:00
rx_common.c sfc: extend common GRO interface to support CHECKSUM_COMPLETE 2020-06-29 17:37:49 -07:00
rx_common.h sfc: commonise efx_sync_rx_buffer() 2020-06-30 13:09:09 -07:00
selftest.c sfc: assign TXQs without gaps 2020-07-02 14:47:40 -07:00
selftest.h
siena.c sfc: assign TXQs without gaps 2020-07-02 14:47:40 -07:00
siena_sriov.c
siena_sriov.h
sriov.c
sriov.h
tx.c sfc: assign TXQs without gaps 2020-07-02 14:47:40 -07:00
tx.h sfc: remove duplicate declaration of efx_enqueue_skb_tso() 2020-06-30 13:09:09 -07:00
tx_common.c sfc: factor out efx_tx_tso_header_length() and understand encapsulation 2020-06-30 13:09:09 -07:00
tx_common.h sfc: factor out efx_tx_tso_header_length() and understand encapsulation 2020-06-30 13:09:09 -07:00
tx_tso.c
vfdi.h
workarounds.h