This series contains updates to ice driver only. Several of the changes are fixes, which could be backported to stable, of which, only one was marked for stable because of the memory leak potential.
Jake exposes the information in the flash memory used for link management, which is called the netlist module. Henry and Tony add support for tunnel offloads. Brett adds promiscuous support in VF's which is based on VF trust and the new vf-true-promisc flag. Avinash fixes an issue where a transmit timeout for a queue that belongs to a PFC enabled TC is not a true transmit timeout, but because the PFC is in action. Dave fixes the check for contiguous TCs to allow for various UP2TC mapping configurations. Also fixed an issue when changing the pause parameters would could multiple link drop/down's in succession, which in turn caused the firmware to not generate a link interrupt for the driver to respond to. Anirudh (Ani) fixed a potential race condition in probe/open due to a bit being cleared too early. Lihong updates an error message to make it more meaningful instead of just printing out the numerical value of the status/error code. Also fixed an incorrect return value if deleting a filter does not find a match to delete or when adding a filter that already exists. Karol fixes casting issues and precision loss in the driver. Jesse make the sign usage more consistent in the driver by making sure all instances of vf_id are unsigned, since it can never be negative. Eric fixes a potential memory leak in ice_add_prof_id_vsig() where was not cleaning up resources properly when an error occurs. Michal to help organize the filtering code in the driver, refactor the code into a separate file and add functions to prepare the filter information. Bruce cleaned up a conditional statement that always resulted in true and provided a comment to make it more obvious. Also cleaned up redundant code checks. Tony helps with potential namespace issues by renaming a 'ice' specific function with the driver name prepended. The following are changes since commit 2a330b533462bea0967e723ff12787daa5a608f8: Merge branch 'provide-KAPI-for-SQI' and are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue 100GbE Anirudh Venkataramanan (1): ice: Fix probe/open race condition Avinash JD (1): ice: Don't reset and rebuild for Tx timeout on PFC enabled queue Brett Creeley (1): ice: Add VF promiscuous support Bruce Allan (3): ice: remove unnecessary expression that is always true ice: remove unnecessary check ice: remove unnecessary backslash Dave Ertman (2): ice: Fix check for contiguous TCs ice: only drop link once when setting pauseparams Eric Joyner (1): ice: Fix resource leak on early exit from function Jacob Keller (1): ice: report netlist version in .info_get Jesse Brandeburg (1): ice: cleanup vf_id signedness Karol Kolacinski (1): ice: Fix casting issues Lihong Yang (2): ice: Provide more meaningful error message ice: Fix check for removing/adding mac filters Michal Swiatkowski (1): ice: refactor filter functions Tony Nguyen (2): ice: Add support for tunnel offloads ice: Rename build_ctob to ice_build_ctob Documentation/networking/devlink/ice.rst | 11 + drivers/net/ethernet/intel/ice/Makefile | 1 + drivers/net/ethernet/intel/ice/ice.h | 19 +- .../net/ethernet/intel/ice/ice_adminq_cmd.h | 29 +- drivers/net/ethernet/intel/ice/ice_base.c | 32 +- drivers/net/ethernet/intel/ice/ice_common.c | 2 + drivers/net/ethernet/intel/ice/ice_controlq.c | 2 +- drivers/net/ethernet/intel/ice/ice_dcb_lib.c | 77 ++- drivers/net/ethernet/intel/ice/ice_dcb_lib.h | 23 + drivers/net/ethernet/intel/ice/ice_devlink.c | 23 + drivers/net/ethernet/intel/ice/ice_ethtool.c | 85 +-- .../net/ethernet/intel/ice/ice_flex_pipe.c | 539 +++++++++++++++++- .../net/ethernet/intel/ice/ice_flex_pipe.h | 5 + .../net/ethernet/intel/ice/ice_flex_type.h | 33 ++ drivers/net/ethernet/intel/ice/ice_flow.c | 36 +- drivers/net/ethernet/intel/ice/ice_flow.h | 3 + drivers/net/ethernet/intel/ice/ice_fltr.c | 397 +++++++++++++ drivers/net/ethernet/intel/ice/ice_fltr.h | 39 ++ .../net/ethernet/intel/ice/ice_hw_autogen.h | 1 + .../net/ethernet/intel/ice/ice_lan_tx_rx.h | 25 + drivers/net/ethernet/intel/ice/ice_lib.c | 340 +++-------- drivers/net/ethernet/intel/ice/ice_lib.h | 9 +- drivers/net/ethernet/intel/ice/ice_main.c | 385 ++++++++++--- drivers/net/ethernet/intel/ice/ice_nvm.c | 86 +++ .../ethernet/intel/ice/ice_protocol_type.h | 1 + drivers/net/ethernet/intel/ice/ice_sched.c | 2 +- drivers/net/ethernet/intel/ice/ice_switch.c | 12 +- drivers/net/ethernet/intel/ice/ice_txrx.c | 154 ++++- drivers/net/ethernet/intel/ice/ice_txrx.h | 3 + drivers/net/ethernet/intel/ice/ice_txrx_lib.c | 27 +- drivers/net/ethernet/intel/ice/ice_txrx_lib.h | 4 +- drivers/net/ethernet/intel/ice/ice_type.h | 21 +- .../net/ethernet/intel/ice/ice_virtchnl_pf.c | 281 +++++++-- .../net/ethernet/intel/ice/ice_virtchnl_pf.h | 8 +- drivers/net/ethernet/intel/ice/ice_xsk.c | 4 +- 35 files changed, 2213 insertions(+), 506 deletions(-) create mode 100644 drivers/net/ethernet/intel/ice/ice_fltr.c create mode 100644 drivers/net/ethernet/intel/ice/ice_fltr.h -- 2.26.2