23 Feb, 2017

2 commits

  • ARM/MP: 814220—B-Cache maintenance by set/way operations can execute out of order.

    Description:
    The v7 ARM states that all cache and branch predictor maintenance operations
    that do not specify an address execute, relative to each other, in program
    order. However, because of this erratum, an L2 set/way cache maintenance
    operation can overtake an L1 set/way cache maintenance operation, this would
    cause the data corruption.

    This ERRATA affected the Cortex-A7 and present in r0p2, r0p3, r0p4, r0p5.

    This patch is the SW workaround by adding a DSB before changing cache levels as
    the ARM ERRATA: ARM/MP: 814220 told in the ARM ERRATA documentation.

    Signed-off-by: Jason Liu
    (cherry picked from commit 0e9a87bbd4f7d1c48e42c65aa94939a7283599dd)

    Conflicts:
    arch/arm/mach-imx/Kconfig

    Jason Liu
     
  • Need increase the FORCE_MAX_ZONEORDER to 14 for high resolution camera
    (GPU 2D user case). The default value 11(4MB) is not enough now.

    Signed-off-by: Jason Liu
    (cherry picked from commit fff642ffe868cb55f5caec0501e36fd28b6ece50)

    Xianzhong
     

08 Oct, 2016

3 commits

  • Merge updates from Andrew Morton:

    - fsnotify updates

    - ocfs2 updates

    - all of MM

    * emailed patches from Andrew Morton : (127 commits)
    console: don't prefer first registered if DT specifies stdout-path
    cred: simpler, 1D supplementary groups
    CREDITS: update Pavel's information, add GPG key, remove snail mail address
    mailmap: add Johan Hovold
    .gitattributes: set git diff driver for C source code files
    uprobes: remove function declarations from arch/{mips,s390}
    spelling.txt: "modeled" is spelt correctly
    nmi_backtrace: generate one-line reports for idle cpus
    arch/tile: adopt the new nmi_backtrace framework
    nmi_backtrace: do a local dump_stack() instead of a self-NMI
    nmi_backtrace: add more trigger_*_cpu_backtrace() methods
    min/max: remove sparse warnings when they're nested
    Documentation/filesystems/proc.txt: add more description for maps/smaps
    mm, proc: fix region lost in /proc/self/smaps
    proc: fix timerslack_ns CAP_SYS_NICE check when adjusting self
    proc: add LSM hook checks to /proc//timerslack_ns
    proc: relax /proc//timerslack_ns capability requirements
    meminfo: break apart a very long seq_printf with #ifdefs
    seq/proc: modify seq_put_decimal_[u]ll to take a const char *, not char
    proc: faster /proc/*/status
    ...

    Linus Torvalds
     
  • Pull ARM SoC cleanups from Arnd Bergmann:
    "The cleanups for v4.9 are a little larger that usual, but thankfully
    that is almost exclusively due to removing a significant number of
    files that have become obsolete after the still ongoing conversion of
    old board files to devicetree.

    - for mach-omap2, which is still the largest platform in arch/arm/,
    the conversion to DT is finally complete after the Nokia N900 is
    now fully supported there, along with the omap3 LDP, and we can
    remove those two board files. If no regressions are found, another
    large cleanup for the platform will happen as a follow-up, removing
    dead code and restructuring the platform based on being DT-only.

    - In mach-imx, similar work is ongoing, but has not come that far.
    This time, we remove the obsolete board file for the i.MX1
    generation, which like i.MX25, i.MX5, i.MX6, and i.MX7 is now
    DT-only. The remaining board files are for i.MX2 and i.MX3 machines
    based on old ARM926 or ARM1136 cores that should work with DT in
    principle.

    - realview has just been converted from board files to DT, and a lot
    of code gets removed in the process. This is the last
    ARM/Keil/Versatile derived platform that was still using board
    files, the other ones being integrator, versatile and vexpress. We
    can probably merge the remaining code into a single directory in
    the near future.

    - clps711x had completed the conversion in v4.8, but we accidentally
    left the files in place that should have been deleted then"

    * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (21 commits)
    ARM: select PCI_DOMAINS config from ARCH_MULTIPLATFORM
    ARM: stop *MIGHT_HAVE_PCI* config from being selected redundantly
    ARM: imx: (trivial) fix typo and grammar
    ARM: clps711x: remove extraneous files
    ARM: imx: use IS_ENABLED() instead of checking for built-in or module
    ARM: OMAP2+: use IS_ENABLED() instead of checking for built-in or module
    ARM: OMAP1: use IS_ENABLED() instead of checking for built-in or module
    ARM: imx: remove platform-mxc_rnga
    ARM: realview: imply device tree boot
    ARM: realview: no need to select SMP_ON_UP explicitly
    ARM: realview: delete the RealView board files
    ARM: imx: no need to select SMP_ON_UP explicitly
    ARM: i.MX: Move SOC_IMX1 into 'Device tree only'
    ARM: i.MX: Remove i.MX1 non-DT support
    ARM: i.MX: Remove i.MX1 Synertronixx SCB9328 board support
    ARM: i.MX: Remove i.MX1 Armadeus APF9328 board support
    ARM: mxs: remove obsolete startup code for TX28
    ARM: i.MX31 iomux: remove duplicates with alternate name
    ARM: i.MX31 iomux: remove plain duplicates
    ARM: OMAP2+: Drop legacy board file for LDP
    ...

    Linus Torvalds
     
  • This came to light when implementing native 64-bit atomics for ARCv2.

    The atomic64 self-test code uses CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
    to check whether atomic64_dec_if_positive() is available. It seems it
    was needed when not every arch defined it. However as of current code
    the Kconfig option seems needless

    - for CONFIG_GENERIC_ATOMIC64 it is auto-enabled in lib/Kconfig and a
    generic definition of API is present lib/atomic64.c
    - arches with native 64-bit atomics select it in arch/*/Kconfig and
    define the API in their headers

    So I see no point in keeping the Kconfig option

    Compile tested for:
    - blackfin (CONFIG_GENERIC_ATOMIC64)
    - x86 (!CONFIG_GENERIC_ATOMIC64)
    - ia64

    Link: http://lkml.kernel.org/r/1473703083-8625-3-git-send-email-vgupta@synopsys.com
    Signed-off-by: Vineet Gupta
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Cc: Russell King
    Cc: Catalin Marinas
    Cc: Will Deacon
    Cc: Ralf Baechle
    Cc: "James E.J. Bottomley"
    Cc: Helge Deller
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Michael Ellerman
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: "David S. Miller"
    Cc: Chris Metcalf
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Vineet Gupta
    Cc: Zhaoxiu Zeng
    Cc: Linus Walleij
    Cc: Alexander Potapenko
    Cc: Andrey Ryabinin
    Cc: Herbert Xu
    Cc: Ming Lin
    Cc: Arnd Bergmann
    Cc: Geert Uytterhoeven
    Cc: Peter Zijlstra
    Cc: Borislav Petkov
    Cc: Andi Kleen
    Cc: Boqun Feng
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vineet Gupta
     

