linux/drivers/net/ethernet/intel/ice
Maciej Fijalkowski e72bba2135 ice: split ice_ring onto Tx/Rx separate structs
While it was convenient to have a generic ring structure that served
both Tx and Rx sides, next commits are going to introduce several
Tx-specific fields, so in order to avoid hurting the Rx side, let's
pull out the Tx ring onto new ice_tx_ring and ice_rx_ring structs.

Rx ring could be handled by the old ice_ring which would reduce the code
churn within this patch, but this would make things asymmetric.

Make the union out of the ring container within ice_q_vector so that it
is possible to iterate over newly introduced ice_tx_ring.

Remove the @size as it's only accessed from control path and it can be
calculated pretty easily.

Change definitions of ice_update_ring_stats and
ice_fetch_u64_stats_per_ring so that they are ring agnostic and can be
used for both Rx and Tx rings.

Sizes of Rx and Tx ring structs are 256 and 192 bytes, respectively. In
Rx ring xdp_rxq_info occupies its own cacheline, so it's the major
difference now.

Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2021-10-15 07:39:02 -07:00
..
ice.h ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_adminq_cmd.h ice: Add support for SMA control multiplexer 2021-10-14 07:37:30 -07:00
ice_arfs.c ice: Prefer kcalloc over open coded arithmetic 2021-09-28 09:42:04 -07:00
ice_arfs.h ice: use static inline for dummy functions 2021-06-07 08:59:01 -07:00
ice_base.c ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_base.h ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_common.c ice: Add support for SMA control multiplexer 2021-10-14 07:37:30 -07:00
ice_common.h ice: Add support for SMA control multiplexer 2021-10-14 07:37:30 -07:00
ice_controlq.c ice: add support for sideband messages 2021-06-11 07:38:00 -07:00
ice_controlq.h ice: add support for sideband messages 2021-06-11 07:38:00 -07:00
ice_dcb.c ice: Add DSCP support 2021-09-28 09:42:04 -07:00
ice_dcb.h ice: Add DSCP support 2021-09-28 09:42:04 -07:00
ice_dcb_lib.c ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_dcb_lib.h ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_dcb_nl.c ice: Add feature bitmap, helpers and a check for DSCP 2021-09-28 09:42:04 -07:00
ice_dcb_nl.h ice: use static inline for dummy functions 2021-06-07 08:59:01 -07:00
ice_devids.h ice: Add support for SMA control multiplexer 2021-10-14 07:37:30 -07:00
ice_devlink.c ice: Move devlink port to PF/VF struct 2021-10-07 10:41:41 -07:00
ice_devlink.h ice: Move devlink port to PF/VF struct 2021-10-07 10:41:41 -07:00
ice_eswitch.c ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_eswitch.h ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_ethtool.c ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_ethtool_fdir.c
ice_fdir.c ice: Fix macro name for IPv4 fragment flag 2021-09-28 09:42:04 -07:00
ice_fdir.h ice: Fix macro name for IPv4 fragment flag 2021-09-28 09:42:04 -07:00
ice_flex_pipe.c ice: create advanced switch recipe 2021-10-11 08:38:27 -07:00
ice_flex_pipe.h ice: create advanced switch recipe 2021-10-11 08:38:27 -07:00
ice_flex_type.h ice: manage profiles and field vectors 2021-10-11 08:36:25 -07:00
ice_flow.c
ice_flow.h
ice_fltr.c ice: Allow changing lan_en and lb_en on all kinds of filters 2021-10-11 08:50:37 -07:00
ice_fltr.h ice: allow changing lan_en and lb_en on dflt rules 2021-10-07 10:41:42 -07:00
ice_fw_update.c ice: add error message when pldmfw_flash_image fails 2021-06-07 08:59:01 -07:00
ice_fw_update.h
ice_hw_autogen.h ice: add support for auxiliary input/output pins 2021-06-25 11:30:49 -07:00
ice_idc.c ice: Correctly deal with PFs that do not support RDMA 2021-09-10 09:58:55 +01:00
ice_idc_int.h
ice_lag.c
ice_lag.h
ice_lan_tx_rx.h ice: switchdev slow path 2021-10-07 10:41:42 -07:00
ice_lib.c ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_lib.h ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_main.c ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_nvm.c
ice_nvm.h
ice_osdep.h
ice_protocol_type.h ice: create advanced switch recipe 2021-10-11 08:38:27 -07:00
ice_ptp.c ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_ptp.h ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_ptp_hw.c ice: Add support for SMA control multiplexer 2021-10-14 07:37:30 -07:00
ice_ptp_hw.h ice: Add support for SMA control multiplexer 2021-10-14 07:37:30 -07:00
ice_repr.c ice: ndo_setup_tc implementation for PR 2021-10-11 09:03:08 -07:00
ice_repr.h ice: rebuild switchdev when resetting all VFs 2021-10-07 10:41:42 -07:00
ice_sbq_cmd.h ice: add support for sideband messages 2021-06-11 07:38:00 -07:00
ice_sched.c ice: remove the VSI info from previous agg 2021-06-25 11:30:49 -07:00
ice_sched.h
ice_sriov.c
ice_sriov.h
ice_status.h
ice_switch.c ice: cleanup rules info 2021-10-11 08:49:55 -07:00
ice_switch.h ice: allow deleting advanced rules 2021-10-11 08:48:49 -07:00
ice_tc_lib.c ice: ndo_setup_tc implementation for PR 2021-10-11 09:03:08 -07:00
ice_tc_lib.h ice: ndo_setup_tc implementation for PR 2021-10-11 09:03:08 -07:00
ice_trace.h ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_txrx.c ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_txrx.h ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_txrx_lib.c ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_txrx_lib.h ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_type.h ice: Add support for SMA control multiplexer 2021-10-14 07:37:30 -07:00
ice_virtchnl_allowlist.c
ice_virtchnl_allowlist.h
ice_virtchnl_fdir.c
ice_virtchnl_fdir.h
ice_virtchnl_pf.c ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_virtchnl_pf.h ice: add port representor ethtool ops and stats 2021-10-07 10:41:43 -07:00
ice_xsk.c ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_xsk.h ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
Makefile ice: ndo_setup_tc implementation for PF 2021-10-11 09:03:04 -07:00