1. 05 Apr, 2020 6 commits
    • Linus Torvalds's avatar
      sysfs: remove redundant __compat_only_sysfs_link_entry_to_kobj fn · 70fbdfef
      Linus Torvalds authored
      Commit 9255782f ("sysfs: Wrap __compat_only_sysfs_link_entry_to_kobj
      function to change the symlink name") made this function a wrapper
      around a new non-underscored function, which is a bit odd.  The normal
      naming convention is the other way around: the underscored function is
      the wrappee, and the non-underscored function is the wrapper.
      
      There's only one single user (well, two call-sites in that user) of the
      more limited double underscore version of this function, so just remove
      the oddly named wrapper entirely and just add the extra NULL argument to
      the user.
      
      I considered just doing that in the merge, but that tends to make
      history really hard to read.
      
      Link: https://lore.kernel.org/lkml/CAHk-=wgkkmNV5tMzQDmPAQuNJBuMcry--Jb+h8H1o4RA3kF7QQ@mail.gmail.com/
      Cc: Sourabh Jain <sourabhjain@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      70fbdfef
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · d38c07af
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
       "Slightly late as I had to rebase mid-week to insert a bug fix:
      
         - A large series from Nick for 64-bit to further rework our exception
           vectors, and rewrite portions of the syscall entry/exit and
           interrupt return in C. The result is much easier to follow code
           that is also faster in general.
      
         - Cleanup of our ptrace code to split various parts out that had
           become badly intertwined with #ifdefs over the years.
      
         - Changes to our NUMA setup under the PowerVM hypervisor which should
           hopefully avoid non-sensical topologies which can lead to warnings
           from the workqueue code and other problems.
      
         - MAINTAINERS updates to remove some of our old orphan entries and
           update the status of others.
      
         - Quite a few other small changes and fixes all over the map.
      
        Thanks to: Abdul Haleem, afzal mohammed, Alexey Kardashevskiy, Andrew
        Donnellan, Aneesh Kumar K.V, Balamuruhan S, Cédric Le Goater, Chen
        Zhou, Christophe JAILLET, Christophe Leroy, Christoph Hellwig, Clement
        Courbet, Daniel Axtens, David Gibson, Douglas Miller, Fabiano Rosas,
        Fangrui Song, Ganesh Goudar, Gautham R. Shenoy, Greg Kroah-Hartman,
        Greg Kurz, Gustavo Luiz Duarte, Hari Bathini, Ilie Halip, Jan Kara,
        Joe Lawrence, Joe Perches, Kajol Jain, Larry Finger, Laurentiu Tudor,
        Leonardo Bras, Libor Pechacek, Madhavan Srinivasan, Mahesh Salgaonkar,
        Masahiro Yamada, Masami Hiramatsu, Mauricio Faria de Oliveira, Michael
        Neuling, Michal Suchanek, Mike Rapoport, Nageswara R Sastry, Nathan
        Chancellor, Nathan Lynch, Naveen N. Rao, Nicholas Piggin, Nick
        Desaulniers, Oliver O'Halloran, Po-Hsu Lin, Pratik Rajesh Sampat,
        Rasmus Villemoes, Ravi Bangoria, Roman Bolshakov, Sam Bobroff,
        Sandipan Das, Santosh S, Sedat Dilek, Segher Boessenkool, Shilpasri G
        Bhat, Sourabh Jain, Srikar Dronamraju, Stephen Rothwell, Tyrel
        Datwyler, Vaibhav Jain, YueHaibing"
      
      * tag 'powerpc-5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (158 commits)
        powerpc: Make setjmp/longjmp signature standard
        powerpc/cputable: Remove unnecessary copy of cpu_spec->oprofile_type
        powerpc: Suppress .eh_frame generation
        powerpc: Drop -fno-dwarf2-cfi-asm
        powerpc/32: drop unused ISA_DMA_THRESHOLD
        powerpc/powernv: Add documentation for the opal sensor_groups sysfs interfaces
        selftests/powerpc: Fix try-run when source tree is not writable
        powerpc/vmlinux.lds: Explicitly retain .gnu.hash
        powerpc/ptrace: move ptrace_triggered() into hw_breakpoint.c
        powerpc/ptrace: create ppc_gethwdinfo()
        powerpc/ptrace: create ptrace_get_debugreg()
        powerpc/ptrace: split out ADV_DEBUG_REGS related functions.
        powerpc/ptrace: move register viewing functions out of ptrace.c
        powerpc/ptrace: split out TRANSACTIONAL_MEM related functions.
        powerpc/ptrace: split out SPE related functions.
        powerpc/ptrace: split out ALTIVEC related functions.
        powerpc/ptrace: split out VSX related functions.
        powerpc/ptrace: drop PARAMETER_SAVE_AREA_OFFSET
        powerpc/ptrace: drop unnecessary #ifdefs CONFIG_PPC64
        powerpc/ptrace: remove unused header includes
        ...
      d38c07af
    • Linus Torvalds's avatar
      Merge tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random · 31c0aa87
      Linus Torvalds authored
      Pull /dev/random updates from Ted Ts'o:
      
       - Improve getrandom and /dev/random's support for those arm64
         architecture variants that have RNG instructions.
      
       - Use batched output from CRNG instead of CPU's RNG instructions for
         better performance.
      
       - Miscellaneous bug fixes.
      
      * tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random:
        random: avoid warnings for !CONFIG_NUMA builds
        random: fix data races at timer_rand_state
        random: always use batched entropy for get_random_u{32,64}
        random: Make RANDOM_TRUST_CPU depend on ARCH_RANDOM
        arm64: add credited/trusted RNG support
        random: add arch_get_random_*long_early()
        random: split primary/secondary crng init paths
      31c0aa87
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 9c94b395
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
      
       - Replace ext4's bmap and iopoll implementations to use iomap.
      
       - Clean up extent tree handling.
      
       - Other cleanups and miscellaneous bug fixes
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (31 commits)
        ext4: save all error info in save_error_info() and drop ext4_set_errno()
        ext4: fix incorrect group count in ext4_fill_super error message
        ext4: fix incorrect inodes per group in error message
        ext4: don't set dioread_nolock by default for blocksize < pagesize
        ext4: disable dioread_nolock whenever delayed allocation is disabled
        ext4: do not commit super on read-only bdev
        ext4: avoid ENOSPC when avoiding to reuse recently deleted inodes
        ext4: unregister sysfs path before destroying jbd2 journal
        ext4: check for non-zero journal inum in ext4_calculate_overhead
        ext4: remove map_from_cluster from ext4_ext_map_blocks
        ext4: clean up ext4_ext_insert_extent() call in ext4_ext_map_blocks()
        ext4: mark block bitmap corrupted when found instead of BUGON
        ext4: use flexible-array member for xattr structs
        ext4: use flexible-array member in struct fname
        Documentation: correct the description of FIEMAP_EXTENT_LAST
        ext4: move ext4_fiemap to use iomap framework
        ext4: make ext4_ind_map_blocks work with fiemap
        ext4: move ext4 bmap to use iomap infrastructure
        ext4: optimize ext4_ext_precache for 0 depth
        ext4: add IOMAP_F_MERGED for non-extent based mapping
        ...
      9c94b395
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 34761956
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "There's not much to see in the core framework this time around.
        Instead the majority of the diff is the normal collection of driver
        additions for new SoCs and non-critical clk data fixes and updates.
        The framework must be middle aged.
      
        The two biggest directories in the diffstat show that the Qualcomm and
        Unisoc support added a handful of big drivers for new SoCs but that's
        not really the whole story because those new drivers tend to add large
        numbers of lines of clk data. There's a handful of AT91 clk drivers
        added this time around too and a bunch of improvements to drivers like
        the i.MX driver. All around lots of updates and fixes in various clk
        drivers which is good to see.
      
        The core framework has only one real major change which has been
        baking in next for the past couple months. It fixes the framework so
        that it stops caching a clk's phase when the phase clk_op returns an
        error. Before this change we would consider some negative errno as a
        phase and that just doesn't make sense.
      
        Core:
         - Don't show clk phase when it is invalid
      
        New Drivers:
         - Add support for Unisoc SC9863A clks
         - Qualcomm SM8250 RPMh and MSM8976 RPM clks
         - Qualcomm SM8250 Global Clock Controller (GCC) support
         - Qualcomm SC7180 Modem Clock Controller (MSS CC) support
         - EHRPWM's TimeBase clock(TBCLK) for TI AM654 SoCs
         - Support PMC clks on at91sam9n12, at91rm9200, sama5d3, and
           at91sam9g45 SoCs
      
        Updates:
         - GPU GX GDSC support on Qualcomm sc7180
         - Fixes and improvements for the Marvell MMP2/MMP3 SoC clk drivers
         - A series from Anson to convert i.MX8 clock bindings to json-schema
         - Update i.MX pll14xx driver to include new frequency entries for
           pll1443x table, and return error for invalid PLL type
         - Add missing of_node_put() call for a number of i.MX clock drivers
         - Drop flag CLK_IS_CRITICAL from 'A53_CORE' mux clock, as we already
           have the flag on its child cpu clock
         - Fix a53 cpu clock for i.MX8 drivers to get it source from ARM PLL
           via CORE_SEL slice, and source from A53 CCM clk root when we need
           to change ARM PLL frequency. Thus, we can support core running
           above 1GHz safely
         - Update i.MX pfdv2 driver to check zero rate and use determine_rate
           for getting the best rate
         - Add CLKO2 for imx8mm, SNVS clock for imx8mn, and PXP clock for
           imx7d
         - Remove PMC clks from Tegra clk driver
         - Improved clock/reset handling for the Renesas R-Car USB2 Clock
           Selector
         - Conversion to json-schema of the Renesas CPG/MSSR DT bindings
         - Add Crypto clocks on Renesas R-Car M3-W/W+, M3-N, E3, and D3
         - Add RPC (QSPI/HyperFLASH) clocks on Renesas R-Car H3, M3-W/W+, and
           M3-N
         - Update Amlogic audio clock gate hierarchy for meson8 and gxbb
         - Update Amlogic g12a spicc clock sources
         - Support for Ingenic X1000 TCU clks"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (146 commits)
        clk: sprd: fix to get a correct ibias of pll
        dt-bindings: imx8mm-clock: Fix the file path
        dt-bindings: imx8mq-clock: Fix the file path
        clk: qcom: rpmh: Drop unnecessary semicolons
        clk: qcom: rpmh: Simplify clk_rpmh_bcm_send_cmd()
        clk: tegra: Use NULL for pointer initialization
        clk: sprd: add clocks support for SC9863A
        clk: sprd: support to get regmap from parent node
        clk: sprd: Add macros for referencing parents without strings
        clk: sprd: Add dt-bindings include file for SC9863A
        dt-bindings: clk: sprd: add bindings for sc9863a clock controller
        dt-bindings: clk: sprd: rename the common file name sprd.txt to SoC specific
        clk: sprd: add gate for pll clocks
        MAINTAINERS: dt: update reference for arm-integrator.txt
        clk: mmp2: Fix bit masks for LCDC I/O and pixel clocks
        clk: mmp2: Add clock for fifth SD HCI on MMP3
        dt-bindings: marvell,mmp2: Add clock id for the fifth SD HCI on MMP3
        clk: mmp2: Add clocks for the thermal sensors
        dt-bindings: marvell,mmp2: Add clock ids for the thermal sensors
        clk: mmp2: add the GPU clocks
        ...
      34761956
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · aa1a8ce5
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "New tracing features:
      
         - The ring buffer is no longer disabled when reading the trace file.
      
           The trace_pipe file was made to be used for live tracing and
           reading as it acted like the normal producer/consumer. As the trace
           file would not consume the data, the easy way of handling it was to
           just disable writes to the ring buffer.
      
           This came to a surprise to the BPF folks who complained about lost
           events due to reading. This is no longer an issue. If someone wants
           to keep the old disabling there's a new option "pause-on-trace"
           that can be set.
      
         - New set_ftrace_notrace_pid file. PIDs in this file will not be
           traced by the function tracer.
      
           Similar to set_ftrace_pid, which makes the function tracer only
           trace those tasks with PIDs in the file, the set_ftrace_notrace_pid
           does the reverse.
      
         - New set_event_notrace_pid file. PIDs in this file will cause events
           not to be traced if triggered by a task with a matching PID.
      
           Similar to the set_event_pid file but will not be traced. Note,
           sched_waking and sched_switch events may still be traced if one of
           the tasks referenced by those events contains a PID that is allowed
           to be traced.
      
        Tracing related features:
      
         - New bootconfig option, that is attached to the initrd file.
      
           If bootconfig is on the command line, then the initrd file is
           searched looking for a bootconfig appended at the end.
      
         - New GPU tracepoint infrastructure to help the gfx drivers to get
           off debugfs (acked by Greg Kroah-Hartman)
      
        And other minor updates and fixes"
      
      * tag 'trace-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (27 commits)
        tracing: Do not allocate buffer in trace_find_next_entry() in atomic
        tracing: Add documentation on set_ftrace_notrace_pid and set_event_notrace_pid
        selftests/ftrace: Add test to test new set_event_notrace_pid file
        selftests/ftrace: Add test to test new set_ftrace_notrace_pid file
        tracing: Create set_event_notrace_pid to not trace tasks
        ftrace: Create set_ftrace_notrace_pid to not trace tasks
        ftrace: Make function trace pid filtering a bit more exact
        ftrace/kprobe: Show the maxactive number on kprobe_events
        tracing: Have the document reflect that the trace file keeps tracing enabled
        ring-buffer/tracing: Have iterator acknowledge dropped events
        tracing: Do not disable tracing when reading the trace file
        ring-buffer: Do not disable recording when there is an iterator
        ring-buffer: Make resize disable per cpu buffer instead of total buffer
        ring-buffer: Optimize rb_iter_head_event()
        ring-buffer: Do not die if rb_iter_peek() fails more than thrice
        ring-buffer: Have rb_iter_head_event() handle concurrent writer
        ring-buffer: Add page_stamp to iterator for synchronization
        ring-buffer: Rename ring_buffer_read() to read_buffer_iter_advance()
        ring-buffer: Have ring_buffer_empty() not depend on tracing stopped
        tracing: Save off entry when peeking at next entry
        ...
      aa1a8ce5
  2. 04 Apr, 2020 10 commits
    • Linus Torvalds's avatar
      Merge tag 'keys-fixes-20200329' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · 4c205c84
      Linus Torvalds authored
      Pull keyrings fixes from David Howells:
       "Here's a couple of patches that fix a circular dependency between
        holding key->sem and mm->mmap_sem when reading data from a key.
      
        One potential issue is that a filesystem looking to use a key inside,
        say, ->readpages() could deadlock if the key being read is the key
        that's required and the buffer the key is being read into is on a page
        that needs to be fetched.
      
        The case actually detected is a bit more involved - with a filesystem
        calling request_key() and locking the target keyring for write - which
        could be being read"
      
      * tag 'keys-fixes-20200329' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        KEYS: Avoid false positive ENOMEM error on key read
        KEYS: Don't write out to userspace while holding key semaphore
      4c205c84
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2020-04-03-1' of git://anongit.freedesktop.org/drm/drm · ea9448b2
      Linus Torvalds authored
      Pull drm hugepage support from Dave Airlie:
       "This adds support for hugepages to TTM and has been tested with the
        vmwgfx drivers, though I expect other drivers to start using it"
      
      * tag 'drm-next-2020-04-03-1' of git://anongit.freedesktop.org/drm/drm:
        drm/vmwgfx: Hook up the helpers to align buffer objects
        drm/vmwgfx: Introduce a huge page aligning TTM range manager
        drm: Add a drm_get_unmapped_area() helper
        drm/vmwgfx: Support huge page faults
        drm/ttm, drm/vmwgfx: Support huge TTM pagefaults
        mm: Add vmf_insert_pfn_xxx_prot() for huge page-table entries
        mm: Split huge pages on write-notify or COW
        mm: Introduce vma_is_special_huge
        fs: Constify vma argument to vma_is_dax
      ea9448b2
    • Linus Torvalds's avatar
      Merge branch 'work.exfat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 83eb69f3
      Linus Torvalds authored
      Pull exfat filesystem from Al Viro:
       "Shiny new fs/exfat replacement for drivers/staging/exfat"
      
      * 'work.exfat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        exfat: update file system parameter handling
        staging: exfat: make staging/exfat and fs/exfat mutually exclusive
        MAINTAINERS: add exfat filesystem
        exfat: add Kconfig and Makefile
        exfat: add nls operations
        exfat: add misc operations
        exfat: add exfat cache
        exfat: add bitmap operations
        exfat: add fat entry operations
        exfat: add file operations
        exfat: add directory operations
        exfat: add inode operations
        exfat: add super block operations
        exfat: add in-memory and on-disk structures and headers
      83eb69f3
    • Linus Torvalds's avatar
      Merge tag 'nfsd-5.7' of git://git.linux-nfs.org/projects/cel/cel-2.6 · b3d8e422
      Linus Torvalds authored
      Pull nfsd updates from Chuck Lever:
      
       - Fix EXCHANGE_ID response when NFSD runs in a container
      
       - A battery of new static trace points
      
       - Socket transports now use bio_vec to send Replies
      
       - NFS/RDMA now supports filesystems with no .splice_read method
      
       - Favor memcpy() over DMA mapping for small RPC/RDMA Replies
      
       - Add pre-requisites for supporting multiple Write chunks
      
       - Numerous minor fixes and clean-ups
      
      [ Chuck is filling in for Bruce this time while he and his family settle
        into a new house ]
      
      * tag 'nfsd-5.7' of git://git.linux-nfs.org/projects/cel/cel-2.6: (39 commits)
        svcrdma: Fix leak of transport addresses
        SUNRPC: Fix a potential buffer overflow in 'svc_print_xprts()'
        SUNRPC/cache: don't allow invalid entries to be flushed
        nfsd: fsnotify on rmdir under nfsd/clients/
        nfsd4: kill warnings on testing stateids with mismatched clientids
        nfsd: remove read permission bit for ctl sysctl
        NFSD: Fix NFS server build errors
        sunrpc: Add tracing for cache events
        SUNRPC/cache: Allow garbage collection of invalid cache entries
        nfsd: export upcalls must not return ESTALE when mountd is down
        nfsd: Add tracepoints for update of the expkey and export cache entries
        nfsd: Add tracepoints for exp_find_key() and exp_get_by_name()
        nfsd: Add tracing to nfsd_set_fh_dentry()
        nfsd: Don't add locks to closed or closing open stateids
        SUNRPC: Teach server to use xprt_sock_sendmsg for socket sends
        SUNRPC: Refactor xs_sendpages()
        svcrdma: Avoid DMA mapping small RPC Replies
        svcrdma: Fix double sync of transport header buffer
        svcrdma: Refactor chunk list encoders
        SUNRPC: Add encoders for list item discriminators
        ...
      b3d8e422
    • Linus Torvalds's avatar
      Merge tag 'rtc-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · bdabb689
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "More cleanup this cycle, with the final goal of removing the
        rtc_time_to_tm and rtc_tm_to_time wrappers. All the drivers that have
        been modified for this now are ready for the end of times (whether it
        happens in 2033, 2038, 2106, 2127 or even 4052). There is also a
        single new driver and the usual fixes and features.
      
        Summary:
      
        Subsystem:
      
         - The rtc_time_to_tm and rtc_tm_to_time wrappers have finally been
           removed and only the 64bit version remain.
      
         - hctosys now works with drivers compiled as modules
      
        New driver:
      
         - MediaTek MT2712 SoC based RTC
      
        Drivers:
      
         - set range for 88pm860x, au1xxx, cpcap, da9052, davinci, ds1305,
           ds1374, mcp5121, pl030, pl031, pm8xxx, puv3, sa1100, sirfsoc,
           starfire, sun6i
      
         - ds1307: DS1388 oscillator failure detection and watchdog support
      
         - jz4740: JZ4760 support
      
         - pcf85063: clock out pin support
      
         - sun6i: external 32k oscillator is now optional, the range is now
           handled by the core, providing a solution for 2034"
      
      * tag 'rtc-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (87 commits)
        rtc: ds1307: check for failed memory allocation on wdt
        rtc: class: remove redundant assignment to variable err
        rtc: remove rtc_time_to_tm and rtc_tm_to_time
        rtc: sun6i: let the core handle rtc range
        rtc: sun6i: switch to rtc_time64_to_tm/rtc_tm_to_time64
        rtc: ds1307: add support for watchdog timer on ds1388
        rtc: da9052: switch to rtc_time64_to_tm/rtc_tm_to_time64
        rtc: da9052: set range
        rtc: da9052: convert to devm_rtc_allocate_device
        rtc: imx-sc: Align imx sc msg structs to 4
        rtc: fsl-ftm-alarm: report alarm to core
        rtc: pcf85063: Add pcf85063 clkout control to common clock framework
        rtc: make definitions in include/uapi/linux/rtc.h actually useful for user space
        rtc: class: avoid unnecessary lookup in hctosys
        dt-bindings: rtc: Convert and update jz4740-rtc doc to YAML
        rtc: jz4740: Rename vendor-specific DT properties
        rtc: jz4740: Add support for JZ4760 SoC
        rtc: class: support hctosys from modular RTC drivers
        rtc: pm8xxx: clear alarm register when alarm is not enabled
        rtc: omap: drop unused dt-bindings header
        ...
      bdabb689
    • Linus Torvalds's avatar
      Merge tag 'gpio-v5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 828907ef
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "This is the bulk of GPIO development for the v5.7 kernel cycle.
      
        Core and userspace API:
      
         - The userspace API KFIFOs have been imoproved with locks that do not
           block interrupts. This makes us better at getting events to
           userspace without blocking or disturbing new events arriving in the
           same time. This was reviewed by the KFIFO maintainer Stefani. This
           is a generic improvement which paves the road for similar
           improvements in other subsystems.
      
         - We provide a new ioctl() for monitoring changes in the line
           information, such as when multiple clients are taking lines and
           giving them back, possibly reconfiguring them in the process: we
           can now monitor that and not get stuck with stale static
           information.
      
         - An example tool 'gpio-watch' is provided to showcase this
           functionality.
      
         - Timestamps for events are switched to ktime_get_ns() which is
           monotonic. We previously had a 'realtime' stamp which could move
           forward and *backward* in time, which probably would just cause
           silent bugs and weird behaviour. In the long run we see two
           relevant timestamps: ktime_get_ns() or the timestamp sometimes
           provided by the GPIO hardware itself, if that exists.
      
         - Device Tree overlay support for GPIO hogs. On systems that load
           overlays, these overlays can now contain hogs, and will then be
           respected.
      
         - Handle pin control interaction with nonexisting pin ranges in the
           GPIO library core instead of in the individual drivers.
      
        New drivers:
      
         - New driver for the Mellanox BlueField 2 GPIO controller.
      
        Driver improvements:
      
         - Introduce the BGPIOF_NO_SET_ON_INPUT flag to the generic MMIO GPIO
           library and use this flag in the MT7621 driver.
      
         - Texas Instruments OMAP CPU power management improvements, such as
           blocking of idle on pending GPIO interrupts"
      
      * tag 'gpio-v5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (59 commits)
        Revert "gpio: eic-sprd: Use devm_platform_ioremap_resource()"
        pinctrl: Unconditionally assign .request()/.free()
        gpio: Unconditionally assign .request()/.free()
        gpio: export of_pinctrl_get to modules
        pinctrl: Define of_pinctrl_get() dummy for !PINCTRL
        gpio: Rename variable in core APIs
        gpio: Avoid using pin ranges with !PINCTRL
        gpiolib: Remove unused gpio_chip parameter from gpio_set_bias()
        gpiolib: Pass gpio_desc to gpio_set_config()
        gpiolib: Introduce gpiod_set_config()
        tools: gpio: Fix out-of-tree build regression
        gpio: gpiolib: fix a doc warning
        gpio: tegra186: Add Tegra194 pin ranges for GG.0 and GG.1
        gpio: tegra186: Add support for pin ranges
        gpio: Support GPIO controllers without pin-ranges
        ARM: integrator: impd1: Use GPIO_LOOKUP() helper macro
        gpio: brcmstb: support gpio-line-names property
        tools: gpio: Fix typo in gpio-utils
        tools: gpio-hammer: Apply scripts/Lindent and retain good changes
        gpiolib: gpio_name_to_desc: factor out !name check
        ...
      828907ef
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-5.7' of git://git.infradead.org/users/hch/dma-mapping · 6f43bae3
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - fix an integer overflow in the coherent pool (Kevin Grandemange)
      
       - provide support for in-place uncached remapping and use that for
         openrisc
      
       - fix the arm coherent allocator to take the bus limit into account
      
      * tag 'dma-mapping-5.7' of git://git.infradead.org/users/hch/dma-mapping:
        ARM/dma-mapping: merge __dma_supported into arm_dma_supported
        ARM/dma-mapping: take the bus limit into account in __dma_alloc
        ARM/dma-mapping: remove get_coherent_dma_mask
        openrisc: use the generic in-place uncached DMA allocator
        dma-direct: provide a arch_dma_clear_uncached hook
        dma-direct: make uncached_kernel_address more general
        dma-direct: consolidate the error handling in dma_direct_alloc_pages
        dma-direct: remove the cached_kernel_address hook
        dma-coherent: fix integer overflow in the reserved-memory dma allocation
      6f43bae3
    • Linus Torvalds's avatar
      Merge tag 'threads-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux · 1e396a5d
      Linus Torvalds authored
      Pull thread updates from Christian Brauner:
       "The main change for this cycle was the extension for clone3() to
        support spawning processes directly into cgroups via CLONE_INTO_CGROUP
        (commit ef2c41cf: "clone3: allow spawning processes
        into cgroups").
      
        But since I had to touch kernel/cgroup/ quite a bit I had Tejun route
        that through his tree this time around to make it easier for him to
        handle other changes.
      
        So here is just the unexciting leftovers: a regression test for the
        ENOMEM regression we fixed in commit b26ebfe1 ("pid: Fix error
        return value in some cases") verifying that we report ENOMEM when
        trying to create a new process in a pid namespace whose init
        process/subreaper has already exited"
      
      * tag 'threads-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        selftests: add pid namespace ENOMEM regression test
      1e396a5d
    • Linus Torvalds's avatar
      Merge tag 'vfio-v5.7-rc1' of git://github.com/awilliam/linux-vfio · 2fb732b3
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - vfio-pci SR-IOV support (Alex Williamson)
      
       - vfio DMA read/write interface (Yan Zhao)
      
       - Fix vfio-platform erroneous IRQ error log (Eric Auger)
      
       - Fix shared ATSD support for NVLink on POWER (Sam Bobroff)
      
       - Fix init error without CONFIG_IOMMU_DMA (Andre Przywara)
      
      * tag 'vfio-v5.7-rc1' of git://github.com/awilliam/linux-vfio:
        vfio: Ignore -ENODEV when getting MSI cookie
        vfio-pci/nvlink2: Allow fallback to ibm,mmio-atsd[0]
        vfio/pci: Cleanup .probe() exit paths
        vfio/pci: Remove dev_fmt definition
        vfio/pci: Add sriov_configure support
        vfio: Introduce VFIO_DEVICE_FEATURE ioctl and first user
        vfio/pci: Introduce VF token
        vfio/pci: Implement match ops
        vfio: Include optional device match in vfio_device_ops callbacks
        vfio: avoid inefficient operations on VFIO group in vfio_pin/unpin_pages
        vfio: introduce vfio_dma_rw to read/write a range of IOVAs
        vfio: allow external user to get vfio group from device
        vfio: platform: Switch to platform_get_irq_optional()
      2fb732b3
    • Linus Torvalds's avatar
      Merge tag 's390-5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · ad0bf4eb
      Linus Torvalds authored
      Pull s390 updates from Vasily Gorbik:
      
       - Update maintainers. Niklas Schnelle takes over zpci and Vineeth
         Vijayan common io code.
      
       - Extend cpuinfo to include topology information.
      
       - Add new extended counters for IBM z15 and sampling buffer allocation
         rework in perf code.
      
       - Add control over zeroing out memory during system restart.
      
       - CCA protected key block version 2 support and other
         fixes/improvements in crypto code.
      
       - Convert to new fallthrough; annotations.
      
       - Replace zero-length arrays with flexible-arrays.
      
       - QDIO debugfs and other small improvements.
      
       - Drop 2-level paging support optimization for compat tasks. Varios mm
         cleanups.
      
       - Remove broken and unused hibernate / power management support.
      
       - Remove fake numa support which does not bring any benefits.
      
       - Exclude offline CPUs from CPU topology masks to be more consistent
         with other architectures.
      
       - Prevent last branching instruction address leaking to userspace.
      
       - Other small various fixes and improvements all over the code.
      
      * tag 's390-5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (57 commits)
        s390/mm: cleanup init_new_context() callback
        s390/mm: cleanup virtual memory constants usage
        s390/mm: remove page table downgrade support
        s390/qdio: set qdio_irq->cdev at allocation time
        s390/qdio: remove unused function declarations
        s390/ccwgroup: remove pm support
        s390/ap: remove power management code from ap bus and drivers
        s390/zcrypt: use kvmalloc instead of kmalloc for 256k alloc
        s390/mm: cleanup arch_get_unmapped_area() and friends
        s390/ism: remove pm support
        s390/cio: use fallthrough;
        s390/vfio: use fallthrough;
        s390/zcrypt: use fallthrough;
        s390: use fallthrough;
        s390/cpum_sf: Fix wrong page count in error message
        s390/diag: fix display of diagnose call statistics
        s390/ap: Remove ap device suspend and resume callbacks
        s390/pci: Improve handling of unset UID
        s390/pci: Fix zpci_alloc_domain() over allocation
        s390/qdio: pass ISC as parameter to chsc_sadc()
        ...
      ad0bf4eb
  3. 03 Apr, 2020 24 commits
    • Linus Torvalds's avatar
      Merge tag 'arc-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 5364abc5
      Linus Torvalds authored
      Pull ARC updates from Vineet Gupta:
      
       - Support for DSP enabled userspace (save/restore regs)
      
       - Misc other platform fixes
      
      * tag 'arc-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: allow userspace DSP applications to use AGU extensions
        ARC: add support for DSP-enabled userspace applications
        ARC: handle DSP presence in HW
        ARC: add helpers to sanitize config options
        ARC: [plat-axs10x]: PGU: remove unused encoder-slave property
      5364abc5
    • Linus Torvalds's avatar
      Merge tag 'arm-dt-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 854e80bc
      Linus Torvalds authored
      Pull ARM devicetree updates from Arnd Bergmann:
       "Most of the commits are for additional hardware support and minor
        fixes for existing machines for all the usual platforms: qcom,
        amlogic, at91, gemini, mediatek, ti, socfpga, i.mx, layerscape,
        uniphier, rockchip, exynos, ux500, mvebu, tegra, stm32, renesas,
        sunxi, broadcom, omap, and versatile.
      
        The conversion of binding files to machine-readable yaml format
        continues, along with fixes found during the validation. Andre
        Przywara takes over maintainership for the old Calxeda Highbank
        platform and provides a number of updates.
      
        The OMAP2+ platforms see a continued move from platform data into dts
        files, for many devices that relied on a mix of auxiliary data in
        addition to the DT description
      
        A moderate number of new SoCs and machines are added, here is a full
        list:
      
         - Two new Qualcomm SoCs with their evaluation boards: Snapdragon 865
           (SM8250) is the current high-end phone chip, and IPQ6018 is a new
           WiFi-6 router chip.
      
         - Mediatek MT8516 application processor SoC for voice assistants,
           along with the "pumpkin" development board
      
         - NXP i.MX8M Plus SoC, a variant of the popular i.MX8M, along with an
           evaluation board.
      
         - Kontron "sl28" board family based on NXP LS1028A
      
         - Eleven variations of the new i.MX6 TechNexion Pico board, combining
           the "dwarf", "hobbit", "nymph" and "pi" baseboards with i.MX6/i.MX7
           SoM carriers
      
         - Three additional variants of the Toradex Colibri board family, all
           based on versions of the NXP i.MX7.
      
         - The Pinebook Pro laptop based on Rockchip RK3399
      
         - Samsung S7710 Galaxy Xcover 2, a 2013 vintage Android phone based
           on the ST-Ericsson u8500 platform
      
         - DH Electronics DHCOM SoM and PDK2 rev. 400 carrier based on
           STMicroelectronics stm32mp157
      
         - Renesas M3ULCB starter kit for R-Car M3-W+
      
         - Hoperun HiHope development board with Renesas RZ/G2M
      
         - Pine64 PineTab tablet and PinePhone phone, both based on Allwinner
           A64
      
         - Linutronix Testbox v2 for the Lamobo R1 router, based on Allwinner
           A20
      
         - PocketBook Touch Lux 3 ebook reader, based on Allwinner A13"
      
      * tag 'arm-dt-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (520 commits)
        ARM: dts: ux500: Fix missing node renames
        arm64: dts: Revert "specify console via command line"
        MAINTAINERS: Update Calxeda Highbank maintainership
        arm: dts: calxeda: Group port-phys and sgpio-gpio items
        arm: dts: calxeda: Fix interrupt grouping
        arm: dts: calxeda: Provide UART clock
        arm: dts: calxeda: Basic DT file fixes
        arm64: dts: specify console via command line
        ARM: dts: at91: sama5d27_wlsom1_ek: add USB device node
        ARM: dts: gemini: Add thermal zone to DIR-685
        ARM: dts: gemini: Rename IDE nodes
        ARM: socfpga: arria10: Add ptp_ref clock to ethernet nodes
        arm64: dts: ti: k3-j721e-mcu: add scm node and phy-gmii-sel nodes
        arm64: dts: ti: k3-am65-mcu: add phy-gmii-sel node
        arm64: dts: ti: k3-am65-mcu: Add DMA entries for ADC
        arm64: dts: ti: k3-am65-main: Add DMA entries for main_spi0
        arm64: dts: ti: k3-j721e-mcu-wakeup: Add DMA entries for ADC
        arm64: dts: ti: k3-am65: Add clocks to dwc3 nodes
        arm64: dts: meson-g12b-odroid-n2: add SPIFC controller node
        arm64: dts: khadas-vim3: add SPIFC controller node
        ...
      854e80bc
    • Linus Torvalds's avatar
      Merge tag 'arm-defconfig-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 9b48c8f1
      Linus Torvalds authored
      Pull ARM defconfig updates from Arnd Bergmann:
       "As usual, tons of new drivers and other options got merged and are now
        enabled in the defconfig files, usually as loadable modules"
      
      * tag 'arm-defconfig-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (45 commits)
        ARM: omap2plus_defconfig: Update for moved and dropped options
        ARM: omap2plus_defconfig: Enable ina2xx_adc as a loadable module
        ARM: omap2plus_defconfig: Enable McPDM optional PMIC clock as modules
        ARM: omap2plus_defconfig: Enable more droid4 devices as loadable modules
        ARM: omap2plus_defconfig: Enable zram as loadable modules
        ARM: omap2plus_defconfig: Enable simple-pm-bus
        arm64: defconfig: Enable Qualcomm SDM845 audio configs
        arm64: defconfig: Enable e1000 device
        arm64: defconfig: Enable PHY devices used on QorIQ boards
        arm64: defconfig: Enable RTC devices for QorIQ boards
        arm64: defconfig: Enable flash device drivers for QorIQ boards
        arm64: defconfig: Enable ARM Mali display driver
        arm64: defconfig: Enable QorIQ GPIO driver
        arm64: defconfig: Enable QorIQ IFC NAND controller driver
        arm64: defconfig: Enable ARM SBSA watchdog driver
        arm64: defconfig: Enable QorIQ cpufreq driver
        arm64: defconfig: Enable NXP/FSL SPI controller drivers
        arm64: defconfig: Enable ENETC Ethernet controller and FELIX switch
        arm64: defconfig: Enable QorIQ DPAA2 drivers
        arm64: defconfig: Enable QorIQ DPAA1 drivers
        ...
      9b48c8f1
    • Stephen Boyd's avatar
      Merge branches 'clk-unisoc', 'clk-tegra', 'clk-qcom' and 'clk-imx' into clk-next · 28ecaf1c
      Stephen Boyd authored
       - Add support for Unisoc SC9863A clks
       - GPU GX GDSC support on Qualcomm sc7180
       - Qualcomm SM8250 RPMh and MSM8976 RPM clks
       - Qualcomm SM8250 Global Clock Controller (GCC) support
       - Qualcomm SC7180 Modem Clock Controller (MSS CC) support
      
      * clk-unisoc:
        clk: sprd: fix to get a correct ibias of pll
        clk: sprd: add clocks support for SC9863A
        clk: sprd: support to get regmap from parent node
        clk: sprd: Add macros for referencing parents without strings
        clk: sprd: Add dt-bindings include file for SC9863A
        dt-bindings: clk: sprd: add bindings for sc9863a clock controller
        dt-bindings: clk: sprd: rename the common file name sprd.txt to SoC specific
        clk: sprd: add gate for pll clocks
      
      * clk-tegra:
        clk: tegra: Use NULL for pointer initialization
        clk: tegra: Remove audio clocks configuration from clock driver
        clk: tegra: Remove tegra_pmc_clk_init along with clk ids
        clk: tegra: Remove CLK_M_DIV fixed clocks
        clk: tegra: Fix Tegra PMC clock out parents
        clk: tegra: Add Tegra OSC to clock lookup
        clk: tegra: Add support for OSC_DIV fixed clocks
        dt-bindings: soc: tegra-pmc: Add ID for Tegra PMC 32 kHz blink clock
        dt-bindings: soc: tegra-pmc: Add Tegra PMC clock bindings
        dt-bindings: tegra: Convert Tegra PMC bindings to YAML
        dt-bindings: clock: tegra: Add IDs for OSC clocks
      
      * clk-qcom: (21 commits)
        clk: qcom: rpmh: Drop unnecessary semicolons
        clk: qcom: rpmh: Simplify clk_rpmh_bcm_send_cmd()
        clk: qcom: gcc: Add USB3 PIPE clock and GDSC for SM8150
        ipq806x: gcc: Added the enable regs and mask for PRNG
        clk: qcom: Add modem clock controller driver for SC7180
        clk: qcom: gcc: Add support for modem clocks in GCC
        dt-bindings: clock: Add YAML schemas for the QCOM MSS clock bindings
        clk: qcom: clk-rpm: add missing rpm clk for ipq806x
        clk: qcom: gcc: Add global clock controller driver for SM8250
        dt-bindings: clock: Add SM8250 GCC clock bindings
        clk: qcom: clk-alpha-pll: Add support for controlling Lucid PLLs
        clk: qcom: clk-alpha-pll: Refactor trion PLL
        clk: qcom: clk-alpha-pll: Use common names for defines
        dt-bindings: clock: rpmcc: Document msm8976 compatible
        clk: qcom: smd: Add support for MSM8976 rpm clocks
        clk: qcom: clk-rpmh: Wait for completion when enabling clocks
        clk: qcom: rpmh: Add support for RPMH clocks on SM8250
        dt-bindings: clock: Add RPMHCC bindings for SM8250
        clk: qcom: alpha-pll: Make error prints more informative
        clk: qcom: gpucc: Add support for GX GDSC for SC7180
        ...
      
      * clk-imx: (43 commits)
        dt-bindings: imx8mm-clock: Fix the file path
        dt-bindings: imx8mq-clock: Fix the file path
        clk: imx: clk-gate2: Pass the device to the register function
        clk: imx7d: Add PXP clock
        clk: imx8mq: A53 core clock no need to be critical
        clk: imx8mp: A53 core clock no need to be critical
        clk: imx8mm: A53 core clock no need to be critical
        clk: imx8mn: A53 core clock no need to be critical
        clk: imx: pllv4: use prepare/unprepare
        clk: imx: pfdv2: determine best parent rate
        clk: imx: pfdv2: switch to use determine_rate
        clk: imx: Fix division by zero warning on pfdv2
        clk: imx: clk-sscg-pll: Drop unnecessary initialization
        clk: imx: pll14xx: Return error if pll type is invalid
        clk: imx: imx8mp: fix a53 cpu clock
        clk: imx: imx8mn: fix a53 cpu clock
        clk: imx: imx8mm: fix a53 cpu clock
        clk: imx: imx8mq: fix a53 cpu clock
        clk: imx8mp: Rename the IMX8MP_CLK_HDMI_27M clock
        clk: imx8mn: Remove unused includes
        ...
      28ecaf1c
    • Stephen Boyd's avatar
      Merge branches 'clk-ti', 'clk-ingenic', 'clk-typo', 'clk-at91', 'clk-mmp2' and... · 53a2cc5c
      Stephen Boyd authored
      Merge branches 'clk-ti', 'clk-ingenic', 'clk-typo', 'clk-at91', 'clk-mmp2' and 'clk-arm-icst' into clk-next
      
       - EHRPWM's TimeBase clock(TBCLK) for TI AM654 SoCs
       - Support PMC clks on at91sam9n12, at91rm9200, sama5d3, and at91sam9g45 SoCs
       - Fixes and improvements for the Marvell MMP2/MMP3 SoC clk drivers
      
      * clk-ti:
        clk: keystone: Add new driver to handle syscon based clocks
        dt-bindings: clock: Add binding documentation for TI EHRPWM TBCLK
      
      * clk-ingenic:
        clk: ingenic/TCU: Fix round_rate returning error
        clk: ingenic/jz4770: Exit with error if CGU init failed
        clk: JZ4780: Add function for enable the second core.
        clk: Ingenic: Add support for TCU of X1000.
      
      * clk-typo:
        clk: Fix trivia typo in comment exlusive => exclusive
      
      * clk-at91:
        clk: at91: add at91rm9200 pmc driver
        clk: at91: add at91sam9n12 pmc driver
        clk: at91: add sama5d3 pmc driver
        clk: at91: add at91sam9g45 pmc driver
        clk: at91: usb: introduce num_parents in driver's structure
        clk: at91: usb: use proper usbs_mask
        clk: at91: sam9x60: fix usb clock parents
        clk: at91: usb: continue if clk_hw_round_rate() return zero
        clk: at91: sam9x60: Don't use audio PLL
      
      * clk-mmp2:
        clk: mmp2: Fix bit masks for LCDC I/O and pixel clocks
        clk: mmp2: Add clock for fifth SD HCI on MMP3
        dt-bindings: marvell,mmp2: Add clock id for the fifth SD HCI on MMP3
        clk: mmp2: Add clocks for the thermal sensors
        dt-bindings: marvell,mmp2: Add clock ids for the thermal sensors
        clk: mmp2: add the GPU clocks
        dt-bindings: marvell,mmp2: Add clock ids for the GPU clocks
        clk: mmp2: Add PLLs that are available on MMP3
        dt-bindings: marvell,mmp2: Add clock ids for MMP3 PLLs
        clk: mmp2: Check for MMP3
        dt-bindings: clock: Add MMP3 compatible string
        clk: mmp2: Stop pretending PLL outputs are constant
        clk: mmp2: Add support for PLL clock sources
        dt-bindings: clock: Convert marvell,mmp2-clock to json-schema
        clk: mmp2: Constify some strings
        clk: mmp2: Remove a unused prototype
      
      * clk-arm-icst:
        MAINTAINERS: dt: update reference for arm-integrator.txt
        clk: versatile: Add device tree probing for IM-PD1 clocks
        clk: versatile: Export icst_clk_setup()
        dt-bindings: clock: Create YAML schema for ICST clocks
      53a2cc5c
    • Stephen Boyd's avatar
      Merge branches 'clk-phase-errors', 'clk-amlogic', 'clk-renesas' and 'clk-allwinner' into clk-next · 2d11e9a1
      Stephen Boyd authored
       - Don't show clk phase when it is invalid
      
      * clk-phase-errors:
        clk: rockchip: fix mmc get phase
        clk: Fix phase init check
        clk: Bail out when calculating phase fails during clk registration
        clk: Move rate and accuracy recalc to mostly consumer APIs
        clk: Use 'parent' to shorten lines in __clk_core_init()
        clk: Don't cache errors from clk_ops::get_phase()
      
      * clk-amlogic:
        clk: meson: meson8b: set audio output clock hierarchy
        clk: meson: g12a: add support for the SPICC SCLK Source clocks
        dt-bindings: clk: g12a-clkc: add SPICC SCLK Source clock IDs
        clk: meson: gxbb: set audio output clock hierarchy
        clk: meson: gxbb: add the gxl internal dac gate
        dt-bindings: clk: meson: add the gxl internal dac gate
      
      * clk-renesas:
        dt-bindings: clock: renesas: cpg-mssr: Convert to json-schema
        clk: renesas: rcar-usb2-clock-sel: Add reset_control
        clk: renesas: rcar-usb2-clock-sel: Add multiple clocks management
        dt-bindings: clock: renesas: rcar-usb2-clock-sel: Add power-domains and resets properties
        dt-bindings: clock: renesas: rcar-usb2-clock-sel: Fix clock[-name]s properties
        clk: renesas: Remove use of ARCH_R8A7795
        clk: renesas: r8a77965: Add RPC clocks
        clk: renesas: r8a7796: Add RPC clocks
        clk: renesas: r8a7795: Add RPC clocks
        clk: renesas: rcar-gen3: Add CCREE clocks
      
      * clk-allwinner:
        clk: sunxi-ng: sun8i-de2: Sort structures
        clk: sunxi-ng: sun8i-de2: Add R40 specific quirks
        clk: sunxi-ng: sun8i-de2: Add rotation core clocks and reset for A83T
        clk: sunxi-ng: sun8i-de2: Don't reuse A83T resets
        clk: sunxi-ng: sun8i-de2: H6 doesn't have rotate core
        clk: sunxi-ng: sun8i-de2: Add rotation core clocks and reset for A64
        clk: sunxi-ng: sun8i-de2: Split out H5 definitions
        clk: sunxi-ng: a64: Export MBUS clock
      2d11e9a1
    • Stephen Boyd's avatar
      Merge branches 'clk-samsung', 'clk-formatting', 'clk-si5341' and 'clk-socfpga' into clk-next · ea0a1fb7
      Stephen Boyd authored
      * clk-samsung:
        clk: samsung: Remove redundant check in samsung_cmu_register_one
      
      * clk-formatting:
        clk: Fix continuation of of_clk_detect_critical()
      
      * clk-si5341:
        clk, clk-si5341: Support multiple input ports
      
      * clk-socfpga:
        clk: socfpga: stratix10: simplify parameter passing
        clk: stratix10: use do_div() for 64-bit calculation
      ea0a1fb7
    • Linus Torvalds's avatar
      Merge tag 'arm-drivers-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · d18292dc
      Linus Torvalds authored
      Pull ARM driver updates from Arnd Bergmann:
       "These are the usual updates for SoC specific device drivers and
        related subsystems that don't have their own top-level maintainers:
      
         - ARM SCMI/SCPI updates to allow pluggable transport layers
      
         - TEE subsystem cleanups
      
         - A new driver for the Amlogic secure power domain controller
      
         - Various driver updates for the NXP Layerscape DPAA2, NXP i.MX SCU
           and TI OMAP2+ sysc drivers.
      
         - Qualcomm SoC driver updates, including a new library module for
           "protection domain" notifications
      
         - Lots of smaller bugfixes and cleanups in other drivers"
      
      * tag 'arm-drivers-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (70 commits)
        soc: fsl: qe: fix sparse warnings for ucc_slow.c
        soc: fsl: qe: ucc_slow: remove 0 assignment for kzalloc'ed structure
        soc: fsl: qe: fix sparse warnings for ucc_fast.c
        soc: fsl: qe: fix sparse warnings for qe_ic.c
        soc: fsl: qe: fix sparse warnings for ucc.c
        soc: fsl: qe: fix sparse warning for qe_common.c
        soc: fsl: qe: fix sparse warnings for qe.c
        soc: qcom: Fix QCOM_APR dependencies
        soc: qcom: pdr: Avoid uninitialized use of found in pdr_indication_cb
        soc: imx: drop COMPILE_TEST for IMX_SCU_SOC
        firmware: imx: add COMPILE_TEST for IMX_SCU driver
        soc: imx: gpc: fix power up sequencing
        soc: imx: increase build coverage for imx8m soc driver
        soc: qcom: apr: Add avs/audio tracking functionality
        dt-bindings: soc: qcom: apr: Add protection domain bindings
        soc: qcom: Introduce Protection Domain Restart helpers
        devicetree: bindings: firmware: add ipq806x to qcom_scm
        memory: tegra: Correct debugfs clk rate-range on Tegra124
        memory: tegra: Correct debugfs clk rate-range on Tegra30
        memory: tegra: Correct debugfs clk rate-range on Tegra20
        ...
      d18292dc
    • Linus Torvalds's avatar
      Merge tag 'arm-soc-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 0e8fb69f
      Linus Torvalds authored
      Pull ARM SoC updates from Arnd Bergmann:
       "The code changes are mostly for 32-bit platforms and include:
      
         - Lots of updates for the Nvidia Tegra platform, including cpuidle,
           pmc, and dt-binding changes
      
         - Microchip at91 power management updates for the recently added
           sam9x60 SoC
      
         - Treewide setup_irq deprecation by afzal mohammed
      
         - STMicroelectronics stm32 gains earlycon support
      
         - Renesas platforms with Cortex-A9 can now use the global timer
      
         - Some TI OMAP2+ platforms gain cpuidle support
      
         - Various cleanups for the i.MX6 and Orion platforms, as well as
           Kconfig files across all platforms"
      
      * tag 'arm-soc-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (75 commits)
        ARM: qcom: Add support for IPQ40xx
        ARM: mmp: replace setup_irq() by request_irq()
        ARM: cns3xxx: replace setup_irq() by request_irq()
        ARM: spear: replace setup_irq() by request_irq()
        ARM: ep93xx: Replace setup_irq() by request_irq()
        ARM: iop32x: replace setup_irq() by request_irq()
        arm: mach-dove: Mark dove_io_desc as __maybe_unused
        ARM: orion: replace setup_irq() by request_irq()
        ARM: debug: stm32: add UART early console support for STM32MP1
        ARM: debug: stm32: add UART early console support for STM32H7
        ARM: debug: stm32: add UART early console configuration for STM32F7
        ARM: debug: stm32: add UART early console configuration for STM32F4
        cpuidle: tegra: Disable CC6 state if LP2 unavailable
        cpuidle: tegra: Squash Tegra114 driver into the common driver
        cpuidle: tegra: Squash Tegra30 driver into the common driver
        cpuidle: Refactor and move out NVIDIA Tegra20 driver into drivers/cpuidle
        ARM: tegra: cpuidle: Remove unnecessary memory barrier
        ARM: tegra: cpuidle: Make abort_flag atomic
        ARM: tegra: cpuidle: Handle case where secondary CPU hangs on entering LP2
        ARM: tegra: Make outer_disable() open-coded
        ...
      0e8fb69f
    • Linus Torvalds's avatar
      Merge tag 'for-5.7/dm-fixes' of... · de3c913c
      Linus Torvalds authored
      Merge tag 'for-5.7/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mike Snitzer:
      
       - Fix excessive bio splitting that caused performance regressions
      
       - Fix logic bug in DM integrity discard support's integrity tag testing
      
       - Fix DM integrity warning on ppc64le due to missing cast
      
      * tag 'for-5.7/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm integrity: fix logic bug in integrity tag testing
        Revert "dm: always call blk_queue_split() in dm_process_bio()"
        dm integrity: fix ppc64le warning
      de3c913c
    • Linus Torvalds's avatar
      Merge tag 'pci-v5.7-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 86f26a77
      Linus Torvalds authored
      Pull pci updates from Bjorn Helgaas:
       "Enumeration:
      
         - Revert sysfs "rescan" renames that broke apps (Kelsey Skunberg)
      
         - Add more 32 GT/s link speed decoding and improve the implementation
           (Yicong Yang)
      
        Resource management:
      
         - Add support for sizing programmable host bridge apertures and fix a
           related alpha Nautilus regression (Ivan Kokshaysky)
      
        Interrupts:
      
         - Add boot interrupt quirk mechanism for Xeon chipsets and document
           boot interrupts (Sean V Kelley)
      
        PCIe native device hotplug:
      
         - When possible, disable in-band presence detect and use PDS
           (Alexandru Gagniuc)
      
         - Add DMI table for devices that don't use in-band presence detection
           but don't advertise that correctly (Stuart Hayes)
      
         - Fix hang when powering slots up/down via sysfs (Lukas Wunner)
      
         - Fix an MSI interrupt race (Stuart Hayes)
      
        Virtualization:
      
         - Add ACS quirks for Zhaoxin devices (Raymond Pang)
      
        Error handling:
      
         - Add Error Disconnect Recover (EDR) support so firmware can report
           devices disconnected via DPC and we can try to recover (Kuppuswamy
           Sathyanarayanan)
      
        Peer-to-peer DMA:
      
         - Add Intel Sky Lake-E Root Ports B, C, D to the whitelist (Andrew
           Maier)
      
        ASPM:
      
         - Reduce severity of common clock config message (Chris Packham)
      
         - Clear the correct bits when enabling L1 substates, so we don't go
           to the wrong state (Yicong Yang)
      
        Endpoint framework:
      
         - Replace EPF linkup ops with notifier call chain and improve locking
           (Kishon Vijay Abraham I)
      
         - Fix concurrent memory allocation in OB address region (Kishon Vijay
           Abraham I)
      
         - Move PF function number assignment to EPC core to support multiple
           function creation methods (Kishon Vijay Abraham I)
      
         - Fix issue with clearing configfs "start" entry (Kunihiko Hayashi)
      
         - Fix issue with endpoint MSI-X ignoring BAR Indicator and Table
           Offset (Kishon Vijay Abraham I)
      
         - Add support for testing DMA transfers (Kishon Vijay Abraham I)
      
         - Add support for testing > 10 endpoint devices (Kishon Vijay Abraham I)
      
         - Add support for tests to clear IRQ (Kishon Vijay Abraham I)
      
         - Add common DT schema for endpoint controllers (Kishon Vijay Abraham I)
      
        Amlogic Meson PCIe controller driver:
      
         - Add DT bindings for AXG PCIe PHY, shared MIPI/PCIe analog PHY (Remi
           Pommarel)
      
         - Add Amlogic AXG PCIe PHY, AXG MIPI/PCIe analog PHY drivers (Remi
           Pommarel)
      
        Cadence PCIe controller driver:
      
         - Add Root Complex/Endpoint DT schema for Cadence PCIe (Kishon Vijay
           Abraham I)
      
        Intel VMD host bridge driver:
      
         - Add two VMD Device IDs that require bus restriction mode (Sushma
           Kalakota)
      
        Mobiveil PCIe controller driver:
      
         - Refactor and modularize mobiveil driver (Hou Zhiqiang)
      
         - Add support for Mobiveil GPEX Gen4 host (Hou Zhiqiang)
      
        Microsoft Hyper-V host bridge driver:
      
         - Add support for Hyper-V PCI protocol version 1.3 and
           PCI_BUS_RELATIONS2 (Long Li)
      
         - Refactor to prepare for virtual PCI on non-x86 architectures (Boqun
           Feng)
      
         - Fix memory leak in hv_pci_probe()'s error path (Dexuan Cui)
      
        NVIDIA Tegra PCIe controller driver:
      
         - Use pci_parse_request_of_pci_ranges() (Rob Herring)
      
         - Add support for endpoint mode and related DT updates (Vidya Sagar)
      
         - Reduce -EPROBE_DEFER error message log level (Thierry Reding)
      
        Qualcomm PCIe controller driver:
      
         - Restrict class fixup to specific Qualcomm devices (Bjorn Andersson)
      
        Synopsys DesignWare PCIe controller driver:
      
         - Refactor core initialization code for endpoint mode (Vidya Sagar)
      
         - Fix endpoint MSI-X to use correct table address (Kishon Vijay
           Abraham I)
      
        TI DRA7xx PCIe controller driver:
      
         - Fix MSI IRQ handling (Vignesh Raghavendra)
      
        TI Keystone PCIe controller driver:
      
         - Allow AM654 endpoint to raise MSI-X interrupt (Kishon Vijay Abraham I)
      
        Miscellaneous:
      
         - Quirk ASMedia XHCI USB to avoid "PME# from D0" defect (Kai-Heng
           Feng)
      
         - Use ioremap(), not phys_to_virt(), for platform ROM to fix video
           ROM mapping with CONFIG_HIGHMEM (Mikel Rychliski)"
      
      * tag 'pci-v5.7-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (96 commits)
        misc: pci_endpoint_test: remove duplicate macro PCI_ENDPOINT_TEST_STATUS
        PCI: tegra: Print -EPROBE_DEFER error message at debug level
        misc: pci_endpoint_test: Use full pci-endpoint-test name in request_irq()
        misc: pci_endpoint_test: Fix to support > 10 pci-endpoint-test devices
        tools: PCI: Add 'e' to clear IRQ
        misc: pci_endpoint_test: Add ioctl to clear IRQ
        misc: pci_endpoint_test: Avoid using module parameter to determine irqtype
        PCI: keystone: Allow AM654 PCIe Endpoint to raise MSI-X interrupt
        PCI: dwc: Fix dw_pcie_ep_raise_msix_irq() to get correct MSI-X table address
        PCI: endpoint: Fix ->set_msix() to take BIR and offset as arguments
        misc: pci_endpoint_test: Add support to get DMA option from userspace
        tools: PCI: Add 'd' command line option to support DMA
        misc: pci_endpoint_test: Use streaming DMA APIs for buffer allocation
        PCI: endpoint: functions/pci-epf-test: Print throughput information
        PCI: endpoint: functions/pci-epf-test: Add DMA support to transfer data
        PCI: pciehp: Fix MSI interrupt race
        PCI: pciehp: Fix indefinite wait on sysfs requests
        PCI: endpoint: Fix clearing start entry in configfs
        PCI: tegra: Add support for PCIe endpoint mode in Tegra194
        PCI: sysfs: Revert "rescan" file renames
        ...
      86f26a77
    • Arnd Bergmann's avatar
      Merge branch 'arm/late' into arm/dt · 8bdbf169
      Arnd Bergmann authored
      Include originally "late" updates for OMAP and Qualcomm,
      now that it's not late any more.
      
      * arm/late: (122 commits)
        ARM: OMAP2+: Drop legacy platform data for ti81xx edma
        ARM: dts: Configure interconnect target module for ti816x edma
        ARM: dts: Configure interconnect target module for dm814x tptc3
        ARM: dts: Configure interconnect target module for dm814x tptc2
        ARM: dts: Configure interconnect target module for dm814x tptc1
        ARM: dts: Configure interconnect target module for dm814x tptc0
        ARM: dts: Configure interconnect target module for dm814x tpcc
        ARM: OMAP2+: Drop legacy platform data for dm814x cpsw
        ARM: dts: Configure interconnect target module for dm814x cpsw
        clk: ti: Fix dm814x clkctrl for ethernet
        arm64: dts: qcom: sdm845-mtp: Relocate remoteproc firmware
        arm64: dts: sdm845: add IPA information
        arm64: dts: qcom: db845c: add analog audio support
        arm64: dts: qcom: sdm845: add pinctrl nodes for quat i2s
        arm64: dts: qcom: c630: Enable audio support
        arm64: dts: qcom: sdm845: add apr nodes
        arm64: dts: qcom: sdm845: add slimbus nodes
        arm64: dts: qcom: sc7180: Update reg names for SDHC
        arm64: dts: qcom: qcs404: Enable CQE support for eMMC
        arm64: dts: msm8916: Add fastrpc node
        ...
      8bdbf169
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 0ad5b053
      Linus Torvalds authored
      Pull char/misc driver updates from Greg KH:
       "Here is the big set of char/misc/other driver patches for 5.7-rc1.
      
        Lots of things in here, and it's later than expected due to some
        reverts to resolve some reported issues. All is now clean with no
        reported problems in linux-next.
      
        Included in here is:
         - interconnect updates
         - mei driver updates
         - uio updates
         - nvmem driver updates
         - soundwire updates
         - binderfs updates
         - coresight updates
         - habanalabs updates
         - mhi new bus type and core
         - extcon driver updates
         - some Kconfig cleanups
         - other small misc driver cleanups and updates
      
        As mentioned, all have been in linux-next for a while, and with the
        last two reverts, all is calm and good"
      
      * tag 'char-misc-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (174 commits)
        Revert "driver core: platform: Initialize dma_parms for platform devices"
        Revert "amba: Initialize dma_parms for amba devices"
        amba: Initialize dma_parms for amba devices
        driver core: platform: Initialize dma_parms for platform devices
        bus: mhi: core: Drop the references to mhi_dev in mhi_destroy_device()
        bus: mhi: core: Initialize bhie field in mhi_cntrl for RDDM capture
        bus: mhi: core: Add support for reading MHI info from device
        misc: rtsx: set correct pcr_ops for rts522A
        speakup: misc: Use dynamic minor numbers for speakup devices
        mei: me: add cedar fork device ids
        coresight: do not use the BIT() macro in the UAPI header
        Documentation: provide IBM contacts for embargoed hardware
        nvmem: core: remove nvmem_sysfs_get_groups()
        nvmem: core: use is_bin_visible for permissions
        nvmem: core: use device_register and device_unregister
        nvmem: core: add root_only member to nvmem device struct
        extcon: axp288: Add wakeup support
        extcon: Mark extcon_get_edev_name() function as exported symbol
        extcon: palmas: Hide error messages if gpio returns -EPROBE_DEFER
        dt-bindings: extcon: usbc-cros-ec: convert extcon-usbc-cros-ec.txt to yaml format
        ...
      0ad5b053
    • Linus Torvalds's avatar
      Merge tag 'spdx-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx · ff2ae607
      Linus Torvalds authored
      Pull SPDX updates from Greg KH:
       "Here are three SPDX patches for 5.7-rc1.
      
        One fixes up the SPDX tag for a single driver, while the other two go
        through the tree and add SPDX tags for all of the .gitignore files as
        needed.
      
        Nothing too complex, but you will get a merge conflict with your
        current tree, that should be trivial to handle (one file modified by
        two things, one file deleted.)
      
        All three of these have been in linux-next for a while, with no
        reported issues other than the merge conflict"
      
      * tag 'spdx-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx:
        ASoC: MT6660: make spdxcheck.py happy
        .gitignore: add SPDX License Identifier
        .gitignore: remove too obvious comments
      ff2ae607
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.7-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 6cd3d401
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - a cleanup patch removing an unused function
      
       - a small fix for the xen pciback driver
      
       - a series for making the unwinder hyppay with the Xen PV guest idle
         task stacks
      
      * tag 'for-linus-5.7-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        x86/xen: Make the secondary CPU idle tasks reliable
        x86/xen: Make the boot CPU idle task reliable
        xen-pciback: fix INTERRUPT_TYPE_* defines
        xen/xenbus: remove unused xenbus_map_ring()
      6cd3d401
    • Linus Torvalds's avatar
      Merge branch 'for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 0adb8bc0
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
       "Nothing too interesting. Just two trivial patches"
      
      * 'for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: Mark up unlocked access to wq->first_flusher
        workqueue: Make workqueue_init*() return void
      0adb8bc0
    • Linus Torvalds's avatar
      Merge branch 'for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · d8836005
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
      
       - Christian extended clone3 so that processes can be spawned into
         cgroups directly.
      
         This is not only neat in terms of semantics but also avoids grabbing
         the global cgroup_threadgroup_rwsem for migration.
      
       - Daniel added !root xattr support to cgroupfs.
      
         Userland already uses xattrs on cgroupfs for bookkeeping. This will
         allow delegated cgroups to support such usages.
      
       - Prateek tried to make cpuset hotplug handling synchronous but that
         led to possible deadlock scenarios. Reverted.
      
       - Other minor changes including release_agent_path handling cleanup.
      
      * 'for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        docs: cgroup-v1: Document the cpuset_v2_mode mount option
        Revert "cpuset: Make cpuset hotplug synchronous"
        cgroupfs: Support user xattrs
        kernfs: Add option to enable user xattrs
        kernfs: Add removed_size out param for simple_xattr_set
        kernfs: kvmalloc xattr value instead of kmalloc
        cgroup: Restructure release_agent_path handling
        selftests/cgroup: add tests for cloning into cgroups
        clone3: allow spawning processes into cgroups
        cgroup: add cgroup_may_write() helper
        cgroup: refactor fork helpers
        cgroup: add cgroup_get_from_file() helper
        cgroup: unify attach permission checking
        cpuset: Make cpuset hotplug synchronous
        cgroup.c: Use built-in RCU list checking
        kselftest/cgroup: add cgroup destruction test
        cgroup: Clean up css_set task traversal
      d8836005
    • Linus Torvalds's avatar
      Merge tag 'kgdb-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux · f2c3bec3
      Linus Torvalds authored
      Pull kgdb updates from Daniel Thompson:
       "Pretty quiet this cycle. Just a couple of small fixes from myself both
        of which were reviewed by Doug Anderson to keep me honest (thanks)"
      
      * tag 'kgdb-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux:
        kdb: Censor attempts to set PROMPT without ENABLE_MEM_READ
        kdb: Eliminate strncpy() warnings by replacing with strscpy()
      f2c3bec3
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · a943353d
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - replace setup_irq() with request_irq() for ebsa110, footbridge, rpc
      
       - fix clang assembly error in kexec code
      
       - remove .fixup section in boot stub
      
       - decompressor / EFI cache flushing updates
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 8966/1: rpc: replace setup_irq() by request_irq()
        ARM: 8965/2: footbridge: replace setup_irq() by request_irq()
        ARM: 8964/1: ebsa110: replace setup_irq() by request_irq()
        ARM: 8962/1: kexec: drop invalid assembly argument
        ARM: decompressor: switch to by-VA cache maintenance for v7 cores
        ARM: decompressor: prepare cache_clean_flush for doing by-VA maintenance
        ARM: decompressor: factor out routine to obtain the inflated image size
        ARM: 8959/1: Remove unused .fixup section in boot stub
        ARM: allow unwinder to unwind recursive functions
      a943353d
    • Nathan Chancellor's avatar
      remoteproc/omap: Fix set_load call in omap_rproc_request_timer · e6d05acd
      Nathan Chancellor authored
      When building arm allyesconfig:
      
      drivers/remoteproc/omap_remoteproc.c:174:44: error: too many arguments
      to function call, expected 2, have 3
              timer->timer_ops->set_load(timer->odt, 0, 0);
              ~~~~~~~~~~~~~~~~~~~~~~~~~~                ^
      1 error generated.
      
      This is due to commit 02e6d546 ("clocksource/drivers/timer-ti-dm:
      Enable autoreload in set_pwm") in the clockevents tree interacting with
      commit e28edc57 ("remoteproc/omap: Request a timer(s) for remoteproc
      usage") from the rpmsg tree.
      
      This should have been fixed during the merge of the remoteproc tree
      since it happened after the clockevents tree merge; however, it does not
      look like my email was noticed by either maintainer and I did not pay
      attention when the pull was sent since I was on CC.
      
      Fixes: c6570114 ("Merge tag 'rproc-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc")
      Link: https://lore.kernel.org/lkml/20200327185055.GA22438@ubuntu-m2-xlarge-x86/Signed-off-by: default avatarNathan Chancellor <natechancellor@gmail.com>
      Acked-by: default avatarSuman Anna <s-anna@ti.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e6d05acd
    • Mikulas Patocka's avatar
      dm integrity: fix logic bug in integrity tag testing · 8267d8fb
      Mikulas Patocka authored
      If all the bytes are equal to DISCARD_FILLER, we want to accept the
      buffer. If any of the bytes are different, we must do thorough
      tag-by-tag checking.
      
      The condition was inverted.
      
      Fixes: 84597a44 ("dm integrity: add optional discard support")
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      8267d8fb
    • Waiman Long's avatar
      docs: cgroup-v1: Document the cpuset_v2_mode mount option · 0c05b9bd
      Waiman Long authored
      The cpuset in cgroup v1 accepts a special "cpuset_v2_mode" mount
      option that make cpuset.cpus and cpuset.mems behave more like those in
      cgroup v2.  Document it to make other people more aware of this feature
      that can be useful in some circumstances.
      Signed-off-by: default avatarWaiman Long <longman@redhat.com>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      0c05b9bd
    • Mike Snitzer's avatar
      Revert "dm: always call blk_queue_split() in dm_process_bio()" · 120c9257
      Mike Snitzer authored
      This reverts commit effd58c9.
      
      blk_queue_split() is causing excessive IO splitting -- because
      blk_max_size_offset() depends on 'chunk_sectors' limit being set and
      if it isn't (as is the case for DM targets!) it falls back to
      splitting on a 'max_sectors' boundary regardless of offset.
      
      "Fix" this by reverting back to _not_ using blk_queue_split() in
      dm_process_bio() for normal IO (reads and writes).  Long-term fix is
      still TBD but it should focus on training blk_max_size_offset() to
      call into a DM provided hook (to call DM's max_io_len()).
      
      Test results from simple misaligned IO test on 4-way dm-striped device
      with chunksize of 128K and stripesize of 512K:
      
      xfs_io -d -c 'pread -b 2m 224s 4072s' /dev/mapper/stripe_dev
      
      before this revert:
      
      253,0   21        1     0.000000000  2206  Q   R 224 + 4072 [xfs_io]
      253,0   21        2     0.000008267  2206  X   R 224 / 480 [xfs_io]
      253,0   21        3     0.000010530  2206  X   R 224 / 256 [xfs_io]
      253,0   21        4     0.000027022  2206  X   R 480 / 736 [xfs_io]
      253,0   21        5     0.000028751  2206  X   R 480 / 512 [xfs_io]
      253,0   21        6     0.000033323  2206  X   R 736 / 992 [xfs_io]
      253,0   21        7     0.000035130  2206  X   R 736 / 768 [xfs_io]
      253,0   21        8     0.000039146  2206  X   R 992 / 1248 [xfs_io]
      253,0   21        9     0.000040734  2206  X   R 992 / 1024 [xfs_io]
      253,0   21       10     0.000044694  2206  X   R 1248 / 1504 [xfs_io]
      253,0   21       11     0.000046422  2206  X   R 1248 / 1280 [xfs_io]
      253,0   21       12     0.000050376  2206  X   R 1504 / 1760 [xfs_io]
      253,0   21       13     0.000051974  2206  X   R 1504 / 1536 [xfs_io]
      253,0   21       14     0.000055881  2206  X   R 1760 / 2016 [xfs_io]
      253,0   21       15     0.000057462  2206  X   R 1760 / 1792 [xfs_io]
      253,0   21       16     0.000060999  2206  X   R 2016 / 2272 [xfs_io]
      253,0   21       17     0.000062489  2206  X   R 2016 / 2048 [xfs_io]
      253,0   21       18     0.000066133  2206  X   R 2272 / 2528 [xfs_io]
      253,0   21       19     0.000067507  2206  X   R 2272 / 2304 [xfs_io]
      253,0   21       20     0.000071136  2206  X   R 2528 / 2784 [xfs_io]
      253,0   21       21     0.000072764  2206  X   R 2528 / 2560 [xfs_io]
      253,0   21       22     0.000076185  2206  X   R 2784 / 3040 [xfs_io]
      253,0   21       23     0.000077486  2206  X   R 2784 / 2816 [xfs_io]
      253,0   21       24     0.000080885  2206  X   R 3040 / 3296 [xfs_io]
      253,0   21       25     0.000082316  2206  X   R 3040 / 3072 [xfs_io]
      253,0   21       26     0.000085788  2206  X   R 3296 / 3552 [xfs_io]
      253,0   21       27     0.000087096  2206  X   R 3296 / 3328 [xfs_io]
      253,0   21       28     0.000093469  2206  X   R 3552 / 3808 [xfs_io]
      253,0   21       29     0.000095186  2206  X   R 3552 / 3584 [xfs_io]
      253,0   21       30     0.000099228  2206  X   R 3808 / 4064 [xfs_io]
      253,0   21       31     0.000101062  2206  X   R 3808 / 3840 [xfs_io]
      253,0   21       32     0.000104956  2206  X   R 4064 / 4096 [xfs_io]
      253,0   21       33     0.001138823     0  C   R 4096 + 200 [0]
      
      after this revert:
      
      253,0   18        1     0.000000000  4430  Q   R 224 + 3896 [xfs_io]
      253,0   18        2     0.000018359  4430  X   R 224 / 256 [xfs_io]
      253,0   18        3     0.000028898  4430  X   R 256 / 512 [xfs_io]
      253,0   18        4     0.000033535  4430  X   R 512 / 768 [xfs_io]
      253,0   18        5     0.000065684  4430  X   R 768 / 1024 [xfs_io]
      253,0   18        6     0.000091695  4430  X   R 1024 / 1280 [xfs_io]
      253,0   18        7     0.000098494  4430  X   R 1280 / 1536 [xfs_io]
      253,0   18        8     0.000114069  4430  X   R 1536 / 1792 [xfs_io]
      253,0   18        9     0.000129483  4430  X   R 1792 / 2048 [xfs_io]
      253,0   18       10     0.000136759  4430  X   R 2048 / 2304 [xfs_io]
      253,0   18       11     0.000152412  4430  X   R 2304 / 2560 [xfs_io]
      253,0   18       12     0.000160758  4430  X   R 2560 / 2816 [xfs_io]
      253,0   18       13     0.000183385  4430  X   R 2816 / 3072 [xfs_io]
      253,0   18       14     0.000190797  4430  X   R 3072 / 3328 [xfs_io]
      253,0   18       15     0.000197667  4430  X   R 3328 / 3584 [xfs_io]
      253,0   18       16     0.000218751  4430  X   R 3584 / 3840 [xfs_io]
      253,0   18       17     0.000226005  4430  X   R 3840 / 4096 [xfs_io]
      253,0   18       18     0.000250404  4430  Q   R 4120 + 176 [xfs_io]
      253,0   18       19     0.000847708     0  C   R 4096 + 24 [0]
      253,0   18       20     0.000855783     0  C   R 4120 + 176 [0]
      
      Fixes: effd58c9 ("dm: always call blk_queue_split() in dm_process_bio()")
      Cc: stable@vger.kernel.org
      Reported-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      Tested-by: default avatarBarry Marson <bmarson@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      120c9257
    • Tejun Heo's avatar
      Revert "cpuset: Make cpuset hotplug synchronous" · 2b729fe7
      Tejun Heo authored
      This reverts commit a49e4629 ("cpuset: Make cpuset hotplug synchronous") as
      it may deadlock with cpu hotplug path.
      
      Link: http://lkml.kernel.org/r/F0388D99-84D7-453B-9B6B-EEFF0E7BE4CC@lca.pwSigned-off-by: default avatarTejun Heo <tj@kernel.org>
      Reported-by: default avatarQian Cai <cai@lca.pw>
      Cc: Prateek Sood <prsood@codeaurora.org>
      2b729fe7