04 Oct, 2016

1 commit

  • Pull irq updates from Thomas Gleixner:
    "The irq departement proudly presents:

    - A rework of the core infrastructure to optimally spread interrupt
    for multiqueue devices. The first version was a bit naive and
    failed to take thread siblings and other details into account.
    Developed in cooperation with Christoph and Keith.

    - Proper delegation of softirqs to ksoftirqd, so if ksoftirqd is
    active then no further softirq processsing on interrupt return
    happens. Otherwise we try to delegate and still run another batch
    of network packets in the irq return path, which then tries to
    delegate to ksoftirqd .....

    - A proper machine parseable sysfs based alternative for
    /proc/interrupts.

    - ACPI support for the GICV3-ITS and ARM interrupt remapping

    - Two new irq chips from the ARM SoC zoo: STM32-EXTI and MVEBU-PIC

    - A new irq chip for the JCore (SuperH)

    - The usual pile of small fixlets in core and irqchip drivers"

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (42 commits)
    softirq: Let ksoftirqd do its job
    genirq: Make function __irq_do_set_handler() static
    ARM/dts: Add EXTI controller node to stm32f429
    ARM/STM32: Select external interrupts controller
    drivers/irqchip: Add STM32 external interrupts support
    Documentation/dt-bindings: Document STM32 EXTI controller bindings
    irqchip/mips-gic: Use for_each_set_bit to iterate over local IRQs
    pci/msi: Retrieve affinity for a vector
    genirq/affinity: Remove old irq spread infrastructure
    genirq/msi: Switch to new irq spreading infrastructure
    genirq/affinity: Provide smarter irq spreading infrastructure
    genirq/msi: Add cpumask allocation to alloc_msi_entry
    genirq: Expose interrupt information through sysfs
    irqchip/gicv3-its: Use MADT ITS subtable to do PCI/MSI domain initialization
    irqchip/gicv3-its: Factor out PCI-MSI part that might be reused for ACPI
    irqchip/gicv3-its: Probe ITS in the ACPI way
    irqchip/gicv3-its: Refactor ITS DT init code to prepare for ACPI
    irqchip/gicv3-its: Cleanup for ITS domain initialization
    PCI/MSI: Setup MSI domain on a per-device basis using IORT ACPI table
    ACPI: Add new IORT functions to support MSI domain handling
    ...

    Linus Torvalds
     

24 Sep, 2016

1 commit


22 Sep, 2016

1 commit

  • PCI_DOMAINS config should be selected for any SoCs
    having more than a single PCIe controller. Without PCI_DOMAINS
    config, only one PCIe controller gets registered.

    Select PCI_DOMAINS in ARCH_MULTIPLATFORM if PCI is selected, since
    it doesn't harm even if a platform has a single PCIe port.
    Also remove PCI_DOMAINS being selected from other platform
    specific configs.

    Signed-off-by: Kishon Vijay Abraham I
    Acked-by: Krzysztof Kozlowski
    Signed-off-by: Arnd Bergmann

    Kishon Vijay Abraham I
     

21 Sep, 2016

1 commit

  • Originally-from: Maxime Coquelin
    Signed-off-by: Alexandre TORGUE
    Cc: Mark Rutland
    Cc: devicetree@vger.kernel.org
    Cc: Daniel Thompson
    Cc: Jason Cooper
    Cc: arnd@arndb.de
    Cc: Marc Zyngier
    Cc: bruherrera@gmail.com
    Cc: Linus Walleij
    Cc: linux-gpio@vger.kernel.org
    Cc: Rob Herring
    Cc: lee.jones@linaro.org
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1474387259-18926-4-git-send-email-alexandre.torgue@st.com
    Signed-off-by: Thomas Gleixner

    Alexandre TORGUE
     

03 Sep, 2016

1 commit

  • …el/git/linusw/linux-integrator into next/cleanup

    Merge "delete the RealView boardfiles" from Linus Walleij:

    This deletes the realview boardfiles, consolidates a bit
    around the Kconfig options and leaves the mach-realview
    directory nice and tidy, with all boards migrated over to
    Device Tree.

    * tag 'realview-broomstick-sweep' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
    ARM: realview: imply device tree boot
    ARM: realview: no need to select SMP_ON_UP explicitly
    ARM: realview: delete the RealView board files

    Arnd Bergmann
     

16 Aug, 2016

1 commit

  • This reduces the Kconfig for the RealView by assuming we are
    always booting from the device tree, and removing all the uses
    of CONFIG_REALVIEW_DT and replacing with CONFIG_ARCH_REALVIEW.

    Further:

    - Drop REALVIEW_HIGH_PHYS_OFFSET: we don't use this with device
    tree.

    - Drop the REALVIEW_EB_ARM11MP_REVB option: we now handle this
    by simply using another device tree.

    - Drop the PB1176 secure flash option: this is defined in the
    PB1176 device tree but marked as "disabled", so users who
    want to use it can simply enable it in the device tree and
    go hacking around.

    Cc: Brian Norris
    Cc: Marc Zyngier
    Cc: Thomas Gleixner
    Signed-off-by: Linus Walleij

    Linus Walleij
     

09 Aug, 2016

1 commit

  • Pull usercopy protection from Kees Cook:
    "Tbhis implements HARDENED_USERCOPY verification of copy_to_user and
    copy_from_user bounds checking for most architectures on SLAB and
    SLUB"

    * tag 'usercopy-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    mm: SLUB hardened usercopy support
    mm: SLAB hardened usercopy support
    s390/uaccess: Enable hardened usercopy
    sparc/uaccess: Enable hardened usercopy
    powerpc/uaccess: Enable hardened usercopy
    ia64/uaccess: Enable hardened usercopy
    arm64/uaccess: Enable hardened usercopy
    ARM: uaccess: Enable hardened usercopy
    x86/uaccess: Enable hardened usercopy
    mm: Hardened usercopy
    mm: Implement stack frame object validation
    mm: Add is_migrate_cma_page

    Linus Torvalds
     

03 Aug, 2016

