1. 26 9月, 2020 1 次提交
  2. 17 9月, 2020 1 次提交
  3. 27 8月, 2020 1 次提交
  4. 23 4月, 2020 1 次提交
  5. 31 3月, 2020 1 次提交
  6. 18 3月, 2020 2 次提交
  7. 10 3月, 2020 1 次提交
  8. 14 1月, 2020 1 次提交
  9. 19 12月, 2019 3 次提交
  10. 16 11月, 2019 2 次提交
  11. 05 9月, 2019 2 次提交
  12. 18 8月, 2019 3 次提交
    • J
      net: stmmac: Add support for VLAN Insertion Offload · 30d93227
      Jose Abreu 提交于
      Adds the logic to insert a given VLAN ID in a packet. This is offloaded
      to HW and its descriptor based. For now, only XGMAC implements the
      necessary callbacks.
      Signed-off-by: NJose Abreu <joabreu@synopsys.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      30d93227
    • J
      net: stmmac: Add a counter for Split Header packets · b5418e13
      Jose Abreu 提交于
      Add a counter that increments each time a packet with split header is
      received.
      Signed-off-by: NJose Abreu <joabreu@synopsys.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b5418e13
    • J
      net: stmmac: Add Split Header support and enable it in XGMAC cores · 67afd6d1
      Jose Abreu 提交于
      Add the support for Split Header feature in the RX path and enable it in
      XGMAC cores.
      
      This does not impact neither beneficts bandwidth but it does reduces CPU
      usage because without the feature all the entire packet is memcpy'ed,
      while that with the feature only the header is.
      
      With Split Header disabled 'perf stat -d' gives:
      86870.624945 task-clock (msec)      #    0.429 CPUs utilized
           1073352 context-switches       #    0.012 M/sec
                 1 cpu-migrations         #    0.000 K/sec
               213 page-faults            #    0.002 K/sec
      327113872376 cycles                 #    3.766 GHz (62.53%)
       56618161216 instructions           #    0.17  insn per cycle (75.06%)
       10742205071 branches               #  123.658 M/sec (75.36%)
         584309242 branch-misses          #    5.44% of all branches (75.19%)
       17594787965 L1-dcache-loads        #  202.540 M/sec (74.88%)
        4003773131 L1-dcache-load-misses  #   22.76% of all L1-dcache hits (74.89%)
        1313301468 LLC-loads              #   15.118 M/sec (49.75%)
         355906510 LLC-load-misses        #   27.10% of all LL-cache hits (49.92%)
      
      With Split Header enabled 'perf stat -d' gives:
      49324.456539 task-clock (msec)     #    0.245 CPUs utilized
           2542387 context-switches      #    0.052 M/sec
                 1 cpu-migrations        #    0.000 K/sec
               213 page-faults           #    0.004 K/sec
      177092791469 cycles                #    3.590 GHz (62.30%)
       68555756017 instructions          #    0.39  insn per cycle (75.16%)
       12697019382 branches              #  257.418 M/sec (74.81%)
         442081897 branch-misses         #    3.48% of all branches (74.79%)
       20337958358 L1-dcache-loads       #  412.330 M/sec (75.46%)
        3820210140 L1-dcache-load-misses #   18.78% of all L1-dcache hits (75.35%)
        1257719198 LLC-loads             #   25.499 M/sec (49.73%)
         685543923 LLC-load-misses       #   54.51% of all LL-cache hits (49.86%)
      
      Changes from v2:
      	- Reword commit message (Jakub)
      Changes from v1:
      	- Add performance info (David)
      	- Add misssing dma_sync_single_for_device()
      Signed-off-by: NJose Abreu <joabreu@synopsys.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      67afd6d1
  13. 09 8月, 2019 2 次提交
  14. 10 7月, 2019 2 次提交
  15. 29 6月, 2019 3 次提交
  16. 06 6月, 2019 1 次提交
    • B
      net: stmmac: modify default value of tx-frames · d2facb4b
      Biao Huang 提交于
      the default value of tx-frames is 25, it's too late when
      passing tstamp to stack, then the ptp4l will fail:
      
      ptp4l -i eth0 -f gPTP.cfg -m
      ptp4l: selected /dev/ptp0 as PTP clock
      ptp4l: port 1: INITIALIZING to LISTENING on INITIALIZE
      ptp4l: port 0: INITIALIZING to LISTENING on INITIALIZE
      ptp4l: port 1: link up
      ptp4l: timed out while polling for tx timestamp
      ptp4l: increasing tx_timestamp_timeout may correct this issue,
             but it is likely caused by a driver bug
      ptp4l: port 1: send peer delay response failed
      ptp4l: port 1: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
      
      ptp4l tests pass when changing the tx-frames from 25 to 1 with
      ethtool -C option.
      It should be fine to set tx-frames default value to 1, so ptp4l will pass
      by default.
      Signed-off-by: NBiao Huang <biao.huang@mediatek.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d2facb4b
  17. 05 6月, 2019 1 次提交
    • T
      treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 · 4fa9c49f
      Thomas Gleixner 提交于
      Based on 2 normalized pattern(s):
      
        this program is free software you can redistribute it and or modify
        it under the terms and conditions of the gnu general public license
        version 2 as published by the free software foundation this program
        is distributed in the hope it will be useful but without any
        warranty without even the implied warranty of merchantability or
        fitness for a particular purpose see the gnu general public license
        for more details the full gnu general public license is included in
        this distribution in the file called copying
      
        this program is free software you can redistribute it and or modify
        it under the terms and conditions of the gnu general public license
        version 2 as published by the free software foundation this program
        is distributed in the hope [that] it will be useful but without any
        warranty without even the implied warranty of merchantability or
        fitness for a particular purpose see the gnu general public license
        for more details the full gnu general public license is included in
        this distribution in the file called copying
      
      extracted by the scancode license scanner the SPDX license identifier
      
        GPL-2.0-only
      
      has been chosen to replace the boilerplate/reference in 57 file(s).
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Reviewed-by: NAlexios Zavras <alexios.zavras@intel.com>
      Reviewed-by: NAllison Randal <allison@lohutok.net>
      Cc: linux-spdx@vger.kernel.org
      Link: https://lkml.kernel.org/r/20190529141901.515993066@linutronix.deSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4fa9c49f
  18. 25 5月, 2019 1 次提交
  19. 09 11月, 2018 1 次提交
    • T
      net: stmmac: Fix RX packet size > 8191 · 8137b6ef
      Thor Thayer 提交于
      Ping problems with packets > 8191 as shown:
      
      PING 192.168.1.99 (192.168.1.99) 8150(8178) bytes of data.
      8158 bytes from 192.168.1.99: icmp_seq=1 ttl=64 time=0.669 ms
      wrong data byte 8144 should be 0xd0 but was 0x0
      16    10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
            20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
      %< ---------------snip--------------------------------------
      8112  b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf
            c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf
      8144  0 0 0 0 d0 d1
            ^^^^^^^
      Notice the 4 bytes of 0 before the expected byte of d0.
      
      Databook notes that the RX buffer must be a multiple of 4/8/16
      bytes [1].
      
      Update the DMA Buffer size define to 8188 instead of 8192. Remove
      the -1 from the RX buffer size allocations and use the new
      DMA Buffer size directly.
      
      [1] Synopsys DesignWare Cores Ethernet MAC Universal v3.70a
          [section 8.4.2 - Table 8-24]
      
      Tested on SoCFPGA Stratix10 with ping sweep from 100 to 8300 byte packets.
      
      Fixes: 286a8372 ("stmmac: add CHAINED descriptor mode support (V4)")
      Suggested-by: NJose Abreu <jose.abreu@synopsys.com>
      Signed-off-by: NThor Thayer <thor.thayer@linux.intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8137b6ef
  20. 19 9月, 2018 1 次提交
    • J
      net: stmmac: Rework coalesce timer and fix multi-queue races · 8fce3331
      Jose Abreu 提交于
      This follows David Miller advice and tries to fix coalesce timer in
      multi-queue scenarios.
      
      We are now using per-queue coalesce values and per-queue TX timer.
      
      Coalesce timer default values was changed to 1ms and the coalesce frames
      to 25.
      
      Tested in B2B setup between XGMAC2 and GMAC5.
      Signed-off-by: NJose Abreu <joabreu@synopsys.com>
      Fixes: 	ce736788 ("net: stmmac: adding multiple buffers for TX")
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Neil Armstrong <narmstrong@baylibre.com>
      Cc: Jerome Brunet <jbrunet@baylibre.com>
      Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Joao Pinto <jpinto@synopsys.com>
      Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
      Cc: Alexandre Torgue <alexandre.torgue@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8fce3331
  21. 10 8月, 2018 2 次提交
  22. 04 6月, 2018 1 次提交
    • J
      net: stmmac: Add Flexible PPS support · 9a8a02c9
      Jose Abreu 提交于
      This adds support for Flexible PPS output (which is equivalent
      to per_out output of PTP subsystem).
      
      Tested using an oscilloscope and the following commands:
      
      1) Start PTP4L:
      	# ptp4l -A -4 -H -m -i eth0 &
      2) Set Flexible PPS frequency:
      	# echo <idx> <ts> <tns> <ps> <pns> > /sys/class/ptp/ptpX/period
      
      Where, ts/tns is start time and ps/pns is period time, and ptpX is ptp
      of eth0.
      Signed-off-by: NJose Abreu <joabreu@synopsys.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Joao Pinto <jpinto@synopsys.com>
      Cc: Vitor Soares <soares@synopsys.com>
      Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
      Cc: Alexandre Torgue <alexandre.torgue@st.com>
      Cc: Richard Cochran <richardcochran@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9a8a02c9
  23. 11 5月, 2018 1 次提交
    • J
      net: stmmac: Add support for U32 TC filter using Flexible RX Parser · 4dbbe8dd
      Jose Abreu 提交于
      This adds support for U32 filter by using an HW only feature called
      Flexible RX Parser. This allow us to match any given packet field with a
      pattern and accept/reject or even route the packet to a specific DMA
      channel.
      
      Right now we only support acception or rejection of frame and we only
      support simple rules. Though, the Parser has the flexibility of jumping to
      specific rules as an if condition so complex rules can be established.
      
      This is only supported in GMAC5.10+.
      
      The following commands can be used to test this code:
      
      	1) Setup an ingress qdisk:
      	# tc qdisc add dev eth0 handle ffff: ingress
      
      	2) Setup a filter (e.g. filter by IP):
      	# tc filter add dev eth0 parent ffff: protocol ip u32 match ip \
      		src 192.168.0.3 skip_sw action drop
      
      In every tests performed we always used the "skip_sw" flag to make sure
      only the RX Parser was involved.
      Signed-off-by: NJose Abreu <joabreu@synopsys.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Joao Pinto <jpinto@synopsys.com>
      Cc: Vitor Soares <soares@synopsys.com>
      Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
      Cc: Alexandre Torgue <alexandre.torgue@st.com>
      Cc: Jakub Kicinski <kubakici@wp.pl>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4dbbe8dd
  24. 24 4月, 2018 1 次提交
    • J
      net: stmmac: Implement logic to automatically select HW Interface · 5f0456b4
      Jose Abreu 提交于
      Move all the core version detection to a common place ("hwif.c") and
      implement a table which can be used to lookup the correct callbacks for
      each IP version.
      
      This simplifies the initialization flow of each IP version and eases
      future implementation of new IP versions.
      Signed-off-by: NJose Abreu <joabreu@synopsys.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Joao Pinto <jpinto@synopsys.com>
      Cc: Vitor Soares <soares@synopsys.com>
      Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
      Cc: Alexandre Torgue <alexandre.torgue@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5f0456b4
  25. 17 4月, 2018 4 次提交