04 May, 2017

16 commits

  • Pull tracing updates from Steven Rostedt:
    "New features for this release:

    - Pretty much a full rewrite of the processing of function plugins.
    i.e. echo do_IRQ:stacktrace > set_ftrace_filter

    - The rewrite was needed to add plugins to be unique to tracing
    instances. i.e. mkdir instance/foo; cd instances/foo; echo
    do_IRQ:stacktrace > set_ftrace_filter The old way was written very
    hacky. This removes a lot of those hacks.

    - New "function-fork" tracing option. When set, pids in the
    set_ftrace_pid will have their children added when the processes
    with their pids listed in the set_ftrace_pid file forks.

    - Exposure of "maxactive" for kretprobe in kprobe_events

    - Allow for builtin init functions to be traced by the function
    tracer (via the kernel command line). Module init function tracing
    will come in the next release.

    - Added more selftests, and have selftests also test in an instance"

    * tag 'trace-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (60 commits)
    ring-buffer: Return reader page back into existing ring buffer
    selftests: ftrace: Allow some event trigger tests to run in an instance
    selftests: ftrace: Have some basic tests run in a tracing instance too
    selftests: ftrace: Have event tests also run in an tracing instance
    selftests: ftrace: Make func_event_triggers and func_traceonoff_triggers tests do instances
    selftests: ftrace: Allow some tests to be run in a tracing instance
    tracing/ftrace: Allow for instances to trigger their own stacktrace probes
    tracing/ftrace: Allow for the traceonoff probe be unique to instances
    tracing/ftrace: Enable snapshot function trigger to work with instances
    tracing/ftrace: Allow instances to have their own function probes
    tracing/ftrace: Add a better way to pass data via the probe functions
    ftrace: Dynamically create the probe ftrace_ops for the trace_array
    tracing: Pass the trace_array into ftrace_probe_ops functions
    tracing: Have the trace_array hold the list of registered func probes
    ftrace: If the hash for a probe fails to update then free what was initialized
    ftrace: Have the function probes call their own function
    ftrace: Have each function probe use its own ftrace_ops
    ftrace: Have unregister_ftrace_function_probe_func() return a value
    ftrace: Add helper function ftrace_hash_move_and_update_ops()
    ftrace: Remove data field from ftrace_func_probe structure
    ...

    Linus Torvalds
     
  • Merge misc updates from Andrew Morton:

    - a few misc things

    - most of MM

    - KASAN updates

    * emailed patches from Andrew Morton : (102 commits)
    kasan: separate report parts by empty lines
    kasan: improve double-free report format
    kasan: print page description after stacks
    kasan: improve slab object description
    kasan: change report header
    kasan: simplify address description logic
    kasan: change allocation and freeing stack traces headers
    kasan: unify report headers
    kasan: introduce helper functions for determining bug type
    mm: hwpoison: call shake_page() after try_to_unmap() for mlocked page
    mm: hwpoison: call shake_page() unconditionally
    mm/swapfile.c: fix swap space leak in error path of swap_free_entries()
    mm/gup.c: fix access_ok() argument type
    mm/truncate: avoid pointless cleancache_invalidate_inode() calls.
    mm/truncate: bail out early from invalidate_inode_pages2_range() if mapping is empty
    fs/block_dev: always invalidate cleancache in invalidate_bdev()
    fs: fix data invalidation in the cleancache during direct IO
    zram: reduce load operation in page_same_filled
    zram: use zram_free_page instead of open-coded
    zram: introduce zram data accessor
    ...

    Linus Torvalds
     
  • Adding a brief overview of hugetlbfs reservation design and
    implementation as an aid to those making code modifications in this
    area.

    Link: http://lkml.kernel.org/r/1491586995-13085-1-git-send-email-mike.kravetz@oracle.com
    Signed-off-by: Mike Kravetz
    Acked-by: Hillf Danton
    Cc: Jonathan Corbet
    Cc: Michal Hocko
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Kravetz
     
  • Cgroups currently don't report how much shmem they use, which can be
    useful data to have, in particular since shmem is included in the
    cache/file item while being reclaimed like anonymous memory.

    Add a counter to track shmem pages during charging and uncharging.

    Link: http://lkml.kernel.org/r/20170221164343.32252-1-hannes@cmpxchg.org
    Signed-off-by: Johannes Weiner
    Reported-by: Chris Down
    Cc: Michal Hocko
    Cc: Vladimir Davydov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • Show MADV_FREE pages info of each vma in smaps. The interface is for
    diganose or monitoring purpose, userspace could use it to understand
    what happens in the application. Since userspace could dirty MADV_FREE
    pages without notice from kernel, this interface is the only place we
    can get accurate accounting info about MADV_FREE pages.

    [mhocko@kernel.org: update Documentation/filesystems/proc.txt]
    Link: http://lkml.kernel.org/r/89efde633559de1ec07444f2ef0f4963a97a2ce8.1487965799.git.shli@fb.com
    Signed-off-by: Shaohua Li
    Acked-by: Johannes Weiner
    Acked-by: Minchan Kim
    Acked-by: Michal Hocko
    Acked-by: Hillf Danton
    Cc: Hugh Dickins
    Cc: Rik van Riel
    Cc: Mel Gorman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shaohua Li
     
  • Pull rdma updates from Doug Ledford:
    "More exchaustive description of primary updates in this release:

    - Lots of driver fixes and misc fixes across the board.

    - I had to base on a net-next tree because the IPoIB Accelorator
    patches needed it.

    Unfortunately, it was known to Mellanox that there would need to be
    an IPoIB accelorator patch to the net tree (which left some
    functions turned off by an #ifdef construct to avoid warnings about
    defined but unused functions), then one to the RDMA tree, then a
    fixup that went back and re-enabled the functions in the net tree
    and enabled their use in the rdma tree

    Also, a sparse fix was sent to the net tree after I did my pull,
    and the fixup patch conflicts quite directly with that sparse fix,
    so I'm going to submit the fixup patch towards the end of the merge
    window by itself and based upon your master branch at the time.

    - Two separate rounds of hfi1 fixes, one that got dropped from last
    release because it came in just a day or two before the end of the
    merge window and then the one from this release cycle.

    Of note is that I now have a third series that just landed from
    Intel yesterday. It is not included in this pull request, but I may
    submit it by the end of the week. I'll talk to Intel about
    improving the timing of thier submissions for my workflow.

    - Changes to our idr usage in the RDMA subsystem that will tie into
    our cgroup management and also into the upcoming changes for the
    RDMA kerneluserspace API.

    - Addition of support for a netdev to be tied to an RDMA device at
    the core level

    - Addition of the VNIC driver from Intel.

    While IPoIB provides IP over InfiniBand (and *only* IP, no lower
    layer protocol headers are allowed or supported), the VNIC driver
    presents a virtual Ethernet device with support for things like
    varying Ethertypes, VLANs, priorities and other features of
    Ethernet.

    The virtual devices are centrally managed by the OPA fabric
    manager, making this (for the time being) a strictly OPA specific
    feature.

    - Improvements to the On-Demand Paging support in the RDMA subsystem.

    - Addition of three significant OPA changes.

    While we added OPA support some time ago (via the hfi1 driver), the
    RDMA subsystem has so far glossed over the areas where OPA and
    InfiniBand differ.

    With this release we are starting to add support for the OPA
    extensions into the RDMA core in the following area: Extended port
    information for OPA is now supported, extended Address Handle
    attributes for OPA are now supported, and extended SA Queries to
    get OPA specific subnet information is now supported.

    Concise summary from the tag:
    - idr usage and locking changes
    - build fix for hns
    - ipoib debug path record file fix
    - hfi1 updates
    - core RDMA netdev addition
    - Intel VNIC driver addition
    - Enhanced accelerators for IPoIB addition
    - Debug cleanups in cxgb3/4
    - Trivial cleanups from SF Markus Elfring
    - Misc rxe fixes from Mellanox
    - Misc ipoib fixes from Mellanox
    - Lots of mlx4/mlx5 changes from Mellanox
    - Misc fixes across the RDMA subsystem
    - ODP paging fixes and improvements
    - qedr updates
    - hfi1 updates
    - OPA port info patches
    - OPA AH patches
    - OPA SA Query patches"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (191 commits)
    infiniband: avoid dereferencing uninitialized dst on error path
    IB/SA: Add OPA addr header
    IB/mlx5: Add port_xmit_wait to counter registers read
    IB/ocrdma: fix out of bounds access to local buffer
    IB/mlx4: Fix incorrect order of formal and actual parameters
    IB/mlx4: Change flush logic so it adheres to the variable name
    mlx5: Fix mlx5_ib_map_mr_sg mr length
    IB/rxe: Don't clamp residual length to mtu
    IB/SA: Add support to query OPA path records
    IB/SA: Add OPA path record type
    IB/SA: Split struct sa_path_rec based on IB and ROCE specific fields
    IB/SA: Introduce path record specific types
    IB/SA: Rename ib_sa_path_rec to sa_path_rec
    IB/CM: Add braces when using sizeof
    IB/core: Define 'opa' rdma_ah_attr type
    IB/core: Define 'ib' and 'roce' rdma_ah_attr types
    IB/core: Use rdma_ah_attr accessor functions
    IB/core: Add accessor functions for rdma_ah_attr fields
    IB/PVRDMA: Rename ib_ah_attr related functions
    IB/mthca: Rename to_ib_ah_attr to to_rdma_ah_attr
    ...

    Linus Torvalds
     
  • Pull input subsystem updates from Dmitry Torokhov:

    - a big update from Mauro converting input documentation to ReST format

    - Synaptics PS/2 is now aware of SMBus companion devices, which means
    that we can now use native RMI4 protocol to handle touchpads, instead
    of relying on legacy PS/2 mode.

    - we removed support from BMA180 accelerometer from input devices as it
    is now handled properly by IIO

    - update to TSC2007 to corretcly report pressure

    - other miscellaneous driver fixes.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (152 commits)
    Input: ar1021_i2c - use BIT to check for a bit
    Input: twl4030-pwrbutton - use input_set_capability() helper
    Input: twl4030-pwrbutton - use correct device for irq request
    Input: ar1021_i2c - enable touch mode during open
    Input: add uinput documentation
    dt-bindings: input: add bindings document for ar1021_i2c driver
    dt-bindings: input: rotary-encoder: fix typo
    Input: xen-kbdfront - add module parameter for setting resolution
    ARM: pxa/raumfeld: fix compile error in rotary controller resources
    Input: xpad - do not suggest writing to Dominic
    Input: xpad - don't use literal blocks inside footnotes
    Input: xpad - note that usb/devices is now at /sys/kernel/debug/
    Input: docs - freshen up introduction
    Input: docs - split input docs into kernel- and user-facing
    Input: docs - note that MT-A protocol is obsolete
    Input: docs - update joystick documentation a bit
    Input: docs - remove disclaimer/GPL notice
    Input: fix "Game console" heading level in joystick documentation
    Input: rotary-encoder - remove references to platform data from docs
    Input: move documentation for Amiga CD32
    ...

    Linus Torvalds
     
  • Pull spi updates from Mark Brown:
    "There's quite a lot of small driver specific fixes and enhancements in
    this release but the main activity has been around the loopback and
    spidev test drivers which is good to see as it should hopefully help
    improve the quality of all the drivers as people start to make use of
    the new code:

    - Additional tests in the loopback test driver for vmalloc()
    compatibility and around delays together with fixes for existing
    tests.

    - Support for testing continuous data transfer for use in soak
    testing.

    - Device property support for board info platforms.

    - Support for registering empty sets of devices via board info
    (useful when writing code to enumerate hardware automatically)"

    * tag 'spi-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (52 commits)
    spi: cadence: Allow for GPIO pins to be used as chipselects
    spi-imx: Implements handling of the SPI_READY mode flag.
    spi: tegra: fix spelling mistake: "trasfer" -> "transfer"
    spi: spi-ti-qspi: Use bounce buffer if read buffer is not DMA'ble
    spi: Add can_dma like interface for spi_flash_read
    spi: dw: Disable clock after unregistering the host
    spi: double time out tolerance
    spi: atmel: add deepest PM support to SAMA5D2
    spi: atmel: factorize reusable code for SPI controller init
    spi: orion: add LSB support
    spi: pl022: don't use uninitialized variable
    spi: loopback-test: fix spelling mistake: "minimam" -> "minimum"
    spi: dynamycally allocated message initialization
    spi: spi-ti-qspi: Remove unused dma_dev variable
    spi: omap2-mcspi: poll OMAP2_MCSPI_CHSTAT_RXS for PIO transfer
    spi: spi-ti-qspi: Use dma_engine wrapper for dma memcpy call
    spi: spidev_test: add option to continuously transfer data
    spi: loopback-test: fix potential integer overflow on multiple
    spi: sun6i: update max transfer size reported
    spi: pl022: Document property values
    ...

    Linus Torvalds
     
  • Pull regulator updates from Mark Brown:
    "Quite a lot going on with the regulator API for this release, much
    more in the core than in the drivers for a change:

    - Fixes for voltage change propagation through dumb power switches.

    - A notification when regulators are enabled.

    - A new settling time property for regulators where the time taken to
    move to a new voltage is not related to the size of the change.

    - Some reorganization of the Arizona drivers in preparation for
    sharing the code with the next generation devices they've been
    integrated with.

    - Support for newer Freescale chips in the Anatop regulator.

    - A new driver for voltage controlled regulators to cope with some
    exciting ChromeOS hardware designs.

    - Support for Rohm BD9571MWV-M and TI TPS65132"

    * tag 'regulator-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (51 commits)
    regulator: Add ROHM BD9571MWV-M PMIC regulator driver
    regulator: arizona-ldo1: Factor out generic initialization
    regulator: arizona-ldo1: Make arizona_ldo1 independent of struct arizona
    regulator: arizona-ldo1: Move pdata into a separate structure
    regulator: arizona-micsupp: Factor out generic initialization
    regulator: arizona-micsupp: Make arizona_micsupp independent of struct arizona
    regulator: arizona-micsupp: Move pdata into a separate structure
    regulator: arizona: Split KConfig options for LDO1 and MICSUPP regulators
    regulator: anatop: make regulator name property required
    regulator: tps65023: Fix inverted core enable logic.
    regulator: anatop: make sure regulator name is properly defined
    regulator: core: Allow dummy regulators for supplies
    regulator: core: Only propagate voltage changes to if it can change voltages
    regulator: vctrl: Fix out of bounds array access for vctrl->vtable
    regulator: tps65132: fix platform_no_drv_owner.cocci warnings
    regulator: tps65132: Fix off-by-one for .max_register setting
    regulator: anatop: set default voltage selector for pcie
    regulator: tps65132: add device-tree binding
    regulator: tps65132: add regulator driver for TI TPS65132
    regulator: anatop: remove unneeded name field of struct anatop_regulator
    ...

    Linus Torvalds
     
  • Pull i2c updates from Wilfram Sang:
    "I2C has the following updates for you:

    - an immutable cross-subsystem branch fixing PMIC access on Intel
    Baytrail

    - bigger driver updates to the designware, meson, exynos5 drivers

    - new i2c_acpi_new_device() function to create devices from ACPI

    - struct i2c_driver has now a flag 'disable_i2c_core_irq_mapping' to
    allow custom IRQ mapping in case the default does not fit

    - mux subsystem centralized error messages in its core

    - new driver for ltc4306 i2c mux

    - usual set of small updates"

    * 'i2c/for-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (44 commits)
    i2c: thunderx: Enable HWMON class probing
    i2c: rcar: clarify PM handling with more comments
    i2c: rcar: fix resume by always initializing registers before transfer
    i2c: tegra: fix spelling mistake: "contoller" -> "controller"
    i2c: exynos5: use core helper to get driver data
    i2c: exynos5: de-duplicate error logs on clock setup
    i2c: exynos5: simplify clock frequency handling
    i2c: exynos5: simplify timings calculation
    i2c: designware-baytrail: fix potential null pointer dereference on dev
    i2c: designware: Get selected speed mode sda-hold-time via ACPI
    [media] cx231xx: stop double error reporting
    i2c: core: Allow drivers to disable i2c-core irq mapping
    i2c: core: Add new i2c_acpi_new_device helper function
    i2c: core: Allow getting ACPI info by index
    i2c: img-scb: use setup_timer
    i2c: i2c-scmi: add a MS HID
    i2c: mux: ltc4306: LTC4306 and LTC4305 I2C multiplexer/switch
    dt-bindings: i2c: mux: ltc4306: Add dt-bindings for I2C multiplexer/switch
    i2c: mux: reg: stop double error reporting
    i2c: mux: pinctrl: stop double error reporting
    ...

    Linus Torvalds
     
  • Pull MFD updates from Lee Jones:
    "New Drivers:
    - Freescale MXS Low Resolution ADC
    - Freescale i.MX23/i.MX28 LRADC touchscreen
    - Motorola CPCAP Power Button
    - TI LMU (Lighting Management Unit)
    - Atmel SMC (Static Memory Controller)

    New Device Support:
    - Add support for X-Powers AXP803 to axp20x
    - Add support for Dialog Semi DA9061 to da9062-core
    - Add support for Intel Cougar Mountain to lpc_ich
    - Add support for Intel Gemini Lake to lpc_ich

    New Functionality:
    - Add Device Tree support; wm831x-*, axp20x, ti-lmu, da9062, sun4i-gpadc
    - Add IRQ sense support; motorola-cpcap
    - Add ACPI support; cros_ec
    - Add Reset support; altera-a10sr
    - Add ADC support; axp20x
    - Add AC Power support; axp20x
    - Add Runtime PM support; atmel-ebi, exynos-lpass
    - Add Battery Power Supply support; axp20x
    - Add Clock support; exynos-lpass, hi655x-pmic

    Fix-ups:
    - Implicitly specify required headers; motorola-cpcap, intel_soc_pmic_bxtwc
    - Add .remove() method; stm32-timers, exynos-lpass
    - Remove unused code; intel_soc_pmic_core, intel-lpss-acpi, ipaq-micro, atmel-smc, menelaus
    - Rename variables for clarity; axp20x
    - Convert pr_warning() to pr_warn(); db8500-prcmu, sta2x11-mfd, twl4030-power
    - Improve formatting; arizona-core, axp20x
    - Use raw_spinlock_*() variants; asic3, t7l66xb, tc6393xb
    - Simplify/refactor code; arizona-core, atmel-ebi
    - Improve error checking; intel_soc_pmic_core

    Bug Fixes:
    - Ensure OMAP3630/3730 boards can successfully reboot; twl4030-power
    - Correct max-register value; stm32-timers
    - Extend timeout to account for clock stretching; cros_ec_spi
    - Use correct IRQ trigger type; motorola-cpcap
    - Fix bad use of IRQ sense register; motorola-cpcap
    - Logic error "||" should be "&&"; mxs-lradc-ts"

    * tag 'mfd-next-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (79 commits)
    input: touchscreen: mxs-lradc: || vs && typos
    dt-bindings: Add AXP803's regulator info
    mfd: axp20x: Support AXP803 variant
    dt-bindings: Add device tree binding for X-Powers AXP803 PMIC
    dt-bindings: Make AXP20X compatible strings one per line
    mfd: intel_soc_pmic_core: Fix unchecked return value
    mfd: menelaus: Remove obsolete local_irq_disable() and local_irq_enable()
    mfd: omap-usb-tll: Configure ULPIAUTOIDLE
    mfd: omap-usb-tll: Fix inverted bit use for USB TLL mode
    mfd: palmas: Fixed spelling mistake in error message
    mfd: lpc_ich: Add support for Intel Gemini Lake SoC
    mfd: hi655x: Add the clock cell to provide WiFi and Bluetooth
    mfd: intel_soc_pmic: Fix a mess with compilation units
    mfd: exynos-lpass: Add runtime PM support
    mfd: exynos-lpass: Add missing remove() function
    mfd: exynos-lpass: Add support for clocks
    mfd: exynos-lpass: Remove pad retention control
    iio: adc: add support for X-Powers AXP20X and AXP22X PMICs ADCs
    mfd: cpcap: Fix bad use of IRQ sense register
    mfd: cpcap: Use ack_invert interrupts
    ...

    Linus Torvalds
     
  • Pull backlight update from Lee Jones:
    "New Arctic Sand ARC2C0608 LED Backlight driver"

    * tag 'backlight-next-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
    backlight: Add support for Arctic Sand LED backlight driver chips
    dt-bindings: backlight: arcxcnn: Supply bindings for Arctic Sand backlight

    Linus Torvalds
     
  • Pull sound updates from Takashi Iwai:
    "It was a relatively calm development cycle, and no scaring changes are
    seen in both core and driver sides. Here are some highlights:

    ASoC:
    - A new API for hooking up jacks more generically and easily

    - Card longname is set based on DMI for a unique UCM profile

    - Lots of Intel driver fixes: Atom, Broxton, Skylake and newer chips

    - New drivers for Cirrus CS35L35, DIO DIO2125, Everest ES7132,
    HiSilicon hi6210, Maxim MAX98927, MT2701 systems with WM8960,
    Nuvoton NAU8824, Odroid systems, ST STM32 SAI controllers and x86
    systems with DA7213

    HD-audio:
    - Many new quirks to support headset for various devices (mostly ASUS
    ones) as usual

    - Support for dual codecs on some Gigabyte mobos and Lenovo laptop

    - Improvement on PCM position reporting for Skylake and newer

    FireWire:
    - New drivers for MOTU and RME Fireface series

    - Updates for Digidesign Digi00x and TASCAM series

    - Support for tracepoints

    Others:
    - USB-audio: improved support for quirk_alias option

    - Cleanups, constification allover the places"

    * tag 'sound-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (299 commits)
    ASoC: codec: wm8960: Relax bit clock computation when using PLL
    ASoC: codec: wm9860: avoid maybe-uninitialized warning
    ASoC: nau8824: leave Class D gain at chip default
    ASoC: nau8824: rename controls to match DAPM controls
    ASoC: Intel: Skylake: Return negative error code
    ASoC: Intel: Skylake: Fix unused variable warning
    ASoC: Intel: Skylake: fix uninitialized pointer use
    ASoC: sti: Fix error handling if of_clk_get() fails
    ASoC: cs4271: configure reset GPIO as output
    ASoC: dwc: Disallow building designware_pcm as a module
    ALSA: ali5451: fix spelling mistake in "ali_capture_preapre"
    ASoC: stm32: add SAI driver
    ASoC: stm32: add bindings for SAI
    ASoC: Intel: Skylake: Add loadable module support on KBL platform
    ASoC: Intel: Skylake: Modify load_lib_ipc arguments for a nowait version
    ASoC: Intel: Skylake: Register dsp_fw_ops for kabylake
    ASoC: Intel: Skylake: Modify arguments to reuse module transfer function
    ASoC: Intel: Skylake: Commonize library load
    ASoC: Intel: Skylake: Move sst common initialization to a helper function
    ASoC: nau8824: new driver
    ...

    Linus Torvalds
     
  • Pull drm u pdates from Dave Airlie:
    "This is the main drm pull request for v4.12. Apart from two fixes
    pulls, everything should have been in drm-next for at least 2 weeks.

    The biggest thing in here is AMD released the public headers for their
    upcoming VEGA GPUs. These as always are quite a sizeable chunk of
    header files. They've also added initial non-display support for those
    GPUs, though they aren't available in production yet.

    Otherwise it's pretty much normal.

    New bridge drivers:
    - megachips-stdpxxxx-ge-b850v3-fw LVDS->DP++
    - generic LVDS bridge support.

    Core:
    - Displayport link train failure reporting to userspace
    - debugfs interface cleaned up
    - subsystem TODO in kerneldoc now
    - Extended fbdev support (flipping and vblank wait)
    - drm_platform removed
    - EDP CRC support in helper
    - HF-VSDB SCDC support in EDID parser
    - Lots of code cleanups and header extraction
    - Thunderbolt external GPU awareness
    - Atomic helper improvements
    - Documentation improvements

    panel:
    - Sitronix and Samsung new panel support

    amdgpu:
    - Preliminary vega10 support
    - Multi-level page table support
    - GPU sensor support for userspace
    - PRT support for sparse buffers
    - SR-IOV improvements
    - Non-contig VRAM CPU mapping

    i915:
    - Atomic modesetting enabled by default on Gen5+
    - LSPCON improvements
    - Atomic state handling for cdclk
    - GPU reset improvements
    - In-kernel unit tests
    - Geminilake improvements and color manager support
    - Designware i2c fixes
    - vblank evasion improvements
    - Hotplug safe connector iterators
    - GVT scheduler QoS support
    - GVT Kabylake support

    nouveau:
    - Acceleration support for Pascal (GP10x).
    - Rearchitecture of code handling proprietary signed firmware
    - Fix GTX 970 with odd MMU configuration
    - GP10B support
    - GP107 acceleration support

    vmwgfx:
    - Atomic modesetting support for vmwgfx

    omapdrm:
    - Support for render nodes
    - Refactor omapdss code
    - Fix some probe ordering issues
    - Fix too dark RGB565 rendering

    sunxi:
    - prelim rework for multiple pipes.

    mali-dp:
    - Color management support
    - Plane scaling
    - Power management improvements

    imx-drm:
    - Prefetch Resolve Engine/Gasket on i.MX6QP
    - Deferred plane disabling
    - Separate alpha support

    mediatek:
    - Mediatek SoC MT2701 support

    rcar-du:
    - Gen3 HDMI support

    msm:
    - 4k support for newer chips
    - OPP bindings for gpu
    - prep work for per-process pagetables

    vc4:
    - HDMI audio support
    - fixes

    qxl:
    - minor fixes.

    dw-hdmi:
    - PHY improvements
    - CSC fixes
    - Amlogic GX SoC support"

    * tag 'drm-for-v4.12' of git://people.freedesktop.org/~airlied/linux: (1778 commits)
    drm/nouveau/fb/gf100-: Fix 32 bit wraparound in new ram detection
    drm/nouveau/secboot/gm20b: fix the error return code in gm20b_secboot_tegra_read_wpr()
    drm/nouveau/kms: Increase max retries in scanout position queries.
    drm/nouveau/bios/bitP: check that table is long enough for optional pointers
    drm/nouveau/fifo/nv40: no ctxsw for pre-nv44 mpeg engine
    drm: mali-dp: use div_u64 for expensive 64-bit divisions
    drm/i915: Confirm the request is still active before adding it to the await
    drm/i915: Avoid busy-spinning on VLV_GLTC_PW_STATUS mmio
    drm/i915/selftests: Allocate inode/file dynamically
    drm/i915: Fix system hang with EI UP masked on Haswell
    drm/i915: checking for NULL instead of IS_ERR() in mock selftests
    drm/i915: Perform link quality check unconditionally during long pulse
    drm/i915: Fix use after free in lpe_audio_platdev_destroy()
    drm/i915: Use the right mapping_gfp_mask for final shmem allocation
    drm/i915: Make legacy cursor updates more unsynced
    drm/i915: Apply a cond_resched() to the saturated signaler
    drm/i915: Park the signaler before sleeping
    drm: mali-dp: Check the mclk rate and allow up/down scaling
    drm: mali-dp: Enable image enhancement when scaling
    drm: mali-dp: Add plane upscaling support
    ...

    Linus Torvalds
     
  • …/device-mapper/linux-dm

    Pull device mapper updates from Mike Snitzer:

    - A major update for DM cache that reduces the latency for deciding
    whether blocks should migrate to/from the cache. The bio-prison-v2
    interface supports this improvement by enabling direct dispatch of
    work to workqueues rather than having to delay the actual work
    dispatch to the DM cache core. So the dm-cache policies are much more
    nimble by being able to drive IO as they see fit. One immediate
    benefit from the improved latency is a cache that should be much more
    adaptive to changing workloads.

    - Add a new DM integrity target that emulates a block device that has
    additional per-sector tags that can be used for storing integrity
    information.

    - Add a new authenticated encryption feature to the DM crypt target
    that builds on the capabilities provided by the DM integrity target.

    - Add MD interface for switching the raid4/5/6 journal mode and update
    the DM raid target to use it to enable aid4/5/6 journal write-back
    support.

    - Switch the DM verity target over to using the asynchronous hash
    crypto API (this helps work better with architectures that have
    access to off-CPU algorithm providers, which should reduce CPU
    utilization).

    - Various request-based DM and DM multipath fixes and improvements from
    Bart and Christoph.

    - A DM thinp target fix for a bio structure leak that occurs for each
    discard IFF discard passdown is enabled.

    - A fix for a possible deadlock in DM bufio and a fix to re-check the
    new buffer allocation watermark in the face of competing admin
    changes to the 'max_cache_size_bytes' tunable.

    - A couple DM core cleanups.

    * tag 'for-4.12/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (50 commits)
    dm bufio: check new buffer allocation watermark every 30 seconds
    dm bufio: avoid a possible ABBA deadlock
    dm mpath: make it easier to detect unintended I/O request flushes
    dm mpath: cleanup QUEUE_IF_NO_PATH bit manipulation by introducing assign_bit()
    dm mpath: micro-optimize the hot path relative to MPATHF_QUEUE_IF_NO_PATH
    dm: introduce enum dm_queue_mode to cleanup related code
    dm mpath: verify __pg_init_all_paths locking assumptions at runtime
    dm: verify suspend_locking assumptions at runtime
    dm block manager: remove an unused argument from dm_block_manager_create()
    dm rq: check blk_mq_register_dev() return value in dm_mq_init_request_queue()
    dm mpath: delay requeuing while path initialization is in progress
    dm mpath: avoid that path removal can trigger an infinite loop
    dm mpath: split and rename activate_path() to prepare for its expanded use
    dm ioctl: prevent stack leak in dm ioctl call
    dm integrity: use previously calculated log2 of sectors_per_block
    dm integrity: use hex2bin instead of open-coded variant
    dm crypt: replace custom implementation of hex2bin()
    dm crypt: remove obsolete references to per-CPU state
    dm verity: switch to using asynchronous hash crypto API
    dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues
    ...

    Linus Torvalds
     
  • Pull MD updates from Shaohua Li:

    - Add Partial Parity Log (ppl) feature found in Intel IMSM raid array
    by Artur Paszkiewicz. This feature is another way to close RAID5
    writehole. The Linux implementation is also available for normal
    RAID5 array if specific superblock bit is set.

    - A number of md-cluser fixes and enabling md-cluster array resize from
    Guoqing Jiang

    - A bunch of patches from Ming Lei and Neil Brown to rewrite MD bio
    handling related code. Now MD doesn't directly access bio bvec,
    bi_phys_segments and uses modern bio API for bio split.

    - Improve RAID5 IO pattern to improve performance for hard disk based
    RAID5/6 from me.

    - Several patches from Song Liu to speed up raid5-cache recovery and
    allow raid5 cache feature disabling in runtime.

    - Fix a performance regression in raid1 resync from Xiao Ni.

    - Other cleanup and fixes from various people.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md: (84 commits)
    md/raid10: skip spare disk as 'first' disk
    md/raid1: Use a new variable to count flighting sync requests
    md: clear WantReplacement once disk is removed
    md/raid1/10: remove unused queue
    md: handle read-only member devices better.
    md/raid10: wait up frozen array in handle_write_completed
    uapi: fix linux/raid/md_p.h userspace compilation error
    md-cluster: Fix a memleak in an error handling path
    md: support disabling of create-on-open semantics.
    md: allow creation of mdNNN arrays via md_mod/parameters/new_array
    raid5-ppl: use a single mempool for ppl_io_unit and header_page
    md/raid0: fix up bio splitting.
    md/linear: improve bio splitting.
    md/raid5: make chunk_aligned_read() split bios more cleanly.
    md/raid10: simplify handle_read_error()
    md/raid10: simplify the splitting of requests.
    md/raid1: factor out flush_bio_list()
    md/raid1: simplify handle_read_error().
    Revert "block: introduce bio_copy_data_partial"
    md/raid1: simplify alloc_behind_master_bio()
    ...

    Linus Torvalds
     