2 commits

  • Pull PCI updates from Bjorn Helgaas:
    "Highlights:

    - ARM64 support for ACPI host bridges

    - new drivers for Axis ARTPEC-6 and Marvell Aardvark

    - new pci_alloc_irq_vectors() interface for MSI-X, MSI, legacy INTx

    - pci_resource_to_user() cleanup (more to come)

    Detailed summary:

    Enumeration:
    - Move ecam.h to linux/include/pci-ecam.h (Jayachandran C)
    - Add parent device field to ECAM struct pci_config_window (Jayachandran C)
    - Add generic MCFG table handling (Tomasz Nowicki)
    - Refactor pci_bus_assign_domain_nr() for CONFIG_PCI_DOMAINS_GENERIC (Tomasz Nowicki)
    - Factor DT-specific pci_bus_find_domain_nr() code out (Tomasz Nowicki)

    Resource management:
    - Add devm_request_pci_bus_resources() (Bjorn Helgaas)
    - Unify pci_resource_to_user() declarations (Bjorn Helgaas)
    - Implement pci_resource_to_user() with pcibios_resource_to_bus() (microblaze, powerpc, sparc) (Bjorn Helgaas)
    - Request host bridge window resources (designware, iproc, rcar, xgene, xilinx, xilinx-nwl) (Bjorn Helgaas)
    - Make PCI I/O space optional on ARM32 (Bjorn Helgaas)
    - Ignore write combining when mapping I/O port space (Bjorn Helgaas)
    - Claim bus resources on MIPS PCI_PROBE_ONLY set-ups (Bjorn Helgaas)
    - Remove unicore32 pci=firmware command line parameter handling (Bjorn Helgaas)
    - Support I/O resources when parsing host bridge resources (Jayachandran C)
    - Add helpers to request/release memory and I/O regions (Johannes Thumshirn)
    - Use pci_(request|release)_mem_regions (NVMe, lpfc, GenWQE, ethernet/intel, alx) (Johannes Thumshirn)
    - Extend pci=resource_alignment to specify device/vendor IDs (Koehrer Mathias (ETAS/ESW5))
    - Add generic pci_bus_claim_resources() (Lorenzo Pieralisi)
    - Claim bus resources on ARM32 PCI_PROBE_ONLY set-ups (Lorenzo Pieralisi)
    - Remove ARM32 and ARM64 arch-specific pcibios_enable_device() (Lorenzo Pieralisi)
    - Add pci_unmap_iospace() to unmap I/O resources (Sinan Kaya)
    - Remove powerpc __pci_mmap_set_pgprot() (Yinghai Lu)

    PCI device hotplug:
    - Allow additional bus numbers for hotplug bridges (Keith Busch)
    - Ignore interrupts during D3cold (Lukas Wunner)

    Power management:
    - Enforce type casting for pci_power_t (Andy Shevchenko)
    - Don't clear d3cold_allowed for PCIe ports (Mika Westerberg)
    - Put PCIe ports into D3 during suspend (Mika Westerberg)
    - Power on bridges before scanning new devices (Mika Westerberg)
    - Runtime resume bridge before rescan (Mika Westerberg)
    - Add runtime PM support for PCIe ports (Mika Westerberg)
    - Remove redundant check of pcie_set_clkpm (Shawn Lin)

    Virtualization:
    - Add function 1 DMA alias quirk for Marvell 88SE9182 (Aaron Sierra)
    - Add DMA alias quirk for Adaptec 3805 (Alex Williamson)
    - Mark Atheros AR9485 and QCA9882 to avoid bus reset (Chris Blake)
    - Add ACS quirk for Solarflare SFC9220 (Edward Cree)

    MSI:
    - Fix PCI_MSI dependencies (Arnd Bergmann)
    - Add pci_msix_desc_addr() helper (Christoph Hellwig)
    - Switch msix_program_entries() to use pci_msix_desc_addr() (Christoph Hellwig)
    - Make the "entries" argument to pci_enable_msix() optional (Christoph Hellwig)
    - Provide sensible IRQ vector alloc/free routines (Christoph Hellwig)
    - Spread interrupt vectors in pci_alloc_irq_vectors() (Christoph Hellwig)

    Error Handling:
    - Bind DPC to Root Ports as well as Downstream Ports (Keith Busch)
    - Remove DPC tristate module option (Keith Busch)
    - Convert Downstream Port Containment driver to use devm_* functions (Mika Westerberg)

    Generic host bridge driver:
    - Select IRQ_DOMAIN (Arnd Bergmann)
    - Claim bus resources on PCI_PROBE_ONLY set-ups (Lorenzo Pieralisi)

    ACPI host bridge driver:
    - Add ARM64 acpi_pci_bus_find_domain_nr() (Tomasz Nowicki)
    - Add ARM64 ACPI support for legacy IRQs parsing and consolidation with DT code (Tomasz Nowicki)
    - Implement ARM64 AML accessors for PCI_Config region (Tomasz Nowicki)
    - Support ARM64 ACPI-based PCI host controller (Tomasz Nowicki)

    Altera host bridge driver:
    - Check link status before retrain link (Ley Foon Tan)
    - Poll for link up status after retraining the link (Ley Foon Tan)

    Axis ARTPEC-6 host bridge driver:
    - Add PCI_MSI_IRQ_DOMAIN dependency (Arnd Bergmann)
    - Add DT binding for Axis ARTPEC-6 PCIe controller (Niklas Cassel)
    - Add Axis ARTPEC-6 PCIe controller driver (Niklas Cassel)

    Intel VMD host bridge driver:
    - Use lock save/restore in interrupt enable path (Jon Derrick)
    - Select device dma ops to override (Keith Busch)
    - Initialize list item in IRQ disable (Keith Busch)
    - Use x86_vector_domain as parent domain (Keith Busch)
    - Separate MSI and MSI-X vector sharing (Keith Busch)

    Marvell Aardvark host bridge driver:
    - Add DT binding for the Aardvark PCIe controller (Thomas Petazzoni)
    - Add Aardvark PCI host controller driver (Thomas Petazzoni)
    - Add Aardvark PCIe support for Armada 3700 (Thomas Petazzoni)

    Microsoft Hyper-V host bridge driver:
    - Fix interrupt cleanup path (Cathy Avery)
    - Don't leak buffer in hv_pci_onchannelcallback() (Vitaly Kuznetsov)
    - Handle all pending messages in hv_pci_onchannelcallback() (Vitaly Kuznetsov)

    NVIDIA Tegra host bridge driver:
    - Program PADS_REFCLK_CFG* always, not just on legacy SoCs (Stephen Warren)
    - Program PADS_REFCLK_CFG* registers with per-SoC values (Stephen Warren)
    - Use lower-case hex consistently for register definitions (Thierry Reding)
    - Use generic pci_remap_iospace() rather than ARM32-specific one (Thierry Reding)
    - Stop setting pcibios_min_mem (Thierry Reding)

    Renesas R-Car host bridge driver:
    - Drop gen2 dummy I/O port region (Bjorn Helgaas)

    TI DRA7xx host bridge driver:
    - Fix return value in case of error (Christophe JAILLET)

    Xilinx AXI host bridge driver:
    - Fix return value in case of error (Christophe JAILLET)

    Miscellaneous:
    - Make bus_attr_resource_alignment static (Ben Dooks)
    - Include for isa_dma_bridge_buggy (Ben Dooks)
    - MAINTAINERS: Add file patterns for PCI device tree bindings (Geert Uytterhoeven)
    - Make host bridge drivers explicitly non-modular (Paul Gortmaker)"

    * tag 'pci-v4.8-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (125 commits)
    PCI: xgene: Make explicitly non-modular
    PCI: thunder-pem: Make explicitly non-modular
    PCI: thunder-ecam: Make explicitly non-modular
    PCI: tegra: Make explicitly non-modular
    PCI: rcar-gen2: Make explicitly non-modular
    PCI: rcar: Make explicitly non-modular
    PCI: mvebu: Make explicitly non-modular
    PCI: layerscape: Make explicitly non-modular
    PCI: keystone: Make explicitly non-modular
    PCI: hisi: Make explicitly non-modular
    PCI: generic: Make explicitly non-modular
    PCI: designware-plat: Make it explicitly non-modular
    PCI: artpec6: Make explicitly non-modular
    PCI: armada8k: Make explicitly non-modular
    PCI: artpec: Add PCI_MSI_IRQ_DOMAIN dependency
    PCI: Add ACS quirk for Solarflare SFC9220
    arm64: dts: marvell: Add Aardvark PCIe support for Armada 3700
    PCI: aardvark: Add Aardvark PCI host controller driver
    dt-bindings: add DT binding for the Aardvark PCIe controller
    PCI: tegra: Program PADS_REFCLK_CFG* registers with per-SoC values
    ...

    Linus Torvalds
     
  • Pull kbuild updates from Michal Marek:

    - GCC plugin support by Emese Revfy from grsecurity, with a fixup from
    Kees Cook. The plugins are meant to be used for static analysis of
    the kernel code. Two plugins are provided already.

    - reduction of the gcc commandline by Arnd Bergmann.

    - IS_ENABLED / IS_REACHABLE macro enhancements by Masahiro Yamada

    - bin2c fix by Michael Tautschnig

    - setlocalversion fix by Wolfram Sang

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    gcc-plugins: disable under COMPILE_TEST
    kbuild: Abort build on bad stack protector flag
    scripts: Fix size mismatch of kexec_purgatory_size
    kbuild: make samples depend on headers_install
    Kbuild: don't add obj tree in additional includes
    Kbuild: arch: look for generated headers in obtree
    Kbuild: always prefix objtree in LINUXINCLUDE
    Kbuild: avoid duplicate include path
    Kbuild: don't add ../../ to include path
    vmlinux.lds.h: replace config_enabled() with IS_ENABLED()
    kconfig.h: allow to use IS_{ENABLE,REACHABLE} in macro expansion
    kconfig.h: use already defined macros for IS_REACHABLE() define
    export.h: use __is_defined() to check if __KSYM_* is defined
    kconfig.h: use __is_defined() to check if MODULE is defined
    kbuild: setlocalversion: print error to STDERR
    Add sancov plugin
    Add Cyclomatic complexity GCC plugin
    GCC plugin infrastructure
    Shared library support

    Linus Torvalds
     

