1. 16 11月, 2012 2 次提交
    • T
      net: mvneta: driver for Marvell Armada 370/XP network unit · c5aff182
      Thomas Petazzoni 提交于
      This patch contains a new network driver for the network unit of the
      ARM Marvell Armada 370 and the Armada XP. Both SoCs use the PJ4B
      processor, a Marvell-developed ARM core that implements the ARMv7
      instruction set.
      
      Compared to previous ARM Marvell SoCs (Kirkwood, Orion, Discovery),
      the network unit in Armada 370 and Armada XP is highly different. This
      is the reason why this new 'mvneta' driver is needed, while the older
      ARM Marvell SoCs use the 'mv643xx_eth' driver.
      
      Here is an overview of the most important hardware changes that
      require a new, specific, driver for the network unit of Armada 370/XP:
      
       - The new network unit has a completely different design and layout
         for the RX and TX descriptors. They are now organized as a simple
         array (each RX and TX queue has base address and size of this
         array) rather than a linked list as in the old SoCs.
      
       - The new network unit has a different RXQ and TXQ management: this
         management is done using special read/write counter registers,
         while in the Old SocS, it was done using the Ownership bit in RX
         and TX descriptors.
      
       - The new network unit has different interrupt registers
      
       - The new network unit way of cleaning of interrupts is not done by
         writing to the cause register, but by updating per-queue counters
      
       - The new network unit has different GMAC registers (link, speed,
         duplex configuration) and different WRR registers.
      
       - The new network unit has lots of new units like PnC (Parser and
         Classifier), PMT, BM (Memory Buffer Management), xPON, and more.
      
      The driver proposed in the current patch only handles the basic
      features. Additional hardware features will progressively be supported
      as needed.
      
      This code has originally been written by Rami Rosen
      <rosenr@marvell.com>, and then reviewed and cleaned up by Thomas
      Petazzoni <thomas.petazzoni@free-electrons.com>.
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      c5aff182
    • T
      net: mvmdio: new Marvell MDIO driver · fc8f5ade
      Thomas Petazzoni 提交于
      This patch adds a separate driver for the MDIO interface of the
      Marvell Ethernet controllers. There are two reasons to have a separate
      driver rather than including it inside the MAC driver itself:
      
       *) The MDIO interface is shared by all Ethernet ports, so a driver
          must guarantee non-concurrent accesses to this MDIO interface. The
          most logical way is to have a separate driver that handles this
          single MDIO interface, used by all Ethernet ports.
      
       *) The MDIO interface is the same between the existing mv643xx_eth
          driver and the new mvneta driver. Even though it is for now only
          used by the mvneta driver, it will in the future be used by the
          mv643xx_eth driver as well.
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      fc8f5ade
  2. 04 11月, 2012 1 次提交
  3. 09 10月, 2012 2 次提交
  4. 08 10月, 2012 2 次提交
    • P
      drivers/net/ethernet/marvell/sky2.c: fix error return code · 0bd8ba18
      Peter Senna Tschudin 提交于
      The function sky2_probe() return 0 for success and negative value
      for most of its internal tests failures. There are two exceptions
      that are error cases going to err_out*:. For this two cases, the
      function abort its success execution path, but returns non negative
      value, making it dificult for a caller function to notice the error.
      
      This patch fixes the error cases that do not return negative values.
      
      This was found by Coccinelle, but the code change was made by hand.
      This patch is not robot generated.
      
      A simplified version of the semantic match that finds this problem is
      as follows: (http://coccinelle.lip6.fr/)
      
      // <smpl>
      (
      if@p1 (\(ret < 0\|ret != 0\))
       { ... return ret; }
      |
      ret@p1 = 0
      )
      ... when != ret = e1
          when != &ret
      *if(...)
      {
        ... when != ret = e2
            when forall
       return ret;
      }
      // </smpl>
      Signed-off-by: NPeter Senna Tschudin <peter.senna@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0bd8ba18
    • P
      drivers/net/ethernet/marvell/skge.c: fix error return code · bbcf61fb
      Peter Senna Tschudin 提交于
      The function skge_probe() return 0 for success and negative value
      for most of its internal tests failures. There is one exception
      that is error case going to err_out_led_off:. For this error case, the
      function abort its success execution path, but returns non negative
      value, making it difficult for a caller function to notice the error.
      
      This patch fixes the error case that do not return negative value.
      
      This was found by Coccinelle, but the code change was made by hand.
      This patch is not robot generated.
      
      A simplified version of the semantic match that finds this problem is
      as follows: (http://coccinelle.lip6.fr/)
      
      // <smpl>
      (
      if@p1 (\(ret < 0\|ret != 0\))
       { ... return ret; }
      |
      ret@p1 = 0
      )
      ... when != ret = e1
          when != &ret
      *if(...)
      {
        ... when != ret = e2
            when forall
       return ret;
      }
      // </smpl>
      Signed-off-by: NPeter Senna Tschudin <peter.senna@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bbcf61fb
  5. 07 10月, 2012 1 次提交
    • E
      net: remove skb recycling · acb600de
      Eric Dumazet 提交于
      Over time, skb recycling infrastructure got litle interest and
      many bugs. Generic rx path skb allocation is now using page
      fragments for efficient GRO / TCP coalescing, and recyling
      a tx skb for rx path is not worth the pain.
      
      Last identified bug is that fat skbs can be recycled
      and it can endup using high order pages after few iterations.
      
      With help from Maxime Bizon, who pointed out that commit
      87151b86 (net: allow pskb_expand_head() to get maximum tailroom)
      introduced this regression for recycled skbs.
      
      Instead of fixing this bug, lets remove skb recycling.
      
      Drivers wanting really hot skbs should use build_skb() anyway,
      to allocate/populate sk_buff right before netif_receive_skb()
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Maxime Bizon <mbizon@freebox.fr>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      acb600de
  6. 25 7月, 2012 1 次提交
  7. 09 7月, 2012 2 次提交
  8. 08 6月, 2012 1 次提交
  9. 07 6月, 2012 2 次提交
  10. 09 5月, 2012 1 次提交
  11. 02 5月, 2012 2 次提交
  12. 05 4月, 2012 1 次提交
  13. 04 4月, 2012 3 次提交
  14. 03 4月, 2012 1 次提交
  15. 29 3月, 2012 1 次提交
  16. 22 3月, 2012 1 次提交
  17. 17 3月, 2012 1 次提交
  18. 24 2月, 2012 1 次提交
  19. 16 2月, 2012 1 次提交
  20. 08 2月, 2012 1 次提交
  21. 07 2月, 2012 1 次提交
  22. 01 2月, 2012 2 次提交
  23. 24 1月, 2012 2 次提交
  24. 23 1月, 2012 2 次提交
  25. 11 1月, 2012 2 次提交
  26. 04 1月, 2012 1 次提交
  27. 31 12月, 2011 1 次提交
  28. 14 12月, 2011 1 次提交