27 Dec, 2010

1 commit


17 Dec, 2010

1 commit

  • The nvram_get function was never in the mainline kernel, it only existed in
    an external OpenWrt patch. Use nvram_getenv function, which is in mainline
    and use an include instead of an extra function declaration. et0macaddr
    contains the mac address in text from like 00:11:22:33:44:55. We have to
    parse it before adding it into macaddr.

    nvram_parse_macaddr will be merged into asm/mach-bcm47xx/nvram.h through
    the MIPS git tree and will be available soon. It will not build now without
    nvram_parse_macaddr, but it hasn't before either.

    Signed-off-by: Hauke Mehrtens
    To: linux-mips@linux-mips.org
    Cc: mb@bu3sch.de
    Cc: netdev@vger.kernel.org
    Cc: Hauke Mehrtens
    Acked-by: Michael Buesch
    Patchwork: https://patchwork.linux-mips.org/patch/1849/
    Signed-off-by: Ralf Baechle

    Hauke Mehrtens
     

03 Dec, 2010

1 commit


25 Aug, 2010

1 commit


05 Jun, 2010

2 commits

  • Now they are unnecessary. We can use the generic DMA API with any bus.

    Signed-off-by: FUJITA Tomonori
    Cc: Michael Buesch
    Cc: Gary Zambrano
    Cc: Stefano Brivio
    Cc: Larry Finger
    Cc: John W. Linville
    Cc: David S. Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: John W. Linville

    FUJITA Tomonori
     
  • Add dma_dev, a pointer to struct device, to struct ssb_device. We pass it
    to the generic DMA API with SSB_BUSTYPE_PCI and SSB_BUSTYPE_SSB.
    ssb_devices_register() sets up it properly.

    This is preparation for replacing the ssb bus specific DMA API (ssb_dma_*)
    with the generic DMA API.

    Signed-off-by: FUJITA Tomonori
    Acked-by: Michael Buesch
    Cc: Gary Zambrano
    Cc: Stefano Brivio
    Cc: Larry Finger
    Cc: John W. Linville
    Acked-by: David S. Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: John W. Linville

    FUJITA Tomonori
     

27 Apr, 2010

4 commits

  • Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki
     
  • Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki
     
  • Our offset handling becomes even a little more hackish now. For some reason I
    do not understand all offsets as inrelative. It assumes base offset is 0x1000
    but it will work for now as we make offsets relative anyway by removing base
    0x1000. Should be cleaner however.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki
     
  • Attempting to read registers that don't exist on the SSB bus can cause
    hangs on some boxes. At least some b43 devices are 'in the wild' that
    don't have SPROMs at all. When the SSB bus support loads, it attempts
    to read these (non-existant) SPROMs and causes hard hangs on the box --
    no console output, etc.

    This patch adds some intelligence to determine whether or not the SPROM
    is present before attempting to read it. This avoids those hard hangs
    on those devices with no SPROM attached to their SSB bus. The
    SSB-attached devices (e.g. b43, et al.) won't work, but at least the box
    will survive to test further patches. :-)

    Signed-off-by: John W. Linville
    Signed-off-by: Rafał Miłecki
    Cc: Larry Finger
    Cc: Michael Buesch

    John W. Linville
     

28 Oct, 2009

1 commit


09 Sep, 2009

1 commit

  • Add support for communicating with a Sonics Silicon Backplane through a
    SDIO interface, as found in the Nintendo Wii WLAN daughter card.

    The Nintendo Wii WLAN card includes a custom Broadcom 4318 chip with
    a SDIO host interface.

    Signed-off-by: Albert Herranz
    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville

    Albert Herranz
     

29 Aug, 2009

1 commit


14 Aug, 2009

1 commit


06 Mar, 2009

1 commit

  • This adds SSB functionality to register a fallback SPROM image from the
    architecture setup code.

    Weird architectures exist that have half-assed SSB devices without SPROM attached to
    their PCI busses. The architecture can register a fallback SPROM image that is
    used if no SPROM is found on the SSB device.

    Signed-off-by: Michael Buesch
    Cc: Florian Fainelli
    Signed-off-by: John W. Linville

    Michael Buesch
     

10 Feb, 2009

1 commit


30 Jan, 2009

1 commit


11 Nov, 2008

1 commit


30 Aug, 2008

2 commits

  • Only rev 1 and 2 ssb SPROMs have fields named et0mac and et1mac;
    however, all of the extraction routines extract pseudo data for these
    fields from regions that are all 1's resulting in a hardware address
    of FF:FF:FF:FF:FF:FF. This patch forces such a fill at the beginning of
    the data extraction process, and only does the formal extraction if the
    SPROM rev is 1 or 2.

    Signed-off-by: Larry Finger
    Signed-off-by: John W. Linville

    Larry Finger
     
  • Although a revision 5 SPROM has not been seen in the wild, the
    open-source portion of the MIPS driver 4.150.10.5 describes its
    layout, which is mostly inherited from revision 4. This patch
    implements the differences.

    Signed-off-by: Larry Finger
    Acked-by: Michael Buesch
    Signed-off-by: John W. Linville

    Larry Finger
     

