28 Mar, 2014

1 commit


31 Jan, 2014

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "The most notable new addition inside this pull request is the support
    for MIPS's latest and greatest core called "inter/proAptiv". The
    patch series describes this core as follows.

    "The interAptiv is a power-efficient multi-core microprocessor
    for use in system-on-chip (SoC) applications. The interAptiv combines
    a multi-threading pipeline with a coherence manager to deliver improved
    computational throughput and power efficiency. The interAptiv can
    contain one to four MIPS32R3 interAptiv cores, system level
    coherence manager with L2 cache, optional coherent I/O port,
    and optional floating point unit."

    The platform specific patches touch all 3 Broadcom families. It adds
    support for the new Broadcom/Netlogix XLP9xx Soc, building a common
    BCM63XX SMP kernel for all BCM63XX SoCs regardless of core type/count
    and full gpio button/led descriptions for BCM47xx.

    The rest of the series are cleanups and bug fixes that are MIPS
    generic and consist largely of changes that Imgtec/MIPS had published
    in their linux-mti-3.10.git stable tree. Random other cleanups and
    patches preparing code to be merged in 3.15"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (139 commits)
    mips: select ARCH_MIGHT_HAVE_PC_SERIO
    mips: delete non-required instances of include
    MIPS: KVM: remove shadow_tlb code
    MIPS: KVM: use common EHINV aware UNIQUE_ENTRYHI
    mips/ide: flush dcache also if icache does not snoop dcache
    MIPS: BCM47XX: fix position of cpu_wait disabling
    MIPS: BCM63XX: select correct MIPS_L1_CACHE_SHIFT value
    MIPS: update MIPS_L1_CACHE_SHIFT based on MIPS_L1_CACHE_SHIFT_
    MIPS: introduce MIPS_L1_CACHE_SHIFT_
    MIPS: ZBOOT: gather string functions into string.c
    arch/mips/pci: don't check resource with devm_ioremap_resource
    arch/mips/lantiq/xway: don't check resource with devm_ioremap_resource
    bcma: gpio: don't cast u32 to unsigned long
    ssb: gpio: add own IRQ domain
    MIPS: BCM47XX: fix sparse warnings in board.c
    MIPS: BCM47XX: add board detection for Linksys WRT54GS V1
    MIPS: BCM47XX: fix detection for some boards
    MIPS: BCM47XX: Enable buttons support on SSB
    MIPS: BCM47XX: Convert WNDR4500 to new syntax
    MIPS: BCM47XX: Use "timer" trigger for status LEDs
    ...

    Linus Torvalds
     

25 Jan, 2014

2 commits

  • Signed-off-by: Rafał Miłecki
    Signed-off-by: John Crispin
    Patchwork: http://patchwork.linux-mips.org/patch/6343/

    Rafał Miłecki
     
  • With this patch we prevent the irq from being fired when it is
    registered. The Hardware fires an IRQ when input signal XOR polarity
    AND gpio mask is 1. Now we are setting polarity to a vlaue so that is
    is 0 when we register it.

    In addition we also set the irq mask register to 0 when the irq handler
    is initialized, so all gpio irqs are masked and there will be no
    unexpected irq.

    Signed-off-by: Hauke Mehrtens
    Tested-by: Rafał Miłecki
    Signed-off-by: John Crispin
    Patchwork: http://patchwork.linux-mips.org/patch/6304/

    Hauke Mehrtens
     

23 Jan, 2014

1 commit

  • Input GPIO changes can generate interrupts, but we need kind of ACK for
    them by changing IRQ polarity. This is required to stop hardware from
    keep generating interrupts and generate another one on the next GPIO
    state change.
    This code allows using GPIOs with standard interrupts and add for
    example GPIO buttons support.

    Signed-off-by: Rafał Miłecki
    Acked-by: Hauke Mehrtens
    Signed-off-by: John Crispin
    Patchwork: http://patchwork.linux-mips.org/patch/6216/

    Rafał Miłecki
     

10 Jan, 2014

1 commit


05 Jan, 2014

1 commit

  • This function is used to get a specific core when there is more than
    one core of that specific type. This is used in bgmac to reset all GMAC
    cores.

    Signed-off-by: Hauke Mehrtens
    Acked-by: Rafał Miłecki
    Signed-off-by: David S. Miller

    Hauke Mehrtens
     

04 Jan, 2014

