1. Apr 28, 2023
    • Linus Torvalds's avatar
      Merge tag 'tty-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · b39667ab
      Linus Torvalds authored
      Pull tty / serial updates from Greg KH:
       "Here is the big set of tty/serial driver updates for 6.4-rc1.
      
        Nothing major, just lots of tiny, constant, forward development. This
        includes:
      
         - obligatory n_gsm updates and feature additions
      
         - 8250_em driver updates
      
         - sh-sci driver updates
      
         - dts cleanups and updates
      
         - general cleanups and improvements by Ilpo and Jiri
      
         - other small serial driver core fixes and driver updates
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'tty-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (87 commits)
        n_gsm: Use array_index_nospec() with index that comes from userspace
        tty: vt: drop checks for undefined VT_SINGLE_DRIVER
        tty: vt: distribute EXPORT_SYMBOL()
        tty: vt: simplify some cases in tioclinux()
        tty: vt: reformat tioclinux()
        tty: serial: sh-sci: Fix end of transmission on SCI
        tty: serial: sh-sci: Add support for tx end interrupt handling
        tty: serial: sh-sci: Fix TE setting on SCI IP
        tty: serial: sh-sci: Add RZ/G2L SCIFA DMA rx support
        tty: serial: sh-sci: Add RZ/G2L SCIFA DMA tx support
        serial: max310x: fix IO data corruption in batched operations
        serial: core: Disable uart_start() on uart_remove_one_port()
        serial: 8250: Reinit port->pm on port specific driver unbind
        serial: 8250: Add missing wakeup event reporting
        tty: serial: fsl_lpuart: use UARTMODIR register bits for lpuart32 platform
        tty: serial: fsl_lpuart: adjust buffer length to the intended size
        serial: fix TIOCSRS485 locking
        serial: make SiFive serial drivers depend on ARCH_ symbols
        tty: synclink_gt: don't allocate and pass dummy flags
        tty: serial: simplify qcom_geni_serial_send_chunk_fifo()
        ...
      b39667ab
    • Linus Torvalds's avatar
      Merge tag 'usb-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 4010e62b
      Linus Torvalds authored
      Pull USB / Thunderbolt updates from Greg KH:
       "Here is the large set of USB and Thunderbolt changes for 6.4-rc1.
      
        The "biggest" thing in here is the removal of two obsolete drivers,
        u132-hcd and ftdi-elan, making this a net-removal of code overall.
      
        Other than the driver removals, included in here are:
      
         - Thunderbolt updates for new hardware and features
      
         - xhci driver updates and fixes
      
         - dwc3 driver updates and fixes
      
         - gadget core and driver updates and features added
      
         - mtu3 driver updates
      
         - dwc2 driver fixes and updates
      
         - usb-serial driver updates
      
         - typec driver updates and fixes
      
         - platform remove callback changes
      
         - dts updates and conversions
      
         - other small changes
      
        All have been in linux-next for a while with no reported problems"
      
      * tag 'usb-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (177 commits)
        usb: dwc3: gadget: Refactor EP0 forced stall/restart into a separate API
        usb: dwc3: gadget: Execute gadget stop after halting the controller
        media: radio-shark: Add endpoint checks
        USB: sisusbvga: Add endpoint checks
        USB: core: Add routines for endpoint checks in old drivers
        usb: dwc3: gadget: Stall and restart EP0 if host is unresponsive
        dt-bindings: usb: snps,dwc3: Add 'snps,parkmode-disable-hs-quirk' quirk
        usb: dwc3: core: add support for disabling High-speed park mode
        dt-bindings: usb: ci-hdrc-usb2: allow multiple PHYs
        usb: mtu3: add optional clock xhci_ck and frmcnt_ck
        dt-bindings: usb: mtu3: add two optional clocks
        usb: mtu3: expose role-switch control to userspace
        usb: mtu3: unlock @mtu->lock just before giving back request
        usb: mtu3: fix kernel panic at qmu transfer done irq handler
        usb: mtu3: use boolean return value
        usb: mtu3: give back request when rx error happens
        usb: chipidea: fix missing goto in `ci_hdrc_probe`
        usb: gadget: udc: core: Prevent redundant calls to pullup
        usb: gadget: udc: core: Invoke usb_gadget_connect only when started
        usb: typec: ucsi: don't print PPM init deferred errors
        ...
      4010e62b
    • Linus Torvalds's avatar
      Merge tag 'firewire-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 · b02847fc
      Linus Torvalds authored
      Pull firewire updates from Takashi Sakamoto:
       "The pull request includes a few changes, Its main purpose is to
        prepare for my future work by taking over maintainership from Stefan
        Richter. I have plans to work on several items; e.g. packet processing
        in workqueue context instead of tasklet.
      
        As you may be aware, the IEEE 1394 technology is outdated. However, we
        still have users. It is better to ensure a smooth transition for the
        users to shift to other categories of devices"
      
      * tag 'firewire-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        firewire: init_ohci1394_dma: use correct function names in comments
        MAINTAINERS: replace maintainer of FireWire subsystem
      b02847fc
    • Linus Torvalds's avatar
      Merge tag 'for-linus-2023042601' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 34da76dc
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - import a bunch of HID selftests from out-of-tree hid-tools project
         (Benjamin Tissoires)
      
       - drastically reducing Bluetooth disconnects on hid-nintendo driven
         devices (Daniel J. Ogorchock)
      
       - lazy initialization of battery interfaces in wacom driver (Jason
         Gerecke)
      
       - generic support for all Kye tablets (David Yang)
      
       - proper rumble queue overrun handling in hid-nintendo (Daniel J.
         Ogorchock)
      
       - support for ADC measurement in logitech-hidpp driver (Bastien Nocera)
      
       - reset GPIO support in i2c-hid (Hans de Goede)
      
       - improved handling of generic "Digitizer" usage (Jason Gerecke)
      
       - support for KEY_CAMERA_FOCUS (Feng Qi)
      
       - quirks for Apple Geyser 3 and Apple Geyser 4 (Alex Henrie)
      
       - assorted functional fixes and device ID additions
      
      * tag 'for-linus-2023042601' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (54 commits)
        HID: amd_sfh: Fix max supported HID devices
        HID: wacom: generic: Set battery quirk only when we see battery data
        HID: wacom: Lazy-init batteries
        HID: Ignore battery for ELAN touchscreen on ROG Flow X13 GV301RA
        HID: asus: explicitly include linux/leds.h
        HID: lg-g15: explicitly include linux/leds.h
        HID: steelseries: explicitly include linux/leds.h
        HID: apple: Set the tilde quirk flag on the Geyser 3
        HID: apple: explicitly include linux/leds.h
        HID: mcp2221: fix get and get_direction for gpio
        HID: mcp2221: fix report layout for gpio get
        HID: wacom: Set a default resolution for older tablets
        HID: i2c-hid-of: Add reset GPIO support to i2c-hid-of
        HID: i2c-hid-of: Allow using i2c-hid-of on non OF platforms
        HID: i2c-hid-of: Consistenly use dev local variable in probe()
        HID: kye: Fix rdesc for kye tablets
        HID: amd_sfh: Support for additional light sensor
        HID: amd_sfh: Handle "no sensors" enabled for SFH1.1
        HID: amd_sfh: Increase sensor command timeout for SFH1.1
        HID: amd_sfh: Correct the stop all command
        ...
      34da76dc
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 725a345b
      Linus Torvalds authored
      Pull fbdev updates from Helge Deller:
       "Nothing really exiting in here.
      
        The majority of lines changed is due to Uwe's preparation patches to
        change the return value of the .remove() callback to void.
      
        Summary:
      
         - vt_buffer.h: Fix build on alpha (Randy Dunlap)
      
         - mmp: Clock handling fix (Christophe JAILLET)
      
         - 68328fb, ps3fb, vfb: Init .owner field of struct fb_ops (Thomas
           Zimmermann)
      
         - fbdev: cg14: Convert to platform remove callback returning void
      
         - Preparation patches to convert drivers to return void in .remove()
           callback (Uwe Kleine-König)
      
         - Drop Paul Mackerras as rage128 maintainer"
      
      * tag 'fbdev-for-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev: (51 commits)
        MAINTAINERS: Remove rage128 framebuffer driver maintainer
        fbdev: vfb: Init owner field of struct fb_ops
        fbdev: ps3fb: Init owner field of struct fb_ops
        fbdev: 68328fb: Init owner field of struct fb_ops
        fbdev: mmp: Fix deferred clk handling in mmphw_probe()
        linux/vt_buffer.h: allow either builtin or modular for macros
        fbdev: xilinxfb: Convert to platform remove callback returning void
        fbdev: wmt_ge_rops: Convert to platform remove callback returning void
        fbdev: wm8505fb: Convert to platform remove callback returning void
        fbdev: vt8500lcdfb: Convert to platform remove callback returning void
        fbdev: via: Convert to platform remove callback returning void
        fbdev: vga16fb: Convert to platform remove callback returning void
        fbdev: vfb: Convert to platform remove callback returning void
        fbdev: vesafb: Convert to platform remove callback returning void
        fbdev: uvesafb: Convert to platform remove callback returning void
        fbdev: tcx: Convert to platform remove callback returning void
        fbdev: sm501fb: Convert to platform remove callback returning void
        fbdev: simplefb: Convert to platform remove callback returning void
        fbdev: sh_mobile_lcdcfb: Convert to platform remove callback returning void
        fbdev: sh7760fb: Convert to platform remove callback returning void
        ...
      725a345b
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 89555eeb
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "Mostly fixes for DTs or DT handling this time. And a few driver
        bugfixes"
      
      * tag 'i2c-for-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (28 commits)
        i2c: xiic: xiic_xfer(): Fix runtime PM leak on error path
        i2c: cadence: cdns_i2c_master_xfer(): Fix runtime PM leak on error path
        i2c: omap: Improve error reporting for problems during .remove()
        i2c: cadence: Add reset controller support
        dt-bindings: i2c: cadence: Document `resets` property
        i2c: mediatek: add support for MT7981 SoC
        dt-bindings: i2c: i2c-mt65xx: add MediaTek MT7981 SoC
        dt-bindings: i2c: Drop unneeded quotes
        i2c: brcmstb: use devm_platform_ioremap_resource_byname()
        i2c: cadence: Detect maximum transfer size
        i2c: cadence: Allow to specify the FIFO depth
        dt-bindings: i2c: cadence: Document `fifo-depth` property
        i2c: xiic: Use devm_platform_get_and_ioremap_resource()
        i2c: mpc: Use i2c-scl-clk-low-timeout-us i2c property
        i2c: mpc: Use of_property_read_u32 instead of of_get_property
        dt-bindings: i2c: mpc: Mark "fsl,timeout" as deprecated
        i2c: xiic: hide OF related data for COMPILE_TEST
        i2c: synquacer: mark OF related data as maybe unused
        dt-bindings: i2c: i2c-mt65xx: Add compatible for MT6795 Helio X10
        i2c: imx: Simplify using devm_clk_get_enabled()
        ...
      89555eeb
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.4-1' of https://github.com/cminyard/linux-ipmi · d91f6a73
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
       "Minor bug fixes for the IPMI driver
      
        There was a bug in the SSIF driver where in certain conditions it
        could stop working.
      
        Outside of that: spelling fixes, removing some dead code, re-adding a
        missing statistic increment, and removal of register_sysctl_table()"
      
      * tag 'for-linus-6.4-1' of https://github.com/cminyard/linux-ipmi:
        ipmi:ssif: Drop if blocks with always false condition
        ipmi: fix SSIF not responding under certain cond.
        ipmi:ssif: Add send_retries increment
        char:ipmi:Fix spelling mistake "asychronously" -> "asynchronously"
        ipmi: simplify sysctl registration
        ipmi: ASPEED_BT_IPMI_BMC: select REGMAP_MMIO instead of depending on it
      d91f6a73
    • Linus Torvalds's avatar
      Merge tag 'spi-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · fc2e58b8
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "A fairly standard release for SPI with the exception of a change to
        the API for specifying chip selects done in preparation for supporting
        devices with more than one chip select, this required some mechanical
        changes throughout the tree which have been cooking in -next happily
        for a while.
      
        There's also a new API to allow us to support TPM chips on half duplex
        controllers.
      
        Summary:
      
         - Refactoring in preparation for supporting multiple chip selects for
           a single device, needed by some flash devices, which required a
           change in the SPI device API visible throughout the tree
      
         - Support for hardware assisted interaction with SPI TPMs on half
           duplex controllers, implemented on nVidia Tedra210 QuadSPI
      
         - Optimisation for large transfers on fsl-cpm devices
      
         - Cleanups around device property use which fix some sisues with
           fwnode
      
         - Use of both void r...
      fc2e58b8
    • Linus Torvalds's avatar
      Merge tag 'sound-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 1c15ca4e
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "At this time, it's an interesting mixture of changes for both old and
        new stuff. Majority of changes are about ASoC (lots of systematic
        changes for converting remove callbacks to void, and cleanups), while
        we got the fixes and the enhancements of very old PCI cards, too.
      
        Here are some highlights:
      
        ALSA/ASoC Core:
         - Continued effort of more ASoC core cleanups
         - Minor improvements for XRUN handling in indirect PCM helpers
         - Code refactoring of PCM core code
      
        ASoC:
         - Continued feature and simplification work on SOF, including
           addition of a no-DSP mode for bringup, HDA MLink and extensions to
           the IPC4 protocol
         - Hibernation support for CS35L45
         - More DT binding conversions
         - Support for Cirrus Logic CS35L56, Freescale QMC, Maxim MAX98363,
           nVidia systems with MAX9809x and RT5631, Realtek RT712, Renesas
           R-Car Gen4, Rockchip RK3588 an...
      1c15ca4e
    • Linus Torvalds's avatar
      Merge tag 'pci-v6.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci · 34b62f18
      Linus Torvalds authored
      Pull pci updates from Bjorn Helgaas:
       "Resource management:
      
         - Add pci_dev_for_each_resource() and pci_bus_for_each_resource()
           iterators
      
        PCIe native device hotplug:
      
         - Fix AB-BA deadlock between reset_lock and device_lock
      
        Power management:
      
         - Wait longer for devices to become ready after resume (as we do for
           reset) to accommodate Intel Titan Ridge xHCI devices
      
         - Extend D3hot delay for NVIDIA HDA controllers to avoid
           unrecoverable devices after a bus reset
      
        Error handling:
      
         - Clear PCIe Device Status after EDR since generic error recovery now
           only clears it when AER is native
      
        ASPM:
      
         - Work around Chromebook firmware defect that clobbers Capability
           list (including ASPM L1 PM Substates Cap) when returning from
           D3cold to D0
      
        Freescale i.MX6 PCIe controller driver:
      
         - Install imprecise external abort handler only when DT indicates
           PCIe support
      
        Freescale Layerscape PCIe controller driver:
      
         - Add ls1028a endpoint mode support
      
        Qualcomm PCIe controller driver:
      
         - Add SM8550 DT binding and driver support
      
         - Add SDX55 DT binding and driver support
      
         - Use bulk APIs for clocks of IP 1.0.0, 2.3.2, 2.3.3
      
         - Use bulk APIs for reset of IP 2.1.0, 2.3.3, 2.4.0
      
         - Add DT "mhi" register region for supported SoCs
      
         - Expose link transition counts via debugfs to help debug low power
           issues
      
         - Support system suspend and resume; reduce interconnect bandwidth
           and turn off clock and PHY if there are no active devices
      
         - Enable async probe by default to reduce boot time
      
        Miscellaneous:
      
         - Sort controller Kconfig entries by vendor"
      
      * tag 'pci-v6.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: (56 commits)
        PCI: xilinx: Drop obsolete dependency on COMPILE_TEST
        PCI: mobiveil: Sort Kconfig entries by vendor
        PCI: dwc: Sort Kconfig entries by vendor
        PCI: Sort controller Kconfig entries by vendor
        PCI: Use consistent controller Kconfig menu entry language
        PCI: xilinx-nwl: Add 'Xilinx' to Kconfig prompt
        PCI: hv: Add 'Microsoft' to Kconfig prompt
        PCI: meson: Add 'Amlogic' to Kconfig prompt
        PCI: Use of_property_present() for testing DT property presence
        PCI/PM: Extend D3hot delay for NVIDIA HDA controllers
        dt-bindings: PCI: qcom: Document msi-map and msi-map-mask properties
        PCI: qcom: Add SM8550 PCIe support
        dt-bindings: PCI: qcom: Add SM8550 compatible
        PCI: qcom: Add support for SDX55 SoC
        dt-bindings: PCI: qcom-ep: Fix the unit address used in example
        dt-bindings: PCI: qcom: Add SDX55 SoC
        dt-bindings: PCI: qcom: Update maintainers entry
        PCI: qcom: Enable async probe by default
        PCI: qcom: Add support for system suspend and resume
        PCI/PM: Drop pci_bridge_wait_for_secondary_bus() timeout parameter
        ...
      34b62f18
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-6.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · cb6fe2ce
      Linus Torvalds authored
      Pull more devicetree updates from Rob Herring:
      
       - First part of DT header detangling dropping cpu.h from of_device.h
         and replacing some includes with forward declarations. A handful of
         drivers needed some adjustment to their includes as a result.
      
       - Refactor of_device.h to be used by bus drivers rather than various
         device drivers. This moves non-bus related functions out of
         of_device.h. The end goal is for of_platform.h and of_device.h to
         stop including each other.
      
       - Refactor open coded parsing of "ranges" in some bus drivers to use DT
         address parsing functions
      
       - Add some new address parsing functions of_property_read_reg(),
         of_range_count(), and of_range_to_resource() in preparation to
         convert more open coded parsing of DT addresses to use them.
      
       - Treewide clean-ups to use of_property_read_bool() and
         of_property_present() as appropriate. The ones here are the ones that
         didn't...
      cb6fe2ce
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · d42b1c47
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
       "Bindings:
      
         - Convert Qcom IOMMU, Amlogic timer, Freescale sec-v4.0, Toshiba
           TC358764 display bridge, Parade PS8622 display bridge, and Xilinx
           FPGA bindings to DT schema format
      
         - Add qdu1000 and sa8775p SoC support to Qcom PDC interrupt
           controller
      
         - Add MediaTek MT8365 UART and SYSIRQ bindings
      
         - Add Arm Cortex-A78C and X1C core compatibles
      
         - Add vendor prefix for Novatek
      
         - Remove bindings for stih415, sti416, stid127 platforms
      
         - Drop uneeded quotes in schema files. This is preparation for
           yamllint checking quoting for us.
      
         - Add missing (unevaluated|additional)Properties constraints on child
           node schemas
      
         - Clean-up schema comments formatting
      
         - Fix I2C and SPI node bus names in schema examples
      
         - Clean-up some display compatibles schema syntax
      
         - Fix incorrect references to lvds.yaml
      
         - Gather all cach...
      d42b1c47
    • Linus Torvalds's avatar
      Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd · 6df969b7
      Linus Torvalds authored
      Pull iommufd updates from Jason Gunthorpe:
       "Two series:
      
         - Reorganize how the hardware page table objects are managed,
           particularly their destruction flow. Increase the selftest test
           coverage in this area by creating a more complete mock iommu
           driver.
      
           This is preparation to add a replace operation for HWPT binding,
           which is done but waiting for the VFIO parts to complete so there
           is a user.
      
         - Split the iommufd support for "access" to make it two step -
           allocate an access then link it to an IOAS. Update VFIO and have
           VFIO always create an access even for the VFIO mdevs that never do
           DMA.
      
           This is also preperation for the replace VFIO series that will
           allow replace to work on access types as well.
      
        Three minor fixes:
      
         - Sykzaller found the selftest code didn't check for overflow when
           processing user VAs
      
         - smatch noted a .data item should have been static
      
         - Add a selftest that reproduces a syzkaller bug for batch carry
           already fixed in rc"
      
      * tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd: (21 commits)
        iommufd/selftest: Cover domain unmap with huge pages and access
        iommufd/selftest: Set varaiable mock_iommu_device storage-class-specifier to static
        vfio: Check the presence for iommufd callbacks in __vfio_register_dev()
        vfio/mdev: Uses the vfio emulated iommufd ops set in the mdev sample drivers
        vfio-iommufd: Make vfio_iommufd_emulated_bind() return iommufd_access ID
        vfio-iommufd: No need to record iommufd_ctx in vfio_device
        iommufd: Create access in vfio_iommufd_emulated_bind()
        iommu/iommufd: Pass iommufd_ctx pointer in iommufd_get_ioas()
        iommufd/selftest: Catch overflow of uptr and length
        iommufd/selftest: Add a selftest for iommufd_device_attach() with a hwpt argument
        iommufd/selftest: Make selftest create a more complete mock device
        iommufd/selftest: Rename the remaining mock device_id's to stdev_id
        iommufd/selftest: Rename domain_id to hwpt_id for FIXTURE iommufd_mock_domain
        iommufd/selftest: Rename domain_id to stdev_id for FIXTURE iommufd_ioas
        iommufd/selftest: Rename the sefltest 'device_id' to 'stdev_id'
        iommufd: Make iommufd_hw_pagetable_alloc() do iopt_table_add_domain()
        iommufd: Move iommufd_device to iommufd_private.h
        iommufd: Move ioas related HWPT destruction into iommufd_hw_pagetable_destroy()
        iommufd: Consistently manage hwpt_item
        iommufd: Add iommufd_lock_obj() around the auto-domains hwpts
        ...
      6df969b7
  2. Apr 27, 2023
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2023-04-27' of git://anongit.freedesktop.org/drm/drm · 32f7ad0f
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "A bit out of routine fixes pull for rc1.
      
        There's a build breakage on some platforms due to ttm, this has that
        fix + qaic uapi removal + minor panel fixes.
      
        ttm:
         - Fix TTM build on archs where PMD_SHIFT is not constant
      
        qaic:
         - Revert uAPI from accel/qaic
      
        panel:
         - Improve error handling in nt35950
         - Fix double unregister in otm8009a when removing the driver"
      
      * tag 'drm-next-2023-04-27' of git://anongit.freedesktop.org/drm/drm:
        drm/panel: novatek-nt35950: Only unregister DSI1 if it exists
        drm/panel: otm8009a: Set backlight parent to panel device
        drm/panel: novatek-nt35950: Improve error handling
        drm/ttm: revert "Reduce the number of used allocation orders for TTM pages"
        Revert "accel/qaic: Add mhi_qaic_cntl"
      32f7ad0f
    • Vlastimil Babka's avatar
      mm/mremap: fix vm_pgoff in vma_merge() case 3 · 7e775787
      Vlastimil Babka authored
      After upgrading build guests to v6.3, rpm started segfaulting for
      specific packages, which was bisected to commit 0503ea8f
      
       ("mm/mmap:
      remove __vma_adjust()"). rpm is doing many mremap() operations with file
      mappings of its db. The problem is that in vma_merge() case 3 (we merge
      with the next vma, expanding it downwards) vm_pgoff is not adjusted as
      it should when vm_start changes. As a result the rpm process most likely
      sees data from the wrong offset of the file. Fix the vm_pgoff
      calculation.
      
      For case 8 this is a non-functional change as the resulting vm_pgoff is
      the same.
      
      Reported-and-bisected-by: default avatarJiri Slaby <jirislaby@kernel.org>
      Reported-and-tested-by: default avatarFabian Vogt <fvogt@suse.com>
      Link: https://bugzilla.suse.com/show_bug.cgi?id=1210903
      Fixes: 0503ea8f
      
       ("mm/mmap: remove __vma_adjust()")
      Signed-off-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7e775787
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-fixes-2023-04-26' of... · cf03e295
      Dave Airlie authored
      Merge tag 'drm-misc-next-fixes-2023-04-26' of git://anongit.freedesktop.org/drm/drm-misc
      
       into drm-next
      
      drm-misc-next-fixes for v6.4-rc1:
      - Revert uAPI from accel/qaic.
      - Fix TTM build on archs where PMD_SHIFT is not constant.
      - Improve error handling in nt35950.
      - Fix double unregister in otm8009a when removing the driver.
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/45757de9-75d8-5b41-f1f9-562a7c4675b9@linux.intel.com
      cf03e295
    • Linus Torvalds's avatar
      Merge tag 'net-next-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · 6e98b09d
      Linus Torvalds authored
      Pull networking updates from Paolo Abeni:
       "Core:
      
         - Introduce a config option to tweak MAX_SKB_FRAGS. Increasing the
           default value allows for better BIG TCP performances
      
         - Reduce compound page head access for zero-copy data transfers
      
         - RPS/RFS improvements, avoiding unneeded NET_RX_SOFTIRQ when
           possible
      
         - Threaded NAPI improvements, adding defer skb free support and
           unneeded softirq avoidance
      
         - Address dst_entry reference count scalability issues, via false
           sharing avoidance and optimize refcount tracking
      
         - Add lockless accesses annotation to sk_err[_soft]
      
         - Optimize again the skb struct layout
      
         - Extends the skb drop reasons to make it usable by multiple
           subsystems
      
         - Better const qualifier awareness for socket casts
      
        BPF:
      
         - Add skb and XDP typed dynptrs which allow BPF programs for more
           ergonomic and less brittle iteration through data and
           v...
      6e98b09d
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · b68ee1c6
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "Updates to the usual drivers (megaraid_sas, scsi_debug, lpfc, target,
        mpi3mr, hisi_sas, arcmsr).
      
        The major core change is the constification of the host templates
        (which touches everything) along with other minor fixups and clean
        ups"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (207 commits)
        scsi: ufs: mcq: Use pointer arithmetic in ufshcd_send_command()
        scsi: ufs: mcq: Annotate ufshcd_inc_sq_tail() appropriately
        scsi: cxlflash: s/semahpore/semaphore/
        scsi: lpfc: Silence an incorrect device output
        scsi: mpi3mr: Use IRQ save variants of spinlock to protect chain frame allocation
        scsi: scsi_debug: Fix missing error code in scsi_debug_init()
        scsi: hisi_sas: Work around build failure in suspend function
        scsi: lpfc: Fix ioremap issues in lpfc_sli4_pci_mem_setup()
        scsi: mpt3sas: Fix an issue when driver is being removed
        scsi: mpt3sas: Remove HBA BIOS version in the kernel log
        scsi: target: core: Fix invalid memory access
        scsi: scsi_debug: Drop sdebug_queue
        scsi: scsi_debug: Only allow sdebug_max_queue be modified when no shosts
        scsi: scsi_debug: Use scsi_host_busy() in delay_store() and ndelay_store()
        scsi: scsi_debug: Use blk_mq_tagset_busy_iter() in stop_all_queued()
        scsi: scsi_debug: Use blk_mq_tagset_busy_iter() in sdebug_blk_mq_poll()
        scsi: scsi_debug: Dynamically allocate sdebug_queued_cmd
        scsi: scsi_debug: Use scsi_block_requests() to block queues
        scsi: scsi_debug: Protect block_unblock_all_queues() with mutex
        scsi: scsi_debug: Change shost list lock to a mutex
        ...
      b68ee1c6
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/wacom' into for-linus · c3a6ef33
      Jiri Kosina authored
      - improved handling of battery quirk (Jason Gerecke)
      - lazy initialization of battery interfaces (Jason Gerecke)
      c3a6ef33
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/tests' into for-linus · ab396fb2
      Jiri Kosina authored
      - import of bunch of HID selftests from out-of-tree hid-tools project
        (Benjamin Tissoires)
      ab396fb2
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/nintendo' into for-linus · 67471b89
      Jiri Kosina authored
      - drastically reducing Bluetooth disconnects on hid-nintendo
        driven devices (Daniel J. Ogorchock)
      - proper rumble queue overrun handling (Daniel J. Ogorchock)
      67471b89
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/mcp2221' into for-linus · 5fce154a
      Jiri Kosina authored
      - generic code improvements for mcp2221 driver (Louis Morhet)
      5fce154a
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/logitech-hidpp' into for-linus · 0549fbac
      Jiri Kosina authored
      - support for ADC measurement (Bastien Nocera)
      - support for Logitech G935 (Bastien Nocera)
      0549fbac
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/led-includes' into for-linus · d411b5aa
      Jiri Kosina authored
      - explicit include fixes (Thomas Weißschuh)
      d411b5aa
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/kye' into for-linus · b680751b
      Jiri Kosina authored
      - generic support for all Kye tablets (David Yang)
      b680751b
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/i2c-hid' into for-linus · ba984d27
      Jiri Kosina authored
      - reset GPIO support (Hans de Goede)
      ba984d27
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/core' into for-linus · 63f7cf66
      Jiri Kosina authored
      - improve handling of generic "Digitizer" usage (Jason Gerecke)
      - support for KEY_CAMERA_FOCUS (Feng Qi)
      63f7cf66
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/apple' into for-linus · 5f86a084
      Jiri Kosina authored
      - quirks for Apple Geyser 3 and Apple Geyser 4 (Alex Henrie)
      5f86a084
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/amd-sfh' into for-linus · cdc780f0
      Jiri Kosina authored
      - assorted functional fixes for amd-sfh driver (Basavaraj Natikar)
      cdc780f0
    • Linus Torvalds's avatar
      Merge tag 'ata-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 36006b1d
      Linus Torvalds authored
      Pull ata updates from Damien Le Moal:
      
       - Many cleanups of the pata_parport driver and of its protocol modules
         (Ondrej)
      
       - Remove unused code (ata_id_xxx() functions) (Sergey)
      
       - Add Add UniPhier SATA controller DT bindings (Kunihiko)
      
       - Fix dependencies for the Freescale QorIQ AHCI SATA controller driver
         (Geert)
      
       - DT property handling improvements (Rob)
      
      * tag 'ata-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata: (57 commits)
        ata: pata_parport-bpck6: Declare mode_map as static
        ata: pata_parport-bpck6: Remove dependency on 64BIT
        ata: pata_parport-bpck6: reduce indents in bpck6_open
        ata: pata_parport-bpck6: delete ppc6lnx.c
        ata: pata_parport-bpck6: move defines and mode_map to bpck6.c
        ata: pata_parport-bpck6: move ppc6_wr_data_byte to bpck6.c and rename
        ata: pata_parport-bpck6: move ppc6_rd_data_byte to bpck6.c and rename
        ata: pata_parport-bpck6: move ppc6_send_cmd to bpck6.c and rename
        ata: pata_parport-bpck6: move ppc6_deselect to bpck6.c and rename
        ata: pata_parport-bpck6: merge ppc6_select into bpck6_open
        ata: pata_parport-bpck6: move ppc6_open to bpck6.c and rename
        ata: pata_parport-bpck6: move ppc6_wr_extout to bpck6.c and rename
        ata: pata_parport-bpck6: move ppc6_wait_for_fifo to bpck6.c and rename
        ata: pata_parport-bpck6: merge ppc6_wr_data_blk into bpck6_write_block
        ata: pata_parport-bpck6: merge ppc6_rd_data_blk into bpck6_read_block
        ata: pata_parport-bpck6: merge ppc6_wr_port16_blk into bpck6_write_block
        ata: pata_parport-bpck6: merge ppc6_rd_port16_blk into bpck6_read_block
        ata: pata_parport-bpck6: merge ppc6_wr_port into bpck6_write_regr
        ata: pata_parport-bpck6: merge ppc6_rd_port into bpck6_read_regr
        ata: pata_parport-bpck6: remove ppc6_close
        ...
      36006b1d
    • Linus Torvalds's avatar
      Merge tag 'for-6.4/dm-changes' of... · 48dc8100
      Linus Torvalds authored
      Merge tag 'for-6.4/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - Split dm-bufio's rw_semaphore and rbtree. Offers improvements to
         dm-bufio's locking to allow increased concurrent IO -- particularly
         for read access for buffers already in dm-bufio's cache.
      
       - Also split dm-bio-prison-v1's spinlock and rbtree with comparable aim
         at improving concurrent IO (for the DM thinp target).
      
       - Both the dm-bufio and dm-bio-prison-v1 scaling of the number of locks
         and rbtrees used are managed by dm_num_hash_locks(). And the hash
         function used by both is dm_hash_locks_index().
      
       - Allow DM targets to require DISCARD, WRITE_ZEROES and SECURE_ERASE to
         be split at the target specified boundary (in terms of
         max_discard_sectors, max_write_zeroes_sectors and
         max_secure_erase_sectors respectively).
      
       - DM verity error handling fix for check_at_most_once on FEC.
      
       - Update DM verity target to emit audit events on verification failure
         and more.
      
       - DM core ->io_hints improvements needed in support of new discard
         support that is added to the DM "zero" and "error" targets.
      
       - Fix missing kmem_cache_destroy() call in initialization error path of
         both the DM integrity and DM clone targets.
      
       - A couple fixes for DM flakey, also add "error_reads" feature.
      
       - Fix DM core's resume to not lock FS when the DM map is NULL;
         otherwise initial table load can race with FS mount that takes
         superblock's ->s_umount rw_semaphore.
      
       - Various small improvements to both DM core and DM targets.
      
      * tag 'for-6.4/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (40 commits)
        dm: don't lock fs when the map is NULL in process of resume
        dm flakey: add an "error_reads" option
        dm flakey: remove trailing space in the table line
        dm flakey: fix a crash with invalid table line
        dm ioctl: fix nested locking in table_clear() to remove deadlock concern
        dm: unexport dm_get_queue_limits()
        dm: allow targets to require splitting WRITE_ZEROES and SECURE_ERASE
        dm: add helper macro for simple DM target module init and exit
        dm raid: remove unused d variable
        dm: remove unnecessary (void*) conversions
        dm mirror: add DMERR message if alloc_workqueue fails
        dm: push error reporting down to dm_register_target()
        dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path
        dm clone: call kmem_cache_destroy() in dm_clone_init() error path
        dm error: add discard support
        dm zero: add discard support
        dm table: allow targets without devices to set ->io_hints
        dm verity: emit audit events on verification failure and more
        dm verity: fix error handling for check_at_most_once on FEC
        dm: improve hash_locks sizing and hash function
        ...
      48dc8100
    • Linus Torvalds's avatar
      Merge tag 'for-6.4/block-2023-04-21' of git://git.kernel.dk/linux · 9dd6956b
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
      
       - drbd patches, bringing us closer to unifying the out-of-tree version
         and the in tree one (Andreas, Christoph)
      
       - support for auto-quiesce for the s390 dasd driver (Stefan)
      
       - MD pull request via Song:
            - md/bitmap: Optimal last page size (Jon Derrick)
            - Various raid10 fixes (Yu Kuai, Li Nan)
            - md: add error_handlers for raid0 and linear (Mariusz Tkaczyk)
      
       - NVMe pull request via Christoph:
            - Drop redundant pci_enable_pcie_error_reporting (Bjorn Helgaas)
            - Validate nvmet module parameters (Chaitanya Kulkarni)
            - Fence TCP socket on receive error (Chris Leech)
            - Fix async event trace event (Keith Busch)
            - Minor cleanups (Chaitanya Kulkarni, zhenwei pi)
            - Fix and cleanup nvmet Identify handling (Damien Le Moal,
              Christoph Hellwig)
            - Fix double blk_mq_complete_request race in the timeout handler
              (Lei Yin)
            - Fix irq locking in nvme-fcloop (Ming Lei)
            - Remove queue mapping helper for rdma devices (Sagi Grimberg)
      
       - use structured request attribute checks for nbd (Jakub)
      
       - fix blk-crypto race conditions between keyslot management (Eric)
      
       - add sed-opal support for reading read locking range attributes
         (Ondrej)
      
       - make fault injection configurable for null_blk (Akinobu)
      
       - clean up the request insertion API (Christoph)
      
       - clean up the queue running API (Christoph)
      
       - blkg config helper cleanups (Tejun)
      
       - lazy init support for blk-iolatency (Tejun)
      
       - various fixes and tweaks to ublk (Ming)
      
       - remove hybrid polling. It hasn't really been useful since we got
         async polled IO support, and these days we don't support sync polled
         IO at all (Keith)
      
       - misc fixes, cleanups, improvements (Zhong, Ondrej, Colin, Chengming,
         Chaitanya, me)
      
      * tag 'for-6.4/block-2023-04-21' of git://git.kernel.dk/linux: (118 commits)
        nbd: fix incomplete validation of ioctl arg
        ublk: don't return 0 in case of any failure
        sed-opal: geometry feature reporting command
        null_blk: Always check queue mode setting from configfs
        block: ublk: switch to ioctl command encoding
        blk-mq: fix the blk_mq_add_to_requeue_list call in blk_kick_flush
        block, bfq: Fix division by zero error on zero wsum
        fault-inject: fix build error when FAULT_INJECTION_CONFIGFS=y and CONFIGFS_FS=m
        block: store bdev->bd_disk->fops->submit_bio state in bdev
        block: re-arrange the struct block_device fields for better layout
        md/raid5: remove unused working_disks variable
        md/raid10: don't call bio_start_io_acct twice for bio which experienced read error
        md/raid10: fix memleak of md thread
        md/raid10: fix memleak for 'conf->bio_split'
        md/raid10: fix leak of 'r10bio->remaining' for recovery
        md/raid10: don't BUG_ON() in raise_barrier()
        md: fix soft lockup in status_resync
        md: add error_handlers for raid0 and linear
        md: Use optimal I/O size for last bitmap page
        md: Fix types in sb writer
        ...
      9dd6956b
    • Linus Torvalds's avatar
      Merge tag 'for-6.4/io_uring-2023-04-21' of git://git.kernel.dk/linux · 5b9a7bb7
      Linus Torvalds authored
      Pull io_uring updates from Jens Axboe:
      
       - Cleanup of the io-wq per-node mapping, notably getting rid of it so
         we just have a single io_wq entry per ring (Breno)
      
       - Followup to the above, move accounting to io_wq as well and
         completely drop struct io_wqe (Gabriel)
      
       - Enable KASAN for the internal io_uring caches (Breno)
      
       - Add support for multishot timeouts. Some applications use timeouts to
         wake someone waiting on completion entries, and this makes it a bit
         easier to just have a recurring timer rather than needing to rearm it
         every time (David)
      
       - Support archs that have shared cache coloring between userspace and
         the kernel, and hence have strict address requirements for mmap'ing
         the ring into userspace. This should only be parisc/hppa. (Helge, me)
      
       - XFS has supported O_DIRECT writes without needing to lock the inode
         exclusively for a long time, and ext4 now supports it as well. This
         is true for the com...
      5b9a7bb7
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 5c7ecada
      Linus Torvalds authored
      Pull f2fs update from Jaegeuk Kim:
       "In this round, we've mainly modified to support non-power-of-two zone
        size, which is not required for f2fs by design. In order to avoid arch
        dependency, we refactored the messy rb_entry structure shared across
        different extent_cache. In addition to the improvement, we've also
        fixed several subtle bugs and error cases.
      
        Enhancements:
         - support non-power-of-two zone size for zoned device
         - remove sharing the rb_entry structure in extent cache
         - refactor f2fs_gc to call checkpoint in urgent condition
         - support iopoll
      
        Bug fixes:
         - fix potential corruption when moving a directory
         - fix to avoid use-after-free for cached IPU bio
         - fix the folio private usage
         - avoid kernel warnings or panics in the cp_error case
         - fix to recover quota data correctly
         - fix some bugs in atomic operations
         - fix system crash due to lack of free space in LFS
         - fix null pointer panic in tracepoint in __replace_atomic_write_block
         - fix iostat lock protection
         - fix scheduling while atomic in decompression path
         - preserve direct write semantics when buffering is forced
         - fix to call f2fs_wait_on_page_writeback() in f2fs_write_raw_pages()"
      
      * tag 'f2fs-for-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (52 commits)
        f2fs: remove unnessary comment in __may_age_extent_tree
        f2fs: allocate node blocks for atomic write block replacement
        f2fs: use cow inode data when updating atomic write
        f2fs: remove power-of-two limitation of zoned device
        f2fs: allocate trace path buffer from names_cache
        f2fs: add has_enough_free_secs()
        f2fs: relax sanity check if checkpoint is corrupted
        f2fs: refactor f2fs_gc to call checkpoint in urgent condition
        f2fs: remove folio_detach_private() in .invalidate_folio and .release_folio
        f2fs: remove bulk remove_proc_entry() and unnecessary kobject_del()
        f2fs: support iopoll method
        f2fs: remove batched_trim_sections node description
        f2fs: fix to check return value of inc_valid_block_count()
        f2fs: fix to check return value of f2fs_do_truncate_blocks()
        f2fs: fix passing relative address when discard zones
        f2fs: fix potential corruption when moving a directory
        f2fs: add radix_tree_preload_end in error case
        f2fs: fix to recover quota data correctly
        f2fs: fix to check readonly condition correctly
        docs: f2fs: Correct instruction to disable checkpoint
        ...
      5c7ecada
    • Linus Torvalds's avatar
      Merge tag 'dlm-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · fbfaf03e
      Linus Torvalds authored
      Pull dlm updates from David Teigland:
      
       - Remove some unused features (related to lock timeouts) that have been
         previously scheduled for removal
      
       - Fix a bug where the pending callback flag would be incorrectly
         cleared, which could potentially result in missing a completion
         callback
      
       - Use an unbound workqueue for dlm socket handling so that socket
         operations can be processed with less delay
      
       - Fix possible lockspace join connection errors with large clusters
         (e.g. over 16 nodes) caused by a small socket backlog setting
      
       - Use atomic bit ops for internal flags to help avoid mistakes copying
         flag values from messages
      
       - Fix recently introduced bug where memory for lvb data could be
         unnecessarily allocated for a lock
      
      * tag 'dlm-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        fs: dlm: stop unnecessarily filling zero ms_extra bytes
        fs: dlm: switch lkb_sbflags to atomic ops
        fs: dlm: rsb hash table flag value to atomic ops
        fs: dlm: move internal flags to atomic ops
        fs: dlm: change dflags to use atomic bits
        fs: dlm: store lkb distributed flags into own value
        fs: dlm: remove DLM_IFL_LOCAL_MS flag
        fs: dlm: rename stub to local message flag
        fs: dlm: remove deprecated code parts
        DLM: increase socket backlog to avoid hangs with 16 nodes
        fs: dlm: add unbound flag to dlm_io workqueue
        fs: dlm: fix DLM_IFL_CB_PENDING gets overwritten
      fbfaf03e
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v6.3-rc3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · e0fcc9c6
      Linus Torvalds authored
      Pull gfs2 updates from Andreas Gruenbacher:
      
       - Fix revoke processing at unmount and on read-only remount
      
       - Refuse reading in inodes with an impossible indirect block height
      
       - Various minor cleanups
      
      * tag 'gfs2-v6.3-rc3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: gfs2_ail_empty_gl no log flush on error
        gfs2: Issue message when revokes cannot be written
        gfs2: Perform second log flush in gfs2_make_fs_ro
        gfs2: return errors from gfs2_ail_empty_gl
        gfs2: Move variable assignment behind a null pointer check in inode_go_dump
        gfs2: Use gfs2_holder_initialized for jindex
        gfs2: Eliminate gfs2_trim_blocks
        gfs2: Fix inode height consistency check
        gfs2: Remove ghs[] from gfs2_unlink
        gfs2: Remove ghs[] from gfs2_link
        gfs2: Remove duplicate i_nlink check from gfs2_link()
      e0fcc9c6
    • Linus Torvalds's avatar
      Merge tag 'for-6.4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 85d7ab24
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "Mostly core changes and cleanups, some notable fixes and two
        performance improvements in directory logging.
      
        The IO path cleanups are removing or refactoring old code, scrub main
        loop has been completely rewritten also refactoring old code.
      
        There are some changes to non-btrfs code, mostly trivial, the cgroup
        punt bio logic is only moved from generic code.
      
        Performance improvements:
      
         - improve logging changes in a directory during one transaction,
           avoid iterating over items and reduce lock contention (fsync time
           4x lower)
      
         - when logging directory entries during one transaction, reduce
           locking of subvolume trees by checking tree-log instead
           (improvement in throughput and latency for concurrent access to a
           subvolume)
      
        Notable fixes:
      
         - dev-replace:
            - properly honor read mode when requested to avoid reading from
              source device
            - target device won't be used for eventual read repair, this is
              unreliable for NODATASUM files
            - when there are unpaired (and unrepairable) metadata during
              replace, exit early with error and don't try to finish whole
              operation
      
         - scrub ioctl properly rejects unknown flags
      
         - fix global block reserve calculations
      
         - fix partial direct io write when there's a page fault in the
           middle, iomap will try to continue with partial request but the
           btrfs part did not match that, this can lead to zeros written
           instead of data
      
        Core changes:
      
         - io path:
            - continued cleanups and refactoring around bio handling
            - extent io submit path simplifications and cleanups
            - flush write path simplifications and cleanups
            - rework logic of passing sync mode of bio, with further cleanups
      
         - rewrite scrub code flow, restructure how the stripes are enumerated
           and verified in a more unified way
      
         - allow to set lower threshold for block group reclaim in debug mode
           to aid zoned mode testing
      
         - remove obsolete time-based delayed ref throttling logic when
           truncating items
      
         - DREW locks are not using percpu variables anymore
      
         - more warning fixes (-Wmaybe-uninitialized)
      
         - u64 division simplifications
      
         - error handling improvements
      
        Non-btrfs code changes:
      
         - push cgroup punt bio logic to btrfs code (there was no other user
           of that), the functionality can be now selected separately by
           BLK_CGROUP_PUNT_BIO
      
         - crc32c_impl removed after removing last uses in btrfs code
      
         - add btrfs_assertfail() to objtool table"
      
      * tag 'for-6.4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (147 commits)
        btrfs: mark btrfs_assertfail() __noreturn
        btrfs: fix uninitialized variable warnings
        btrfs: use log root when iterating over index keys when logging directory
        btrfs: avoid iterating over all indexes when logging directory
        btrfs: dev-replace: error out if we have unrepaired metadata error during
        btrfs: remove pointless loop at btrfs_get_next_valid_item()
        btrfs: scrub: reject unsupported scrub flags
        btrfs: reinterpret async discard iops_limit=0 as no delay
        btrfs: set default discard iops_limit to 1000
        btrfs: remove unused raid56 functions which were dedicated for scrub
        btrfs: scrub: remove scrub_bio structure
        btrfs: scrub: remove scrub_block and scrub_sector structures
        btrfs: scrub: remove the old scrub recheck code
        btrfs: scrub: remove the old writeback infrastructure
        btrfs: scrub: remove scrub_parity structure
        btrfs: scrub: use scrub_stripe to implement RAID56 P/Q scrub
        btrfs: scrub: switch scrub_simple_mirror() to scrub_stripe infrastructure
        btrfs: scrub: introduce helper to queue a stripe for scrub
        btrfs: scrub: introduce error reporting functionality for scrub_stripe
        btrfs: scrub: introduce a writeback helper for scrub_stripe
        ...
      85d7ab24
    • Linus Torvalds's avatar
      Merge tag 'fs_for_v6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 94fc0792
      Linus Torvalds authored
      Pull ext2, reiserfs, udf, and quota updates from Jan Kara:
       "A couple of small fixes and cleanups for ext2, udf, reiserfs, and
        quota.
      
        The biggest change is making CONFIG_PRINT_QUOTA_WARNING depend on
        BROKEN with an outlook for removing it completely in an year or so"
      
      * tag 'fs_for_v6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        quota: mark PRINT_QUOTA_WARNING as BROKEN
        quota: update Kconfig comment
        reiserfs: remove unused iter variable
        quota: Use register_sysctl_init() for registering fs_dqstats_table
        reiserfs: remove unused sched_count variable
        ext2: remove redundant assignment to pointer end
        quota: make dquot_set_dqinfo return errors from ->write_info
        quota: fixup *_write_file_info() to return proper error code
        quota: simplify two-level sysctl registration for fs_dqstats_table
        udf: use wrapper i_blocksize() in udf_discard_prealloc()
        udf: Use folios in udf_adinicb_writepage()
        ext2: Check block size validity during mount
        ext2: Correct maximum ext2 filesystem block size
      94fc0792
  3. Apr 26, 2023
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 0cfcde1f
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "There are a number of major cleanups in ext4 this cycle:
      
         - The data=journal writepath has been significantly cleaned up and
           simplified, and reduces a large number of data=journal special
           cases by Jan Kara.
      
         - Ojaswin Muhoo has replaced linked list used to track extents that
           have been used for inode preallocation with a red-black tree in the
           multi-block allocator. This improves performance for workloads
           which do a large number of random allocating writes.
      
         - Thanks to Kemeng Shi for a lot of cleanup and bug fixes in the
           multi-block allocator.
      
         - Matthew wilcox has converted the code paths for reading and writing
           ext4 pages to use folios.
      
         - Jason Yan has continued to factor out ext4_fill_super() into
           smaller functions for improve ease of maintenance and
           comprehension.
      
         - Josh Triplett has created an uapi header for ext4 userspace API's"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (105 commits)
        ext4: Add a uapi header for ext4 userspace APIs
        ext4: remove useless conditional branch code
        ext4: remove unneeded check of nr_to_submit
        ext4: move dax and encrypt checking into ext4_check_feature_compatibility()
        ext4: factor out ext4_block_group_meta_init()
        ext4: move s_reserved_gdt_blocks and addressable checking into ext4_check_geometry()
        ext4: rename two functions with 'check'
        ext4: factor out ext4_flex_groups_free()
        ext4: use ext4_group_desc_free() in ext4_put_super() to save some duplicated code
        ext4: factor out ext4_percpu_param_init() and ext4_percpu_param_destroy()
        ext4: factor out ext4_hash_info_init()
        Revert "ext4: Fix warnings when freezing filesystem with journaled data"
        ext4: Update comment in mpage_prepare_extent_to_map()
        ext4: Simplify handling of journalled data in ext4_bmap()
        ext4: Drop special handling of journalled data from ext4_quota_on()
        ext4: Drop special handling of journalled data from ext4_evict_inode()
        ext4: Fix special handling of journalled data from extent zeroing
        ext4: Drop special handling of journalled data from extent shifting operations
        ext4: Drop special handling of journalled data from ext4_sync_file()
        ext4: Commit transaction before writing back pages in data=journal mode
        ...
      0cfcde1f
    • Linus Torvalds's avatar
      Merge tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsverity/linux · c3558a6b
      Linus Torvalds authored
      Pull fsverity updates from Eric Biggers:
       "Several cleanups and fixes for fs/verity/, including a couple minor
        fixes to the changes in 6.3 that added support for Merkle tree block
        sizes less than the page size"
      
      * tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsverity/linux:
        fsverity: reject FS_IOC_ENABLE_VERITY on mode 3 fds
        fsverity: explicitly check for buffer overflow in build_merkle_tree()
        fsverity: use WARN_ON_ONCE instead of WARN_ON
        fs-verity: simplify sysctls with register_sysctl()
        fs/buffer.c: use b_folio for fsverity work
      c3558a6b