03 May, 2017

10 commits

  • Pull security subsystem updates from James Morris:
    "Highlights:

    IMA:
    - provide ">" and " of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (98 commits)
    tpm: Fix reference count to main device
    tpm_tis: convert to using locality callbacks
    tpm: fix handling of the TPM 2.0 event logs
    tpm_crb: remove a cruft constant
    keys: select CONFIG_CRYPTO when selecting DH / KDF
    apparmor: Make path_max parameter readonly
    apparmor: fix parameters so that the permission test is bypassed at boot
    apparmor: fix invalid reference to index variable of iterator line 836
    apparmor: use SHASH_DESC_ON_STACK
    security/apparmor/lsm.c: set debug messages
    apparmor: fix boolreturn.cocci warnings
    Smack: Use GFP_KERNEL for smk_netlbl_mls().
    smack: fix double free in smack_parse_opts_str()
    KEYS: add SP800-56A KDF support for DH
    KEYS: Keyring asymmetric key restrict method with chaining
    KEYS: Restrict asymmetric key linkage using a specific keychain
    KEYS: Add a lookup_restriction function for the asymmetric key type
    KEYS: Add KEYCTL_RESTRICT_KEYRING
    KEYS: Consistent ordering for __key_link_begin and restrict check
    KEYS: Add an optional lookup_restriction hook to key_type
    ...

    Linus Torvalds
     
  • Pull trivial tree updates from Jiri Kosina.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
    tty: fix comment for __tty_alloc_driver()
    init/main: properly align the multi-line comment
    init/main: Fix double "the" in comment
    Fix dead URLs to ftp.kernel.org
    drivers: Clean up duplicated email address
    treewide: Fix typo in xml/driver-api/basics.xml
    tools/testing/selftests/powerpc: remove redundant CFLAGS in Makefile: "-Wall -O2 -Wall" -> "-O2 -Wall"
    selftests/timers: Spelling s/privledges/privileges/
    HID: picoLCD: Spelling s/REPORT_WRTIE_MEMORY/REPORT_WRITE_MEMORY/
    net: phy: dp83848: Fix Typo
    UBI: Fix typos
    Documentation: ftrace.txt: Correct nice value of 120 priority
    net: fec: Fix typo in error msg and comment
    treewide: Fix typos in printk

    Linus Torvalds
     
  • Pull livepatch updates from Jiri Kosina:

    - a per-task consistency model is being added for architectures that
    support reliable stack dumping (extending this, currently rather
    trivial set, is currently in the works).

    This extends the nature of the types of patches that can be applied
    by live patching infrastructure. The code stems from the design
    proposal made [1] back in November 2014. It's a hybrid of SUSE's
    kGraft and RH's kpatch, combining advantages of both: it uses
    kGraft's per-task consistency and syscall barrier switching combined
    with kpatch's stack trace switching. There are also a number of
    fallback options which make it quite flexible.

    Most of the heavy lifting done by Josh Poimboeuf with help from
    Miroslav Benes and Petr Mladek

    [1] https://lkml.kernel.org/r/20141107140458.GA21774@suse.cz

    - module load time patch optimization from Zhou Chengming

    - a few assorted small fixes

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching:
    livepatch: add missing printk newlines
    livepatch: Cancel transition a safe way for immediate patches
    livepatch: Reduce the time of finding module symbols
    livepatch: make klp_mutex proper part of API
    livepatch: allow removal of a disabled patch
    livepatch: add /proc//patch_state
    livepatch: change to a per-task consistency model
    livepatch: store function sizes
    livepatch: use kstrtobool() in enabled_store()
    livepatch: move patching functions into patch.c
    livepatch: remove unnecessary object loaded check
    livepatch: separate enabled and patched states
    livepatch/s390: add TIF_PATCH_PENDING thread flag
    livepatch/s390: reorganize TIF thread flag bits
    livepatch/powerpc: add TIF_PATCH_PENDING thread flag
    livepatch/x86: add TIF_PATCH_PENDING thread flag
    livepatch: create temporary klp_update_patch_state() stub
    x86/entry: define _TIF_ALLWORK_MASK flags explicitly
    stacktrace/x86: add function for detecting reliable stack traces

    Linus Torvalds
     
  • Pull HID subsystem updates from Jiri Kosina:

    - The need for HID_QUIRK_NO_INIT_REPORTS per-device quirk has been
    growing dramatically during past years, so the time has come to
    switch over the default, and perform the pro-active reading only in
    cases where it's really needed (multitouch, wacom).

    The only place where this behavior is (in some form) preserved is
    hiddev so that we don't introduce userspace-visible change of
    behavior.

    From Benjamin Tissoires

    - HID++ support for power_supply / baterry reporting.

    From Benjamin Tissoires and Bastien Nocera

    - Vast improvements / rework of DS3 and DS4 in Sony driver.

    From Roderick Colenbrander

    - Improvment (in terms of getting closer to the Microsoft's
    interpretation of slightly ambiguous specification) of logical range
    interpretation in case null-state is set in the rdesc.

    From Valtteri Heikkilä and Tomasz Kramkowski

    - A lot of newly supported device IDs and small assorted fixes

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (71 commits)
    HID: usbhid: Add HID_QUIRK_NOGET for Aten CS-1758 KVM switch
    HID: asus: support backlight on USB keyboards
    HID: wacom: Move wacom_remote_irq and wacom_remote_status_irq
    HID: wacom: generic: sync pad events only for actual packets
    HID: sony: remove redundant check for -ve err
    HID: sony: Make sure to unregister sensors on failure
    HID: sony: Make DS4 bt poll interval adjustable
    HID: sony: Set proper bit flags on DS4 output report
    HID: sony: DS4 use brighter LED colors
    HID: sony: Improve navigation controller axis/button mapping
    HID: sony: Use DS3 MAC address as unique identifier on USB
    HID: logitech-hidpp: add a sysfs file to tell we support power_supply
    HID: logitech-hidpp: enable HID++ 1.0 battery reporting
    HID: logitech-hidpp: add support for battery status for the K750
    HID: logitech-hidpp: battery: provide CAPACITY_LEVEL
    HID: logitech-hidpp: rename battery level into capacity
    HID: logitech-hidpp: battery: provide ONLINE property
    HID: logitech-hidpp: notify battery on connect
    HID: logitech-hidpp: return an error if the queried feature is not present
    HID: logitech-hidpp: create the battery for all types of HID++ devices
    ...

    Linus Torvalds
     
  • Pull pin control updates from Linus Walleij:
    "This is the bulk of pin control changes for the v4.12 cycle.

    The extra week before the merge window actually resulted in some of
    the type of fixes that usually arrive after the merge window already
    starting to trickle in from eager developers using -next, I'm
    impressed.

    I have recruited a Samsung subsubsystem maintainer (Krzysztof) to deal
    with the onset of Samsung patches. It works great.

    Apart from that it is a boring round, just incremental updates and
    fixes all over the place, no serious core changes or anything exciting
    like that. The most pleasing to see is Julia Cartwrights work to audit
    the irqchip-providing drivers for realtime locking compliance. It's
    one of those "I should really get around to looking into that" things
    that have been on my TODO list since forever.

    Summary:

    Core changes:

    - add bi-directional and output-enable pin configurations to the
    generic bindings and generic pin controlling core.

    New drivers or subdrivers:

    - Armada 37xx SoC pin controller and GPIO support.

    - Axis ARTPEC-6 SoC pin controller support.

    - AllWinner A64 R_PIO controller support, and opening up the
    AllWinner sunxi driver for ARM64 use.

    - Rockchip RK3328 support.

    - Renesas R-Car H3 ES2.0 support.

    - STM32F469 support in the STM32 driver.

    - Aspeed G4 and G5 pin controller support.

    Improvements:

    - a whole slew of realtime improvements to drivers implementing
    irqchips: BCM, AMD, SiRF, sunxi, rockchip.

    - switch meson driver to get the GPIO ranges from the device tree.

    - input schmitt trigger support on the Rockchip driver.

    - enable the sunxi (AllWinner) driver to also be used on ARM64
    silicon.

    - name the Qualcomm QDF2xxx GPIO lines.

    - support GMMR GPIO regions on the Intel Cherryview. This fixes a
    serialization problem on these platforms.

    - pad retention support for the Samsung Exynos 5433.

    - handle suspend-to-ram in the AT91-pio4 driver.

    - pin configuration support in the Aspeed driver.

    Cleanups:

    - the final name of Rockchip RK1108 was RV1108 so rename the driver
    and variables to stay consistent"

    * tag 'pinctrl-v4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (80 commits)
    pinctrl: mediatek: Add missing pinctrl bindings for mt7623
    pinctrl: artpec6: Fix return value check in artpec6_pmx_probe()
    pinctrl: artpec6: Remove .owner field for driver
    pinctrl: tegra: xusb: Silence sparse warnings
    ARM: at91/at91-pinctrl documentation: fix spelling mistake: "contoller" -> "controller"
    pinctrl: make artpec6 explicitly non-modular
    pinctrl: aspeed: g5: Add pinconf support
    pinctrl: aspeed: g4: Add pinconf support
    pinctrl: aspeed: Add core pinconf support
    pinctrl: aspeed: Document pinconf in devicetree bindings
    pinctrl: Add st,stm32f469-pinctrl compatible to stm32-pinctrl
    pinctrl: stm32: Add STM32F469 MCU support
    Documentation: dt: Remove ngpios from stm32-pinctrl binding
    pinctrl: stm32: replace device_initcall() with arch_initcall()
    pinctrl: stm32: add possibility to use gpio-ranges to declare bank range
    pinctrl: armada-37xx: Add gpio support
    pinctrl: armada-37xx: Add pin controller support for Armada 37xx
    pinctrl: dt-bindings: Add documentation for Armada 37xx pin controllers
    pinctrl: core: Make pinctrl_init_controller() static
    pinctrl: generic: Add bi-directional and output-enable
    ...

    Linus Torvalds
     
  • Pull MMC updates from Ulf Hansson:
    "MMC core:
    - Continue to re-factor code to prepare for eMMC CMDQ and blkmq support
    - Introduce queue semantics to prepare for eMMC CMDQ and blkmq support
    - Add helper functions to manage temporary enable/disable of eMMC CMDQ
    - Improve wait-busy detection for SDIO

    MMC host:
    - cavium: Add driver to support Cavium controllers
    - cavium: Extend Cavium driver to support Octeon and ThunderX SOCs
    - bcm2835: Add new driver for Broadcom BCM2835 controller
    - sdhci-xenon: Add driver to support Marvell Xenon SDHCI controller
    - sdhci-tegra: Add support for the Tegra186 variant
    - sdhci-of-esdhc: Support for UHS-I SD cards
    - sdhci-of-esdhc: Support for eMMC HS200 cards
    - sdhci-cadence: Add eMMC HS400 enhanced strobe support
    - sdhci-esdhc-imx: Reset tuning circuit when needed
    - sdhci-pci: Modernize and clean-up some PM related code
    - sdhci-pci: Avoid re-tuning at runtime PM for some Intel devices
    - sdhci-pci|acpi: Use aggressive PM for some Intel BYT controllers
    - sdhci: Re-factoring and modernizations
    - sdhci: Optimize delay loops
    - sdhci: Improve register dump print format
    - sdhci: Add support for the Command Queue Engine
    - meson-gx: Various improvements and clean-ups
    - meson-gx: Add support for CMD23
    - meson-gx: Basic tuning support to avoid CRC errors
    - s3cmci: Enable probing via DT
    - mediatek: Improve tuning support for eMMC HS200 and HS400 mode
    - tmio: Improve DMA support
    - tmio: Use correct response for CMD12
    - dw_mmc: Minor improvements and clean-ups"

    * tag 'mmc-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (148 commits)
    mmc: sdhci-of-esdhc: limit SD clock for ls1012a/ls1046a
    mmc: sdhci-of-esdhc: poll ESDHC_CLOCK_STABLE bit with udelay
    mmc: sdhci-xenon: Fix default value of LOGIC_TIMING_ADJUST for eMMC5.0 PHY
    mmc: sdhci-xenon: Fix the work flow in xenon_remove().
    MIPS: Octeon: cavium_octeon_defconfig: Enable Octeon MMC
    mmc: sdhci-xenon: Remove redundant dev_err call in get_dt_pad_ctrl_data()
    mmc: cavium: Use module_pci_driver to simplify the code
    mmc: cavium: Add MMC support for Octeon SOCs.
    mmc: cavium: Fix detection of block or byte addressing.
    mmc: core: Export API to allow hosts to get the card address
    mmc: sdio: Fix sdio wait busy implement limitation
    mmc: sdhci-esdhc-imx: reset tuning circuit when power on mmc card
    clk: apn806: fix spelling mistake: "mising" -> "missing"
    mmc: sdhci-of-esdhc: add delay between tuning cycles
    mmc: sdhci: Control the delay between tuning commands
    mmc: sdhci-of-esdhc: add tuning support
    mmc: sdhci-of-esdhc: add support for signal voltage switch
    mmc: sdhci-of-esdhc: add peripheral clock support
    mmc: sdhci-pci: Allow for 3 bytes from Intel DSM
    mmc: cavium: Fix a shift wrapping bug
    ...

    Linus Torvalds
     
  • Pull networking updates from David Millar:
    "Here are some highlights from the 2065 networking commits that
    happened this development cycle:

    1) XDP support for IXGBE (John Fastabend) and thunderx (Sunil Kowuri)

    2) Add a generic XDP driver, so that anyone can test XDP even if they
    lack a networking device whose driver has explicit XDP support
    (me).

    3) Sparc64 now has an eBPF JIT too (me)

    4) Add a BPF program testing framework via BPF_PROG_TEST_RUN (Alexei
    Starovoitov)

    5) Make netfitler network namespace teardown less expensive (Florian
    Westphal)

    6) Add symmetric hashing support to nft_hash (Laura Garcia Liebana)

    7) Implement NAPI and GRO in netvsc driver (Stephen Hemminger)

    8) Support TC flower offload statistics in mlxsw (Arkadi Sharshevsky)

    9) Multiqueue support in stmmac driver (Joao Pinto)

    10) Remove TCP timewait recycling, it never really could possibly work
    well in the real world and timestamp randomization really zaps any
    hint of usability this feature had (Soheil Hassas Yeganeh)

    11) Support level3 vs level4 ECMP route hashing in ipv4 (Nikolay
    Aleksandrov)

    12) Add socket busy poll support to epoll (Sridhar Samudrala)

    13) Netlink extended ACK support (Johannes Berg, Pablo Neira Ayuso,
    and several others)

    14) IPSEC hw offload infrastructure (Steffen Klassert)"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (2065 commits)
    tipc: refactor function tipc_sk_recv_stream()
    tipc: refactor function tipc_sk_recvmsg()
    net: thunderx: Optimize page recycling for XDP
    net: thunderx: Support for XDP header adjustment
    net: thunderx: Add support for XDP_TX
    net: thunderx: Add support for XDP_DROP
    net: thunderx: Add basic XDP support
    net: thunderx: Cleanup receive buffer allocation
    net: thunderx: Optimize CQE_TX handling
    net: thunderx: Optimize RBDR descriptor handling
    net: thunderx: Support for page recycling
    ipx: call ipxitf_put() in ioctl error path
    net: sched: add helpers to handle extended actions
    qed*: Fix issues in the ptp filter config implementation.
    qede: Fix concurrency issue in PTP Tx path processing.
    stmmac: Add support for SIMATIC IOT2000 platform
    net: hns: fix ethtool_get_strings overflow in hns driver
    tcp: fix wraparound issue in tcp_lp
    bpf, arm64: fix jit branch offset related to ldimm64
    bpf, arm64: implement jiting of BPF_XADD
    ...

    Linus Torvalds
     
  • Pull crypto updates from Herbert Xu:
    "Here is the crypto update for 4.12:

    API:
    - Add batch registration for acomp/scomp
    - Change acomp testing to non-unique compressed result
    - Extend algorithm name limit to 128 bytes
    - Require setkey before accept(2) in algif_aead

    Algorithms:
    - Add support for deflate rfc1950 (zlib)

    Drivers:
    - Add accelerated crct10dif for powerpc
    - Add crc32 in stm32
    - Add sha384/sha512 in ccp
    - Add 3des/gcm(aes) for v5 devices in ccp
    - Add Queue Interface (QI) backend support in caam
    - Add new Exynos RNG driver
    - Add ThunderX ZIP driver
    - Add driver for hardware random generator on MT7623 SoC"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (101 commits)
    crypto: stm32 - Fix OF module alias information
    crypto: algif_aead - Require setkey before accept(2)
    crypto: scomp - add support for deflate rfc1950 (zlib)
    crypto: scomp - allow registration of multiple scomps
    crypto: ccp - Change ISR handler method for a v5 CCP
    crypto: ccp - Change ISR handler method for a v3 CCP
    crypto: crypto4xx - rename ce_ring_contol to ce_ring_control
    crypto: testmgr - Allow ecb(cipher_null) in FIPS mode
    Revert "crypto: arm64/sha - Add constant operand modifier to ASM_EXPORT"
    crypto: ccp - Disable interrupts early on unload
    crypto: ccp - Use only the relevant interrupt bits
    hwrng: mtk - Add driver for hardware random generator on MT7623 SoC
    dt-bindings: hwrng: Add Mediatek hardware random generator bindings
    crypto: crct10dif-vpmsum - Fix missing preempt_disable()
    crypto: testmgr - replace compression known answer test
    crypto: acomp - allow registration of multiple acomps
    hwrng: n2 - Use devm_kcalloc() in n2rng_probe()
    crypto: chcr - Fix error handling related to 'chcr_alloc_shash'
    padata: get_next is never NULL
    crypto: exynos - Add new Exynos RNG driver
    ...

    Linus Torvalds
     
  • Pull documentation update from Jonathan Corbet:
    "A reasonably busy cycle for documentation this time around. There is a
    new guide for user-space API documents, rather sparsely populated at
    the moment, but it's a start. Markus improved the infrastructure for
    converting diagrams. Mauro has converted much of the USB documentation
    over to RST. Plus the usual set of fixes, improvements, and tweaks.

    There's a bit more than the usual amount of reaching out of
    Documentation/ to fix comments elsewhere in the tree; I have acks for
    those where I could get them"

    * tag 'docs-4.12' of git://git.lwn.net/linux: (74 commits)
    docs: Fix a couple typos
    docs: Fix a spelling error in vfio-mediated-device.txt
    docs: Fix a spelling error in ioctl-number.txt
    MAINTAINERS: update file entry for HSI subsystem
    Documentation: allow installing man pages to a user defined directory
    Doc/PM: Sync with intel_powerclamp code behavior
    zr364xx.rst: usb/devices is now at /sys/kernel/debug/
    usb.rst: move documentation from proc_usb_info.txt to USB ReST book
    convert philips.txt to ReST and add to media docs
    docs-rst: usb: update old usbfs-related documentation
    arm: Documentation: update a path name
    docs: process/4.Coding.rst: Fix a couple of document refs
    docs-rst: fix usb cross-references
    usb: gadget.h: be consistent at kernel doc macros
    usb: composite.h: fix two warnings when building docs
    usb: get rid of some ReST doc build errors
    usb.rst: get rid of some Sphinx errors
    usb/URB.txt: convert to ReST and update it
    usb/persist.txt: convert to ReST and add to driver-api book
    usb/hotplug.txt: convert to ReST and add to driver-api book
    ...

    Linus Torvalds
     
  • Pull s390 updates from Martin Schwidefsky:

    - three merges for KVM/s390 with changes for vfio-ccw and cpacf. The
    patches are included in the KVM tree as well, let git sort it out.

    - add the new 'trng' random number generator

    - provide the secure key verification API for the pkey interface

    - introduce the z13 cpu counters to perf

    - add a new system call to set up the guarded storage facility

    - simplify TASK_SIZE and arch_get_unmapped_area

    - export the raw STSI data related to CPU topology to user space

    - ... and the usual churn of bug-fixes and cleanups.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (74 commits)
    s390/crypt: use the correct module alias for paes_s390.
    s390/cpacf: Introduce kma instruction
    s390/cpacf: query instructions use unique parameters for compatibility with KMA
    s390/trng: Introduce s390 TRNG device driver.
    s390/crypto: Provide s390 specific arch random functionality.
    s390/crypto: Add new subfunctions to the cpacf PRNO function.
    s390/crypto: Renaming PPNO to PRNO.
    s390/pageattr: avoid unnecessary page table splitting
    s390/mm: simplify arch_get_unmapped_area[_topdown]
    s390/mm: make TASK_SIZE independent from the number of page table levels
    s390/gs: add regset for the guarded storage broadcast control block
    s390/kvm: Add use_cmma field to mm_context_t
    s390/kvm: Add PGSTE manipulation functions
    vfio: ccw: improve error handling for vfio_ccw_mdev_remove
    vfio: ccw: remove unnecessary NULL checks of a pointer
    s390/spinlock: remove compare and delay instruction
    s390/spinlock: use atomic primitives for spinlocks
    s390/cpumf: simplify detection of guest samples
    s390/pci: remove forward declaration
    s390/pci: increase the PCI_NR_FUNCTIONS default
    ...

    Linus Torvalds
     