1 commit

  • CHECK drivers/bcma/driver_chipcommon_sflash.c
    drivers/bcma/driver_chipcommon_sflash.c:41:11: warning: Using plain integer as NULL pointer
    drivers/bcma/driver_chipcommon_sflash.c:59:11: warning: Using plain integer as NULL pointer
    drivers/bcma/driver_chipcommon_sflash.c:70:11: warning: Using plain integer as NULL pointer

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

    Hauke Mehrtens
     

20 Dec, 2013

1 commit


10 Dec, 2013

1 commit


06 Dec, 2013

1 commit


13 Nov, 2013

1 commit

  • Pull networking updates from David Miller:

    1) The addition of nftables. No longer will we need protocol aware
    firewall filtering modules, it can all live in userspace.

    At the core of nftables is a, for lack of a better term, virtual
    machine that executes byte codes to inspect packet or metadata
    (arriving interface index, etc.) and make verdict decisions.

    Besides support for loading packet contents and comparing them, the
    interpreter supports lookups in various datastructures as
    fundamental operations. For example sets are supports, and
    therefore one could create a set of whitelist IP address entries
    which have ACCEPT verdicts attached to them, and use the appropriate
    byte codes to do such lookups.

    Since the interpreted code is composed in userspace, userspace can
    do things like optimize things before giving it to the kernel.

    Another major improvement is the capability of atomically updating
    portions of the ruleset. In the existing netfilter implementation,
    one has to update the entire rule set in order to make a change and
    this is very expensive.

    Userspace tools exist to create nftables rules using existing
    netfilter rule sets, but both kernel implementations will need to
    co-exist for quite some time as we transition from the old to the
    new stuff.

    Kudos to Patrick McHardy, Pablo Neira Ayuso, and others who have
    worked so hard on this.

    2) Daniel Borkmann and Hannes Frederic Sowa made several improvements
    to our pseudo-random number generator, mostly used for things like
    UDP port randomization and netfitler, amongst other things.

    In particular the taus88 generater is updated to taus113, and test
    cases are added.

    3) Support 64-bit rates in HTB and TBF schedulers, from Eric Dumazet
    and Yang Yingliang.

    4) Add support for new 577xx tigon3 chips to tg3 driver, from Nithin
    Sujir.

    5) Fix two fatal flaws in TCP dynamic right sizing, from Eric Dumazet,
    Neal Cardwell, and Yuchung Cheng.

    6) Allow IP_TOS and IP_TTL to be specified in sendmsg() ancillary
    control message data, much like other socket option attributes.
    From Francesco Fusco.

    7) Allow applications to specify a cap on the rate computed
    automatically by the kernel for pacing flows, via a new
    SO_MAX_PACING_RATE socket option. From Eric Dumazet.

    8) Make the initial autotuned send buffer sizing in TCP more closely
    reflect actual needs, from Eric Dumazet.

    9) Currently early socket demux only happens for TCP sockets, but we
    can do it for connected UDP sockets too. Implementation from Shawn
    Bohrer.

    10) Refactor inet socket demux with the goal of improving hash demux
    performance for listening sockets. With the main goals being able
    to use RCU lookups on even request sockets, and eliminating the
    listening lock contention. From Eric Dumazet.

    11) The bonding layer has many demuxes in it's fast path, and an RCU
    conversion was started back in 3.11, several changes here extend the
    RCU usage to even more locations. From Ding Tianhong and Wang
    Yufen, based upon suggestions by Nikolay Aleksandrov and Veaceslav
    Falico.

    12) Allow stackability of segmentation offloads to, in particular, allow
    segmentation offloading over tunnels. From Eric Dumazet.

    13) Significantly improve the handling of secret keys we input into the
    various hash functions in the inet hashtables, TCP fast open, as
    well as syncookies. From Hannes Frederic Sowa. The key fundamental
    operation is "net_get_random_once()" which uses static keys.

    Hannes even extended this to ipv4/ipv6 fragmentation handling and
    our generic flow dissector.

    14) The generic driver layer takes care now to set the driver data to
    NULL on device removal, so it's no longer necessary for drivers to
    explicitly set it to NULL any more. Many drivers have been cleaned
    up in this way, from Jingoo Han.

    15) Add a BPF based packet scheduler classifier, from Daniel Borkmann.

    16) Improve CRC32 interfaces and generic SKB checksum iterators so that
    SCTP's checksumming can more cleanly be handled. Also from Daniel
    Borkmann.

    17) Add a new PMTU discovery mode, IP_PMTUDISC_INTERFACE, which forces
    using the interface MTU value. This helps avoid PMTU attacks,
    particularly on DNS servers. From Hannes Frederic Sowa.

    18) Use generic XPS for transmit queue steering rather than internal
    (re-)implementation in virtio-net. From Jason Wang.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1622 commits)
    random32: add test cases for taus113 implementation
    random32: upgrade taus88 generator to taus113 from errata paper
    random32: move rnd_state to linux/random.h
    random32: add prandom_reseed_late() and call when nonblocking pool becomes initialized
    random32: add periodic reseeding
    random32: fix off-by-one in seeding requirement
    PHY: Add RTL8201CP phy_driver to realtek
    xtsonic: add missing platform_set_drvdata() in xtsonic_probe()
    macmace: add missing platform_set_drvdata() in mace_probe()
    ethernet/arc/arc_emac: add missing platform_set_drvdata() in arc_emac_probe()
    ipv6: protect for_each_sk_fl_rcu in mem_check with rcu_read_lock_bh
    vlan: Implement vlan_dev_get_egress_qos_mask as an inline.
    ixgbe: add warning when max_vfs is out of range.
    igb: Update link modes display in ethtool
    netfilter: push reasm skb through instead of original frag skbs
    ip6_output: fragment outgoing reassembled skb properly
    MAINTAINERS: mv643xx_eth: take over maintainership from Lennart
    net_sched: tbf: support of 64bit rates
    ixgbe: deleting dfwd stations out of order can cause null ptr deref
    ixgbe: fix build err, num_rx_queues is only available with CONFIG_RPS
    ...

    Linus Torvalds
     

