Skip to content
  1. Sep 09, 2023
  2. Sep 07, 2023
  3. Sep 06, 2023
  4. Aug 31, 2023
    • Linus Torvalds's avatar
      Merge tag 'pci-v6.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci · b6f6167e
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
       "Enumeration:
         - Add locking to read/modify/write PCIe Capability Register accessors
           for Link Control and Root Control
         - Use pci_dev_id() when possible instead of manually composing ID
           from dev->bus->number and dev->devfn
      
        Resource management:
         - Move prototypes for __weak sysfs resource files to linux/pci.h to
           fix 'no previous prototype' warnings
         - Make more I/O port accesses depend on HAS_IOPORT
         - Use devm_platform_get_and_ioremap_resource() instead of open-coding
           platform_get_resource() followed by devm_ioremap_resource()
      
        Power management:
         - Ensure devices are powered up while accessing VPD
         - If device is powered-up, keep it that way while polling for PME
         - Only read PCI_PM_CTRL register when available, to avoid reading the
           wrong register and corrupting dev->current_state
      
        Virtualization:
         - Avoid Secondary Bus Reset on NVIDIA T4 GPUs
      
        Error handling:
         - Remove unused pci_disable_pcie_error_reporting()
         - Unexport pci_enable_pcie_error_reporting(), used only by aer.c
         - Unexport pcie_port_bus_type, used only by PCI core
      
        VGA:
         - Simplify and clean up typos in VGA arbiter
      
        Apple PCIe controller driver:
         - Initialize pcie->nvecs (number of available MSIs) before use
      
        Broadcom iProc PCIe controller driver:
         - Use of_property_read_bool() instead of low-level accessors for
           boolean properties
      
        Broadcom STB PCIe controller driver:
         - Assert PERST# when probing BCM2711 because some bootloaders don't
           do it
      
        Freescale i.MX6 PCIe controller driver:
         - Add .host_deinit() callback so we can clean up things like
           regulators on probe failure or driver unload
      
        Freescale Layerscape PCIe controller driver:
         - Add support for link-down notification so the endpoint driver can
           process LINK_DOWN events
         - Add suspend/resume support, including manual
           PME_Turn_off/PME_TO_Ack handshake
         - Save Link Capabilities during probe so they can be restored when
           handling a link-up event, since the controller loses the Link Width
           and Link Speed values during reset
      
        Intel VMD host bridge driver:
         - Fix disable of bridge windows during domain reset; previously we
           cleared the base/limit registers, which actually left the windows
           enabled
      
        Marvell MVEBU PCIe controller driver:
         - Remove unused busn member
      
        Microchip PolarFlare PCIe controller driver:
         - Fix interrupt bit definitions so the SEC and DED interrupt handlers
           work correctly
         - Make driver buildable as a module
         - Read FPGA MSI configuration parameters from hardware instead of
           hard-coding them
      
        Microsoft Hyper-V host bridge driver:
         - To avoid a NULL pointer dereference, skip MSI restore after
           hibernate if MSI/MSI-X hasn't been enabled
      
        NVIDIA Tegra194 PCIe controller driver:
         - Revert 'PCI: tegra194: Enable support for 256 Byte payload' because
           Linux doesn't know how to reduce MPS from to 256 to 128 bytes for
           endpoints below a switch (because other devices below the switch
           might already be operating), which leads to 'Malformed TLP' errors
      
        Qualcomm PCIe controller driver:
         - Add DT and driver support for interconnect bandwidth voting for
           'pcie-mem' and 'cpu-pcie' interconnects
         - Fix broken SDX65 'compatible' DT property
         - Configure controller so MHI bus master clock will be switched off
           while in ASPM L1.x states
         - Use alignment restriction from EPF core in EPF MHI driver
         - Add Endpoint eDMA support
         - Add MHI eDMA support
         - Add Snapdragon SM8450 support to the EPF MHI driversupport
         - Add MHI eDMA support
         - Add Snapdragon SM8450 support to the EPF MHI driversupport
         - Add MHI eDMA support
         - Add Snapdragon SM8450 support to the EPF MHI driversupport
         - Add MHI eDMA support
         - Add Snapdragon SM8450 support to the EPF MHI driver
         - Use iATU for EPF MHI transfers smaller than 4K to avoid eDMA setup
           latency
         - Add sa8775p DT binding and driver support
      
        Rockchip PCIe controller driver:
         - Use 64-bit mask on MSI 64-bit PCI address to avoid zeroing out the
           upper 32 bits
      
        SiFive FU740 PCIe controller driver:
         - Set the supported number of MSI vectors so we can use all available
           MSI interrupts
      
        Synopsys DesignWare PCIe controller driver:
         - Add generic dwc suspend/resume APIs (dw_pcie_suspend_noirq() and
           dw_pcie_resume_noirq()) to be called by controller driver
           suspend/resume ops, and a controller callback to send PME_Turn_Off
      
        MicroSemi Switchtec management driver:
         - Add support for PCIe Gen5 devices
      
        Miscellaneous:
         - Reorder and compress to reduce size of struct pci_dev
         - Fix race in DOE destroy_work_on_stack()
         - Add stubs to avoid casts between incompatible function types
         - Explicitly include correct DT includes to untangle headers"
      
      * tag 'pci-v6.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: (96 commits)
        PCI: qcom-ep: Add ICC bandwidth voting support
        dt-bindings: PCI: qcom: ep: Add interconnects path
        PCI: qcom-ep: Treat unknown IRQ events as an error
        dt-bindings: PCI: qcom: Fix SDX65 compatible
        PCI: endpoint: Add kernel-doc for pci_epc_mem_init() API
        PCI: epf-mhi: Use iATU for small transfers
        PCI: epf-mhi: Add support for SM8450
        PCI: epf-mhi: Add eDMA support
        PCI: qcom-ep: Add eDMA support
        PCI: epf-mhi: Make use of the alignment restriction from EPF core
        PCI/PM: Only read PCI_PM_CTRL register when available
        PCI: qcom: Add support for sa8775p SoC
        dt-bindings: PCI: qcom: Add sa8775p compatible
        PCI: qcom-ep: Pass alignment restriction to the EPF core
        PCI: Simplify pcie_capability_clear_and_set_word() control flow
        PCI: Tidy config space save/restore messages
        PCI: Fix code formatting inconsistencies
        PCI: Fix typos in docs and comments
        PCI: Fix pci_bus_resetable(), pci_slot_resetable() name typos
        PCI: Simplify pci_dev_driver()
        ...
      b6f6167e
    • Linus Torvalds's avatar
      Merge tag 'docs-6.6' of git://git.lwn.net/linux · cd99b9eb
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "Documentation work keeps chugging along; this includes:
      
         - Work from Carlos Bilbao to integrate rustdoc output into the
           generated HTML documentation. This took some work to figure out how
           to do it without slowing the docs build and without creating people
           who don't have Rust installed, but Carlos got there
      
         - Move the loongarch and mips architecture documentation under
           Documentation/arch/
      
         - Some more maintainer documentation from Jakub
      
        ... plus the usual assortment of updates, translations, and fixes"
      
      * tag 'docs-6.6' of git://git.lwn.net/linux: (56 commits)
        Docu: genericirq.rst: fix irq-example
        input: docs: pxrc: remove reference to phoenix-sim
        Documentation: serial-console: Fix literal block marker
        docs/mm: remove references to hmm_mirror ops and clean typos
        docs/zh_CN: correct regi_chg(),regi_add() to region_chg(),region_add()
        Documentation: Fix typos
        Documentation/ABI: Fix typos
        scripts: kernel-doc: fix macro handling in enums
        scripts: kernel-doc: parse DEFINE_DMA_UNMAP_[ADDR|LEN]
        Documentation: riscv: Update boot image header since EFI stub is supported
        Documentation: riscv: Add early boot document
        Documentation: arm: Add bootargs to the table of added DT parameters
        docs: kernel-parameters: Refer to the correct bitmap function
        doc: update params of memhp_default_state=
        docs: Add book to process/kernel-docs.rst
        docs: sparse: fix invalid link addresses
        docs: vfs: clean up after the iterate() removal
        docs: Add a section on surveys to the researcher guidelines
        docs: move mips under arch
        docs: move loongarch under arch
        ...
      cd99b9eb
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · f8fd5c24
      Linus Torvalds authored
      Pull clk subsystem updates from Stephen Boyd:
       "This pull request is full of clk driver changes. In fact, there aren't
        any changes to the clk framework this time around. That's probably
        because everyone was on vacation (yours truly included). We did lose a
        couple clk drivers this time around because nobody was using those
        devices. That skews the diffstat a bit, but either way, nothing looks
        out of the ordinary here. The usual suspects are chugging along adding
        support for more SoCs and fixing bugs.
      
        If I had to choose, I'd say the theme for the past few months has been
        "polish". There's quite a few patches that migrate to
        devm_platform_ioremap_resource() in here. And there's more than a
        handful of patches that move the NR_CLKS define from the DT binding
        header to the driver. There's even patches that migrate drivers to use
        clk_parent_data and clk_hw to describe clk tree topology. It seems
        that the spring (summer?) cleaning bug got some folks, or the
        semiconductor shortage finally hit the software side.
      
        New Drivers:
         - StarFive JH7110 SoC clock drivers
         - Qualcomm IPQ5018 Global Clock Controller driver
         - Versa3 clk generator to support 48KHz playback/record with audio
           codec on RZ/G2L SMARC EVK
      
        Removed Drivers:
         - Remove non-OF mmp clk drivers
         - Remove OXNAS clk driver
      
        Updates:
         - Add __counted_by to struct clk_hw_onecell_data and struct
           spmi_pmic_div_clk_cc
         - Move defines for numbers of clks (NR_CLKS) from DT headers to
           drivers
         - Introduce kstrdup_and_replace() and use it
         - Add PLL rates for Rockchip rk3568
         - Add the display clock tree for Rockchip rv1126
         - Add Audio Clock Generator (ADG) clocks on Renesas R-Car Gen3 and
           RZ/G2 SoCs
         - Convert sun9i-mmc clock to use
           devm_platform_get_and_ioremap_resource()
         - Fix function name in a comment in ccu_mmc_timing.c
         - Parameter name correction for ccu_nkm_round_rate()
         - Implement CLK_SET_RATE_PARENT for Allwinner NKM clocks, i.e.
           consider alternative parent rates when determining clock rates
         - Set CLK_SET_RATE_PARENT for Allwinner A64 pll-mipi
         - Support finding closest (as opposed to closest but not higher)
           clock rate for NM, NKM, mux and div type clocks, as use it for
           Allwinner A64 pll-video0
         - Prefer current parent rate if able to generate ideal clock rate for
           Allwinner NKM clocks
         - Clean up Qualcomm SMD RPM driver, with interconnect bus clocks
           moved out to the interconnect drivers
         - Fix various PM runtime bugs across many Qualcomm clk drivers
         - Migrate Qualcomm MDM9615 is to parent_hw and parent_data
         - Add network related resets on Qualcomm IPQ4019
         - Add a couple missing USB related clocks to Qualcomm IPQ9574
         - Add missing gpll0_sleep_clk_src to Qualcomm MSM8917 global clock
           controller
         - In the Qualcomm QDU1000 global clock controller, GDSCs, clkrefs,
           and GPLL1 are added, while PCIe pipe clock, SDCC rcg ops are
           corrected
         - Add missing GDSCs to and correct GDSCs for the SC8280XP global
           clock controller driver
         - Support retention for the Qualcomm SC8280XP display clock
           controller GDSCs.
         - Qualcommm's SDCC apps_clk_src is marked with CLK_OPS_PARENT_ENABLE
           to fix issues with missing parent clocks across sc7180, sm7150,
           sm6350 and sm8250, while sm8450 is corrected to use floor ops
         - Correct Qualcomm SM6350 GPU clock controller's clock supplies
         - Drop unwanted clocks from the Qualcomm IPQ5332 GCC driver
         - Add missing OXILICX GDSC to Qualcomm MSM8226 GCC
         - Change the delay in the Qualcomm reset controller to fsleep() for
           correctness
         - Extend the Qualcomm SM83550 Video clock controller to support
           SC8280XP
         - Add graphics clock support on Renesas RZ/G2M, RZ/G2N, RZ/G2E, and
           R-Car H3, M3-W, and M3-N SoCs
         - Add Clocked Serial Interface (CSI) clocks on Renesas RZ/V2M
         - Add PWM (MTU3) clock and reset on Renesas RZ/G2UL and RZ/Five
         - Add the PDM IPC clock for i.MX93
         - Add 519.75MHz frequency support for i.MX9 PLL
         - Simplify the .determine_rate() implementation for i.MX GPR mux
         - Make the i.MX8QXP LPCG clock use devm_platform_ioremap_resource()
         - Add the audio mux clock to i.MX8
         - Fix the SPLL2 MULT range for PLLv4
         - Update the SPLL2 type in i.MX8ULP
         - Fix the SAI4 clock on i.MX8MP
         - Add silicon revision print for i.MX25 on clocks init
         - Drop the return value from __mx25_clocks_init()
         - Fix the clock pauses on no-op set_rate for i.MX8M composite clock
         - Drop restrictions for i.MX PLL14xx and fix its max prediv value
         - Drop the 393216000 and 361267200 from i.MX PLL14xx rate table to
           allow glitch free switching"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (207 commits)
        clk: qcom: Fix SM_GPUCC_8450 dependencies
        clk: lmk04832: Support using PLL1_LD as SPI readback pin
        clk: lmk04832: Don't disable vco clock on probe fail
        clk: lmk04832: Set missing parent_names for output clocks
        clk: mvebu: Convert to devm_platform_ioremap_resource()
        clk: nuvoton: Convert to devm_platform_ioremap_resource()
        clk: socfpga: agilex: Convert to devm_platform_ioremap_resource()
        clk: ti: Use devm_platform_get_and_ioremap_resource()
        clk: mediatek: Convert to devm_platform_ioremap_resource()
        clk: hsdk-pll: Convert to devm_platform_ioremap_resource()
        clk: gemini: Convert to devm_platform_ioremap_resource()
        clk: fsl-sai: Convert to devm_platform_ioremap_resource()
        clk: bm1880: Convert to devm_platform_ioremap_resource()
        clk: axm5516: Convert to devm_platform_ioremap_resource()
        clk: actions: Convert to devm_platform_ioremap_resource()
        clk: cdce925: Remove redundant of_match_ptr()
        clk: pxa910: Move number of clocks to driver source
        clk: pxa1928: Move number of clocks to driver source
        clk: pxa168: Move number of clocks to driver source
        clk: mmp2: Move number of clocks to driver source
        ...
      f8fd5c24
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 4a3b1007
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "We have some patches to DTS[I] files in arm and arm64 as well, that
        were merged here as DT headers were being changed.
      
        The most interesting stuff is the Intel Tangier chip support and
        AMLogic C3 in my opinion.
      
        No core changes this time.
      
        Drivers:
      
         - Intel Tangier SoC pin control support
      
         - AMLogic C3 SoC pin control support
      
         - Texas Instruments AM654 SoC pin control support
      
         - Qualcomm SM8350 and SM6115 LPASS (Low Power Audio Sub-System) pin
           control support
      
         - Qualcomm PMX75 and PM7550BA (Power Management) pin control support
      
         - Qualcomm PMC8180 and PMC8180C (Power Management) pin control
           support
      
         - DROP the Oxnas driver as there is not enough of community interest
           to keep carrying this ARM(11) port
      
        Enhancements:
      
         - Bias control in the MT7986 pin control driver
      
         - Misc device tree binding enhancements such as the Broadcom 11351
           being converted to YAML
      
         - New macro: DEFINE_NOIRQ_DEV_PM_OPS() put to use
      
         - Clean up some SPDX headers
      
         - Handle non-unique devicetree subnode names in two Renesas drivers"
      
      * tag 'pinctrl-v6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (80 commits)
        pinctrl: mlxbf3: Remove gpio_disable_free()
        pinctrl: use capital "OR" for multiple licenses in SPDX
        dt-bindings: pinctrl: renesas,rza2: Use 'additionalProperties' for child nodes
        pinctrl: cherryview: fix address_space_handler() argument
        pinctrl: intel: consolidate ACPI dependency
        pinctrl: tegra: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper
        pinctrl: renesas: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper
        pinctrl: mvebu: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper
        pinctrl: at91: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper
        pinctrl: cherryview: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper
        pm: Introduce DEFINE_NOIRQ_DEV_PM_OPS() helper
        pinctrl: mediatek: assign functions to configure pin bias on MT7986
        pinctrl: mediatek: fix pull_type data for MT7981
        dt-bindings: pinctrl: aspeed: Allow only defined pin mux node properties
        dt-bindings: pinctrl: Drop 'phandle' properties
        pinctrl: lynxpoint: Make use of pm_ptr()
        pinctrl: baytrail: Make use of pm_ptr()
        pinctrl: intel: Switch to use exported namespace
        pinctrl: lynxpoint: reuse common functions from pinctrl-intel
        pinctrl: cherryview: reuse common functions from pinctrl-intel
        ...
      4a3b1007
    • Linus Torvalds's avatar
      Merge tag 'edac_updates_for_v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras · bb511d4b
      Linus Torvalds authored
      Pull intel EDAC fixes from Tony Luck:
      
       - Old igen6 driver could lose pending events during initialization
      
       - Sapphire Rapids workstations have fewer memory controllers than their
         bigger siblings. This confused the driver.
      
      * tag 'edac_updates_for_v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
        EDAC/igen6: Fix the issue of no error events
        EDAC/i10nm: Skip the absent memory controllers
      bb511d4b
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.6-1' of https://github.com/cminyard/linux-ipmi · a55b0a02
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
       "Minor fixes for IPMI
      
        Lots of small unconnected things, memory leaks on error, a possible
        (though unlikely) deadlock, changes for updates to other things that
        have changed. Nothing earth-shattering, but things that need update"
      
      * tag 'for-linus-6.6-1' of https://github.com/cminyard/linux-ipmi:
        ipmi_si: fix -Wvoid-pointer-to-enum-cast warning
        ipmi: fix potential deadlock on &kcs_bmc->lock
        ipmi_si: fix a memleak in try_smi_init()
        ipmi: Change request_module to request_module_nowait
        ipmi: make ipmi_class a static const structure
        ipmi:ssif: Fix a memory leak when scanning for an adapter
        ipmi:ssif: Add check for kstrdup
        dt-bindings: ipmi: aspeed,ast2400-kcs-bmc: drop unneeded quotes
        ipmi: Switch i2c drivers back to use .probe()
        ipmi_watchdog: Fix read syscall not responding to signals during sleep
      a55b0a02
    • Linus Torvalds's avatar
      Merge tag 'devicetree-header-cleanups-for-6.6' of... · ef2a0b7c
      Linus Torvalds authored
      Merge tag 'devicetree-header-cleanups-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
      
      Pull devicetree include cleanups from Rob Herring:
       "These are the remaining few clean-ups of DT related includes which
        didn't get applied to subsystem trees"
      
      * tag 'devicetree-header-cleanups-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        ipmi: Explicitly include correct DT includes
        tpm: Explicitly include correct DT includes
        lib/genalloc: Explicitly include correct DT includes
        parport: Explicitly include correct DT includes
        sbus: Explicitly include correct DT includes
        mux: Explicitly include correct DT includes
        macintosh: Explicitly include correct DT includes
        hte: Explicitly include correct DT includes
        EDAC: Explicitly include correct DT includes
        clocksource: Explicitly include correct DT includes
        sparc: Explicitly include correct DT includes
        riscv: Explicitly include correct DT includes
      ef2a0b7c
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 8f447694
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
       "DT core:
      
         - Add support for generating DT nodes for PCI devices. This is the
           groundwork for applying overlays to PCI devices containing
           non-discoverable downstream devices.
      
         - DT unittest additions to check reverted changesets, to test for
           refcount issues, and to test unresolved symbols. Also, various
           clean-ups of the unittest along the way.
      
         - Refactor node and property manipulation functions to better share
           code with old API and changeset API
      
         - Refactor changeset print functions to a common implementation
      
         - Move some platform_device specific functions into of_platform.c
      
        Bindings:
      
         - Treewide fixing of typos
      
         - Treewide clean-up of SPDX tags to use 'OR' consistently
      
         - Last chunk of dropping unnecessary quotes. With that, the check for
           unnecessary quotes is enabled in yamllint.
      
         - Convert ftgmac100, zynqmp-genpd, pps-gpio, syna,rmi4, and qcom,ssbi
           bindings to DT schema format
      
         - Add Allwinner V3s xHCI USB, Saef SF-TC154B display, QCom SM8450
           Inline Crypto Engine, QCom SM6115 UFS, QCom SDM670 PDC interrupt
           controller, Arm 2022 Cortex cores, and QCom IPQ9574 Crypto bindings
      
         - Fixes for Rockchip DWC PCI binding
      
         - Ensure all properties are evaluated on USB connector schema
      
         - Fix dt-check-compatible script to find of_device_id instances with
           compiler annotations"
      
      * tag 'devicetree-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (64 commits)
        dt-bindings: usb: Add V3s compatible string for OHCI
        dt-bindings: usb: Add V3s compatible string for EHCI
        dt-bindings: display: panel: mipi-dbi-spi: add Saef SF-TC154B
        dt-bindings: vendor-prefixes: document Saef Technology
        dt-bindings: thermal: lmh: update maintainer address
        of: unittest: Fix of_unittest_pci_node() kconfig dependencies
        dt-bindings: crypto: ice: Document sm8450 inline crypto engine
        dt-bindings: ufs: qcom: Add ICE to sm8450 example
        dt-bindings: ufs: qcom: Add sm6115 binding
        dt-bindings: ufs: qcom: Add reg-names property for ICE
        dt-bindings: yamllint: Enable quoted string check
        dt-bindings: Drop remaining unneeded quotes
        of: unittest-data: Fix whitespace - angular brackets
        of: unittest-data: Fix whitespace - indentation
        of: unittest-data: Fix whitespace - blank lines
        of: unittest-data: Convert remaining overlay DTS files to sugar syntax
        of: overlay: unittest: Add test for unresolved symbol
        of: unittest: Add separators to of_unittest_overlay_high_level()
        of: unittest: Cleanup partially-applied overlays
        of: unittest: Merge of_unittest_apply{,_revert}_overlay_check()
        ...
      8f447694
    • Linus Torvalds's avatar
      Merge tag 'soc-dt-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 0e72db77
      Linus Torvalds authored
      Pull ARM devicetree updates from Arnd Bergmann:
       "These are the devicetree updates for Arm and RISC-V based SoCs, mainly
        from Qualcomm, NXP/Freescale, Aspeed, TI, Rockchips, Samsung, ST and
        Starfive.
      
        Only a few new SoC got added:
      
         - TI AM62P5, a variant of the existing Sitara AM62x family
      
         - Intel Agilex5, an FPGFA platform that includes an Cortex-A76/A55
           SoC.
      
         - Qualcomm ipq5018 is used in wireless access points
      
         - Qualcomm SM4450 (Snapdragon 4 Gen 2) is a new low-end mobile phone
           platform.
      
        In total, 29 machines get added, which is low because of the summer
        break. These cover SoCs from Aspeed, Broadcom, NXP, Samsung, ST,
        Allwinner, Amlogic, Intel, Qualcomm, Rockchip, TI and T-Head. Most of
        these are development and reference boards.
      
        Despite not adding a lot of new machines, there are over 700 patches
        in total, most of which are cleanups and minor fixes"
      
      * tag 'soc-dt-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (735 commits)
        arm64: dts: use capital "OR" for multiple licenses in SPDX
        ARM: dts: use capital "OR" for multiple licenses in SPDX
        arm64: dts: qcom: sdm845-db845c: Mark cont splash memory region as reserved
        ARM: dts: qcom: apq8064: add support to gsbi4 uart
        riscv: dts: change TH1520 files to dual license
        riscv: dts: thead: add BeagleV Ahead board device tree
        dt-bindings: riscv: Add BeagleV Ahead board compatibles
        ARM: dts: stm32: add SCMI PMIC regulators on stm32mp135f-dk board
        ARM: dts: stm32: STM32MP13x SoC exposes SCMI regulators
        dt-bindings: rcc: stm32: add STM32MP13 SCMI regulators IDs
        ARM: dts: stm32: support display on stm32f746-disco board
        ARM: dts: stm32: rename mmc_vcard to vcc-3v3 on stm32f746-disco
        ARM: dts: stm32: add pin map for LTDC on stm32f7
        ARM: dts: stm32: add ltdc support on stm32f746 MCU
        arm64: dts: qcom: sm6350: Hook up PDC as wakeup-parent of TLMM
        arm64: dts: qcom: sdm670: Hook up PDC as wakeup-parent of TLMM
        arm64: dts: qcom: sa8775p: Hook up PDC as wakeup-parent of TLMM
        arm64: dts: qcom: sc8280xp: Hook up PDC as wakeup-parent of TLMM
        arm64: dts: qcom: sdm670: Add PDC
        riscv: dts: starfive: fix jh7110 qspi sort order
        ...
      0e72db77
    • Linus Torvalds's avatar
      Merge tag 'soc-arm-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · a1c19328
      Linus Torvalds authored
      Pull ARM SoC cleanups from Arnd Bergmann:
       "These are all minor cleanups for platform specific code in arch/arm/
        and some of the associated drivers. The majority of these are work
        done by Rob Herring to improve the way devicetreee header files are
        handled"
      
      * tag 'soc-arm-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (49 commits)
        ARM: davinci: Drop unused includes
        ARM: s5pv210: Explicitly include correct DT includes
        ARM: dove: Drop unused includes
        ARM: mvebu: Explicitly include correct DT includes
        Documentation/process: maintainer-soc: document dtbs_check requirement for Samsung
        MAINTAINER: samsung: document dtbs_check requirement for Samsung
        Documentation/process: maintainer-soc: add clean platforms profile
        MAINTAINERS: soc: reference maintainer profile
        ARM: nspire: Remove unused header file mmio.h
        ARM: nspire: Use syscon-reboot to handle restart
        soc: fsl: Explicitly include correct DT includes
        soc: xilinx: Explicitly include correct DT includes
        soc: sunxi: Explicitly include correct DT includes
        soc: rockchip: Explicitly include correct DT includes
        soc: mediatek: Explicitly include correct DT includes
        soc: aspeed: Explicitly include correct DT includes
        firmware: Explicitly include correct DT includes
        bus: Explicitly include correct DT includes
        ARM: spear: Explicitly include correct DT includes
        ARM: mvebu: Explicitly include correct DT includes
        ...
      a1c19328
    • Linus Torvalds's avatar
      Merge tag 'soc-defconfig-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 47ca5060
      Linus Torvalds authored
      Pull ARM defconfig updates from Arnd Bergmann:
       "Various additions to the defconfig files to enable more drivers for
        already supported platforms, usually as loadable modules"
      
      * tag 'soc-defconfig-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits)
        ARM: multi_v7_defconfig: Add SCMI regulator support
        ARM: multi_v7_defconfig: Enable OMAP audio/display support
        ARM: multi_v7_defconfig: Enable TI Remoteproc and related configs
        ARM: multi_v7_defconfig: Enable TLV320AIC3x
        arm64: defconfig: Enable Redpine 91X wlan driver
        arm64: defconfig: Enable ITE_IT66121 HDMI transmitter
        arm64: defconfig: Enable IPQ5018 SoC base configs
        arm64: defconfig: Enable CONFIG_DRM_IMX_LCDIF
        arm64: defconfig: Enable TI PRUSS
        arm64: defconfig: Enable various configs for TI K3 platforms
        arm64: defconfig: enable driver for bluetooth nxp uart
        arm64: defconfig: Enable i.MX93 devices
        arm64: defconfig: Enable drivers for the Odroid-M1 board
        arm64: defconfig: Enable GPIO_SYSCON
        arm64: defconfig: select IMX_REMOTEPROC and RPMSG_VIRTIO
        arm64: defconfig: enable SL28VPD NVMEM layout
        arm64: defconfig: enable the SerDes PHY for Qualcomm DWMAC
        arm64: defconfig: Enable Rockchip OTP memory driver
        arm64: defconfig: Enable PHY_ROCKCHIP_NANENG_COMBO_PHY
        arm64: defconfig: Enable PMIC RAA215300 and RTC ISL 1208 configs
        ...
      47ca5060
    • Linus Torvalds's avatar
      Merge tag 'soc-drivers-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 1544df9a
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "The main change this time was the introduction of the drivers/genpd
        subsystem that gets split out from drivers/soc to keep common
        functionality together.
      
        The SCMI driver subsystem gets an update to version 3.2 of the
        specification. There are also updates to memory, reset and other
        firmware drivers.
      
        On the soc driver side, the updates are mostly cleanups across a
        number of Arm platforms. On driver for loongarch adds power management
        for DT based systems, another driver is for HiSilicon's Arm server
        chips with their HCCS system health interface.
      
        The remaining updates for the most part add support for additional
        hardware in existing drivers or contain minor cleanups. Most of these
        are for the Qualcomm Snapdragon platform"
      
      * tag 'soc-drivers-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (136 commits)
        bus: fsl-mc: Use common ranges functions
        soc: kunpeng_hccs: fix some sparse warnings about incorrect type
        soc: loongson2_pm: add power management support
        soc: dt-bindings: add loongson-2 pm
        soc: rockchip: grf: Fix SDMMC not working on RK3588 with bus-width > 1
        genpd: rockchip: Add PD_VO entry for rv1126
        bus: ti-sysc: Fix cast to enum warning
        soc: kunpeng_hccs: add MAILBOX dependency
        MAINTAINERS: remove OXNAS entry
        dt-bindings: interrupt-controller: arm,versatile-fpga-irq: mark oxnas compatible as deprecated
        irqchip: irq-versatile-fpga: remove obsolete oxnas compatible
        soc: qcom: aoss: Tidy up qmp_send() callers
        soc: qcom: aoss: Format string in qmp_send()
        soc: qcom: aoss: Move length requirements from caller
        soc: kunpeng_hccs: fix size_t format string
        soc: ti: k3-socinfo.c: Add JTAG ID for AM62PX
        dt-bindings: firmware: qcom: scm: Updating VMID list
        firmware: imx: scu-irq: support identifying SCU wakeup source from sysfs
        firmware: imx: scu-irq: enlarge the IMX_SC_IRQ_NUM_GROUP
        firmware: imx: scu-irq: add imx_scu_irq_get_status
        ...
      1544df9a
    • Linus Torvalds's avatar
      Merge tag 'genpd-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm · c66403f6
      Linus Torvalds authored
      Pull ARM SoC generic power domain driver updates from Ulf Hansson:
       "This adds a new subsystem for generic power domain providers in
        drivers/genpd and starts moving some of the corresponding code in
        there.
      
        We have currently ~60 users of the genpd provider interface, which are
        sprinkled across various subsystems. To release some burden from the
        soc maintainers (Arnd Bergmann, etc) in particular, but also to gain a
        better overall view of what goes on in the area, I will help out with
        maintenance"
      
      [ I find the "genpd" name singularly uninformative, so we'll probably
        end up moving this driver subsystem somewhere else, but that's still
        being discussed  - Linus ]
      
      * tag 'genpd-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm: (30 commits)
        genpd: ti: Use for_each_node_with_property() simplify code logic
        genpd: Explicitly include correct DT includes
        genpd: imx: scu-pd: initialize is_off according to HW state
        genpd: imx: scu-pd: Suppress bind attrs
        genpd: imx: scu-pd: do not power off console if no_console_suspend
        genpd: imx: scu-pd: add more PDs
        genpd: imx: scu-pd: enlarge PD range
        genpd: imx: relocate scu-pd under genpd
        MAINTAINERS: adjust file entry in STARFIVE JH71XX PMU CONTROLLER DRIVER
        genpd: Makefile: build imx
        genpd: move owl-sps-helper.c from drivers/soc
        soc: starfive: remove stale Makefile entry
        ARM: ux500: Move power-domain driver to the genpd dir
        ARM: ux500: Convert power-domain code into a regular platform driver
        soc: xilinx: Move power-domain driver to the genpd dir
        soc: ti: Mover power-domain drivers to the genpd dir
        soc: tegra: Move powergate-bpmp driver to the genpd dir
        soc: sunxi: Move power-domain driver to the genpd dir
        soc: starfive: Move the power-domain driver to the genpd dir
        soc: samsung: Move power-domain driver to the genpd dir
        ...
      c66403f6
    • Stephen Boyd's avatar
      Merge branch 'clk-qcom' into clk-next · 41680df0
      Stephen Boyd authored
      * clk-qcom: (87 commits)
        clk: qcom: Fix SM_GPUCC_8450 dependencies
        clk: qcom: smd-rpm: Set XO rate and CLK_IS_CRITICAL on PCNoC
        clk: qcom: smd-rpm: Add a way to define bus clocks with rate and flags
        clk: qcom: gcc-ipq5018: change some variable static
        clk: qcom: gcc-ipq4019: add missing networking resets
        dt-bindings: clock: qcom: ipq4019: add missing networking resets
        clk: qcom: gcc-msm8917: Enable GPLL0_SLEEP_CLK_SRC
        dt-bindings: clock: gcc-msm8917: Add definition for GPLL0_SLEEP_CLK_SRC
        clk: qcom: gcc-qdu1000: Update the RCGs ops
        clk: qcom: gcc-qdu1000: Update the SDCC clock RCG ops
        clk: qcom: gcc-qdu1000: Add support for GDSCs
        clk: qcom: gcc-qdu1000: Add gcc_ddrss_ecpri_gsi_clk support
        clk: qcom: gcc-qdu1000: Register gcc_gpll1_out_even clock
        clk: qcom: gcc-qdu1000: Fix clkref clocks handling
        clk: qcom: gcc-qdu1000: Fix gcc_pcie_0_pipe_clk_src clock handling
        dt-bindings: clock: Update GCC clocks for QDU1000 and QRU1000 SoCs
        clk: qcom: gcc-sm8450: Use floor ops for SDCC RCGs
        clk: qcom: ipq5332: drop the gcc_apss_axi_clk_src clock
        clk: qcom: ipq5332: drop the mem noc clocks
        clk: qcom: gcc-msm8998: Don't check halt bit on some branch clks
        ...
      41680df0
    • Stephen Boyd's avatar
      Merge branches 'clk-imx', 'clk-samsung', 'clk-annotate', 'clk-marvell' and 'clk-lmk' into clk-next · 3462100c
      Stephen Boyd authored
       - Add __counted_by to struct clk_hw_onecell_data and struct spmi_pmic_div_clk_cc
       - Remove non-OF mmp clk drivers
       - Move number of clks from DT headers to drivers
      
      * clk-imx:
        clk: imx: pll14xx: dynamically configure PLL for 393216000/361267200Hz
        clk: imx: pll14xx: align pdiv with reference manual
        clk: imx: composite-8m: fix clock pauses when set_rate would be a no-op
        clk: imx25: make __mx25_clocks_init return void
        clk: imx25: print silicon revision during init
        dt-bindings: clocks: imx8mp: make sai4 a dummy clock
        clk: imx8mp: fix sai4 clock
        clk: imx: imx8ulp: update SPLL2 type
        clk: imx: pllv4: Fix SPLL2 MULT range
        clk: imx: imx8: add audio clock mux driver
        dt-bindings: clock: fsl,imx8-acm: Add audio clock mux support
        clk: imx: clk-imx8qxp-lpcg: Convert to devm_platform_ioremap_resource()
        clk: imx: clk-gpr-mux: Simplify .determine_rate()
        clk: imx: Add 519.75MHz frequency support for imx9 pll
        clk: imx93: Add PDM IPG clk
        dt-bindings: clock: imx93: Add PDM IPG clk
      
      * clk-samsung:
        dt-bindings: clock: samsung: remove define with number of clocks
        clk: samsung: exynoautov9: do not define number of clocks in bindings
        clk: samsung: exynos850: do not define number of clocks in bindings
        clk: samsung: exynos7885: do not define number of clocks in bindings
        clk: samsung: exynos5433: do not define number of clocks in bindings
        clk: samsung: exynos5420: do not define number of clocks in bindings
        clk: samsung: exynos5410: do not define number of clocks in bindings
        clk: samsung: exynos5260: do not define number of clocks in bindings
        clk: samsung: exynos5250: do not define number of clocks in bindings
        clk: samsung: exynos4: do not define number of clocks in bindings
        clk: samsung: exynos3250: do not define number of clocks in bindings
      
      * clk-annotate:
        clk: qcom: clk-spmi-pmic-div: Annotate struct spmi_pmic_div_clk_cc with __counted_by
        clk: Annotate struct clk_hw_onecell_data with __counted_by
      
      * clk-marvell:
        clk: pxa910: Move number of clocks to driver source
        clk: pxa1928: Move number of clocks to driver source
        clk: pxa168: Move number of clocks to driver source
        clk: mmp2: Move number of clocks to driver source
        clk: mmp: Remove old non-OF clock drivers
      
      * clk-lmk:
        clk: lmk04832: Support using PLL1_LD as SPI readback pin
        clk: lmk04832: Don't disable vco clock on probe fail
        clk: lmk04832: Set missing parent_names for output clocks
      3462100c
    • Stephen Boyd's avatar
      Merge branches 'clk-versa', 'clk-strdup', 'clk-amlogic', 'clk-allwinner' and... · 032bcf78
      Stephen Boyd authored
      Merge branches 'clk-versa', 'clk-strdup', 'clk-amlogic', 'clk-allwinner' and 'clk-rockchip' into clk-next
      
       - Add Versa3 clk generator to support 48KHz playback/record with audio
         codec on RZ/G2L SMARC EVK
       - Introduce kstrdup_and_replace() and use it
      
      * clk-versa:
        clk: vc7: Use i2c_get_match_data() instead of device_get_match_data()
        clk: vc5: Use i2c_get_match_data() instead of device_get_match_data()
        clk: versaclock3: Switch to use i2c_driver's probe callback
        clk: Add support for versa3 clock driver
        dt-bindings: clock: Add Renesas versa3 clock generator bindings
      
      * clk-strdup:
        clk: ti: Replace kstrdup() + strreplace() with kstrdup_and_replace()
        clk: tegra: Replace kstrdup() + strreplace() with kstrdup_and_replace()
        driver core: Replace kstrdup() + strreplace() with kstrdup_and_replace()
        lib/string_helpers: Add kstrdup_and_replace() helper
      
      * clk-amlogic: (22 commits)
        dt-bindings: soc: amlogic: document System Control registers
        dt-bindings: clock: amlogic: convert amlogic,gxbb-aoclkc.txt to dt-schema
        dt-bindings: clock: amlogic: convert amlogic,gxbb-clkc.txt to dt-schema
        clk: meson: axg-audio: move bindings include to main driver
        clk: meson: meson8b: move bindings include to main driver
        clk: meson: a1: move bindings include to main driver
        clk: meson: eeclk: move bindings include to main driver
        clk: meson: aoclk: move bindings include to main driver
        dt-bindings: clk: axg-audio-clkc: expose all clock ids
        dt-bindings: clk: amlogic,a1-pll-clkc: expose all clock ids
        dt-bindings: clk: amlogic,a1-peripherals-clkc: expose all clock ids
        dt-bindings: clk: meson8b-clkc: expose all clock ids
        dt-bindings: clk: g12a-aoclkc: expose all clock ids
        dt-bindings: clk: g12a-clks: expose all clock ids
        dt-bindings: clk: axg-clkc: expose all clock ids
        dt-bindings: clk: gxbb-clkc: expose all clock ids
        clk: meson: migrate axg-audio out of hw_onecell_data to drop NR_CLKS
        clk: meson: migrate meson8b out of hw_onecell_data to drop NR_CLKS
        clk: meson: migrate a1 clock drivers out of hw_onecell_data to drop NR_CLKS
        clk: meson: migrate meson-aoclk out of hw_onecell_data to drop NR_CLKS
        ...
      
      * clk-allwinner:
        clk: sunxi-ng: nkm: Prefer current parent rate
        clk: sunxi-ng: a64: select closest rate for pll-video0
        clk: sunxi-ng: div: Support finding closest rate
        clk: sunxi-ng: mux: Support finding closest rate
        clk: sunxi-ng: nkm: Support finding closest rate
        clk: sunxi-ng: nm: Support finding closest rate
        clk: sunxi-ng: Add helper function to find closest rate
        clk: sunxi-ng: Add feature to find closest rate
        clk: sunxi-ng: a64: allow pll-mipi to set parent's rate
        clk: sunxi-ng: nkm: consider alternative parent rates when determining rate
        clk: sunxi-ng: nkm: Use correct parameter name for parent HW
        clk: sunxi-ng: Modify mismatched function name
        clk: sunxi: sun9i-mmc: Use devm_platform_get_and_ioremap_resource()
      
      * clk-rockchip:
        clk: rockchip: rv1126: Add PD_VO clock tree
        clk: rockchip: rk3568: Fix PLL rate setting for 78.75MHz
        clk: rockchip: rk3568: Add PLL rate for 101MHz
      032bcf78
    • Stephen Boyd's avatar
      Merge branches 'clk-bindings', 'clk-starfive', 'clk-rm', 'clk-renesas' and... · d10ebc7c
      Stephen Boyd authored
      Merge branches 'clk-bindings', 'clk-starfive', 'clk-rm', 'clk-renesas' and 'clk-cleanup' into clk-next
      
       - Remove OXNAS clk driver
      
      * clk-bindings:
        dt-bindings: clock: versal: Convert the xlnx,zynqmp-clk.txt to yaml
        dt-bindings: clock: xlnx,versal-clk: drop select:false
        dt-bindings: clock: versal: Add versal-net compatible string
        dt-bindings: clock: ast2600: Add I3C and MAC reset definitions
        dt-bindings: arm: hisilicon,cpuctrl: Merge "hisilicon,hix5hd2-clock" into parent binding
      
      * clk-starfive:
        reset: starfive: jh7110: Add StarFive STG/ISP/VOUT resets support
        clk: starfive: Simplify .determine_rate()
        clk: starfive: Add StarFive JH7110 Video-Output clock driver
        clk: starfive: Add StarFive JH7110 Image-Signal-Process clock driver
        clk: starfive: Add StarFive JH7110 System-Top-Group clock driver
        clk: starfive: jh7110-sys: Add PLL clocks source from DTS
        clk: starfive: Add StarFive JH7110 PLL clock driver
        dt-bindings: clock: Add StarFive JH7110 Video-Output clock and reset generator
        dt-bindings: clock: Add StarFive JH7110 Image-Signal-Process clock and reset generator
        dt-bindings: clock: Add StarFive JH7110 System-Top-Group clock and reset generator
        dt-bindings: clock: jh7110-syscrg: Add PLL clock inputs
        dt-bindings: soc: starfive: Add StarFive syscon module
        dt-bindings: clock: Add StarFive JH7110 PLL clock generator
      
      * clk-rm:
        dt-bindings: clk: oxnas: remove obsolete bindings
        clk: oxnas: remove obsolete clock driver
      
      * clk-renesas:
        clk: renesas: rcar-gen3: Add ADG clocks
        clk: renesas: r8a77965: Add 3DGE and ZG support
        clk: renesas: r8a7796: Add 3DGE and ZG support
        clk: renesas: r8a7795: Add 3DGE and ZG support
        clk: renesas: emev2: Remove obsolete clkdev registration
        clk: renesas: r9a07g043: Add MTU3a clock and reset entry
        clk: renesas: rzg2l: Simplify .determine_rate()
        clk: renesas: r9a09g011: Add CSI related clocks
        clk: renesas: r8a774b1: Add 3DGE and ZG support
        clk: renesas: r8a774e1: Add 3DGE and ZG support
        clk: renesas: r8a774a1: Add 3DGE and ZG support
        clk: renesas: rcar-gen3: Add support for ZG clock
      
      * clk-cleanup:
        clk: mvebu: Convert to devm_platform_ioremap_resource()
        clk: nuvoton: Convert to devm_platform_ioremap_resource()
        clk: socfpga: agilex: Convert to devm_platform_ioremap_resource()
        clk: ti: Use devm_platform_get_and_ioremap_resource()
        clk: mediatek: Convert to devm_platform_ioremap_resource()
        clk: hsdk-pll: Convert to devm_platform_ioremap_resource()
        clk: gemini: Convert to devm_platform_ioremap_resource()
        clk: fsl-sai: Convert to devm_platform_ioremap_resource()
        clk: bm1880: Convert to devm_platform_ioremap_resource()
        clk: axm5516: Convert to devm_platform_ioremap_resource()
        clk: actions: Convert to devm_platform_ioremap_resource()
        clk: cdce925: Remove redundant of_match_ptr()
        drivers: clk: keystone: Fix parameter judgment in _of_pll_clk_init()
        clk: Explicitly include correct DT includes
      d10ebc7c
    • Linus Torvalds's avatar
      Merge tag 'sound-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 4fb0dacb
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "We've received a fairly wide range of changes at this time, including
        for ALSA and ASoC core, but all of them are rather small changes.
      
        Here are some highlights:
      
        ALSA / ASoC Core:
         - Fixes of inconsistent locking around control API helpers
         - A few new control API functions and cleanups
         - Workarounds for potential UAFs by delayed kobj releases
         - Unified PCM copy ops with iov_iter
         - Continued efforts for ASoC API cleanups
      
        ASoC:
         - An adaptor to allow use of IIO DACs and ADCs in ASoC which pulls in
           some IIO changes
         - Create a library function for intlog10() and use it in the NAU8825
           driver
         - Convert drivers to use the more modern maple tree register cache
         - Lots of work on the SOF framework, AMD and Intel drivers, including
           a lot of cleanup and new device support
         - Standardization of the presentation of jacks from drivers
         - Provision of some generic sound card DT properties
         - Support for AMD Van Gogh, AMD machines with MAX98388 and NAU8821,
           AWInic AW88261, Cirrus Logic CS35L36 and CS42L43, various Intel
           platforms including AVS machines with ES8336 and RT5663, Mediatek
           MT7986, NXP i.MX93, RealTek RT1017 and StarFive JH7110
      
        Others:
         - New test coverage including ASoC and topology tests in KUnit; this
           also involves enabling UML builds of ALSA since that's the default
           KUnit test environment which pulls in the addition of some stubs to
           the driver
         - More enhancement of pcmtest driver
         - A few fixes / enhancements of MIDI 2.0 UMP core
         - Using PCI definitions in allover HD-audio code
         - Support for Cirrus CS35L56 and TI TAS2781 HD-audio sub-codecs
         - CS35L41 HD-audio sub-codec improvements
         - Continued emu10k1 improvements"
      
      * tag 'sound-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (693 commits)
        ALSA: pcm: Fix missing fixup call in compat hw_refine ioctl
        ASoC: dwc: i2s: Fix unused functions
        ALSA: usb-audio: Don't try to submit URBs after disconnection
        ALSA: emu10k1: add separate documentation for E-MU cards
        ALSA: emu10k1: more documentation updates
        ALSA: emu10k1: de-duplicate audigy-mixer.rst vs. sb-live-mixer.rst
        ALSA: ump: Fix -Wformat-truncation warnings
        ALSA: hda: Add missing dependency on CONFIG_EFI for Cirrus/TI sub-codecs
        ALSA: doc: Fix missing backquote in midi-2.0.rst
        ALSA: hda/realtek: Add quirk for mute LEDs on HP ENVY x360 15-eu0xxx
        ALSA: hda/tas2781: Switch back to use struct i2c_driver's .probe()
        ASoC: soc-core.c: Do not error if a DAI link component is not found
        ASoC: codecs: Fix error code in aw88261_i2c_probe()
        ASoC: audio-graph-card.c: move audio_graph_parse_of()
        ASoC: cs42l43: Use new-style PM runtime macros
        ALSA: documentation: Add description for USB MIDI 2.0 gadget driver
        ALSA: ump: Don't create unused substreams for static blocks
        ALSA: ump: Fill group names for legacy rawmidi substreams
        ALSA: usb-audio: Attach legacy rawmidi after probing all UMP EPs
        ALSA: ac97: Fix possible error value of *rac97
        ...
      4fb0dacb
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2023-08-30' of git://anongit.freedesktop.org/drm/drm · 461f35f0
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "The drm core grew a new generic gpu virtual address manager, and new
        execution locking helpers. These are used by nouveau now to provide
        uAPI support for the userspace Vulkan driver. AMD had a bunch of new
        IP core support, loads of refactoring around fbdev, but mostly just
        the usual amount of stuff across the board.
      
        core:
         - fix gfp flags in drmm_kmalloc
      
        gpuva:
         - add new generic GPU VA manager (for nouveau initially)
      
        syncobj:
         - add new DRM_IOCTL_SYNCOBJ_EVENTFD ioctl
      
        dma-buf:
         - acquire resv lock for mmap() in exporters
         - support dma-buf self import automatically
         - docs fixes
      
        backlight:
         - fix fbdev interactions
      
        atomic:
         - improve logging
      
        prime:
         - remove struct gem_prim_mmap plus driver updates
      
        gem:
         - drm_exec: add locking over multiple GEM objects
         - fix lockdep checking
      
        fbdev:
         - make fbdev userspace interfaces optional
         - use linux device instead of fbdev device
         - use deferred i/o helper macros in various drivers
         - Make FB core selectable without drivers
         - Remove obsolete flags FBINFO_DEFAULT and FBINFO_FLAG_DEFAULT
         - Add helper macros and Kconfig tokens for DMA-allocated framebuffer
      
        ttm:
         - support init_on_free
         - swapout fixes
      
        panel:
         - panel-edp: Support AUO B116XAB01.4
         - Support Visionox R66451 plus DT bindings
         - ld9040:
            - Backlight support
            - magic improved
            - Kconfig fix
         - Convert to of_device_get_match_data()
         - Fix Kconfig dependencies
         - simple:
            - Set bpc value to fix warning
            - Set connector type for AUO T215HVN01
            - Support Innolux G156HCE-L01 plus DT bindings
         - ili9881: Support TDO TL050HDV35 LCD panel plus DT bindings
         - startek: Support KD070FHFID015 MIPI-DSI panel plus DT bindings
         - sitronix-st7789v:
            - Support Inanbo T28CP45TN89 plus DT bindings
            - Support EDT ET028013DMA plus DT bindings
            - Various cleanups
         - edp: Add timings for N140HCA-EAC
         - Allow panels and touchscreens to power sequence together
         - Fix Innolux G156HCE-L01 LVDS clock
      
        bridge:
         - debugfs for chains support
         - dw-hdmi:
            - Improve support for YUV420 bus format
            - CEC suspend/resume
            - update EDID on HDMI detect
         - dw-mipi-dsi: Fix enable/disable of DSI controller
         - lt9611uxc: Use MODULE_FIRMWARE()
         - ps8640: Remove broken EDID code
         - samsung-dsim: Fix command transfer
         - tc358764:
            - Handle HS/VS polarity
            - Use BIT() macro
            - Various cleanups
         - adv7511: Fix low refresh rate
         - anx7625:
            - Switch to macros instead of hardcoded values
            - locking fixes
         - tc358767: fix hardware delays
         - sitronix-st7789v:
            - Support panel orientation
            - Support rotation property
            - Add support for Jasonic JT240MHQS-HWT-EK-E3 plus DT bindings
      
        amdgpu:
         - SDMA 6.1.0 support
         - HDP 6.1 support
         - SMUIO 14.0 support
         - PSP 14.0 support
         - IH 6.1 support
         - Lots of checkpatch cleanups
         - GFX 9.4.3 updates
         - Add USB PD and IFWI flashing documentation
         - GPUVM updates
         - RAS fixes
         - DRR fixes
         - FAMS fixes
         - Virtual display fixes
         - Soft IH fixes
         - SMU13 fixes
         - Rework PSP firmware loading for other IPs
         - Kernel doc fixes
         - DCN 3.0.1 fixes
         - LTTPR fixes
         - DP MST fixes
         - DCN 3.1.6 fixes
         - SMU 13.x fixes
         - PSP 13.x fixes
         - SubVP fixes
         - GC 9.4.3 fixes
         - Display bandwidth calculation fixes
         - VCN4 secure submission fixes
         - Allow building DC on RISC-V
         - Add visible FB info to bo_print_info
         - HBR3 fixes
         - GFX9 MCBP fix
         - GMC10 vmhub index fix
         - GMC11 vmhub index fix
         - Create a new doorbell manager
         - SR-IOV fixes
         - initial freesync panel replay support
         - revert zpos properly until igt regression is fixeed
         - use TTM to manage doorbell BAR
         - Expose both current and average power via hwmon if supported
      
        amdkfd:
         - Cleanup CRIU dma-buf handling
         - Use KIQ to unmap HIQ
         - GFX 9.4.3 debugger updates
         - GFX 9.4.2 debugger fixes
         - Enable cooperative groups fof gfx11
         - SVM fixes
         - Convert older APUs to use dGPU path like newer APUs
         - Drop IOMMUv2 path as it is no longer used
         - TBA fix for aldebaran
      
        i915:
         - ICL+ DSI modeset sequence
         - HDCP improvements
         - MTL display fixes and cleanups
         - HSW/BDW PSR1 restored
         - Init DDI ports in VBT order
         - General display refactors
         - Start using plane scale factor for relative data rate
         - Use shmem for dpt objects
         - Expose RPS thresholds in sysfs
         - Apply GuC SLPC min frequency softlimit correctly
         - Extend Wa_14015795083 to TGL, RKL, DG1 and ADL
         - Fix a VMA UAF for multi-gt platform
         - Do not use stolen on MTL due to HW bug
         - Check HuC and GuC version compatibility on MTL
         - avoid infinite GPU waits due to premature release of request memory
         - Fixes and updates for GSC memory allocation
         - Display SDVO fixes
         - Take stolen handling out of FBC code
         - Make i915_coherent_map_type GT-centric
         - Simplify shmem_create_from_object map_type
      
        msm:
         - SM6125 MDSS support
         - DPU: SM6125 DPU support
         - DSI: runtime PM support, burst mode support
         - DSI PHY: SM6125 support in 14nm DSI PHY driver
         - GPU: prepare for a7xx
         - fix a690 firmware
         - disable relocs on a6xx and newer
      
        radeon:
         - Lots of checkpatch cleanups
      
        ast:
         - improve device-model detection
         - Represent BMV as virtual connector
         - Report DP connection status
      
        nouveau:
         - add new exec/bind interface to support Vulkan
         - document some getparam ioctls
         - improve VRAM detection
         - various fixes/cleanups
         - workraound DPCD issues
      
        ivpu:
         - MMU updates
         - debugfs support
         - Support vpu4
      
        virtio:
         - add sync object support
      
        atmel-hlcdc:
         - Support inverted pixclock polarity
      
        etnaviv:
         - runtime PM cleanups
         - hang handling fixes
      
        exynos:
         - use fbdev DMA helpers
         - fix possible NULL ptr dereference
      
        komeda:
         - always attach encoder
      
        omapdrm:
         - use fbdev DMA helpers
      ingenic:
         - kconfig regmap fixes
      
        loongson:
         - support display controller
      
        mediatek:
         - Small mtk-dpi cleanups
         - DisplayPort: support eDP and aux-bus
         - Fix coverity issues
         - Fix potential memory leak if vmap() fail
      
        mgag200:
         - minor fixes
      
        mxsfb:
         - support disabling overlay planes
      
        panfrost:
         - fix sync in IRQ handling
      
        ssd130x:
         - Support per-controller default resolution plus DT bindings
         - Reduce memory-allocation overhead
         - Improve intermediate buffer size computation
         - Fix allocation of temporary buffers
         - Fix pitch computation
         - Fix shadow plane allocation
      
        tegra:
         - use fbdev DMA helpers
         - Convert to devm_platform_ioremap_resource()
         - support bridge/connector
         - enable PM
      
        tidss:
         - Support TI AM625 plus DT bindings
         - Implement new connector model plus driver updates
      
        vkms:
         - improve write back support
         - docs fixes
         - support gamma LUT
      
        zynqmp-dpsub:
         - misc fixes"
      
      * tag 'drm-next-2023-08-30' of git://anongit.freedesktop.org/drm/drm: (1327 commits)
        drm/gpuva_mgr: remove unused prev pointer in __drm_gpuva_sm_map()
        drm/tests/drm_kunit_helpers: Place correct function name in the comment header
        drm/nouveau: uapi: don't pass NO_PREFETCH flag implicitly
        drm/nouveau: uvmm: fix unset region pointer on remap
        drm/nouveau: sched: avoid job races between entities
        drm/i915: Fix HPD polling, reenabling the output poll work as needed
        drm: Add an HPD poll helper to reschedule the poll work
        drm/i915: Fix TLB-Invalidation seqno store
        drm/ttm/tests: Fix type conversion in ttm_pool_test
        drm/msm/a6xx: Bail out early if setting GPU OOB fails
        drm/msm/a6xx: Move LLC accessors to the common header
        drm/msm/a6xx: Introduce a6xx_llc_read
        drm/ttm/tests: Require MMU when testing
        drm/panel: simple: Fix Innolux G156HCE-L01 LVDS clock
        Revert "Revert "drm/amdgpu/display: change pipe policy for DCN 2.0""
        drm/amdgpu: Add memory vendor information
        drm/amd: flush any delayed gfxoff on suspend entry
        drm/amdgpu: skip fence GFX interrupts disable/enable for S0ix
        drm/amdgpu: Remove gfxoff check in GFX v9.4.3
        drm/amd/pm: Update pci link speed for smu v13.0.6
        ...
      461f35f0
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.6-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 53ea7f62
      Linus Torvalds authored
      Pull xfs updates from Chandan Babu:
      
       - Chandan Babu will be taking over as the XFS release manager. He has
         reviewed all the patches that are in this branch, though I'm signing
         the branch one last time since I'm still technically maintainer. :P
      
       - Create a maintainer entry profile for XFS in which we lay out the
         various roles that I have played for many years.  Aside from release
         manager, the remaining roles are as yet unfilled.
      
       - Start merging online repair -- we now have in-memory pageable memory
         for staging btrees, a bunch of pending fixes, and we've started the
         process of refactoring the scrub support code to support more of
         repair.  In particular, reaping of old blocks from damaged structures.
      
       - Scrub the realtime summary file.
      
       - Fix a bug where scrub's quota iteration only ever returned the root
         dquot.  Oooops.
      
       - Fix some typos.
      
      [ Pull request from Chandan Babu, but signed tag and description from
        Darrick Wong, thus the first person singular above is Darrick, not
        Chandan ]
      
      * tag 'xfs-6.6-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (37 commits)
        fs/xfs: Fix typos in comments
        xfs: fix dqiterate thinko
        xfs: don't check reflink iflag state when checking cow fork
        xfs: simplify returns in xchk_bmap
        xfs: rewrite xchk_inode_is_allocated to work properly
        xfs: hide xfs_inode_is_allocated in scrub common code
        xfs: fix agf_fllast when repairing an empty AGFL
        xfs: allow userspace to rebuild metadata structures
        xfs: clear pagf_agflreset when repairing the AGFL
        xfs: allow the user to cancel repairs before we start writing
        xfs: don't complain about unfixed metadata when repairs were injected
        xfs: implement online scrubbing of rtsummary info
        xfs: always rescan allegedly healthy per-ag metadata after repair
        xfs: move the realtime summary file scrubber to a separate source file
        xfs: wrap ilock/iunlock operations on sc->ip
        xfs: get our own reference to inodes that we want to scrub
        xfs: track usage statistics of online fsck
        xfs: improve xfarray quicksort pivot
        xfs: create scaffolding for creating debugfs entries
        xfs: cache pages used for xfarray quicksort convergence
        ...
      53ea7f62
    • Linus Torvalds's avatar
      Merge tag 'fsnotify_for_v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 38663034
      Linus Torvalds authored
      Pull fsnotify update from Jan Kara:
       "Just a small fsnotify cleanup this time"
      
      * tag 'fsnotify_for_v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fanotify: Remove unused extern declaration fsnotify_get_conn_fsid()
      38663034
    • Linus Torvalds's avatar
      Merge tag 'for_v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 1500e7e0
      Linus Torvalds authored
      Pull ext2, quota, and udf updates from Jan Kara:
      
       - fixes for possible use-after-free issues with quota when racing with
         chown
      
       - fixes for ext2 crashing when xattr allocation races with another
         block allocation to the same file from page writeback code
      
       - fix for block number overflow in ext2
      
       - marking of reiserfs as obsolete in MAINTAINERS
      
       - assorted minor cleanups
      
      * tag 'for_v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        ext2: Fix kernel-doc warnings
        ext2: improve consistency of ext2_fsblk_t datatype usage
        ext2: dump current reservation window info
        ext2: fix race between setxattr and write back
        ext2: introduce new flags argument for ext2_new_blocks()
        ext2: remove ext2_new_block()
        ext2: fix datatype of block number in ext2_xattr_set2()
        udf: Drop pointless aops assignment
        quota: use lockdep_assert_held_write in dquot_load_quota_sb
        MAINTAINERS: change reiserfs status to obsolete
        udf: Fix -Wstringop-overflow warnings
        quota: simplify drop_dquot_ref()
        quota: fix dqput() to follow the guarantees dquot_srcu should provide
        quota: add new helper dquot_active()
        quota: rename dquot_active() to inode_quota_active()
        quota: factor out dquot_write_dquot()
        ext2: remove redundant assignment to variable desc and variable best_desc
      1500e7e0
    • Linus Torvalds's avatar
      Merge tag 'ovl-update-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs · 63580f66
      Linus Torvalds authored
      Pull overlayfs updates from Amir Goldstein:
      
       - add verification feature needed by composefs (Alexander Larsson)
      
       - improve integration of overlayfs and fanotify (Amir Goldstein)
      
       - fortify some overlayfs code (Andrea Righi)
      
      * tag 'ovl-update-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs:
        ovl: validate superblock in OVL_FS()
        ovl: make consistent use of OVL_FS()
        ovl: Kconfig: introduce CONFIG_OVERLAY_FS_DEBUG
        ovl: auto generate uuid for new overlay filesystems
        ovl: store persistent uuid/fsid with uuid=on
        ovl: add support for unique fsid per instance
        ovl: support encoding non-decodable file handles
        ovl: Handle verity during copy-up
        ovl: Validate verity xattr when resolving lowerdata
        ovl: Add versioned header for overlay.metacopy xattr
        ovl: Add framework for verity support
      63580f66
    • Linus Torvalds's avatar
      Merge tag 'x86_apic_for_6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1687d8ac
      Linus Torvalds authored
      Pull x86 apic updates from Dave Hansen:
       "This includes a very thorough rework of the 'struct apic' handlers.
        Quite a variety of them popped up over the years, especially in the
        32-bit days when odd apics were much more in vogue.
      
        The end result speaks for itself, which is a removal of a ton of code
        and static calls to replace indirect calls.
      
        If there's any breakage here, it's likely to be around the 32-bit
        museum pieces that get light to no testing these days.
      
        Summary:
      
         - Rework apic callbacks, getting rid of unnecessary ones and
           coalescing lots of silly duplicates.
      
         - Use static_calls() instead of indirect calls for apic->foo()
      
         - Tons of cleanups an crap removal along the way"
      
      * tag 'x86_apic_for_6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (64 commits)
        x86/apic: Turn on static calls
        x86/apic: Provide static call infrastructure for APIC callbacks
        x86/apic: Wrap IPI calls into helper functions
        x86/apic: Mark all hotpath APIC callback wrappers __always_inline
        x86/xen/apic: Mark apic __ro_after_init
        x86/apic: Convert other overrides to apic_update_callback()
        x86/apic: Replace acpi_wake_cpu_handler_update() and apic_set_eoi_cb()
        x86/apic: Provide apic_update_callback()
        x86/xen/apic: Use standard apic driver mechanism for Xen PV
        x86/apic: Provide common init infrastructure
        x86/apic: Wrap apic->native_eoi() into a helper
        x86/apic: Nuke ack_APIC_irq()
        x86/apic: Remove pointless arguments from [native_]eoi_write()
        x86/apic/noop: Tidy up the code
        x86/apic: Remove pointless NULL initializations
        x86/apic: Sanitize APIC ID range validation
        x86/apic: Prepare x2APIC for using apic::max_apic_id
        x86/apic: Simplify X2APIC ID validation
        x86/apic: Add max_apic_id member
        x86/apic: Wrap APIC ID validation into an inline
        ...
      1687d8ac
    • Linus Torvalds's avatar
      Merge tag 'x86-core-2023-08-30-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 87fa732d
      Linus Torvalds authored
      Pull x86 core updates from Thomas Gleixner:
      
       - Prevent kprobes on compiler generated CFI checking code.
      
         The compiler generates an instruction sequence for indirect call
         checks. If this sequence is modified with a kprobe, then the check
         fails. So the instructions must be protected against probing.
      
       - A few minor cleanups for the SMP code
      
      * tag 'x86-core-2023-08-30-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kprobes: Prohibit probing on compiler generated CFI checking code
        x86/smpboot: Change smp_store_boot_cpu_info() to static
        x86/smp: Remove a non-existent function declaration
        x86/smpboot: Remove a stray comment about CPU hotplug
      87fa732d
    • Linus Torvalds's avatar
      Merge tag 'x86_mm_for_6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 98559227
      Linus Torvalds authored
      Pull x86 mm updates from Dave Hansen:
       "A pair of small x86/mm updates. The INVPCID one is purely a cleanup.
        The PAT one fixes a real issue, albeit a relatively obscure one
        (graphics device passthrough under Xen). The fix also makes the code
        much more readable.
      
        Summary:
      
         - Remove unnecessary "INVPCID single" feature tracking
      
         - Include PAT in page protection modify mask"
      
      * tag 'x86_mm_for_6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Remove "INVPCID single" feature tracking
        x86/mm: Fix PAT bit missing from page protection modify mask
      98559227
    • Mateusz Guzik's avatar
      x86: bring back rep movsq for user access on CPUs without ERMS · ca96b162
      Mateusz Guzik authored
      Intel CPUs ship with ERMS for over a decade, but this is not true for
      AMD.  In particular one reasonably recent uarch (EPYC 7R13) does not
      have it (or at least the bit is inactive when running on the Amazon EC2
      cloud -- I found rather conflicting information about AMD CPUs vs the
      extension).
      
      Hand-rolled mov loops executing in this case are quite pessimal compared
      to rep movsq for bigger sizes.  While the upper limit depends on uarch,
      everyone is well south of 1KB AFAICS and sizes bigger than that are
      common.
      
      While technically ancient CPUs may be suffering from rep usage, gcc has
      been emitting it for years all over kernel code, so I don't think this
      is a legitimate concern.
      
      Sample result from read1_processes from will-it-scale (4KB reads/s):
      
        before:   1507021
        after:    1721828 (+14%)
      
      Note that the cutoff point for rep usage is set to 64 bytes, which is
      way too conservative but I'm sticking to what was done in 47ee3f1d
      
      
      ("x86: re-introduce support for ERMS copies for user space accesses").
      That is to say *some* copies will now go slower, which is fixable but
      beyond the scope of this patch.
      
      Signed-off-by: default avatarMateusz Guzik <mjguzik@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ca96b162
    • Linus Torvalds's avatar
      Merge tag 'Smack-for-6.6' of https://github.com/cschaufler/smack-next · 87245966
      Linus Torvalds authored
      Pull smack updates from Casey Schaufler:
       "Two minor fixes: is a simple spelling fix. The other is a bounds check
        for a very likely underflow"
      
      * tag 'Smack-for-6.6' of https://github.com/cschaufler/smack-next:
        smackfs: Prevent underflow in smk_set_cipso()
        security: smack: smackfs: fix typo (lables->labels)
      87245966
    • Linus Torvalds's avatar
      Merge tag 'integrity-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity · 1a35914f
      Linus Torvalds authored
      Pull integrity subsystem updates from Mimi Zohar:
      
       - With commit 099f26f2 ("integrity: machine keyring CA
         configuration") certificates may be loaded onto the IMA keyring,
         directly or indirectly signed by keys on either the "builtin" or the
         "machine" keyrings.
      
         With the ability for the system/machine owner to sign the IMA policy
         itself without needing to recompile the kernel, update the IMA
         architecture specific policy rules to require the IMA policy itself
         be signed.
      
         [ As commit 099f26f2 was upstreamed in linux-6.4, updating the
           IMA architecture specific policy now to require signed IMA policies
           may break userspace expectations. ]
      
       - IMA only checked the file data hash was not on the system blacklist
         keyring for files with an appended signature (e.g. kernel modules,
         Power kernel image).
      
         Check all file data hashes regardless of how it was signed
      
       - Code cleanup, and a kernel-doc update
      
      * tag 'integrity-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
        kexec_lock: Replace kexec_mutex() by kexec_lock() in two comments
        ima: require signed IMA policy when UEFI secure boot is enabled
        integrity: Always reference the blacklist keyring with appraisal
        ima: Remove deprecated IMA_TRUSTED_KEYRING Kconfig
      1a35914f
    • Linus Torvalds's avatar
      Merge tag 'lsm-pr-20230829' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm · 1086eeac
      Linus Torvalds authored
      Pull LSM updates from Paul Moore:
      
       - Add proper multi-LSM support for xattrs in the
         security_inode_init_security() hook
      
         Historically the LSM layer has only allowed a single LSM to add an
         xattr to an inode, with IMA/EVM measuring that and adding its own as
         well. As we work towards promoting IMA/EVM to a "proper LSM" instead
         of the special case that it is now, we need to better support the
         case of multiple LSMs each adding xattrs to an inode and after
         several attempts we now appear to have something that is working
         well. It is worth noting that in the process of making this change we
         uncovered a problem with Smack's SMACK64TRANSMUTE xattr which is also
         fixed in this pull request.
      
       - Additional LSM hook constification
      
         Two patches to constify parameters to security_capget() and
         security_binder_transfer_file(). While I generally don't make a
         special note of who submitted these patches, these were the work of
         an Outreachy intern, Khadija Kamran, and that makes me happy;
         hopefully it does the same for all of you reading this.
      
       - LSM hook comment header fixes
      
         One patch to add a missing hook comment header, one to fix a minor
         typo.
      
       - Remove an old, unused credential function declaration
      
         It wasn't clear to me who should pick this up, but it was trivial,
         obviously correct, and arguably the LSM layer has a vested interest
         in credentials so I merged it. Sadly I'm now noticing that despite my
         subject line cleanup I didn't cleanup the "unsued" misspelling, sigh
      
      * tag 'lsm-pr-20230829' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm:
        lsm: constify the 'file' parameter in security_binder_transfer_file()
        lsm: constify the 'target' parameter in security_capget()
        lsm: add comment block for security_sk_classify_flow LSM hook
        security: Fix ret values doc for security_inode_init_security()
        cred: remove unsued extern declaration change_create_files_as()
        evm: Support multiple LSMs providing an xattr
        evm: Align evm_inode_init_security() definition with LSM infrastructure
        smack: Set the SMACK64TRANSMUTE xattr in smack_inode_init_security()
        security: Allow all LSMs to provide xattrs for inode_init_security hook
        lsm: fix typo in security_file_lock() comment header
      1086eeac
  5. Aug 30, 2023
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20230829' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · 1dbae189
      Linus Torvalds authored
      Pull selinux updates from Paul Moore:
       "Thirty three SELinux patches, which is a pretty big number for us, but
        there isn't really anything scary in here; in fact we actually manage
        to remove 10 lines of code with this :)
      
         - Promote the SELinux DEBUG_HASHES macro to CONFIG_SECURITY_SELINUX_DEBUG
      
           The DEBUG_HASHES macro was a buried SELinux specific preprocessor
           debug macro that was a problem waiting to happen. Promoting the
           debug macro to a proper Kconfig setting should help both improve
           the visibility of the feature as well enable improved test
           coverage. We've moved some additional debug functions under the
           CONFIG_SECURITY_SELINUX_DEBUG flag and we may see more work in the
           future.
      
         - Emit a pr_notice() message if virtual memory is executable by default
      
           As this impacts the SELinux access control policy enforcement, if
           the system's configuration is such that virtual memory is
           executable by default we print a single line notice to the console.
      
         - Drop avtab_search() in favor of avtab_search_node()
      
           Both functions are nearly identical so we removed avtab_search()
           and converted the callers to avtab_search_node().
      
         - Add some SELinux network auditing helpers
      
           The helpers not only reduce a small amount of code duplication, but
           they provide an opportunity to improve UDP flood performance
           slightly by delaying initialization of the audit data in some
           cases.
      
         - Convert GFP_ATOMIC allocators to GFP_KERNEL when reading SELinux policy
      
           There were two SELinux policy load helper functions that were
           allocating memory using GFP_ATOMIC, they have been converted to
           GFP_KERNEL.
      
         - Quiet a KMSAN warning in selinux_inet_conn_request()
      
           A one-line error path (re)set patch that resolves a KMSAN warning.
           It is important to note that this doesn't represent a real bug in
           the current code, but it quiets KMSAN and arguably hardens the code
           against future changes.
      
         - Cleanup the policy capability accessor functions
      
           This is a follow-up to the patch which reverted SELinux to using a
           global selinux_state pointer. This patch cleans up some artifacts
           of that change and turns each accessor into a one-line READ_ONCE()
           call into the policy capabilities array.
      
         - A number of patches from Christian Göttsche
      
           Christian submitted almost two-thirds of the patches in this pull
           request as he worked to harden the SELinux code against type
           differences, variable overflows, etc.
      
         - Support for separating early userspace from the kernel in policy,
           with a later revert
      
           We did have a patch that added a new userspace initial SID which
           would allow SELinux to distinguish between early user processes
           created before the initial policy load and the kernel itself.
      
           Unfortunately additional post-merge testing revealed a problematic
           interaction with an old SELinux userspace on an old version of
           Ubuntu so we've reverted the patch until we can resolve the
           compatibility issue.
      
         - Remove some outdated comments dealing with LSM hook registration
      
           When we removed the runtime disable functionality we forgot to
           remove some old comments discussing the importance of LSM hook
           registration ordering.
      
         - Minor administrative changes
      
           Stephen Smalley updated his email address and "debranded" SELinux
           from "NSA SELinux" to simply "SELinux". We've come a long way from
           the original NSA submission and I would consider SELinux a true
           community project at this point so removing the NSA branding just
           makes sense"
      
      * tag 'selinux-pr-20230829' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux: (33 commits)
        selinux: prevent KMSAN warning in selinux_inet_conn_request()
        selinux: use unsigned iterator in nlmsgtab code
        selinux: avoid implicit conversions in policydb code
        selinux: avoid implicit conversions in selinuxfs code
        selinux: make left shifts well defined
        selinux: update type for number of class permissions in services code
        selinux: avoid implicit conversions in avtab code
        selinux: revert SECINITSID_INIT support
        selinux: use GFP_KERNEL while reading binary policy
        selinux: update comment on selinux_hooks[]
        selinux: avoid implicit conversions in services code
        selinux: avoid implicit conversions in mls code
        selinux: use identical iterator type in hashtab_duplicate()
        selinux: move debug functions into debug configuration
        selinux: log about VM being executable by default
        selinux: fix a 0/NULL mistmatch in ad_net_init_from_iif()
        selinux: introduce SECURITY_SELINUX_DEBUG configuration
        selinux: introduce and use lsm_ad_net_init*() helpers
        selinux: update my email address
        selinux: add missing newlines in pr_err() statements
        ...
      1dbae189
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20230829' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · 3ea67c4f
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Six audit patches, the highlights are:
      
         - Add an explicit cond_resched() call when generating PATH records
      
           Certain tracefs/debugfs operations can generate a *lot* of audit
           PATH entries and if one has an aggressive system configuration (not
           the default) this can cause a soft lockup in the audit code as it
           works to process all of these new entries.
      
           This is in sharp contrast to the common case where only one or two
           PATH entries are logged. In order to fix this corner case without
           excessively impacting the common case we're adding a single
           cond_rescued() call between two of the most intensive loops in the
           __audit_inode_child() function.
      
         - Various minor cleanups
      
           We removed a conditional header file as the included header already
           had the necessary logic in place, fixed a dummy function's return
           value, and the usual collection of checkpatch.pl noise (whitespace,
           brace, and trailing statement tweaks)"
      
      * tag 'audit-pr-20230829' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: move trailing statements to next line
        audit: cleanup function braces and assignment-in-if-condition
        audit: add space before parenthesis and around '=', "==", and '<'
        audit: fix possible soft lockup in __audit_inode_child()
        audit: correct audit_filter_inodes() definition
        audit: include security.h unconditionally
      3ea67c4f
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.6-2023-08-29' of git://git.infradead.org/users/hch/dma-mapping · 6c1b980a
      Linus Torvalds authored
      Pull dma-maping updates from Christoph Hellwig:
      
       - allow dynamic sizing of the swiotlb buffer, to cater for secure
         virtualization workloads that require all I/O to be bounce buffered
         (Petr Tesarik)
      
       - move a declaration to a header (Arnd Bergmann)
      
       - check for memory region overlap in dma-contiguous (Binglei Wang)
      
       - remove the somewhat dangerous runtime swiotlb-xen enablement and
         unexport is_swiotlb_active (Christoph Hellwig, Juergen Gross)
      
       - per-node CMA improvements (Yajun Deng)
      
      * tag 'dma-mapping-6.6-2023-08-29' of git://git.infradead.org/users/hch/dma-mapping:
        swiotlb: optimize get_max_slots()
        swiotlb: move slot allocation explanation comment where it belongs
        swiotlb: search the software IO TLB only if the device makes use of it
        swiotlb: allocate a new memory pool when existing pools are full
        swiotlb: determine potential physical address limit
        swiotlb: if swiotlb is full, fall back to a transient memory pool
        swiotlb: add a flag whether SWIOTLB is allowed to grow
        swiotlb: separate memory pool data from other allocator data
        swiotlb: add documentation and rename swiotlb_do_find_slots()
        swiotlb: make io_tlb_default_mem local to swiotlb.c
        swiotlb: bail out of swiotlb_init_late() if swiotlb is already allocated
        dma-contiguous: check for memory region overlap
        dma-contiguous: support numa CMA for specified node
        dma-contiguous: support per-numa CMA for all architectures
        dma-mapping: move arch_dma_set_mask() declaration to header
        swiotlb: unexport is_swiotlb_active
        x86: always initialize xen-swiotlb when xen-pcifront is enabling
        xen/pci: add flag for PCI passthrough being possible
      6c1b980a
    • Linus Torvalds's avatar
      Merge tag 'for-6.6/block-2023-08-28' of git://git.kernel.dk/linux · 3d3dfeb3
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
       "Pretty quiet round for this release. This contains:
      
         - Add support for zoned storage to ublk (Andreas, Ming)
      
         - Series improving performance for drivers that mark themselves as
           needing a blocking context for issue (Bart)
      
         - Cleanup the flush logic (Chengming)
      
         - sed opal keyring support (Greg)
      
         - Fixes and improvements to the integrity support (Jinyoung)
      
         - Add some exports for bcachefs that we can hopefully delete again in
           the future (Kent)
      
         - deadline throttling fix (Zhiguo)
      
         - Series allowing building the kernel without buffer_head support
           (Christoph)
      
         - Sanitize the bio page adding flow (Christoph)
      
         - Write back cache fixes (Christoph)
      
         - MD updates via Song:
            - Fix perf regression for raid0 large sequential writes (Jan)
            - Fix split bio iostat for raid0 (David)
            - Various raid1 fixes (Heinz, Xueshi)
            - raid6test build fixes (WANG)
            - Deprecate bitmap file support (Christoph)
            - Fix deadlock with md sync thread (Yu)
            - Refactor md io accounting (Yu)
            - Various non-urgent fixes (Li, Yu, Jack)
      
         - Various fixes and cleanups (Arnd, Azeem, Chengming, Damien, Li,
           Ming, Nitesh, Ruan, Tejun, Thomas, Xu)"
      
      * tag 'for-6.6/block-2023-08-28' of git://git.kernel.dk/linux: (113 commits)
        block: use strscpy() to instead of strncpy()
        block: sed-opal: keyring support for SED keys
        block: sed-opal: Implement IOC_OPAL_REVERT_LSP
        block: sed-opal: Implement IOC_OPAL_DISCOVERY
        blk-mq: prealloc tags when increase tagset nr_hw_queues
        blk-mq: delete redundant tagset map update when fallback
        blk-mq: fix tags leak when shrink nr_hw_queues
        ublk: zoned: support REQ_OP_ZONE_RESET_ALL
        md: raid0: account for split bio in iostat accounting
        md/raid0: Fix performance regression for large sequential writes
        md/raid0: Factor out helper for mapping and submitting a bio
        md raid1: allow writebehind to work on any leg device set WriteMostly
        md/raid1: hold the barrier until handle_read_error() finishes
        md/raid1: free the r1bio before waiting for blocked rdev
        md/raid1: call free_r1bio() before allow_barrier() in raid_end_bio_io()
        blk-cgroup: Fix NULL deref caused by blkg_policy_data being installed before init
        drivers/rnbd: restore sysfs interface to rnbd-client
        md/raid5-cache: fix null-ptr-deref for r5l_flush_stripe_to_raid()
        raid6: test: only check for Altivec if building on powerpc hosts
        raid6: test: make sure all intermediate and artifact files are .gitignored
        ...
      3d3dfeb3
    • Linus Torvalds's avatar
      Merge tag 'for-6.6/io_uring-2023-08-28' of git://git.kernel.dk/linux · c1b7fcf3
      Linus Torvalds authored
      Pull io_uring updates from Jens Axboe:
       "Fairly quiet round in terms of features, mostly just improvements all
        over the map for existing code. In detail:
      
         - Initial support for socket operations through io_uring. Latter half
           of this will likely land with the 6.7 kernel, then allowing things
           like get/setsockopt (Breno)
      
         - Cleanup of the cancel code, and then adding support for canceling
           requests with the opcode as the key (me)
      
         - Improvements for the io-wq locking (me)
      
         - Fix affinity setting for SQPOLL based io-wq (me)
      
         - Remove the io_uring userspace code. These were added initially as
           copies from liburing, but all of them have since bitrotted and are
           way out of date at this point. Rather than attempt to keep them in
           sync, just get rid of them. People will have liburing available
           anyway for these examples. (Pavel)
      
         - Series improving the CQ/SQ ring caching (Pavel)
      
         - Misc fixes and cleanups (Pavel, Yue, me)"
      
      * tag 'for-6.6/io_uring-2023-08-28' of git://git.kernel.dk/linux: (47 commits)
        io_uring: move iopoll ctx fields around
        io_uring: move multishot cqe cache in ctx
        io_uring: separate task_work/waiting cache line
        io_uring: banish non-hot data to end of io_ring_ctx
        io_uring: move non aligned field to the end
        io_uring: add option to remove SQ indirection
        io_uring: compact SQ/CQ heads/tails
        io_uring: force inline io_fill_cqe_req
        io_uring: merge iopoll and normal completion paths
        io_uring: reorder cqring_flush and wakeups
        io_uring: optimise extra io_get_cqe null check
        io_uring: refactor __io_get_cqe()
        io_uring: simplify big_cqe handling
        io_uring: cqe init hardening
        io_uring: improve cqe !tracing hot path
        io_uring/rsrc: Annotate struct io_mapped_ubuf with __counted_by
        io_uring/sqpoll: fix io-wq affinity when IORING_SETUP_SQPOLL is used
        io_uring: simplify io_run_task_work_sig return
        io_uring/rsrc: keep one global dummy_ubuf
        io_uring: never overflow io_aux_cqe
        ...
      c1b7fcf3
    • Linus Torvalds's avatar
      Merge tag 'sysctl-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · adfd6716
      Linus Torvalds authored
      Pull sysctl updates from Luis Chamberlain:
       "Long ago we set out to remove the kitchen sink on kernel/sysctl.c
        arrays and placings sysctls to their own sybsystem or file to help
        avoid merge conflicts. Matthew Wilcox pointed out though that if we're
        going to do that we might as well also *save* space while at it and
        try to remove the extra last sysctl entry added at the end of each
        array, a sentintel, instead of bloating the kernel by adding a new
        sentinel with each array moved.
      
        Doing that was not so trivial, and has required slowing down the moves
        of kernel/sysctl.c arrays and measuring the impact on size by each new
        move.
      
        The complex part of the effort to help reduce the size of each sysctl
        is being done by the patient work of el señor Don Joel Granados. A lot
        of this is truly painful code refactoring and testing and then trying
        to measure the savings of each move and removing the sentinels.
        Although Joel already has code which does most of this work,
        experience with sysctl moves in the past shows is we need to be
        careful due to the slew of odd build failures that are possible due to
        the amount of random Kconfig options sysctls use.
      
        To that end Joel's work is split by first addressing the major
        housekeeping needed to remove the sentinels, which is part of this
        merge request. The rest of the work to actually remove the sentinels
        will be done later in future kernel releases.
      
        The preliminary math is showing this will all help reduce the overall
        build time size of the kernel and run time memory consumed by the
        kernel by about ~64 bytes per array where we are able to remove each
        sentinel in the future. That also means there is no more bloating the
        kernel with the extra ~64 bytes per array moved as no new sentinels
        are created"
      
      * tag 'sysctl-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
        sysctl: Use ctl_table_size as stopping criteria for list macro
        sysctl: SIZE_MAX->ARRAY_SIZE in register_net_sysctl
        vrf: Update to register_net_sysctl_sz
        networking: Update to register_net_sysctl_sz
        netfilter: Update to register_net_sysctl_sz
        ax.25: Update to register_net_sysctl_sz
        sysctl: Add size to register_net_sysctl function
        sysctl: Add size arg to __register_sysctl_init
        sysctl: Add size to register_sysctl
        sysctl: Add a size arg to __register_sysctl_table
        sysctl: Add size argument to init_header
        sysctl: Add ctl_table_size to ctl_table_header
        sysctl: Use ctl_table_header in list_for_each_table_entry
        sysctl: Prefer ctl_table_header in proc_sysctl
      adfd6716
    • Linus Torvalds's avatar
      Merge tag 'modules-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · daa22f5a
      Linus Torvalds authored
      Pull modules updates from Luis Chamberlain:
       "Summary of the changes worth highlighting from most interesting to
        boring below:
      
         - Christoph Hellwig's symbol_get() fix to Nvidia's efforts to
           circumvent the protection he put in place in year 2020 to prevent
           proprietary modules from using GPL only symbols, and also ensuring
           proprietary modules which export symbols grandfather their taint.
      
           That was done through year 2020 commit 262e6ae7 ("modules:
           inherit TAINT_PROPRIETARY_MODULE"). Christoph's new fix is done by
           clarifing __symbol_get() was only ever intended to prevent module
           reference loops by Linux kernel modules and so making it only find
           symbols exported via EXPORT_SYMBOL_GPL(). The circumvention tactic
           used by Nvidia was to use symbol_get() to purposely swift through
           proprietary module symbols and completely bypass our traditional
           EXPORT_SYMBOL*() annotations and community agreed upon
           restrictions.
      
           A small set of preamble patches fix up a few symbols which just
           needed adjusting for this on two modules, the rtc ds1685 and the
           networking enetc module. Two other modules just needed some build
           fixing and removal of use of __symbol_get() as they can't ever be
           modular, as was done by Arnd on the ARM pxa module and Christoph
           did on the mmc au1xmmc driver.
      
           This is a good reminder to us that symbol_get() is just a hack to
           address things which should be fixed through Kconfig at build time
           as was done in the later patches, and so ultimately it should just
           go.
      
         - Extremely late minor fix for old module layout 055f23b7
           ("module: check for exit sections in layout_sections() instead of
           module_init_section()") by James Morse for arm64. Note that this
           layout thing is old, it is *not* Song Liu's commit ac3b4328
           ("module: replace module_layout with module_memory"). The issue
           however is very odd to run into and so there was no hurry to get
           this in fast.
      
         - Although the fix did not go through the modules tree I'd like to
           highlight the fix by Peter Zijlstra in commit 54097309
           ("x86/static_call: Fix __static_call_fixup()") now merged in your
           tree which came out of what was originally suspected to be a
           fallout of the the newer module layout changes by Song Liu commit
           ac3b4328 ("module: replace module_layout with module_memory")
           instead of module_init_section()"). Thanks to the report by
           Christian Bricart and the debugging by Song Liu & Peter that turned
           to be noted as a kernel regression in place since v5.19 through
           commit ee88d363 ("x86,static_call: Use alternative RET
           encoding").
      
           I highlight this to reflect and clarify that we haven't seen more
           fallout from ac3b4328 ("module: replace module_layout with
           module_memory").
      
         - RISC-V toolchain got mapping symbol support which prefix symbols
           with "$" to help with alignment considerations for disassembly.
      
           This is used to differentiate between incompatible instruction
           encodings when disassembling. RISC-V just matches what ARM/AARCH64
           did for alignment considerations and Palmer Dabbelt extended
           is_mapping_symbol() to accept these symbols for RISC-V. We already
           had support for this for all architectures but it also checked for
           the second character, the RISC-V check Dabbelt added was just for
           the "$". After a bit of testing and fallout on linux-next and based
           on feedback from Masahiro Yamada it was decided to simplify the
           check and treat the first char "$" as unique for all architectures,
           and so we no make is_mapping_symbol() for all archs if the symbol
           starts with "$".
      
           The most relevant commit for this for RISC-V on binutils was:
      
             https://sourceware.org/pipermail/binutils/2021-July/117350.html
      
         - A late fix by Andrea Righi (today) to make module zstd
           decompression use vmalloc() instead of kmalloc() to account for
           large compressed modules. I suspect we'll see similar things for
           other decompression algorithms soon.
      
         - samples/hw_breakpoint minor fixes by Rong Tao, Arnd Bergmann and
           Chen Jiahao"
      
      * tag 'modules-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
        module/decompress: use vmalloc() for zstd decompression workspace
        kallsyms: Add more debug output for selftest
        ARM: module: Use module_init_layout_section() to spot init sections
        arm64: module: Use module_init_layout_section() to spot init sections
        module: Expose module_init_layout_section()
        modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules
        rtc: ds1685: use EXPORT_SYMBOL_GPL for ds1685_rtc_poweroff
        net: enetc: use EXPORT_SYMBOL_GPL for enetc_phc_index
        mmc: au1xmmc: force non-modular build and remove symbol_get usage
        ARM: pxa: remove use of symbol_get()
        samples/hw_breakpoint: mark sample_hbp as static
        samples/hw_breakpoint: fix building without module unloading
        samples/hw_breakpoint: Fix kernel BUG 'invalid opcode: 0000'
        modpost, kallsyms: Treat add '$'-prefixed symbols as mapping symbols
        kernel: params: Remove unnecessary ‘0’ values from err
        module: Ignore RISC-V mapping symbols too
      daa22f5a