This is a patchset loosely based on internal development tree which tracked ICE driver development over a period of time since last snapshot update.
v3-> v4: - Rebased on top of latest next-net-intel as some patches were already merged - Addressed review comments that were added to v2 after work on v3 was finished - Clarified and corrected more commit messages - Split most of the "squash a few fixes together" style patches - Moved around and squashed a few changes that felt better together - Merged all of the "update style to match upstream" style patches into one big patch - Moved all style patches to the end of the patchset v2-> v3: - Fixed commit authorship for commits where it was feasible to do so - Addressed review comments - Clarified and corrected a few commit messages - Squashed more style changes into one giant "align code to base driver" patch (process still ongoing) - Split a few patches into more meaningful chunks - Dropped a few patches due to validation discovering issues with them [v1 went out as v2 by accident so it is v2 now] RFC -> v1: - From one, many Adrian Pielech (1): net/ice/base: remove dead code from ice_get_ddp_pkg_state Anatoly Burakov (7): net/ice/base: add port option commands net/ice/base: fix compile issues on some targets net/ice/base: make Tx and Rx vernier offset calibration independent net/ice/base: make is_gps_present more generic net/ice/base: align code to base driver net/ice/base: make some functions non-static net/ice/base: make some functions static Aviraj CJ (1): net/ice/base: allow passing flags to sbq command Bartosz Staszewski (1): net/ice/base: improve read retry value calculation Ben Shelton (1): net/ice/base: add AQ function to configure SyncE error reporting Benjamin Mikailenko (1): net/ice/base: increase PF reset wait timeout to 500 milliseconds Bruce Richardson (1): net/ice: add new device ids Chinh Cao (1): net/ice/base: correct the return type of ice_bitmap_hweight Dan Nowlin (7): net/ice/base: fix package download algorithm net/ice/base: allows packages with mixed signature presence net/ice/base: allow different FW API versions based on MAC type net/ice/base: add 32 GT bus speed enumerated value net/ice/base: add E830 debug dump cluster ID values net/ice/base: add 200G speeds to PHY types decoding net/ice/base: support E830 in Topology AQ command Dave Ertman (1): net/ice/base: update strict status when assigning BW limits Dawid Zielinski (1): net/ice/base: copy output IO params from command descriptor Eric Joyner (3): net/ice/base: adapt No FEC in Auto support check to add E82X devices net/ice/base: fix GCS descriptor field offsets net/ice/base: detect and store device sensor reading capability Fabio Pricoco (4): net/ice/base: fix resource leak net/ice/base: use correct type net/ice/base: support for firmware sanitization net/ice/base: use a variable to store reset count Ian Stokes (2): net/ice/base: add missing defines and misc cleanup net/ice/base: add missing files for shared code update Jacob Keller (12): net/ice/base: refactor control queue send delay net/ice/base: fix incorrect size when allocating children arrays net/ice/base: add helper to get timer command reg values net/ice/base: avoid stale PHY commands in ice_ptp_one_port_cmd net/ice/base: use ICE_PTP_NOP to better indicate no action net/ice/base: use "err" instead of "status" in ice_ptp_hw.c net/ice/base: re-number E810-T subdevice IDs to match upstream net/ice/base: enable RDMA Act-Act unload paths net/ice/base: be more verbose when preparing timer sync net/ice/base: return high address for multi-read eth56g registers net/ice/base: add function to read Tx timestamp status register net/ice/base: rename SMA register macros Jaroslaw Ilgiewicz (1): net/ice/base: read OROM in a loop Jesse Brandeburg (3): net/ice/base: move lock outside of if-else net/ice/base: fix sign-extension net/ice/base: switch speed conversions to static lookups Karol Kolacinski (7): net/ice/base: add LL Tx timestamp interrupt read net/ice/base: remove PTP aqc_driver_params net/ice/base: fall back to safe CGU params net/ice/base: add PHY OFFSET_READY register clearing net/ice/base: implement interface to reset timestamp memory net/ice/base: enable CGU error reporting net/ice/base: cleanup timestamp registers correctly Lukasz Plachno (2): net/ice/base: prevent potential integer overflow net/ice/base: replace array initialization with macros Mateusz Pacuszka (3): net/ice/base: use ice_bitmap_t in promisc functions net/ice/base: fix rx-only unicast promiscuous mode net/ice/base: fix check for existing switch rule Michal Michalik (2): net/ice/base: add support for E825-C TX clock changing net/ice/base: implement initial PTP support for E830 Michal Wilczynski (1): net/ice/base: introduce new functions in ice_sched_node Milena Olech (2): net/ice/base: remove PHY port timer bypass mode net/ice/base: change a method to get pca9575 handle Norbert Ciosek (1): net/ice/base: check if recipe buffer was already allocated Pabitra Dalai (1): net/ice/base: add defines for loopback mode Paul Greenwalt (3): net/ice/base: fix potential TLV length overflow net/ice/base: add Get Link Status Data version 2 net/ice/base: add E830 PTP init Pawel Sobczyk (1): net/ice/base: add Floating VEB support Piotr Raczynski (1): net/ice/base: add VSI type for subfunctions Prathisna Padmasanan (1): net/ice/base: added informational message for NAC topology Przemek Kitszel (1): net/ice/base: update boost struct for traffic types Remigiusz Konca (1): net/ice/base: enable Next Cluster ID capability Robert Malz (1): net/ice/base: fix for applying multiple cloud filters Scott W Taylor (1): net/ice/base: merge unified E830 headers Sergey Temerkhanov (11): net/ice/base: use model-dependent number of PHY ports net/ice/base: parse 1PPS GPIO in 1588 function caps net/ice/base: rename PHY model designator fields and functions net/ice/base: enable SB access explicitly before 1st PHY access net/ice/base: refactor ETH56G PHY initialization net/ice/base: refactor ETH56G support for multiple PHYs per MAC net/ice/base: implement upper-level PHY control functions net/ice/base: remove switch-related code net/ice/base: support E830 in DDP pkg handling net/ice/base: allow skipping main timer programming net/ice/base: implement TX interrupt enablement functions Stefan Wegrzyn (4): net/ice/base: allow for dumping all clusters net/ice/base: allow skipping PF clear net/ice/base: make ice_clear_vsi_q_ctx() non-static net/ice/base: adjust ice_memcpy type specifiers Tomaszx Wakula (2): net/ice/base: add function to read SDP section from NVM net/ice/base: fix for preparing PHY for timesync command Waldemar Dworakowski (3): net/ice/base: ignore snprintf return value net/ice/base: check array bounds net/ice/base: fix wrong definition of board type Wojciech Drewek (2): net/ice/base: add Cage Max Power override NVM module net/ice/base: add L2TPv3 support for adv rules Yahui Cao (1): net/ice/base: fix masking in ice_get_ctx() Yochai Hagvi (3): net/ice/base: change data buffer in i2c write to be const net/ice/base: add helper function for refsync net/ice/base: change tmr_idx to u32 drivers/net/ice/base/ice_adminq_cmd.h | 356 +- drivers/net/ice/base/ice_bitops.h | 8 +- drivers/net/ice/base/ice_cgu_regs.h | 90 + drivers/net/ice/base/ice_common.c | 892 ++-- drivers/net/ice/base/ice_common.h | 42 +- drivers/net/ice/base/ice_controlq.c | 32 +- drivers/net/ice/base/ice_controlq.h | 26 +- drivers/net/ice/base/ice_ddp.c | 53 +- drivers/net/ice/base/ice_ddp.h | 1 + drivers/net/ice/base/ice_devids.h | 36 +- drivers/net/ice/base/ice_fdir.c | 22 +- drivers/net/ice/base/ice_flex_pipe.c | 114 +- drivers/net/ice/base/ice_flex_type.h | 13 +- drivers/net/ice/base/ice_flow.c | 97 +- drivers/net/ice/base/ice_flow.h | 19 +- drivers/net/ice/base/ice_fwlog.c | 5 + .../base/ice_fwlog.h} | 2 +- drivers/net/ice/base/ice_hw_autogen.h | 2479 ++++++++-- drivers/net/ice/base/ice_lan_tx_rx.h | 40 +- drivers/net/ice/base/ice_nvm.c | 157 +- drivers/net/ice/base/ice_nvm.h | 3 +- drivers/net/ice/base/ice_parser.c | 23 +- drivers/net/ice/base/ice_parser.h | 18 +- drivers/net/ice/base/ice_parser_rt.c | 26 +- drivers/net/ice/base/ice_parser_rt.h | 2 +- drivers/net/ice/base/ice_phy_regs.h | 84 + drivers/net/ice/base/ice_protocol_type.h | 11 +- drivers/net/ice/base/ice_ptp_consts.h | 3 +- drivers/net/ice/base/ice_ptp_hw.c | 4298 ++++++++++------- drivers/net/ice/base/ice_ptp_hw.h | 202 +- drivers/net/ice/base/ice_sbq_cmd.h | 3 +- drivers/net/ice/base/ice_sched.c | 86 +- drivers/net/ice/base/ice_sched.h | 37 +- drivers/net/ice/base/ice_status.h | 2 + drivers/net/ice/base/ice_switch.c | 856 ++-- drivers/net/ice/base/ice_switch.h | 94 +- drivers/net/ice/base/ice_type.h | 96 +- .../base/ice_vf_mbx.c} | 2 +- .../base/ice_vf_mbx.h} | 2 +- drivers/net/ice/base/ice_xlt_kb.c | 4 +- drivers/net/ice/base/meson.build | 2 + drivers/net/ice/ice_diagnose.c | 9 +- drivers/net/ice/ice_ethdev.c | 43 +- 43 files changed, 7286 insertions(+), 3104 deletions(-) create mode 100644 drivers/net/ice/base/ice_fwlog.c copy drivers/net/{vmxnet3/base/vmware_pack_end.h => ice/base/ice_fwlog.h} (50%) create mode 100644 drivers/net/ice/base/ice_phy_regs.h copy drivers/net/{vmxnet3/base/vmware_pack_end.h => ice/base/ice_vf_mbx.c} (50%) copy drivers/net/{vmxnet3/base/vmware_pack_end.h => ice/base/ice_vf_mbx.h} (50%) -- 2.43.0