03 Aug, 2016

18 commits

  • Pull networking fixes from David Miller:

    1) Fix several cases of missing of_node_put() calls in various
    networking drivers. From Peter Chen.

    2) Don't try to remove unconfigured VLANs in qed driver, from Yuval
    Mintz.

    3) Unbalanced locking in TIPC error handling, from Wei Yongjun.

    4) Fix lockups in CPDMA driver, from Grygorii Strashko.

    5) More MACSEC refcount et al fixes, from Sabrina Dubroca.

    6) Fix MAC address setting in r8169 during runtime suspend, from
    Chun-Hao Lin.

    7) Various printf format specifier fixes, from Heinrich Schuchardt.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (59 commits)
    qed: Fail driver load in 100g MSI mode.
    ethernet: ti: davinci_emac: add missing of_node_put after calling of_parse_phandle
    ethernet: stmicro: stmmac: add missing of_node_put after calling of_parse_phandle
    ethernet: stmicro: stmmac: dwmac-socfpga: add missing of_node_put after calling of_parse_phandle
    ethernet: renesas: sh_eth: add missing of_node_put after calling of_parse_phandle
    ethernet: renesas: ravb_main: add missing of_node_put after calling of_parse_phandle
    ethernet: marvell: pxa168_eth: add missing of_node_put after calling of_parse_phandle
    ethernet: marvell: mvpp2: add missing of_node_put after calling of_parse_phandle
    ethernet: marvell: mvneta: add missing of_node_put after calling of_parse_phandle
    ethernet: hisilicon: hns: hns_dsaf_main: add missing of_node_put after calling of_parse_phandle
    ethernet: hisilicon: hns: hns_dsaf_mac: add missing of_node_put after calling of_parse_phandle
    ethernet: cavium: octeon: add missing of_node_put after calling of_parse_phandle
    ethernet: aurora: nb8800: add missing of_node_put after calling of_parse_phandle
    ethernet: arc: emac_main: add missing of_node_put after calling of_parse_phandle
    ethernet: apm: xgene: add missing of_node_put after calling of_parse_phandle
    ethernet: altera: add missing of_node_put
    8139too: fix system hang when there is a tx timeout event.
    qed: Fix error return code in qed_resc_alloc()
    net: qlcnic: avoid superfluous assignement
    dsa: b53: remove redundant if
    ...

    Linus Torvalds
     
  • Merge yet more updates from Andrew Morton:

    - the rest of ocfs2

    - various hotfixes, mainly MM

    - quite a bit of misc stuff - drivers, fork, exec, signals, etc.

    - printk updates

    - firmware

    - checkpatch

    - nilfs2

    - more kexec stuff than usual

    - rapidio updates

    - w1 things

    * emailed patches from Andrew Morton : (111 commits)
    ipc: delete "nr_ipc_ns"
    kcov: allow more fine-grained coverage instrumentation
    init/Kconfig: add clarification for out-of-tree modules
    config: add android config fragments
    init/Kconfig: ban CONFIG_LOCALVERSION_AUTO with allmodconfig
    relay: add global mode support for buffer-only channels
    init: allow blacklisting of module_init functions
    w1:omap_hdq: fix regression
    w1: add helper macro module_w1_family
    w1: remove need for ida and use PLATFORM_DEVID_AUTO
    rapidio/switches: add driver for IDT gen3 switches
    powerpc/fsl_rio: apply changes for RIO spec rev 3
    rapidio: modify for rev.3 specification changes
    rapidio: change inbound window size type to u64
    rapidio/idt_gen2: fix locking warning
    rapidio: fix error handling in mbox request/release functions
    rapidio/tsi721_dma: advance queue processing from transfer submit call
    rapidio/tsi721: add messaging mbox selector parameter
    rapidio/tsi721: add PCIe MRRS override parameter
    rapidio/tsi721_dma: add channel mask and queue size parameters
    ...

    Linus Torvalds
     
  • - Remove check for parallel PHY

    - Set LP-Serial Register Map type

    [akpm@linux-foundation.org: fix build]
    [alexandre.bounine@idt.com: fix build fix]
    Link: http://lkml.kernel.org/r/20160802184932.2755-1-alexandre.bounine@idt.com
    Link: http://lkml.kernel.org/r/1469125134-16523-13-git-send-email-alexandre.bounine@idt.com
    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Benjamin Herrenschmidt
    Cc: Michael Ellerman
    Cc: Andre van Herk
    Cc: Barry Wood
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Current definition of map_inb() mport operations callback uses u32 type
    to specify required inbound window (IBW) size. This is limiting factor
    because existing hardware - tsi721 and fsl_rio, both support IBW size up
    to 16GB.

    Changing type of size parameter to u64 to allow IBW size configurations
    larger than 4GB.

    [alexandre.bounine@idt.com: remove compiler warning about size of constant]
    Link: http://lkml.kernel.org/r/20160802184856.2566-1-alexandre.bounine@idt.com
    Link: http://lkml.kernel.org/r/1469125134-16523-11-git-send-email-alexandre.bounine@idt.com
    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Benjamin Herrenschmidt
    Cc: Michael Ellerman
    Cc: Andre van Herk
    Cc: Barry Wood
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • If a crash kernel is loaded, do not crash the running domain. This is
    needed if the kernel is loaded with crash_kexec_post_notifiers, because
    panic notifiers are run before __crash_kexec() in that case, and this
    Xen hook prevents its being called later.

    [akpm@linux-foundation.org: build fix: unconditionally include kexec.h]
    Link: http://lkml.kernel.org/r/20160713122000.14969.99963.stgit@hananiah.suse.cz
    Signed-off-by: Petr Tesarik
    Cc: Juergen Gross
    Cc: Josh Triplett
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Eric Biederman
    Cc: "H. Peter Anvin"
    Cc: Boris Ostrovsky
    Cc: "Paul E. McKenney"
    Cc: Dave Young
    Cc: David Vrabel
    Cc: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Petr Tesarik
     
  • Provide kexec with the boot view of memory by overriding the normal
    kexec translation functions added in a previous patch. We also need to
    fix a call to memblock in machine_kexec_prepare() so that we provide it
    with a running-view physical address rather than a boot- view physical
    address.

    Link: http://lkml.kernel.org/r/E1b8koa-0004Hl-Ey@rmk-PC.armlinux.org.uk
    Signed-off-by: Russell King
    Cc: Keerthy
    Cc: Pratyush Anand
    Cc: Vitaly Andrianov
    Cc: Eric Biederman
    Cc: Dave Young
    Cc: Baoquan He
    Cc: Vivek Goyal
    Cc: Simon Horman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Russell King
     
  • This commit adds definition for cpu_on, cpu_off and cpu_suspend
    commands. These definitions must match the corresponding PSCI
    definitions in boot monitor.

    Having those command and corresponding PSCI support in boot monitor
    allows run time CPU hot plugin.

    Link: http://lkml.kernel.org/r/E1b8koV-0004Hf-2j@rmk-PC.armlinux.org.uk
    Signed-off-by: Keerthy
    Signed-off-by: Vitaly Andrianov
    Signed-off-by: Russell King
    Cc: Pratyush Anand
    Cc: Eric Biederman
    Cc: Dave Young
    Cc: Baoquan He
    Cc: Vivek Goyal
    Cc: Simon Horman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vitaly Andrianov
     
  • On PAE systems (eg, ARM LPAE) the vmcore note may be located above 4GB
    physical on 32-bit architectures, so we need a wider type than "unsigned
    long" here. Arrange for paddr_vmcoreinfo_note() to return a
    phys_addr_t, thereby allowing it to be located above 4GB.

    This makes no difference for kexec-tools, as they already assume a
    64-bit type when reading from this file.

    Link: http://lkml.kernel.org/r/E1b8koK-0004HS-K9@rmk-PC.armlinux.org.uk
    Signed-off-by: Russell King
    Reviewed-by: Pratyush Anand
    Acked-by: Baoquan He
    Cc: Keerthy
    Cc: Vitaly Andrianov
    Cc: Eric Biederman
    Cc: Dave Young
    Cc: Vivek Goyal
    Cc: Simon Horman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Russell King
     
  • Advertise the location of bootable RAM to kexec-tools. kexec needs to
    know where it can place the kernel in RAM, and so be executable when the
    system needs to jump into it.

    Advertise these areas in /proc/iomem with a "System RAM (boot alias)"
    tag.

    Link: http://lkml.kernel.org/r/E1b8ko4-0004HA-GF@rmk-PC.armlinux.org.uk
    Signed-off-by: Russell King
    Reviewed-by: Pratyush Anand
    Cc: Baoquan He
    Cc: Keerthy
    Cc: Vitaly Andrianov
    Cc: Eric Biederman
    Cc: Dave Young
    Cc: Vivek Goyal
    Cc: Simon Horman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Russell King
     
  • Advertise a resource which describes where the crash kernel is located
    in the boot view of RAM. This allows kexec-tools to have this vital
    information.

    Link: http://lkml.kernel.org/r/E1b8knz-0004H4-Bd@rmk-PC.armlinux.org.uk
    Signed-off-by: Russell King
    Cc: Baoquan He
    Cc: Keerthy
    Cc: Pratyush Anand
    Cc: Vitaly Andrianov
    Cc: Eric Biederman
    Cc: Dave Young
    Cc: Vivek Goyal
    Cc: Simon Horman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Russell King
     
  • In general, there's no need for the "restore sigmask" flag to live in
    ti->flags. alpha, ia64, microblaze, powerpc, sh, sparc (64-bit only),
    tile, and x86 use essentially identical alternative implementations,
    placing the flag in ti->status.

    Replace those optimized implementations with an equally good common
    implementation that stores it in a bitfield in struct task_struct and
    drop the custom implementations.

    Additional architectures can opt in by removing their
    TIF_RESTORE_SIGMASK defines.

    Link: http://lkml.kernel.org/r/8a14321d64a28e40adfddc90e18a96c086a6d6f9.1468522723.git.luto@kernel.org
    Signed-off-by: Andy Lutomirski
    Tested-by: Michael Ellerman [powerpc]
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Cc: Tony Luck
    Cc: Fenghua Yu
    Cc: Michal Simek
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Yoshinori Sato
    Cc: Rich Felker
    Cc: "David S. Miller"
    Cc: Chris Metcalf
    Cc: Peter Zijlstra
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Dmitry Safonov
    Cc: Oleg Nesterov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Lutomirski
     
  • For pure bool function's return value, bool is a little better more or
    less than int.

    Link: http://lkml.kernel.org/r/1469331815-2026-1-git-send-email-chengang@emindsoft.com.cn
    Signed-off-by: Chen Gang
    Acked-by: Michael Ellerman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chen Gang
     
  • There was only one use of __initdata_refok and __exit_refok

    __init_refok was used 46 times against 82 for __ref.

    Those definitions are obsolete since commit 312b1485fb50 ("Introduce new
    section reference annotations tags: __ref, __refdata, __refconst")

    This patch removes the following compatibility definitions and replaces
    them treewide.

    /* compatibility defines */
    #define __init_refok __ref
    #define __initdata_refok __refdata
    #define __exit_refok __ref

    I can also provide separate patches if necessary.
    (One patch per tree and check in 1 month or 2 to remove old definitions)

    [akpm@linux-foundation.org: coding-style fixes]
    Link: http://lkml.kernel.org/r/1466796271-3043-1-git-send-email-fabf@skynet.be
    Signed-off-by: Fabian Frederick
    Cc: Ingo Molnar
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Fabian Frederick
     
  • 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 MTD updates from Brian Norris:
    "NAND:

    Quoting Boris:
    'This pull request contains only one notable change:
    - Addition of the MTK NAND controller driver

    And a bunch of specific NAND driver improvements/fixes. Here are the
    changes that are worth mentioning:
    - A few fixes/improvements for the xway NAND controller driver
    - A few fixes for the sunxi NAND controller driver
    - Support for DMA in the sunxi NAND driver
    - Support for the sunxi NAND controller IP embedded in A23/A33 SoCs
    - Addition for bitflips detection in erased pages to the brcmnand driver
    - Support for new brcmnand IPs
    - Update of the OMAP-GPMC binding to support DMA channel description'

    In addition, some small fixes around error handling, etc., as well
    as one long-standing corner case issue (2.6.20, I think?) with
    writing 1 byte less than a page.

    NOR:

    - rework some error handling on reads and writes, so we can better
    handle (for instance) SPI controllers which have limitations on
    their maximum transfer size

    - add new Cadence Quad SPI flash controller driver

    - add new Atmel QSPI flash controller driver

    - add new Hisilicon SPI flash controller driver

    - support a few new flash, and update supported features on others

    - fix the logic used for detecting a fully-unlocked flash

    And other miscellaneous small fixes"

    * tag 'for-linus-20160801' of git://git.infradead.org/linux-mtd: (60 commits)
    mtd: spi-nor: don't build Cadence QuadSPI on non-ARM
    mtd: mtk-nor: remove duplicated include from mtk-quadspi.c
    mtd: nand: fix bug writing 1 byte less than page size
    mtd: update description of MTD_BCM47XXSFLASH symbol
    mtd: spi-nor: Add driver for Cadence Quad SPI Flash Controller
    mtd: spi-nor: Bindings for Cadence Quad SPI Flash Controller driver
    mtd: nand: brcmnand: Change BUG_ON in brcmnand_send_cmd
    mtd: pmcmsp-flash: Allocating too much in init_msp_flash()
    mtd: maps: sa1100-flash: potential NULL dereference
    mtd: atmel-quadspi: add driver for Atmel QSPI controller
    mtd: nand: omap2: fix return value check in omap_nand_probe()
    Documentation: atmel-quadspi: add binding file for Atmel QSPI driver
    mtd: spi-nor: add hisilicon spi-nor flash controller driver
    mtd: spi-nor: support dual, quad, and WP for Gigadevice
    mtd: spi-nor: Added support for n25q00a.
    memory: Update dependency of IFC for Layerscape
    mtd: nand: jz4780: Update MODULE_AUTHOR email address
    mtd: nand: sunxi: prevent a small memory leak
    mtd: nand: sunxi: add reset line support
    mtd: nand: sunxi: update DT bindings
    ...

    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
     
  • Pull KVM updates from Paolo Bonzini:

    - ARM: GICv3 ITS emulation and various fixes. Removal of the
    old VGIC implementation.

    - s390: support for trapping software breakpoints, nested
    virtualization (vSIE), the STHYI opcode, initial extensions
    for CPU model support.

    - MIPS: support for MIPS64 hosts (32-bit guests only) and lots
    of cleanups, preliminary to this and the upcoming support for
    hardware virtualization extensions.

    - x86: support for execute-only mappings in nested EPT; reduced
    vmexit latency for TSC deadline timer (by about 30%) on Intel
    hosts; support for more than 255 vCPUs.

    - PPC: bugfixes.

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (302 commits)
    KVM: PPC: Introduce KVM_CAP_PPC_HTM
    MIPS: Select HAVE_KVM for MIPS64_R{2,6}
    MIPS: KVM: Reset CP0_PageMask during host TLB flush
    MIPS: KVM: Fix ptr->int cast via KVM_GUEST_KSEGX()
    MIPS: KVM: Sign extend MFC0/RDHWR results
    MIPS: KVM: Fix 64-bit big endian dynamic translation
    MIPS: KVM: Fail if ebase doesn't fit in CP0_EBase
    MIPS: KVM: Use 64-bit CP0_EBase when appropriate
    MIPS: KVM: Set CP0_Status.KX on MIPS64
    MIPS: KVM: Make entry code MIPS64 friendly
    MIPS: KVM: Use kmap instead of CKSEG0ADDR()
    MIPS: KVM: Use virt_to_phys() to get commpage PFN
    MIPS: Fix definition of KSEGX() for 64-bit
    KVM: VMX: Add VMCS to CPU's loaded VMCSs before VMPTRLD
    kvm: x86: nVMX: maintain internal copy of current VMCS
    KVM: PPC: Book3S HV: Save/restore TM state in H_CEDE
    KVM: PPC: Book3S HV: Pull out TM state save/restore into separate procedures
    KVM: arm64: vgic-its: Simplify MAPI error handling
    KVM: arm64: vgic-its: Make vgic_its_cmd_handle_mapi similar to other handlers
    KVM: arm64: vgic-its: Turn device_id validation into generic ID validation
    ...

    Linus Torvalds
     
  • Pull more s390 updates from Martin Schwidefsky:

    - some cleanup for the hugetlbfs pte/pmd conversion functions

    - the code to check for the minimum CPU type is converted from
    assembler to C and an informational message is added in case the CPU
    is not new enough to run the kernel

    - bug fixes

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/ftrace/jprobes: Fix conflict between jprobes and function graph tracing
    s390: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO
    s390/zcrypt: fix possible memory leak in ap_module_init()
    s390/numa: only set possible nodes within node_possible_map
    s390/als: fix compile with gcov enabled
    s390/facilities: do not generate DWORDS define anymore
    s390/als: print missing facilities on facility mismatch
    s390/als: print machine type on facility mismatch
    s390/als: convert architecture level set code to C
    s390/sclp: move uninitialized data to data section
    s390/zcrypt: Fix zcrypt suspend/resume behavior
    s390/cio: fix premature wakeup during chp configure
    s390/cio: convert cfg_lock mutex to spinlock
    s390/mm: clean up pte/pmd encoding

    Linus Torvalds
     

02 Aug, 2016

22 commits

  • Merge drm updates from Dave Airlie:
    "This is the main drm pull request for 4.8.

    I'm down with a cold at the moment so hopefully this isn't in too bad
    a state, I finished pulling stuff last week mostly (nouveau fixes just
    went in today), so only this message should be influenced by illness.
    Apologies to anyone who's major feature I missed :-)

    Core:
    Lockless GEM BO freeing
    Non-blocking atomic work
    Documentation changes (rst/sphinx)
    Prep for new fencing changes
    Simple display helpers
    Master/auth changes
    Register/unregister rework
    Loads of trivial patches/fixes.

    New stuff:
    ARM Mali display driver (not the 3D chip)
    sii902x RGB->HDMI bridge

    Panel:
    Support for new panels
    Improved backlight support

    Bridge:
    Convert ADV7511 to bridge driver
    ADV7533 support
    TC358767 (DSI/DPI to eDP) encoder chip support

    i915:
    BXT support enabled by default
    GVT-g infrastructure
    GuC command submission and fixes
    BXT workarounds
    SKL/BKL workarounds
    Demidlayering device registration
    Thundering herd fixes
    Missing pci ids
    Atomic updates

    amdgpu/radeon:
    ATPX improvements for better dGPU power control on PX systems
    New power features for CZ/BR/ST
    Pipelined BO moves and evictions in TTM
    GPU scheduler improvements
    GPU reset improvements
    Overclocking on dGPUs with amdgpu
    Polaris powermanagement enabled

    nouveau:
    GK20A/GM20B volt and clock improvements.
    Initial support for GP100/GP104 GPUs, GP104 will not yet support
    acceleration due to NVIDIA having not released firmware for them as of yet.

    exynos:
    Exynos5433 SoC with IOMMU support.

    vc4:
    Shader validation for branching

    imx-drm:
    Atomic mode setting conversion
    Reworked DMFC FIFO allocation
    External bridge support

    analogix-dp:
    RK3399 eDP support
    Lots of fixes.

    rockchip:
    Lots of small fixes.

    msm:
    DT bindings cleanups
    Shrinker and madvise support
    ASoC HDMI codec support

    tegra:
    Host1x driver cleanups
    SOR reworking for DP support
    Runtime PM support

    omapdrm:
    PLL enhancements
    Header refactoring
    Gamma table support

    arcgpu:
    Simulator support

    virtio-gpu:
    Atomic modesetting fixes.

    rcar-du:
    Misc fixes.

    mediatek:
    MT8173 HDMI support

    sti:
    ASOC HDMI codec support
    Minor fixes

    fsl-dcu:
    Suspend/resume support
    Bridge support

    amdkfd:
    Minor fixes.

    etnaviv:
    Enable GPU clock gating

    hisilicon:
    Vblank and other fixes"

    * tag 'drm-for-v4.8' of git://people.freedesktop.org/~airlied/linux: (1575 commits)
    drm/nouveau/gr/nv3x: fix instobj write offsets in gr setup
    drm/nouveau/acpi: fix lockup with PCIe runtime PM
    drm/nouveau/acpi: check for function 0x1B before using it
    drm/nouveau/acpi: return supported DSM functions
    drm/nouveau/acpi: ensure matching ACPI handle and supported functions
    drm/nouveau/fbcon: fix font width not divisible by 8
    drm/amd/powerplay: remove enable_clock_power_gatings_tasks from initialize and resume events
    drm/amd/powerplay: move clockgating to after ungating power in pp for uvd/vce
    drm/amdgpu: add query device id and revision id into system info entry at CGS
    drm/amdgpu: add new definition in bif header
    drm/amd/powerplay: rename smum header guards
    drm/amdgpu: enable UVD context buffer for older HW
    drm/amdgpu: fix default UVD context size
    drm/amdgpu: fix incorrect type of info_id
    drm/amdgpu: make amdgpu_cgs_call_acpi_method as static
    drm/amdgpu: comment out unused defaults_staturn_pro static const structure to fix the build
    drm/amdgpu: enable UVD VM only on polaris
    drm/amdgpu: increase timeout of IB test
    drm/amdgpu: add destroy session when generate VCE destroy msg.
    drm/amd: fix deadlock of job_list_lock V2
    ...

    Linus Torvalds
     
  • Switch to MULTIPLATFORM"

    Missed conflict between commit c86f51737f8d ("ARM: clps711x: Switch to
    MULTIPLATFORM") from the arm-soc tree and commit 250e46aa3bb3
    ("clocksource/drivers/clps_711x: Add the COMPILE_TEST option") from the
    clockevents tree.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • Pull ia64 updates from Tony Luck:
    "Miscellaneous ia64 cleanups"

    * tag 'please-pull-misc-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    ia64: salinfo: use a waitqueue instead a sema down/up combo
    ia64: efi: use timespec64 for persistent clock

    Linus Torvalds
     
  • Pull 64-bit ARM DT updates from Olof Johansson:
    "Just as the 32-bit contents, the 64-bit device tree branch also
    contains a number of additions this release cycle.

    New platforms:
    - LG LG1313
    - Mediatek MT6755
    - Renesas r8a7796
    - Broadcom 2837

    Other platforms with larger updates are:
    - Nvidia X1 platforms (USB 3.0, regulators, display subsystem)
    - Mediatek MT8173 (display subsystem added)
    - Rockchip RK3399 (a lot of new peripherals)
    - ARM Juno reference implementation (SCPI power domains, coresight,
    thermal)"

    * tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (118 commits)
    arm64: tegra: Enable HDMI on Jetson TX1
    arm64: tegra: Add sor1_src clock
    arm64: tegra: Add XUSB powergates on Tegra210
    arm64: tegra: Add DPAUX pinctrl bindings
    arm64: tegra: Add ACONNECT bus node for Tegra210
    arm64: tegra: Add audio powergate node for Tegra210
    arm64: tegra: Add regulators for Tegra210 Smaug
    arm64: tegra: Correct Tegra210 XUSB mailbox interrupt
    arm64: tegra: Enable XUSB controller on Jetson TX1
    arm64: tegra: Enable debug serial on Jetson TX1
    arm64: tegra: Add Tegra210 XUSB controller
    arm64: tegra: Add Tegra210 XUSB pad controller
    arm64: tegra: Add DSI panel on Jetson TX1
    arm64: tegra: p2597: Add SDMMC power supplies
    arm64: tegra: Add PMIC support on Jetson TX1
    Revert "ARM64: DTS: meson-gxbb: switch ethernet to real clock"
    arm64: dts: hi6220: Add pl031 RTC support
    arm64: dts: r8a7796/salvator-x: Enable watchdog timer
    arm64: dts: r8a7796: Add RWDT node
    arm64: dts: r8a7796: Use SYSC "always-on" PM Domain
    ...

    Linus Torvalds
     
  • Pull ARM DT updates from Olof Johansson:
    "Device tree contents continue to be the largest branches we submit.
    This time around, some of the contents worth pointing out is:

    New SoC platforms:
    - Freescale i.MX 7Solo
    - Broadcom BCM23550
    - Cirrus Logic EP7209 and EP7211 (clps711x platforms)_
    - Hisilicon HI3519
    - Renesas R8A7792

    Some of the other delta that is sticking out, line-count wise:
    - Exynos moves of IP blocks under an SoC bus, which causes a large
    delta due to indentation changes
    - a new Tegra K1 board: Apalis
    - a bunch of small updates to many Allwinner platforms; new hardware
    support, some cleanup, etc"

    * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (426 commits)
    ARM: dts: sun8i: Add dts file for inet86dz board
    ARM: dts: sun8i: Add dts file for Polaroid MID2407PXE03 tablet
    ARM: dts: sun8i: Use sun8i-reference-design-tablet for ga10h dts
    ARM: dts: sun8i: Use sun8i-reference-design-tablet for polaroid mid2809pxe04
    ARM: dts: sun8i: reference-design-tablet: Add drivevbus-supply
    ARM: dts: Copy sun8i-q8-common.dtsi sun8i-reference-design-tablet.dtsi
    ARM: dts: sun5i: Use sun5i-reference-design-tablet.dtsi for utoo p66 dts
    ARM: dts: sun5i: Use sun5i-reference-design-tablet.dtsi for dit4350 dts
    ARM: dts: sun5i: reference-design-tablet: Remove mention of q8
    ARM: dts: sun5i: reference-design-tablet: Set lradc vref to avcc
    ARM: dts: sun5i: Rename sun5i-q8-common.dtsi sun5i-reference-design-tablet.dtsi
    ARM: dts: sun5i: Move q8 display bits to sun5i-a13-q8-tablet.dts
    ARM: dts: sunxi: Rename sunxi-q8-common.dtsi sunxi-reference-design-tablet.dtsi
    ARM: dts: at91: Don't build unnecessary dtbs
    ARM: dts: at91: sama5d3x: separate motherboard gmac and emac definitions
    ARM: dts: at91: at91sam9g25ek: fix isi endpoint node
    ARM: dts: at91: move isi definition to at91sam9g25ek
    ARM: dts: at91: fix i2c-gpio node name
    ARM: dts: at91: vinco: fix regulator name
    ARM: dts: at91: ariag25 : fix onewire node
    ...

    Linus Torvalds
     
  • Pull ARM SoC driver updates from Olof Johansson:
    "Driver updates for ARM SoCs.

    A slew of changes this release cycle. The reset driver tree, that we
    merge through arm-soc for historical reasons, is also sizable this
    time around.

    Among the changes:

    - clps711x: Treewide changes to compatible strings, merged here for simplicity.
    - Qualcomm: SCM firmware driver cleanups, move to platform driver
    - ux500: Major cleanups, removal of old mach-specific infrastructure.
    - Atmel external bus memory driver
    - Move of brcmstb platform to the rest of bcm
    - PMC driver updates for tegra, various fixes and improvements
    - Samsung platform driver updates to support 64-bit Exynos platforms
    - Reset controller cleanups moving to devm_reset_controller_register() APIs
    - Reset controller driver for Amlogic Meson
    - Reset controller driver for Hisilicon hi6220
    - ARM SCPI power domain support"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (100 commits)
    ARM: ux500: consolidate base platform files
    ARM: ux500: move soc_id driver to drivers/soc
    ARM: ux500: call ux500_setup_id later
    ARM: ux500: consolidate soc_device code in id.c
    ARM: ux500: remove cpu_is_u* helpers
    ARM: ux500: use CLK_OF_DECLARE()
    ARM: ux500: move l2x0 init to .init_irq
    mfd: db8500 stop passing around platform data
    ASoC: ab8500-codec: remove platform data based probe
    ARM: ux500: move ab8500_regulator_plat_data into driver
    ARM: ux500: remove unused regulator data
    soc: raspberrypi-power: add CONFIG_OF dependency
    firmware: scpi: add CONFIG_OF dependency
    video: clps711x-fb: Changing the compatibility string to match with the smallest supported chip
    input: clps711x-keypad: Changing the compatibility string to match with the smallest supported chip
    pwm: clps711x: Changing the compatibility string to match with the smallest supported chip
    serial: clps711x: Changing the compatibility string to match with the smallest supported chip
    irqchip: clps711x: Changing the compatibility string to match with the smallest supported chip
    clocksource: clps711x: Changing the compatibility string to match with the smallest supported chip
    clk: clps711x: Changing the compatibility string to match with the smallest supported chip
    ...

    Linus Torvalds
     
  • Pull ARM SoC defconfig updates from Olof Johansson:
    "Defconfig additions, removals, etc.

    Most of these are small changes adding the options for newly
    upstreamed drivers, or drivers needed for new board support.

    - removed Broadcom bcm_defconfig, targets are all covered in
    multi_v7_defconfig

    - new defconfig: multi_v4t_defconfig"

    * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)
    ARM: multi_v7_defconfig: enable STMicroelectronics DRM Support
    ARM: multi_v7_defconfig: enable STMicroelectronics BDISP 2D blitter driver
    ARM: omap2plus_defconfig: Fix USB selection to keep Ethernet working
    ARM: configs: lpc18xx: enable adc and dac iio drivers
    ARM: config: Add a multi_v4t_defconfig
    ARM: multi_v7_defconfig: add ACT8945A
    ARM: at91/defconfig: Add ACT8945A driver
    ARM: imx_v6_v7_defconfig: Select ADS7846 support
    ARM: configs: qualcomm: Add MDM9615 missing defconfigs
    ARM: multi_v7_defconfig: Enable vivid driver as a module
    ARM: exynos_defconfig: Enable vivid driver as a module
    ARM: defconfig: enable the MSM8660 pin controller
    ARM: imx_v6_v7_defconfig: enable USB FFS gadget
    ARM: socfpga: enable PL330 DMA in socfpga_defconfig
    ARM: socfpga: add PCIe to socfpga_defconfig
    ARM: multi_v7_defconfig: defconfig: Enable r8a7792 SoC
    ARM: shmobile: defconfig: Enable r8a7792 SoC
    ARM: Remove bcm_defconfig
    ARM: multi_v7_defconfig: Enable Broadcom Kona watchdog
    ARM: multi_v7_defconfig: Enable Broadcom STB PWM
    ...

    Linus Torvalds
     
  • Pull 64-bit ARM SoC updates from Olof Johansson:
    "Changes to platform code for 64-bit ARM platforms.

    Nearly all of these are defconfig updates to enable new drivers or old
    drivers still used on these 64-bit platforms.

    Added platforms for this release are:

    - Broadcom BCM2837
    - Renesas R8A7796"

    * tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (22 commits)
    arm64: remove duplicate PWM entry in defconfig
    arm64: Update default configuration
    arm64: defconfig: Enable more IP blocks for Exynos7 and Exynos5433
    arm64: amlogic: select gxbb clk driver
    arm64: defconfig: Enable S2MPS11 clock and S3C RTC driver
    arm64: marvell: enable Armada 3700 clock drivers
    arm64: defconfig: enable msm8996 pinctrl support
    arm64: defconfig: Enable qcom msm8996 clk drivers
    arm: defconfig: Enable PM8941 pwr key
    arm64: defconfig: enable stmmac and realtek PHY as modules
    arm64: Kconfig: select PM{,_GENERIC_DOMAINS} for ARCH_VEXPRESS
    arm64: defconfig: enable SENSORS_ARM_SCPI
    arm64: defconfig: enable Generic on-chip SRAM driver
    arm64: configs: enable PCIe driver for Armada 7K/8K
    arm64: Add platform selection for BCM2835.
    arm64: defconfig: disable plain NEON implementation of AES
    arm64: Allow for different DMA and CPU bus offsets
    arm64: defconfig: enable Renesas R8A7796 SoC
    arm64: defconfig: Enable Cadence MACB/GEM support
    ARM64: Kconfig: Select the Amlogic Meson pin controller driver
    ...

    Linus Torvalds
     
  • 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
     
  • Pull x86 header cleanups from Ingo Molnar:
    "This tree is a cleanup of the x86 tree reducing spurious uses of
    module.h - which should improve build performance a bit"

    * 'x86-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, crypto: Restore MODULE_LICENSE() to glue_helper.c so it loads
    x86/apic: Remove duplicated include from probe_64.c
    x86/ce4100: Remove duplicated include from ce4100.c
    x86/headers: Include spinlock_types.h in x8664_ksyms_64.c for missing spinlock_t
    x86/platform: Delete extraneous MODULE_* tags fromm ts5500
    x86: Audit and remove any remaining unnecessary uses of module.h
    x86/kvm: Audit and remove any unnecessary uses of module.h
    x86/xen: Audit and remove any unnecessary uses of module.h
    x86/platform: Audit and remove any unnecessary uses of module.h
    x86/lib: Audit and remove any unnecessary uses of module.h
    x86/kernel: Audit and remove any unnecessary uses of module.h
    x86/mm: Audit and remove any unnecessary uses of module.h
    x86: Don't use module.h just for AUTHOR / LICENSE tags

    Linus Torvalds
     
  • Introduce a new KVM capability, KVM_CAP_PPC_HTM, that can be queried to
    determine if a PowerPC KVM guest should use HTM (Hardware Transactional
    Memory).

    This will be used by QEMU to populate the pa-features bits in the
    guest's device tree.

    Signed-off-by: Sam Bobroff
    Reviewed-by: David Gibson
    Signed-off-by: Paolo Bonzini

    Sam Bobroff
     
  • Conflicts:
    drivers/nvme/host/pci.c

    Bjorn Helgaas
     
  • …ost-hv', 'pci/host-vmd' and 'pci/host-xilinx' into next

    * pci/host-aardvark:
    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/host-altera:
    PCI: altera: Poll for link up status after retraining the link
    PCI: altera: Check link status before retrain link
    PCI: altera: Reorder read/write functions

    * pci/host-dra7xx:
    PCI: dra7xx: Fix return value in case of error

    * pci/host-hv:
    PCI: hv: Fix interrupt cleanup path
    PCI: hv: Handle all pending messages in hv_pci_onchannelcallback()
    PCI: hv: Don't leak buffer in hv_pci_onchannelcallback()

    * pci/host-vmd:
    x86/PCI: VMD: Separate MSI and MSI-X vector sharing
    x86/PCI: VMD: Use x86_vector_domain as parent domain
    x86/PCI: VMD: Use lock save/restore in interrupt enable path
    x86/PCI: VMD: Initialize list item in IRQ disable
    x86/PCI: VMD: Select device dma ops to override

    * pci/host-xilinx:
    PCI: xilinx: Fix return value in case of error

    Manually apply changes from pci/demodularize-hosts and
    pci/host-request-windows to drivers/pci/host/pci-aardvark.c

    Bjorn Helgaas
     
  • * pci/demodularize-hosts:
    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: artpec: Add Axis ARTPEC-6 PCIe controller driver
    PCI: Add DT binding for Axis ARTPEC-6 PCIe controller
    PCI: generic: Select IRQ_DOMAIN

    * pci/host-request-windows:
    PCI: versatile: Simplify host bridge window iteration
    PCI: versatile: Request host bridge window resources with core function
    PCI: tegra: Request host bridge window resources with core function
    PCI: tegra: Remove top-level resource from hierarchy
    PCI: rcar: Simplify host bridge window iteration
    PCI: rcar: Request host bridge window resources with core function
    PCI: rcar Gen2: Request host bridge window resources
    PCI: rcar: Drop gen2 dummy I/O port region
    ARM: Make PCI I/O space optional
    PCI: mvebu: Request host bridge window resources with core function
    PCI: generic: Simplify host bridge window iteration
    PCI: generic: Request host bridge window resources with core function
    PCI: altera: Simplify host bridge window iteration
    PCI: altera: Request host bridge window resources with core function
    PCI: xilinx-nwl: Use dev_printk() when possible
    PCI: xilinx-nwl: Request host bridge window resources
    PCI: xilinx-nwl: Free bridge resource list on failure
    PCI: xilinx: Request host bridge window resources
    PCI: xilinx: Free bridge resource list on failure
    PCI: xgene: Request host bridge window resources
    PCI: xgene: Free bridge resource list on failure
    PCI: iproc: Request host bridge window resources
    PCI: designware: Simplify host bridge window iteration
    PCI: designware: Request host bridge window resources
    PCI: designware: Free bridge resource list on failure
    PCI: Add devm_request_pci_bus_resources()

    Bjorn Helgaas
     
  • * pci/resource:
    unicore32/PCI: Remove pci=firmware command line parameter handling
    ARM/PCI: Remove arch-specific pcibios_enable_device()
    ARM64/PCI: Remove arch-specific pcibios_enable_device()
    MIPS/PCI: Claim bus resources on PCI_PROBE_ONLY set-ups
    ARM/PCI: Claim bus resources on PCI_PROBE_ONLY set-ups
    PCI: generic: Claim bus resources on PCI_PROBE_ONLY set-ups
    PCI: Add generic pci_bus_claim_resources()
    alx: Use pci_(request|release)_mem_regions
    ethernet/intel: Use pci_(request|release)_mem_regions
    GenWQE: Use pci_(request|release)_mem_regions
    lpfc: Use pci_(request|release)_mem_regions
    NVMe: Use pci_(request|release)_mem_regions
    PCI: Add helpers to request/release memory and I/O regions
    PCI: Extending pci=resource_alignment to specify device/vendor IDs
    sparc/PCI: Implement pci_resource_to_user() with pcibios_resource_to_bus()
    powerpc/pci: Implement pci_resource_to_user() with pcibios_resource_to_bus()
    microblaze/PCI: Implement pci_resource_to_user() with pcibios_resource_to_bus()
    PCI: Unify pci_resource_to_user() declarations
    microblaze/PCI: Remove useless __pci_mmap_set_pgprot()
    powerpc/pci: Remove __pci_mmap_set_pgprot()
    PCI: Ignore write combining when mapping I/O port space

    Bjorn Helgaas
     
  • …/pm' and 'pci/virtualization' into next

    * pci/aspm:
    PCI/ASPM: Remove redundant check of pcie_set_clkpm

    * pci/dpc:
    PCI: Remove DPC tristate module option
    PCI: Bind DPC to Root Ports as well as Downstream Ports
    PCI: Fix whitespace in struct dpc_dev
    PCI: Convert Downstream Port Containment driver to use devm_* functions

    * pci/hotplug:
    PCI: Allow additional bus numbers for hotplug bridges

    * pci/misc:
    PCI: Include <asm/dma.h> for isa_dma_bridge_buggy
    PCI: Make bus_attr_resource_alignment static
    MAINTAINERS: Add file patterns for PCI device tree bindings
    PCI: Fix comment typo

    * pci/msi:
    PCI/MSI: irqchip: Fix PCI_MSI dependencies

    * pci/pm:
    PCI: pciehp: Ignore interrupts during D3cold
    PCI: Document connection between pci_power_t and hardware PM capability
    PCI: Add runtime PM support for PCIe ports
    ACPI / hotplug / PCI: Runtime resume bridge before rescan
    PCI: Power on bridges before scanning new devices
    PCI: Put PCIe ports into D3 during suspend
    PCI: Don't clear d3cold_allowed for PCIe ports
    PCI / PM: Enforce type casting for pci_power_t

    * pci/virtualization:
    PCI: Add ACS quirk for Solarflare SFC9220
    PCI: Add DMA alias quirk for Adaptec 3805
    PCI: Mark Atheros AR9485 and QCA9882 to avoid bus reset
    PCI: Add function 1 DMA alias quirk for Marvell 88SE9182

    Bjorn Helgaas
     
  • We are now able to support KVM T&E with MIPS32 guests on some MIPS64r2
    and MIPS64r6 hosts, so select HAVE_KVM so it can be enabled.

    Signed-off-by: James Hogan
    Cc: Ralf Baechle
    Cc: Paolo Bonzini
    Cc: "Radim Krčmář"
    Cc: linux-mips@linux-mips.org
    Cc: kvm@vger.kernel.org
    Signed-off-by: Paolo Bonzini

    James Hogan
     
  • KVM sometimes flushes host TLB entries, reading each one to check if it
    corresponds to a guest KSeg0 address. In the absence of EntryHi.EHInv
    bits to invalidate the whole entry, the entries will be set to unique
    virtual addresses in KSeg0 (which is not TLB mapped), spaced 2*PAGE_SIZE
    apart.

    The TLB read however will clobber the CP0_PageMask register with
    whatever page size that TLB entry had, and that same page size will be
    written back into the TLB entry along with the unique address.

    This would cause breakage when transparent huge pages are enabled on
    64-bit host kernels, since huge page entries will overlap other nearby
    entries when separated by only 2*PAGE_SIZE, causing a machine check
    exception.

    Fix this by restoring the old CP0_PageMask value (which should be set to
    the normal page size) after reading the TLB entry if we're going to go
    ahead and invalidate it.

    Signed-off-by: James Hogan
    Cc: Paolo Bonzini
    Cc: "Radim Krčmář"
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org
    Cc: kvm@vger.kernel.org
    Signed-off-by: Paolo Bonzini

    James Hogan
     
  • kvm_mips_trans_replace() passes a pointer to KVM_GUEST_KSEGX(). This
    breaks on 64-bit builds due to the cast of that 64-bit pointer to a
    different sized 32-bit int. Cast the pointer argument to an unsigned
    long to work around the warning.

    Signed-off-by: James Hogan
    Cc: Paolo Bonzini
    Cc: "Radim Krčmář"
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org
    Cc: kvm@vger.kernel.org
    Signed-off-by: Paolo Bonzini

    James Hogan
     
  • When emulating MFC0 instructions to load 32-bit values from guest COP0
    registers and the RDHWR instruction to read the CC (Count) register,
    sign extend the result to comply with the MIPS64 architecture. The
    result must be in canonical 32-bit form or the guest may malfunction.

    Signed-off-by: James Hogan
    Cc: Paolo Bonzini
    Cc: "Radim Krčmář"
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org
    Cc: kvm@vger.kernel.org
    Signed-off-by: Paolo Bonzini

    James Hogan
     
  • The MFC0 and MTC0 instructions in the guest which cause traps can be
    replaced with 32-bit loads and stores to the commpage, however on big
    endian 64-bit builds the offset needs to have 4 added so as to
    load/store the least significant half of the long instead of the most
    significant half.

    Signed-off-by: James Hogan
    Cc: Paolo Bonzini
    Cc: "Radim Krčmář"
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org
    Cc: kvm@vger.kernel.org
    Signed-off-by: Paolo Bonzini

    James Hogan