02 Aug, 2016

2 commits

  • Pull ARM SoC platform updates from Olof Johansson:
    "Improved and new platform support for various SoCs:

    New SoC support:
    - Broadcom BCM23550
    - Freescale i.MX7Solo
    - Qualcomm MDM9615
    - Renesas r8a7792

    Improvements:
    - convert clps711x to multiplatform
    - debug uart improvements for Atmel platforms
    - Tango platform improvements: HOTPLUG_CPU, Suspend-to-ram
    - OMAP tweaks and improvements to hwmod
    - OMAP support for kexec on SMP"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (109 commits)
    ARM: davinci: fix build break because of undeclared dm365_evm_snd_data
    ARM: s3c64xx: smartq: Avoid sparse warnings
    ARM: sti: Implement dummy L2 cache's write_sec
    ARM: STi: Update machine _namestr to be more generic.
    arm: meson: explicitly select clk drivers
    ARM: tango: add Suspend-to-RAM support
    ARM: hisi: consolidate the hisilicon machine entries
    ARM: tango: fix CONFIG_HOTPLUG_CPU=n build
    MAINTAINERS: Update BCM281XX/BCM11XXX/BCM216XX entry
    MAINTAINERS: Update BCM63XX entry
    MAINTAINERS: Add NS2 entry
    MAINTAINERS: Fix nsp false-positives
    MAINTAINERS: Change L to M for Broadcom ARM/ARM64 SoC entries
    ARM: debug: Enable DEBUG_BCM_5301X for Northstar Plus SoCs
    ARM: clps711x: Switch to MULTIPLATFORM
    ARM: clps711x: Remove boards support
    ARM: clps711x: Add basic DT support
    ARM: clps711x: Reduce static map size
    ARM: SAMSUNG: Constify iomem address passed to s5p_init_cpu
    ARM: oxnas: Change OX810SE default driver config
    ...

    Linus Torvalds
     
  • Pull ARM SoC cleanups from Olof Johansson:
    "The cleanup branch keeps going down in size as we've completed a lot
    of the major legacy platform removals and conversions.

    A handful of changes this time around, some of the themes or larger
    sets are:

    - A bunch of i.MX cleanups around platform detection, init call cleanups
    - Misc fixes of missing/implicit includes
    - Removal of ARCH_[WANT_OPTIONAL|REQUIRE]_GPIOLIB"

    * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (40 commits)
    ARM: mps2: fix typo
    ARM: s3c64xx: avoid warning about 'struct device_node'
    bus: mvebu-mbus: make mvebu_mbus_syscore_ops static
    bus: mvebu-mbus: fix __iomem on register pointers
    ARM: tegra: Remove board_init_funcs array
    ARM: iop: Fix indentation
    ARM: imx: remove cpu_is_mx*()
    ARM: imx: remove last call to cpu_is_mx5*
    ARM: imx: rework mx27_pm_init() call
    ARM: imx: deconstruct mx3_idle
    ARM: imx: deconstruct mxc_rnga initialization
    ARM: imx: remove cpu_is_mx1 check
    ARM: i.MX: Do not explicitly call l2x0_of_init()
    ARM: i.MX: system.c: Tweak prefetch settings for performance
    ARM: i.MX: system.c: Replace magic numbers
    ARM: i.MX: system.c: Remove redundant errata 752271 code
    ARM: i.MX: system.c: Convert goto to if statement
    ARM: Kirkwood: fix kirkwood_pm_init() declaration/type
    ARM: Kirkwood: make kirkwood_disable_mbus_error_propagation() static
    ARM: orion5x: make orion5x_legacy_handle_irq static
    ...

    Linus Torvalds
     

