24 Oct, 2019

1 commit


27 Feb, 2018

1 commit

  • After checking all possible call chains to bcma_pmu_resources_init() here,
    my tool finds that this function is never called in atomic context,
    namely never in an interrupt handler or holding a spinlock.
    Thus mdelay can be replaced with usleep_range to avoid busy wait.

    This is found by a static analysis tool named DCNS written by myself.

    Signed-off-by: Jia-Ju Bai
    Acked-by: Larry Finger
    Signed-off-by: Kalle Valo

    Jia-Ju Bai
     

06 Feb, 2016

2 commits

  • On recent Broadcom chipsets PMU is present as separated core and it
    can't be accessed using ChipCommon anymore as it fails with e.g.:
    [ 0.000577] Unhandled fault: external abort on non-linefetch (0x1008) at 0xf1000604

    Solve it by using a new (PMU) core pointer set to ChipCommon or PMU
    depending on the hardware capabilities.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: Kalle Valo

    Rafał Miłecki
     
  • PMU (Power Management Unit) seems to be a separated piece of hardware,
    just accessed using ChipCommon core registers. In recent Broadcom
    chipsets PMU is not bounded to CC but available as separated core.

    To make code cleaner & easier to review (for a correct R/W access) use
    clearer names.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: Kalle Valo

    Rafał Miłecki
     

29 Jul, 2014

1 commit


19 Jul, 2014

1 commit


28 Jun, 2013

1 commit


28 Mar, 2013

2 commits


10 Jan, 2013

1 commit

  • 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: Rafał Miłecki
    Signed-off-by: David S. Miller

    Rafał Miłecki
     

20 Dec, 2012

1 commit

  • Pull MTD updates from David Woodhouse:
    - Various cleanups especially in NAND tests
    - Add support for NAND flash on BCMA bus
    - DT support for sh_flctl and denali NAND drivers
    - Kill obsolete/superceded drivers (fortunet, nomadik_nand)
    - Fix JFFS2 locking bug in ENOMEM failure path
    - New SPI flash chips, as usual
    - Support writing in 'reliable mode' for DiskOnChip G4
    - Debugfs support in nandsim

    * tag 'for-linus-20121219' of git://git.infradead.org/linux-mtd: (96 commits)
    mtd: nand: typo in nand_id_has_period() comments
    mtd: nand/gpio: use io{read,write}*_rep accessors
    mtd: block2mtd: throttle writes by calling balance_dirty_pages_ratelimited.
    mtd: nand: gpmi: reset BCH earlier, too, to avoid NAND startup problems
    mtd: nand/docg4: fix and improve read of factory bbt
    mtd: nand/docg4: reserve bb marker area in ecclayout
    mtd: nand/docg4: add support for writing in reliable mode
    mtd: mxc_nand: reorder part_probes to let cmdline override other sources
    mtd: mxc_nand: fix unbalanced clk_disable() in error path
    mtd: nandsim: Introduce debugfs infrastructure
    mtd: physmap_of: error checking to prevent a NULL pointer dereference
    mtg: docg3: potential divide by zero in doc_write_oob()
    mtd: bcm47xxnflash: writing support
    mtd: tests/read: initialize buffer for whole next page
    mtd: at91: atmel_nand: return bit flips for the PMECC read_page()
    mtd: fix recovery after failed write-buffer operation in cfi_cmdset_0002.c
    mtd: nand: onfi need to be probed in 8 bits mode
    mtd: nand: add NAND_BUSWIDTH_AUTO to autodetect bus width
    mtd: nand: print flash size during detection
    mted: nand_wait_ready timeout fix
    ...

    Linus Torvalds
     

11 Dec, 2012

1 commit


22 Nov, 2012

1 commit


20 Oct, 2012

1 commit

  • Some parts of the initialization for chip common and the pcie core are
    accessing the sprom struct, but it is not initialized at that stage.
    Just do the necessary thing in the early register on SoCs and not the
    complete initialization to read out the nvram from the flash chip.
    After it is possible to read out the nvram, the sprom should be parsed
    from it and the full initialization of the cores should be run.

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

29 Sep, 2012

1 commit


11 Aug, 2012

1 commit

  • The functions and structs are not used in an other file and the
    prototypes are in no header file, just make them static so the compiler
    is able to optimize them better.

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

27 Jul, 2012

1 commit

  • Commit b9562545ef0b ("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: Linus Torvalds
    Tested-by: Seth Forshee
    Cc: Hauke Mehrtens
    Cc: Arend Van Spriel
    Cc: Pieter-Paul Giesberts
    Cc: Brett Rudley
    Signed-off-by: Linus Torvalds

    Hauke Mehrtens
     

12 Jul, 2012

1 commit


10 Jul, 2012

9 commits


05 Jun, 2012

1 commit

  • MacBook Pro models with BCM4331 wireless have been found to have the ext
    PA lines disabled after resuming from S3 without external power attach.
    This causes them to be unable to transmit. Add a workaround to ensure
    that the ext PA lines are enabled on BCM4331. Also extend all handling
    of ext PA line muxing to BCM43431 as is done in the Broadcom SDK.

    BugLink: http://bugs.launchpad.net/bugs/925577
    Cc: Arend van Spriel
    Cc: Hauke Mehrtens
    Cc: stable@vger.kernel.org
    Signed-off-by: Seth Forshee
    Signed-off-by: John W. Linville

    Seth Forshee
     

08 Mar, 2012

1 commit


01 Nov, 2011

1 commit

  • Fix in advance, or we will get things like this:

    drivers/bcma/core.c:20: warning: data definition has no type or storage class
    drivers/bcma/core.c:20: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL_GPL'
    drivers/bcma/core.c:20: warning: parameter names (without types) in function declaration

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

20 Sep, 2011

1 commit


23 Aug, 2011

1 commit


09 Aug, 2011

2 commits


26 Jul, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)
    fs: Merge split strings
    treewide: fix potentially dangerous trailing ';' in #defined values/expressions
    uwb: Fix misspelling of neighbourhood in comment
    net, netfilter: Remove redundant goto in ebt_ulog_packet
    trivial: don't touch files that are removed in the staging tree
    lib/vsprintf: replace link to Draft by final RFC number
    doc: Kconfig: `to be' -> `be'
    doc: Kconfig: Typo: square -> squared
    doc: Konfig: Documentation/power/{pm => apm-acpi}.txt
    drivers/net: static should be at beginning of declaration
    drivers/media: static should be at beginning of declaration
    drivers/i2c: static should be at beginning of declaration
    XTENSA: static should be at beginning of declaration
    SH: static should be at beginning of declaration
    MIPS: static should be at beginning of declaration
    ARM: static should be at beginning of declaration
    rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check
    Update my e-mail address
    PCIe ASPM: forcedly -> forcibly
    gma500: push through device driver tree
    ...

    Fix up trivial conflicts:
    - arch/arm/mach-ep93xx/dma-m2p.c (deleted)
    - drivers/gpio/gpio-ep93xx.c (renamed and context nearby)
    - drivers/net/r8169.c (just context changes)

    Linus Torvalds
     

07 Jul, 2011

1 commit


21 Jun, 2011

2 commits


11 May, 2011

1 commit

  • 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
    Cc: Michael Büsch
    Cc: Larry Finger
    Cc: George Kashperko
    Cc: Arend van Spriel
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Russell King
    Cc: Arnd Bergmann
    Cc: Andy Botting
    Cc: linuxdriverproject
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki