1. 31 Oct, 2018 15 commits
  2. 30 Oct, 2018 9 commits
    • 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
  3. 29 Oct, 2018 16 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
    • Chris Brandt's avatar
      MAINTAINERS: add maintainer for Renesas RIIC driver · 84de6e96
      Chris Brandt authored
      The RIIC I2C controller is used in Renesas RZ/A SoCs.
      Signed-off-by: default avatarChris Brandt <chris.brandt@renesas.com>
      [wsa: added documentation file]
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      84de6e96
    • Jarkko Nikula's avatar
      i2c: sh_mobile: Remove dummy runtime PM callbacks · 7ce6c65b
      Jarkko Nikula authored
      Platform drivers don't need dummy runtime PM callbacks that just return
      success and non-NULL pm pointer in their struct device_driver in order
      to have runtime PM happening. This has changed since following commits:
      
      05aa55dd ("PM / Runtime: Lenient generic runtime pm callbacks")
      543f2503 ("PM / platform_bus: Allow runtime PM by default")
      8b313a38 ("PM / Platform: Use generic runtime PM callbacks directly")
      Signed-off-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
      Reviewed-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      7ce6c65b
    • Masahiro Yamada's avatar
      i2c: uniphier-f: fix race condition when IRQ is cleared · eaba6878
      Masahiro Yamada authored
      The current IRQ handler clears all the IRQ status bits when it bails
      out. This is dangerous because it might clear away the status bits
      that have just been set while processing the current handler. If this
      happens, the IRQ event for the latest transfer is lost forever.
      
      The IRQ status bits must be cleared *before* the next transfer is
      kicked.
      
      Fixes: 6a62974b ("i2c: uniphier_f: add UniPhier FIFO-builtin I2C driver")
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      eaba6878
    • Masahiro Yamada's avatar
      i2c: uniphier-f: fix occasional timeout error · 39226aaa
      Masahiro Yamada authored
      Currently, a timeout error could happen at a repeated START condition.
      
      For a (non-repeated) START condition, the controller starts sending
      data when the UNIPHIER_FI2C_CR_STA bit is set. However, for a repeated
      START condition, the hardware starts running when the slave address is
      written to the TX FIFO - the write to the UNIPHIER_FI2C_CR register is
      actually unneeded.
      
      Because the hardware is already running before the IRQ is enabled for
      a repeated START, the driver may miss the IRQ event. In most cases,
      this problem does not show up since modern CPUs are much faster than
      the I2C transfer. However, it is still possible that a context switch
      happens after the controller starts, but before the IRQ register is
      set up.
      
      To fix this,
      
       - Do not write UNIPHIER_FI2C_CR for repeated START conditions.
      
       - Enable IRQ *before* writing the slave address to the TX FIFO.
      
       - Disable IRQ for the current CPU while queuing up the TX FIFO;
         If the CPU is interrupted by some task, the interrupt handler
         might be invoked due to the empty TX FIFO before completing the
         setup.
      
      Fixes: 6a62974b ("i2c: uniphier_f: add UniPhier FIFO-builtin I2C driver")
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      39226aaa
    • Masahiro Yamada's avatar
      i2c: uniphier-f: make driver robust against concurrency · f1fdcbbd
      Masahiro Yamada authored
      This is unlikely to happen, but it is possible for a CPU to enter
      the interrupt handler just after wait_for_completion_timeout() has
      expired. If this happens, the hardware is accessed from multiple
      contexts concurrently.
      
      Disable the IRQ after wait_for_completion_timeout(), and do nothing
      from the handler when the IRQ is disabled.
      
      Fixes: 6a62974b ("i2c: uniphier_f: add UniPhier FIFO-builtin I2C driver")
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      f1fdcbbd
    • Wolfram Sang's avatar
    • Linus Torvalds's avatar
      HID: input: simplify/fix high-res scroll event handling · 044ee890
      Linus Torvalds authored
      Commit 1ff2e1a4 ("HID: input: Create a utility class for counting
      scroll events") created the helper function
      
          hid_scroll_counter_handle_scroll()
      
      to handle high-res scroll events and also expose them as regular wheel
      events.
      
      But the resulting algorithm was unstable, and causes scrolling to be
      very unreliable.  When you hit the half-way mark of the highres
      multiplier, small highres movements will incorrectly translate into big
      traditional wheel movements, causing odd jitters.
      
      Simplify the code and make the output stable.
      
      NOTE! I'm pretty sure this will need further tweaking.  But this at
      least turns a unusable mouse wheel on my Logitech MX Anywhere 2S into
      a usable one.
      
      Cc: Jiri Kosina <jikos@kernel.org>
      Cc: Harry Cutts <hcutts@chromium.org>
      Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
      Cc: Peter Hutterer <peter.hutterer@who-t.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      044ee890
    • Linus Torvalds's avatar
      Merge tag 'tty-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 5bd4af34
      Linus Torvalds authored
      Pull tty/serial updates from Greg KH:
       "Here is the big tty and serial pull request for 4.20-rc1
      
        Lots of little things here, including a merge from the SPI tree in
        order to keep things simpler for everyone to sync around for one
        platform.
      
        Major stuff is:
      
         - tty buffer clearing after use
      
         - atmel_serial fixes and additions
      
         - xilinx uart driver updates
      
        and of course, lots of tiny fixes and additions to individual serial
        drivers.
      
        All of these have been in linux-next with no reported issues for a
        while"
      
      * tag 'tty-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (66 commits)
        of: base: Change logic in of_alias_get_alias_list()
        of: base: Fix english spelling in of_alias_get_alias_list()
        serial: sh-sci: do not warn if DMA transfers are not supported
        serial: uartps: Do not allow use aliases >= MAX_UART_INSTANCES
        tty: check name length in tty_find_polling_driver()
        serial: sh-sci: Add r8a77990 support
        tty: wipe buffer if not echoing data
        tty: wipe buffer.
        serial: fsl_lpuart: Remove the alias node dependence
        TTY: sn_console: Replace spin_is_locked() with spin_trylock()
        Revert "serial:serial_core: Allow use of CTS for PPS line discipline"
        serial: 8250_uniphier: add auto-flow-control support
        serial: 8250_uniphier: flatten probe function
        serial: 8250_uniphier: remove unused "fifo-size" property
        dt-bindings: serial: sh-sci: Document r8a7744 bindings
        serial: uartps: Fix missing unlock on error in cdns_get_id()
        tty/serial: atmel: add ISO7816 support
        tty/serial_core: add ISO7816 infrastructure
        serial:serial_core: Allow use of CTS for PPS line discipline
        serial: docs: Fix filename for serial reference implementation
        ...
      5bd4af34
    • Linus Torvalds's avatar
      Merge tag 'staging-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 738b04fb
      Linus Torvalds authored
      Pull staging/IIO driver updates from Greg KH:
       "Here is the big staging and IIO driver pull request for 4.20-rc1.
      
        There are lots of things here, we ended up adding more lines than
        removing, thanks to a large influx of Comedi National Instrument
        device support. Someday soon we need to get comedi out of staging...
      
        Other than the comedi drivers, the "big" things here are:
      
         - new iio drivers
      
         - delete dgnc driver (no one used it and no one had the hardware
           anymore)
      
         - vbox driver updates and fixes
      
         - erofs fixes
      
         - tons and tons of tiny checkpatch fixes for almost all staging
           drivers
      
        All of these have been in linux-next, with the last few happening a
        bit "late" due to them getting stuck on my laptop during travel to the
        Mantainers summit"
      
      * tag 'staging-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (690 commits)
        staging: gasket: Fix sparse "incorrect type in assignment" warnings.
        staging: gasket: remove debug logs for callback invocation
        staging: gasket: remove debug logs in page table mapping calls
        staging: rtl8188eu: core: Use sizeof(*p) instead of sizeof(struct P) for memory allocation
        staging: ks7010: Remove extra blank line
        staging: gasket: Remove extra blank line
        staging: media: davinci_vpfe: Fix spelling mistake in enum
        staging: speakup: Add a pair of braces
        staging: wlan-ng: Replace long int with long
        staging: MAINTAINERS: remove obsolete IPX staging directory
        staging: MAINTAINERS: remove NCP filesystem entry
        staging: rtl8188eu: cleanup comparsions to false
        staging: gasket: Update device virtual address comment
        staging: gasket: sysfs: fix attribute release comment
        staging: gasket: apex: fix sysfs_show
        staging: gasket: page_table: simplify gasket_components_to_dev_address
        staging: gasket: page_table: fix comment in components_to_dev_address
        staging: gasket: page table: fixup error path allocating coherent mem
        staging: gasket: page_table: rearrange gasket_page_table_entry
        staging: gasket: page_table: remove unnecessary PTE status set to free
        ...
      738b04fb