30 Jul, 2016

1 commit

  • Pull ARM updates from Russell King:
    "Included in this update are:

    - Patches from Gregory Clement to fix the coherent DMA cases in our
    dma-mapping code.

    - A number of CPU errata updates and fixes.

    - ARM cpuidle improvements from Jisheng Zhang.

    - Fix from Kees for the location of _etext.

    - Cleanups from Masahiro Yamada to avoid duplicated messages during
    the kernel build, and remove CONFIG_ARCH_HAS_BARRIERS.

    - Remove a udelay loop limitation, allowing for faster CPUs to
    calibrate the delay correctly.

    - Cleanup some left-overs from the SW PAN implementation.

    - Ensure that a modified address limit is not visible to exception
    handlers"

    * 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (21 commits)
    ARM: 8586/1: cpuidle: make arm_cpuidle_suspend() a bit more efficient
    ARM: 8585/1: cpuidle: fix !cpuidle_ops[cpu].init case during init
    ARM: 8561/4: dma-mapping: Fix the coherent case when iommu is used
    ARM: 8561/3: dma-mapping: Don't use outer_flush_range when the L2C is coherent
    ARM: 8560/1: errata: Workaround errata A12 825619 / A17 852421
    ARM: 8559/1: errata: Workaround erratum A12 821420
    ARM: 8558/1: errata: Workaround errata A12 818325/852422 A17 852423
    ARM: save and reset the address limit when entering an exception
    ARM: 8577/1: Fix Cortex-A15 798181 errata initialization
    ARM: 8584/1: floppy: avoid gcc-6 warning
    ARM: 8583/1: mm: fix location of _etext
    ARM: 8582/1: remove unused CONFIG_ARCH_HAS_BARRIERS
    ARM: 8306/1: loop_udelay: remove bogomips value limitation
    ARM: 8581/1: add missing to arch/arm/kernel/devtree.c
    ARM: 8576/1: avoid duplicating "Kernel: arch/arm/boot/*Image is ready"
    ARM: 8556/1: on a generic DT system: do not touch l2x0
    ARM: uaccess: remove put_user() code duplication
    ARM: 8580/1: Remove orphaned __addr_ok() definition
    ARM: get rid of horrible *(unsigned int *)(regs + 1)
    ARM: introduce svc_pt_regs structure
    ...

    Linus Torvalds
     

27 Jul, 2016

1 commit


21 Jul, 2016

1 commit


14 Jul, 2016

3 commits

  • The workaround for both errata is to set bit 24 in the diagnostic
    register. There are no known end-user bugs solved by fixing this
    errata, but the fix is trivial and it seems sane to apply it.

    The arguments for why this needs to be in the kernel are similar to the
    arugments made in the patch "Workaround errata A12 818325/852422 A17
    852423".

    Signed-off-by: Douglas Anderson
    Signed-off-by: Russell King

    Doug Anderson
     
  • This erratum has a very simple workaround (set a bit in a register), so
    let's apply it. Apparently the workaround's downside is a very slight
    power impact.

    Note that applying this errata fixes deadlocks that are easy to
    reproduce with real world applications.

    The arguments for why this needs to be in the kernel are similar to the
    arugments made in the patch "Workaround errata A12 818325/852422 A17
    852423".

    Signed-off-by: Douglas Anderson
    Signed-off-by: Russell King

    Doug Anderson
     
  • There are several similar errata on Cortex A12 and A17 that all have the same workaround: setting bit[12] of the Feature Register.
    Technically the list of errata are:

    - A12 818325: Execution of an UNPREDICTABLE STR or STM instruction
    might deadlock. Fixed in r0p1.
    - A12 852422: Execution of a sequence of instructions might lead to
    either a data corruption or a CPU deadlock. Not fixed in any A12s
    yet.
    - A17 852423: Execution of a sequence of instructions might lead to
    either a data corruption or a CPU deadlock. Not fixed in any A17s
    yet.

    Since A12 got renamed to A17 it seems likely that there won't be any
    future Cortex-A12 cores, so we'll enable for all Cortex-A12.

    For Cortex-A17 I believe that all known revisions are affected and that all knows revisions means folks
    previously expressed opposition to this change because:
    A) It was thought to only apply to r0p0 and there were no known r0p0
    boards supported in mainline.
    B) It was argued that such a workaround beloned in firmware.

    Now that this same fix solves other errata on real boards (like
    rk3288) point A) is addressed.

    Point B) is impossible to address on boards like rk3288. On rk3288
    the firmware doesn't stay resident in RAM and isn't involved at all in
    the suspend/resume process nor in the SMP bringup process. That means
    that the most the firmware could do would be to set the bit on "core
    0" and this bit would be lost at suspend/resume time. It is true that
    we could write a "generic" solution that saved the boot-time "core 0"
    value of this register and applied it at SMP bringup / resume time.
    However, since this register (described as the "Feature Register" in
    errata) appears to be undocumented (as far as I can tell) and is only
    modified for these errata, that "generic" solution seems questionably
    cleaner. The generic solution also won't fix existing users that
    haven't happened to do a FW update.

    Note that in ARM64 presumably PSCI will be universal and fixes like
    this will end up in ATF. Hopefully we are nearing the end of this
    style of errata workaround.

    Signed-off-by: Douglas Anderson
    Signed-off-by: Huang Tao
    Signed-off-by: Kever Yang
    Signed-off-by: Russell King

    Doug Anderson
     

07 Jul, 2016

1 commit


06 Jul, 2016

1 commit


28 Jun, 2016

1 commit

  • Change the Kconfig option logic to fullfil with the current approach.

    A new Kconfig option is added, CONFIG_CLPS711X_TIMER and is selected by the
    platform. Then the clocksource's Kconfig is changed to make this option
    selectable by the user if the COMPILE_TEST option is set. Otherwise, it is
    up to the platform's Kconfig to select the timer.

    Signed-off-by: Daniel Lezcano

    Daniel Lezcano
     

16 Jun, 2016

