1. 11 6月, 2015 1 次提交
  2. 21 12月, 2013 5 次提交
    • H
      b44: use fixed PHY device if we do not find any · b04138b3
      Hauke Mehrtens 提交于
      The ADM6996L switch and some Broadcom switches with two MII interfaces
      like the BCM5325F connected to two MACs on the SoC, used on some
      routers do not return a valid value when reading the PHY id register
      and Linux thinks there is no PHY at all, but that is wrong.
      This patch registers a fixed phy in the arch code and then searches it
      when there is no other phy in the Ethernet driver code.
      Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b04138b3
    • H
      b44: add phylib support · 86f4ea63
      Hauke Mehrtens 提交于
      Most of the older home routers based on the Broadcom BCM47XX SoC series
      are using a MAC that is supported by b44. On most of these routers not
      the internal PHY of this MAC core is used, but a switch sometimes on an
      external chip or integrated into the same SoC as the Ethernet core.
      For this switch a special PHY driver is needed which should not be
      integrated into b44 as the same switches are also used by other
      Broadcom home networking SoCs which are using different Ethernet MAC
      drivers. This was tested with the b53 switch driver which is currently
      on its way to mainline.
      
      If the internal PHY is not used, b44 will now search on the MDIO bus
      for a phy and use the Linux phylib subsystem to register a driver.
      Support for the internal PHY must stay here, because there are some
      device which are suing the internal phy.
      
      With this patch we scan the mdio bus when the sprom or nvram says that
      the PHY address is 30, if a PHY was found at this address b44 uses it.
      
      This was tested with a BCM4704, BCM4712 and BCM5354.
      Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      86f4ea63
    • H
      b44: abort when no PHY is available at all · 7befa6ab
      Hauke Mehrtens 提交于
      When the phy address is 31, this means that there is no PHY connected
      to this MAC at all, no internal and no external PHY. Reading these PHY
      registers causes a system reset on some routers.
      Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7befa6ab
    • H
      b44: rename B44_PHY_ADDR_NO_PHY to B44_PHY_ADDR_NO_LOCAL_PHY · 5ab6329c
      Hauke Mehrtens 提交于
      The PHY address 30 means there is no local PHY, but there could be an
      external PHY like a switch connected via MII. This is the case on most
      embedded home routers where this driver is used.
      Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5ab6329c
    • H
      b44: check register instead of PHY address to detect external PHY · d6194195
      Hauke Mehrtens 提交于
      The Ethernet core supported by b44 supports an internal PHY integrated
      into the mac core, which is supported by the b44 driver and an external
      PHY to which the mac core is connected. This external PHY could be a
      switch connected through MII, which is often the case when this core is
      used on home routers. The usage of an external PHY was assumed when the
      PHY address 30 was used and an internal PHY was assumed when the PHY
      address was different. To verify that b44_phy_reset() was called and
      checked if it worked, otherwise PHY address 30 was assumed, an external
      PHY. It is better to check the register which says which PHY is
      connected to the MAC instead of checking the PHY address.
      The interface to an external PHY was only activated when this register
      was set.
      
      This also changes B44_FLAG_INTERNAL_PHY to B44_FLAG_EXTERNAL_PHY, it is
      easier to check.
      Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d6194195
  3. 19 7月, 2012 1 次提交
  4. 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
  5. 13 6月, 2009 1 次提交
  6. 28 5月, 2009 1 次提交
  7. 16 1月, 2009 1 次提交
    • E
      b44: GFP_DMA skb should not escape from driver · a58c891a
      Eric Dumazet 提交于
      b44 chip has some hardware limitations, that need GFP_DMA bounce
      buffers in some situations.
      
      In order to not deplete DMA zone, we should keep allocated GFP_DMA skb
      only for driver use. At rx time, we copy such skb to newly allocated
      skb, reusing existing copybreak infrastructure.
      
      On machines with low amount of memory, all skb meet the hardware limitation,
      so no copy is needed. We detect this situation using a new device flag, set
      to one if one GFP_DMA skb was ever allocated by b44_alloc_rx_skb().
      
      Previously allocated skb, even outside from DMA zone will then be recycled,
      to have minimal impact on DMA zone use.
      Signed-off-by: NEric Dumazet <dada1@cosmosbay.com>
      Tested-by: NIonut Leonte <ionut.leonte@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a58c891a
  8. 11 10月, 2007 2 次提交
    • M
      [B44]: port to native ssb support · 753f4920
      Michael Buesch 提交于
      Signed-off-by: NMichael Buesch <mb@bu3sch.de>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      753f4920
    • S
      [NET]: Make NAPI polling independent of struct net_device objects. · bea3348e
      Stephen Hemminger 提交于
      Several devices have multiple independant RX queues per net
      device, and some have a single interrupt doorbell for several
      queues.
      
      In either case, it's easier to support layouts like that if the
      structure representing the poll is independant from the net
      device itself.
      
      The signature of the ->poll() call back goes from:
      
      	int foo_poll(struct net_device *dev, int *budget)
      
      to
      
      	int foo_poll(struct napi_struct *napi, int budget)
      
      The caller is returned the number of RX packets processed (or
      the number of "NAPI credits" consumed if you want to get
      abstract).  The callee no longer messes around bumping
      dev->quota, *budget, etc. because that is all handled in the
      caller upon return.
      
      The napi_struct is to be embedded in the device driver private data
      structures.
      
      Furthermore, it is the driver's responsibility to disable all NAPI
      instances in it's ->stop() device close handler.  Since the
      napi_struct is privatized into the driver's private data structures,
      only the driver knows how to get at all of the napi_struct instances
      it may have per-device.
      
      With lots of help and suggestions from Rusty Russell, Roland Dreier,
      Michael Chan, Jeff Garzik, and Jamal Hadi Salim.
      
      Bug fixes from Thomas Graf, Roland Dreier, Peter Zijlstra,
      Joseph Fannin, Scott Wood, Hans J. Koch, and Michael Chan.
      
      [ Ported to current tree and all drivers converted.  Integrated
        Stephen's follow-on kerneldoc additions, and restored poll_list
        handling to the old style to fix mutual exclusion issues.  -DaveM ]
      Signed-off-by: NStephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bea3348e
  9. 09 7月, 2007 1 次提交
  10. 07 2月, 2007 1 次提交
  11. 23 6月, 2006 2 次提交
  12. 09 11月, 2005 1 次提交
  13. 07 11月, 2005 1 次提交
  14. 19 10月, 2005 1 次提交
    • J
      [PATCH] b44: alternate allocation option for DMA descriptors · 9f38c636
      John W. Linville 提交于
      This is a (final?) hack to support the odd DMA allocation requirements
      of the b44 hardware.  The b44 hardware has a 30-bit DMA mask.  On x86,
      anything less than a 32-bit DMA mask forces allocations into the 16MB
      GFP_DMA range.  The memory there is somewhat limited, often resulting
      in an inability to initialize the b44 driver.
      
      This hack uses streaming DMA allocation APIs in order to provide an
      alternative in case the GFP_DMA allocation fails.  It is somewhat ugly,
      but not much worse than the similar existing hacks to support SKB
      allocations in the same driver.  FWIW, I have received positive
      feedback on this from several Fedora users.
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
      9f38c636
  15. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4