18 May, 2019

1 commit

  • Pull KVM updates from Paolo Bonzini:
    "ARM:
    - support for SVE and Pointer Authentication in guests
    - PMU improvements

    POWER:
    - support for direct access to the POWER9 XIVE interrupt controller
    - memory and performance optimizations

    x86:
    - support for accessing memory not backed by struct page
    - fixes and refactoring

    Generic:
    - dirty page tracking improvements"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (155 commits)
    kvm: fix compilation on aarch64
    Revert "KVM: nVMX: Expose RDPMC-exiting only when guest supports PMU"
    kvm: x86: Fix L1TF mitigation for shadow MMU
    KVM: nVMX: Disable intercept for FS/GS base MSRs in vmcs02 when possible
    KVM: PPC: Book3S: Remove useless checks in 'release' method of KVM device
    KVM: PPC: Book3S HV: XIVE: Fix spelling mistake "acessing" -> "accessing"
    KVM: PPC: Book3S HV: Make sure to load LPID for radix VCPUs
    kvm: nVMX: Set nested_run_pending in vmx_set_nested_state after checks complete
    tests: kvm: Add tests for KVM_SET_NESTED_STATE
    KVM: nVMX: KVM_SET_NESTED_STATE - Tear down old EVMCS state before setting new state
    tests: kvm: Add tests for KVM_CAP_MAX_VCPUS and KVM_CAP_MAX_CPU_ID
    tests: kvm: Add tests to .gitignore
    KVM: Introduce KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2
    KVM: Fix kvm_clear_dirty_log_protect off-by-(minus-)one
    KVM: Fix the bitmap range to copy during clear dirty
    KVM: arm64: Fix ptrauth ID register masking logic
    KVM: x86: use direct accessors for RIP and RSP
    KVM: VMX: Use accessors for GPRs outside of dedicated caching logic
    KVM: x86: Omit caching logic for always-available GPRs
    kvm, x86: Properly check whether a pfn is an MMIO or not
    ...

    Linus Torvalds
     

17 May, 2019

