1. 31 May, 2024 13 commits
  2. 30 May, 2024 23 commits
  3. 29 May, 2024 4 commits
    • David S. Miller's avatar
      Merge branch 'xilinx-clock-support' · 782471db
      David S. Miller authored
      Vineeth Karumanchi says:
      
      ====================
      net: xilinx_gmii2rgmii: Add clock support
      
      Add input clock support to gmii_to_rgmii IP.
      Add "clocks" bindings for the input clock.
      
      Changes in v3:
      - Added items constraints.
      
      Changes in v2:
      - removed "clkin" clock name property.
      v2 link : https://lore.kernel.org/netdev/20240517054745.4111922-1-vineeth.karumanchi@amd.com/
      
      v1 link : https://lore.kernel.org/netdev/20240515094645.3691877-1-vineeth.karumanchi@amd.com/
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      782471db
    • Vineeth Karumanchi's avatar
      net: phy: xilinx-gmii2rgmii: Adopt clock support · daab0ac5
      Vineeth Karumanchi authored
      Add clock support to the gmii_to_rgmii IP.
      Make clk optional to keep DTB backward compatibility.
      Signed-off-by: default avatarVineeth Karumanchi <vineeth.karumanchi@amd.com>
      Reviewed-by: default avatarWojciech Drewek <wojciech.drewek@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      daab0ac5
    • Vineeth Karumanchi's avatar
      dt-bindings: net: xilinx_gmii2rgmii: Add clock support · c1d96671
      Vineeth Karumanchi authored
      Add "clocks" bindings for the input clock.
      Signed-off-by: default avatarVineeth Karumanchi <vineeth.karumanchi@amd.com>
      Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c1d96671
    • Linus Walleij's avatar
      net: ethernet: cortina: Restore TSO support · 2942dfab
      Linus Walleij authored
      An earlier commit deleted the TSO support in the Cortina Gemini
      driver because the driver was confusing gso_size and MTU,
      probably because what the Linux kernel calls "gso_size" was
      called "MTU" in the datasheet.
      
      Restore the functionality properly reading the gso_size from
      the skbuff.
      
      Tested with iperf3, running a server on a different machine
      and client on the device with the cortina gemini ethernet:
      
      Connecting to host 192.168.1.2, port 5201
      60008000.ethernet-port eth0: segment offloading mss = 05ea len=1c8a
      60008000.ethernet-port eth0: segment offloading mss = 05ea len=1c8a
      60008000.ethernet-port eth0: segment offloading mss = 05ea len=27da
      60008000.ethernet-port eth0: segment offloading mss = 05ea len=0b92
      60008000.ethernet-port eth0: segment offloading mss = 05ea len=2bda
      (...)
      
      (The hardware MSS 0x05ea here includes the ethernet headers.)
      
      If I disable all segment offloading on the receiving host and
      dump packets using tcpdump -xx like this:
      
      ethtool -K enp2s0 gro off gso off tso off
      tcpdump -xx -i enp2s0 host 192.168.1.136
      
      I get segmented packages such as this when running iperf3:
      
      23:16:54.024139 IP OpenWrt.lan.59168 > Fecusia.targus-getdata1:
      Flags [.], seq 1486:2934, ack 1, win 4198,
      options [nop,nop,TS val 3886192908 ecr 3601341877], length 1448
      0x0000:  fc34 9701 a0c6 14d6 4da8 3c4f 0800 4500
      0x0010:  05dc 16a0 4000 4006 9aa1 c0a8 0188 c0a8
      0x0020:  0102 e720 1451 ff25 9822 4c52 29cf 8010
      0x0030:  1066 ac8c 0000 0101 080a e7a2 990c d6a8
      (...)
      0x05c0:  5e49 e109 fe8c 4617 5e18 7a82 7eae d647
      0x05d0:  e8ee ae64 dc88 c897 3f8a 07a4 3a33 6b1b
      0x05e0:  3501 a30f 2758 cc44 4b4a
      
      Several such packets often follow after each other verifying
      the segmentation into 0x05a8 (1448) byte packages also on the
      reveiving end. As can be seen, the ethernet frames are
      0x05ea (1514) in size.
      
      Performance with iperf3 before this patch: ~15.5 Mbit/s
      Performance with iperf3 after this patch: ~175 Mbit/s
      
      This was running a 60 second test (twice) the best measurement
      was 179 Mbit/s.
      
      For comparison if I run iperf3 with UDP I get around 1.05 Mbit/s
      both before and after this patch.
      
      While this is a gigabit ethernet interface, the CPU is a cheap
      D-Link DIR-685 router (based on the ARMv5 Faraday FA526 at
      ~50 MHz), and the software is not supposed to drive traffic,
      as the device has a DSA chip, so this kind of numbers can be
      expected.
      
      Fixes: ac631873 ("net: ethernet: cortina: Drop TSO support")
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2942dfab