02 May, 2017

14 commits

  • Jiri Kosina
     
  • Jiri Kosina
     
  • …', 'for-4.12/hid-core-null-state-handling', 'for-4.12/hiddev', 'for-4.12/i2c-hid', 'for-4.12/innomedia', 'for-4.12/logitech-hidpp-battery-power-supply', 'for-4.12/multitouch', 'for-4.12/nti', 'for-4.12/upstream' and 'for-4.12/wacom' into for-linus

    Jiri Kosina
     
  • Pull x86 mm updates from Ingo Molnar:
    "The main x86 MM changes in this cycle were:

    - continued native kernel PCID support preparation patches to the TLB
    flushing code (Andy Lutomirski)

    - various fixes related to 32-bit compat syscall returning address
    over 4Gb in applications, launched from 64-bit binaries - motivated
    by C/R frameworks such as Virtuozzo. (Dmitry Safonov)

    - continued Intel 5-level paging enablement: in particular the
    conversion of x86 GUP to the generic GUP code. (Kirill A. Shutemov)

    - x86/mpx ABI corner case fixes/enhancements (Joerg Roedel)

    - ... plus misc updates, fixes and cleanups"

    * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (62 commits)
    mm, zone_device: Replace {get, put}_zone_device_page() with a single reference to fix pmem crash
    x86/mm: Fix flush_tlb_page() on Xen
    x86/mm: Make flush_tlb_mm_range() more predictable
    x86/mm: Remove flush_tlb() and flush_tlb_current_task()
    x86/vm86/32: Switch to flush_tlb_mm_range() in mark_screen_rdonly()
    x86/mm/64: Fix crash in remove_pagetable()
    Revert "x86/mm/gup: Switch GUP to the generic get_user_page_fast() implementation"
    x86/boot/e820: Remove a redundant self assignment
    x86/mm: Fix dump pagetables for 4 levels of page tables
    x86/mpx, selftests: Only check bounds-vs-shadow when we keep shadow
    x86/mpx: Correctly report do_mpx_bt_fault() failures to user-space
    Revert "x86/mm/numa: Remove numa_nodemask_from_meminfo()"
    x86/espfix: Add support for 5-level paging
    x86/kasan: Extend KASAN to support 5-level paging
    x86/mm: Add basic defines/helpers for CONFIG_X86_5LEVEL=y
    x86/paravirt: Add 5-level support to the paravirt code
    x86/mm: Define virtual memory map for 5-level paging
    x86/asm: Remove __VIRTUAL_MASK_SHIFT==47 assert
    x86/boot: Detect 5-level paging support
    x86/mm/numa: Remove numa_nodemask_from_meminfo()
    ...

    Linus Torvalds
     
  • ASoC: Updates for v4.12

    A quiet release for the core, but lots of new drivers this time around:

    - A new, generalized, API for hooking up jacks which makes it easier to
    write generic machine drivers for simple cases.
    - Continuing fixes for issues with the x86 CPU drivers.
    - New drivers for Cirrus CS35L35, DIO DIO2125, Everest ES7132,
    HiSilicon hi6210, Maxim MAX98927, MT2701 systems with WM8960, Nuvoton
    NAU8824, Odroid systems, ST STM32 SAI controllers and x86 systems with
    DA7213

    Takashi Iwai
     
  • Pull x86 debug updates from Ingo Molnar:
    "The biggest update is the addition of USB3 debug port based
    early-console.

    Greg was fine with the USB changes and with the routing of these
    patches:

    https://www.spinics.net/lists/linux-usb/msg155093.html"

    * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    usb/doc: Add document for USB3 debug port usage
    usb/serial: Add DBC debug device support to usb_debug
    x86/earlyprintk: Add support for earlyprintk via USB3 debug port
    usb/early: Add driver for xhci debug capability
    x86/timers: Add simple udelay calibration

    Linus Torvalds
     
  • Pull x86 cpu updates from Ingo Molnar:
    "The biggest changes are an extension of the Intel RDT code to extend
    it with Intel Memory Bandwidth Allocation CPU support: MBA allows
    bandwidth allocation between cores, while CBM (already upstream)
    allows CPU cache partitioning.

    There's also misc smaller fixes and updates"

    * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
    x86/intel_rdt: Return error for incorrect resource names in schemata
    x86/intel_rdt: Trim whitespace while parsing schemata input
    x86/intel_rdt: Fix padding when resource is enabled via mount
    x86/intel_rdt: Get rid of anon union
    x86/cpu: Keep model defines sorted by model number
    x86/intel_rdt/mba: Add schemata file support for MBA
    x86/intel_rdt: Make schemata file parsers resource specific
    x86/intel_rdt/mba: Add info directory files for Memory Bandwidth Allocation
    x86/intel_rdt: Make information files resource specific
    x86/intel_rdt/mba: Add primary support for Memory Bandwidth Allocation (MBA)
    x86/intel_rdt/mba: Memory bandwith allocation feature detect
    x86/intel_rdt: Add resource specific msr update function
    x86/intel_rdt: Move CBM specific data into a struct
    x86/intel_rdt: Cleanup namespace to support multiple resource types
    Documentation, x86: Intel Memory bandwidth allocation
    x86/intel_rdt: Organize code properly
    x86/intel_rdt: Init padding only if a device exists
    x86/intel_rdt: Add cpus_list rdtgroup file
    x86/intel_rdt: Cleanup kernel-doc
    x86/intel_rdt: Update schemata read to show data in tabular format
    ...

    Linus Torvalds
     
  • Pull x86 boot updates from Ingo Molnar:
    "The biggest changes in this cycle were:

    - reworking of the e820 code: separate in-kernel and boot-ABI data
    structures and apply a whole range of cleanups to the kernel side.

    No change in functionality.

    - enable KASLR by default: it's used by all major distros and it's
    out of the experimental stage as well.

    - ... misc fixes and cleanups"

    * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (63 commits)
    x86/KASLR: Fix kexec kernel boot crash when KASLR randomization fails
    x86/reboot: Turn off KVM when halting a CPU
    x86/boot: Fix BSS corruption/overwrite bug in early x86 kernel startup
    x86: Enable KASLR by default
    boot/param: Move next_arg() function to lib/cmdline.c for later reuse
    x86/boot: Fix Sparse warning by including required header file
    x86/boot/64: Rename start_cpu()
    x86/xen: Update e820 table handling to the new core x86 E820 code
    x86/boot: Fix pr_debug() API braindamage
    xen, x86/headers: Add dependency to
    x86/boot/e820: Simplify e820__update_table()
    x86/boot/e820: Separate the E820 ABI structures from the in-kernel structures
    x86/boot/e820: Fix and clean up e820_type switch() statements
    x86/boot/e820: Rename the remaining E820 APIs to the e820__*() prefix
    x86/boot/e820: Remove unnecessary #include's
    x86/boot/e820: Rename e820_mark_nosave_regions() to e820__register_nosave_regions()
    x86/boot/e820: Rename e820_reserve_resources*() to e820__reserve_resources*()
    x86/boot/e820: Use bool in query APIs
    x86/boot/e820: Document e820__reserve_setup_data()
    x86/boot/e820: Clean up __e820__update_table() et al
    ...

    Linus Torvalds
     
  • Pull RAS updates from Ingo Molnar:
    "The main changes in this cycle were:

    - add the 'Corrected Errors Collector' kernel feature which collect
    and monitor correctable errors statistics and will preemptively
    (soft-)offline physical pages that have a suspiciously high error
    count.

    - handle MCE errors during kexec() more gracefully

    - factor out and deprecate the /dev/mcelog driver

    - ... plus misc fixes and cleanpus"

    * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/mce: Check MCi_STATUS[MISCV] for usable addr on Intel only
    ACPI/APEI: Use setup_deferrable_timer()
    x86/mce: Update notifier priority check
    x86/mce: Enable PPIN for Knights Landing/Mill
    x86/mce: Do not register notifiers with invalid prio
    x86/mce: Factor out and deprecate the /dev/mcelog driver
    RAS: Add a Corrected Errors Collector
    x86/mce: Rename mce_log to mce_log_buffer
    x86/mce: Rename mce_log()'s argument
    x86/mce: Init some CPU features early
    x86/mce: Handle broadcasted MCE gracefully with kexec

    Linus Torvalds
     
  • Pull perf updates from Ingo Molnar:
    "The main changes in this cycle were:

    Kernel side changes:

    - Kprobes and uprobes changes:
    - Make their trampolines read-only while they are used
    - Make UPROBES_EVENTS default-y which is the distro practice
    - Apply misc fixes and robustization to probe point insertion.

    - add support for AMD IOMMU events

    - extend hw events on Intel Goldmont CPUs

    - ... plus misc fixes and updates.

    Tooling side changes:

    - support s390 jump instructions in perf annotate (Christian
    Borntraeger)

    - vendor hardware events updates (Andi Kleen)

    - add argument support for SDT events in powerpc (Ravi Bangoria)

    - beautify the statx syscall arguments in 'perf trace' (Arnaldo
    Carvalho de Melo)

    - handle inline functions in callchains (Jin Yao)

    - enable sorting by srcline as key (Milian Wolff)

    - add 'brstackinsn' field in 'perf script' to reuse the x86
    instruction decoder used in the Intel PT code to study hot paths to
    samples (Andi Kleen)

    - add PERF_RECORD_NAMESPACES so that the kernel can record
    information required to associate samples to namespaces, helping in
    container problem characterization. (Hari Bathini)

    - allow sorting by symbol_size in 'perf report' and 'perf top'
    (Charles Baylis)

    - in perf stat, make system wide (-a) the default option if no target
    was specified and one of following conditions is met:
    - no workload specified (current behaviour)
    - a workload is specified but all requested events are system wide
    ones, like uncore ones. (Jiri Olsa)

    - ... plus lots of other updates, enhancements, cleanups and fixes"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (235 commits)
    perf tools: Fix the code to strip command name
    tools arch x86: Sync cpufeatures.h
    tools arch: Sync arch/x86/lib/memcpy_64.S with the kernel
    tools: Update asm-generic/mman-common.h copy from the kernel
    perf tools: Use just forward declarations for struct thread where possible
    perf tools: Add the right header to obtain PERF_ALIGN()
    perf tools: Remove poll.h and wait.h from util.h
    perf tools: Remove string.h, unistd.h and sys/stat.h from util.h
    perf tools: Remove stale prototypes from builtin.h
    perf tools: Remove string.h from util.h
    perf tools: Remove sys/ioctl.h from util.h
    perf tools: Remove a few more needless includes from util.h
    perf tools: Include sys/param.h where needed
    perf callchain: Move callchain specific routines from util.[ch]
    perf tools: Add compress.h for the *_decompress_to_file() headers
    perf mem: Fix display of data source snoop indication
    perf debug: Move dump_stack() and sighandler_dump_stack() to debug.h
    perf kvm: Make function only used by 'perf kvm' static
    perf tools: Move timestamp routines from util.h to time-utils.h
    perf tools: Move units conversion/formatting routines to separate object
    ...

    Linus Torvalds
     
  • Pull scheduler updates from Ingo Molnar:
    "The main changes in this cycle were:

    - another round of rq-clock handling debugging, robustization and
    fixes

    - PELT accounting improvements

    - CPU hotplug related ->cpus_allowed affinity handling fixes all
    around the tree

    - ... plus misc fixes, cleanups and updates"

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (35 commits)
    sched/x86: Update reschedule warning text
    crypto: N2 - Replace racy task affinity logic
    cpufreq/sparc-us2e: Replace racy task affinity logic
    cpufreq/sparc-us3: Replace racy task affinity logic
    cpufreq/sh: Replace racy task affinity logic
    cpufreq/ia64: Replace racy task affinity logic
    ACPI/processor: Replace racy task affinity logic
    ACPI/processor: Fix error handling in __acpi_processor_start()
    sparc/sysfs: Replace racy task affinity logic
    powerpc/smp: Replace open coded task affinity logic
    ia64/sn/hwperf: Replace racy task affinity logic
    ia64/salinfo: Replace racy task affinity logic
    workqueue: Provide work_on_cpu_safe()
    ia64/topology: Remove cpus_allowed manipulation
    sched/fair: Move the PELT constants into a generated header
    sched/fair: Increase PELT accuracy for small tasks
    sched/fair: Fix comments
    sched/Documentation: Add 'sched-pelt' tool
    sched/fair: Fix corner case in __accumulate_sum()
    sched/core: Remove 'task' parameter and rename tsk_restore_flags() to current_restore_flags()
    ...

    Linus Torvalds
     
  • Pull timer updates from Thomas Gleixner:
    "The timer departement delivers:

    - more year 2038 rework

    - a massive rework of the arm achitected timer

    - preparatory patches to allow NTP correction of clock event devices
    to avoid early expiry

    - the usual pile of fixes and enhancements all over the place"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (91 commits)
    timer/sysclt: Restrict timer migration sysctl values to 0 and 1
    arm64/arch_timer: Mark errata handlers as __maybe_unused
    Clocksource/mips-gic: Remove redundant non devicetree init
    MIPS/Malta: Probe gic-timer via devicetree
    clocksource: Use GENMASK_ULL in definition of CLOCKSOURCE_MASK
    acpi/arm64: Add SBSA Generic Watchdog support in GTDT driver
    clocksource: arm_arch_timer: add GTDT support for memory-mapped timer
    acpi/arm64: Add memory-mapped timer support in GTDT driver
    clocksource: arm_arch_timer: simplify ACPI support code.
    acpi/arm64: Add GTDT table parse driver
    clocksource: arm_arch_timer: split MMIO timer probing.
    clocksource: arm_arch_timer: add structs to describe MMIO timer
    clocksource: arm_arch_timer: move arch_timer_needs_of_probing into DT init call
    clocksource: arm_arch_timer: refactor arch_timer_needs_probing
    clocksource: arm_arch_timer: split dt-only rate handling
    x86/uv/time: Set ->min_delta_ticks and ->max_delta_ticks
    unicore32/time: Set ->min_delta_ticks and ->max_delta_ticks
    um/time: Set ->min_delta_ticks and ->max_delta_ticks
    tile/time: Set ->min_delta_ticks and ->max_delta_ticks
    score/time: Set ->min_delta_ticks and ->max_delta_ticks
    ...

    Linus Torvalds
     
  • Pull irq updates from Thomas Gleixner:
    "Nothing exciting from the irq side for this merge window:

    - a new driver for a Mediatek SoC

    - ACPI support for ARM GICV3

    - support for shared nested interrupts

    - the usual pile of fixes and updates all over te place"

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (28 commits)
    irqchip/mbigen: Fix return value check in mbigen_device_probe()
    irqchip/mips-gic: Replace static map with dynamic
    irqchip/mips-gic: Remove device IRQ domain
    irqchip/mips-gic: Separate IPI reservation & usage tracking
    genirq: Use irqd_get_trigger_type to compare the trigger type for shared IRQs
    genirq: Use cpumask_available() for check of cpumask variable
    cpumask: Add helper cpumask_available()
    irqchip/irq-imx-gpcv2: Clear OF_POPULATED flag
    irqchip/atmel-aic5: Handle suspend to RAM
    irqchip: Add Mediatek mtk-cirq driver
    dt-bindings: mtk-cirq: Add binding document
    irqchip/gic-v3-its: Add IORT hook for platform MSI support
    irqchip/mbigen: Add ACPI support
    irqchip/mbigen: Introduce mbigen_of_create_domain()
    irqchip/mbigen: Drop module owner
    platform-msi: Make platform_msi_create_device_domain() ACPI aware
    irqchip/gicv3-its: platform-msi: Scan MADT to create platform msi domain
    irqchip/gicv3-its: platform-msi: Refactor its_pmsi_init() to prepare for ACPI
    irqchip/gicv3-its: platform-msi: Refactor its_pmsi_prepare()
    irqchip/gic-v3-its: Keep the include header files in alphabetic order
    ...

    Linus Torvalds
     
  • Pull AVR32 removal from Hans-Christian Noren Egtvedt:
    "This will remove support for AVR32 architecture from the kernel and
    clean away the most obvious architecture related parts. Removing dead
    code in drivers is the next step"

    Notes from previous discussion about this:
    "The AVR32 architecture is not keeping up with the development of the
    kernel, and since it shares so much of the drivers with Atmel ARM SoC,
    it is starting to hinder these drivers to develop swiftly.

    Also, all AVR32 AP7 SoC processors are end of lifed from Atmel (now
    Microchip).

    Finally, the GCC toolchain is stuck at version 4.2.x, and has not
    received any patches since the last release from Atmel;
    4.2.4-atmel.1.1.3.avr32linux.1.

    When building kernel v4.10, this toolchain is no longer able to
    properly link the network stack.

    Haavard and I have came to the conclusion that we feel keeping AVR32
    on life support offers more obstacles for Atmel ARMs, than it gives
    joy to AVR32 users. I also suspect there are very few AVR32 users left
    today, if anybody at all"

    That discussion was acked by Andy Shevchenko, Boris Brezillon, Nicolas
    Ferre, and Haavard Skinnemoen.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32:
    mm: remove AVR32 arch special handling in mm/Kconfig
    lib: remove check for AVR32 arch in test_user_copy
    lib: remove AVR32 entry in Kconfig.debug compile with frame pointers
    scripts: remove AVR32 support from checkstack.pl
    docs: remove all references to AVR32 architecture
    avr32: remove support for AVR32 architecture

    Linus Torvalds