1 commit

  • The PCI_MSI symbol is used inconsistently throughout the tree, with some
    drivers using 'select' and others using 'depends on', or using conditional
    selects. This keeps causing problems; the latest one is a result of
    ARCH_ALPINE using a 'select' statement to enable its platform-specific MSI
    driver without enabling MSI:

    warning: (ARCH_ALPINE) selects ALPINE_MSI which has unmet direct dependencies (PCI && PCI_MSI)
    drivers/irqchip/irq-alpine-msi.c:104:15: error: variable 'alpine_msix_domain_info' has initializer but incomplete type
    static struct msi_domain_info alpine_msix_domain_info = {
    ^~~~~~~~~~~~~~~
    drivers/irqchip/irq-alpine-msi.c:105:2: error: unknown field 'flags' specified in initializer
    .flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
    ^
    drivers/irqchip/irq-alpine-msi.c:105:11: error: 'MSI_FLAG_USE_DEF_DOM_OPS' undeclared here (not in a function)
    .flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
    ^~~~~~~~~~~~~~~~~~~~~~~~

    There is little reason to enable PCI support for a platform that uses MSI
    but then leave MSI disabled at compile time.

    Select PCI_MSI from irqchips that implement MSI, and make PCI host bridges
    that use MSI on ARM depend on PCI_MSI_IRQ_DOMAIN.

    For all three architectures that support PCI_MSI_IRQ_DOMAIN (ARM, ARM64,
    X86), enable it by default whenever MSI is enabled.

    [bhelgaas: changelog, omit crypto config change]
    Suggested-by: Marc Zyngier
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Bjorn Helgaas
    Acked-by: Marc Zyngier

    Arnd Bergmann
     

08 Jun, 2016

1 commit

  • This patch allows to build the whole kernel with GCC plugins. It was ported from
    grsecurity/PaX. The infrastructure supports building out-of-tree modules and
    building in a separate directory. Cross-compilation is supported too.
    Currently the x86, arm, arm64 and uml architectures enable plugins.

    The directory of the gcc plugins is scripts/gcc-plugins. You can use a file or a directory
    there. The plugins compile with these options:
    * -fno-rtti: gcc is compiled with this option so the plugins must use it too
    * -fno-exceptions: this is inherited from gcc too
    * -fasynchronous-unwind-tables: this is inherited from gcc too
    * -ggdb: it is useful for debugging a plugin (better backtrace on internal
    errors)
    * -Wno-narrowing: to suppress warnings from gcc headers (ipa-utils.h)
    * -Wno-unused-variable: to suppress warnings from gcc headers (gcc_version
    variable, plugin-version.h)

    The infrastructure introduces a new Makefile target called gcc-plugins. It
    supports all gcc versions from 4.5 to 6.0. The scripts/gcc-plugin.sh script
    chooses the proper host compiler (gcc-4.7 can be built by either gcc or g++).
    This script also checks the availability of the included headers in
    scripts/gcc-plugins/gcc-common.h.

    The gcc-common.h header contains frequently included headers for GCC plugins
    and it has a compatibility layer for the supported gcc versions.

    The gcc-generate-*-pass.h headers automatically generate the registration
    structures for GIMPLE, SIMPLE_IPA, IPA and RTL passes.

    Note that 'make clean' keeps the *.so files (only the distclean or mrproper
    targets clean all) because they are needed for out-of-tree modules.

    Based on work created by the PaX Team.

    Signed-off-by: Emese Revfy
    Acked-by: Kees Cook
    Signed-off-by: Michal Marek

    Emese Revfy
     

04 Jun, 2016

1 commit

  • This replaces:

    - "select ARCH_REQUIRE_GPIOLIB" with "select GPIOLIB" as this can
    now be selected directly.

    - "select ARCH_WANT_OPTIONAL_GPIOLIB" with no dependency: GPIOLIB
    is now selectable by everyone, so we need not declare our
    intent to select it.

    When ordering the symbols the following rationale was used:
    if the selects were in alphabetical order, I moved select GPIOLIB
    to be in alphabetical order, but if the selects were not
    maintained in alphabetical order, I just replaced
    "select ARCH_REQUIRE_GPIOLIB" with "select GPIOLIB".

    Cc: Michael Büsch
    Cc: arm@kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Signed-off-by: Linus Walleij
    Signed-off-by: Olof Johansson

    Linus Walleij
     

21 May, 2016

2 commits

  • printk() takes some locks and could not be used a safe way in NMI
    context.

    The chance of a deadlock is real especially when printing stacks from
    all CPUs. This particular problem has been addressed on x86 by the
    commit a9edc8809328 ("x86/nmi: Perform a safe NMI stack trace on all
    CPUs").

    The patchset brings two big advantages. First, it makes the NMI
    backtraces safe on all architectures for free. Second, it makes all NMI
    messages almost safe on all architectures (the temporary buffer is
    limited. We still should keep the number of messages in NMI context at
    minimum).

    Note that there already are several messages printed in NMI context:
    WARN_ON(in_nmi()), BUG_ON(in_nmi()), anything being printed out from MCE
    handlers. These are not easy to avoid.

    This patch reuses most of the code and makes it generic. It is useful
    for all messages and architectures that support NMI.

    The alternative printk_func is set when entering and is reseted when
    leaving NMI context. It queues IRQ work to copy the messages into the
    main ring buffer in a safe context.

    __printk_nmi_flush() copies all available messages and reset the buffer.
    Then we could use a simple cmpxchg operations to get synchronized with
    writers. There is also used a spinlock to get synchronized with other
    flushers.

    We do not longer use seq_buf because it depends on external lock. It
    would be hard to make all supported operations safe for a lockless use.
    It would be confusing and error prone to make only some operations safe.

    The code is put into separate printk/nmi.c as suggested by Steven
    Rostedt. It needs a per-CPU buffer and is compiled only on
    architectures that call nmi_enter(). This is achieved by the new
    HAVE_NMI Kconfig flag.

    The are MN10300 and Xtensa architectures. We need to clean up NMI
    handling there first. Let's do it separately.

    The patch is heavily based on the draft from Peter Zijlstra, see

    https://lkml.org/lkml/2015/6/10/327

    [arnd@arndb.de: printk-nmi: use %zu format string for size_t]
    [akpm@linux-foundation.org: min_t->min - all types are size_t here]
    Signed-off-by: Petr Mladek
    Suggested-by: Peter Zijlstra
    Suggested-by: Steven Rostedt
    Cc: Jan Kara
    Acked-by: Russell King [arm part]
    Cc: Daniel Thompson
    Cc: Jiri Kosina
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: David Miller
    Cc: Daniel Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Petr Mladek
     
  • Define HAVE_EXIT_THREAD for archs which want to do something in
    exit_thread. For others, let's define exit_thread as an empty inline.

    This is a cleanup before we change the prototype of exit_thread to
    accept a task parameter.

    [akpm@linux-foundation.org: fix mips]
    Signed-off-by: Jiri Slaby
    Cc: "David S. Miller"
    Cc: "H. Peter Anvin"
    Cc: "James E.J. Bottomley"
    Cc: Aurelien Jacquiot
    Cc: Benjamin Herrenschmidt
    Cc: Catalin Marinas
    Cc: Chen Liqin
    Cc: Chris Metcalf
    Cc: Chris Zankel
    Cc: David Howells
    Cc: Fenghua Yu
    Cc: Geert Uytterhoeven
    Cc: Guan Xuetao
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Heiko Carstens
    Cc: Helge Deller
    Cc: Ingo Molnar
    Cc: Ivan Kokshaysky
    Cc: James Hogan
    Cc: Jeff Dike
    Cc: Jesper Nilsson
    Cc: Jiri Slaby
    Cc: Jonas Bonn
    Cc: Koichi Yasutake
    Cc: Lennox Wu
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Martin Schwidefsky
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Mikael Starvik
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Ralf Baechle
    Cc: Rich Felker
    Cc: Richard Henderson
    Cc: Richard Kuo
    Cc: Richard Weinberger
    Cc: Russell King
    Cc: Steven Miao
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Will Deacon
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     

19 May, 2016

1 commit

  • Pull ARM SoC platform updates from Arnd Bergmann:
    "We get support for three new 32-bit SoC platforms this time.

    The amount of changes in arch/arm for any of them is miniscule, as all
    the interesting code is in device driver subsystems (irqchip, clk,
    pinctrl, ...) these days. I'm listing them here, as the addition of
    the Kconfig statement is the main relevant milestone for a new
    platform. In each case, some drivers are are shared with existing
    platforms, while other drivers are added for v4.7 as well, or come in
    a later release.

    - The Aspeed platform is probably the most interesting one, this is
    what most whitebox servers use as their baseboard management
    controller. We get support for the very common ast2400 and ast2500
    SoCs. The OpenBMC project focuses on this chip, and the LWN
    article about their ELC 2016 presentation at

    https://lwn.net/Articles/683320/

    triggered the submission, but the code comes from IBM's OpenPOWER
    team rather than the team at Facebook. There are still a lot more
    drivers that need to get added over time, and I hope both teams can
    work together on that.

    - OXNAS is an old platform for Network Attached Storage devices from
    Oxford Semiconductor. There are models with ARM10 (!) and
    ARM11MPCore cores, but for now, we only support the original ARM9
    based versions. The product lineup was subsequently part of PLX,
    Avago and now the new Broadcom Ltd.

    https://wiki.openwrt.org/doc/hardware/soc/soc.oxnas

    has some more information.

    - V2M-MPS2 is a prototyping platform from ARM for their Cortex-M
    cores and is related to the existing Realview / Versatile Express
    lineup, but without MMU.

    We now support various NOMMU platforms, so adding a new one is
    fairly straightforward.

    http://infocenter.arm.com/help/topic/com.arm.doc.100112_0100_03_en/

    has detailed information about the platform.

    Other noteworthy updates:

    - Work on LPC32xx has resumed, and Vladimir Zapolskiy and Sylvain
    Lemieux are now maintaining the platform.

    This is an older ARM9 based platform from NXP (not Freescale), but
    it remains in use in embedded markets.

    - Kevin Hilman is now co-maintaining the Amlogic Meson platform for
    both 32-bit and 64-bit ARM, and started contributing some patches.

    - As is often the case, work on the OMAP platforms makes up the bulk
    of the actual SoC code changes in arch/arm, but there isn't a lot
    of that either"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (42 commits)
    MAINTAINERS: ARM/Amlogic: add co-maintainer, misc. updates
    MAINTAINERS: add ARM/NXP LPC32XX SoC specific drivers to the section
    MAINTAINERS: add new maintainers of NXP LPC32xx SoC
    MAINTAINERS: move ARM/NXP LPC32xx record to ARM section
    arm: Add Aspeed machine
    ARM: lpc32xx: remove duplicate const on lpc32xx_auxdata_lookup
    ARM: lpc32xx: remove leftovers of legacy clock source and provider drivers
    ARM: lpc32xx: remove reboot header file
    ARM: dove: Remove CLK_IS_ROOT
    ARM: orion5x: Remove CLK_IS_ROOT
    ARM: mv78xx0: Remove CLK_IS_ROOT
    ARM: davinci: da850: use clk->set_parent for async3
    ARM: davinci: Move clock init after ioremap.
    MAINTAINERS: Update ARM Versatile Express platform entry
    ARM: vexpress/mps2: introduce MPS2 platform
    MAINTAINERS: add maintainer entry for ARM/OXNAS platform
    ARM: Add new mach-oxnas
    irqchip: versatile-fpga: add new compatible for OX810SE SoC
    ARM: uniphier: correct the call order of of_node_put()
    MAINTAINERS: fix stale TI DaVinci entries
    ...

    Linus Torvalds
     

18 May, 2016

1 commit

  • Pull networking updates from David Miller:
    "Highlights:

    1) Support SPI based w5100 devices, from Akinobu Mita.

    2) Partial Segmentation Offload, from Alexander Duyck.

    3) Add GMAC4 support to stmmac driver, from Alexandre TORGUE.

    4) Allow cls_flower stats offload, from Amir Vadai.

    5) Implement bpf blinding, from Daniel Borkmann.

    6) Optimize _ASYNC_ bit twiddling on sockets, unless the socket is
    actually using FASYNC these atomics are superfluous. From Eric
    Dumazet.

    7) Run TCP more preemptibly, also from Eric Dumazet.

    8) Support LED blinking, EEPROM dumps, and rxvlan offloading in mlx5e
    driver, from Gal Pressman.

    9) Allow creating ppp devices via rtnetlink, from Guillaume Nault.

    10) Improve BPF usage documentation, from Jesper Dangaard Brouer.

    11) Support tunneling offloads in qed, from Manish Chopra.

    12) aRFS offloading in mlx5e, from Maor Gottlieb.

    13) Add RFS and RPS support to SCTP protocol, from Marcelo Ricardo
    Leitner.

    14) Add MSG_EOR support to TCP, this allows controlling packet
    coalescing on application record boundaries for more accurate
    socket timestamp sampling. From Martin KaFai Lau.

    15) Fix alignment of 64-bit netlink attributes across the board, from
    Nicolas Dichtel.

    16) Per-vlan stats in bridging, from Nikolay Aleksandrov.

    17) Several conversions of drivers to ethtool ksettings, from Philippe
    Reynes.

    18) Checksum neutral ILA in ipv6, from Tom Herbert.

    19) Factorize all of the various marvell dsa drivers into one, from
    Vivien Didelot

    20) Add VF support to qed driver, from Yuval Mintz"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1649 commits)
    Revert "phy dp83867: Fix compilation with CONFIG_OF_MDIO=m"
    Revert "phy dp83867: Make rgmii parameters optional"
    r8169: default to 64-bit DMA on recent PCIe chips
    phy dp83867: Make rgmii parameters optional
    phy dp83867: Fix compilation with CONFIG_OF_MDIO=m
    bpf: arm64: remove callee-save registers use for tmp registers
    asix: Fix offset calculation in asix_rx_fixup() causing slow transmissions
    switchdev: pass pointer to fib_info instead of copy
    net_sched: close another race condition in tcf_mirred_release()
    tipc: fix nametable publication field in nl compat
    drivers: net: Don't print unpopulated net_device name
    qed: add support for dcbx.
    ravb: Add missing free_irq() calls to ravb_close()
    qed: Remove a stray tab
    net: ethernet: fec-mpc52xx: use phy_ethtool_{get|set}_link_ksettings
    net: ethernet: fec-mpc52xx: use phydev from struct net_device
    bpf, doc: fix typo on bpf_asm descriptions
    stmmac: hardware TX COE doesn't work when force_thresh_dma_mode is set
    net: ethernet: fs-enet: use phy_ethtool_{get|set}_link_ksettings
    net: ethernet: fs-enet: use phydev from struct net_device
    ...

    Linus Torvalds
     

