1. 16 Nov, 2018 1 commit
  2. 03 Nov, 2018 1 commit
    • Martin Kelly's avatar
      iio:st_magn: Fix enable device after trigger · fe5192ac
      Martin Kelly authored
      Currently, we enable the device before we enable the device trigger. At
      high frequencies, this can cause interrupts that don't yet have a poll
      function associated with them and are thus treated as spurious. At high
      frequencies with level interrupts, this can even cause an interrupt storm
      of repeated spurious interrupts (~100,000 on my Beagleboard with the
      LSM9DS1 magnetometer). If these repeat too much, the interrupt will get
      disabled and the device will stop functioning.
      
      To prevent these problems, enable the device prior to enabling the device
      trigger, and disable the divec prior to disabling the trigger. This means
      there's no window of time during which the device creates interrupts but we
      have no trigger to answer them.
      
      Fixes: 90efe055 ("iio: st_sensors: harden interrupt handling")
      Signed-off-by: default avatarMartin Kelly <martin@martingkelly.com>
      Tested-by: default avatarDenis Ciocca <denis.ciocca@st.com>
      Cc: <Stable@vger.kernel.org>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      fe5192ac
  3. 30 Oct, 2018 13 commits
    • Linus Torvalds's avatar
      Merge tag 'nfsd-4.20' of git://linux-nfs.org/~bfields/linux · 310c7585
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "Olga added support for the NFSv4.2 asynchronous copy protocol. We
        already supported COPY, by copying a limited amount of data and then
        returning a short result, letting the client resend. The asynchronous
        protocol should offer better performance at the expense of some
        complexity.
      
        The other highlight is Trond's work to convert the duplicate reply
        cache to a red-black tree, and to move it and some other server caches
        to RCU. (Previously these have meant taking global spinlocks on every
        RPC)
      
        Otherwise, some RDMA work and miscellaneous bugfixes"
      
      * tag 'nfsd-4.20' of git://linux-nfs.org/~bfields/linux: (30 commits)
        lockd: fix access beyond unterminated strings in prints
        nfsd: Fix an Oops in free_session()
        nfsd: correctly decrement odstate refcount in error path
        svcrdma: Increase the default connection credit limit
        svcrdma: Remove try_module_get from backchannel
        svcrdma: Remove ->release_rqst call in bc reply handler
        svcrdma: Reduce max_send_sges
        nfsd: fix fall-through annotations
        knfsd: Improve lookup performance in the duplicate reply cache using an rbtree
        knfsd: Further simplify the cache lookup
        knfsd: Simplify NFS duplicate replay cache
        knfsd: Remove dead code from nfsd_cache_lookup
        SUNRPC: Simplify TCP receive code
        SUNRPC: Replace the cache_detail->hash_lock with a regular spinlock
        SUNRPC: Remove non-RCU protected lookup
        NFS: Fix up a typo in nfs_dns_ent_put
        NFS: Lockless DNS lookups
        knfsd: Lockless lookup of NFSv4 identities.
        SUNRPC: Lockless server RPCSEC_GSS context lookup
        knfsd: Allow lockless lookups of the exports
        ...
      310c7585
    • Linus Torvalds's avatar
      Merge tag 'cramfs_fixes' of git://git.linaro.org/people/nicolas.pitre/linux · 9b190ecc
      Linus Torvalds authored
      Pull cramfs fixes from Nicolas Pitre:
       "Make the Cramfs code more robust against filesystem corruptions, plus
        trivial indentation fixes"
      
      * tag 'cramfs_fixes' of git://git.linaro.org/people/nicolas.pitre/linux:
        Cramfs: trivial whitespace fixes
        Cramfs: fix abad comparison when wrap-arounds occur
      9b190ecc
    • Nicolas Pitre's avatar
      Cramfs: trivial whitespace fixes · 56ce68bc
      Nicolas Pitre authored
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      56ce68bc
    • Nicolas Pitre's avatar
      Cramfs: fix abad comparison when wrap-arounds occur · 672ca9dd
      Nicolas Pitre authored
      It is possible for corrupted filesystem images to produce very large
      block offsets that may wrap when a length is added, and wrongly pass
      the buffer size test.
      Reported-by: default avatarAnatoly Trosinenko <anatoly.trosinenko@gmail.com>
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      Cc: stable@vger.kernel.org
      672ca9dd
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 343a9f35
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "The biggest change here is the updates to kprobes
      
        Back in January I posted patches to create function based events.
        These were the events that you suggested I make to allow developers to
        easily create events in code where no trace event exists. After
        posting those changes for review, it was suggested that we implement
        this instead with kprobes.
      
        The problem with kprobes is that the interface is too complex and
        needs to be simplified. Masami Hiramatsu posted patches in March and
        I've been playing with them a bit. There's been a bit of clean up in
        the kprobe code that was inspired by the function based event patches,
        and a couple of enhancements to the kprobe event interface.
      
         - If the arch supports it (we added support for x86), you can place a
           kprobe event at the start of a function and use $arg1, $arg2, etc
           to reference the arguments of a function. (Before you needed to
           know what register or where on the stack the argument was).
      
         - The second is a way to see array of events. For example, if you
           reference a mac address, you can add:
      
      	echo 'p:mac ip_rcv perm_addr=+574($arg2):x8[6]' > kprobe_events
      
           And this will produce:
      
      	mac: (ip_rcv+0x0/0x140) perm_addr={0x52,0x54,0x0,0xc0,0x76,0xec}
      
        Other changes include
      
         - Exporting trace_dump_stack to modules
      
         - Have the stack tracer trace the entire stack (stop trying to remove
           tracing itself, as we keep removing too much).
      
         - Added support for SDT in uprobes"
      
      [ SDT - "Statically Defined Tracing" are userspace markers for tracing.
        Let's not use random TLA's in explanations unless they are fairly
        well-established as generic (at least for kernel people) - Linus ]
      
      * tag 'trace-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (24 commits)
        tracing: Have stack tracer trace full stack
        tracing: Export trace_dump_stack to modules
        tracing: probeevent: Fix uninitialized used of offset in parse args
        tracing/kprobes: Allow kprobe-events to record module symbol
        tracing/kprobes: Check the probe on unloaded module correctly
        tracing/uprobes: Fix to return -EFAULT if copy_from_user failed
        tracing: probeevent: Add $argN for accessing function args
        x86: ptrace: Add function argument access API
        tracing: probeevent: Add array type support
        tracing: probeevent: Add symbol type
        tracing: probeevent: Unify fetch_insn processing common part
        tracing: probeevent: Append traceprobe_ for exported function
        tracing: probeevent: Return consumed bytes of dynamic area
        tracing: probeevent: Unify fetch type tables
        tracing: probeevent: Introduce new argument fetching code
        tracing: probeevent: Remove NOKPROBE_SYMBOL from print functions
        tracing: probeevent: Cleanup argument field definition
        tracing: probeevent: Cleanup print argument functions
        trace_uprobe: support reference counter in fd-based uprobe
        perf probe: Support SDT markers having reference counter (semaphore)
        ...
      343a9f35
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.19-rc8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · f4267b36
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
       "Masami had a couple more fixes to the synthetic events. One was a
        proper error return value, and the other is for the self tests"
      
      * tag 'trace-v4.19-rc8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        selftests/ftrace: Fix synthetic event test to delete event correctly
        tracing: Return -ENOENT if there is no target synthetic event
      f4267b36
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.20a-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 5b4c0d87
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
       "Only several small fixes and cleanups this time"
      
      * tag 'for-linus-4.20a-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: drop writing error messages to xenstore
        xen/pvh: don't try to unplug emulated devices
        add myself as reviewer for Xen support in Linux
        xen: remove redundant 'default n' from Kconfig
        xen/balloon: Support xend-based toolstack
        xen/pvh: increase early stack size
        xen: make xen_qlock_wait() nestable
        xen: fix race in xen_qlock_wait()
        xen/balloon: Grammar s/Is it/It is/
        xen: Make XEN_BACKEND selectable by DomU
      5b4c0d87
    • Linus Torvalds's avatar
      Merge tag 'acpi-4.20-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c2101d01
      Linus Torvalds authored
      Pull more ACPI updates from Rafael Wysocki:
       "Rework the handling of the P-unit semaphore on Intel Baytrail and
        Cherrytrail systems to avoid race conditions and excessive overhead
        related to it (Hans de Goede)"
      
      * tag 'acpi-4.20-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / PMIC: xpower: Add depends on IOSF_MBI to Kconfig entry
        i2c: designware: Cleanup bus lock handling
        ACPI / PMIC: xpower: Block P-Unit I2C access during read-modify-write
        x86: baytrail/cherrytrail: Rework and move P-Unit PMIC bus semaphore code
      c2101d01
    • Linus Torvalds's avatar
      Merge tag 'pm-4.20-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6ef74676
      Linus Torvalds authored
      Pull more power management updates from Rafael Wysocki:
       "These remove a questionable heuristic from the menu cpuidle governor,
        fix a recent build regression in the intel_pstate driver, clean up ARM
        big-Little support in cpufreq and fix up hung task watchdog's
        interaction with system-wide power management transitions.
      
        Specifics:
      
         - Fix build regression in the intel_pstate driver that doesn't build
           without CONFIG_ACPI after recent changes (Dominik Brodowski).
      
         - One of the heuristics in the menu cpuidle governor is based on a
           function returning 0 most of the time, so drop it and clean up the
           scheduler code related to it (Daniel Lezcano).
      
         - Prevent the arm_big_little cpufreq driver from being used on ARM64
           which is not suitable for it and drop the arm_big_little_dt driver
           that is not used any more (Sudeep Holla).
      
         - Prevent the hung task watchdog from triggering during resume from
           system-wide sleep states by disabling it before freezing tasks and
           enabling it again after they have been thawed (Vitaly Kuznetsov)"
      
      * tag 'pm-4.20-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        kernel: hung_task.c: disable on suspend
        cpufreq: remove unused arm_big_little_dt driver
        cpufreq: drop ARM_BIG_LITTLE_CPUFREQ support for ARM64
        cpufreq: intel_pstate: Fix compilation for !CONFIG_ACPI
        cpuidle: menu: Remove get_loadavg() from the performance multiplier
        sched: Factor out nr_iowait and nr_iowait_cpu
      6ef74676
    • Linus Torvalds's avatar
      Merge tag 'for-4.20-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 85b5d4bc
      Linus Torvalds authored
      Pull more btrfs updates from David Sterba:
       "This contains a few minor updates and fixes that were under testing or
        arrived shortly after the merge window freeze, mostly stable material"
      
      * tag 'for-4.20-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        Btrfs: fix use-after-free when dumping free space
        Btrfs: fix use-after-free during inode eviction
        btrfs: move the dio_sem higher up the callchain
        btrfs: don't run delayed_iputs in commit
        btrfs: fix insert_reserved error handling
        btrfs: only free reserved extent if we didn't insert it
        btrfs: don't use ctl->free_space for max_extent_size
        btrfs: set max_extent_size properly
        btrfs: reset max_extent_size properly
        MAINTAINERS: update my email address for btrfs
        btrfs: delayed-ref: extract find_first_ref_head from find_ref_head
        Btrfs: fix deadlock when writing out free space caches
        Btrfs: fix assertion on fsync of regular file when using no-holes feature
        Btrfs: fix null pointer dereference on compressed write path error
      85b5d4bc
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-cpuidle' and 'pm-cpufreq' · c4ac6889
      Rafael J. Wysocki authored
      * pm-cpuidle:
        cpuidle: menu: Remove get_loadavg() from the performance multiplier
        sched: Factor out nr_iowait and nr_iowait_cpu
      
      * pm-cpufreq:
        cpufreq: remove unused arm_big_little_dt driver
        cpufreq: drop ARM_BIG_LITTLE_CPUFREQ support for ARM64
        cpufreq: intel_pstate: Fix compilation for !CONFIG_ACPI
      c4ac6889
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v4.20' of git://github.com/andersson/remoteproc · 11743c56
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This migrates rpmsg_char to use read/write_iter to allow being
        operated using aio, removes the message size alignment requirements
        from glink, closes a potential memory leak in SMD and switches to
        %pOFn for printing device_node names"
      
      * tag 'rpmsg-v4.20' of git://github.com/andersson/remoteproc:
        rpmsg: glink: smem: Support rx peak for size less than 4 bytes
        rpmsg: smd: fix memory leak on channel create
        rpmsg: glink: Remove chunk size word align warning
        rpmsg: Convert to using %pOFn instead of device_node.name
        rpmsg: char: Migrate to iter versions of read and write
      11743c56
    • Linus Torvalds's avatar
      Merge tag 'rproc-v4.20' of git://github.com/andersson/remoteproc · 929e134c
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This contains a series of patches that reworks the memory carveout
        handling in remoteproc, in order to allow this to be reused for
        statically allocated memory regions to be used for e.g. firmware.
      
        It adds support for audio DSP (both TZ-assisted and non-TZ assisted)
        and compute DSP on Qualcomm SDM845, TZ-assisted audio DSP, compute DSP
        and WiFi processor on Qualcomm QCS404 and through some renaming of the
        drivers cleans up the naming situation.
      
        Finally support for custom coreudmp segment handlers is added and is
        used in the Qualcomm modem remoteproc driver to gather memory dumps of
        the firmware"
      
      * tag 'rproc-v4.20' of git://github.com/andersson/remoteproc: (36 commits)
        remoteproc: qcom: q6v5-mss: Register segments/dumpfn for coredump
        remoteproc: qcom: q6v5-mss: Add custom dump function for modem
        remoteproc: qcom: q6v5-mss: Refactor mba load/unload sequence
        remoteproc: Add mechanism for custom dump function assignment
        remoteproc: Introduce custom dump function for each remoteproc segment
        remoteproc: modify vring allocation to rely on centralized carveout allocator
        remoteproc: qcom: q6v5: shore up resource probe handling
        remoteproc: qcom: qcom_q6v5_adsp: Fix some return value check
        remoteproc: modify rproc_handle_carveout to support pre-registered region
        remoteproc: add helper function to check carveout device address
        remoteproc: add helper function to allocate rproc_mem_entry from reserved memory
        remoteproc: add alloc ops in rproc_mem_entry struct
        remoteproc: introduce rproc_find_carveout_by_name function
        remoteproc: introduce rproc_add_carveout function
        remoteproc: add helper function to allocate and init rproc_mem_entry struct
        remoteproc: add name in rproc_mem_entry struct
        remoteproc: add release ops in rproc_mem_entry struct
        remoteproc: add rproc_va_to_pa function
        remoteproc: configure IOMMU only if device address requested
        remoteproc: qcom: q6v5-mss: add SCM probe dependency
        ...
      929e134c
  4. 29 Oct, 2018 25 commits
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 4b427452
      Linus Torvalds authored
      Pull ARM SoC platform updates from Arnd Bergmann:
       "A couple of platforms change hands in the MAINTAINERS file:
      
         - Linus Walleij lists himself for the ARM Reference platforms:
           versatile, vexpress, integrator and realview. He has been the main
           contributor for these for a while, and makes it official now.
      
         - Vladimir Zapolskiy takes over the LPC18xx platform from Joachim
           Eastwood
      
         - Manivannan Sadhasivam becomes a secondary maintainer for the
           Actions Semi machines
      
         - Nicolas Ferre lists updates the MAINTAINER listing for the AT91
           platform: Ludovic Desroches is now a co-maintainer for the
           platform, and several other people (Claudiu Beznea, Cristian
           Birsan, Eugen Hristev, Codrin Ciubotariu) take over individual
           device drivers.
      
        Thanks everyone for working on this, and welcome to the new
        maintainers!
      
        The "virt" platform on qemy or kvm can now be used in big-endian mode
        without additional tricks, thanks to Jason Donenfeld.
      
        Once again, we gain support for another NXP i.MX6 variant, this time
        it's the i.MX 6ULZ 32-bit single-core version.
      
        On arm64, we add support for two SoCs from Renesas: RZ/G2E (r8a774c0)
        and RZ/G2M (r8a774a1). These are described as microcontrollers on the
        manufacturer website, but appear to be rather powerful. The RZ/G2M is
        used on the reference board for the CIP Super Long Term Support (SLTS)
        Linux Kernels"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
        MAINTAINERS: Assign myself as a maintainer of ARM/LPC18XX architecture
        arm64: exynos: Enable generic power domain support
        MAINTAINERS: remove non-exsiting email address of Baoyou
        MAINTAINERS: fix pattern in ARM/Synaptics berlin SoC section
        MAINTAINERS: Drop dt-bindings/genpd/k2g.h
        ARM: samsung: Limit SAMSUNG_PM_CHECK config option to non-Exynos platforms
        arm64: actions: Enable PINCTRL in platforms Kconfig
        MAINTAINERS: Add entry for Actions Semi Owl SoCs DMA driver
        MAINTAINERS: Add entry for Actions Semiconductor Owl I2C driver
        MAINTAINERS: Update clock binding entry for Actions Semi Owl SoCs
        ARM: imx: add i.mx6ulz msl support
        ARM: Assume maintainership of ARM reference designs
        ARM: support big-endian for the virt architecture
        MAINTAINERS: sdhci: move the Microchip entry to proper location
        MAINTAINERS: move former ATMEL entries to proper MICROCHIP location
        MAINTAINERS: remove the / ATMEL string from MICROCHIP entries
        MAINTAINERS: iio: add co-maintainer to SAMA5D2-compatible ADC driver
        MAINTAINERS: pwm: add entry for Microchip pwm driver
        MAINTAINERS: dmaengine: add files to Microchip dma entry
        MAINTAINERS: USB: change maintainer for Microchip USBA gadget driver
        ...
      4b427452
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · b22b6bea
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "The most noteworthy SoC driver changes this time include:
      
         - The TEE subsystem gains an in-kernel interface to access the TEE
           from device drivers.
      
         - The reset controller subsystem gains a driver for the Qualcomm
           Snapdragon 845 Power Domain Controller.
      
         - The Xilinx Zynq platform now has a firmware interface for its
           platform management unit. This contains a firmware "ioctl"
           interface that was a little controversial at first, but the version
           we merged solved that by not exposing arbitrary firmware calls to
           user space.
      
         - The Amlogic Meson platform gains a "canvas" driver that is used for
           video processing and shared between different high-level drivers.
      
        The rest is more of the usual, mostly related to SoC specific power
        management support and core drivers in drivers/soc:
      
         - Several Renesas SoCs (RZ/G1N, RZ/G2M, R-Car V3M, RZ/A2M) gain new
           features related to power and reset control.
      
         - The Mediatek mt8183 and mt6765 SoC platforms gain support for their
           respective power management chips.
      
         - A new driver for NXP i.MX8, which need a firmware interface for
           power management.
      
         - The SCPI firmware interface now contains support estimating power
           usage of performance states
      
         - The NVIDIA Tegra "pmc" driver gains a few new features, in
           particular a pinctrl interface for configuring the pads.
      
         - Lots of small changes for Qualcomm, in particular the "smem" device
           driver.
      
         - Some cleanups for the TI OMAP series related to their sysc
           controller.
      
        Additional cleanups and bugfixes in SoC specific drivers include the
        Meson, Keystone, NXP, AT91, Sunxi, Actions, and Tegra platforms"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (129 commits)
        firmware: tegra: bpmp: Implement suspend/resume support
        drivers: clk: Add ZynqMP clock driver
        dt-bindings: clock: Add bindings for ZynqMP clock driver
        firmware: xilinx: Add zynqmp IOCTL API for device control
        Documentation: xilinx: Add documentation for eemi APIs
        MAINTAINERS: imx: include drivers/firmware/imx path
        firmware: imx: add misc svc support
        firmware: imx: add SCU firmware driver support
        reset: Fix potential use-after-free in __of_reset_control_get()
        dt-bindings: arm: fsl: add scu binding doc
        soc: fsl: qbman: add interrupt coalesce changing APIs
        soc: fsl: bman_portals: defer probe after bman's probe
        soc: fsl: qbman: Use last response to determine valid bit
        soc: fsl: qbman: Add 64 bit DMA addressing requirement to QBMan
        soc: fsl: qbman: replace CPU 0 with any online CPU in hotplug handlers
        soc: fsl: qbman: Check if CPU is offline when initializing portals
        reset: qcom: PDC Global (Power Domain Controller) reset controller
        dt-bindings: reset: Add PDC Global binding for SDM845 SoCs
        reset: Grammar s/more then once/more than once/
        bus: ti-sysc: Just use SET_NOIRQ_SYSTEM_SLEEP_PM_OPS
        ...
      b22b6bea
    • Linus Torvalds's avatar
      Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 53b7a3b7
      Linus Torvalds authored
      Pull ARM SoC defconfig updates from Arnd Bergmann:
       "The defconfig changes are split out from the rest again. This time we
        have a number of changes for NXP i.MX and Renesas, including a cleanup
        of old options.
      
        Some smaller changes are for Socionext Uniphier, Allwinner, Qualcomm,
        Rockchip, Renesas, AT91, Hisilicon, and STM32. All of these just
        enable platform specific device drivers"
      
      * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (40 commits)
        arm64: defconfig: Enable SERIAL_8250_OMAP
        arm64: defconfig: Enable TI_SCI related configs
        ARM: imx_v6_v7_defconfig: Select CONFIG_TMPFS_POSIX_ACL
        ARM: imx_v4_v5_defconfig: Remove unneeded options
        ARM: imx_v4_v5_defconfig: Re-sync defconfig
        ARM: mxs_defconfig: Remove unneeded options
        ARM: mxs_defconfig: Re-sync defconfig
        ARM: imx_v6_v7_defconfig: Remove unneeded options
        ARM: imx_v6_v7_defconfig: Re-sync defconfig
        ARM: imx_v6_v7_defconfig: select CONFIG_ARM_CPUIDLE by default
        ARM: imx_v6_v7_defconfig: Make usbnet drivers builtin for boot
        ARM: imx_v6_v7_defconfig: add CONFIG_FW_LOADER_USER_HELPER
        ARM: imx_v6_v7_defconfig: Select CONFIG_SENSORS_MC13783_ADC
        ARM: multi_v7_defconfig: enable CONFIG_MMC_UNIPHIER
        arm64: defconfig: enable CONFIG_MMC_UNIPHIER
        ARM: multi_v7_defconfig: Enable USB phys for UniPhier SoCs
        arm64: defconfig: Enable USB phys for UniPhier SoCs
        arm64: defconfig: enable Rockchip Innosilicon hdmiphy
        arm64: defconfig: Enable PCIEPORTBUS
        arm64: defconfig: enable HiSilicon HNS3 driver
        ...
      53b7a3b7
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 93335e59
      Linus Torvalds authored
      Pull ARM SoC device tree updates from Arnd Bergmann:
       "There are close to 800 indivudal changesets in this branch again,
        which feels like a lot. There are particularly many changes for the
        NVIDIA Tegra platform this time, in fact more than it has seen in the
        two years since the v4.9 merge window. Aside from this, it's been
        fairly normal, with lots of changes going into Renesas R-CAR, NXP
        i.MX, Allwinner Sunxi, Samsung Exynos, and TI OMAP.
      
        Most of the changes are for adding new features into existing boards,
        for brevity I'm only mentioning completely new machines and SoCs here.
        For the first time I think we have (slightly) more new 64-bit hardware
        than 32-bit:
      
        Two boards get added for TI OMAP: Moxa UC-2101 is an industrial
        computer, see https://www.moxa.com/product/UC-2100.htm; GTA04A5 is a
        minor variation of the motherboards of the GTA04 phone, see
        https://shop.goldelico.com/wiki.php?page=GTA04A5
      
        Clearfog is a nice little board for quad-core Marvell Armada 8040
        network processor, see
        https://www.solid-run.com/marvell-armada-family/clearfog-gt-8k/
      
        Two additional server boards come with the Aspeed baseboard management
        controllers: Stardragon4800 is an arm64 reference platform made by HXT
        (based on Qualcomm's server chips), and TiogaPass is an Open Compute
        mainboard with x86 CPUs. Both use the ARM11 based AST2500 chips in the
        BMC.
      
        NXP i.MX usually sees a lot of new boards each release. This time
        there we only add one minor variant: ConnectCore 6UL SBC Pro uses the
        same SoM design as the ConnectCore 6UL SBC Express added later.
        However, there is a new chip, the i.MX6ULZ, which is an even smaller
        variant of the i.MX6ULL, with features removed. There is also support
        for the reference board design, the i.MX6ULZ 14x14 EVK.
      
        A new Raspberry Pi variant gets added, this one is the CM3 compute
        module based on bcm2837, it was launched in early 2017 but only now
        added to the kernel, both as 32-bit and as 64-bit files, as we tend to
        do for Raspberry Pi.
      
        On the Allwinner side, everything is again about cheap development
        boards, usually of the "Fruit Pi" variety. The new ones this time are:
         - Orange Pi Zero Plus2: http://www.orangepi.org/OrangePiZeroPlus2/
         - Orange Pi One Plus: http://www.orangepi.org/OrangePiOneplus/
         - Pine64 LTS: https://www.pine64.org/?product=pine-a64-lts
         - Banana Pi M2+ H5: http://www.banana-pi.org/m2plus.html
        The last one of these is now a 64-bit version of the earlier Banana Pi
        M2+ H3, with the same board layout.
      
        Similarly, for Rockchips, get get another variant of the 32-bit Asus
        Tinker board, the model 'S' based on rk3288, and three now boards
        based on the popular RK3399 chip:
         - ROC-RK3399-PC: https://libre.computer/products/boards/roc-rk3399-pc/
         - Rock960: https://www.96boards.org/product/rock960/
         - RockPro64: https://www.pine64.org/?page_id=61454
        These are all quite powerful boards with lots of RAM and I/O, and the
        RK3399 is the same chip used in several Chromebooks. Finally, we get
        support for the PX30 (aka rk3326) chip, which is based on the low-end
        64-bit Cortex-A35 CPU core. So far, only the evaluation board is
        supported.
      
        One more Banana Pi is added with a Mediatek chip: Banana Pi R64 is
        based on the MT7622 WiFi router platform, and the first product I've
        seen with a 64-bit Mediatek chip in that market:
        http://www.banana-pi.org/r64.html
      
        For HiSilicon, we gain support for the Hi3670 SoC and HiKey 370
        development board, which are similar to the Hi3660 and Hikey 360
        respectively, but add support for an NPU.
      
        Amlogic gets initial support for the Meson-G12A chip (S905D2), another
        quad-core Cortex-A53 SoC, and its evaluation platform. On the 32-bit
        side, we gain support for an actual end-user product, the Endless
        Computers Endless Mini based on Meson8b (S805), see
        https://endlessos.com/computers/
      
        Qualcomm adds support for their MSM8998 SoC and evaluation platform.
        This chip is commonly known as the Snapdragon 835, and is used in
        high-end phones as well as low-end laptops.
      
        For Renesas, a very bare support for the r8a774a1 (RZ/G2M) is added,
        but no boards for this one. However, we do add boards for the
        previously added r8a77965 (R-Car M3-N): the M3NULCB Kingfisher and the
        M3NULCB Starter Kit Pro.
      
        While we have lots of DT changes for NVIDIA to update the existing
        files, the only board that gets added is the Toradex Colibri T20 on
        Colibri Evaluation Board for the old Tegra2.
      
        Synaptics add support for their AS370 SoC, which is part of the
        (formerly Marvell) Berlin line of set-top-box chips used e.g. in the
        various Google Chromecast. Only the .dtsi gets added at this point, no
        actual machines"
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (721 commits)
        ARM: dts: socfgpa: remove ethernet aliases from dtsi
        arm64: dts: stratix10: add ethernet aliases
        dt-bindings: mediatek: Add bindig for MT7623 IOMMU and SMI
        dt-bindings: mediatek: Add JPEG Decoder binding for MT7623
        dt-bindings: iommu: mediatek: Add binding for MT7623
        dt-bindings: clock: mediatek: add support for MT7623
        ARM: dts: mvebu: armada-385-db-88f6820-amc: auto-detect nand ECC properites
        ARM: dts: da850-lego-ev3: slow down A/DC as much as possible
        ARM: dts: da850-evm: Enable tca6416 on baseboard
        arm64: dts: uniphier: Add USB2 PHY nodes
        arm64: dts: uniphier: Add USB3 controller nodes
        ARM: dts: uniphier: Add USB2 PHY nodes
        ARM: dts: uniphier: Add USB3 controller nodes
        arm64: dts: meson-axg: s400: disable emmc
        arm64: dts: meson-axg: s400: add missing emmc pwrseq
        arm64: dts: clearfog-gt-8k: add PCIe slot description
        ARM: dts: at91: sama5d4_xplained: even nand memory partitions
        ARM: dts: at91: sama5d3_xplained: even nand memory partitions
        ARM: dts: at91: at91sam9x5cm: even nand memory partitions
        ARM: dts: at91: sama5d2_ptc_ek: fix bootloader env offsets
        ...
      93335e59
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · c38239b4
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "Three small patches:
      
         - A boot fix for A500 machines, crash was caused by the new
           alternative patching code from this merge window (Dave)
      
         - Change __kernel_suseconds_t to match glibc on 64-bit parisc (Arnd)
      
         - Use constants instead of hard-coded numbers (me)"
      
      * 'parisc-4.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Fix A500 boot crash
        parisc: Use LINUX_GATEWAY_SPACE constant in entry.S
        parisc64: change __kernel_suseconds_t to match glibc
      c38239b4
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 57dbde63
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "I2C has not so much stuff this time. Mostly driver enablement for new
        SoCs, some driver bugfixes, and some cleanups"
      
      * 'i2c/for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (35 commits)
        MAINTAINERS: add maintainer for Renesas RIIC driver
        i2c: sh_mobile: Remove dummy runtime PM callbacks
        i2c: uniphier-f: fix race condition when IRQ is cleared
        i2c: uniphier-f: fix occasional timeout error
        i2c: uniphier-f: make driver robust against concurrency
        i2c: i2c-qcom-geni: Simplify irq handler
        i2c: i2c-qcom-geni: Simplify tx/rx functions
        i2c: designware: Set IRQF_NO_SUSPEND flag for all BYT and CHT controllers
        i2c: mux: mlxcpld: simplify code to reach the adapter
        i2c: mux: ltc4306: simplify code to reach the adapter
        i2c: mux: pca954x: simplify code to reach the adapter
        i2c: core: remove level of indentation in i2c_transfer
        i2c: core: remove outdated DEBUG output
        i2c: zx2967: use core to detect 'no zero length' quirk
        i2c: tegra: use core to detect 'no zero length' quirk
        i2c: qup: use core to detect 'no zero length' quirk
        i2c: omap: use core to detect 'no zero length' quirk
        i2c: Convert to using %pOFn instead of device_node.name
        i2c: brcmstb: Allow enabling the driver on DSL SoCs
        eeprom: at24: fix unexpected timeout under high load
        ...
      57dbde63
    • Linus Torvalds's avatar
      Merge tag 'media/v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 134bf98c
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - new dvb frontend driver: lnbh29
      
       - new sensor drivers: imx319 and imx 355
      
       - some old soc_camera driver renames to avoid conflict with new
         drivers
      
       - new i.MX Pixel Pipeline (PXP) mem-to-mem platform driver
      
       - a new V4L2 frontend for the FWHT codec
      
       - several other improvements, bug fixes, code cleanups, etc
      
      * tag 'media/v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (289 commits)
        media: rename soc_camera I2C drivers
        media: cec: forgot to cancel delayed work
        media: vivid: Support 480p for webcam capture
        media: v4l2-tpg: fix kernel oops when enabling HFLIP and OSD
        media: vivid: Add 16-bit bayer to format list
        media: v4l2-tpg-core: Add 16-bit bayer
        media: pvrusb2: replace `printk` with `pr_*`
        media: venus: vdec: fix decoded data size
        media: cx231xx: fix potential sign-extension overflow on large shift
        media: dt-bindings: media: rcar_vin: add device tree support for r8a7744
        media: isif: fix a NULL pointer dereference bug
        media: exynos4-is: make const array config_ids static
        media: cx23885: make const array addr_list static
        media: ivtv: make const array addr_list static
        media: bttv-input: make const array addr_list static
        media: cx18: Don't check for address of video_dev
        media: dw9807-vcm: Fix probe error handling
        media: dw9714: Remove useless error message
        media: dw9714: Fix error handling in probe function
        media: cec: name for RC passthrough device does not need 'RC for'
        ...
      134bf98c
    • Amir Goldstein's avatar
      lockd: fix access beyond unterminated strings in prints · 93f38b6f
      Amir Goldstein authored
      printk format used %*s instead of %.*s, so hostname_len does not limit
      the number of bytes accessed from hostname.
      Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      93f38b6f
    • Trond Myklebust's avatar
      nfsd: Fix an Oops in free_session() · bb6ad557
      Trond Myklebust authored
      In call_xpt_users(), we delete the entry from the list, but we
      do not reinitialise it. This triggers the list poisoning when
      we later call unregister_xpt_user() in nfsd4_del_conns().
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      bb6ad557
    • Andrew Elble's avatar
      nfsd: correctly decrement odstate refcount in error path · bd8d7250
      Andrew Elble authored
      alloc_init_deleg() both allocates an nfs4_delegation, and
      bumps the refcount on odstate. So after this point, we need to
      put_clnt_odstate() and nfs4_put_stid() to not leave the odstate
      refcount inappropriately bumped.
      Signed-off-by: default avatarAndrew Elble <aweits@rit.edu>
      Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      bd8d7250
    • Chuck Lever's avatar
      svcrdma: Increase the default connection credit limit · 3ae2cefb
      Chuck Lever authored
      Reduce queuing on clients by allowing more credits by default.
      
      64 is the default NFSv4.1 slot table size on Linux clients. This
      size prevents the credit limit from putting RPC requests to sleep
      again after they have already slept waiting for a session slot.
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      3ae2cefb
    • Chuck Lever's avatar
      svcrdma: Remove try_module_get from backchannel · 07880fa4
      Chuck Lever authored
      Since commit ffe1f0df ("rpcrdma: Merge svcrdma and xprtrdma
      modules into one"), the forward and backchannel components are part
      of the same kernel module. A separate try_module_get() call in the
      backchannel code is no longer necessary.
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      07880fa4
    • Chuck Lever's avatar
      svcrdma: Remove ->release_rqst call in bc reply handler · 596f2a19
      Chuck Lever authored
      Similar to a change made in the client's forward channel reply
      handler: The xprt_release_rqst_cong() call is not necessary.
      
      Also, release xprt->recv_lock when taking xprt->transport_lock
      to avoid disabling and enabling BH's while holding another
      spin lock.
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      596f2a19
    • Chuck Lever's avatar
      svcrdma: Reduce max_send_sges · f3c1fd0e
      Chuck Lever authored
      There's no need to request a large number of send SGEs because the
      inline threshold already constrains the number of SGEs per Send.
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      f3c1fd0e
    • Gustavo A. R. Silva's avatar
      nfsd: fix fall-through annotations · 0ac203cb
      Gustavo A. R. Silva authored
      Replace "fallthru" with a proper "fall through" annotation.
      
      Also, add an annotation were it is expected to fall through.
      
      These fixes are part of the ongoing efforts to enabling
      -Wimplicit-fallthrough
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      0ac203cb
    • Trond Myklebust's avatar
      knfsd: Improve lookup performance in the duplicate reply cache using an rbtree · 736c6625
      Trond Myklebust authored
      Use an rbtree to ensure the lookup/insert of an entry in a DRC bucket is
      O(log(N)).
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      736c6625
    • Trond Myklebust's avatar
      knfsd: Further simplify the cache lookup · ed00c2f6
      Trond Myklebust authored
      Order the structure so that the key can be compared using memcmp().
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      ed00c2f6
    • Trond Myklebust's avatar
      knfsd: Simplify NFS duplicate replay cache · 76ecec21
      Trond Myklebust authored
      Simplify the duplicate replay cache by initialising the preallocated
      cache entry, so that we can use it as a key for the cache lookup.
      
      Note that the 99.999% case we want to optimise for is still the one
      where the lookup fails, and we have to add this entry to the cache,
      so preinitialising should not cause a performance penalty.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      76ecec21
    • Trond Myklebust's avatar
      knfsd: Remove dead code from nfsd_cache_lookup · 3e87da51
      Trond Myklebust authored
      The preallocated cache entry is always set to type RC_NOCACHE, and that
      type isn't changed until we later call nfsd_cache_update().
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      3e87da51
    • Trond Myklebust's avatar
      SUNRPC: Simplify TCP receive code · 4c8e5537
      Trond Myklebust authored
      Use the fact that the iov iterators already have functionality for
      skipping a base offset.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      4c8e5537
    • Trond Myklebust's avatar
      SUNRPC: Replace the cache_detail->hash_lock with a regular spinlock · 1863d77f
      Trond Myklebust authored
      Now that the reader functions are all RCU protected, use a regular
      spinlock rather than a reader/writer lock.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      1863d77f
    • Trond Myklebust's avatar
      SUNRPC: Remove non-RCU protected lookup · d48cf356
      Trond Myklebust authored
      Clean up the cache code by removing the non-RCU protected lookup.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      d48cf356
    • Trond Myklebust's avatar
      NFS: Fix up a typo in nfs_dns_ent_put · a6482733
      Trond Myklebust authored
      call_rcu() needs to take a first argument of type (struct rcu_head *).
      
      Fixes: fd497f1e40d9 ("NFS: Lockless DNS lookups")
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      a6482733
    • Trond Myklebust's avatar
      NFS: Lockless DNS lookups · 437f9145
      Trond Myklebust authored
      Enable RCU protected lookup in the legacy DNS resolver.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      437f9145
    • Trond Myklebust's avatar
      knfsd: Lockless lookup of NFSv4 identities. · 9d5afd94
      Trond Myklebust authored
      Enable RCU protected lookups of the NFSv4 idmap.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      9d5afd94