20 Oct, 2013

1 commit


18 Oct, 2013

1 commit


17 Oct, 2013

1 commit


11 Oct, 2013

2 commits

  • This PCI id is used by some BCM4313 cards without a sprom. I have seen
    such a card on a router connected to some BCM63XX SoC via PCIe. There
    are cards out there with the same PCI id and a BCM4311, which is a pre
    ieee80211n chip only supporting ieee80211a, these are still not
    supported by b43 and not detected by ssb.

    This devices was found by someone in this ticket:
    https://dev.openwrt.org/ticket/13551

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

    Hauke Mehrtens
     
  • bcma currently only supports PCIe cards and no PCI cards, reject them
    if we find them. I have never heard of any PCI card using the AI bus
    (bcma), all of them are using ssb instead.

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

    Hauke Mehrtens
     

27 Sep, 2013

1 commit

  • This patch removes the bcma_core_pci_power_save() call from
    the bcma_core_pci_{up,down}() functions as it tries to schedule
    thus requiring to call them from non-atomic context. The function
    bcma_core_pci_power_save() is now exported so the calling module
    can explicitly use it in non-atomic context. This fixes the
    'scheduling while atomic' issue reported by Tod Jackson and
    Joe Perches.

    [ 13.210710] BUG: scheduling while atomic: dhcpcd/1800/0x00000202
    [ 13.210718] Modules linked in: brcmsmac nouveau coretemp kvm_intel kvm cordic brcmutil bcma dell_wmi atl1c ttm mxm_wmi wmi
    [ 13.210756] CPU: 2 PID: 1800 Comm: dhcpcd Not tainted 3.11.0-wl #1
    [ 13.210762] Hardware name: Alienware M11x R2/M11x R2, BIOS A04 11/23/2010
    [ 13.210767] ffff880177c92c40 ffff880170fd1948 ffffffff8169af5b 0000000000000007
    [ 13.210777] ffff880170fd1ab0 ffff880170fd1958 ffffffff81697ee2 ffff880170fd19d8
    [ 13.210785] ffffffff816a19f5 00000000000f4240 000000000000d080 ffff880170fd1fd8
    [ 13.210794] Call Trace:
    [ 13.210813] [] dump_stack+0x4f/0x84
    [ 13.210826] [] __schedule_bug+0x43/0x51
    [ 13.210837] [] __schedule+0x6e5/0x810
    [ 13.210845] [] schedule+0x24/0x70
    [ 13.210855] [] schedule_hrtimeout_range_clock+0x10c/0x150
    [ 13.210867] [] ? update_rmtp+0x60/0x60
    [ 13.210877] [] ? hrtimer_start_range_ns+0xf/0x20
    [ 13.210887] [] schedule_hrtimeout_range+0xe/0x10
    [ 13.210897] [] usleep_range+0x3b/0x40
    [ 13.210910] [] bcma_pcie_mdio_set_phy.isra.3+0x4f/0x80 [bcma]
    [ 13.210921] [] bcma_pcie_mdio_write.isra.4+0xbf/0xd0 [bcma]
    [ 13.210932] [] bcma_pcie_mdio_writeread.isra.6.constprop.13+0x18/0x30 [bcma]
    [ 13.210942] [] bcma_core_pci_power_save+0x3e/0x80 [bcma]
    [ 13.210953] [] bcma_core_pci_up+0x2d/0x60 [bcma]
    [ 13.210975] [] brcms_c_up+0xfc/0x430 [brcmsmac]
    [ 13.210989] [] brcms_up+0x1d/0x20 [brcmsmac]
    [ 13.211003] [] brcms_ops_start+0x298/0x340 [brcmsmac]
    [ 13.211020] [] ? cfg80211_netdev_notifier_call+0xd2/0x5f0
    [ 13.211030] [] ? packet_notifier+0xad/0x1d0
    [ 13.211064] [] ieee80211_do_open+0x325/0xf80
    [ 13.211076] [] ? __raw_notifier_call_chain+0x9/0x10
    [ 13.211086] [] ieee80211_open+0x71/0x80
    [ 13.211101] [] __dev_open+0x87/0xe0
    [ 13.211109] [] __dev_change_flags+0x9c/0x180
    [ 13.211117] [] dev_change_flags+0x23/0x70
    [ 13.211127] [] devinet_ioctl+0x5b8/0x6a0
    [ 13.211136] [] inet_ioctl+0x75/0x90
    [ 13.211147] [] sock_do_ioctl+0x2b/0x70
    [ 13.211155] [] sock_ioctl+0x71/0x2a0
    [ 13.211169] [] do_vfs_ioctl+0x87/0x520
    [ 13.211180] [] ? ____fput+0x9/0x10
    [ 13.211198] [] ? task_work_run+0x9c/0xd0
    [ 13.211202] [] SyS_ioctl+0x91/0xb0
    [ 13.211208] [] system_call_fastpath+0x16/0x1b
    [ 13.211217] NOHZ: local_softirq_pending 202

    The issue was introduced in v3.11 kernel by following commit:

    commit aa51e598d04c6acf5477934cd6383f5a17ce9029
    Author: Hauke Mehrtens
    Date: Sat Aug 24 00:32:31 2013 +0200

    brcmsmac: use bcma PCIe up and down functions

    replace the calls to bcma_core_pci_extend_L1timer() by calls to the
    newly introduced bcma_core_pci_ip() and bcma_core_pci_down()

    Signed-off-by: Hauke Mehrtens
    Cc: Arend van Spriel
    Signed-off-by: John W. Linville

    This fix has been discussed with Hauke Mehrtens [1] selection
    option 3) and is intended for v3.12.

    Ref:
    [1] http://mid.gmane.org/5239B12D.3040206@hauke-m.de

    Cc: # 3.11.x
    Cc: Tod Jackson
    Cc: Joe Perches
    Cc: Rafal Milecki
    Cc: Hauke Mehrtens
    Reviewed-by: Hante Meuleman
    Signed-off-by: Arend van Spriel
    Signed-off-by: John W. Linville

    Arend van Spriel
     