17 May, 2016

1 commit

  • Split the HAVE_BPF_JIT into two for distinguishing cBPF and eBPF JITs.

    Current cBPF ones:

    # git grep -n HAVE_CBPF_JIT arch/
    arch/arm/Kconfig:44: select HAVE_CBPF_JIT
    arch/mips/Kconfig:18: select HAVE_CBPF_JIT if !CPU_MICROMIPS
    arch/powerpc/Kconfig:129: select HAVE_CBPF_JIT
    arch/sparc/Kconfig:35: select HAVE_CBPF_JIT

    Current eBPF ones:

    # git grep -n HAVE_EBPF_JIT arch/
    arch/arm64/Kconfig:61: select HAVE_EBPF_JIT
    arch/s390/Kconfig:126: select HAVE_EBPF_JIT if PACK_STACK && HAVE_MARCH_Z196_FEATURES
    arch/x86/Kconfig:94: select HAVE_EBPF_JIT if X86_64

    Later code also needs this facility to check for eBPF JITs.

    Signed-off-by: Daniel Borkmann
    Acked-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Daniel Borkmann
     

11 May, 2016

1 commit

  • The change adds improved support of NXP LPC32xx MIC, SIC1 and SIC2
    interrupt controllers.

    This is a list of new features in comparison to the legacy driver:
    * irq types are taken from device tree settings, no more need to
    hardcode them,
    * old driver is based on irq_domain_add_legacy, which causes problems
    with handling MIC hardware interrupt 0 produced by SIC1,
    * there is one driver for MIC, SIC1 and SIC2, no more need to handle
    them separately, e.g. have two separate handlers for SIC1 and SIC2,
    * the driver does not have any dependencies on hardcoded register
    offsets,
    * the driver is much simpler for maintenance,
    * SPARSE_IRQS option is supported.

    Legacy LPC32xx interrupt controller driver was broken since commit
    76ba59f8366f ("genirq: Add irq_domain-aware core IRQ handler"), which
    requires a private interrupt handler, otherwise any SIC1 generated
    interrupt (mapped to MIC hwirq 0) breaks the kernel with the message
    "unexpected IRQ trap at vector 00".

    The change disables compilation of a legacy driver found at
    arch/arm/mach-lpc32xx/irq.c, the file will be removed in a separate
    commit.

    Fixes: 76ba59f8366f ("genirq: Add irq_domain-aware core IRQ handler")
    Tested-by: Sylvain Lemieux
    Signed-off-by: Vladimir Zapolskiy
    Signed-off-by: Marc Zyngier

    Vladimir Zapolskiy
     

