1. 26 Feb, 2023 5 commits
  2. 25 Feb, 2023 35 commits
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 1ec35ead
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "We have one small patch to the clk core this time around. It fixes a
        corner case with the CLK_OPS_PARENT_ENABLE flag combined with
        clk_core_is_enabled() where it hangs the system. We'll simply assume
        the clk is disabled if the parent is disabled and the flag is set.
        Trying to turn on the parent to check the enable state of the clk runs
        into system hangs at boot. We let this bake in -next for a couple
        weeks to make sure there aren't any more issues because the last
        attempt to fix this ran into hangs and had to be reverted.
      
        Note: There were some more patches to the core framework around
        sync_state and disabling unused clks, but I asked for that to be
        reverted from the qcom PR because it isn't ready and we're still
        discussing the best solution on the list.
      
        Outside of the core clk framework, we have the usual collection of clk
        driver updates and support for new SoCs (which seems to never stop).
        The dirstat is dominated by Qualcomm because they added support for
        quite a few SoCs this time around and also migrated quite a few of
        their drivers to clk_parent_data. The other big diff is in the
        Mediatek clk drivers that saw a significant rework this cycle to
        similarly modernize the code, and we'll see that work continue in the
        next cycle as well. Nothing really jumps out as scary here, except
        that the significant churn in parent data descriptions can have typos
        that go unnoticed. More details below.
      
        Core:
         - Honor CLK_OPS_PARENT_ENABLE in clk_core_is_enabled()
      
        New Drivers:
         - Add a new clk-gpr-mux clock type and use it on i.MX6Q to add ENET
           ref clocks
         - Support for Mediatek MT7891 SoC clks
         - Support for many Qualcomm clk controllers:
            - QDU1000/QRU1000 global clock controller
            - SA8775P global clock controller
            - SM8550 TCSR and display clock controller
            - SM6350 clock controller
            - MSM8996 CBF and APCS clock controllers
      
        Updates:
         - Various cleanups and improvements to Mediatek clk drivers to reduce
           code size and modernize the drivers
         - Support for Versa 5P49V60 clks
         - Disable R-Car H3 ES1.*, as it was only available to an internal
           development group and needed a lot of quirks and workarounds
         - Add PWM, Compare-Match Timer (TIM), USB, SDHI, and eMMC clocks and
           resets on Renesas RZ/V2M
         - Add display clocks on Renesas R-Car V4H
         - Add Camera Receiving Unit (CRU) clocks and resets on Renesas RZ/G2L
         - Free the imx_uart_clocks even if imx_register_uart_clocks returns
           early
         - Get the stdout clocks count from device tree on i.MX
         - Drop the clock count argument from imx_register_uart_clocks()
         - Keep the uart clocks on i.MX93 for when earlycon is used
         - Fix SPDX comment in i.MX6SLL clocks bindings header
         - Drop some unnecessary spaces from i.MX8ULP clocks bindings header
         - Add imx_obtain_fixed_of_clock() for allowing to add a clock that is
           not configured via devicetree
         - Fix the ENET1 gate configuration for i.MX6UL according to the
           reference manual
         - Add ENET refclock mux support for i.MX6UL
         - Add support for USB host/device configuration on Renesas RZ/N1
         - Add PLL2 programming support, and CAN-FD clocks on Renesas R-Car
           V4H
         - Add D1 CAN bus gates and resets for Allwinner
         - Mark D1 CPUX clock as critical on Allwinner
         - Reuse D1 driver for Allwinner R528/T113
         - Cleanup sunxi-ng Kconfig
         - Fix sunxi-ng kernel-doc issues
         - Model Allwinner H3/H5 DRAM clock as fixed clock
         - Use .determine_rate() instead of .round_rate() for the dualdiv,
           mpll, sclk-div and cpu-dyn-div amlogic clock drivers
         - DDR clocks were marked as critical in the proper clock driver for
           each AT91 SoC such that drivers/memory/atmel-sdramc.c to be deleted
           in the next releases as it only does clock enablement
         - Patch to avoid compiling dt-compat.o for all AT91 SoCs as only some
           of them may use it
         - Support synchronous power_off requests in the qcom GDSC driver for
           proper GPU power collapse
         - Drop test clocks from various Qualcomm clk drivers
         - Update parent references to use clk_parent_data/clk_hw in various
           Qualcomm clk drivers
         - Fixes for the Qualcomm MSM8996 CPU clock controller
         - Transition Qualcomm MSM8974 GCC off the externally defined
           sleep_clk
         - Add GDSCs in the global clock controller for Qualcomm QCS404
         - The SDCC core clocks on Qualcomm SM6115 are moved to floor_ops
         - Programming of clk_dis_wait for GPU CX GDSC on Qualcomm SC7180 and
           SDM845 are moved to use the recently introduced properties in the
           GDSC struct
         - Qualcomm's RPMh clock driver gains SM8550 and SA8775P clocks, and
           the IPA clock is added on a variety of platforms
         - De-duplicate identical clks in Qualcomm SMD RPM clk driver
         - Add a few missing clocks across msm8998, msm8992, msm8916, qcs404
           to Qualcomm SDM RPM clk driver
         - Various Qualcomm clk drivers use devm_pm_runtime_enable() to
           simplify"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (228 commits)
        clk: qcom: apcs-msm8986: Include bitfield.h for FIELD_PREP
        clk: qcom: Revert sync_state based clk_disable_unused
        clk: imx: pll14xx: fix recalc_rate for negative kdiv
        clk: rs9: Drop unused pin_xin field
        MAINTAINERS: clk: imx: Add Peng Fan as reviewer
        clk: sprd: Add dependency for SPRD_UMS512_CLK
        clk: ralink: fix 'mt7621_gate_is_enabled()' function
        clk: mediatek: clk-mtk: Remove unneeded semicolon
        dt-bindings: clock: remove stih416 bindings
        dt-bindings: clock: add loongson-2 clock
        dt-bindings: clock: add loongson-2 clock include file
        clk: imx: fix compile testing imxrt1050
        clk: Honor CLK_OPS_PARENT_ENABLE in clk_core_is_enabled()
        clk: imx: set imx_clk_gpr_mux_ops storage-class-specifier to static
        clk: renesas: rcar-gen3: Disable R-Car H3 ES1.*
        dt-bindings: clock: Merge qcom,gpucc-sm8350 into qcom,gpucc.yaml
        clk: qcom: gpucc-sdm845: fix clk_dis_wait being programmed for CX GDSC
        clk: qcom: gpucc-sc7180: fix clk_dis_wait being programmed for CX GDSC
        dt-bindings: clock: qcom,sa8775p-gcc: add the power-domains property
        clk: qcom: cpu-8996: add missing cputype include
        ...
      1ec35ead
    • Linus Torvalds's avatar
      Merge tag 'mailbox-v6.3' of git://git.linaro.org/landing-teams/working/fujitsu/integration · 562ed38d
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
      
       - qcom: misc changes to bindings for sa8775p, QDU1000/QRU1000, IPQ5332,
         SDX55, msm8976, glink-rpm-edge
      
       - sti: convert to DT schema
      
       - zynq: switch to flexible array to simplify code
      
      * tag 'mailbox-v6.3' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
        dt-bindings: mailbox: qcom-ipcc: Add compatible for QDU1000/QRU1000
        mailbox: qcom-apcs-ipc: add IPQ5332 APSS clock support
        dt-bindings: mailbox: qcom: add compatible for the IPQ5332 SoC
        dt-bindings: remoteproc: qcom,glink-rpm-edge: convert to DT schema
        mailbox: qcom-apcs-ipc: enable APCS clock device for MSM8996
        dt-bindings: mailbox: qcom: add #clock-cells to msm8996 example
        dt-bindings: mailbox: qcom: add missing platforms to conditional clauses
        dt-bindings: mailbox: qcom: correct the list of platforms using clocks
        dt-bindings: mailbox: qcom: enable syscon compatible for msm8976
        dt-bindings: mailbox: qcom: add SDX55 compatible
        dt-bindings: mailbox: qcom-ipcc: document the sa8775p platform
        dt-bindings: mailbox: sti-mailbox: convert to DT schema
        mailbox: zynq: Switch to flexible array to simplify code
      562ed38d
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · 2e3036a2
      Linus Torvalds authored
      Pull MTD updates from Miquel Raynal:
       "MTD changes:
      
         - parsers: ofpart: add workaround for #size-cells 0
      
         - dt-bindings: partitions: Fix partition node name pattern
      
         - dataflash: remove duplicate SPI ID table
      
        Raw NAND core changes:
      
         - Check the data only read pattern only once
      
         - Prepare the late addition of supported operation checks
      
         - Support for sequential cache reads
      
         - Fix nand_chip kdoc
      
        Raw NAND driver changes:
      
         - Fsl_elbc: Propagate HW ECC settings to HW
      
         - Marvell: Add missing layouts
      
         - Pasemi: Don't use static data to track per-device state
      
         - Sunxi:
            - Fix the size of the last OOB region
            - Remove an unnecessary check
            - Remove an unnecessary check
            - Clean up chips after failed init
            - Precompute the ECC_CTL register value
            - Embed sunxi_nand_hw_ecc by value
            - Update OOB layout to match hardware
      
         - tmio_nand: Remove driver
      
         - vf610_nfc: Use regular comments for functions
      
        SPI-NAND driver changes:
      
         - Add support for AllianceMemory AS5F34G04SND
      
         - Macronix: use scratch buffer for DMA operation
      
        NAND ECC changes:
      
         - Mediatek:
            - Add ECC support fot MT7986 IC
            - Add compatible for MT7986
            - dt-bindings: Split ECC engine with rawnand controller
      
        SPI NOR changes:
      
         - Misc core fixes
      
        SPI NOR driver changes:
      
         - Spansion: Minor fixes"
      
      * tag 'mtd/for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (33 commits)
        mtd: parsers: ofpart: add workaround for #size-cells 0
        mtd: rawnand: sunxi: Precompute the ECC_CTL register value
        mtd: rawnand: sunxi: Embed sunxi_nand_hw_ecc by value
        mtd: rawnand: sunxi: Update OOB layout to match hardware
        mtd: spi-nor: Sort headers alphabetically
        mtd: spi-nor: Fix shift-out-of-bounds in spi_nor_set_erase_type
        mtd: nand: ecc-mtk: Add ECC support fot MT7986 IC
        dt-bindings: mtd: mediatek,nand-ecc-engine: Add compatible for MT7986
        dt-bindings: mtd: Split ECC engine with rawnand controller
        mtd: rawnand: fsl_elbc: Propagate HW ECC settings to HW
        mtd: spinand: Add support for AllianceMemory AS5F34G04SND
        dt-bindings: mtd: partitions: Fix partition node name pattern
        mtd: spi-nor: Create macros to define chip IDs and geometries
        mtd: spi-nor: spansion: Make CFRx reg fields generic
        mtd: spi-nor: spansion: Consider reserved bits in CFR5 register
        mtd: spi-nor: core: fix implicit declaration warning
        mtd: spinand: macronix: use scratch buffer for DMA operation
        mtd: rawnand: Fix nand_chip kdoc
        mtd: rawnand: vf610_nfc: use regular comments for functions
        mtd: rawnand: Support for sequential cache reads
        ...
      2e3036a2
    • Linus Torvalds's avatar
      Merge tag 'input-for-v6.3-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 60e2bf7d
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
      
       - a set of tweaks to iqs269a touch controller driver
      
       - a fix for ads7846 driver to properly handle 7845 chip
      
       - cap11xx driver will support cap1203, cap1293 and cap1298 models
      
       - xpad driver will support 8BitDo Pro 2 Wired Controller
      
       - input drivers have been switched to DEFINE_SIMPLE_DEV_PM_OPS() and
         pm_sleep_ptr()
      
       - other miscellaneous fixes and tweaks
      
      * tag 'input-for-v6.3-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (113 commits)
        dt-bindings: input: iqs626a: Redefine trackpad property types
        Input: iqs626a - drop unused device node references
        dt-bindings: input: touchscreen: st,stmfts: convert to dtschema
        Input: cyttsp5 - fix bitmask for touch buttons
        Input: exc3000 - properly stop timer on shutdown
        Input: synaptics-rmi4 - fix SPI device ID
        Input: cap11xx - add support for cap1203, cap1293 and cap1298
        dt-bindings: input: microchip,cap11xx: add cap1203, cap1293 and cap1298
        Input: pmic8xxx-keypad - fix a Kconfig spelling mistake & hyphenation
        Input: edt-ft5x06 - fix typo in a comment
        Input: tegra-kbc - use devm_platform_get_and_ioremap_resource()
        Input: st-keyscan - use devm_platform_get_and_ioremap_resource()
        Input: spear-keyboard - use devm_platform_get_and_ioremap_resource()
        Input: olpc_apsp - use devm_platform_get_and_ioremap_resource()
        Input: arc_ps2 - use devm_platform_get_and_ioremap_resource()
        Input: apbps2 - use devm_platform_get_and_ioremap_resource()
        Input: altera_ps2 - use devm_platform_get_and_ioremap_resource()
        Input: ads7846 - don't check penirq immediately for 7845
        Input: ads7846 - always set last command to PWRDOWN
        Input: ads7846 - don't report pressure for ads7845
        ...
      60e2bf7d
    • Linus Torvalds's avatar
      Merge tag 'probes-v6.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 116b4116
      Linus Torvalds authored
      Pull kprobes cleanup updates from Masami Hiramatsu:
       "These are probe events cleanups, no new features but improve
        readability:
      
         - Rename print_probe_args() to trace_probe_print_args() and
           un-inline it
      
         - Introduce a set of default data fetch functions for dynamic
           probe events
      
         - Extract common code of data fetch process of dynamic probe events"
      
      * tag 'probes-v6.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        kernel/trace: extract common part in process_fetch_insn
        kernel/trace: Provide default impelentations defined in trace_probe_tmpl.h
        kernel/trace: Introduce trace_probe_print_args and use it in *probes
      116b4116
    • Linus Torvalds's avatar
      Merge tag 'kcsan.2023.02.24a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 0447ed0d
      Linus Torvalds authored
      Pull kernel concurrency sanitizer (KCSAN) updates from Paul McKenney:
       "This fixes gcc-11 errors for x86_64 KCSAN-enabled kernel builds by
        selecting the CONSTRUCTORS Kconfig option"
      
      * tag 'kcsan.2023.02.24a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        kcsan: select CONFIG_CONSTRUCTORS
      0447ed0d
    • Linus Torvalds's avatar
      Merge tag 'flex-array-transformations-6.3-rc1' of... · 472a2abb
      Linus Torvalds authored
      Merge tag 'flex-array-transformations-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux
      
      Pull flexible-array updates from Gustavo Silva:
       "Transform zero-length arrays, in unions, into flexible arrays"
      
      * tag 'flex-array-transformations-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux:
        bcache: Replace zero-length arrays with DECLARE_FLEX_ARRAY() helper
        mm/memremap: Replace zero-length array with DECLARE_FLEX_ARRAY() helper
        exportfs: Replace zero-length array with DECLARE_FLEX_ARRAY() helper
      472a2abb
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha · e534a583
      Linus Torvalds authored
      Pull alpha updates from Al Viro:
       "Mostly small janitorial fixes but there's also more important ones: a
        patch to fix loading large modules from Edward Humes, and some fixes
        from Al Viro"
      
      [ The fixes from Al mostly came in separately through Al's trees too and
        are now duplicated..   - Linus ]
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha:
        alpha: in_irq() cleanup
        alpha: lazy FPU switching
        alpha/boot/misc: trim unused declarations
        alpha/boot/tools/objstrip: fix the check for ELF header
        alpha/boot: fix the breakage from -isystem series...
        alpha: fix FEN fault handling
        alpha: Avoid comma separated statements
        alpha: fixed a typo in core_cia.c
        alpha: remove unused __SLOW_DOWN_IO and SLOW_DOWN_IO definitions
        alpha: update config files
        alpha: fix R_ALPHA_LITERAL reloc for large modules
        alpha: Add some spaces to ensure format specification
        alpha: replace NR_SYSCALLS by NR_syscalls
        alpha: Remove redundant local asm header redirections
        alpha: Implement "current_stack_pointer"
        alpha: remove redundant err variable
        alpha: osf_sys: reduce kernel log spamming on invalid osf_mount call typenr
      e534a583
    • Linus Torvalds's avatar
      Merge tag 'vfio-v6.3-rc1' of https://github.com/awilliam/linux-vfio · cac85e46
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Remove redundant resource check in vfio-platform (Angus Chen)
      
       - Use GFP_KERNEL_ACCOUNT for persistent userspace allocations, allowing
         removal of arbitrary kernel limits in favor of cgroup control (Yishai
         Hadas)
      
       - mdev tidy-ups, including removing the module-only build restriction
         for sample drivers, Kconfig changes to select mdev support,
         documentation movement to keep sample driver usage instructions with
         sample drivers rather than with API docs, remove references to
         out-of-tree drivers in docs (Christoph Hellwig)
      
       - Fix collateral breakages from mdev Kconfig changes (Arnd Bergmann)
      
       - Make mlx5 migration support match device support, improve source and
         target flows to improve pre-copy support and reduce downtime (Yishai
         Hadas)
      
       - Convert additional mdev sysfs case to use sysfs_emit() (Bo Liu)
      
       - Resolve copy-paste error in mdev mbochs sample driver Kconfig (Ye
         Xingchen)
      
       - Avoid propagating missing reset error in vfio-platform if reset
         requirement is relaxed by module option (Tomasz Duszynski)
      
       - Range size fixes in mlx5 variant driver for missed last byte and
         stricter range calculation (Yishai Hadas)
      
       - Fixes to suspended vaddr support and locked_vm accounting, excluding
         mdev configurations from the former due to potential to indefinitely
         block kernel threads, fix underflow and restore locked_vm on new mm
         (Steve Sistare)
      
       - Update outdated vfio documentation due to new IOMMUFD interfaces in
         recent kernels (Yi Liu)
      
       - Resolve deadlock between group_lock and kvm_lock, finally (Matthew
         Rosato)
      
       - Fix NULL pointer in group initialization error path with IOMMUFD (Yan
         Zhao)
      
      * tag 'vfio-v6.3-rc1' of https://github.com/awilliam/linux-vfio: (32 commits)
        vfio: Fix NULL pointer dereference caused by uninitialized group->iommufd
        docs: vfio: Update vfio.rst per latest interfaces
        vfio: Update the kdoc for vfio_device_ops
        vfio/mlx5: Fix range size calculation upon tracker creation
        vfio: no need to pass kvm pointer during device open
        vfio: fix deadlock between group lock and kvm lock
        vfio: revert "iommu driver notify callback"
        vfio/type1: revert "implement notify callback"
        vfio/type1: revert "block on invalid vaddr"
        vfio/type1: restore locked_vm
        vfio/type1: track locked_vm per dma
        vfio/type1: prevent underflow of locked_vm via exec()
        vfio/type1: exclude mdevs from VFIO_UPDATE_VADDR
        vfio: platform: ignore missing reset if disabled at module init
        vfio/mlx5: Improve the target side flow to reduce downtime
        vfio/mlx5: Improve the source side flow upon pre_copy
        vfio/mlx5: Check whether VF is migratable
        samples: fix the prompt about SAMPLE_VFIO_MDEV_MBOCHS
        vfio/mdev: Use sysfs_emit() to instead of sprintf()
        vfio-mdev: add back CONFIG_VFIO dependency
        ...
      cac85e46
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 84cc6674
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
      
       - device feature provisioning in ifcvf, mlx5
      
       - new SolidNET driver
      
       - support for zoned block device in virtio blk
      
       - numa support in virtio pmem
      
       - VIRTIO_F_RING_RESET support in vhost-net
      
       - more debugfs entries in mlx5
      
       - resume support in vdpa
      
       - completion batching in virtio blk
      
       - cleanup of dma api use in vdpa
      
       - now simulating more features in vdpa-sim
      
       - documentation, features, fixes all over the place
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (64 commits)
        vdpa/mlx5: support device features provisioning
        vdpa/mlx5: make MTU/STATUS presence conditional on feature bits
        vdpa: validate device feature provisioning against supported class
        vdpa: validate provisioned device features against specified attribute
        vdpa: conditionally read STATUS in config space
        vdpa: fix improper error message when adding vdpa dev
        vdpa/mlx5: Initialize CVQ iotlb spinlock
        vdpa/mlx5: Don't clear mr struct on destroy MR
        vdpa/mlx5: Directly assign memory key
        tools/virtio: enable to build with retpoline
        vringh: fix a typo in comments for vringh_kiov
        vhost-vdpa: print warning when vhost_vdpa_alloc_domain fails
        scsi: virtio_scsi: fix handling of kmalloc failure
        vdpa: Fix a couple of spelling mistakes in some messages
        vhost-net: support VIRTIO_F_RING_RESET
        vhost-scsi: convert sysfs snprintf and sprintf to sysfs_emit
        vdpa: mlx5: support per virtqueue dma device
        vdpa: set dma mask for vDPA device
        virtio-vdpa: support per vq dma device
        vdpa: introduce get_vq_dma_device()
        ...
      84cc6674
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 49d57592
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "ARM:
      
         - Provide a virtual cache topology to the guest to avoid
           inconsistencies with migration on heterogenous systems. Non secure
           software has no practical need to traverse the caches by set/way in
           the first place
      
         - Add support for taking stage-2 access faults in parallel. This was
           an accidental omission in the original parallel faults
           implementation, but should provide a marginal improvement to
           machines w/o FEAT_HAFDBS (such as hardware from the fruit company)
      
         - A preamble to adding support for nested virtualization to KVM,
           including vEL2 register state, rudimentary nested exception
           handling and masking unsupported features for nested guests
      
         - Fixes to the PSCI relay that avoid an unexpected host SVE trap when
           resuming a CPU when running pKVM
      
         - VGIC maintenance interrupt support for the AIC
      
         - Improvements to the arch timer emulation, primarily aimed at
           reducing the trap overhead of running nested
      
         - Add CONFIG_USERFAULTFD to the KVM selftests config fragment in the
           interest of CI systems
      
         - Avoid VM-wide stop-the-world operations when a vCPU accesses its
           own redistributor
      
         - Serialize when toggling CPACR_EL1.SMEN to avoid unexpected
           exceptions in the host
      
         - Aesthetic and comment/kerneldoc fixes
      
         - Drop the vestiges of the old Columbia mailing list and add [Oliver]
           as co-maintainer
      
        RISC-V:
      
         - Fix wrong usage of PGDIR_SIZE instead of PUD_SIZE
      
         - Correctly place the guest in S-mode after redirecting a trap to the
           guest
      
         - Redirect illegal instruction traps to guest
      
         - SBI PMU support for guest
      
        s390:
      
         - Sort out confusion between virtual and physical addresses, which
           currently are the same on s390
      
         - A new ioctl that performs cmpxchg on guest memory
      
         - A few fixes
      
        x86:
      
         - Change tdp_mmu to a read-only parameter
      
         - Separate TDP and shadow MMU page fault paths
      
         - Enable Hyper-V invariant TSC control
      
         - Fix a variety of APICv and AVIC bugs, some of them real-world, some
           of them affecting architecurally legal but unlikely to happen in
           practice
      
         - Mark APIC timer as expired if its in one-shot mode and the count
           underflows while the vCPU task was being migrated
      
         - Advertise support for Intel's new fast REP string features
      
         - Fix a double-shootdown issue in the emergency reboot code
      
         - Ensure GIF=1 and disable SVM during an emergency reboot, i.e. give
           SVM similar treatment to VMX
      
         - Update Xen's TSC info CPUID sub-leaves as appropriate
      
         - Add support for Hyper-V's extended hypercalls, where "support" at
           this point is just forwarding the hypercalls to userspace
      
         - Clean up the kvm->lock vs. kvm->srcu sequences when updating the
           PMU and MSR filters
      
         - One-off fixes and cleanups
      
         - Fix and cleanup the range-based TLB flushing code, used when KVM is
           running on Hyper-V
      
         - Add support for filtering PMU events using a mask. If userspace
           wants to restrict heavily what events the guest can use, it can now
           do so without needing an absurd number of filter entries
      
         - Clean up KVM's handling of "PMU MSRs to save", especially when vPMU
           support is disabled
      
         - Add PEBS support for Intel Sapphire Rapids
      
         - Fix a mostly benign overflow bug in SEV's
           send|receive_update_data()
      
         - Move several SVM-specific flags into vcpu_svm
      
        x86 Intel:
      
         - Handle NMI VM-Exits before leaving the noinstr region
      
         - A few trivial cleanups in the VM-Enter flows
      
         - Stop enabling VMFUNC for L1 purely to document that KVM doesn't
           support EPTP switching (or any other VM function) for L1
      
         - Fix a crash when using eVMCS's enlighted MSR bitmaps
      
        Generic:
      
         - Clean up the hardware enable and initialization flow, which was
           scattered around multiple arch-specific hooks. Instead, just let
           the arch code call into generic code. Both x86 and ARM should
           benefit from not having to fight common KVM code's notion of how to
           do initialization
      
         - Account allocations in generic kvm_arch_alloc_vm()
      
         - Fix a memory leak if coalesced MMIO unregistration fails
      
        selftests:
      
         - On x86, cache the CPU vendor (AMD vs. Intel) and use the info to
           emit the correct hypercall instruction instead of relying on KVM to
           patch in VMMCALL
      
         - Use TAP interface for kvm_binary_stats_test and tsc_msrs_test"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (325 commits)
        KVM: SVM: hyper-v: placate modpost section mismatch error
        KVM: x86/mmu: Make tdp_mmu_allowed static
        KVM: arm64: nv: Use reg_to_encoding() to get sysreg ID
        KVM: arm64: nv: Only toggle cache for virtual EL2 when SCTLR_EL2 changes
        KVM: arm64: nv: Filter out unsupported features from ID regs
        KVM: arm64: nv: Emulate EL12 register accesses from the virtual EL2
        KVM: arm64: nv: Allow a sysreg to be hidden from userspace only
        KVM: arm64: nv: Emulate PSTATE.M for a guest hypervisor
        KVM: arm64: nv: Add accessors for SPSR_EL1, ELR_EL1 and VBAR_EL1 from virtual EL2
        KVM: arm64: nv: Handle SMCs taken from virtual EL2
        KVM: arm64: nv: Handle trapped ERET from virtual EL2
        KVM: arm64: nv: Inject HVC exceptions to the virtual EL2
        KVM: arm64: nv: Support virtual EL2 exceptions
        KVM: arm64: nv: Handle HCR_EL2.NV system register traps
        KVM: arm64: nv: Add nested virt VCPU primitives for vEL2 VCPU state
        KVM: arm64: nv: Add EL2 system registers to vcpu context
        KVM: arm64: nv: Allow userspace to set PSR_MODE_EL2x
        KVM: arm64: nv: Reset VCPU to EL2 registers if VCPU nested virt is set
        KVM: arm64: nv: Introduce nested virtualization VCPU feature
        KVM: arm64: Use the S2 MMU context to iterate over S2 table
        ...
      49d57592
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.3-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 01687e7c
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
       "There's a bunch of fixes/cleanups throughout the tree as usual, but we
        also have a handful of new features:
      
         - Various improvements to the extension detection and alternative
           patching infrastructure
      
         - Zbb-optimized string routines
      
         - Support for cpu-capacity in the RISC-V DT bindings
      
         - Zicbom no longer depends on toolchain support
      
         - Some performance and code size improvements to ftrace
      
         - Support for ARCH_WANT_LD_ORPHAN_WARN
      
         - Oops now contain the faulting instruction"
      
      * tag 'riscv-for-linus-6.3-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (67 commits)
        RISC-V: add a spin_shadow_stack declaration
        riscv: mm: hugetlb: Enable ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP
        riscv: Add header include guards to insn.h
        riscv: alternative: proceed one more instruction for auipc/jalr pair
        riscv: Avoid enabling interrupts in die()
        riscv, mm: Perform BPF exhandler fixup on page fault
        RISC-V: take text_mutex during alternative patching
        riscv: hwcap: Don't alphabetize ISA extension IDs
        RISC-V: fix ordering of Zbb extension
        riscv: jump_label: Fixup unaligned arch_static_branch function
        RISC-V: Only provide the single-letter extensions in HWCAP
        riscv: mm: fix regression due to update_mmu_cache change
        scripts/decodecode: Add support for RISC-V
        riscv: Add instruction dump to RISC-V splats
        riscv: select ARCH_WANT_LD_ORPHAN_WARN for !XIP_KERNEL
        riscv: vmlinux.lds.S: explicitly catch .init.bss sections from EFI stub
        riscv: vmlinux.lds.S: explicitly catch .riscv.attributes sections
        riscv: vmlinux.lds.S: explicitly catch .rela.dyn symbols
        riscv: lds: define RUNTIME_DISCARD_EXIT
        RISC-V: move some stray __RISCV_INSN_FUNCS definitions from kprobes
        ...
      01687e7c
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · d0a32f55
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
      
       - Support for configuring secure boot with user-defined keys on PowerVM
         LPARs
      
       - Simplify the replay of soft-masked IRQs by making it non-recursive
      
       - Add support for KCSAN on 64-bit Book3S
      
       - Improvements to the API & code which interacts with RTAS (pseries
         firmware)
      
       - Change 32-bit powermac to assign PCI bus numbers per domain by
         default
      
       - Some improvements to the 32-bit BPF JIT
      
       - Various other small features and fixes
      
      Thanks to Anders Roxell, Andrew Donnellan, Andrew Jeffery, Benjamin
      Gray, Christophe Leroy, Frederic Barrat, Ganesh Goudar, Geoff Levand,
      Greg Kroah-Hartman, Jan-Benedict Glaw, Josh Poimboeuf, Kajol Jain,
      Laurent Dufour, Mahesh Salgaonkar, Mathieu Desnoyers, Mimi Zohar, Murphy
      Zhou, Nathan Chancellor, Nathan Lynch, Nayna Jain, Nicholas Piggin, Pali
      Rohár, Petr Mladek, Rohan McLure, Russell Currey, Sachin Sant, Sathvika
      Vasireddy, Sourabh Jain, Stefan Berger, Stephen Rothwell, and Sudhakar
      Kuppusamy.
      
      * tag 'powerpc-6.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (114 commits)
        powerpc/pseries: Avoid hcall in plpks_is_available() on non-pseries
        powerpc: dts: turris1x.dts: Set lower priority for CPLD syscon-reboot
        powerpc/e500: Add missing prototype for 'relocate_init'
        powerpc/64: Fix unannotated intra-function call warning
        powerpc/epapr: Don't use wrteei on non booke
        powerpc: Pass correct CPU reference to assembler
        powerpc/mm: Rearrange if-else block to avoid clang warning
        powerpc/nohash: Fix build with llvm-as
        powerpc/nohash: Fix build error with binutils >= 2.38
        powerpc/pseries: Fix endianness issue when parsing PLPKS secvar flags
        macintosh: windfarm: Use unsigned type for 1-bit bitfields
        powerpc/kexec_file: print error string on usable memory property update failure
        powerpc/machdep: warn when machine_is() used too early
        powerpc/64: Replace -mcpu=e500mc64 by -mcpu=e5500
        powerpc/eeh: Set channel state after notifying the drivers
        selftests/powerpc: Fix incorrect kernel headers search path
        powerpc/rtas: arch-wide function token lookup conversions
        powerpc/rtas: introduce rtas_function_token() API
        powerpc/pseries/lpar: convert to papr_sysparm API
        powerpc/pseries/hv-24x7: convert to papr_sysparm API
        ...
      d0a32f55
    • Linus Torvalds's avatar
      Merge tag 'mips_6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 5596c6ad
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
       "Just cleanups and fixes"
      
      * tag 'mips_6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MIPS: vpe-mt: drop physical_memsize
        mips: fix syscall_get_nr
        MIPS: SMP-CPS: fix build error when HOTPLUG_CPU not set
        MIPS: DTS: jz4780: add #clock-cells to rtc_dev
        MIPS: dts: Boston: Fix dtc 'pci_device_reg' warning
        mips: dts: ralink: mt7621: add port@5 as CPU port
        mips: dts: align LED node names with dtschema
        MIPS: ralink: Use devm_platform_get_and_ioremap_resource()
        MIPS: pci-mt7620: Use devm_platform_get_and_ioremap_resource()
        MIPS: pci: lantiq: Use devm_platform_get_and_ioremap_resource()
        MIPS: lantiq: xway: Use devm_platform_get_and_ioremap_resource()
        MIPS: BCM47XX: Add support for Linksys E2500 V3
        mips: ralink: make SOC_MT7621 select PINCTRL_MT7621 and fix help section
        MIPS: DTS: CI20: fix otg power gpio
        MIPS: dts: lantiq: Remove bogus interrupt-parent; line
        MIPS: Fix a compilation issue
        MIPS: remove CONFIG_MIPS_LD_CAN_LINK_VDSO
        mips: Realtek RTL: select NO_EXCEPT_FILL
        MIPS: OCTEON: octeon-usb: Consolidate error messages
      5596c6ad
    • Linus Torvalds's avatar
      Merge tag 'cxl-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl · 7c3dc440
      Linus Torvalds authored
      Pull Compute Express Link (CXL) updates from Dan Williams:
       "To date Linux has been dependent on platform-firmware to map CXL RAM
        regions and handle events / errors from devices. With this update we
        can now parse / update the CXL memory layout, and report events /
        errors from devices. This is a precursor for the CXL subsystem to
        handle the end-to-end "RAS" flow for CXL memory. i.e. the flow that
        for DDR-attached-DRAM is handled by the EDAC driver where it maps
        system physical address events to a field-replaceable-unit (FRU /
        endpoint device). In general, CXL has the potential to standardize
        what has historically been a pile of memory-controller-specific error
        handling logic.
      
        Another change of note is the default policy for handling RAM-backed
        device-dax instances. Previously the default access mode was "device",
        mmap(2) a device special file to access memory. The new default is
        "kmem" where the address range is assigned to the core-mm via
        add_memory_driver_managed(). This saves typical users from wondering
        why their platform memory is not visible via free(1) and stuck behind
        a device-file. At the same time it allows expert users to deploy
        policy to, for example, get dedicated access to high performance
        memory, or hide low performance memory from general purpose kernel
        allocations. This affects not only CXL, but also systems with
        high-bandwidth-memory that platform-firmware tags with the
        EFI_MEMORY_SP (special purpose) designation.
      
        Summary:
      
         - CXL RAM region enumeration: instantiate 'struct cxl_region' objects
           for platform firmware created memory regions
      
         - CXL RAM region provisioning: complement the existing PMEM region
           creation support with RAM region support
      
         - "Soft Reservation" policy change: Online (memory hot-add)
           soft-reserved memory (EFI_MEMORY_SP) by default, but still allow
           for setting aside such memory for dedicated access via device-dax.
      
         - CXL Events and Interrupts: Takeover CXL event handling from
           platform-firmware (ACPI calls this CXL Memory Error Reporting) and
           export CXL Events via Linux Trace Events.
      
         - Convey CXL _OSC results to drivers: Similar to PCI, let the CXL
           subsystem interrogate the result of CXL _OSC negotiation.
      
         - Emulate CXL DVSEC Range Registers as "decoders": Allow for
           first-generation devices that pre-date the definition of the CXL
           HDM Decoder Capability to translate the CXL DVSEC Range Registers
           into 'struct cxl_decoder' objects.
      
         - Set timestamp: Per spec, set the device timestamp in case of
           hotplug, or if platform-firwmare failed to set it.
      
         - General fixups: linux-next build issues, non-urgent fixes for
           pre-production hardware, unit test fixes, spelling and debug
           message improvements"
      
      * tag 'cxl-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl: (66 commits)
        dax/kmem: Fix leak of memory-hotplug resources
        cxl/mem: Add kdoc param for event log driver state
        cxl/trace: Add serial number to trace points
        cxl/trace: Add host output to trace points
        cxl/trace: Standardize device information output
        cxl/pci: Remove locked check for dvsec_range_allowed()
        cxl/hdm: Add emulation when HDM decoders are not committed
        cxl/hdm: Create emulated cxl_hdm for devices that do not have HDM decoders
        cxl/hdm: Emulate HDM decoder from DVSEC range registers
        cxl/pci: Refactor cxl_hdm_decode_init()
        cxl/port: Export cxl_dvsec_rr_decode() to cxl_port
        cxl/pci: Break out range register decoding from cxl_hdm_decode_init()
        cxl: add RAS status unmasking for CXL
        cxl: remove unnecessary calling of pci_enable_pcie_error_reporting()
        dax/hmem: build hmem device support as module if possible
        dax: cxl: add CXL_REGION dependency
        cxl: avoid returning uninitialized error code
        cxl/pmem: Fix nvdimm registration races
        cxl/mem: Fix UAPI command comment
        cxl/uapi: Tag commands from cxl_query_cmd()
        ...
      7c3dc440
    • Linus Torvalds's avatar
      Merge tag 'x86_tdx_for_6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d8e47318
      Linus Torvalds authored
      Pull Intel Trust Domain Extensions (TDX) updates from Dave Hansen:
       "Other than a minor fixup, the content here is to ensure that TDX
        guests never see virtualization exceptions (#VE's) that might be
        induced by the untrusted VMM.
      
        This is a highly desirable property. Without it, #VE exception
        handling would fall somewhere between NMIs, machine checks and total
        insanity. With it, #VE handling remains pretty mundane.
      
        Summary:
      
         - Fixup comment typo
      
         - Prevent unexpected #VE's from:
            - Hosts removing perfectly good guest mappings (SEPT_VE_DISABLE)
            - Excessive #VE notifications (NOTIFY_ENABLES) which are delivered
              via a #VE"
      
      * tag 'x86_tdx_for_6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tdx: Do not corrupt frame-pointer in __tdx_hypercall()
        x86/tdx: Disable NOTIFY_ENABLES
        x86/tdx: Relax SEPT_VE_DISABLE check for debug TD
        x86/tdx: Use ReportFatalError to report missing SEPT_VE_DISABLE
        x86/tdx: Expand __tdx_hypercall() to handle more arguments
        x86/tdx: Refactor __tdx_hypercall() to allow pass down more arguments
        x86/tdx: Add more registers to struct tdx_hypercall_args
        x86/tdx: Fix typo in comment in __tdx_hypercall()
      d8e47318
    • Changbin Du's avatar
      alpha: in_irq() cleanup · 290ec1d5
      Changbin Du authored
      Replace the obsolete and ambiguos macro in_irq() with new
      macro in_hardirq().
      Signed-off-by: default avatarChangbin Du <changbin.du@gmail.com>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      290ec1d5
    • Al Viro's avatar
      alpha: lazy FPU switching · 05096666
      Al Viro authored
      	On each context switch we save the FPU registers on stack
      of old process and restore FPU registers from the stack of new one.
      That allows us to avoid doing that each time we enter/leave the
      kernel mode; however, that can get suboptimal in some cases.
      
      	For one thing, we don't need to bother saving anything
      for kernel threads.  For another, if between entering and leaving
      the kernel a thread gives CPU up more than once, it will do
      useless work, saving the same values every time, only to discard
      the saved copy as soon as it returns from switch_to().
      
      	Alternative solution:
      
      * move the array we save into from switch_stack to thread_info
      * have a (thread-synchronous) flag set when we save them
      * have another flag set when they should be restored on return to userland.
      * do *NOT* save/restore them in do_switch_stack()/undo_switch_stack().
      * restore on the exit to user mode if the restore flag had
      been set.  Clear both flags.
      * on context switch, entry to fork/clone/vfork, before entry into do_signal()
      and on entry into straced syscall save the registers and set the 'saved' flag
      unless it had been already set.
      * on context switch set the 'restore' flag as well.
      * have copy_thread() set both flags for child, so the registers would be
      restored once the child returns to userland.
      * use the saved data in setup_sigcontext(); have restore_sigcontext() set both flags
      and copy from sigframe to save area.
      * teach ptrace to look for FPU registers in thread_info instead of
      switch_stack.
      * teach isolated accesses to FPU registers (rdfpcr, wrfpcr, etc.)
      to check the 'saved' flag (under preempt_disable()) and work with the save area
      if it's been set; if 'saved' flag is found upon write access, set 'restore' flag
      as well.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      05096666
    • Al Viro's avatar
      alpha/boot/misc: trim unused declarations · a7acb188
      Al Viro authored
      gzip_mark() and gzip_release() are gone; there used to be two
      forward declarations of each and the patch removing those suckers
      had left one of each behind...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      a7acb188
    • Al Viro's avatar
      alpha/boot/tools/objstrip: fix the check for ELF header · a4c082f2
      Al Viro authored
      Just memcmp() with ELFMAG - that's the normal way to do it in userland
      code, which that thing is.  Besides, that has the benefit of actually
      building - str_has_prefix() is *NOT* present in <string.h>.
      
      Fixes: 5f14596e "alpha: Replace strncmp with str_has_prefix"
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      a4c082f2
    • Al Viro's avatar
      56efd34f
    • Al Viro's avatar
      alpha: fix FEN fault handling · d3c51b70
      Al Viro authored
      Type 3 instruction fault (FPU insn with FPU disabled) is handled
      by quietly enabling FPU and returning.  Which is fine, except that
      we need to do that both for fault in userland and in the kernel;
      the latter *can* legitimately happen - all it takes is this:
      
      .global _start
      _start:
      	call_pal 0xae
      	lda $0, 0
      	ldq $0, 0($0)
      
      - call_pal CLRFEN to clear "FPU enabled" flag and arrange for
      a signal delivery (SIGSEGV in this case).
      
      Fixed by moving the handling of type 3 into the common part of
      do_entIF(), before we check for kernel vs. user mode.
      
      Incidentally, check for kernel mode is unidiomatic; the normal
      way to do that is !user_mode(regs).  The difference is that
      the open-coded variant treats any of bits 63..3 of regs->ps being
      set as "it's user mode" while the normal approach is to check just
      the bit 3.  PS is a 4-bit register and regs->ps always will have
      bits 63..4 clear, so the open-code variant here is actually equivalent
      to !user_mode(regs).  Harder to follow, though...
      
      Reproducer above will crash any box where CLRFEN is not ignored by
      PAL (== any actual hardware, AFAICS; PAL used in qemu doesn't
      bother implementing that crap).
      
      Cc: stable@vger.kernel.org # all way back...
      Reviewed-by: default avatarRichard Henderson <rth@twiddle.net>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      d3c51b70
    • Joe Perches's avatar
      alpha: Avoid comma separated statements · 4da2bd30
      Joe Perches authored
      Use semicolons and braces.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      4da2bd30
    • rj1's avatar
      alpha: fixed a typo in core_cia.c · 6b6b64ab
      rj1 authored
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      6b6b64ab
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 489fa31e
      Linus Torvalds authored
      Pull misc vfs updates from Al Viro:
       "Assorted stuff that didn't fit anywhere else"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        nsfs: repair kernel-doc for ns_match()
        nsfs: add compat ioctl handler
        fs/cramfs: Convert kmap() to kmap_local_data()
      489fa31e
    • Linus Torvalds's avatar
      Merge branch 'work.namespace' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 3df88c6a
      Linus Torvalds authored
      Pull ipc namespace update from Al Viro:
       "Rik's patches reducing the amount of synchronize_rcu() triggered by
        ipc namespace destruction.
      
        I've some pending stuff reducing that on the normal umount side, but
        it's nowhere near ready and Rik's stuff shouldn't be held back due to
        conflicts - I'll just redo the parts of my series that stray into
        ipc/*"
      
      * 'work.namespace' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        ipc,namespace: batch free ipc_namespace structures
        ipc,namespace: make ipc namespace allocation wait for pending free
      3df88c6a
    • Linus Torvalds's avatar
      Merge branch 'work.alpha' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 10cc5d48
      Linus Torvalds authored
      Pull alpha updates from Al Viro:
       "FEN (floating-point enable) fault fix deals with a really old oopsable
        braino, the rest is alpha/boot compile fixes and minor cleaning up"
      
      * 'work.alpha' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        alpha/boot/misc: trim unused declarations
        alpha/boot/tools/objstrip: fix the check for ELF header
        alpha/boot: fix the breakage from -isystem series...
        alpha: fix FEN fault handling
      10cc5d48
    • Linus Torvalds's avatar
      Merge branch 'work.sysv' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · d6b9cf41
      Linus Torvalds authored
      Pull sysv updates from Al Viro:
       "Fabio's 'switch to kmap_local_page()' patchset (originally after the
        ext2 counterpart, with a lot of cleaning up done to it; as the matter
        of fact, ext2 side is in need of similar cleanups - calling
        conventions there are bloody awful).
      
        Plus the equivalents of minix stuff..."
      
      * 'work.sysv' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        sysv: fix handling of delete_entry and set_link failures
        fs/sysv: Replace kmap() with kmap_local_page()
        fs/sysv: Use dir_put_page() in sysv_rename()
        fs/sysv: Change the signature of dir_get_page()
        fs/sysv: Use the offset_in_page() helper
        sysv: don't flush page immediately for DIRSYNC directories
      d6b9cf41
    • Linus Torvalds's avatar
      Merge branch 'work.minix' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 397aa6b6
      Linus Torvalds authored
      Pull minix updates from Al Viro:
       "Assorted fixes - mostly Christoph's"
      
      * 'work.minix' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        minix_rename(): minix_delete_entry() might fail
        minix: don't flush page immediately for DIRSYNC directories
        minix: fix error handling in minix_set_link
        minix: fix error handling in minix_delete_entry
        minix: move releasing pages into unlink and rename
        minix: make minix_new_inode() return error as ERR_PTR(-E...)
      397aa6b6
    • Linus Torvalds's avatar
      Merge tag 'soundwire-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire · 595fa4e3
      Linus Torvalds authored
      Pull soundwire updates from Vinod Koul:
       "This is a small update which features a bit of core changes and driver
        updates in Intel and cadence driver.
      
        Core:
      
         - sdw_transfer_defer() API change to drop an argument
      
         - Reset page address rework
      
         - Export sdw_nwrite_no_pm and sdw_nread_no_pm APIs
      
        Drivers:
      
         - Cadence and related intel driver updates for FIFO handling and low
           level msg transfers"
      
      * tag 'soundwire-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
        soundwire: cadence: further simplify low-level xfer_msg_defer() callback
        soundwire: cadence: use directly bus sdw_defer structure
        soundwire: bus: remove sdw_defer argument in sdw_transfer_defer()
        soundwire: stream: use consistent pattern for freeing buffers
        soundwire: bus: Remove unused reset_page_addr() callback
        soundwire: bus: Don't zero page registers after every transaction
        soundwire: bus_type: Avoid lockdep assert in sdw_drv_probe()
        soundwire: stream: Move remaining register accesses over to no_pm
        soundwire: debugfs: Switch to sdw_read_no_pm
        soundwire: Provide build stubs for common functions
        soundwire: bus: export sdw_nwrite_no_pm and sdw_nread_no_pm functions
        soundwire: cadence: remove unused sdw_cdns_master_ops declaration
        soundwire: enable optional clock registers for SoundWire 1.2 devices
        ASoC/soundwire: remove is_sdca boolean property
        soundwire: cadence: Drain the RX FIFO after an IO timeout
        soundwire: cadence: Remove wasted space in response_buf
        soundwire: cadence: Don't overflow the command FIFOs
        soundwire: intel: remove DAI startup/shutdown
      595fa4e3
    • Linus Torvalds's avatar
      Merge tag 'phy-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy · 8ff99ad0
      Linus Torvalds authored
      Pull phy updates from Vinod Koul:
       "This features a bunch of new device support, a couple of new drivers,
        yaml conversion and updates of a few drivers.
      
        Core support:
      
         - New devm_of_phy_optional_get() API with users and conversion
      
        New hardware support:
      
         - Mediatek MT7986 phy support
      
         - Qualcomm SM8550 UFS, PCIe, combo phy support, SM6115 / SM4250 USB3
           phy support, SM6350 combo phy support, SM6125 UFS PHY support amd
           SM8350 & SM8450 combo phy support
      
         - Qualcomm SNPS eUSB2 eUSB2 repeater drivers
      
         - Allwinner F1C100s USB PHY support
      
         - Tegra xusb support for Tegra234
      
        Updates:
      
         - Yaml conversion for Qualcomm pcie2 phy and usb-hsic-phy
      
         - G4 mode support in Qualcomm UFS phy and support for various SoCs
      
         - Yaml conversion for Meson usb2 phy
      
         - TI Type C support for usb phy for j721
      
         - Yaml conversion for Tegra xusb binding"
      
      * tag 'phy-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy: (106 commits)
        phy: qcom: phy-qcom-snps-eusb2: Add support for eUSB2 repeater
        phy: qcom: Add QCOM SNPS eUSB2 repeater driver
        dt-bindings: phy: qcom,snps-eusb2-phy: Add phys property for the repeater
        dt-bindings: phy: Add qcom,snps-eusb2-repeater schema file
        dt-bindings: phy: amlogic,g12a-usb3-pcie-phy: add missing optional phy-supply property
        phy: rockchip-typec: Fix unsigned comparison with less than zero
        phy: rockchip-typec: fix tcphy_get_mode error case
        phy: qcom: snps-eusb2: Add missing headers
        phy: qcom-qmp-combo: Add support for SM8550
        phy: qcom-qmp: Add v6 DP register offsets
        phy: qcom-qmp: pcs-usb: Add v6 register offsets
        dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Document SM8550 compatible
        phy: qcom: Add QCOM SNPS eUSB2 driver
        dt-bindings: phy: Add qcom,snps-eusb2-phy schema file
        phy: qcom-qmp-pcie: Add support for SM8550 g3x2 and g4x2 PCIEs
        phy: qcom-qmp: qserdes-lane-shared: Add v6 register offsets
        phy: qcom-qmp: qserdes-txrx: Add v6.20 register offsets
        phy: qcom-qmp: pcs-pcie: Add v6.20 register offsets
        phy: qcom-qmp: pcs-pcie: Add v6 register offsets
        phy: qcom-qmp: pcs: Add v6.20 register offsets
        ...
      8ff99ad0
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · 9e6bfd42
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "A new driver, couple of device support and binding conversion along
        with bunch of driver updates are the main features of this.
      
        New hardware support:
      
         - TI AM62Ax controller support
      
         - Xilinx xdma driver
      
         - Qualcomm SM6125, SM8550, QDU1000/QRU1000 GPI controller
      
        Updates:
      
         - Runtime pm support for at_xdmac driver
      
         - IMX sdma binding conversion to yaml and HDMI audio support
      
         - IMX mxs binding conversion to yaml"
      
      * tag 'dmaengine-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (35 commits)
        dmaengine: idma64: Update bytes_transferred field
        dmaengine: imx-sdma: Set DMA channel to be private
        dmaengine: dw: Move check for paused channel to dwc_get_residue()
        dmaengine: ptdma: check for null desc before calling pt_cmd_callback
        dmaengine: dw-axi-dmac: Do not dereference NULL structure
        dmaengine: idxd: Fix default allowed read buffers value in group
        dmaengine: sf-pdma: pdma_desc memory leak fix
        dmaengine: Simplify dmaenginem_async_device_register() function
        dmaengine: use sysfs_emit() to instead of scnprintf()
        dmaengine: Make an order in struct dma_device definition
        dt-bindings: dma: cleanup examples - indentation, lowercase hex
        dt-bindings: dma: drop unneeded quotes
        dmaengine: xilinx: xdma: Add user logic interrupt support
        dmaengine: xilinx: xdma: Add xilinx xdma driver
        dmaengine: drivers: Use devm_platform_ioremap_resource()
        dmaengine: at_xdmac: remove empty line
        dmaengine: at_xdmac: add runtime pm support
        dmaengine: at_xdmac: align properly function members
        dmaengine: ppc4xx: Convert to use sysfs_emit()/sysfs_emit_at() APIs
        dmaengine: sun6i: Set the maximum segment size
        ...
      9e6bfd42
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 008128cd
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
      
       - new drivers for HPE GXP and Loongson 2K/LS7A
      
       - bigger refactorings for i801 and xiic
      
       - gpio driver gained ACPI and SDA-write only support
      
       - the core converted some OF helpers to fwnode helpers
      
       - usual bunch of driver updates
      
      * tag 'i2c-for-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (52 commits)
        MAINTAINERS: Add HPE GXP I2C Support
        i2c: Add GXP SoC I2C Controller
        dt-bindings: i2c: Add hpe,gxp-i2c
        i2c: xiic: Remove some dead code
        i2c: xiic: Add SCL frequency configuration support
        i2c: xiic: Update compatible with new IP version
        dt-bindings: i2c: xiic: Add 'xlnx,axi-iic-2.1' to compatible
        i2c: i801: Call i801_check_post() from i801_access()
        i2c: i801: Call i801_check_pre() from i801_access()
        i2c: i801: Centralize configuring block commands in i801_block_transaction
        i2c: i801: Centralize configuring non-block commands in i801_simple_transaction
        i2c: i801: Handle SMBAUXCTL_E32B in i801_block_transaction_by_block only
        i2c: i801: Add i801_simple_transaction(), complementing i801_block_transaction()
        Documentation: i2c: correct spelling
        dt-bindings: i2c: i2c-st: convert to DT schema
        i2c: i801: add helper i801_set_hstadd()
        i2c: i801: make FEATURE_BLOCK_PROC dependent on FEATURE_BLOCK_BUFFER
        i2c: i801: make FEATURE_HOST_NOTIFY dependent on FEATURE_IRQ
        i2c: i801: improve interrupt handler
        i2c: st: use pm_sleep_ptr to avoid ifdef CONFIG_PM_SLEEP
        ...
      008128cd
    • Linus Torvalds's avatar
      Merge tag 'for-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 39f01344
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
       "Nothing special for the power-supply subystem this time.
      
         - power-supply core: remove faulty cooling logic
      
         - convert all sysfs show() handlers from *printf() use sysfs_emit()
      
         - bq25890: add dual-charger support required by Lenovo Yoga Tab 3 Pro
      
         - bq27xxx: fix reporting critical level
      
         - syscon-reboot: add priority property support
      
         - new rt9467 charger driver
      
         - new rt9471 charger driver
      
         - new Odroid Go Ultra poweroff driver
      
         - misc minor fixes and cleanups"
      
      * tag 'for-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (32 commits)
        power: reset: odroid-go-ultra: fix I2C dependency
        power: supply: leds: explicitly include linux/leds.h
        dt-bindings: power: supply: pm8941-coincell: Don't require charging properties
        dt-bindings: power: supply: pm8941-coincell: Add PM8998 compatible
        power: reset: add Odroid Go Ultra poweroff driver
        power: supply: rt9467: Fix spelling mistake "attache" -> "attach"
        power: supply: rt9471: fix using wrong ce_gpio in rt9471_probe()
        power: supply: max77650: Make max77650_charger_disable() return void
        Documentation: power: rt9467: Document exported sysfs entries
        power: supply: rt9467: Add Richtek RT9467 charger driver
        dt-bindings: power: supply: Add Richtek RT9467 battery charger
        Documentation: power: rt9471: Document exported sysfs entries
        power: supply: rt9471: Add Richtek RT9471 charger driver
        dt-bindings: power: supply: Add Richtek RT9471 battery charger
        power: supply: max1721x: Use strscpy() is more robust and safer
        power: supply: test-power: use strscpy() instead of strncpy()
        power: supply: bq27xxx: fix reporting critical level
        power: supply: bq256xx: Init ichg/vbat value with chip default value
        power: supply: collie_battery: Convert to GPIO descriptors (part 2)
        power: supply: remove faulty cooling logic
        ...
      39f01344
    • Linus Torvalds's avatar
      Merge tag 'pci-v6.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci · 90ddb3f0
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
       "Enumeration:
      
         - Rework portdrv shutdown so it disables interrupts but doesn't
           disable bus mastering, which leads to hangs on Loongson LS7A
      
         - Add mechanism to prevent Max_Read_Request_Size (MRRS) increases,
           again to avoid hardware issues on Loongson LS7A (and likely other
           devices based on DesignWare IP)
      
         - Ignore devices with a firmware (DT or ACPI) node that says the
           device is disabled
      
        Resource management:
      
         - Distribute spare resources to unconfigured hotplug bridges at
           boot-time (not just when hot-adding such a bridge), which makes
           hot-adding devices to docks work better. Tried this in v6.1 but had
           to revert for regressions, so try again
      
         - Fix root bus issue that dropped resources that happened to end
           at 0, e.g., [bus 00]
      
        PCI device hotplug:
      
         - Remove device locking when marking device as disconnected so this
           doesn't have to wait for concurrent driver bind/unbind to complete
      
         - Quirk more Qualcomm bridges that don't fully implement the PCIe
           Slot Status 'Command Completed' bit
      
        Power management:
      
         - Account for _S0W of the target bridge in acpi_pci_bridge_d3() so we
           don't miss hot-add notifications for USB4 docks, Thunderbolt, etc
      
        Reset:
      
         - Observe delay after reset, e.g., resuming from system sleep,
           regardless of whether a bridge can suspend to D3cold at runtime
      
         - Wait for secondary bus to become ready after a bridge reset
      
        Virtualization:
      
         - Avoid FLR on some AMD FCH AHCI adapters where it doesn't work
      
         - Allow independent IOMMU groups for some Wangxun NICs that prevent
           peer-to-peer transactions but don't advertise an ACS Capability
      
        Error handling:
      
         - Configure End-to-End-CRC (ECRC) only if Linux owns the AER
           Capability
      
         - Remove redundant Device Control Error Reporting Enable in the AER
           service driver since this is already done for all devices during
           enumeration
      
        ASPM:
      
         - Add pci_enable_link_state() interface to allow drivers to enable
           ASPM link state
      
        Endpoint framework:
      
         - Move dra7xx and tegra194 linkup processing from hard IRQ to
           threaded IRQ handler
      
         - Add a separate lock for endpoint controller list of endpoint
           function drivers to prevent deadlock in callbacks
      
         - Pass events from endpoint controller to endpoint function drivers
           via callbacks instead of notifiers
      
        Synopsys DesignWare eDMA controller driver (acked by Vinod):
      
         - Fix CPU vs PCI address issues
      
         - Fix source vs destination address issues
      
         - Fix issues with interleaved transfer semantics
      
         - Fix channel count initialization issue (issue still exists in
           several other drivers)
      
         - Clean up and improve debugfs usage so it will work on platforms
           with several eDMA devices
      
        Baikal T-1 PCIe controller driver:
      
         - Set a 64-bit DMA mask
      
        Freescale i.MX6 PCIe controller driver:
      
         - Add i.MX8MM, i.MX8MQ, i.MX8MP endpoint mode DT binding and driver
           support
      
        Intel VMD host bridge driver:
      
         - Add quirk to configure PCIe ASPM and LTR. This is normally done by
           BIOS, and will be for future products
      
        Marvell MVEBU PCIe controller driver:
      
         - Mark this driver as broken in Kconfig since bugs prevent its daily
           usage
      
        MediaTek MT7621 PCIe controller driver:
      
         - Delay PHY port initialization to improve boot reliability for ZBT
           WE1326, ZBT WF3526-P, and some Netgear models
      
        Qualcomm PCIe controller driver:
      
         - Add MSM8998 DT compatible string
      
         - Unify MSM8996 and MSM8998 clock orderings
      
         - Add SM8350 DT binding and driver support
      
         - Add IPQ8074 Gen3 DT binding and driver support
      
         - Correct qcom,perst-regs in DT binding
      
         - Add qcom_pcie_host_deinit() so the PHY is powered off and
           regulators and clocks are disabled on late host-init errors
      
        Socionext UniPhier Pro5 controller driver:
      
         - Clean up uniphier-ep reg, clocks, resets, and their names in DT
           binding
      
        Synopsys DesignWare PCIe controller driver:
      
         - Restrict coherent DMA mask to 32 bits for MSI, but allow controller
           drivers to set 64-bit streaming DMA mask
      
         - Add eDMA engine support in both Root Port and Endpoint controllers
      
        Miscellaneous:
      
         - Remove MODULE_LICENSE from boolean drivers so they don't look like
           modules so modprobe can complain about them"
      
      * tag 'pci-v6.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: (86 commits)
        PCI: dwc: Add Root Port and Endpoint controller eDMA engine support
        PCI: bt1: Set 64-bit DMA mask
        PCI: dwc: Restrict only coherent DMA mask for MSI address allocation
        dmaengine: dw-edma: Prepare dw_edma_probe() for builtin callers
        dmaengine: dw-edma: Depend on DW_EDMA instead of selecting it
        dmaengine: dw-edma: Add mem-mapped LL-entries support
        PCI: Remove MODULE_LICENSE so boolean drivers don't look like modules
        PCI: hv: Drop duplicate PCI_MSI dependency
        PCI/P2PDMA: Annotate RCU dereference
        PCI/sysfs: Constify struct kobj_type pci_slot_ktype
        PCI: hotplug: Allow marking devices as disconnected during bind/unbind
        PCI: pciehp: Add Qualcomm quirk for Command Completed erratum
        PCI: qcom: Add IPQ8074 Gen3 port support
        dt-bindings: PCI: qcom: Add IPQ8074 Gen3 port
        dt-bindings: PCI: qcom: Sort compatibles alphabetically
        PCI: qcom: Fix host-init error handling
        PCI: qcom: Add SM8350 support
        dt-bindings: PCI: qcom: Add SM8350
        dt-bindings: PCI: qcom-ep: Correct qcom,perst-regs
        dt-bindings: PCI: qcom: Unify MSM8996 and MSM8998 clock order
        ...
      90ddb3f0