1. 28 3月, 2013 2 次提交
  2. 10 1月, 2013 1 次提交
    • R
      bgmac: driver for GBit MAC core on BCMA bus · dd4544f0
      Rafał Miłecki 提交于
      BCMA is a Broadcom specific bus with devices AKA cores. All recent BCMA
      based SoCs have gigabit ethernet provided by the GBit MAC core. This
      patch adds driver for such a cores registering itself as a netdev. It
      has been tested on a BCM4706 and BCM4718 chipsets.
      
      In the kernel tree there is already b44 driver which has some common
      things with bgmac, however there are many differences that has led to
      the decision or writing a new driver:
      1) GBit MAC cores appear on BCMA bus (not SSB as in case of b44)
      2) There is 64bit DMA engine which differs from 32bit one
      3) There is no CAM (Content Addressable Memory) in GBit MAC
      4) We have 4 TX queues on GBit MAC devices (instead of 1)
      5) Many registers have different addresses/values
      6) RX header flags are also different
      
      The driver in it's state is functional how, however there is of course
      place for improvements:
      1) Supporting more net_device_ops
      2) SUpporting more ethtool_ops
      3) Unaligned addressing in DMA
      4) Writing separated PHY driver
      Signed-off-by: NRafał Miłecki <zajec5@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dd4544f0
  3. 11 12月, 2012 1 次提交
  4. 22 11月, 2012 1 次提交
  5. 20 10月, 2012 1 次提交
  6. 29 9月, 2012 1 次提交
  7. 11 8月, 2012 1 次提交
  8. 27 7月, 2012 1 次提交
    • H
      bcma: fix invalid PMU chip control masks · 1f03bf06
      Hauke Mehrtens 提交于
      Commit b9562545 ("bcma: complete workaround for BCMA43224 and
      BCM4313") introduced the wrong masks for setting the chip control
      registers - the "mask" parameter is inverse.
      
      It should be the mask of bits *not* changed, which is admittedly a bit
      non-intuitive.
      
      The incorrect mask not only causes the driver to not work correctly on
      the chips affected (eg the BCM43224 on the Macbook Air 4,2) but the
      state persists over a soft reset, causing the next boot to not
      necessarily see the device correctly.
      Reported-and-tested-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Tested-by: NSeth Forshee <seth.forshee@canonical.com>
      Cc: Hauke Mehrtens <hauke@hauke-m.de>
      Cc: Arend Van Spriel <arend@broadcom.com>
      Cc: Pieter-Paul Giesberts <pieterpg@broadcom.com>
      Cc: Brett Rudley <brudley@broadcom.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1f03bf06
  9. 12 7月, 2012 1 次提交
  10. 10 7月, 2012 9 次提交
  11. 05 6月, 2012 1 次提交
  12. 08 3月, 2012 1 次提交
  13. 01 11月, 2011 1 次提交
  14. 20 9月, 2011 1 次提交
  15. 23 8月, 2011 1 次提交
  16. 09 8月, 2011 2 次提交
  17. 07 7月, 2011 1 次提交
  18. 21 6月, 2011 2 次提交
  19. 11 5月, 2011 1 次提交
    • R
      bcma: add Broadcom specific AMBA bus driver · 8369ae33
      Rafał Miłecki 提交于
      Broadcom has released cards based on a new AMBA-based bus type. From a
      programming point of view, this new bus type differs from AMBA and does
      not use AMBA common registers. It also differs enough from SSB. We
      decided that a new bus driver is needed to keep the code clean.
      
      In its current form, the driver detects devices present on the bus and
      registers them in the system. It allows registering BCMA drivers for
      specified bus devices and provides them basic operations. The bus driver
      itself includes two important bus managing drivers: ChipCommon core
      driver and PCI(c) core driver. They are early used to allow correct
      initialization.
      
      Currently code is limited to supporting buses on PCI(e) devices, however
      the driver is designed to be used also on other hosts. The host
      abstraction layer is implemented and already used for PCI(e).
      
      Support for PCI(e) hosts is working and seems to be stable (access to
      80211 core was tested successfully on a few devices). We can still
      optimize it by using some fixed windows, but this can be done later
      without affecting any external code. Windows are just ranges in MMIO
      used for accessing cores on the bus.
      
      Cc: Greg KH <greg@kroah.com>
      Cc: Michael Büsch <mb@bu3sch.de>
      Cc: Larry Finger <Larry.Finger@lwfinger.net>
      Cc: George Kashperko <george@znau.edu.ua>
      Cc: Arend van Spriel <arend@broadcom.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Andy Botting <andy@andybotting.com>
      Cc: linuxdriverproject <devel@linuxdriverproject.org>
      Cc: linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>
      Signed-off-by: NRafał Miłecki <zajec5@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8369ae33
反馈
建议
客服 返回
顶部