10 Sep, 2013

1 commit

  • On most 64 Bit systems unsigned long is 64 bit long and then -MAX_ERRNO
    is out of the range of a u32 used to store the error code in.
    This patch casts the -MAX_ERRNO to a u32 instead.

    This fixes a regression introduced in:
    commit fd4edf197544bae1c77d84bad354aa7ce1d08ce1
    Author: Hauke Mehrtens
    Date: Mon Jul 15 13:15:08 2013 +0200

    bcma: fix handling of big addrl

    Reported-by: Arend van Spriel
    Signed-off-by: Hauke Mehrtens
    Tested-by: Arend van Spriel
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

27 Aug, 2013

4 commits


23 Jul, 2013

4 commits

  • The return value of bcma_erom_get_addr_desc() is a unsigned value and it
    could wrap around in the two complement writing. This happens for one
    core in the BCM4708 SoC.

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

    Hauke Mehrtens
     
  • It is better to return the actual error code than just -1.

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

    Hauke Mehrtens
     
  • To make it possible to use the SoC host interface with ARM SoCs do not
    depend on the MIPS driver any more.

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

    Hauke Mehrtens
     
  • These cores were found on a BCM4708 (chipid 53010), this is a ARM SoC
    with two Cortex A9 cores.

    bcma: bus0: Found chip with id 0xCF12, rev 0x00 and package 0x02
    bcma: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x2A, class 0x0)
    bcma: bus0: Core 1 found: DMA (manuf 0x4BF, id 0x502, rev 0x01, class 0x0)
    bcma: bus0: Core 2 found: GBit MAC (manuf 0x4BF, id 0x82D, rev 0x04, class 0x0)
    bcma: bus0: Core 3 found: GBit MAC (manuf 0x4BF, id 0x82D, rev 0x04, class 0x0)
    bcma: bus0: Core 4 found: GBit MAC (manuf 0x4BF, id 0x82D, rev 0x04, class 0x0)
    bcma: bus0: Core 5 found: GBit MAC (manuf 0x4BF, id 0x82D, rev 0x04, class 0x0)
    bcma: bus0: Core 6 found: PCIe Gen 2 (manuf 0x4BF, id 0x501, rev 0x01, class 0x0)
    bcma: bus0: Core 7 found: PCIe Gen 2 (manuf 0x4BF, id 0x501, rev 0x01, class 0x0)
    bcma: bus0: Core 8 found: ARM Cortex A9 core (ihost) (manuf 0x4BF, id 0x510, rev 0x01, class 0x0)
    bcma: bus0: Core 9 found: USB 2.0 (manuf 0x4BF, id 0x504, rev 0x01, class 0x0)
    bcma: bus0: Core 10 found: USB 3.0 (manuf 0x4BF, id 0x505, rev 0x01, class 0x0)
    bcma: bus0: Core 11 found: SDIO3 (manuf 0x4BF, id 0x503, rev 0x01, class 0x0)
    bcma: bus0: Core 12 found: ARM Cortex A9 JTAG (manuf 0x4BF, id 0x506, rev 0x01, class 0x0)
    bcma: bus0: Core 13 found: Denali DDR2/DDR3 memory controller (manuf 0x4BF, id 0x507, rev 0x01, class 0x0)
    bcma: bus0: Core 14 found: ROM (manuf 0x4BF, id 0x508, rev 0x01, class 0x0)
    bcma: bus0: Core 15 found: NAND flash controller (manuf 0x4BF, id 0x509, rev 0x01, class 0x0)
    bcma: bus0: Core 16 found: SPI flash controller (manuf 0x4BF, id 0x50A, rev 0x01, class 0x0)

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

    Hauke Mehrtens
     

