1. 23 4月, 2020 1 次提交
  2. 31 3月, 2020 1 次提交
  3. 14 1月, 2020 1 次提交
  4. 19 12月, 2019 2 次提交
  5. 12 11月, 2019 1 次提交
  6. 07 10月, 2019 1 次提交
  7. 04 10月, 2019 1 次提交
    • T
      net: stmmac: Support enhanced addressing mode for DWMAC 4.10 · 560c07cb
      Thierry Reding 提交于
      The address width of the controller can be read from hardware feature
      registers much like on XGMAC. Add support for parsing the ADDR64 field
      so that the DMA mask can be set accordingly.
      
      This avoids getting swiotlb involved for DMA on Tegra186 and later.
      
      Also make sure that the upper 32 bits of the DMA address are written to
      the DMA descriptors when enhanced addressing mode is used. Similarily,
      for each channel, the upper 32 bits of the DMA descriptor ring's base
      address also need to be programmed to make sure the correct memory can
      be fetched when the DMA descriptor ring is located beyond the 32-bit
      boundary.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      560c07cb
  8. 11 9月, 2019 4 次提交
  9. 07 9月, 2019 1 次提交
  10. 10 7月, 2019 1 次提交
    • B
      net: stmmac: add support for hash table size 128/256 in dwmac4 · b8ef7020
      Biao Huang 提交于
      1. get hash table size in hw feature reigster, and add support
      for taller hash table(128/256) in dwmac4.
      2. only clear GMAC_PACKET_FILTER bits used in this function,
      to avoid side effect to functions of other bits.
      
      stmmac selftests output log with flow control on:
      	ethtool -t eth0
      	The test result is PASS
      	The test extra info:
      	 1. MAC Loopback                 0
      	 2. PHY Loopback                 -95
      	 3. MMC Counters                 0
      	 4. EEE                          -95
      	 5. Hash Filter MC               0
      	 6. Perfect Filter UC            0
      	 7. MC Filter                    0
      	 8. UC Filter                    0
      	 9. Flow Control                 0
      Signed-off-by: NBiao Huang <biao.huang@mediatek.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b8ef7020
  11. 05 6月, 2019 1 次提交
  12. 25 5月, 2019 3 次提交
  13. 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
  14. 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
  15. 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
  16. 20 4月, 2018 1 次提交
    • J
      net: stmmac: Disable ACS Feature for GMAC >= 4 · 565020aa
      Jose Abreu 提交于
      ACS Feature is currently enabled for GMAC >= 4 but the llc_snap status
      is never checked in descriptor rx_status callback. This will cause
      stmmac to always strip packets even that ACS feature is already
      stripping them.
      
      Lets be safe and disable the ACS feature for GMAC >= 4 and always strip
      the packets for this GMAC version.
      
      Fixes: 477286b5 ("stmmac: add GMAC4 core support")
      Signed-off-by: NJose Abreu <joabreu@synopsys.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>
      565020aa
  17. 31 3月, 2018 1 次提交
    • J
      net: stmmac: Add support for DWMAC5 and implement Safety Features · 8bf993a5
      Jose Abreu 提交于
      This adds initial suport for DWMAC5 and implements the Automotive Safety
      Package which is available from core version 5.10.
      
      The Automotive Safety Pacakge (also called Safety Features) offers us
      with error protection in the core by implementing ECC Protection in
      memories, on-chip data path parity protection, FSM parity and timeout
      protection and Application/CSR interface timeout protection.
      
      In case of an uncorrectable error we call stmmac_global_err() and
      reconfigure the whole core.
      Signed-off-by: NJose Abreu <joabreu@synopsys.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>
      Cc: Andrew Lunn <andrew@lunn.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8bf993a5
  18. 10 2月, 2018 1 次提交
  19. 14 11月, 2017 1 次提交
    • N
      net: stmmac: fix LPI transitioning for dwmac4 · 4497478c
      Niklas Cassel 提交于
      The LPI transitioning logic in stmmac_main uses
      priv->tx_path_in_lpi_mode to enter/exit LPI.
      
      However, priv->tx_path_in_lpi_mode is assigned
      using the return value from host_irq_status().
      
      So for dwmac4, priv->tx_path_in_lpi_mode was always false,
      so stmmac_tx_clean() would always try to put us in eee mode,
      and stmmac_xmit() would never take us out of eee mode.
      
      To fix this, make host_irq_status() read and return the LPI
      irq status also for dwmac4.
      
      This also increments the existing LPI counters, so that
      ethtool --statistics shows LPI transitions also for dwmac4.
      
      For dwmac1000, irqs are enabled/disabled using the register
      named "Interrupt Mask Register", and thus setting a bit disables
      that specific irq.
      
      For dwmac4 the matching register is named "MAC_Interrupt_Enable",
      and thus setting a bit enables that specific irq.
      
      Looking at dwmac1000_core.c, the irqs that are always enabled are:
      LPI and PMT.
      
      Looking at dwmac4_core.c, the irqs that are always enabled are:
      PMT.
      
      To be able to read the LPI irq status, we need to enable the LPI
      irq also for dwmac4.
      Signed-off-by: NNiklas Cassel <niklas.cassel@axis.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4497478c
  20. 15 10月, 2017 1 次提交
  21. 22 3月, 2017 2 次提交
  22. 13 3月, 2017 8 次提交
  23. 10 1月, 2017 1 次提交
  24. 30 12月, 2016 2 次提交
  25. 30 11月, 2016 1 次提交