1. 08 2月, 2013 1 次提交
    • H
      tg3: add support for Ethernet core in bcm4785 · 7e6c63f0
      Hauke Mehrtens 提交于
      The BCM4785 or sometimes named BMC4705 is a Broadcom SoC which a
      Gigabit 5750 Ethernet core. The core is connected via PCI with the rest
      of the SoC, but it uses some extension.
      
      This core does not use a firmware or an eeprom.
      
      Some devices only have a switch which supports 100MBit/s, this
      currently does not work with this driver.
      
      This patch was original written by Michael Buesch <m@bues.ch> and is in
      OpenWrt for some years now.
      
      This was tested on a Linksys WRT610N V1 and older versions of this patch
      were tested by other people on different devices.
      Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de>
      Acked-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7e6c63f0
  2. 07 1月, 2013 3 次提交
  3. 05 1月, 2013 1 次提交
  4. 05 12月, 2012 1 次提交
  5. 15 11月, 2012 2 次提交
  6. 07 11月, 2012 1 次提交
  7. 30 9月, 2012 3 次提交
  8. 30 7月, 2012 2 次提交
  9. 17 7月, 2012 2 次提交
  10. 19 5月, 2012 1 次提交
  11. 01 5月, 2012 1 次提交
    • E
      tg3: provide frags as skb head · 8d4057a9
      Eric Dumazet 提交于
      This patch converts tg3 driver, one of our reference drivers, to use new
      build_skb() api in frag mode.
      
      Instead of using kmalloc() to allocate the memory block that will be
      used by build_skb() as skb->head, we use a page fragment.
      
      This is a followup of patch "net: allow skb->head to be a page fragment"
      
      This allows GRO, TCP coalescing, and splice() to be more efficient.
      
      Incidentally, this also removes SLUB slow path contention in kfree()
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Maciej Żenczykowski <maze@google.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Cc: Tom Herbert <therbert@google.com>
      Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
      Cc: Ben Hutchings <bhutchings@solarflare.com>
      Cc: Matt Carlson <mcarlson@broadcom.com>
      Cc: Michael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8d4057a9
  12. 22 3月, 2012 1 次提交
    • M
      tg3: Fix RSS ring refill race condition · 7ae52890
      Michael Chan 提交于
      The RSS feature in tg3 hardware has only one rx producer ring for all
      RSS rings.  NAPI vector 1 is special and handles the refilling of the
      rx producer ring on behalf of all RSS rings.  There is a race condition
      between these RSS NAPIs and the NAPI[1].  If NAPI[1] finishes checking
      for refill and then another RSS ring empties the rx producer ring
      before NAPI[1] exits NAPI, the chip will be completely out of SKBs in
      the rx producer ring.
      
      We fix this by adding a flag tp->rx_refill and rely on napi_schedule()/
      napi_complete() to help synchronize it to close the race condition.
      
      Update driver version to 3.123.
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7ae52890
  13. 23 2月, 2012 1 次提交
    • M
      tg3: Fix link check in tg3_adjust_link · 34655ad6
      Matt Carlson 提交于
      The tg3 driver tried to detect link changes by comparing the tg3 local
      active_speed member with SPEED_UNKNOWN (or formerly SPEED_INVALID).
      This check is not correct, since phylib will never set its speed member
      to either of these two values.  The code only appeared to work because
      tg3 initializes active_speed to SPEED_INVALID during tg3_init_one.  This
      patch introduces a new "old_link" tg3 member and then compares the
      phy_device's link member against it to detect link state changes.
      Signed-off-by: NMatt Carlson <mcarlson@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      34655ad6
  14. 14 2月, 2012 3 次提交
  15. 16 12月, 2011 3 次提交
  16. 09 12月, 2011 2 次提交
  17. 23 11月, 2011 1 次提交
  18. 22 11月, 2011 1 次提交
    • E
      tg3: switch to build_skb() infrastructure · 9205fd9c
      Eric Dumazet 提交于
      This is very similar to bnx2x conversion, but simpler since no special
      alignement is required, so goal was not to reduce skb truesize.
      
      Using build_skb() reduces cache line misses in the driver, since we
      use cache hot skb instead of cold ones. Number of in-flight sk_buff
      structures is lower, they are more likely recycled in SLUB caches
      while still hot.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      CC: Matt Carlson <mcarlson@broadcom.com>
      CC: Michael Chan <mchan@broadcom.com>
      CC: Eilon Greenstein <eilong@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9205fd9c
  19. 05 11月, 2011 4 次提交
  20. 25 10月, 2011 1 次提交
  21. 21 8月, 2011 1 次提交
  22. 11 8月, 2011 1 次提交
    • J
      broadcom: Move the Broadcom drivers · adfc5217
      Jeff Kirsher 提交于
      Moves the drivers for Broadcom devices into
      drivers/net/ethernet/broadcom/ and the necessary Kconfig and Makefile
      changes.
      
      CC: Eilon Greenstein <eilong@broadcom.com>
      CC: Michael Chan <mchan@broadcom.com>
      CC: Matt Carlson <mcarlson@broadcom.com>
      CC: Gary Zambrano <zambrano@broadcom.com>
      CC: "Maciej W. Rozycki" <macro@linux-mips.org>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      adfc5217
  23. 28 7月, 2011 3 次提交