28 Jun, 2013

1 commit


18 Jun, 2013

2 commits


13 Jun, 2013

2 commits


23 May, 2013

3 commits


18 May, 2013

1 commit


10 May, 2013

1 commit

  • Pull MTD update from David Woodhouse:

    - Lots of cleanups from Artem, including deletion of some obsolete
    drivers

    - Support partitions larger than 4GiB in device tree

    - Support for new SPI chips

    * tag 'for-linus-20130509' of git://git.infradead.org/linux-mtd: (83 commits)
    mtd: omap2: Use module_platform_driver()
    mtd: bf5xx_nand: Use module_platform_driver()
    mtd: denali_dt: Remove redundant use of of_match_ptr
    mtd: denali_dt: Change return value to fix smatch warning
    mtd: denali_dt: Use module_platform_driver()
    mtd: denali_dt: Fix incorrect error check
    mtd: nand: subpage write support for hardware based ECC schemes
    mtd: omap2: use msecs_to_jiffies()
    mtd: nand_ids: use size macros
    mtd: nand_ids: improve LEGACY_ID_NAND macro a bit
    mtd: add 4 Toshiba nand chips for the full-id case
    mtd: add the support to parse out the full-id nand type
    mtd: add new fields to nand_flash_dev{}
    mtd: sh_flctl: Use of_match_ptr() macro
    mtd: gpio: Use of_match_ptr() macro
    mtd: gpio: Use devm_kzalloc()
    mtd: davinci_nand: Use of_match_ptr()
    mtd: dataflash: Use of_match_ptr() macro
    mtd: remove h720x flash support
    mtd: onenand: remove OneNAND simulator
    ...

    Linus Torvalds
     

05 Apr, 2013

1 commit


28 Mar, 2013

2 commits