1. 04 Nov, 2021 3 commits
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 7ddb58cb
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "The usual collection of clk driver updates and new driver additions.
        In terms of lines it's mainly Qualcomm and Mediatek code, supporting
        various SoCs and their multitude of clk controllers.
      
        New Drivers:
         - GCC and RPMcc support for Qualcomm QCM2290 SoCs
         - GCC support for Qualcomm MSM8994/MSM8992 SoCs
         - LPASSCC and CAMCC support for Qualcomm SC7280 SoCs
         - Support for Mediatek MT8195 SoCs
         - Initial clock driver for the Exynos850 SoC
         - Add i.MX8ULP clock driver and related bindings
      
        Updates:
         - Clock power management for new SAMA7G5 SoC
         - Updates to the master clock driver and sam9x60-pll to be able to
           use cpufreq-dt driver and avoid overclocking of CPU and MCK0
           domains while changing the frequency via DVFS
         - Use ARRAY_SIZE in qcom clk drivers
         - Remove some impractical fallback parent names in qcom clk drivers
         - Make Mediatek clk drivers tristate
         - Refactoring of the CPU clock code and conversion of Samsung
           Exynos5433 CPU clock driver to the platform driver
         - A few conversions to devm_platform_ioremap_resource()
         - Updates of the Samsung Kconfig help text
         - Update video path realted clocks for Amlogic meson8
         - Add SPI Multi I/O Bus and SDHI clocks and resets on Renesas RZ/G2L
         - Add SPI Multi I/O Bus (RPC) clocks on Renesas R-Car V3U
         - Add MediaLB clocks on Renesas R-Car H3, M3-W/W+, and M3-N
         - Remove unused helpers from i.MX specific clock header
         - Rework all i.MX clk based helpers to use clk_hw based ones
         - Rework i.MX gate/mux/divider wrappers
         - Rework imx_clk_hw_composite and imx_clk_hw_pll14xx wrappers
         - Update i.MX pllv4 and composite clocks to support i.MX8ULP
         - Disable i.MX7ULP composite clock during initialization
         - Add CLK_SET_RATE_NO_REPARENT flag to the i.MX7ULP composite
         - Disable the i.MX pfd when set pfdv2 clock rate
         - Add support for i.MX8ULP in pfdv2
         - Add the pcc reset controller support on i.MX8ULP
         - Fix the build break when clk-imx8ulp is built as module
         - Move csi_sel mux to correct base register in i.MX6UL clock drivr
         - Fix csi clk gate register in i.MX6UL clock driver
         - Fix build bug making CLK_IMX8ULP select MXC_CLK
         - Add TPU (PWM), and Z (Cortex-A76) clocks on Renesas R-Car V3U
         - Add Ethernet clocks on Renesas RZ/G2L
         - Move Rockchip to use module_platform_probe
         - Enable usage of Coresight related clocks on Rockchip rk3399"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (170 commits)
        clk: use clk_core_get_rate_recalc() in clk_rate_get()
        clk: at91: sama7g5: set low limit for mck0 at 32KHz
        clk: at91: sama7g5: remove prescaler part of master clock
        clk: at91: clk-master: add notifier for divider
        clk: at91: clk-sam9x60-pll: add notifier for div part of PLL
        clk: at91: clk-master: fix prescaler logic
        clk: at91: clk-master: mask mckr against layout->mask
        clk: at91: clk-master: check if div or pres is zero
        clk: at91: sam9x60-pll: use DIV_ROUND_CLOSEST_ULL
        clk: at91: pmc: add sama7g5 to the list of available pmcs
        clk: at91: clk-master: improve readability by using local variables
        clk: at91: clk-master: add register definition for sama7g5's master clock
        clk: at91: sama7g5: add securam's peripheral clock
        clk: at91: pmc: execute suspend/resume only for backup mode
        clk: at91: re-factor clocks suspend/resume
        clk: ux500: Add driver for the reset portions of PRCC
        dt-bindings: clock: u8500: Rewrite in YAML and extend
        clk: composite: Use rate_ops.determine_rate when also a mux is available
        clk: samsung: describe drivers in Kconfig
        clk: samsung: exynos5433: update apollo and atlas clock probing
        ...
      7ddb58cb
    • Linus Torvalds's avatar
      Merge tag 'defconfig-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · ce840177
      Linus Torvalds authored
      Pull ARM defconfig updates from Arnd Bergmann:
       "These are the usual changes to enable newly added driver by default,
        and to do some housekeeping around changing Kconfig symbols"
      
      * tag 'defconfig-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (33 commits)
        arm64: defconfig: Enable Qualcomm LMH driver
        arm64: defconfig: Enable Qualcomm prima/pronto drivers
        arm64: defconfig: Enable Sleep stats driver
        arm64: defconfig: Visconti: Enable PCIe host controller
        ARM: configs: aspeed: Remove unused USB gadget devices
        ARM: config: aspeed: Enable Network Block Device
        ARM: configs: aspeed: Enable pstore and lockup detectors
        ARM: configs: aspeed: Enable commonly used drivers
        ARM: configs: aspeed: Disable IPV6 SIT device
        ARM: imx_v6_v7_defconfig: Enable HID I2C
        arm64: defconfig: Enable QTI SC7280 pinctrl, gcc and interconnect
        arm64: defconfig: Disable firmware sysfs fallback
        ARM: mvebu_v7_defconfig: rebuild default configuration
        ARM: mvebu_v7_defconfig: enable mtd physmap
        arm64: defconfig: Enable few Tegra210 based AHUB drivers
        arm64: defconfig: drop obsolete ARCH_* configs
        ARM: imx_v6_v7_defconfig: enable bpf syscall and cgroup bpf
        ARM: imx_v6_v7_defconfig: build imx sdma driver as module
        ARM: imx_v6_v7_defconfig: rebuild default configuration
        ARM: imx_v6_v7_defconfig: change snd soc tlv320aic3x to i2c variant
        ...
      ce840177
    • Linus Torvalds's avatar
      Merge tag 'drivers-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · d461e96c
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "These are all the driver updates for SoC specific drivers. There are a
        couple of subsystems with individual maintainers picking up their
        patches here:
      
         - The reset controller subsystem add support for a few new SoC
           variants to existing drivers, along with other minor improvements
      
         - The OP-TEE subsystem gets a driver for the ARM FF-A transport
      
         - The memory controller subsystem has improvements for Tegra,
           Mediatek, Renesas, Freescale and Broadcom specific drivers.
      
         - The tegra cpuidle driver changes get merged through this tree this
           time. There are only minor changes, but they depend on other tegra
           driver updates here.
      
         - The ep93xx platform finally moves to using the drivers/clk/
           subsystem, moving the code out of arch/arm in the process. This
           depends on a small sound driver change that is included here as
           well.
      
         - There are some minor updates for Qualcomm and Tegra specific
           firmware drivers.
      
        The other driver updates are mainly for drivers/soc, which contains a
        mixture of vendor specific drivers that don't really fit elsewhere:
      
         - Mediatek drivers gain more support for MT8192, with new support for
           hw-mutex and mmsys routing, plus support for reset lines in the
           mmsys driver.
      
         - Qualcomm gains a new "sleep stats" driver, and support for the
           "Generic Packet Router" in the APR driver.
      
         - There is a new user interface for routing the UARTS on ASpeed BMCs,
           something that apparently nobody else has needed so far.
      
         - More drivers can now be built as loadable modules, in particular
           for Broadcom and Samsung platforms.
      
         - Lots of improvements to the TI sysc driver for better
           suspend/resume support"
      
        Finally, there are lots of minor cleanups and new device IDs for
        amlogic, renesas, tegra, qualcomm, mediateka, samsung, imx,
        layerscape, allwinner, broadcom, and omap"
      
      * tag 'drivers-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (179 commits)
        optee: Fix spelling mistake "reclain" -> "reclaim"
        Revert "firmware: qcom: scm: Add support for MC boot address API"
        qcom: spm: allow compile-testing
        firmware: arm_ffa: Remove unused 'compat_version' variable
        soc: samsung: exynos-chipid: add exynosautov9 SoC support
        firmware: qcom: scm: Don't break compile test on non-ARM platforms
        soc: qcom: smp2p: Add of_node_put() before goto
        soc: qcom: apr: Add of_node_put() before return
        soc: qcom: qcom_stats: Fix client votes offset
        soc: qcom: rpmhpd: fix sm8350_mxc's peer domain
        dt-bindings: arm: cpus: Document qcom,msm8916-smp enable-method
        ARM: qcom: Add qcom,msm8916-smp enable-method identical to MSM8226
        firmware: qcom: scm: Add support for MC boot address API
        soc: qcom: spm: Add 8916 SPM register data
        dt-bindings: soc: qcom: spm: Document qcom,msm8916-saw2-v3.0-cpu
        soc: qcom: socinfo: Add PM8150C and SMB2351 models
        firmware: qcom_scm: Fix error retval in __qcom_scm_is_call_available()
        soc: aspeed: Add UART routing support
        soc: fsl: dpio: rename the enqueue descriptor variable
        soc: fsl: dpio: use an explicit NULL instead of 0
        ...
      d461e96c
  2. 03 Nov, 2021 18 commits
    • Linus Torvalds's avatar
      Merge tag 'dt-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · ae45d84f
      Linus Torvalds authored
      Pull ARM SoC DT updates from Arnd Bergmann:
       "This is a rather large update for the ARM devicetree files, after a
        few quieter releases, with 775 total commits and 47 branches pulled
        into this one.
      
        There are 5 new SoC types plus some minor variations, and a total of
        60 new machines, so I'm limiting the summary to the main noteworthy
        items:
      
         - Apple M1 gain support for PCI and pinctrl, getting a bit closer to
           a usable system out of the box.
      
         - Qualcomm gains support for Snapdragon 690 (aka SM6350) as well as
           SM7225, 11 new smartphones, and three additional Chromebooks, and
           improvements all over the place.
      
         - Samsung gains support for ExynosAutov9, an automotive version of
           their smartphone SoC, but otherwise no major changes.
      
         - Microchip adds the SAMA5D29 SoC in the SAMA5 family, and a number
           of improvements for the recently added SAMA7 family. The LAN966 SoC
           that was added in the platform code does not have dts files yet.
           Two board files are added for the older at91sam9g20 SoC
      
         - Aspeed supports two additional server boards using their AST2600 as
           BMC, and improves support for qemu models
      
         - Rockchip RK3566/RK3688 gets added, along with six new development
           boards using RK3328/RK3399/RK3566, and one Chromebook tablet.
      
         - Two NAS boxes are added using the ARMv4 based Gemini platform
      
         - One new board is added to the Intel Arria SoC FPGA family
      
         - Marvell adds one network switch based on Armada 381 and the new
           MOCHAbin 7040 development board
      
         - NXP adds support for the S32G2 automotive SoC, two imx6 based ebook
           readers, and three additional development boards, which is notably
           less than their usual additions, but they also gain improvements to
           their many existing boards
      
         - STmicroelectronics adds their stm32mp13 SoC family along with a
           reference board
      
         - Renesas adds new versions of their R-Car Gen3 SoCs and many updates
           for their older generations
      
         - Broadcom adds support for a number of Cisco Meraki wireless
           controllers, along with two new boards and other updates for
           BCM53xx/BCM47xx networking SoCs and the Raspberry Pi boards
      
         - Mediatek improves support for the MT81xx SoCs used in Chromebooks
           as well as the MT76xx networking SoCs
      
         - NVIDIA adds a number of cleanups and additional support for more
           hardware on the already supported machines
      
         - TI K3 adds support for three new boards along with cleanups
      
         - Toshiba adds one board for the Visconti family
      
         - Xilinx adds five new ZynqMP based machines
      
         - Amlogic support is added for the Radxa Zero and two Jethub home
           automation controllers, along with changes to other machines
      
         - Rob Herring continues his work on fixing dtc warnings all over the
           tree.
      
         - Minor updates for TI OMAP, Mstar, Allwinner/sunxi, Hisilicon,
           Ux500, Unisoc"
      
      * tag 'dt-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (720 commits)
        arm64: dts: apple: j274: Expose PCI node for the Ethernet MAC address
        arm64: dts: apple: t8103: Add root port interrupt routing
        arm64: dts: apple: t8103: Add PCIe DARTs
        arm64: apple: Add PCIe node
        arm64: apple: Add pinctrl nodes
        ARM: dts: arm: Update ICST clock nodes 'reg' and node names
        ARM: dts: arm: Update register-bit-led nodes 'reg' and node names
        arm64: dts: exynos: add chipid node for exynosautov9 SoC
        ARM: dts: qcom: fix typo in IPQ8064 thermal-sensor node
        Revert "arm64: dts: qcom: msm8916-asus-z00l: Add sensors"
        arm64: dts: qcom: ipq6018: Remove unused 'iface_clk' property from dma-controller node
        arm64: dts: qcom: ipq6018: Remove unused 'qcom,config-pipe-trust-reg' property
        arm64: dts: qcom: sm8350: Add CPU topology and idle-states
        arm64: dts: qcom: Drop unneeded extra device-specific includes
        arm64: dts: qcom: msm8916: Drop standalone smem node
        arm64: dts: qcom: Fix node name of rpm-msg-ram device nodes
        arm64: dts: qcom: msm8916-asus-z00l: Add sensors
        arm64: dts: qcom: msm8916-asus-z00l: Add SDCard
        arm64: dts: qcom: msm8916-asus-z00l: Add touchscreen
        arm64: dts: qcom: sdm845-oneplus: remove devinfo-size from ramoops node
        ...
      ae45d84f
    • Linus Torvalds's avatar
      Merge tag 'soc-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 2219b0ce
      Linus Torvalds authored
      Pull ARM SoC updates from Arnd Bergmann:
       "The SoC updates this time are mainly removing obsolete code from the
        OMAP2 platform, another step in the eternal cleanup of that platform.
      
        There are two new SoCs getting added: STMicroelectronics stm32mp13 and
        Microchip lan966. Both fit into existing platforms and require minimal
        changes here.
      
        A couple of MAINTAINER file updates relate to those changes, and
        update some file paths"
      
      * tag 'soc-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (28 commits)
        MAINTAINERS: Update BCM7XXX entry with additional patterns
        MAINTAINERS: add pinctrl-apple-gpio to ARM/APPLE MACHINE
        MAINTAINERS: Add pasemi i2c to ARM/APPLE MACHINE
        ARM: SPEAr: Update MAINTAINERS entries
        ARM: OMAP2+: Drop unused CM defines for am3
        ARM: OMAP2+: Drop unused CM and SCRM defines for omap4
        ARM: OMAP2+: Drop unused CM and SCRM defines for omap5
        ARM: OMAP2+: Drop unused CM defines for dra7
        ARM: OMAP2+: Drop unused PRM defines for am3
        ARM: OMAP2+: Drop unused PRM defines for am4
        ARM: OMAP2+: Drop unused PRM defines for omap4
        ARM: OMAP2+: Drop unused PRM defines for omap5
        ARM: OMAP2+: Drop unused PRM defines for dra7
        ARM: OMAP2+: Fix comment typo
        ARM: OMAP2+: Fix typo in some comments
        ARM: at91: add basic support for new SoC family lan966
        dt-bindings: arm: at91: Document lan966 pcb8291 and pcb8290 boards
        ARM: at91: Documentation: add lan966 family
        ARM: at91: Documentation: add sama7g5 family
        MAINTAINERS: add an entry for NXP S32G boards
        ...
      2219b0ce
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 43e1b129
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
       "vhost and virtio fixes and features:
      
         - Hardening work by Jason
      
         - vdpa driver for Alibaba ENI
      
         - Performance tweaks for virtio blk
      
         - virtio rng rework using an internal buffer
      
         - mac/mtu programming for mlx5 vdpa
      
         - Misc fixes, cleanups"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (45 commits)
        vdpa/mlx5: Forward only packets with allowed MAC address
        vdpa/mlx5: Support configuration of MAC
        vdpa/mlx5: Fix clearing of VIRTIO_NET_F_MAC feature bit
        vdpa_sim_net: Enable user to set mac address and mtu
        vdpa: Enable user to set mac and mtu of vdpa device
        vdpa: Use kernel coding style for structure comments
        vdpa: Introduce query of device config layout
        vdpa: Introduce and use vdpa device get, set config helpers
        virtio-scsi: don't let virtio core to validate used buffer length
        virtio-blk: don't let virtio core to validate used length
        virtio-net: don't let virtio core to validate used length
        virtio_ring: validate used buffer length
        virtio_blk: correct types for status handling
        virtio_blk: allow 0 as num_request_queues
        i2c: virtio: Add support for zero-length requests
        virtio-blk: fixup coccinelle warnings
        virtio_ring: fix typos in vring_desc_extra
        virtio-pci: harden INTX interrupts
        virtio_pci: harden MSI-X interrupts
        virtio_config: introduce a new .enable_cbs method
        ...
      43e1b129
    • Linus Torvalds's avatar
      Merge tag 'vfio-v5.16-rc1' of git://github.com/awilliam/linux-vfio · d4ec3d55
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Cleanup vfio iommu_group creation (Christoph Hellwig)
      
       - Add individual device reset for vfio/fsl-mc (Diana Craciun)
      
       - IGD OpRegion 2.0+ support (Colin Xu)
      
       - Use modern cdev lifecycle for vfio_group (Jason Gunthorpe)
      
       - Use new mdev API in vfio_ccw (Jason Gunthorpe)
      
      * tag 'vfio-v5.16-rc1' of git://github.com/awilliam/linux-vfio: (27 commits)
        vfio/ccw: Convert to use vfio_register_emulated_iommu_dev()
        vfio/ccw: Pass vfio_ccw_private not mdev_device to various functions
        vfio/ccw: Use functions for alloc/free of the vfio_ccw_private
        vfio/ccw: Remove unneeded GFP_DMA
        vfio: Use cdev_device_add() instead of device_create()
        vfio: Use a refcount_t instead of a kref in the vfio_group
        vfio: Don't leak a group reference if the group already exists
        vfio: Do not open code the group list search in vfio_create_group()
        vfio: Delete vfio_get/put_group from vfio_iommu_group_notifier()
        vfio/pci: Add OpRegion 2.0+ Extended VBT support.
        vfio/iommu_type1: remove IS_IOMMU_CAP_DOMAIN_IN_CONTAINER
        vfio/iommu_type1: remove the "external" domain
        vfio/iommu_type1: initialize pgsize_bitmap in ->open
        vfio/spapr_tce: reject mediated devices
        vfio: clean up the check for mediated device in vfio_iommu_type1
        vfio: remove the unused mdev iommu hook
        vfio: move the vfio_iommu_driver_ops interface out of <linux/vfio.h>
        vfio: remove unused method from vfio_iommu_driver_ops
        vfio: simplify iommu group allocation for mediated devices
        vfio: remove the iommudata hack for noiommu groups
        ...
      d4ec3d55
    • Linus Torvalds's avatar
      Merge branch 'per_signal_struct_coredumps-for-v5.16' of... · a602285a
      Linus Torvalds authored
      Merge branch 'per_signal_struct_coredumps-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull per signal_struct coredumps from Eric Biederman:
       "Current coredumps are mixed up with the exit code, the signal handling
        code, and the ptrace code making coredumps much more complicated than
        necessary and difficult to follow.
      
        This series of changes starts with ptrace_stop and cleans it up,
        making it easier to follow what is happening in ptrace_stop. Then
        cleans up the exec interactions with coredumps. Then cleans up the
        coredump interactions with exit. Finally the coredump interactions
        with the signal handling code is cleaned up.
      
        The first and last changes are bug fixes for minor bugs.
      
        I believe the fact that vfork followed by execve can kill the process
        the called vfork if exec fails is sufficient justification to change
        the userspace visible behavior.
      
        In previous discussions some of these changes were organized
        differently and individually appeared to make the code base worse. As
        currently written I believe they all stand on their own as cleanups
        and bug fixes.
      
        Which means that even if the worst should happen and the last change
        needs to be reverted for some unimaginable reason, the code base will
        still be improved.
      
        If the worst does not happen there are a more cleanups that can be
        made. Signals that generate coredumps can easily become eligible for
        short circuit delivery in complete_signal. The entire rendezvous for
        generating a coredump can move into get_signal. The function
        force_sig_info_to_task be written in a way that does not modify the
        signal handling state of the target task (because coredumps are
        eligible for short circuit delivery). Many of these future cleanups
        can be done another way but nothing so cleanly as if coredumps become
        per signal_struct"
      
      * 'per_signal_struct_coredumps-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        coredump: Limit coredumps to a single thread group
        coredump:  Don't perform any cleanups before dumping core
        exit: Factor coredump_exit_mm out of exit_mm
        exec: Check for a pending fatal signal instead of core_state
        ptrace: Remove the unnecessary arguments from arch_ptrace_stop
        signal: Remove the bogus sigkill_pending in ptrace_stop
      a602285a
    • Guenter Roeck's avatar
      string: uninline memcpy_and_pad · 5c4e0a21
      Guenter Roeck authored
      When building m68k:allmodconfig, recent versions of gcc generate the
      following error if the length of UTS_RELEASE is less than 8 bytes.
      
        In function 'memcpy_and_pad',
          inlined from 'nvmet_execute_disc_identify' at
            drivers/nvme/target/discovery.c:268:2: arch/m68k/include/asm/string.h:72:25: error:
      	'__builtin_memcpy' reading 8 bytes from a region of size 7
      
      Discussions around the problem suggest that this only happens if an
      architecture does not provide strlen(), if -ffreestanding is provided as
      compiler option, and if CONFIG_FORTIFY_SOURCE=n. All of this is the case
      for m68k. The exact reasons are unknown, but seem to be related to the
      ability of the compiler to evaluate the return value of strlen() and
      the resulting execution flow in memcpy_and_pad(). It would be possible
      to work around the problem by using sizeof(UTS_RELEASE) instead of
      strlen(UTS_RELEASE), but that would only postpone the problem until the
      function is called in a similar way. Uninline memcpy_and_pad() instead
      to solve the problem for good.
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Reviewed-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: default avatarAndy Shevchenko <andriy.shevchenko@intel.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5c4e0a21
    • Linus Torvalds's avatar
      Merge tag 'jfs-5.16' of git://github.com/kleikamp/linux-shaggy · 655fedaa
      Linus Torvalds authored
      Pull jfs fix from David Kleikamp:
       "Just one JFS patch"
      
      * tag 'jfs-5.16' of git://github.com/kleikamp/linux-shaggy:
        JFS: fix memleak in jfs_mount
      655fedaa
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · e1fd0b2a
      Linus Torvalds authored
      Pull more tracing updates from Steven Rostedt:
      
       - osnoise and timerlat updates that will work with the RTLA tool
         (Real-Time Linux Analysis).
      
         Specifically it disconnects the work load (threads that look for
         latency) from the tracing instances attached to them, allowing for
         more than one instance to retrieve data from the work load.
      
       - Optimization on division in the trace histogram trigger code to use
         shift and multiply when possible. Also added documentation.
      
       - Fix prototype to my_direct_func in direct ftrace trampoline sample
         code.
      
      * tag 'trace-v5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace/samples: Add missing prototype for my_direct_func
        tracing/selftests: Add tests for hist trigger expression parsing
        tracing/histogram: Document hist trigger variables
        tracing/histogram: Update division by 0 documentation
        tracing/histogram: Optimize division by constants
        tracing/osnoise: Remove PREEMPT_RT ifdefs from inside functions
        tracing/osnoise: Remove STACKTRACE ifdefs from inside functions
        tracing/osnoise: Allow multiple instances of the same tracer
        tracing/osnoise: Remove TIMERLAT ifdefs from inside functions
        tracing/osnoise: Support a list of trace_array *tr
        tracing/osnoise: Use start/stop_per_cpu_kthreads() on osnoise_cpus_write()
        tracing/osnoise: Split workload start from the tracer start
        tracing/osnoise: Improve comments about barrier need for NMI callbacks
        tracing/osnoise: Do not follow tracing_cpumask
      e1fd0b2a
    • Florian Fainelli's avatar
      MAINTAINERS: Update BCM7XXX entry with additional patterns · fc3d4aeb
      Florian Fainelli authored
      Broadcom STB systems use the bcm7038 pattern as well as the bcm7120
      pattern for some of its drivers, add those to the existing entry.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Link: https://lore.kernel.org/r/20211028163756.4014059-1-f.fainelli@gmail.com'
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      fc3d4aeb
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 25edbc38
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "A typical collection of patches this cycle, mostly fixing with a few
        new features:
      
         - Fixes from static tools. clang warnings, dead code, unused
           variable, coccinelle sweeps, etc
      
         - Driver bug fixes and minor improvements in rxe, bnxt_re, hfi1,
           mlx5, irdma, qedr
      
         - rtrs ULP bug fixes an improvments
      
         - Additional counters for bnxt_re
      
         - Support verbs CQ notifications in EFA
      
         - Continued reworking and fixing of rxe
      
         - netlink control to enable/disable optional device counters
      
         - rxe now can use AH objects for its UD path, fixing various bugs in
           the process
      
         - Add DMABUF support to EFA"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (103 commits)
        RDMA/core: Require the driver to set the IOVA correctly during rereg_mr
        RDMA/bnxt_re: Remove unsupported bnxt_re_modify_ah callback
        RDMA/irdma: optimize rx path by removing unnecessary copy
        RDMA/qed: Use helper function to set GUIDs
        RDMA/hns: Use the core code to manage the fixed mmap entries
        IB/opa_vnic: Rebranding of OPA VNIC driver to Cornelis Networks
        IB/qib: Rebranding of qib driver to Cornelis Networks
        IB/hfi1: Rebranding of hfi1 driver to Cornelis Networks
        RDMA/bnxt_re: Use helper function to set GUIDs
        RDMA/bnxt_re: Fix kernel panic when trying to access bnxt_re_stat_descs
        RDMA/qedr: Fix NULL deref for query_qp on the GSI QP
        RDMA/hns: Modify the value of MAX_LP_MSG_LEN to meet hardware compatibility
        RDMA/hns: Fix initial arm_st of CQ
        RDMA/rxe: Make rxe_type_info static const
        RDMA/rxe: Use 'bitmap_zalloc()' when applicable
        RDMA/rxe: Save a few bytes from struct rxe_pool
        RDMA/irdma: Remove the unused variable local_qp
        RDMA/core: Fix missed initialization of rdma_hw_stats::lock
        RDMA/efa: Add support for dmabuf memory regions
        RDMA/umem: Allow pinned dmabuf umem usage
        ...
      25edbc38
    • Linus Torvalds's avatar
      Merge tag 'sound-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · ff0700f0
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "Lots of code development have been see in ASoC side as usual, while
        the continued development on memalloc helper and USB-audio low-
        latency support are found in the rest.
      
        Note that a few changes in the unusual places like arch/sh are
        included, which are a part of ASoC DAI format cleanups.
      
        ALSA core:
      
         - Continued memalloc helper updates and cleanups, now supporting
           non-coherent and non-contiguous pages
      
         - Fixes for races in mixer OSS layer
      
        ASoC:
      
         - A new version of the audio graph card which supports a wider range
           of systems
      
         - Several conversions to YAML DT bindings
      
         - Continuing cleanups to the SOF and Intel code
      
         - Move of the Cirrus DSP framework into drivers/firmware to allow for
           future use by non-audio DSPs
      
         - An overhaul of the cs42l42 driver, correcting many problems
      
         - DAI format terminology conversions over many drivers for cleanups
      
         - Support for AMD Vangogh and Yelow Cap, Cirrus CS35L41, Maxim
           MAX98520 and MAX98360A, Mediatek MT8195, Nuvoton NAU8821, nVidia
           Tegra210, NXP i.MX8ULP, Qualcomm AudioReach, Realtek ALC5682I-VS,
           RT5682S, and RT9120 and Rockchip RV1126 and RK3568
      
        USB-audio:
      
         - Continued improvements on low-latency playback
      
         - Quirks for Pioneer devices, Line6 HX-Stomp XL, Audient iD14
      
        HD-audio:
      
         - Reduce excessive udelay() calls on Intel platforms; this should
           reduce the CPU load with PulseAudio
      
         - Quirks for HP and Clevo laptops
      
        FireWire:
      
         - Support for meter information on MOTU"
      
      * tag 'sound-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (513 commits)
        ALSA: usb-audio: Add quirk for Audient iD14
        ALSA: hda/realtek: Add quirk for Clevo PC70HS
        ALSA: usb-audio: Line6 HX-Stomp XL USB_ID for 48k-fixed quirk
        ALSA: usb-audio: Add registration quirk for JBL Quantum 400
        ASoC: rsnd: Fix an error handling path in 'rsnd_node_count()'
        ASoC: tlv320aic3x: Make aic3x_remove() return void
        ASoC: Intel: soc-acpi: use const for all uses of snd_soc_acpi_codecs
        ASoC: Intel: soc-acpi-cht: shrink tables using compatible IDs
        ASoC: Intel: soc-acpi-byt: shrink tables using compatible IDs
        ASoC: Intel: sof_rt5682: use comp_ids to enumerate rt5682s
        ASoC: Intel: sof_rt5682: detect codec variant in probe function
        ASoC: soc-acpi: add comp_ids field for machine driver matching
        ASoC: mediatek: mt8195: add mt8195-mt6359-rt1011-rt5682 bindings document
        ASoC: mediatek: mt8195: add machine driver with mt6359, rt1011 and rt5682
        ASoC: Stop dummy from overriding hwparams
        ASoC: topology: Change topology device to card device
        ASoC: topology: Use correct device for prints
        ASoC: topology: Check for dapm widget completeness
        ASoC: topology: Add header payload_size verification
        ASoC: core: Remove invalid snd_soc_component_set_jack call
        ...
      ff0700f0
    • Aharon Landau's avatar
      RDMA/core: Require the driver to set the IOVA correctly during rereg_mr · f1a090f0
      Aharon Landau authored
      If the driver returns a new MR during rereg it has to fill it with the
      IOVA from the proper source. If IB_MR_REREG_TRANS is set then the IOVA is
      cmd.hca_va, otherwise the IOVA comes from the old MR. mlx5 for example has
      two calls inside rereg_mr:
      
      		return create_real_mr(new_pd, umem, mr->ibmr.iova,
      				      new_access_flags);
      and
      		return create_real_mr(new_pd, new_umem, iova, new_access_flags);
      
      Unconditionally overwriting the iova in the newly allocated MR will
      corrupt the iova if the first path is used.
      
      Remove the redundant initializations from ib_uverbs_rereg_mr().
      
      Fixes: 6e0954b1 ("RDMA/uverbs: Allow drivers to create a new HW object during rereg_mr")
      Link: https://lore.kernel.org/r/4b0a31bbc372842613286a10d7a8cbb0ee6069c7.1635400472.git.leonro@nvidia.comSigned-off-by: default avatarAharon Landau <aharonl@nvidia.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      f1a090f0
    • Kamal Heib's avatar
      RDMA/bnxt_re: Remove unsupported bnxt_re_modify_ah callback · dd83f482
      Kamal Heib authored
      There is no need to return always zero for function which is not
      supported, especially since 0 is the wrong return code.
      
      Link: https://lore.kernel.org/r/20211102073054.410838-1-kamalheib1@gmail.comSigned-off-by: default avatarKamal Heib <kamalheib1@gmail.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      dd83f482
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · dcd68326
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
      
       - Convert /reserved-memory bindings to schemas
      
       - Convert a bunch of NFC bindings to schemas
      
       - Convert bindings to schema: Xilinx USB, Freescale DDR controller, Arm
         CCI-400, UBlox Neo-6M, 1-Wire GPIO, MSI controller, ASpeed LPC, OMAP
         and Inside-Secure HWRNG, register-bit-led, OV5640, Silead GSL1680,
         Elan ekth3000, Marvell bluetooth, TI wlcore, TI bluetooth, ESP
         ESP8089, tlm,trusted-foundations, Microchip cap11xx, Ralink SoCs and
         boards, and TI sysc
      
       - New binding schemas for: msi-ranges, Aspeed UART routing controller,
         palmbus, Xylon LogiCVC display controller, Mediatek's MT7621 SDRAM
         memory controller, and Apple M1 PCIe host
      
       - Run schema checks for %.dtb targets
      
       - Improve build time when using DT_SCHEMA_FILES
      
       - Improve error message when dtschema is not found
      
       - Various doc reference fixes in MAINTAINERS
      
       - Convert architectures to common CPU h/w ID parsing function
         of_get_cpu_hwid().
      
       - Allow for empty NUMA node IDs which may be hotplugged
      
       - Cleanup of __fdt_scan_reserved_mem()
      
       - Constify device_node parameters
      
       - Update dtc to upstream v1.6.1-19-g0a3a9d3449c8. Adds new checks
         'node_name_vs_property_name' and 'interrupt_map'.
      
       - Enable dtc 'unit_address_format' warning by default
      
       - Fix unittest EXPECT text for gpio hog errors
      
      * tag 'devicetree-for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (97 commits)
        dt-bindings: net: ti,bluetooth: Document default max-speed
        dt-bindings: pci: rcar-pci-ep: Document r8a7795
        dt-bindings: net: qcom,ipa: IPA does support up to two iommus
        of/fdt: Remove of_scan_flat_dt() usage for __fdt_scan_reserved_mem()
        of: unittest: document intentional interrupt-map provider build warning
        of: unittest: fix EXPECT text for gpio hog errors
        of/unittest: Disable new dtc node_name_vs_property_name and interrupt_map warnings
        scripts/dtc: Update to upstream version v1.6.1-19-g0a3a9d3449c8
        dt-bindings: arm: firmware: tlm,trusted-foundations: Convert txt bindings to yaml
        dt-bindings: display: tilcd: Fix endpoint addressing in example
        dt-bindings: input: microchip,cap11xx: Convert txt bindings to yaml
        dt-bindings: ufs: exynos-ufs: add exynosautov9 compatible
        dt-bindings: ufs: exynos-ufs: add io-coherency property
        dt-bindings: mips: convert Ralink SoCs and boards to schema
        dt-bindings: display: xilinx: Fix example with psgtr
        dt-bindings: net: nfc: nxp,pn544: Convert txt bindings to yaml
        dt-bindings: Add a help message when dtschema tools are missing
        dt-bindings: bus: ti-sysc: Update to use yaml binding
        dt-bindings: sram: Allow numbers in sram region node name
        dt-bindings: display: Document the Xylon LogiCVC display controller
        ...
      dcd68326
    • Linus Torvalds's avatar
      Merge tag 'docs-5.16' of git://git.lwn.net/linux · 624ad333
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "This is a relatively unexciting cycle for documentation.
      
         - Some small scripts/kerneldoc fixes
      
         - More Chinese translation work, but at a much reduced rate.
      
         - The tip-tree maintainer's handbook
      
        ...plus the usual array of build fixes, typo fixes, etc"
      
      * tag 'docs-5.16' of git://git.lwn.net/linux: (53 commits)
        kernel-doc: support DECLARE_PHY_INTERFACE_MASK()
        docs/zh_CN: add core-api xarray translation
        docs/zh_CN: add core-api assoc_array translation
        speakup: Fix typo in documentation "boo" -> "boot"
        docs: submitting-patches: make section about the Link: tag more explicit
        docs: deprecated.rst: Clarify open-coded arithmetic with literals
        scripts: documentation-file-ref-check: fix bpf selftests path
        scripts: documentation-file-ref-check: ignore hidden files
        coding-style.rst: trivial: fix location of driver model macros
        docs: f2fs: fix text alignment
        docs/zh_CN add PCI pci.rst translation
        docs/zh_CN add PCI index.rst translation
        docs: translations: zh_CN: memory-hotplug.rst: fix a typo
        docs: translations: zn_CN: irq-affinity.rst: add a missing extension
        block: add documentation for inflight
        scripts: kernel-doc: Ignore __alloc_size() attribute
        docs: pdfdocs: Adjust \headheight for fancyhdr
        docs: UML: user_mode_linux_howto_v2 edits
        docs: use the lore redirector everywhere
        docs: proc.rst: mountinfo: align columns
        ...
      624ad333
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-kunit-5.16-rc1' of... · 313b6ffc
      Linus Torvalds authored
      Merge tag 'linux-kselftest-kunit-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull KUnit updates from Shuah Khan:
       "Several enhancements and fixes:
      
         - ability to run each test suite and test separately
      
         - support for timing test run
      
         - several fixes and improvements"
      
      * tag 'linux-kselftest-kunit-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        kunit: tool: fix typecheck errors about loading qemu configs
        kunit: tool: continue past invalid utf-8 output
        kunit: Reset suite count after running tests
        kunit: tool: improve compatibility of kunit_parser with KTAP specification
        kunit: tool: yield output from run_kernel in real time
        kunit: tool: support running each suite/test separately
        kunit: tool: actually track how long it took to run tests
        kunit: tool: factor exec + parse steps into a function
        kunit: add 'kunit.action' param to allow listing out tests
        kunit: tool: show list of valid --arch options when invalid
        kunit: tool: misc fixes (unused vars, imports, leaked files)
        kunit: fix too small allocation when using suite-only kunit.filter_glob
        kunit: tool: allow filtering test cases via glob
        kunit: drop assumption in kunit-log-test about current suite
      313b6ffc
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-next-5.16-rc1' of... · 84924e2e
      Linus Torvalds authored
      Merge tag 'linux-kselftest-next-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull Kselftest updates from Shuah Khan:
       "Fixes to compile time errors and warnings"
      
      * tag 'linux-kselftest-next-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests/core: fix conflicting types compile error for close_range()
        selftests: x86: fix [-Wstringop-overread] warn in test_process_vm_readv()
        selftests: kvm: fix mismatched fclose() after popen()
      84924e2e
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.16-1' of... · 6ab1d483
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver updates from Hans de Goede:
       "Highlights:
      
         - AMD-PMC S0ix support fixes and improvements
      
         - HP-WMI support for Omen laptops
      
         - New nvidia-wmi-ec-backlight driver
      
         - New Intel ISH ECLITE driver
      
         - WMI core cleanups
      
         - Support for various new Melanox platforms
      
         - System76 Laptop support improvements
      
         - Surface Laptop Studio support and initial Surface Pro 8 support
      
         - Various other small fixes and hardware-id additions"
      
      * tag 'platform-drivers-x86-v5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (106 commits)
        platform/x86: system76_acpi: Fix input device error handling
        platform/x86: touchscreen_dmi: Add info for the Viglen Connect 10 tablet
        platform/surface: aggregator_registry: Add initial support for Surface Pro 8
        platform/x86: mlx-platform: Add support for new system SGN2410
        platform/x86: mlx-platform: Add BIOS attributes for CoffeeLake COMEx based systems
        platform/x86: mlx-platform: Extend FAN and LED configuration to support new MQM97xx systems
        platform/x86: asus-wmi: rename platform_profile_* function symbols
        platform/x86: hp-wmi: rename platform_profile_* function symbols
        platform/x86: amd-pmc: Drop check for valid alarm time
        platform/x86: amd-pmc: Downgrade dev_info message to dev_dbg
        platform/x86: amd-pmc: fix compilation without CONFIG_RTC_SYSTOHC_DEVICE
        platform/x86: system76_acpi: fix Kconfig dependencies
        platform/x86: barco-p50-gpio: use KEY_VENDOR for button instead of KEY_RESTART
        platform/x86: sony-laptop: replace snprintf in show functions with sysfs_emit
        platform/x86: lg-laptop: replace snprintf in show functions with sysfs_emit
        docs: ABI: fix documentation warning in sysfs-driver-mlxreg-io
        platform/x86: wmi: change notification handler type
        HID: surface-hid: Allow driver matching for target ID 1 devices
        HID: surface-hid: Use correct event registry for managing HID events
        platform/surface: aggregator_registry: Add support for Surface Laptop Studio
        ...
      6ab1d483
  3. 02 Nov, 2021 19 commits
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2021-11-03' of git://anongit.freedesktop.org/drm/drm · 56d33754
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "Summary below. i915 starts to add support for DG2 GPUs, enables DG1
        and ADL-S support by default, lots of work to enable DisplayPort 2.0
        across drivers. Lots of documentation updates and fixes across the
        board.
      
        core:
         - improve dma_fence, lease and resv documentation
         - shmem-helpers: allocate WC pages on x86, use vmf_insert_pin
         - sched fixes/improvements
         - allow empty drm leases
         - add dma resv iterator
         - add more DP 2.0 headers
         - DP MST helper improvements for DP2.0
      
        dma-buf:
         - avoid warnings, remove fence trace macros
      
        bridge:
         - new helper to get rid of panels
         - probe improvements for it66121
         - enable DSI EOTP for anx7625
      
        fbdev:
         - efifb: release runtime PM on destroy
      
        ttm:
         - kerneldoc switch
         - helper to clear all DMA mappings
         - pool shrinker optimizaton
         - remove ttm_tt_destroy_common
         - update ttm_move_memcpy for async use
      
        panel:
         - add new panel-edp driver
      
        amdgpu:
         - Initial DP 2.0 support
         - Initial USB4 DP tunnelling support
         - Aldebaran MCE support
         - Modifier support for DCC image stores for GFX 10.3
         - Display rework for better FP code handling
         - Yellow Carp/Cyan Skillfish updates
         - Cyan Skillfish display support
         - convert vega/navi to IP discovery asic enumeration
         - validate IP discovery table
         - RAS improvements
         - Lots of fixes
      
        i915:
         - DG1 PCI IDs + LMEM discovery/placement
         - DG1 GuC submission by default
         - ADL-S PCI IDs updated + enabled by default
         - ADL-P (XE_LPD) fixed and updates
         - DG2 display fixes
         - PXP protected object support for Gen12 integrated
         - expose multi-LRC submission interface for GuC
         - export logical engine instance to user
         - Disable engine bonding on Gen12+
         - PSR cleanup
         - PSR2 selective fetch by default
         - DP 2.0 prep work
         - VESA vendor block + MSO use of it
         - FBC refactor
         - try again to fix fast-narrow vs slow-wide eDP training
         - use THP when IOMMU enabled
         - LMEM backup/restore for suspend/resume
         - locking simplification
         - GuC major reworking
         - async flip VT-D workaround changes
         - DP link training improvements
         - misc display refactorings
      
        bochs:
         - new PCI ID
      
        rcar-du:
         - Non-contiguious buffer import support for rcar-du
         - r8a779a0 support prep
      
        omapdrm:
         - COMPILE_TEST fixes
      
        sti:
         - COMPILE_TEST fixes
      
        msm:
         - fence ordering improvements
         - eDP support in DP sub-driver
         - dpu irq handling cleanup
         - CRC support for making igt happy
         - NO_CONNECTOR bridge support
         - dsi: 14nm phy support for msm8953
         - mdp5: msm8x53, sdm450, sdm632 support
      
        stm:
         - layer alpha + zpo support
      
        v3d:
         - fix Vulkan CTS failure
         - support multiple sync objects
      
        gud:
         - add R8/RGB332/RGB888 pixel formats
      
        vc4:
         - convert to new bridge helpers
      
        vgem:
         - use shmem helpers
      
        virtio:
         - support mapping exported vram
      
        zte:
         - remove obsolete driver
      
        rockchip:
         - use bridge attach no connector for LVDS/RGB"
      
      * tag 'drm-next-2021-11-03' of git://anongit.freedesktop.org/drm/drm: (1259 commits)
        drm/amdgpu/gmc6: fix DMA mask from 44 to 40 bits
        drm/amd/display: MST support for DPIA
        drm/amdgpu: Fix even more out of bound writes from debugfs
        drm/amdgpu/discovery: add SDMA IP instance info for soc15 parts
        drm/amdgpu/discovery: add UVD/VCN IP instance info for soc15 parts
        drm/amdgpu/UAPI: rearrange header to better align related items
        drm/amd/display: Enable dpia in dmub only for DCN31 B0
        drm/amd/display: Fix USB4 hot plug crash issue
        drm/amd/display: Fix deadlock when falling back to v2 from v3
        drm/amd/display: Fallback to clocks which meet requested voltage on DCN31
        drm/amd/display: move FPU associated DCN301 code to DML folder
        drm/amd/display: fix link training regression for 1 or 2 lane
        drm/amd/display: add two lane settings training options
        drm/amd/display: decouple hw_lane_settings from dpcd_lane_settings
        drm/amd/display: implement decide lane settings
        drm/amd/display: adopt DP2.0 LT SCR revision 8
        drm/amd/display: FEC configuration for dpia links in MST mode
        drm/amd/display: FEC configuration for dpia links
        drm/amd/display: Add workaround flag for EDID read on certain docks
        drm/amd/display: Set phy_mux_sel bit in dmub scratch register
        ...
      56d33754
    • Linus Torvalds's avatar
      Merge tag 'pnp-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 464fddbb
      Linus Torvalds authored
      Pull PNP update from Rafael Wysocki:
       "Fix a comment incorrectly marked as kernel-doc (Randy Dunlap)"
      
      * tag 'pnp-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PNP: system.c: unmark a comment as being kernel-doc
      464fddbb
    • Linus Torvalds's avatar
      Merge tag 'thermal-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · f73cd9c9
      Linus Torvalds authored
      Pull thermal control updates from Rafael Wysocki:
       "These extend the thermal trip point crossing notifications sent via
        netlink to contain the temperature causing the trip point to be
        crossed, deprecate the user space thermal governor, add new DT
        bindings to drivers, move ABI documentation to Documentation/ABI, fix
        assorted issues and clean up code.
      
        Specifics:
      
         - Constify a variable in thermal MMIO driver (Rikard Falkeborn).
      
         - Add the current temperature in the netlink message when crossing a
           trip point in order to prevent useless back and forth reading from
           userspace (Daniel Lezcano).
      
         - Add support for the 'HC' variant on PM8998 PMIC in order to support
           VADC channels on recent QCom boards (Bjorn Andersson).
      
         - Add support for calibration values from hardware when they are
           fused (Niklas Söderlund).
      
         - Fix NULL pointer dereference in the thermal_release callback when
           an error occurs in the thermal_zone_device_register() (Yuanzheng
           Song).
      
         - Fix use-after-free in __thermal_cooling_device_register() in the
           error path (Ziyang Xuan).
      
         - Fix compilation of the LMh driver when CONFIG_QCOM_SCM is not set
           (Jackie Liu).
      
         - Add timeout when reading a register that can block forever in
           certain circumstances in the tsens driver (Ansuel Smith).
      
         - Add DT binding for the reset lines and use them in the rockchip
           sensor driver (Johan Jonker).
      
         - Add new uniphier NX1 SoC temperature sensor (Kunihiko Hayashi).
      
         - Save and restore the TCC value in the int340x driver (Antoine
           Tenart).
      
         - Deprecate the writability of the cooling device state sysfs file
           and the user space governor (Daniel Lezcano).
      
         - Delete bogus length check in int340x (Dan Carpenter).
      
         - Use bitmap_zalloc/bitmap_free when applicable in intel_powerclamp
           (Christophe JAILLET).
      
         - Move thermal ABI documentation to Documentation/ABI (Mauro Carvalho
           Chehab)"
      
      * tag 'thermal-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (21 commits)
        thermal/core: Deprecate changing cooling device state from userspace
        thermal/core: Make the userspace governor deprecated
        thermal/drivers/int340x: Improve the tcc offset saving for suspend/resume
        thermal/drivers/uniphier: Add compatible string for NX1 SoC
        dt-bindings: thermal: uniphier: Add binding for NX1 SoC
        thermal/drivers/rockchip_thermal: Allow more resets for tsadc node
        dt-bindings: thermal: remove redundant comments from rockchip-thermal.yaml
        dt-bindings: thermal: allow more resets for tsadc node in rockchip-thermal.yaml
        thermal/drivers/tsens: Add timeout to get_temp_tsens_valid
        thermal/drivers/qcom/lmh: make QCOM_LMH depends on QCOM_SCM
        thermal/core: fix a UAF bug in __thermal_cooling_device_register()
        thermal/core: Fix null pointer dereference in thermal_release()
        thermal: rcar_gen3_thermal: Read calibration from hardware
        thermal: rcar_gen3_thermal: Store thcode and ptat in priv data
        thermal/drivers/qcom/spmi-adc-tm5: Add support for HC variant
        dt-bindings: thermal: qcom: add HC variant of adc-thermal monitor bindings
        thermal: Move ABI documentation to Documentation/ABI
        thermal/drivers/netlink: Add the temperature when crossing a trip point
        thermal/drivers/thermal_mmio: Constify static struct thermal_mmio_ops
        thermal: int340x: delete bogus length check
        ...
      f73cd9c9
    • Linus Torvalds's avatar
      Merge tag 'pm-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 833db721
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These make the power management of PCI devices with ACPI companions
        more straightforwad, add support for inefficient operating performance
        points to the Energy model and make cpufreq handle them as
        appropriate, rearrange the handling of cpuidle during system PM
        transitions, update a few cpufreq drivers and intel_idle, fix assorded
        issues and clean up code in multiple places.
      
        Specifics:
      
         - Add support for inefficient operating performance points to the
           Energy Model and modify cpufreq to use them properly (Vincent
           Donnefort).
      
         - Rearrange the DTPM framework code to simplify it and make it easier
           to follow (Daniel Lezcano).
      
         - Fix power intialization in DTPM (Daniel Lezcano).
      
         - Add CPU load consideration when estimating the instaneous power
           consumption in DTPM (Daniel Lezcano).
      
         - Fix cpu->pstate.turbo_freq initialization in intel_pstate (Zhang
           Rui).
      
         - Make intel_pstate process HWP Guaranteed change notifications from
           the processor (Srinivas Pandruvada).
      
         - Fix typo in cpufreq.h (Rafael Wysocki).
      
         - Fix tegra driver to handle BPMP errors properly (Mikko Perttunen).
      
         - Fix the parameter usage of the newly added perf-domain API (Hector
           Yuan).
      
         - Minor cleanups to cppc, vexpress and s3c244x drivers (Han Wang,
           Guenter Roeck, and Arnd Bergmann).
      
         - Fix kobject memory leaks in cpuidle error paths (Anel
           Orazgaliyeva).
      
         - Make intel_idle enable interrupts before entering C1 on some Xeon
           processor models (Artem Bityutskiy).
      
         - Clean up hib_wait_io() (Falla Coulibaly).
      
         - Fix sparse warnings in hibernation-related code (Anders Roxell).
      
         - Use vzalloc() and kzalloc() instead of their open-coded equivalents
           in hibernation-related code (Cai Huoqing).
      
         - Prevent user space from crashing the kernel by attempting to
           restore the system state from a swap partition in use (Ye Bin).
      
         - Do not let "syscore" devices runtime-suspend during system PM
           transitions (Rafael Wysocki).
      
         - Do not pause cpuidle in the suspend-to-idle path (Rafael Wysocki).
      
         - Pause cpuidle later and resume it earlier during system PM
           transitions (Rafael Wysocki).
      
         - Make system suspend code use valid_state() consistently (Rafael
           Wysocki).
      
         - Add support for enabling wakeup IRQs after invoking the
           ->runtime_suspend() callback and make two drivers use it (Chunfeng
           Yun).
      
         - Make the association of ACPI device objects with PCI devices more
           straightforward and simplify the code doing that for all devices in
           general (Rafael Wysocki).
      
         - Eliminate struct pci_platform_pm_ops and handle the both of its
           users (PCI and Intel MID) directly in the PCI bus code (Rafael
           Wysocki).
      
         - Simplify and clarify ACPI PCI device PM helpers (Rafael Wysocki).
      
         - Fix ordering of operations in pci_back_from_sleep() (Rafael
           Wysocki).
      
         - Make exynos-ppmu use hyphens in DT properties (Krzysztof
           Kozlowski).
      
         - Simplify parsing event-type from DT in exynos-ppmu (Krzysztof
           Kozlowski).
      
         - Strengthen check for freq_table in devfreq (Samuel Holland)"
      
      * tag 'pm-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (49 commits)
        cpufreq: Fix parameter in parse_perf_domain()
        usb: mtu3: enable wake-up interrupt after runtime_suspend called
        usb: xhci-mtk: enable wake-up interrupt after runtime_suspend called
        PM / wakeirq: support enabling wake-up irq after runtime_suspend called
        PM / devfreq: Strengthen check for freq_table
        devfreq: exynos-ppmu: simplify parsing event-type from DT
        devfreq: exynos-ppmu: use node names with hyphens
        cpufreq: intel_pstate: Fix cpu->pstate.turbo_freq initialization
        PM: suspend: Use valid_state() consistently
        PM: sleep: Pause cpuidle later and resume it earlier during system transitions
        PM: suspend: Do not pause cpuidle in the suspend-to-idle path
        PM: sleep: Do not let "syscore" devices runtime-suspend during system transitions
        PM: hibernate: Get block device exclusively in swsusp_check()
        powercap/drivers/dtpm: Fix power limit initialization
        powercap/drivers/dtpm: Scale the power with the load
        powercap/drivers/dtpm: Use container_of instead of a private data field
        powercap/drivers/dtpm: Simplify the dtpm table
        powercap/drivers/dtpm: Encapsulate even more the code
        PM: hibernate: swap: Use vzalloc() and kzalloc()
        PM: hibernate: fix sparse warnings
        ...
      833db721
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c0d6586a
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These update the ACPICA code in the kernel to the most recent upstream
        revision, address some issues related to the ACPI power resources
        management, simplify the enumeration of PCI devices having ACPI
        companions, add new quirks, fix assorted problems, update the
        ACPI-related information in maintainers and clean up code in several
        places.
      
        Specifics:
      
         - Update the ACPICA code in the kernel to upstream revision 20210930
           including the following changes:
      
              - Fix system-wide resume issue caused by evaluating control
                methods too early in the resume path (Rafael Wysocki).
      
              - Add support for Windows 2020 _OSI string (Mario Limonciello).
      
              - Add Generic Port Affinity type for SRAT (Alison Schofield).
      
              - Add disassembly support for the NHLT ACPI table (Bob Moore).
      
         - Avoid flushing caches before entering C3 type of idle states on AMD
           processors (Deepak Sharma).
      
         - Avoid enumerating CPUs that are not present and not online-capable
           according to the platform firmware (Mario Limonciello).
      
         - Add DMI-based mechanism to quirk IRQ overrides and use it for two
           platforms (Hui Wang).
      
         - Change the configuration of unused ACPI device objects to reflect
           the D3cold power state after enumerating devices (Rafael Wysocki).
      
         - Update MAINTAINERS information regarding ACPI (Rafael Wysocki).
      
         - Fix typo in ACPI Kconfig (Masanari Iid).
      
         - Use sysfs_emit() instead of snprintf() in some places (Qing Wang).
      
         - Make the association of ACPI device objects with PCI devices more
           straightforward and simplify the code doing that for all devices in
           general (Rafael Wysocki).
      
         - Use acpi_device_adr() in acpi_find_child_device() instead of
           evaluating _ADR (Rafael Wysocki).
      
         - Drop duplicate device IDs from PNP device IDs list (Krzysztof
           Kozlowski).
      
         - Allow acpi_idle_play_dead() to use C3 on AMD processors (Richard
           Gong).
      
         - Use ACPI_COMPANION() to simplify code in some drivers (Rafael
           Wysocki).
      
         - Check the states of all ACPI power resources during initialization
           to avoid dealing with power resources in unknown states (Rafael
           Wysocki).
      
         - Fix ACPI power resource issues related to sharing wakeup power
           resources (Rafael Wysocki).
      
         - Avoid registering redundant suspend_ops (Rafael Wysocki).
      
         - Report battery charging state as "full" if it appears to be over
           the design capacity (André Almeida).
      
         - Quirk GK45 mini PC to skip reading _PSR in the AC driver (Stefan
           Schaeckeler).
      
         - Mark apei_hest_parse() static (Christoph Hellwig).
      
         - Relax platform response timeout to 1 second after instructing it to
           inject an error (Shuai Xue).
      
         - Make the PRM code handle memory allocation and remapping failures
           more gracefully and drop some unnecessary blank lines from that
           code (Aubrey Li).
      
         - Fix spelling mistake in the ACPI documentation (Colin Ian King)"
      
      * tag 'acpi-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (36 commits)
        ACPI: glue: Use acpi_device_adr() in acpi_find_child_device()
        perf: qcom_l2_pmu: ACPI: Use ACPI_COMPANION() directly
        ACPI: APEI: mark apei_hest_parse() static
        ACPI: APEI: EINJ: Relax platform response timeout to 1 second
        gpio-amdpt: ACPI: Use the ACPI_COMPANION() macro directly
        nouveau: ACPI: Use the ACPI_COMPANION() macro directly
        ACPI: resources: Add one more Medion model in IRQ override quirk
        ACPI: AC: Quirk GK45 to skip reading _PSR
        ACPI: PM: sleep: Do not set suspend_ops unnecessarily
        ACPI: PRM: Handle memory allocation and memory remap failure
        ACPI: PRM: Remove unnecessary blank lines
        ACPI: PM: Turn off wakeup power resources on _DSW/_PSW errors
        ACPI: PM: Fix sharing of wakeup power resources
        ACPI: PM: Turn off unused wakeup power resources
        ACPI: PM: Check states of power resources during initialization
        ACPI: replace snprintf() in "show" functions with sysfs_emit()
        ACPI: LPSS: Use ACPI_COMPANION() directly
        ACPI: scan: Release PM resources blocked by unused objects
        ACPI: battery: Accept charges over the design capacity as full
        ACPICA: Update version to 20210930
        ...
      c0d6586a
    • Linus Torvalds's avatar
      Merge branch 'ucount-fixes-for-v5.16' of... · 33fb4263
      Linus Torvalds authored
      Merge branch 'ucount-fixes-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull ucount cleanups from Eric Biederman:
       "While working on the ucount fixes a for v5.15 a number of cleanups
        suggested themselves.
      
        Little things like not testing for NULL when a pointer can not be NULL
        and wrapping atomic_add_negative with a more descriptive name, so that
        people reading the code can more quickly understand what is going on"
      
      * 'ucount-fixes-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        ucounts: Use atomic_long_sub_return for clarity
        ucounts: Add get_ucounts_or_wrap for clarity
        ucounts: Remove unnecessary test for NULL ucount in get_ucounts
        ucounts: In set_cred_ucounts assume new->ucounts is non-NULL
      33fb4263
    • Linus Torvalds's avatar
      Merge branch 'for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · a85373fe
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
      
       - The misc controller now reports allocation rejections through
         misc.events instead of printking
      
       - cgroup_mutex usage is reduced to improve scalability of some
         operations
      
       - vhost helper threads are now assigned to the right cgroup on cgroup2
      
       - Bug fixes
      
      * 'for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: bpf: Move wrapper for __cgroup_bpf_*() to kernel/bpf/cgroup.c
        cgroup: Fix rootcg cpu.stat guest double counting
        cgroup: no need for cgroup_mutex for /proc/cgroups
        cgroup: remove cgroup_mutex from cgroupstats_build
        cgroup: reduce dependency on cgroup_mutex
        cgroup: cgroup-v1: do not exclude cgrp_dfl_root
        cgroup: Make rebind_subsystems() disable v2 controllers all at once
        docs/cgroup: add entry for misc.events
        misc_cgroup: remove error log to avoid log flood
        misc_cgroup: introduce misc.events to count failures
      a85373fe
    • Linus Torvalds's avatar
      Merge branch 'for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 4075409c
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
       "Nothing too interesting. An optimization to short-circuit noop cpumask
        updates, debug dump code reorg, and doc update"
      
      * 'for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: doc: Call out the non-reentrance conditions
        workqueue: Introduce show_one_worker_pool and show_one_workqueue.
        workqueue: make sysfs of unbound kworker cpumask more clever
      4075409c
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.16-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · bba7d682
      Linus Torvalds authored
      Pull xfs updates from Darrick Wong:
       "This cycle we've worked on fixing bugs and improving XFS' memory
        footprint.
      
        The most notable fixes include: fixing a corruption warning (and free
        space accounting skew) if copy on write fails; fixing slab cache
        misuse if SLOB is enabled, which apparently was broken for years
        without anybody noticing; and fixing a potential race with online
        shrinkfs.
      
        Otherwise, the bulk of the changes here involve setting up separate
        slab caches for frequently used items such as btree cursors and log
        intent items, and compacting the structures to reduce memory usage of
        those items substantially. This also sets us up to support larger
        btrees in future kernels. We also switch parts of online fsck to
        allocate scrub context information from the heap instead of using
        stack space.
      
        Summary:
      
         - Bug fixes and cleanups for kernel memory allocation usage, this
           time without touching the mm code.
      
         - Refactor the log recovery mechanism that preserves held resources
           across a transaction roll so that it uses the exact same mechanism
           that we use for that during regular runtime.
      
         - Fix bugs and tighten checking around btree heights.
      
         - Remove more old typedefs.
      
         - Fix perag reference leaks when racing with growfs.
      
         - Remove unused fields from xfs_btree_cur.
      
         - Allocate various scrub structures on the heap to reduce stack
           usage.
      
         - Pack xfs_btree_cur fields and rearrange to support arbitrary
           heights.
      
         - Compute maximum possible heights for each btree height, and use
           that to set up slab caches for each btree type.
      
         - Finally remove kmem_zone_t, since these have always been struct
           kmem_cache on Linux.
      
         - Compact the structures used to coordinate work intent items.
      
         - Set up slab caches for each work intent item type.
      
         - Rename the "bmap_add_free" function to "free_extent_later", which
           more accurately describes what it does.
      
         - Fix corruption warning on unmount when a CoW preallocation covers a
           data fork delalloc reservation but then the CoW fails.
      
         - Add some more minor code improvements"
      
      * tag 'xfs-5.16-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (45 commits)
        xfs: use swap() to make code cleaner
        xfs: Remove duplicated include in xfs_super
        xfs: punch out data fork delalloc blocks on COW writeback failure
        xfs: remove unused parameter from refcount code
        xfs: reduce the size of struct xfs_extent_free_item
        xfs: rename xfs_bmap_add_free to xfs_free_extent_later
        xfs: create slab caches for frequently-used deferred items
        xfs: compact deferred intent item structures
        xfs: rename _zone variables to _cache
        xfs: remove kmem_zone typedef
        xfs: use separate btree cursor cache for each btree type
        xfs: compute absolute maximum nlevels for each btree type
        xfs: kill XFS_BTREE_MAXLEVELS
        xfs: compute the maximum height of the rmap btree when reflink enabled
        xfs: clean up xfs_btree_{calc_size,compute_maxlevels}
        xfs: compute maximum AG btree height for critical reservation calculation
        xfs: rename m_ag_maxlevels to m_allocbt_maxlevels
        xfs: dynamically allocate cursors based on maxlevels
        xfs: encode the max btree height in the cursor
        xfs: refactor btree cursor allocation function
        ...
      bba7d682
    • Linus Torvalds's avatar
      Merge tag 'afs-next-20211102' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · a64a325b
      Linus Torvalds authored
      Pull AFS updates from David Howells:
      
       - Split the readpage handler for symlinks from the one for files. The
         symlink readpage isn't given a file pointer, so the handling has to
         be special-cased.
      
         This has been posted as part of a patchset to foliate netfs, afs,
         etc.[1] but I've moved it to this one as it's not actually doing
         foliation but is more of a pre-cleanup.
      
       - Fix file creation to set the mtime from the client's clock to keep
         make happy if the server's clock isn't quite in sync.[2]
      
      Link: https://lore.kernel.org/r/163005742570.2472992.7800423440314043178.stgit@warthog.procyon.org.uk/ [1]
      Link: http://lists.infradead.org/pipermail/linux-afs/2021-October/004395.html [2]
      
      * tag 'afs-next-20211102' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        afs: Set mtime from the client for yfs create operations
        afs: Sort out symlink reading
      a64a325b
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v5.15-rc5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 78805cbe
      Linus Torvalds authored
      Pull gfs2 updates from Andreas Gruenbacher:
      
       - Fix a locking order inversion between the inode and iopen glocks in
         gfs2_inode_lookup.
      
       - Implement proper queuing of glock holders for glocks that require
         instantiation (like reading an inode or bitmap blocks from disk).
         Before, multiple glock holders could race with each other and
         half-initialized objects could be exposed; the GL_SKIP flag further
         exacerbated this problem.
      
       - Fix a rare deadlock between inode lookup / creation and remote delete
         work.
      
       - Fix a rare scheduling-while-atomic bug in dlm during glock hash table
         walks.
      
       - Various other minor fixes and cleanups.
      
      * tag 'gfs2-v5.15-rc5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2: (21 commits)
        gfs2: Fix unused value warning in do_gfs2_set_flags()
        gfs2: check context in gfs2_glock_put
        gfs2: Fix glock_hash_walk bugs
        gfs2: Cancel remote delete work asynchronously
        gfs2: set glock object after nq
        gfs2: remove RDF_UPTODATE flag
        gfs2: Eliminate GIF_INVALID flag
        gfs2: fix GL_SKIP node_scope problems
        gfs2: split glock instantiation off from do_promote
        gfs2: further simplify do_promote
        gfs2: re-factor function do_promote
        gfs2: Remove 'first' trace_gfs2_promote argument
        gfs2: change go_lock to go_instantiate
        gfs2: dump glocks from gfs2_consist_OBJ_i
        gfs2: dequeue iopen holder in gfs2_inode_lookup error
        gfs2: Save ip from gfs2_glock_nq_init
        gfs2: Allow append and immutable bits to coexist
        gfs2: Switch some BUG_ON to GLOCK_BUG_ON for debug
        gfs2: move GL_SKIP check from glops to do_promote
        gfs2: Add GL_SKIP holder flag to dump_holder
        ...
      78805cbe
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v5.15-rc5-mmap-fault' of... · c03098d4
      Linus Torvalds authored
      Merge tag 'gfs2-v5.15-rc5-mmap-fault' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2
      
      Pull gfs2 mmap + page fault deadlocks fixes from Andreas Gruenbacher:
       "Functions gfs2_file_read_iter and gfs2_file_write_iter are both
        accessing the user buffer to write to or read from while holding the
        inode glock.
      
        In the most basic deadlock scenario, that buffer will not be resident
        and it will be mapped to the same file. Accessing the buffer will
        trigger a page fault, and gfs2 will deadlock trying to take the same
        inode glock again while trying to handle that fault.
      
        Fix that and similar, more complex scenarios by disabling page faults
        while accessing user buffers. To make this work, introduce a small
        amount of new infrastructure and fix some bugs that didn't trigger so
        far, with page faults enabled"
      
      * tag 'gfs2-v5.15-rc5-mmap-fault' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Fix mmap + page fault deadlocks for direct I/O
        iov_iter: Introduce nofault flag to disable page faults
        gup: Introduce FOLL_NOFAULT flag to disable page faults
        iomap: Add done_before argument to iomap_dio_rw
        iomap: Support partial direct I/O on user copy failures
        iomap: Fix iomap_dio_rw return value for user copies
        gfs2: Fix mmap + page fault deadlocks for buffered I/O
        gfs2: Eliminate ip->i_gh
        gfs2: Move the inode glock locking to gfs2_file_buffered_write
        gfs2: Introduce flag for glock holder auto-demotion
        gfs2: Clean up function may_grant
        gfs2: Add wrapper for iomap_file_buffered_write
        iov_iter: Introduce fault_in_iov_iter_writeable
        iov_iter: Turn iov_iter_fault_in_readable into fault_in_iov_iter_readable
        gup: Turn fault_in_pages_{readable,writeable} into fault_in_{readable,writeable}
        powerpc/kvm: Fix kvm_use_magic_page
        iov_iter: Fix iov_iter_get_pages{,_alloc} page fault return value
      c03098d4
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · ab2e7f4b
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - Rejig task/thread info to place thread info in task struct
      
       - Amba bus cleanups (removing unused functions)
      
       - Handle Amba device probe without IRQ domains
      
       - Parse linux,usable-memory-range in decompressor
      
       - Mark OCRAM as read-only after initialisation
      
       - Refactor page fault handling
      
       - Fix PXN handling with LPAE kernels
      
       - Warning and build fixes from Arnd
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (32 commits)
        ARM: 9151/1: Thumb2: avoid __builtin_thread_pointer() on Clang
        ARM: 9150/1: Fix PID_IN_CONTEXTIDR regression when THREAD_INFO_IN_TASK=y
        ARM: 9147/1: add printf format attribute to early_print()
        ARM: 9146/1: RiscPC needs older gcc version
        ARM: 9145/1: patch: fix BE32 compilation
        ARM: 9144/1: forbid ftrace with clang and thumb2_kernel
        ARM: 9143/1: add CONFIG_PHYS_OFFSET default values
        ARM: 9142/1: kasan: work around LPAE build warning
        ARM: 9140/1: allow compile-testing without machine record
        ARM: 9137/1: disallow CONFIG_THUMB with ARMv4
        ARM: 9136/1: ARMv7-M uses BE-8, not BE-32
        ARM: 9135/1: kprobes: address gcc -Wempty-body warning
        ARM: 9101/1: sa1100/assabet: convert LEDs to gpiod APIs
        ARM: 9131/1: mm: Fix PXN process with LPAE feature
        ARM: 9130/1: mm: Provide die_kernel_fault() helper
        ARM: 9126/1: mm: Kill page table base print in show_pte()
        ARM: 9127/1: mm: Cleanup access_error()
        ARM: 9129/1: mm: Kill task_struct argument for __do_page_fault()
        ARM: 9128/1: mm: Refactor the __do_page_fault()
        ARM: imx6: mark OCRAM mapping read-only
        ...
      ab2e7f4b
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-em' and 'powercap' · bf56b907
      Rafael J. Wysocki authored
      Merge Energy Model and power capping updates for 5.16-rc1:
      
       - Add support for inefficient operating performance points to the
         Energy Model and modify cpufreq to use them properly (Vincent
         Donnefort).
      
       - Rearrange the DTPM framework code to simplify it and make it easier
         to follow (Daniel Lezcano).
      
       - Fix power intialization in DTPM (Daniel Lezcano).
      
       - Add CPU load consideration when estimating the instaneous power
         consumption in DTPM (Daniel Lezcano).
      
      * pm-em:
        cpufreq: mediatek-hw: Fix cpufreq_table_find_index_dl() call
        PM: EM: Mark inefficiencies in CPUFreq
        cpufreq: Use CPUFREQ_RELATION_E in DVFS governors
        cpufreq: Introducing CPUFREQ_RELATION_E
        cpufreq: Add an interface to mark inefficient frequencies
        cpufreq: Make policy min/max hard requirements
        PM: EM: Allow skipping inefficient states
        PM: EM: Extend em_perf_domain with a flag field
        PM: EM: Mark inefficient states
        PM: EM: Fix inefficient states detection
      
      * powercap:
        powercap/drivers/dtpm: Fix power limit initialization
        powercap/drivers/dtpm: Scale the power with the load
        powercap/drivers/dtpm: Use container_of instead of a private data field
        powercap/drivers/dtpm: Simplify the dtpm table
        powercap/drivers/dtpm: Encapsulate even more the code
      bf56b907
    • Stephen Boyd's avatar
      Merge branches 'clk-composite-determine-fix', 'clk-allwinner', 'clk-amlogic'... · e2ceaa86
      Stephen Boyd authored
      Merge branches 'clk-composite-determine-fix', 'clk-allwinner', 'clk-amlogic' and 'clk-samsung' into clk-next
      
      * clk-composite-determine-fix:
        clk: composite: Use rate_ops.determine_rate when also a mux is available
        clk: composite: Also consider .determine_rate for rate + mux composites
      
      * clk-allwinner:
        clk: sunxi: sun8i-apb0: Make use of the helper function devm_platform_ioremap_resource()
        clk: sunxi: sun6i-ar100: Make use of the helper function devm_platform_ioremap_resource()
        clk: sunxi: sun6i-apb0-gates: Make use of the helper function devm_platform_ioremap_resource()
        clk: sunxi: sun6i-apb0: Make use of the helper function devm_platform_ioremap_resource()
        clk: sunxi-ng: ccu-sun9i-a80-usb: Make use of the helper function devm_platform_ioremap_resource()
        clk: sunxi-ng: ccu-sun9i-a80-de: Make use of the helper function devm_platform_ioremap_resource()
        clk: sunxi-ng: ccu-sun9i-a80: Make use of the helper function devm_platform_ioremap_resource()
        clk: sunxi-ng: ccu-sun8i-r40: Make use of the helper function devm_platform_ioremap_resource()
        clk: sunxi-ng: ccu-sun8i-de2: Make use of the helper function devm_platform_ioremap_resource()
        clk: sunxi-ng: ccu-sun8i-a83t: Make use of the helper function devm_platform_ioremap_resource()
        clk: sunxi-ng: ccu-sun50i-h6: Make use of the helper function devm_platform_ioremap_resource()
        clk: sunxi-ng: ccu-sun50i-a64: Make use of the helper function devm_platform_ioremap_resource()
        clk: sunxi: clk-mod0: Make use of the helper function devm_platform_ioremap_resource()
        dt-bindings: clocks: Fix typo in the H6 compatible
        clk: sunxi-ng: Use a separate lock for each CCU instance
        clk: sunxi-ng: Prevent unbinding CCUs via sysfs
        clk: sunxi-ng: Unregister clocks/resets when unbinding
        clk: sunxi-ng: Add machine dependency to A83T CCU
        clk: sunxi-ng: mux: Remove unused 'reg' field
      
      * clk-amlogic:
        clk: meson: meson8b: Make the video clock trees mutable
        clk: meson: meson8b: Initialize the HDMI PLL registers
        clk: meson: meson8b: Add the HDMI PLL M/N parameters
        clk: meson: meson8b: Add the vid_pll_lvds_en gate clock
        clk: meson: meson8b: Use CLK_SET_RATE_NO_REPARENT for vclk{,2}_in_sel
        clk: meson: meson8b: Export the video clocks
      
      * clk-samsung:
        clk: samsung: describe drivers in Kconfig
        clk: samsung: exynos5433: update apollo and atlas clock probing
        clk: samsung: add support for CPU clocks
        clk: samsung: Introduce Exynos850 clock driver
        dt-bindings: clock: Document Exynos850 CMU bindings
        dt-bindings: clock: Add bindings definitions for Exynos850 CMU
        clk: samsung: clk-pll: Implement pll0831x PLL type
        clk: samsung: clk-pll: Implement pll0822x PLL type
        clk: samsung: s5pv210-audss: Make use of devm_platform_ioremap_resource()
        clk: samsung: exynos5433: Make use of devm_platform_ioremap_resource()
        clk: samsung: exynos4412-isp: Make use of devm_platform_ioremap_resource()
        clk: samsung: exynos-audss: Make use of devm_platform_ioremap_resource()
      e2ceaa86
    • Stephen Boyd's avatar
      Merge branches 'clk-imx', 'clk-ux500' and 'clk-debugfs' into clk-next · 8d741ecd
      Stephen Boyd authored
      * clk-imx: (21 commits)
        clk: imx: Make CLK_IMX8ULP select MXC_CLK
        clk: imx: imx6ul: Fix csi clk gate register
        clk: imx: imx6ul: Move csi_sel mux to correct base register
        clk: imx: Fix the build break when clk-imx8ulp build as module
        clk: imx: Add the pcc reset controller support on imx8ulp
        clk: imx: Add clock driver for imx8ulp
        clk: imx: Update the pfdv2 for 8ulp specific support
        clk: imx: disable the pfd when set pfdv2 clock rate
        clk: imx: Add 'CLK_SET_RATE_NO_REPARENT' for composite-7ulp
        clk: imx: disable i.mx7ulp composite clock during initialization
        clk: imx: Update the compsite driver to support imx8ulp
        clk: imx: Update the pllv4 to support imx8ulp
        dt-bindings: clock: Add imx8ulp clock support
        clk: imx: Rework imx_clk_hw_pll14xx wrapper
        clk: imx: Rework all imx_clk_hw_composite wrappers
        clk: imx: Rework all clk_hw_register_divider wrappers
        clk: imx: Rework all clk_hw_register_mux wrappers
        clk: imx: Rework all clk_hw_register_gate2 wrappers
        clk: imx: Rework all clk_hw_register_gate wrappers
        clk: imx: Make mux/mux2 clk based helpers use clk_hw based ones
        ...
      
      * clk-ux500:
        clk: ux500: Add driver for the reset portions of PRCC
        dt-bindings: clock: u8500: Rewrite in YAML and extend
      
      * clk-debugfs:
        clk: use clk_core_get_rate_recalc() in clk_rate_get()
      8d741ecd
    • Stephen Boyd's avatar
      Merge branches 'clk-leak', 'clk-rockchip', 'clk-renesas' and 'clk-at91' into clk-next · b43e2d55
      Stephen Boyd authored
       - Clock power management for new SAMA7G5 SoC
       - Updates to the master clock driver and sam9x60-pll to be able to use
         cpufreq-dt driver and avoid overclocking of CPU and MCK0 domains while
         changing the frequency via DVFS
       - Power management refinement with the use of save_context()/restore_context()
         on each clock driver to specify their use in case of Backup mode only
      
      * clk-leak:
        clk: mvebu: ap-cpu-clk: Fix a memory leak in error handling paths
      
      * clk-rockchip:
        clk: rockchip: use module_platform_driver_probe
        clk: rockchip: rk3399: expose PCLK_COREDBG_{B,L}
        clk: rockchip: rk3399: make CPU clocks critical
      
      * clk-renesas:
        clk: renesas: r8a779[56]x: Add MLP clocks
        clk: renesas: r9a07g044: Add SDHI clock and reset entries
        clk: renesas: rzg2l: Add SDHI clk mux support
        clk: renesas: r8a779a0: Add RPC support
        clk: renesas: cpg-lib: Move RPC clock registration to the library
        clk: renesas: r9a07g044: Add clock and reset entries for SPI Multi I/O Bus Controller
        clk: renesas: r8a779a0: Add Z0 and Z1 clock support
        clk: renesas: r9a07g044: Add GbEthernet clock/reset
        clk: renesas: rzg2l: Add support to handle coupled clocks
        clk: renesas: r9a07g044: Add ethernet clock sources
        clk: renesas: rzg2l: Add support to handle MUX clocks
        clk: renesas: r8a779a0: Add TPU clock
        clk: renesas: rzg2l: Fix clk status function
        clk: renesas: r9a07g044: Mark IA55_CLK and DMAC_ACLK critical
      
      * clk-at91:
        clk: at91: sama7g5: set low limit for mck0 at 32KHz
        clk: at91: sama7g5: remove prescaler part of master clock
        clk: at91: clk-master: add notifier for divider
        clk: at91: clk-sam9x60-pll: add notifier for div part of PLL
        clk: at91: clk-master: fix prescaler logic
        clk: at91: clk-master: mask mckr against layout->mask
        clk: at91: clk-master: check if div or pres is zero
        clk: at91: sam9x60-pll: use DIV_ROUND_CLOSEST_ULL
        clk: at91: pmc: add sama7g5 to the list of available pmcs
        clk: at91: clk-master: improve readability by using local variables
        clk: at91: clk-master: add register definition for sama7g5's master clock
        clk: at91: sama7g5: add securam's peripheral clock
        clk: at91: pmc: execute suspend/resume only for backup mode
        clk: at91: re-factor clocks suspend/resume
        clk: at91: check pmc node status before registering syscore ops
      b43e2d55
    • Stephen Boyd's avatar
      Merge branches 'clk-qcom', 'clk-mtk', 'clk-versatile' and 'clk-doc' into clk-next · a379e16a
      Stephen Boyd authored
       - Use ARRAY_SIZE in qcom clk drivers
       - Remove some impractical fallback parent names in qcom clk drivers
       - GCC and RPMcc support for Qualcomm QCM2290 SoCs
       - GCC support for Qualcomm MSM8994/MSM8992 SoCs
       - LPASSCC and CAMCC support for Qualcomm SC7280 SoCs
       - Support for Mediatek MT8195 SoCs
       - Make Mediatek clk drivers tristate
      
      * clk-qcom: (44 commits)
        clk: qcom: gdsc: enable optional power domain support
        clk: qcom: videocc-sm8250: use runtime PM for the clock controller
        clk: qcom: dispcc-sm8250: use runtime PM for the clock controller
        dt-bindings: clock: qcom,videocc: add mmcx power domain
        dt-bindings: clock: qcom,dispcc-sm8x50: add mmcx power domain
        clk: qcom: gcc-sc7280: Drop unused array
        clk: qcom: camcc: Add camera clock controller driver for SC7280
        dt-bindings: clock: Add YAML schemas for CAMCC clocks on SC7280
        clk: qcom: Add lpass clock controller driver for SC7280
        dt-bindings: clock: Add YAML schemas for LPASS clocks on SC7280
        clk: qcom: Kconfig: Sort the symbol for SC_LPASS_CORECC_7180
        clk: qcom: mmcc-sdm660: Add hw_ctrl flag to venus_core0_gdsc
        clk: qcom: mmcc-sdm660: Add necessary CXCs to venus_gdsc
        clk: qcom: gcc-msm8994: Use ARRAY_SIZE() for num_parents
        clk: qcom: gcc-msm8994: Add proper msm8992 support
        clk: qcom: gcc-msm8994: Add modem reset
        clk: qcom: gcc-msm8994: Remove the inexistent GDSC_PCIE
        clk: qcom: gcc-msm8994: Add missing clocks
        clk: qcom: gcc-msm8994: Add missing NoC clocks
        clk: qcom: gcc-msm8994: Fix up SPI QUP clocks
        ...
      
      * clk-mtk: (28 commits)
        clk: mediatek: Export clk_ops structures to modules
        clk: mediatek: support COMMON_CLK_MT6779 module build
        clk: mediatek: support COMMON_CLK_MEDIATEK module build
        clk: composite: export clk_register_composite
        clk: mediatek: Add MT8195 apusys clock support
        clk: mediatek: Add MT8195 imp i2c wrapper clock support
        clk: mediatek: Add MT8195 wpesys clock support
        clk: mediatek: Add MT8195 vppsys1 clock support
        clk: mediatek: Add MT8195 vppsys0 clock support
        clk: mediatek: Add MT8195 vencsys clock support
        clk: mediatek: Add MT8195 vdosys1 clock support
        clk: mediatek: Add MT8195 vdosys0 clock support
        clk: mediatek: Add MT8195 vdecsys clock support
        clk: mediatek: Add MT8195 scp adsp clock support
        clk: mediatek: Add MT8195 mfgcfg clock support
        clk: mediatek: Add MT8195 ipesys clock support
        clk: mediatek: Add MT8195 imgsys clock support
        clk: mediatek: Add MT8195 ccusys clock support
        clk: mediatek: Add MT8195 camsys clock support
        clk: mediatek: Add MT8195 infrastructure clock support
        ...
      
      * clk-versatile:
        clk: versatile: hide clock drivers from non-ARM users
        clk: versatile: Rename ICST to CLK_ICST
        clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for register address
        dt-bindings: clock: arm,syscon-icst: Use 'reg' instead of 'vco-offset' for VCO register address
      
      * clk-doc:
        dt-bindings: clk: fixed-mmio-clock: Convert to YAML
      a379e16a
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · d7e0a795
      Linus Torvalds authored
      Pull KVM updates from Paolo Bonzini:
       "ARM:
      
         - More progress on the protected VM front, now with the full fixed
           feature set as well as the limitation of some hypercalls after
           initialisation.
      
         - Cleanup of the RAZ/WI sysreg handling, which was pointlessly
           complicated
      
         - Fixes for the vgic placement in the IPA space, together with a
           bunch of selftests
      
         - More memcg accounting of the memory allocated on behalf of a guest
      
         - Timer and vgic selftests
      
         - Workarounds for the Apple M1 broken vgic implementation
      
         - KConfig cleanups
      
         - New kvmarm.mode=none option, for those who really dislike us
      
        RISC-V:
      
         - New KVM port.
      
        x86:
      
         - New API to control TSC offset from userspace
      
         - TSC scaling for nested hypervisors on SVM
      
         - Switch masterclock protection from raw_spin_lock to seqcount
      
         - Clean up function prototypes in the page fault code and avoid
           repeated memslot lookups
      
         - Convey the exit reason to userspace on emulation failure
      
         - Configure time between NX page recovery iterations
      
         - Expose Predictive Store Forwarding Disable CPUID leaf
      
         - Allocate page tracking data structures lazily (if the i915 KVM-GT
           functionality is not compiled in)
      
         - Cleanups, fixes and optimizations for the shadow MMU code
      
        s390:
      
         - SIGP Fixes
      
         - initial preparations for lazy destroy of secure VMs
      
         - storage key improvements/fixes
      
         - Log the guest CPNC
      
        Starting from this release, KVM-PPC patches will come from Michael
        Ellerman's PPC tree"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (227 commits)
        RISC-V: KVM: fix boolreturn.cocci warnings
        RISC-V: KVM: remove unneeded semicolon
        RISC-V: KVM: Fix GPA passed to __kvm_riscv_hfence_gvma_xyz() functions
        RISC-V: KVM: Factor-out FP virtualization into separate sources
        KVM: s390: add debug statement for diag 318 CPNC data
        KVM: s390: pv: properly handle page flags for protected guests
        KVM: s390: Fix handle_sske page fault handling
        KVM: x86: SGX must obey the KVM_INTERNAL_ERROR_EMULATION protocol
        KVM: x86: On emulation failure, convey the exit reason, etc. to userspace
        KVM: x86: Get exit_reason as part of kvm_x86_ops.get_exit_info
        KVM: x86: Clarify the kvm_run.emulation_failure structure layout
        KVM: s390: Add a routine for setting userspace CPU state
        KVM: s390: Simplify SIGP Set Arch handling
        KVM: s390: pv: avoid stalls when making pages secure
        KVM: s390: pv: avoid stalls for kvm_s390_pv_init_vm
        KVM: s390: pv: avoid double free of sida page
        KVM: s390: pv: add macros for UVC CC values
        s390/mm: optimize reset_guest_reference_bit()
        s390/mm: optimize set_guest_storage_key()
        s390/mm: no need for pte_alloc_map_lock() if we know the pmd is present
        ...
      d7e0a795