27 Jul, 2008

1 commit

  • Add per-device dma_mapping_ops support for CONFIG_X86_64 as POWER
    architecture does:

    This enables us to cleanly fix the Calgary IOMMU issue that some devices
    are not behind the IOMMU (http://lkml.org/lkml/2008/5/8/423).

    I think that per-device dma_mapping_ops support would be also helpful for
    KVM people to support PCI passthrough but Andi thinks that this makes it
    difficult to support the PCI passthrough (see the above thread). So I
    CC'ed this to KVM camp. Comments are appreciated.

    A pointer to dma_mapping_ops to struct dev_archdata is added. If the
    pointer is non NULL, DMA operations in asm/dma-mapping.h use it. If it's
    NULL, the system-wide dma_ops pointer is used as before.

    If it's useful for KVM people, I plan to implement a mechanism to register
    a hook called when a new pci (or dma capable) device is created (it works
    with hot plugging). It enables IOMMUs to set up an appropriate
    dma_mapping_ops per device.

    The major obstacle is that dma_mapping_error doesn't take a pointer to the
    device unlike other DMA operations. So x86 can't have dma_mapping_ops per
    device. Note all the POWER IOMMUs use the same dma_mapping_error function
    so this is not a problem for POWER but x86 IOMMUs use different
    dma_mapping_error functions.

    The first patch adds the device argument to dma_mapping_error. The patch
    is trivial but large since it touches lots of drivers and dma-mapping.h in
    all the architecture.

    This patch:

    dma_mapping_error() doesn't take a pointer to the device unlike other DMA
    operations. So we can't have dma_mapping_ops per device.

    Note that POWER already has dma_mapping_ops per device but all the POWER
    IOMMUs use the same dma_mapping_error function. x86 IOMMUs use device
    argument.

    [akpm@linux-foundation.org: fix sge]
    [akpm@linux-foundation.org: fix svc_rdma]
    [akpm@linux-foundation.org: build fix]
    [akpm@linux-foundation.org: fix bnx2x]
    [akpm@linux-foundation.org: fix s2io]
    [akpm@linux-foundation.org: fix pasemi_mac]
    [akpm@linux-foundation.org: fix sdhci]
    [akpm@linux-foundation.org: build fix]
    [akpm@linux-foundation.org: fix sparc]
    [akpm@linux-foundation.org: fix ibmvscsi]
    Signed-off-by: FUJITA Tomonori
    Cc: Muli Ben-Yehuda
    Cc: Andi Kleen
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: Avi Kivity
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     

15 Jul, 2008

1 commit

  • ssb.h implements DMA mapping functions, so it should
    include dma-mapping.h. This fixes compile failures on certain architectures.

    Reported-by: Stephen Rothwell
    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville

    Michael Buesch
     

27 Jun, 2008

1 commit

  • This is a rewrite of the DMA API for SSB devices.
    This is needed, because the old (non-existing) "API" made too many bad
    assumptions on the API of the host-bus (PCI).
    This introduces an almost complete SSB-DMA-API that maps to the lowlevel
    bus-API based on the bustype.

    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville

    Michael Buesch
     

10 Jun, 2008

1 commit


18 Apr, 2008

1 commit


16 Apr, 2008

1 commit

  • This fixes DMA on architectures where DMA is nontrivial, like PPC64.
    We must use the host-device's (PCI) struct device for any DMA
    operation instead of the SSB device. For this we add a new
    struct device pointer to the SSB device structure that will always
    point to the right device for DMAing.

    Without this patch b43 and b44 drivers won't work on complex-DMA
    architectures, that for example need dev->archdata for DMA operations.

    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville

    Michael Buesch
     

09 Apr, 2008

2 commits

  • This adds support for block based I/O to SSB.
    This is needed in order to efficiently support PIO data
    transfers to the card.
    The block-I/O support is only compiled, if it's selected by the
    weird driver that needs it. So there's no overhead for sane devices.

    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville

    Michael Buesch
     
  • Turn the SSB bus suspend mechanism upside down.
    Instead of deciding by an internal reference count when to suspend/resume,
    let the parent bus call us in their suspend/resume routine.

    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville

    Michael Buesch
     

14 Mar, 2008

1 commit


07 Mar, 2008

1 commit

  • This adds the Gigabit Ethernet driver for the SSB
    Gigabit Ethernet core. This driver actually is a frontend to
    the Tigon3 driver. So the real work is done by tg3.
    This device is used in the Linksys WRT350N.

    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville

    Michael Buesch
     

01 Mar, 2008

2 commits


21 Feb, 2008

5 commits


06 Feb, 2008

1 commit

  • m68k allmodconfig gives

    drivers/net/wireless/b43/main.c:251: error: implicit declaration of function 'mmiowb'

    because CONFIG_B43=m, CONFIG_SSB_PCIHOST=n.

    Might be Kconfig bustage, but this works...

    Cc: Michael Buesch
    Signed-off-by: Andrew Morton
    Signed-off-by: John W. Linville

    Andrew Morton
     

29 Jan, 2008

2 commits