09 May, 2016

2 commits

  • Merge "aspeed arch tag for 4.7" from Joel Stanley :

    This is the initial pull request for the Aspeed BMC SoCs.

    I put 4.7 in the subject for this and the subsequent requests but if it's a bit
    late in the cycle then I understand.

    Following review I got rid of the board file by pushing the functionality out
    to a watchdog and clock driver, so it's just the Kconfig bits. I've also added
    myself to maintainers for the Aspeed arch and drivers as I intend on looking
    after them.

    * tag 'aspeed-for-4.7-arch' of https://github.com/shenki/linux:
    arm: Add Aspeed machine

    Arnd Bergmann
     
  • Aspeed devices are a common Baseboard Management Controller (BMC)
    system on chip containing an ARM9 or ARM11 core, off-chip DDR RAM and
    support for a large number of peripherals.

    This patch adds basic support for the ast2400 and ast2500 machines,
    capable of booting to a prompt in QEMU (-M palmetto-bmc), on an
    Palmetto OpenPower development machine, and on the ast2500 EVB.

    Signed-off-by: Joel Stanley

    Joel Stanley
     

26 Apr, 2016

3 commits


21 Mar, 2016

1 commit

  • Pull ARM SoC platform updates from Arnd Bergmann:
    "Newly added support for additional SoCs:
    - Axis Artpec-6 SoC family
    - Allwinner A83T SoC
    - Mediatek MT7623
    - NXP i.MX6QP SoC
    - ST Microelectronics stm32f469 microcontroller

    New features:
    - SMP support for Mediatek mt2701
    - Big-endian support for NXP i.MX
    - DaVinci now uses the new DMA engine dma_slave_map
    - OMAP now uses the new DMA engine dma_slave_map
    - earlyprintk support for palmchip uart on mach-tango
    - delay timer support for orion

    Other:
    - Exynos PMU driver moved out to drivers/soc/
    - Various smaller updates for Renesas, Xilinx, PXA, AT91, OMAP,
    uniphier"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits)
    ARM: uniphier: rework SMP code to support new System Bus binding
    ARM: uniphier: add missing of_node_put()
    ARM: at91: avoid defining CONFIG_* symbols in source code
    ARM: DRA7: hwmod: Add data for eDMA tpcc, tptc0, tptc1
    ARM: imx: Make reset_control_ops const
    ARM: imx: Do L2 errata only if the L2 cache isn't enabled
    ARM: imx: select ARM_CPU_SUSPEND only for imx6
    dmaengine: pxa_dma: fix the maximum requestor line
    ARM: alpine: select the Alpine MSI controller driver
    ARM: pxa: add the number of DMA requestor lines
    dmaengine: mmp-pdma: add number of requestors
    dma: mmp_pdma: Add the #dma-requests DT property documentation
    ARM: OMAP2+: Add rtc hwmod configuration for ti81xx
    ARM: s3c24xx: Avoid warning for inb/outb
    ARM: zynq: Move early printk virtual address to vmalloc area
    ARM: DRA7: hwmod: Add custom reset handler for PCIeSS
    ARM: SAMSUNG: Remove unused register offset definition
    ARM: EXYNOS: Cleanup header files inclusion
    drivers: soc: samsung: Enable COMPILE_TEST
    MAINTAINERS: Add maintainers entry for drivers/soc/samsung
    ...

    Linus Torvalds