7 commits

  • Pull Devicetree vendor prefix conversion from Rob Herring:
    "Conversion of vendor-prefixes.txt to json-schema"

    * tag 'devicetree-for-5.2-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
    dt-bindings: Convert vendor prefixes to json-schema

    Linus Torvalds
     
  • Pull misc AFS fixes from David Howells:
    "This fixes a set of miscellaneous issues in the afs filesystem,
    including:

    - leak of keys on file close.

    - broken error handling in xattr functions.

    - missing locking when updating VL server list.

    - volume location server DNS lookup whereby preloaded cells may not
    ever get a lookup and regular DNS lookups to maintain server lists
    consume power unnecessarily.

    - incorrect error propagation and handling in the fileserver
    iteration code causes operations to sometimes apparently succeed.

    - interruption of server record check/update side op during
    fileserver iteration causes uninterruptible main operations to fail
    unexpectedly.

    - callback promise expiry time miscalculation.

    - over invalidation of the callback promise on directories.

    - double locking on callback break waking up file locking waiters.

    - double increment of the vnode callback break counter.

    Note that it makes some changes outside of the afs code, including:

    - an extra parameter to dns_query() to allow the dns_resolver key
    just accessed to be immediately invalidated. AFS is caching the
    results itself, so the key can be discarded.

    - an interruptible version of wait_var_event().

    - an rxrpc function to allow the maximum lifespan to be set on a
    call.

    - a way for an rxrpc call to be marked as non-interruptible"

    * tag 'afs-fixes-20190516' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
    afs: Fix double inc of vnode->cb_break
    afs: Fix lock-wait/callback-break double locking
    afs: Don't invalidate callback if AFS_VNODE_DIR_VALID not set
    afs: Fix calculation of callback expiry time
    afs: Make dynamic root population wait uninterruptibly for proc_cells_lock
    afs: Make some RPC operations non-interruptible
    rxrpc: Allow the kernel to mark a call as being non-interruptible
    afs: Fix error propagation from server record check/update
    afs: Fix the maximum lifespan of VL and probe calls
    rxrpc: Provide kernel interface to set max lifespan on a call
    afs: Fix "kAFS: AFS vnode with undefined type 0"
    afs: Fix cell DNS lookup
    Add wait_var_event_interruptible()
    dns_resolver: Allow used keys to be invalidated
    afs: Fix afs_cell records to always have a VL server list record
    afs: Fix missing lock when replacing VL server list
    afs: Fix afs_xattr_get_yfs() to not try freeing an error value
    afs: Fix incorrect error handling in afs_xattr_get_acl()
    afs: Fix key leak in afs_release() and afs_evict_inode()

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

    Pull device mapper updates from Mike Snitzer:

    - Improve DM snapshot target's scalability by using finer grained
    locking. Requires some list_bl interface improvements.

    - Add ability for DM integrity to use a bitmap mode, that tracks
    regions where data and metadata are out of sync, instead of using a
    journal.

    - Improve DM thin provisioning target to not write metadata changes to
    disk if the thin-pool and associated thin devices are merely
    activated but not used. This avoids metadata corruption due to
    concurrent activation of thin devices across different OS instances
    (e.g. split brain scenarios, which ultimately would be avoided if
    proper device filters were used -- but not having proper filtering
    has proven a very common configuration mistake)

    - Fix missing call to path selector type->end_io in DM multipath. This
    fixes reported performance problems due to inaccurate path selector
    IO accounting causing an imbalance of IO (e.g. avoiding issuing IO to
    particular path due to it seemingly being heavily used).

    - Fix bug in DM cache metadata's loading of its discard bitset that
    could lead to all cache blocks being discarded if the very first
    cache block was discarded (thankfully in practice the first cache
    block is generally in use; be it FS superblock, partition table, disk
    label, etc).

    - Add testing-only DM dust target which simulates a device that has
    failing sectors and/or read failures.

    - Fix a DM init error path reference count hang that caused boot hangs
    if user supplied malformed input on kernel commandline.

    - Fix a couple issues with DM crypt target's logging being overly
    verbose or lacking context.

    - Various other small fixes to DM init, DM multipath, DM zoned, and DM
    crypt.

    * tag 'for-5.2/dm-changes-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (42 commits)
    dm: fix a couple brace coding style issues
    dm crypt: print device name in integrity error message
    dm crypt: move detailed message into debug level
    dm ioctl: fix hang in early create error condition
    dm integrity: whitespace, coding style and dead code cleanup
    dm integrity: implement synchronous mode for reboot handling
    dm integrity: handle machine reboot in bitmap mode
    dm integrity: add a bitmap mode
    dm integrity: introduce a function add_new_range_and_wait()
    dm integrity: allow large ranges to be described
    dm ingerity: pass size to dm_integrity_alloc_page_list()
    dm integrity: introduce rw_journal_sectors()
    dm integrity: update documentation
    dm integrity: don't report unused options
    dm integrity: don't check null pointer before kvfree and vfree
    dm integrity: correctly calculate the size of metadata area
    dm dust: Make dm_dust_init and dm_dust_exit static
    dm dust: remove redundant unsigned comparison to less than zero
    dm mpath: always free attached_handler_name in parse_path()
    dm init: fix max devices/targets checks
    ...

    Linus Torvalds
     
  • Convert the vendor prefix registry to a schema. This will enable checking
    that new vendor prefixes are added (in addition to the less than perfect
    checkpatch.pl check) and will also check against adding other prefixes
    which are not vendors.

    Converted vendor-prefixes.txt using the following sed script:

    sed -e 's/\([a-zA-Z0-9\-]*\)[[:space:]]*\([a-zA-Z0-9].*\)/ "^\1,\.\*\":\n description: \2/'

    Signed-off-by: Rob Herring

    Rob Herring
     
  • Pull media fixes from Mauro Carvalho Chehab:
    "Some fixes for some platform drivers (rockchip, atmel, omap, daVinci,
    tegra-cec, coda and rcar).

    Also includes a fix on one of the V4L2 uAPI doc, explaining a border
    case"

    * tag 'media/v5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
    media: rockchip/vpu: Fix/re-order probe-error/remove path
    media: rockchip/vpu: Initialize mdev->bus_info
    media: rockchip/vpu: Get vdev from the file arg in vidioc_querycap()
    media: rockchip/vpu: Add missing dont_use_autosuspend() calls
    media: rockchip/vpu: Do not request id 0 for our video device
    media: tegra-cec: fix cec_notifier_parse_hdmi_phandle return check
    media: davinci/vpbe: array underflow in vpbe_enum_outputs()
    media: field-order.rst: clarify FIELD_ANY and FIELD_NONE
    media: staging/imx: add media device to capture register
    media: rcar-csi2: Propagate the FLD signal for NTSC and PAL
    media: rcar-csi2: restart CSI-2 link if error is detected
    media: omap_vout: potential buffer overflow in vidioc_dqbuf()
    media: coda: fix unset field and fail on invalid field in buf_prepare
    media: atmel: atmel-isc: fix asd memory allocation
    media: atmel: atmel-isc: fix INIT_WORK misplacement
    media: atmel: atmel-isc: limit incoming pixels per frame

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar:
    "Misc fixes and updates:

    - a handful of MDS documentation/comment updates

    - a cleanup related to hweight interfaces

    - a SEV guest fix for large pages

    - a kprobes LTO fix

    - and a final cleanup commit for vDSO HPET support removal"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/speculation/mds: Improve CPU buffer clear documentation
    x86/speculation/mds: Revert CPU buffer clear on double fault exit
    x86/kconfig: Disable CONFIG_GENERIC_HWEIGHT and remove __HAVE_ARCH_SW_HWEIGHT
    x86/mm: Do not use set_{pud, pmd}_safe() when splitting a large page
    x86/kprobes: Make trampoline_handler() global and visible
    x86/vdso: Remove hpet_page from vDSO

    Linus Torvalds
     
  • Pull ARM SoC-related driver updates from Olof Johansson:
    "Various driver updates for platforms and a couple of the small driver
    subsystems we merge through our tree:

    Among the larger pieces:

    - Power management improvements for TI am335x and am437x (RTC
    suspend/wake)

    - Misc new additions for Amlogic (socinfo updates)

    - ZynqMP FPGA manager

    - Nvidia improvements for reset/powergate handling

    - PMIC wrapper for Mediatek MT8516

    - Misc fixes/improvements for ARM SCMI, TEE, NXP i.MX SCU drivers"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (57 commits)
    soc: aspeed: fix Kconfig
    soc: add aspeed folder and misc drivers
    spi: zynqmp: Fix build break
    soc: imx: Add generic i.MX8 SoC driver
    MAINTAINERS: Update email for Qualcomm SoC maintainer
    memory: tegra: Fix a typos for "fdcdwr2" mc client
    Revert "ARM: tegra: Restore memory arbitration on resume from LP1 on Tegra30+"
    memory: tegra: Replace readl-writel with mc_readl-mc_writel
    memory: tegra: Fix integer overflow on tick value calculation
    memory: tegra: Fix missed registers values latching
    ARM: tegra: cpuidle: Handle tick broadcasting within cpuidle core on Tegra20/30
    optee: allow to work without static shared memory
    soc/tegra: pmc: Move powergate initialisation to probe
    soc/tegra: pmc: Remove reset sysfs entries on error
    soc/tegra: pmc: Fix reset sources and levels
    soc: amlogic: meson-gx-pwrc-vpu: Add support for G12A
    soc: amlogic: meson-gx-pwrc-vpu: Fix power on/off register bitmask
    fpga manager: Adding FPGA Manager support for Xilinx zynqmp
    dt-bindings: fpga: Add bindings for ZynqMP fpga driver
    firmware: xilinx: Add fpga API's
    ...

    Linus Torvalds
     

16 May, 2019

