linux/drivers/net/ethernet/intel/ice
Maciej Fijalkowski 712edbbb67 ice: Limit the ice_add_rx_frag to frag addition
Refactor ice_fetch_rx_buf and ice_add_rx_frag in a way that we have
standalone functions that do either the skb construction or frag
addition to previously constructed skb.

The skb handling between rx_bufs is spread among various functions. The
ice_get_rx_buf will retrieve the skb pointer from rx_buf and if it is a
NULL pointer then we do the ice_construct_skb, otherwise we add a frag
to the current skb via ice_add_rx_frag. Then, on the ice_put_rx_buf the
skb pointer that belongs to rx_buf will be cleared. Moving further, if
the current frame is not EOP frame we assign the current skb to the
rx_buf that is pointed by updated next_to_clean indicator.

What is more during the buffer reuse let's assign each member of
ice_rx_buf individually so we avoid the unnecessary copy of skb.

Last but not least, this logic split will allow us for better code reuse
when adding a support for build_skb.

Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2019-03-25 09:55:35 -07:00
..
ice_adminq_cmd.h ice : Ensure only valid bits are set in ice_aq_set_phy_cfg 2019-03-19 16:52:47 -07:00
ice_common.c ice: Enable link events over the ARQ 2019-03-25 07:54:44 -07:00
ice_common.h ice: Enable link events over the ARQ 2019-03-25 07:54:44 -07:00
ice_controlq.c ice: Use Tx|Rx in comments 2018-11-20 11:39:04 -08:00
ice_controlq.h ice: Update expected FW version 2018-10-24 13:56:37 -07:00
ice_devids.h ice: Change device ID define names to align with branding string 2018-10-24 13:53:30 -07:00
ice_ethtool.c ice: fix some function prototype and signature style issues 2019-03-22 08:19:17 -07:00
ice_hw_autogen.h ice: configure GLINT_ITR to always have an ITR gran of 2 2019-03-19 16:56:10 -07:00
ice_lan_tx_rx.h ice: Add support for new PHY types 2019-01-15 12:38:44 -08:00
ice_lib.c ice: Add support for PF/VF promiscuous mode 2019-03-22 08:19:17 -07:00
ice_lib.h ice: Add support for PF/VF promiscuous mode 2019-03-22 08:19:17 -07:00
ice_main.c ice: Enable link events over the ARQ 2019-03-25 07:54:44 -07:00
ice_nvm.c ice: fix numeric overflow warning 2019-02-25 08:56:01 -08:00
ice_osdep.h ice: Start hardware initialization 2018-03-26 09:59:08 -07:00
ice_sched.c ice: update VSI config dynamically 2019-03-25 07:23:20 -07:00
ice_sched.h ice: Move aggregator list into ice_hw instance 2019-01-15 11:21:13 -08:00
ice_sriov.c ice: Add support for new PHY types 2019-01-15 12:38:44 -08:00
ice_sriov.h ice: Add handlers for VF netdevice operations 2018-10-03 07:42:30 -07:00
ice_status.h ice: check for a leaf node presence 2019-02-25 08:56:01 -08:00
ice_switch.c ice: Set LAN_EN for all directional rules 2019-03-22 08:20:05 -07:00
ice_switch.h ice: Add support for PF/VF promiscuous mode 2019-03-22 08:19:17 -07:00
ice_txrx.c ice: Limit the ice_add_rx_frag to frag addition 2019-03-25 09:55:35 -07:00
ice_txrx.h ice: Introduce bulk update for page count 2019-03-25 09:33:13 -07:00
ice_type.h ice: Remove unused vsi_id field 2019-03-22 08:19:17 -07:00
ice_virtchnl_pf.c ice: Restore VLAN switch rule if port VLAN existed before 2019-03-25 07:41:49 -07:00
ice_virtchnl_pf.h ice: fix some function prototype and signature style issues 2019-03-22 08:19:17 -07:00
ice.h ice: Add support for PF/VF promiscuous mode 2019-03-22 08:19:17 -07:00
Makefile ice: Add support for VF reset events 2018-10-03 07:42:30 -07:00