Skip to content
  1. Feb 04, 2023
    • Michal Swiatkowski's avatar
      ice: split ice_vsi_setup into smaller functions · 6624e780
      Michal Swiatkowski authored
      
      
      Main goal is to reuse the same functions in VSI config and rebuild
      paths.
      To do this split ice_vsi_setup into smaller pieces and reuse it during
      rebuild.
      
      ice_vsi_alloc() should only alloc memory, not set the default values
      for VSI.
      Move setting defaults to separate function. This will allow config of
      already allocated VSI, for example in reload path.
      
      The path is mostly moving code around without introducing new
      functionality. Functions ice_vsi_cfg() and ice_vsi_decfg() were
      added, but they are using code that already exist.
      
      Use flag to pass information about VSI initialization during rebuild
      instead of using boolean value.
      
      Co-developed-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Signed-off-by: default avatarMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
      Tested-by: Gurucharan G <gurucharanx.g@intel.com> (A Contingent worker at Intel)
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      6624e780
    • Michal Swiatkowski's avatar
      ice: cleanup in VSI config/deconfig code · 0db66d20
      Michal Swiatkowski authored
      
      
      Do few small cleanups:
      
      1) Rename the function to reflect that it doesn't configure all things
      related to VSI. ice_vsi_cfg_lan() better fits to what function is doing.
      
      ice_vsi_cfg() can be use to name function that will configure whole VSI.
      
      2) Remove unused ethtype field from VSI. There is no need to set
      ethtype here, because it is never used.
      
      3) Remove unnecessary check for ICE_VSI_CHNL. There is check for
      ICE_VSI_CHNL in ice_vsi_get_qs, so there is no need to check it before
      calling the function.
      
      4) Simplify ice_vsi_alloc() call. There is no need to check the type of
      VSI before calling ice_vsi_alloc(). For ICE_VSI_CHNL vf is always NULL
      (ice_vsi_setup() is called with vf=NULL).
      For ICE_VSI_VF or ICE_VSI_CTRL ch is always NULL and for other VSI types
      ch and vf are always NULL.
      
      5) Remove unnecessary call to ice_vsi_dis_irq(). ice_vsi_dis_irq() will
      be called in ice_vsi_close() flow (ice_vsi_close() -> ice_vsi_down() ->
      ice_vsi_dis_irq()). Remove unnecessary call.
      
      6) Don't remove specific filters in release. All hw filters are removed
      in ice_fltr_remove_alli(), which is always called in VSI release flow.
      There is no need to remove only ethertype filters before calling
      ice_fltr_remove_all().
      
      7) Rename ice_vsi_clear() to ice_vsi_free(). As ice_vsi_clear() only
      free memory allocated in ice_vsi_alloc() rename it to ice_vsi_free()
      which better shows what function is doing.
      
      8) Free coalesce param in rebuild. There is potential memory leak if
      configuration of VSI lan fails. Free coalesce to avoid it.
      
      Signed-off-by: default avatarMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
      Tested-by: Gurucharan G <gurucharanx.g@intel.com> (A Contingent worker at Intel)
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      0db66d20
    • Michal Swiatkowski's avatar
      ice: alloc id for RDMA using xa_array · 2be29286
      Michal Swiatkowski authored
      
      
      Use xa_array instead of deprecated ida to alloc id for RDMA aux driver.
      
      Signed-off-by: default avatarMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      2be29286
    • Michal Swiatkowski's avatar
      ice: move RDMA init to ice_idc.c · 2b8db6af
      Michal Swiatkowski authored
      
      
      Simplify probe flow by moving all RDMA related code to ice_init_rdma().
      Unroll irq allocation if RDMA initialization fails.
      
      Implement ice_deinit_rdma() and use it in remove flow.
      
      Signed-off-by: default avatarMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
      Acked-by: default avatarDave Ertman <david.m.ertman@intel.com>
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      2b8db6af
  2. Feb 03, 2023
    • David S. Miller's avatar
      Merge branch 'yt8531-support' · 8065c0e1
      David S. Miller authored
      
      
      Frank Sae says:
      
      ====================
      net: add dts for yt8521 and yt8531s, add driver for yt8531
      
      Add dts for yt8521 and yt8531s, add driver for yt8531.
       These patches have been verified on our AM335x platform (motherboard)
       which has one integrated yt8521 and one RGMII interface.
       It can connect to daughter boards like yt8531s or yt8531 board.
      
       v5:
       - change the compatible of yaml
       - change the maintainers of yaml from "frank sae" to "Frank Sae"
      
       v4:
       - change default tx delay from 150ps to 1950ps
       - add compatible for yaml
      
       v3:
       - change default rx delay from 1900ps to 1950ps
       - moved ytphy_rgmii_clk_delay_config_with_lock from yt8521's patch to yt8531's patch
       - removed unnecessary checks of phydev->attached_dev->dev_addr
      
       v2:
       - split BIT macro as one patch
       - split "dts for yt8521/yt8531s ... " patch as two patches
       - use standard rx-internal-delay-ps and tx-internal-delay-ps, removed motorcomm,sds-tx-amplitude
       - removed ytphy_parse_dt, ytphy_probe_helper and ytphy_config_init_helper
       - not store dts arg to yt8521_priv
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8065c0e1
    • Frank Sae's avatar
      net: phy: Add driver for Motorcomm yt8531 gigabit ethernet phy · 4ac94f72
      Frank Sae authored
      
      
      Add a driver for the motorcomm yt8531 gigabit ethernet phy. We have
       verified the driver on AM335x platform with yt8531 board. On the
       board, yt8531 gigabit ethernet phy works in utp mode, RGMII
       interface, supports 1000M/100M/10M speeds, and wol(magic package).
      
      Signed-off-by: default avatarFrank Sae <Frank.Sae@motor-comm.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4ac94f72
    • Frank Sae's avatar
      net: phy: Add dts support for Motorcomm yt8531s gigabit ethernet phy · 36152f87
      Frank Sae authored
      
      
      Add dts support for Motorcomm yt8531s gigabit ethernet phy.
       Change yt8521_probe to support clk config of yt8531s. Becase
       yt8521_probe does the things which yt8531s is needed, so
       removed yt8531s function.
       This patch has been verified on AM335x platform with yt8531s board.
      
      Signed-off-by: default avatarFrank Sae <Frank.Sae@motor-comm.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      36152f87
    • Frank Sae's avatar
      net: phy: Add dts support for Motorcomm yt8521 gigabit ethernet phy · a6e68f0f
      Frank Sae authored
      
      
      Add dts support for Motorcomm yt8521 gigabit ethernet phy.
       Add ytphy_rgmii_clk_delay_config function to support dst config for
       the delay of rgmii clk. This funciont is common for yt8521, yt8531s
       and yt8531.
       This patch has been verified on AM335x platform.
      
      Signed-off-by: default avatarFrank Sae <Frank.Sae@motor-comm.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a6e68f0f
    • Frank Sae's avatar
      net: phy: Add BIT macro for Motorcomm yt8521/yt8531 gigabit ethernet phy · 4869a146
      Frank Sae authored
      
      
      Add BIT macro for Motorcomm yt8521/yt8531 gigabit ethernet phy.
       This is a preparatory patch. Add BIT macro for 0xA012 reg, and
       supplement for 0xA001 and 0xA003 reg. These will be used to support dts.
      
      Signed-off-by: default avatarFrank Sae <Frank.Sae@motor-comm.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4869a146
    • Frank Sae's avatar
      dt-bindings: net: Add Motorcomm yt8xxx ethernet phy · cf08dfe8
      Frank Sae authored
      
      
      Add a YAML binding document for the Motorcomm yt8xxx Ethernet phy.
      
      Signed-off-by: default avatarFrank Sae <Frank.Sae@motor-comm.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cf08dfe8
    • David S. Miller's avatar
      Merge branch 'act_ct-UDP-NEW' · 18390581
      David S. Miller authored
      
      
      Vlad Buslov says:
      
      ====================
      net: Allow offloading of UDP NEW connections via act_ct
      
      Currently only bidirectional established connections can be offloaded
      via act_ct. Such approach allows to hardcode a lot of assumptions into
      act_ct, flow_table and flow_offload intermediate layer codes. In order
      to enabled offloading of unidirectional UDP NEW connections start with
      incrementally changing the following assumptions:
      
      - Drivers assume that only established connections are offloaded and
        don't support updating existing connections. Extract ctinfo from meta
        action cookie and refuse offloading of new connections in the drivers.
      
      - Fix flow_table offload fixup algorithm to calculate flow timeout
        according to current connection state instead of hardcoded
        "established" value.
      
      - Add new flow_table flow flag that designates bidirectional connections
        instead of assuming it and hardcoding hardware offload of every flow
        in both directions.
      
      - Add new flow_table flow flag that designates connections that are
        offloaded to hardware as "established" instead of assuming it. This
        allows some optimizations in act_ct and prevents spamming the
        flow_table workqueue with redundant tasks.
      
      With all the necessary infrastructure in place modify act_ct to offload
      UDP NEW as unidirectional connection. Pass reply direction traffic to CT
      and promote connection to bidirectional when UDP connection state
      changes to "assured". Rely on refresh mechanism to propagate connection
      state change to supporting drivers.
      
      Note that early drop algorithm that is designed to free up some space in
      connection tracking table when it becomes full (by randomly deleting up
      to 5% of non-established connections) currently ignores connections
      marked as "offloaded". Now, with UDP NEW connections becoming
      "offloaded" it could allow malicious user to perform DoS attack by
      filling the table with non-droppable UDP NEW connections by sending just
      one packet in single direction. To prevent such scenario change early
      drop algorithm to also consider "offloaded" connections for deletion.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      18390581
    • Vlad Buslov's avatar
      netfilter: nf_conntrack: allow early drop of offloaded UDP conns · df25455e
      Vlad Buslov authored
      
      
      Both synchronous early drop algorithm and asynchronous gc worker completely
      ignore connections with IPS_OFFLOAD_BIT status bit set. With new
      functionality that enabled UDP NEW connection offload in action CT
      malicious user can flood the conntrack table with offloaded UDP connections
      by just sending a single packet per 5tuple because such connections can no
      longer be deleted by early drop algorithm.
      
      To mitigate the issue allow both early drop and gc to consider offloaded
      UDP connections for deletion.
      
      Signed-off-by: default avatarVlad Buslov <vladbu@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      df25455e
    • Vlad Buslov's avatar
      net/sched: act_ct: offload UDP NEW connections · 6a9bad00
      Vlad Buslov authored
      
      
      Modify the offload algorithm of UDP connections to the following:
      
      - Offload NEW connection as unidirectional.
      
      - When connection state changes to ESTABLISHED also update the hardware
      flow. However, in order to prevent act_ct from spamming offload add wq for
      every packet coming in reply direction in this state verify whether
      connection has already been updated to ESTABLISHED in the drivers. If that
      it the case, then skip flow_table and let conntrack handle such packets
      which will also allow conntrack to potentially promote the connection to
      ASSURED.
      
      - When connection state changes to ASSURED set the flow_table flow
      NF_FLOW_HW_BIDIRECTIONAL flag which will cause refresh mechanism to offload
      the reply direction.
      
      All other protocols have their offload algorithm preserved and are always
      offloaded as bidirectional.
      
      Note that this change tries to minimize the load on flow_table add
      workqueue. First, it tracks the last ctinfo that was offloaded by using new
      flow 'NF_FLOW_HW_ESTABLISHED' flag and doesn't schedule the refresh for
      reply direction packets when the offloads have already been updated with
      current ctinfo. Second, when 'add' task executes on workqueue it always
      update the offload with current flow state (by checking 'bidirectional'
      flow flag and obtaining actual ctinfo/cookie through meta action instead of
      caching any of these from the moment of scheduling the 'add' work)
      preventing the need from scheduling more updates if state changed
      concurrently while the 'add' work was pending on workqueue.
      
      Signed-off-by: default avatarVlad Buslov <vladbu@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6a9bad00
    • Vlad Buslov's avatar
      net/sched: act_ct: set ctinfo in meta action depending on ct state · d5774cb6
      Vlad Buslov authored
      
      
      Currently tcf_ct_flow_table_fill_actions() function assumes that only
      established connections can be offloaded and always sets ctinfo to either
      IP_CT_ESTABLISHED or IP_CT_ESTABLISHED_REPLY strictly based on direction
      without checking actual connection state. To enable UDP NEW connection
      offload set the ctinfo, metadata cookie and NF_FLOW_HW_ESTABLISHED
      flow_offload flags bit based on ct->status value.
      
      Signed-off-by: default avatarVlad Buslov <vladbu@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d5774cb6
    • Vlad Buslov's avatar
      netfilter: flowtable: cache info of last offload · 1a441a9b
      Vlad Buslov authored
      
      
      Modify flow table offload to cache the last ct info status that was passed
      to the driver offload callbacks by extending enum nf_flow_flags with new
      "NF_FLOW_HW_ESTABLISHED" flag. Set the flag if ctinfo was 'established'
      during last act_ct meta actions fill call. This infrastructure change is
      necessary to optimize promoting of UDP connections from 'new' to
      'established' in following patches in this series.
      
      Signed-off-by: default avatarVlad Buslov <vladbu@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1a441a9b
    • Vlad Buslov's avatar
      netfilter: flowtable: allow unidirectional rules · 8f84780b
      Vlad Buslov authored
      
      
      Modify flow table offload to support unidirectional connections by
      extending enum nf_flow_flags with new "NF_FLOW_HW_BIDIRECTIONAL" flag. Only
      offload reply direction when the flag is set. This infrastructure change is
      necessary to support offloading UDP NEW connections in original direction
      in following patches in series.
      
      Signed-off-by: default avatarVlad Buslov <vladbu@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8f84780b
    • Vlad Buslov's avatar
      netfilter: flowtable: fixup UDP timeout depending on ct state · 0eb5acb1
      Vlad Buslov authored
      
      
      Currently flow_offload_fixup_ct() function assumes that only replied UDP
      connections can be offloaded and hardcodes UDP_CT_REPLIED timeout value. To
      enable UDP NEW connection offload in following patches extract the actual
      connections state from ct->status and set the timeout according to it.
      
      Signed-off-by: default avatarVlad Buslov <vladbu@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0eb5acb1
    • Vlad Buslov's avatar
      net: flow_offload: provision conntrack info in ct_metadata · 29744a10
      Vlad Buslov authored
      
      
      In order to offload connections in other states besides "established" the
      driver offload callbacks need to have access to connection conntrack info.
      Flow offload intermediate representation data structure already contains
      that data encoded in 'cookie' field, so just reuse it in the drivers.
      
      Reject offloading IP_CT_NEW connections for now by returning an error in
      relevant driver callbacks based on value of ctinfo. Support for offloading
      such connections will need to be added to the drivers afterwards.
      
      Signed-off-by: default avatarVlad Buslov <vladbu@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      29744a10
    • Horatiu Vultur's avatar
      net: lan966x: Add VCAP debugFS support · 94281484
      Horatiu Vultur authored
      
      
      Enable debugfs for vcap for lan966x. This will allow to print all the
      entries in the VCAP and also the port information regarding which keys
      are configured.
      
      Signed-off-by: default avatarHoratiu Vultur <horatiu.vultur@microchip.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      94281484
    • David S. Miller's avatar
      Merge branch 'rswitch-SERDES-PHY-init' · 64e09d04
      David S. Miller authored
      
      
      Yoshihiro Shimoda says:
      
      ====================
      net: renesas: rswitch: Modify initialization for SERDES and PHY
      
      - My platform has the 88x2110.
      - The MACTYPE setting of strap pin on the platform is SXGMII.
      - However, we realized that the SoC cannot communicate the PHY with SXGMII
        because of mismatching hardware specification.
      - We have a lot of boards which mismatch the MACTYPE setting.
      
      So, I would like to change the MACTYPE as SGMII by software for the platform.
      
      The patch [1/5] sets phydev->host_interfaces by phylink for Marvell PHY
      driver (marvell10g) to initialize the MACTYPE.
      
      - The patch [1/5] siplifies the rswitch driver.
      - The patch [2/5] converts to phy_device from phylink.
      - The patch [3/5] sets phydev->host_interfaces from this driver without
        any new functions of phylib.
      - The patch [4/5] adds phy_power_on() calling to initialize the Ethernet
        SERDES PHY driver (r8a779f0-eth-serdes) for each channel.
      - The patch [5/5] adds "max-speed" handling.
      
      Changes from v4:
      https://lore.kernel.org/all/20230127142621.1761278-1-yoshihiro.shimoda.uh@renesas.com/
       - No modification of phylink API.
       - Convert to phylib instead of phylink.
       - Add "max-speed" handling.
      
      Changes from v3:
      https://lore.kernel.org/all/20230127014812.1656340-1-yoshihiro.shimoda.uh@renesas.com/
       - Keep a pointer of "port" and more simplify the code.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      64e09d04
    • Yoshihiro Shimoda's avatar
      net: renesas: rswitch: Add "max-speed" handling · 04c77d91
      Yoshihiro Shimoda authored
      
      
      The previous code set the speed by the interface mode of PHY.
      Also this hardware has a restriction which cannot change the speed
      at runtime. To use other speed, add "max-speed" handling to set
      each port's speed if needed.
      
      Signed-off-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      04c77d91
    • Yoshihiro Shimoda's avatar
      net: renesas: rswitch: Add phy_power_{on,off}() calling · 5cb63092
      Yoshihiro Shimoda authored
      
      
      Some Ethernet PHYs (like marvell10g) will decide the host interface
      mode by the media-side speed. So, the rswitch driver needs to
      initialize one of the Ethernet SERDES (r8a779f0-eth-serdes) ports
      after linked the Ethernet PHY up. The r8a779f0-eth-serdes driver has
      .init() for initializing all ports and .power_on() for initializing
      each port. So, add phy_power_{on,off} calling for it.
      
      Signed-off-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5cb63092
    • Yoshihiro Shimoda's avatar
      net: renesas: rswitch: Add host_interfaces setting · 0df024d0
      Yoshihiro Shimoda authored
      
      
      Set phydev->host_interfaces before calling of_phy_connect() to
      configure the PHY with the information of host_interfaces.
      
      Signed-off-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0df024d0
    • Yoshihiro Shimoda's avatar
      net: renesas: rswitch: Convert to phy_device · c16a5033
      Yoshihiro Shimoda authored
      
      
      Intended to set phy_device->host_interfaces by phylink in the future.
      But there is difficult to implement phylink properly, especially
      supporting the in-band mode on this driver because extra initialization
      is needed after linked the ethernet PHY up. So, convert to phy_device
      from phylink.
      
      Signed-off-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c16a5033
    • Yoshihiro Shimoda's avatar
      net: renesas: rswitch: Simplify struct phy * handling · b46f1e57
      Yoshihiro Shimoda authored
      
      
      Simplify struct phy *serdes handling by keeping the valiable in
      the struct rswitch_device.
      
      Signed-off-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b46f1e57
    • Eric Dumazet's avatar
      tcp: add TCP_MINTTL drop reason · 2798e36d
      Eric Dumazet authored
      
      
      In the unlikely case incoming packets are dropped because
      of IP_MINTTL / IPV6_MINHOPCOUNT constraints...
      
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Link: https://lore.kernel.org/r/20230201174345.2708943-1-edumazet@google.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2798e36d
    • Dmitry Torokhov's avatar
      net: fec: do not double-parse 'phy-reset-active-high' property · 0719bc3a
      Dmitry Torokhov authored
      Conversion to gpiod API done in commit 468ba54b ("fec: convert
      to gpio descriptor") clashed with gpiolib applying the same quirk to the
      reset GPIO polarity (introduced in commit b02c85c9). This results in
      the reset line being left active/device being left in reset state when
      reset line is "active low".
      
      Remove handling of 'phy-reset-active-high' property from the driver and
      rely on gpiolib to apply needed adjustments to avoid ending up with the
      double inversion/flipped logic.
      
      Fixes: 468ba54b
      
       ("fec: convert to gpio descriptor")
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Link: https://lore.kernel.org/r/20230201215320.528319-2-dmitry.torokhov@gmail.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      0719bc3a
    • Dmitry Torokhov's avatar
      net: fec: restore handling of PHY reset line as optional · d7b5e5dd
      Dmitry Torokhov authored
      Conversion of the driver to gpiod API done in 468ba54b ("fec:
      convert to gpio descriptor") incorrectly made reset line mandatory and
      resulted in aborting driver probe in cases where reset line was not
      specified (note: this way of specifying PHY reset line is actually
      deprecated).
      
      Switch to using devm_gpiod_get_optional() and skip manipulating reset
      line if it can not be located.
      
      Fixes: 468ba54b
      
       ("fec: convert to gpio descriptor")
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Reported-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
      Tested-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
      Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
      Link: https://lore.kernel.org/r/20230201215320.528319-1-dmitry.torokhov@gmail.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d7b5e5dd
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 82b4a941
      Jakub Kicinski authored
      net/core/gro.c
        7d2c89b3 ("skb: Do mix page pool and page referenced frags in GRO")
        b1a78b9b
      
       ("net: add support for ipv4 big tcp")
      https://lore.kernel.org/all/20230203094454.5766f160@canb.auug.org.au/
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      82b4a941
    • Linus Torvalds's avatar
      Merge tag 'net-6.2-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · edb9b8f3
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from bpf, can and netfilter.
      
        Current release - regressions:
      
         - phy: fix null-deref in phy_attach_direct
      
         - mac802154: fix possible double free upon parsing error
      
        Previous releases - regressions:
      
         - bpf: preserve reg parent/live fields when copying range info,
           prevent mis-verification of programs as safe
      
         - ip6: fix GRE tunnels not generating IPv6 link local addresses
      
         - phy: dp83822: fix null-deref on DP83825/DP83826 devices
      
         - sctp: do not check hb_timer.expires when resetting hb_timer
      
         - eth: mtk_sock: fix SGMII configuration after phylink conversion
      
        Previous releases - always broken:
      
         - eth: xdp: execute xdp_do_flush() before napi_complete_done()
      
         - skb: do not mix page pool and page referenced frags in GRO
      
         - bpf:
            - fix a possible task gone issue with bpf_send_signal[_thread]()
            - fix an off-by-one bug in bpf_mem_cache_idx() to select the right
              cache
            - add missing btf_put to register_btf_id_dtor_kfuncs
            - sockmap: fon't let sock_map_{close,destroy,unhash} call itself
      
         - gso: fix null-deref in skb_segment_list()
      
         - mctp: purge receive queues on sk destruction
      
         - fix UaF caused by accept on already connected socket in exotic
           socket families
      
         - tls: don't treat list head as an entry in tls_is_tx_ready()
      
         - netfilter: br_netfilter: disable sabotage_in hook after first
           suppression
      
         - wwan: t7xx: fix runtime PM implementation
      
        Misc:
      
         - MAINTAINERS: spring cleanup of networking maintainers"
      
      * tag 'net-6.2-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (65 commits)
        mtk_sgmii: enable PCS polling to allow SFP work
        net: mediatek: sgmii: fix duplex configuration
        net: mediatek: sgmii: ensure the SGMII PHY is powered down on configuration
        MAINTAINERS: update SCTP maintainers
        MAINTAINERS: ipv6: retire Hideaki Yoshifuji
        mailmap: add John Crispin's entry
        MAINTAINERS: bonding: move Veaceslav Falico to CREDITS
        net: openvswitch: fix flow memory leak in ovs_flow_cmd_new
        net: ethernet: mtk_eth_soc: disable hardware DSA untagging for second MAC
        virtio-net: Keep stop() to follow mirror sequence of open()
        selftests: net: udpgso_bench_tx: Cater for pending datagrams zerocopy benchmarking
        selftests: net: udpgso_bench: Fix racing bug between the rx/tx programs
        selftests: net: udpgso_bench_rx/tx: Stop when wrong CLI args are provided
        selftests: net: udpgso_bench_rx: Fix 'used uninitialized' compiler warning
        can: mcp251xfd: mcp251xfd_ring_set_ringparam(): assign missing tx_obj_num_coalesce_irq
        can: isotp: split tx timer into transmission and timeout
        can: isotp: handle wait_event_interruptible() return values
        can: raw: fix CAN FD frame transmissions over CAN XL devices
        can: j1939: fix errant WARN_ON_ONCE in j1939_session_deactivate
        hv_netvsc: Fix missed pagebuf entries in netvsc_dma_map/unmap()
        ...
      edb9b8f3
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-kunit-fixes-6.2-rc7' of... · e7368fd3
      Linus Torvalds authored
      Merge tag 'linux-kselftest-kunit-fixes-6.2-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull KUnit fixes from Shuah Khan:
       "Three fixes to bugs that cause kernel crash, link error during build,
        and a third to fix kunit_test_init_section_suites() extra indirection
        issue"
      
      * tag 'linux-kselftest-kunit-fixes-6.2-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        kunit: fix kunit_test_init_section_suites(...)
        kunit: fix bug in KUNIT_EXPECT_MEMEQ
        kunit: Export kunit_running()
      e7368fd3
    • Linus Torvalds's avatar
      Merge tag 'soc-fixes-6.2-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 42c78a5b
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "The majority of bugfixes is once more for the NXP i.MX platform,
        addressing issue with i.MX8M (UART, watchdog and ethernet) as well as
        imx8dxl power button and the USB modem on an imx7 board.
      
        The reason that i.MX always shows up here is obviously not that they
        are more buggy than the others, but they have the most boards and are
        good about getting fixes in quickly.
      
        The other DT fixes are for the Nuvoton wpcm450 flash controller and
        the i2c mux on an ASpeed board.
      
        Lastly, there are updates to the MAINTAINERS entries for Mediatek,
        AMD/Seattle and NXP SoCs, as well as a lone code fix for error
        handling in the allwinner 'rsb' bus driver"
      
      * tag 'soc-fixes-6.2-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        ARM: dts: wpcm450: Add nuvoton,shm = <&shm> to FIU node
        MAINTAINERS: Update entry for MediaTek SoC support
        MAINTAINERS: amd: drop inactive Brijesh Singh
        ARM: dts: imx7d-smegw01: Fix USB host over-current polarity
        arm64: dts: imx8mm-verdin: Do not power down eth-phy
        MAINTAINERS: match freescale ARM64 DT directory in i.MX entry
        arm64: dts: imx8mm: Fix pad control for UART1_DTE_RX
        ARM: dts: aspeed: Fix pca9849 compatible
        arm64: dts: freescale: imx8dxl: fix sc_pwrkey's property name linux,keycode
        arm64: dts: imx8m-venice: Remove incorrect 'uart-has-rtscts'
        arm64: dts: imx8mm: Reinstate GPIO watchdog always-running property on eDM SBC
        bus: sunxi-rsb: Fix error handling in sunxi_rsb_init()
      42c78a5b
    • Linus Torvalds's avatar
      Merge tag 's390-6.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · addfba11
      Linus Torvalds authored
      Pull s390 fixes from Heiko Carstens:
      
       - With CONFIG_VMAP_STACK enabled it is not possible to load the s390
         specific diag288_wdt watchdog module. The reason is that a pointer to
         a string is passed to an inline assembly; this string however is
         located on the stack, while the instruction within the inline
         assembly expects a physicial address. Fix this by copying the string
         to a kmalloc'ed buffer.
      
       - The diag288_wdt watchdog module does not indicate that it accesses
         memory from an inline assembly, which it does. Add "memory" to the
         clobber list to prevent the compiler from optimizing code incorrectly
         away.
      
       - Pass size of the uncompressed kernel image to __decompress() call.
         Otherwise the kernel image decompressor may corrupt/overwrite an
         initrd. This was reported to happen on s390 after commit 2aa14b1a
         ("zstd: import usptream v1.5.2").
      
      * tag 's390-6.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/decompressor: specify __decompress() buf len to avoid overflow
        watchdog: diag288_wdt: fix __diag288() inline assembly
        watchdog: diag288_wdt: do not use stack buffers for hardware data
      addfba11
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v6.2-4' of... · 870bb765
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v6.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver fixes from Hans de Goede:
       "A set of AMD PMF fixes + a few other small fixes"
      
      * tag 'platform-drivers-x86-v6.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
        platform/x86: touchscreen_dmi: Add Chuwi Vi8 (CWI501) DMI match
        platform/x86: thinkpad_acpi: Fix thinklight LED brightness returning 255
        platform/x86/amd: pmc: add CONFIG_SERIO dependency
        platform/x86/amd/pmf: Ensure mutexes are initialized before use
        platform/x86/amd/pmf: Fix to update SPS thermals when power supply change
        platform/x86/amd/pmf: Fix to update SPS default pprof thermals
        platform/x86/amd/pmf: update to auto-mode limits only after AMT event
        platform/x86/amd/pmf: Add helper routine to check pprof is balanced
        platform/x86/amd/pmf: Add helper routine to update SPS thermals
      870bb765
    • Jakub Kicinski's avatar
      Merge branch 'fixes-for-mtk_eth_soc' · 9983a2c9
      Jakub Kicinski authored
      
      
      Bjørn Mork says:
      
      ====================
      Fix mtk_eth_soc sgmii configuration.
      
      This has been tested on a MT7986 with a Maxlinear GPY211C phy
      permanently attached to the second SoC mac.
      ====================
      
      Link: https://lore.kernel.org/r/20230201182331.943411-1-bjorn@mork.no
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      9983a2c9
    • Alexander Couzens's avatar
      mtk_sgmii: enable PCS polling to allow SFP work · 3337a6e0
      Alexander Couzens authored
      Currently there is no IRQ handling (even the SGMII supports it).
      Enable polling to support SFP ports.
      
      Fixes: 14a44ab0
      
       ("net: mtk_eth_soc: partially convert to phylink_pcs")
      Reviewed-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      Signed-off-by: default avatarAlexander Couzens <lynxis@fe80.eu>
      [ bmork: changed "1" => "true" ]
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Acked-by: default avatarDaniel Golle <daniel@makrotopia.org>
      Tested-by: default avatarDaniel Golle <daniel@makrotopia.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      3337a6e0
    • Bjørn Mork's avatar
      net: mediatek: sgmii: fix duplex configuration · 9d326371
      Bjørn Mork authored
      The logic of the duplex bit is inverted.  Setting it means half
      duplex, not full duplex.
      
      Fix and rename macro to avoid confusion.
      
      Fixes: 7e538372
      
       ("net: ethernet: mediatek: Re-add support SGMII")
      Reviewed-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Acked-by: default avatarDaniel Golle <daniel@makrotopia.org>
      Tested-by: default avatarDaniel Golle <daniel@makrotopia.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      9d326371
    • Alexander Couzens's avatar
      net: mediatek: sgmii: ensure the SGMII PHY is powered down on configuration · 7ff82416
      Alexander Couzens authored
      The code expect the PHY to be in power down which is only true after reset.
      Allow changes of the SGMII parameters more than once.
      
      Only power down when reconfiguring to avoid bouncing the link when there's
      no reason to - based on code from Russell King.
      
      There are cases when the SGMII_PHYA_PWD register contains 0x9 which
      prevents SGMII from working. The SGMII still shows link but no traffic
      can flow. Writing 0x0 to the PHYA_PWD register fix the issue. 0x0 was
      taken from a good working state of the SGMII interface.
      
      Fixes: 42c03844
      
       ("net-next: mediatek: add support for MediaTek MT7622 SoC")
      Suggested-by: default avatarRussell King (Oracle) <linux@armlinux.org.uk>
      Signed-off-by: default avatarAlexander Couzens <lynxis@fe80.eu>
      [ bmork: rebased and squashed into one patch ]
      Reviewed-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Acked-by: default avatarDaniel Golle <daniel@makrotopia.org>
      Tested-by: default avatarDaniel Golle <daniel@makrotopia.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      7ff82416
    • Jakub Kicinski's avatar
      Merge tag 'linux-can-fixes-for-6.2-20230202' of... · b0de13d3
      Jakub Kicinski authored
      
      Merge tag 'linux-can-fixes-for-6.2-20230202' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can
      
      Marc Kleine-Budde says:
      
      ====================
      can 2023-02-02
      
      The first patch is by Ziyang Xuan and removes a errant WARN_ON_ONCE()
      in the CAN J1939 protocol.
      
      The next 3 patches are by Oliver Hartkopp. The first 2 target the CAN
      ISO-TP protocol and fix the state machine with respect to signals and
      a regression found by the syzbot.
      
      The last patch is by me an missing assignment during the ethtool ring
      configuration callback.
      
      * tag 'linux-can-fixes-for-6.2-20230202' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can:
        can: mcp251xfd: mcp251xfd_ring_set_ringparam(): assign missing tx_obj_num_coalesce_irq
        can: isotp: split tx timer into transmission and timeout
        can: isotp: handle wait_event_interruptible() return values
        can: raw: fix CAN FD frame transmissions over CAN XL devices
        can: j1939: fix errant WARN_ON_ONCE in j1939_session_deactivate
      ====================
      
      Link: https://lore.kernel.org/r/20230202094135.2293939-1-mkl@pengutronix.de
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b0de13d3
    • Jakub Kicinski's avatar
      Merge branch 'maintainers-spring-refresh-of-networking-maintainers' · 4b6e135e
      Jakub Kicinski authored
      
      
      Jakub Kicinski says:
      
      ====================
      MAINTAINERS: spring refresh of networking maintainers
      
      Use Jon Corbet's script for generating statistics about maintainer
      coverage to identify inactive maintainers of relatively active code.
      Move them to CREDITS.
      ====================
      
      Link: https://lore.kernel.org/r/20230201182014.2362044-1-kuba@kernel.org
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      4b6e135e