13 commits

  • Pull ARM Device-tree updates from Olof Johansson:
    "Besides new bindings and additional descriptions of hardware blocks
    for various SoCs and boards, the main new contents here is:

    SoCs:
    - Intel Agilex (SoCFPGA)
    - NXP i.MX8MM (Quad Cortex-A53 with media/graphics focus)

    New boards:
    - Allwinner:
    + RerVision H3-DVK (H3)
    + Oceanic 5205 5inMFD (H6)
    + Beelink GS2 (H6)
    + Orange Pi 3 (H6)
    - Rockchip:
    + Orange Pi RK3399
    + Nanopi NEO4
    + Veyron-Mighty Chromebook variant
    - Amlogic:
    + SEI Robotics SEI510
    - ST Micro:
    + stm32mp157a discovery1
    + stm32mp157c discovery2
    - NXP:
    + Eckelmann ci4x10 (i.MX6DL)
    + i.MX8MM EVK (i.MX8MM)
    + ZII i.MX7 RPU2 (i.MX7)
    + ZII SPB4 (VF610)
    + Zii Ultra (i.MX8M)
    + TQ TQMa7S (i.MX7Solo)
    + TQ TQMa7D (i.MX7Dual)
    + Kobo Aura (i.MX50)
    + Menlosystems M53 (i.MX53)j
    - Nvidia:
    + Jetson Nano (Tegra T210)"

    * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (593 commits)
    arm64: dts: bitmain: Add UART pinctrl support for Sophon Edge
    arm64: dts: bitmain: Add pinctrl support for BM1880 SoC
    arm64: dts: bitmain: Add GPIO Line names for Sophon Edge board
    arm64: dts: bitmain: Add GPIO support for BM1880 SoC
    ARM: dts: gemini: Indent DIR-685 partition table
    dt-bindings: hwmon (pwm-fan) Remove dead "cooling-*-state" properties
    ARM: dts: qcom-apq8064: Set 'cxo_board' as ref clock of the DSI PHY
    arm64: dts: msm8998: thermal: Restrict thermal zone name length to under 20
    arm64: dts: msm8998: thermal: Fix number of supported sensors
    arm64: dts: msm8998-mtp: thermal: Remove skin and battery thermal zones
    arm64: dts: exynos: Move fixed-clocks out of soc
    arm64: dts: exynos: Move pmu and timer nodes out of soc
    ARM: dts: s5pv210: Fix camera clock provider on Goni board
    ARM: dts: exynos: Properly override node to use MDMA0 on Universal C210
    ARM: dts: exynos: Move fixed-clocks out of soc on Exynos3250
    ARM: dts: exynos: Remove unneeded address/size cells from fixed-clock on Exynos3250
    ARM: dts: exynos: Move pmu and timer nodes out of soc
    arm64: dts: rockchip: fix IO domain voltage setting of APIO5 on rockpro64
    arm64: dts: db820c: Add sound card support
    arm64: dts: apq8096-db820c: Add HDMI display support
    ...

    Linus Torvalds
     
  • Pull ARM SoC platform updates from Olof Johansson:
    "SoC updates, mostly refactorings and cleanups of old legacy platforms.

    Major themes this release:

    - Conversion of ixp4xx to a modern platform (drivers, DT, bindings)

    - Moving some of the ep93xx headers around to get it closer to
    multiplatform enabled.

    - Cleanups of Davinci

    This also contains a few patches that were queued up as fixes before
    5.1 but I didn't get sent in before release"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (123 commits)
    ARM: debug-ll: add default address for digicolor
    ARM: u300: regulator: add MODULE_LICENSE()
    ARM: ep93xx: move private headers out of mach/*
    ARM: ep93xx: move pinctrl interfaces into include/linux/soc
    ARM: ep93xx: keypad: stop using mach/platform.h
    ARM: ep93xx: move network platform data to separate header
    ARM: stm32: add AMBA support for stm32 family
    MAINTAINERS: update arch/arm/mach-davinci
    ARM: rockchip: add missing of_node_put in rockchip_smp_prepare_pmu
    ARM: dts: Add queue manager and NPE to the IXP4xx DTSI
    soc: ixp4xx: qmgr: Add DT probe code
    soc: ixp4xx: qmgr: Add DT bindings for IXP4xx qmgr
    soc: ixp4xx: npe: Add DT probe code
    soc: ixp4xx: Add DT bindings for IXP4xx NPE
    soc: ixp4xx: qmgr: Pass resources
    soc: ixp4xx: Remove unused functions
    soc: ixp4xx: Uninline several functions
    soc: ixp4xx: npe: Pass addresses as resources
    ARM: ixp4xx: Turn the QMGR into a platform device
    ARM: ixp4xx: Turn the NPE into a platform device
    ...

    Linus Torvalds
     
  • Allow kernel services using AF_RXRPC to indicate that a call should be
    non-interruptible. This allows kafs to make things like lock-extension and
    writeback data storage calls non-interruptible.

    If this is set, signals will be ignored for operations on that call where
    possible - such as waiting to get a call channel on an rxrpc connection.

    It doesn't prevent UDP sendmsg from being interrupted, but that will be
    handled by packet retransmission.

    rxrpc_kernel_recv_data() isn't affected by this since that never waits,
    preferring instead to return -EAGAIN and leave the waiting to the caller.

    Userspace initiated calls can't be set to be uninterruptible at this time.

    Signed-off-by: David Howells

    David Howells
     
  • Pull thermal soc updates from Eduardo Valentin:

    - thermal core has a new devm_* API for registering cooling devices. I
    took the entire series, that is why you see changes on drivers/hwmon
    in this pull (Guenter Roeck)

    - rockchip thermal driver gains support to PX30 SoC (Elaine Zhang)

    - the generic-adc thermal driver now considers the lookup table DT
    property as optional (Jean-Francois Dagenais)

    - Refactoring of tsens thermal driver (Amit Kucheria)

    - Cleanups on cpu cooling driver (Daniel Lezcano)

    - broadcom thermal driver dropped support to ACPI (Srinath Mannam)

    - tegra thermal driver gains support to OC hw throttle and GPU throtle
    (Wei Ni)

    - Fixes in several thermal drivers.

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal: (59 commits)
    hwmon: (pwm-fan) Use devm_thermal_of_cooling_device_register
    hwmon: (npcm750-pwm-fan) Use devm_thermal_of_cooling_device_register
    hwmon: (mlxreg-fan) Use devm_thermal_of_cooling_device_register
    hwmon: (gpio-fan) Use devm_thermal_of_cooling_device_register
    hwmon: (aspeed-pwm-tacho) Use devm_thermal_of_cooling_device_register
    thermal: rcar_gen3_thermal: Fix to show correct trip points number
    thermal: rcar_thermal: update calculation formula for R-Car Gen3 SoCs
    thermal: cpu_cooling: Actually trace CPU load in thermal_power_cpu_get_power
    thermal: rockchip: Support the PX30 SoC in thermal driver
    dt-bindings: rockchip-thermal: Support the PX30 SoC compatible
    thermal: rockchip: fix up the tsadc pinctrl setting error
    thermal: broadcom: Remove ACPI support
    thermal: Fix build error of missing devm_ioremap_resource on UM
    thermal/drivers/cpu_cooling: Remove pointless field
    thermal/drivers/cpu_cooling: Add Software Package Data Exchange (SPDX)
    thermal/drivers/cpu_cooling: Fixup the header and copyright
    thermal/drivers/cpu_cooling: Remove pointless test in power2state()
    thermal: rcar_gen3_thermal: disable interrupt in .remove
    thermal: rcar_gen3_thermal: fix interrupt type
    thermal: Introduce devm_thermal_of_cooling_device_register
    ...

    Linus Torvalds
     
  • Provide an interface to set max lifespan on a call from inside of the
    kernel without having to call kernel_sendmsg().

    Signed-off-by: David Howells

    David Howells
     
  • On x86_64, all returns to usermode go through
    prepare_exit_to_usermode(), with the sole exception of do_nmi().
    This even includes machine checks -- this was added several years
    ago to support MCE recovery. Update the documentation.

    Signed-off-by: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Frederic Weisbecker
    Cc: Greg Kroah-Hartman
    Cc: Jon Masters
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: stable@vger.kernel.org
    Fixes: 04dcbdb80578 ("x86/speculation/mds: Clear CPU buffers on exit to user")
    Link: http://lkml.kernel.org/r/999fa9e126ba6a48e9d214d2f18dbde5c62ac55c.1557865329.git.luto@kernel.org
    Signed-off-by: Ingo Molnar

    Andy Lutomirski
     
  • The double fault ESPFIX path doesn't return to user mode at all --
    it returns back to the kernel by simulating a #GP fault.
    prepare_exit_to_usermode() will run on the way out of
    general_protection before running user code.

    Signed-off-by: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Frederic Weisbecker
    Cc: Greg Kroah-Hartman
    Cc: Jon Masters
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: stable@vger.kernel.org
    Fixes: 04dcbdb80578 ("x86/speculation/mds: Clear CPU buffers on exit to user")
    Link: http://lkml.kernel.org/r/ac97612445c0a44ee10374f6ea79c222fe22a5c4.1557865329.git.luto@kernel.org
    Signed-off-by: Ingo Molnar

    Andy Lutomirski
     
  • Merge in a few pending fixes from pre-5.1 that didn't get sent in:

    MAINTAINERS: update arch/arm/mach-davinci
    ARM: dts: ls1021: Fix SGMII PCS link remaining down after PHY disconnect
    ARM: dts: imx6q-logicpd: Reduce inrush current on USBH1
    ARM: dts: imx6q-logicpd: Reduce inrush current on start
    ARM: dts: imx: Fix the AR803X phy-mode
    ARM: dts: sun8i: a33: Reintroduce default pinctrl muxing
    arm64: dts: allwinner: a64: Rename hpvcc-supply to cpvdd-supply
    ARM: sunxi: fix a leaked reference by adding missing of_node_put
    ARM: sunxi: fix a leaked reference by adding missing of_node_put

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • Pull power supply and reset updates from Sebastian Reichel:
    "Core:
    - Add over-current health state
    - Add standard, adaptive and custom charge types
    - Add new properties for start/end charge threshold

    New Drivers / Hardware:
    - UCS1002 Programmable USB Port Power Controller
    - Ingenic JZ47xx Battery Fuel Gauge
    - AXP20x USB Power: Add AXP813 support
    - AT91 poweroff: Add SAM9X60 support
    - OLPC battery: Add XO-1.5 and XO-1.75 support

    Misc Changes:
    - syscon-reboot: support mask property
    - AXP288 fuel gauge: Blacklist ACEPC T8/T11. Looks like some vendor
    thought it's a good idea to build a desktop system with a fuel
    gauge, that slowly "discharges"...
    - cpcap-battery: Fix calculation errors
    - misc fixes"

    * tag 'for-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (54 commits)
    power: supply: olpc_battery: force the le/be casts
    power: supply: ucs1002: Fix build error without CONFIG_REGULATOR
    power: supply: ucs1002: Fix wrong return value checking
    power: supply: Add driver for Microchip UCS1002
    dt-bindings: power: supply: Add bindings for Microchip UCS1002
    power: supply: core: Add POWER_SUPPLY_HEALTH_OVERCURRENT constant
    power: supply: core: fix clang -Wunsequenced
    power: supply: core: Add missing documentation for CHARGE_CONTROL_* properties
    power: supply: core: Add CHARGE_CONTROL_{START_THRESHOLD,END_THRESHOLD} properties
    power: supply: core: Add Standard, Adaptive, and Custom charge types
    power: supply: axp288_fuel_gauge: Add ACEPC T8 and T11 mini PCs to the blacklist
    power: supply: bq27xxx_battery: Notify also about status changes
    power: supply: olpc_battery: Have the framework register sysfs files for us
    power: supply: olpc_battery: Add OLPC XO 1.75 support
    power: supply: olpc_battery: Avoid using platform_info
    power: supply: olpc_battery: Use devm_power_supply_register()
    power: supply: olpc_battery: Move priv data to a struct
    power: supply: olpc_battery: Use DT to get battery version
    x86/platform/olpc: Use a correct version when making up a battery node
    x86/platform/olpc: Trivial code move in DT fixup
    ...

    Linus Torvalds
     
  • Pull xen updates from Juergen Gross:

    - some minor cleanups

    - two small corrections for Xen on ARM

    - two fixes for Xen PVH guest support

    - a patch for a new command line option to tune virtual timer handling

    * tag 'for-linus-5.2b-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/arm: Use p2m entry with lock protection
    xen/arm: Free p2m entry if fail to add it to RB tree
    xen/pvh: correctly setup the PV EFI interface for dom0
    xen/pvh: set xen_domain_type to HVM in xen_pvh_init
    xenbus: drop useless LIST_HEAD in xenbus_write_watch() and xenbus_file_write()
    xen-netfront: mark expected switch fall-through
    xen: xen-pciback: fix warning Using plain integer as NULL pointer
    x86/xen: Add "xen_timer_slop" command line option

    Linus Torvalds
     
  • Pull tracing updates from Steven Rostedt:
    "The major changes in this tracing update includes:

    - Removal of non-DYNAMIC_FTRACE from 32bit x86

    - Removal of mcount support from x86

    - Emulating a call from int3 on x86_64, fixes live kernel patching

    - Consolidated Tracing Error logs file

    Minor updates:

    - Removal of klp_check_compiler_support()

    - kdb ftrace dumping output changes

    - Accessing and creating ftrace instances from inside the kernel

    - Clean up of #define if macro

    - Introduction of TRACE_EVENT_NOP() to disable trace events based on
    config options

    And other minor fixes and clean ups"

    * tag 'trace-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (44 commits)
    x86: Hide the int3_emulate_call/jmp functions from UML
    livepatch: Remove klp_check_compiler_support()
    ftrace/x86: Remove mcount support
    ftrace/x86_32: Remove support for non DYNAMIC_FTRACE
    tracing: Simplify "if" macro code
    tracing: Fix documentation about disabling options using trace_options
    tracing: Replace kzalloc with kcalloc
    tracing: Fix partial reading of trace event's id file
    tracing: Allow RCU to run between postponed startup tests
    tracing: Fix white space issues in parse_pred() function
    tracing: Eliminate const char[] auto variables
    ring-buffer: Fix mispelling of Calculate
    tracing: probeevent: Fix to make the type of $comm string
    tracing: probeevent: Do not accumulate on ret variable
    tracing: uprobes: Re-enable $comm support for uprobe events
    ftrace/x86_64: Emulate call function while updating in breakpoint handler
    x86_64: Allow breakpoints to emulate call instructions
    x86_64: Add gap to int3 to allow for call emulation
    tracing: kdb: Allow ftdump to skip all but the last few entries
    tracing: Add trace_total_entries() / trace_total_entries_cpu()
    ...

    Linus Torvalds
     
  • KVM/arm updates for 5.2

    - guest SVE support
    - guest Pointer Authentication support
    - Better discrimination of perf counters between host and guests

    Conflicts:
    include/uapi/linux/kvm.h

    Paolo Bonzini
     
  • …paulus/powerpc into HEAD

    PPC KVM update for 5.2

    * Support for guests to access the new POWER9 XIVE interrupt controller
    hardware directly, reducing interrupt latency and overhead for guests.

    * In-kernel implementation of the H_PAGE_INIT hypercall.

    * Reduce memory usage of sparsely-populated IOMMU tables.

    * Several bug fixes.

    Second PPC KVM update for 5.2

    * Fix a bug, fix a spelling mistake, remove some useless code.

    Paolo Bonzini
     

15 May, 2019

19 commits

  • Pull more ACPI updates from Rafael Wysocki:
    "These fix two regressions introduced during the 5.0 cycle, in ACPICA
    and in device PM, cause the values returned by _ADR to be stored in 64
    bits and fix two ACPI documentation issues.

    Specifics:

    - Update the ACPICA code in the kernel to upstream revision 20190509
    including one regression fix:
    * Prevent excessive ACPI debug messages from being printed by
    moving the ACPI_DEBUG_DEFAULT definition to the right place
    (Erik Schmauss).

    - Set the enable_for_wake bits for wakeup GPEs during suspend to idle
    to allow acpi_enable_all_wakeup_gpes() to enable them as
    aproppriate and make wakeup devices sighaling events through ACPI
    GPEs work with suspend-to-idle again (Rajat Jain).

    - Use 64 bits to store the return values of _ADR which are assumed to
    be 64-bit by some bus specs and may contain nonzero bits in the
    upper 32 bits part for some devices (Pierre-Louis Bossart).

    - Fix two minor issues with the ACPI documentation (Sakari Ailus)"

    * tag 'acpi-5.2-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI: PM: Set enable_for_wake for wakeup GPEs during suspend-to-idle
    Documentation: ACPI: Direct references are allowed to devices only
    Documentation: ACPI: Use tabs for graph ASL indentation
    ACPICA: Update version to 20190509
    ACPICA: Linux: move ACPI_DEBUG_DEFAULT flag out of ifndef
    ACPI: bus: change _ADR representation to 64 bits

    Linus Torvalds
     
  • The maximum number of unique System V IPC identifiers was limited to
    32k. That limit should be big enough for most use cases.

    However, there are some users out there requesting for more, especially
    those that are migrating from Solaris which uses 24 bits for unique
    identifiers. To satisfy the need of those users, a new boot time kernel
    option "ipcmni_extend" is added to extend the IPCMNI value to 16M. This
    is a 512X increase which should be big enough for users out there that
    need a large number of unique IPC identifier.

    The use of this new option will change the pattern of the IPC
    identifiers returned by functions like shmget(2). An application that
    depends on such pattern may not work properly. So it should only be
    used if the users really need more than 32k of unique IPC numbers.

    This new option does have the side effect of reducing the maximum number
    of unique sequence numbers from 64k down to 128. So it is a trade-off.

    The computation of a new IPC id is not done in the performance critical
    path. So a little bit of additional overhead shouldn't have any real
    performance impact.

    Link: http://lkml.kernel.org/r/20190329204930.21620-1-longman@redhat.com
    Signed-off-by: Waiman Long
    Acked-by: Manfred Spraul
    Cc: Al Viro
    Cc: Davidlohr Bueso
    Cc: "Eric W . Biederman"
    Cc: Jonathan Corbet
    Cc: Kees Cook
    Cc: "Luis R. Rodriguez"
    Cc: Matthew Wilcox
    Cc: Takashi Iwai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Waiman Long
     
  • This patch implements the device tree binding changes required for the
    PPS ECHO functionality for pps-gpio, that sysfs claims is available
    already.

    It adds two DT properties for configuring the PPS ECHO functionality.

    This patch is provided separated from the rest of the patch per
    Documentation/devicetree/bindings/submitting-patches.txt.

    This patch was originally written by Lukas Senger as part of a masters
    thesis project and modified for inclusion into the linux kernel by Tom
    Burkart.

    Link: http://lkml.kernel.org/r/20190324043305.6627-3-tom@aussec.com
    Signed-off-by: Tom Burkart
    Signed-off-by: Lukas Senger
    Acked-by: Rodolfo Giometti
    Reviewed-by: Rob Herring
    Cc: Philipp Zabel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tom Burkart
     
  • Allow specifying reboot_mode for panic only. This is needed on systems
    where ramoops is used to store panic logs, and user wants to use warm
    reset to preserve those, while still having cold reset on normal
    reboots.

    Link: http://lkml.kernel.org/r/20190322004735.27702-1-aaro.koskinen@iki.fi
    Signed-off-by: Aaro Koskinen
    Reviewed-by: Kees Cook
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Aaro Koskinen
     
  • Document some things of note to gcov users:
    1. GCC gcov and Clang llvm-cov tools are not compatible.
    2. The use of GCC vs Clang is transparent at build-time.

    Also adjust the documentation to account for the removal of config symbol
    CONFIG_GCOV_FORMAT_AUTODETECT by commit 6a61b70b43c9 ("gcov: remove
    CONFIG_GCOV_FORMAT_AUTODETECT").

    Link: http://lkml.kernel.org/r/20190318025411.98014-4-trong@android.com
    Signed-off-by: Tri Vo
    Reviewed-by: Peter Oberparleiter
    Cc: Daniel Mentz
    Cc: Greg Hackmann
    Cc: Nick Desaulniers
    Cc: Petri Gynther
    Cc: Prasad Sodagudi
    Cc: Trilok Soni
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tri Vo
     
  • Add a description of the "ignore" pseudo mount option that can be used
    to provide a generic indicator to applications that the mount entry
    should be ignored when displaying mount information.

    Link: http://lkml.kernel.org/r/155287084617.12593.812733161112154904.stgit@pluto.themaw.net
    Signed-off-by: Ian Kent
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ian Kent
     
  • Describe AUTOFS_EXP_FORCED in addition to AUTOFS_EXP_IMMEDIATE in the
    description of the AUTOFS_DEV_IOCTL_EXPIRE_CMD ioctl.

    Link: http://lkml.kernel.org/r/155287084078.12593.15000931045413195778.stgit@pluto.themaw.net
    Signed-off-by: Ian Kent
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ian Kent
     
  • Update the description of AUTOFS_EXP_LEAVES to cover its possible future
    use with amd format mount maps.

    Link: http://lkml.kernel.org/r/155287083538.12593.18163159677020718048.stgit@pluto.themaw.net
    Signed-off-by: Ian Kent
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ian Kent
     
  • A "strictexpire" mount option has been added to the autofs file system.

    It is meant to be used in cases where a GUI continually accesses or an
    application frquently scans an automount directory tree causing an
    accumulation of otherwise unused mounts.

    Link: http://lkml.kernel.org/r/155287083000.12593.2722713092537666885.stgit@pluto.themaw.net
    Signed-off-by: Ian Kent
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ian Kent
     
  • Alter a few word usages in Documentation/filesystems/autofs.txt and
    correct some spelling mistakes.

    Link: http://lkml.kernel.org/r/155287082394.12593.6506084453911662450.stgit@pluto.themaw.net
    Signed-off-by: Ian Kent
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ian Kent
     
  • For better maintenance and expansion move the mathematic helpers to the
    separate folder.

    No functional change intended.

    Note, the int_sqrt() is not used as a part of lib, so, moved to regular
    obj.

    Link: http://lkml.kernel.org/r/20190323172531.80025-1-andriy.shevchenko@linux.intel.com
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Mauro Carvalho Chehab
    Cc: Randy Dunlap
    Cc: Thierry Reding
    Cc: Lee Jones
    Cc: Daniel Thompson
    Cc: Ray Jui
    [mchehab+samsung@kernel.org: fix broken doc references for div64.c and gcd.c]
    Link: http://lkml.kernel.org/r/734f49bae5d4052b3c25691dfefad59bea2e5843.1555580999.git.mchehab+samsung@kernel.org
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Shevchenko
     
  • Patch series "mm: Randomize free memory", v10.

    This patch (of 3):

    Randomization of the page allocator improves the average utilization of
    a direct-mapped memory-side-cache. Memory side caching is a platform
    capability that Linux has been previously exposed to in HPC
    (high-performance computing) environments on specialty platforms. In
    that instance it was a smaller pool of high-bandwidth-memory relative to
    higher-capacity / lower-bandwidth DRAM. Now, this capability is going
    to be found on general purpose server platforms where DRAM is a cache in
    front of higher latency persistent memory [1].

    Robert offered an explanation of the state of the art of Linux
    interactions with memory-side-caches [2], and I copy it here:

    It's been a problem in the HPC space:
    http://www.nersc.gov/research-and-development/knl-cache-mode-performance-coe/

    A kernel module called zonesort is available to try to help:
    https://software.intel.com/en-us/articles/xeon-phi-software

    and this abandoned patch series proposed that for the kernel:
    https://lkml.kernel.org/r/20170823100205.17311-1-lukasz.daniluk@intel.com

    Dan's patch series doesn't attempt to ensure buffers won't conflict, but
    also reduces the chance that the buffers will. This will make performance
    more consistent, albeit slower than "optimal" (which is near impossible
    to attain in a general-purpose kernel). That's better than forcing
    users to deploy remedies like:
    "To eliminate this gradual degradation, we have added a Stream
    measurement to the Node Health Check that follows each job;
    nodes are rebooted whenever their measured memory bandwidth
    falls below 300 GB/s."

    A replacement for zonesort was merged upstream in commit cc9aec03e58f
    ("x86/numa_emulation: Introduce uniform split capability"). With this
    numa_emulation capability, memory can be split into cache sized
    ("near-memory" sized) numa nodes. A bind operation to such a node, and
    disabling workloads on other nodes, enables full cache performance.
    However, once the workload exceeds the cache size then cache conflicts
    are unavoidable. While HPC environments might be able to tolerate
    time-scheduling of cache sized workloads, for general purpose server
    platforms, the oversubscribed cache case will be the common case.

    The worst case scenario is that a server system owner benchmarks a
    workload at boot with an un-contended cache only to see that performance
    degrade over time, even below the average cache performance due to
    excessive conflicts. Randomization clips the peaks and fills in the
    valleys of cache utilization to yield steady average performance.

    Here are some performance impact details of the patches:

    1/ An Intel internal synthetic memory bandwidth measurement tool, saw a
    3X speedup in a contrived case that tries to force cache conflicts.
    The contrived cased used the numa_emulation capability to force an
    instance of the benchmark to be run in two of the near-memory sized
    numa nodes. If both instances were placed on the same emulated they
    would fit and cause zero conflicts. While on separate emulated nodes
    without randomization they underutilized the cache and conflicted
    unnecessarily due to the in-order allocation per node.

    2/ A well known Java server application benchmark was run with a heap
    size that exceeded cache size by 3X. The cache conflict rate was 8%
    for the first run and degraded to 21% after page allocator aging. With
    randomization enabled the rate levelled out at 11%.

    3/ A MongoDB workload did not observe measurable difference in
    cache-conflict rates, but the overall throughput dropped by 7% with
    randomization in one case.

    4/ Mel Gorman ran his suite of performance workloads with randomization
    enabled on platforms without a memory-side-cache and saw a mix of some
    improvements and some losses [3].

    While there is potentially significant improvement for applications that
    depend on low latency access across a wide working-set, the performance
    may be negligible to negative for other workloads. For this reason the
    shuffle capability defaults to off unless a direct-mapped
    memory-side-cache is detected. Even then, the page_alloc.shuffle=0
    parameter can be specified to disable the randomization on those systems.

    Outside of memory-side-cache utilization concerns there is potentially
    security benefit from randomization. Some data exfiltration and
    return-oriented-programming attacks rely on the ability to infer the
    location of sensitive data objects. The kernel page allocator, especially
    early in system boot, has predictable first-in-first out behavior for
    physical pages. Pages are freed in physical address order when first
    onlined.

    Quoting Kees:
    "While we already have a base-address randomization
    (CONFIG_RANDOMIZE_MEMORY), attacks against the same hardware and
    memory layouts would certainly be using the predictability of
    allocation ordering (i.e. for attacks where the base address isn't
    important: only the relative positions between allocated memory).
    This is common in lots of heap-style attacks. They try to gain
    control over ordering by spraying allocations, etc.

    I'd really like to see this because it gives us something similar
    to CONFIG_SLAB_FREELIST_RANDOM but for the page allocator."

    While SLAB_FREELIST_RANDOM reduces the predictability of some local slab
    caches it leaves vast bulk of memory to be predictably in order allocated.
    However, it should be noted, the concrete security benefits are hard to
    quantify, and no known CVE is mitigated by this randomization.

    Introduce shuffle_free_memory(), and its helper shuffle_zone(), to perform
    a Fisher-Yates shuffle of the page allocator 'free_area' lists when they
    are initially populated with free memory at boot and at hotplug time. Do
    this based on either the presence of a page_alloc.shuffle=Y command line
    parameter, or autodetection of a memory-side-cache (to be added in a
    follow-on patch).

    The shuffling is done in terms of CONFIG_SHUFFLE_PAGE_ORDER sized free
    pages where the default CONFIG_SHUFFLE_PAGE_ORDER is MAX_ORDER-1 i.e. 10,
    4MB this trades off randomization granularity for time spent shuffling.
    MAX_ORDER-1 was chosen to be minimally invasive to the page allocator
    while still showing memory-side cache behavior improvements, and the
    expectation that the security implications of finer granularity
    randomization is mitigated by CONFIG_SLAB_FREELIST_RANDOM. The
    performance impact of the shuffling appears to be in the noise compared to
    other memory initialization work.

    This initial randomization can be undone over time so a follow-on patch is
    introduced to inject entropy on page free decisions. It is reasonable to
    ask if the page free entropy is sufficient, but it is not enough due to
    the in-order initial freeing of pages. At the start of that process
    putting page1 in front or behind page0 still keeps them close together,
    page2 is still near page1 and has a high chance of being adjacent. As
    more pages are added ordering diversity improves, but there is still high
    page locality for the low address pages and this leads to no significant
    impact to the cache conflict rate.

    [1]: https://itpeernetwork.intel.com/intel-optane-dc-persistent-memory-operating-modes/
    [2]: https://lkml.kernel.org/r/AT5PR8401MB1169D656C8B5E121752FC0F8AB120@AT5PR8401MB1169.NAMPRD84.PROD.OUTLOOK.COM
    [3]: https://lkml.org/lkml/2018/10/12/309

    [dan.j.williams@intel.com: fix shuffle enable]
    Link: http://lkml.kernel.org/r/154943713038.3858443.4125180191382062871.stgit@dwillia2-desk3.amr.corp.intel.com
    [cai@lca.pw: fix SHUFFLE_PAGE_ALLOCATOR help texts]
    Link: http://lkml.kernel.org/r/20190425201300.75650-1-cai@lca.pw
    Link: http://lkml.kernel.org/r/154899811738.3165233.12325692939590944259.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams
    Signed-off-by: Qian Cai
    Reviewed-by: Kees Cook
    Acked-by: Michal Hocko
    Cc: Dave Hansen
    Cc: Keith Busch
    Cc: Robert Elliott
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Williams
     
  • Psi monitor aims to provide a low-latency short-term pressure detection
    mechanism configurable by users. It allows users to monitor psi metrics
    growth and trigger events whenever a metric raises above user-defined
    threshold within user-defined time window.

    Time window and threshold are both expressed in usecs. Multiple psi
    resources with different thresholds and window sizes can be monitored
    concurrently.

    Psi monitors activate when system enters stall state for the monitored
    psi metric and deactivate upon exit from the stall state. While system
    is in the stall state psi signal growth is monitored at a rate of 10
    times per tracking window. Min window size is 500ms, therefore the min
    monitoring interval is 50ms. Max window size is 10s with monitoring
    interval of 1s.

    When activated psi monitor stays active for at least the duration of one
    tracking window to avoid repeated activations/deactivations when psi
    signal is bouncing.

    Notifications to the users are rate-limited to one per tracking window.

    Link: http://lkml.kernel.org/r/20190319235619.260832-8-surenb@google.com
    Signed-off-by: Suren Baghdasaryan
    Signed-off-by: Johannes Weiner
    Cc: Dennis Zhou
    Cc: Ingo Molnar
    Cc: Jens Axboe
    Cc: Li Zefan
    Cc: Peter Zijlstra
    Cc: Tejun Heo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Suren Baghdasaryan
     
  • Pull backlight updates from Lee Jones:
    "Fix-ups:
    - Remove unused BACKLIGHT_LCD_SUPPORT symbol
    - Remove unused BACKLIGHT_CLASS_DEVICE dependencies
    - Add DT support to lm3630a_bl

    Bug Fixes:
    - Fix error path issues in lm3630a_bl"

    * tag 'backlight-next-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
    backlight: lm3630a: Add firmware node support
    dt-bindings: backlight: Add lm3630a bindings
    backlight: lm3630a: Return 0 on success in update_status functions
    video: lcd: Remove useless BACKLIGHT_CLASS_DEVICE dependencies
    video: backlight: Remove useless BACKLIGHT_LCD_SUPPORT kernel symbol

    Linus Torvalds
     
  • Pull MFD updates from Lee Jones:
    "Core Framework:
    - Document (kerneldoc) core mfd_add_devices() API

    New Drivers:
    - Altera SOCFPGA System Manager
    - Maxim MAX77650/77651 PMIC
    - Maxim MAX77663 PMIC
    - ST Multi-Function eXpander (STMFX)

    New Device Support:
    - LEDs support in Intel Cherry Trail Whiskey Cove PMIC
    - RTC support in SAMSUNG Electronics S2MPA01 PMIC
    - SAM9X60 support in Atmel HLCDC (High-end LCD Controller)
    - USB X-Powers AXP 8xx PMICs
    - Integrated Sensor Hub (ISH) in ChromeOS EC
    - USB PD Logger in ChromeOS EC
    - AXP223 in X-Powers AXP series PMICs
    - Power Supply in X-Powers AXP 803 PMICs
    - Comet Lake in Intel Low Power Subsystem
    - Fingerprint MCU in ChromeOS EC
    - Touchpad MCU in ChromeOS EC
    - Move TI LM3532 support to LED

    New Functionality:
    - max77650, max77620: Add/extend DT support
    - max77620 power-off
    - syscon clocking
    - croc_ec host sleep event

    Fix-ups:
    - Trivial; Formatting, spelling, etc; Kconfig, sec-core, ab8500-debugfs
    - Remove unused functionality; rk808, da9063-*
    - SPDX conversion; da9063-*, atmel-*,
    - Adapt/add new register definitions; cs47l35-tables, cs47l90-tables, imx6q-iomuxc-gpr
    - Fix-up DT bindings; ti-lmu, cirrus,lochnagar
    - Simply obtaining driver data; ssbi, t7l66xb, tc6387xb, tc6393xb

    Bug Fixes:
    - Fix incorrect defined values; max77620, da9063
    - Fix device initialisation; twl6040
    - Reset device on init; intel-lpss
    - Fix build warnings when !OF; sun6i-prcm
    - Register OF match tables; tps65912-spi
    - Fix DMI matching; intel_quark_i2c_gpio"

    * tag 'mfd-next-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (65 commits)
    mfd: Use dev_get_drvdata() directly
    mfd: cros_ec: Instantiate properly CrOS Touchpad MCU device
    mfd: cros_ec: Instantiate properly CrOS FP MCU device
    mfd: cros_ec: Update the EC feature codes
    mfd: intel-lpss: Add Intel Comet Lake PCI IDs
    mfd: lochnagar: Add links to binding docs for sound and hwmon
    mfd: ab8500-debugfs: Fix a typo ("deubgfs")
    mfd: imx6sx: Add MQS register definition for iomuxc gpr
    dt-bindings: mfd: LMU: Fix lm3632 dt binding example
    mfd: intel_quark_i2c_gpio: Adjust IOT2000 matching
    mfd: da9063: Fix OTP control register names to match datasheets for DA9063/63L
    mfd: tps65912-spi: Add missing of table registration
    mfd: axp20x: Add USB power supply mfd cell to AXP803
    mfd: sun6i-prcm: Fix build warning for non-OF configurations
    mfd: intel-lpss: Set the device in reset state when init
    platform/chrome: Add support for v1 of host sleep event
    mfd: cros_ec: Add host_sleep_event_v1 command
    mfd: cros_ec: Instantiate the CrOS USB PD logger driver
    mfd: cs47l90: Make DAC_AEC_CONTROL_2 readable
    mfd: cs47l35: Make DAC_AEC_CONTROL_2 readable
    ...

    Linus Torvalds
     
  • Pull PCI updates from Bjorn Helgaas:
    "Enumeration changes:

    - Add _HPX Type 3 settings support, which gives firmware more
    influence over device configuration (Alexandru Gagniuc)

    - Support fixed bus numbers from bridge Enhanced Allocation
    capabilities (Subbaraya Sundeep)

    - Add "external-facing" DT property to identify cases where we
    require IOMMU protection against untrusted devices (Jean-Philippe
    Brucker)

    - Enable PCIe services for host controller drivers that use managed
    host bridge alloc (Jean-Philippe Brucker)

    - Log PCIe port service messages with pci_dev, not the pcie_device
    (Frederick Lawler)

    - Convert pciehp from pciehp_debug module parameter to generic
    dynamic debug (Frederick Lawler)

    Peer-to-peer DMA:

    - Add whitelist of Root Complexes that support peer-to-peer DMA
    between Root Ports (Christian König)

    Native controller drivers:

    - Add PCI host bridge DMA ranges for bridges that can't DMA
    everywhere, e.g., iProc (Srinath Mannam)

    - Add Amazon Annapurna Labs PCIe host controller driver (Jonathan
    Chocron)

    - Fix Tegra MSI target allocation so DMA doesn't generate unwanted
    MSIs (Vidya Sagar)

    - Fix of_node reference leaks (Wen Yang)

    - Fix Hyper-V module unload & device removal issues (Dexuan Cui)

    - Cleanup R-Car driver (Marek Vasut)

    - Cleanup Keystone driver (Kishon Vijay Abraham I)

    - Cleanup i.MX6 driver (Andrey Smirnov)

    Significant bug fixes:

    - Reset Lenovo ThinkPad P50 GPU so nouveau works after reboot (Lyude
    Paul)

    - Fix Switchtec firmware update performance issue (Wesley Sheng)

    - Work around Pericom switch link retraining erratum (Stefan Mätje)"

    * tag 'pci-v5.2-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (141 commits)
    MAINTAINERS: Add Karthikeyan Mitran and Hou Zhiqiang for Mobiveil PCI
    PCI: pciehp: Remove pointless MY_NAME definition
    PCI: pciehp: Remove pointless PCIE_MODULE_NAME definition
    PCI: pciehp: Remove unused dbg/err/info/warn() wrappers
    PCI: pciehp: Log messages with pci_dev, not pcie_device
    PCI: pciehp: Replace pciehp_debug module param with dyndbg
    PCI: pciehp: Remove pciehp_debug uses
    PCI/AER: Log messages with pci_dev, not pcie_device
    PCI/DPC: Log messages with pci_dev, not pcie_device
    PCI/PME: Replace dev_printk(KERN_DEBUG) with dev_info()
    PCI/AER: Replace dev_printk(KERN_DEBUG) with dev_info()
    PCI: Replace dev_printk(KERN_DEBUG) with dev_info(), etc
    PCI: Replace printk(KERN_INFO) with pr_info(), etc
    PCI: Use dev_printk() when possible
    PCI: Cleanup setup-bus.c comments and whitespace
    PCI: imx6: Allow asynchronous probing
    PCI: dwc: Save root bus for driver remove hooks
    PCI: dwc: Use devm_pci_alloc_host_bridge() to simplify code
    PCI: dwc: Free MSI in dw_pcie_host_init() error path
    PCI: dwc: Free MSI IRQ page in dw_pcie_free_msi()
    ...

    Linus Torvalds
     
  • Merge misc updates from Andrew Morton:

    - a few misc things and hotfixes

    - ocfs2

    - almost all of MM

    * emailed patches from Andrew Morton : (139 commits)
    kernel/memremap.c: remove the unused device_private_entry_fault() export
    mm: delete find_get_entries_tag
    mm/huge_memory.c: make __thp_get_unmapped_area static
    mm/mprotect.c: fix compilation warning because of unused 'mm' variable
    mm/page-writeback: introduce tracepoint for wait_on_page_writeback()
    mm/vmscan: simplify trace_reclaim_flags and trace_shrink_flags
    mm/Kconfig: update "Memory Model" help text
    mm/vmscan.c: don't disable irq again when count pgrefill for memcg
    mm: memblock: make keeping memblock memory opt-in rather than opt-out
    hugetlbfs: always use address space in inode for resv_map pointer
    mm/z3fold.c: support page migration
    mm/z3fold.c: add structure for buddy handles
    mm/z3fold.c: improve compression by extending search
    mm/z3fold.c: introduce helper functions
    mm/page_alloc.c: remove unnecessary parameter in rmqueue_pcplist
    mm/hmm: add ARCH_HAS_HMM_MIRROR ARCH_HAS_HMM_DEVICE Kconfig
    mm/vmscan.c: simplify shrink_inactive_list()
    fs/sync.c: sync_file_range(2) may use WB_SYNC_ALL writeback
    xen/privcmd-buf.c: convert to use vm_map_pages_zero()
    xen/gntdev.c: convert to use vm_map_pages()
    ...

    Linus Torvalds
     
  • The HMM mirror API can be use in two fashions. The first one where the
    HMM user coalesce multiple page faults into one request and set flags per
    pfns for of those faults. The second one where the HMM user want to
    pre-fault a range with specific flags. For the latter one it is a waste
    to have the user pre-fill the pfn arrays with a default flags value.

    This patch adds a default flags value allowing user to set them for a
    range without having to pre-fill the pfn array.

    Link: http://lkml.kernel.org/r/20190403193318.16478-8-jglisse@redhat.com
    Signed-off-by: Jérôme Glisse
    Reviewed-by: Ralph Campbell
    Cc: John Hubbard
    Cc: Dan Williams
    Cc: Arnd Bergmann
    Cc: Balbir Singh
    Cc: Dan Carpenter
    Cc: Ira Weiny
    Cc: Matthew Wilcox
    Cc: Souptick Joarder
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jérôme Glisse
     
  • A common use case for HMM mirror is user trying to mirror a range and
    before they could program the hardware it get invalidated by some core mm
    event. Instead of having user re-try right away to mirror the range
    provide a completion mechanism for them to wait for any active
    invalidation affecting the range.

    This also changes how hmm_range_snapshot() and hmm_range_fault() works by
    not relying on vma so that we can drop the mmap_sem when waiting and
    lookup the vma again on retry.

    Link: http://lkml.kernel.org/r/20190403193318.16478-7-jglisse@redhat.com
    Signed-off-by: Jérôme Glisse
    Reviewed-by: Ralph Campbell
    Cc: John Hubbard
    Cc: Dan Williams
    Cc: Dan Carpenter
    Cc: Matthew Wilcox
    Cc: Arnd Bergmann
    Cc: Balbir Singh
    Cc: Ira Weiny
    Cc: Souptick Joarder
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jérôme Glisse