Loic Molinari
April 13, 2026
The Linux kernel 7.0 has been released! While the major version bump reflects a progression driven by Linus Torvalds' versioning preferences rather than a major overhaul, this release includes several noteworthy additions in hardware support, performance, and security.
Here are some of the highlights we are excited about:
- Enablement work for upcoming hardware including the Intel Nova Lake platforms, the next-generation Intel Xeon Diamond Rapids and AMD Zen 6 processors.
- Improved performance for computer graphics workloads on Mali and NVIDIA GPUs thanks to larger pages support (see details below for Mali).
- Rust programming language is now a core part of the kernel with the experimental tag being removed thanks to great work done by the Rust for Linux team.
Once again, we recommend the LWN's articles to get an overview of all the changes in this development cycle: part 1 and part 2.
Collabora contributed to Kernel 7.0 with no less than 227 patches authored by 24 developers. Let's have a look at all of these contributions!
Graphics
Boris Brezillon added support for atomic page table updates to the Panthor driver, which will be needed for Vulkan sparse binding support. He also fixed a long standing scheduler bug causing GPU contexts to not be scheduled properly when the number of GPU contexts exceeds the number of firmware slots, along with a bunch of other fixes. He worked conjointly with Faith Ekstrand and Loïc Molinari on exposing support for CPU-cached mappings on IO-incoherent systems to speed up accesses of GPU buffers from the CPU.
Loïc also proposed patches to reduce the page table overhead of DRM drivers on systems using transparent huge pages. The shared memory backing store will now attempt 2 MiB-aligned and contiguous allocations whenever possible. This speeds up both CPU and GPU mappings of memory. This is enabled by default for the Panfrost/Panthor, V3D, and i915 DRM drivers. For Panthor on a Rock 5B, this patch series makes the first memcpy to an entire BO mapped in userspace about twice as fast.
Continuing with huge pages improvements, Adrián Larumbe proposed a patch that avoids splitting huge pages in order to improve performance for frequent partial evictions.
Ashley Smith added timestamp propagation to the Panthor driver so that more accurate timestamps can be retrieved via perf events or via the SYNCOBJ_WAIT ioctl.
Gert Wollny added support for running a PPU flop reset on the GPU GC8000 Nano Ultra VIP r6205 (etnaviv DRM driver) as found on systems such as the ST STM32MP25. It is required to get correct rendering results after powering up from resume.
Deborah Brouwer proposed code cleanups, warning fixes, and modernization in Tyr, the Rust DRM driver for Mali GPUs.
Multimedia
Benjamin Gaignard continued to improve the Verisilicon AV1 stateless decoder stability and conformance by fixing bugs reported by our customers for specific and rare AV1 stream configurations.
NXP have started working on moving to upstream stateless decoder drivers for their BSP and have been facing hardware issues on IM8MQ, where running the two VPU cores concurrently causes memory corruption. Nicolas Dufresne has been helping by turning the v4l2_m2m_dev (which is in fact a scheduler) into a ref-counted object, so it can be shared by the two VPU devices. This allows doing event-based time-multiplexing and prevents both cores from running concurrently.
Dmitry Osipenko proposed a fix to detect and report non-working HDMI input interrupt for the Synopsis HDMI Receiver when using Rockchip's binary-only trusted firmware instead of the open source version on the Rockchip RK3588.
Rockchip hardware enablement
Cristian Ciocaltea expanded the common HDMI PHY configuration API to include the required options for HDMI 2.1 FRL and wired this up in the Rockchip Samsung HDPTX PHY driver, used on RK3588/RK3576 SoCs. HDMI 2.1 transitions from legacy TMDS to Fixed Rate Link (FRL) signaling and achieves a massive 48 Gbps of bandwidth, unlocking lower latency and ultra-high resolutions like 8K@60Hz and 4K@120Hz. Note that support for FRL on the Rockchip SoCs also requires changes in the HDMI controller driver, which have not yet landed. He also landed a work-around for a limitation of the PHY PLL calculator responsible for breaking the video output when using a particular 1080p@120Hz display mode with 10 bits-per-channel and he improved the hotplug detection reliability in the Rockchip DW HDMI QP driver.
Detlev Casanova added support for the H264 and HEVC decoders on RK3588 and RK3576 SoCs. It includes adding an extension to the V4L2 stateless decoder API to support long and short term reference frame sets data. Some rework of the driver was done to support less similar variants than before and extract common functions for all variants. Multicore support is not there yet, but some preparations were done to probe each core in the same instance of the driver and use struct-based register maps to allow preparing decode runs before knowing which core will be used.
Sebastian Reichel prepared the S/PDIF driver used by Rockchip RK3588/RK3576 SoCs for DisplayPort audio support. In the meantime, he also proposed a couple of cleanup patches for that driver. Support for DisplayPort audio itself is being worked on, but has not yet landed.
Michael Riesch continued improving video capture and camera support for Rockchip RK35 SoCs by adding a driver for the MIPI CSI-2 receiver unit. Check out the recording of his FOSDEM '26 presentation for a comprehensive overview.
Daniel Stone fixed up the conformance of the VOP2 display controller with KMS. Atomic checks can now properly fail when applying an unsupported state instead of silently working around hardware limitations.
MediaTek Hardware Enablement
AngeloGioacchino Del Regno expanded support for several MediaTek SoCs like the MT8196 Chromebook including power management enablements (SPMI, DVFSRC, and regulator), display and audio enablements (HDMI, DSI and audio controller), DMA fixes, and Device Tree cleanups.
Louis-Alexis Eyraud enabled the HDMI output for the Mediatek Genio 1200-EVK board and HMDI sound output support for the Mediatek Genio 510, 700, 1200-EVK, and Radxa NIO-12L boards. He also added a new entry in the MediaTek Soc Info driver data for the MT8371 SoC (Genio 520). Finally he added new compatibles in the Device Tree bindings for SPMI and I2C on MT8189 SoC and for HDMI PHY IP on MT8188 SoC.
Nicolas Frattaroli contributed preliminary patches to enable support for the MT8196 SoC. He fixed clock issues and read enabled cores from eFuse to activate the GPU (this is good progress but the GPU will stay off in mainline for stability reasons for now). He also started refactoring and fixing the interconnect driver.
Continuing enablement for the MT8196 SoC, Laura Nao introduced support for the LVTS thermal controller including the necessary driver changes for handling specific conversion logic and calibration offsets.
Nicolas Dufresne improved the Mediatek stateless VP9 decoder to reject upfront decode operation where the subsampling is unsupported by the hardware (YUV 422 and 444).
Sebastian Fricke contributed a patch for the MediaTek Video Codec, preparing for proper error propagation and multi-frame handling.
Nícolas F. R. A. Prado added extra clocks documentation for the MT8195.
Miscellaneous bits
And as usual, all of the above is accompanied by a mixed bag of fixes and improvements.
Beyond his Rockchip work, Cristian Ciocaltea contributed several stability fixes and cleanups for the NAU8821 audio codec driver, which powers devices like the Valve Steam Deck.
Derek Foreman extended the perf tool with a new option to convert events within a specified time range.
Sjoerd Simons proposed a first set of patches upstreaming support for the OpenWrt One, an open hardware access point.
And finally, Vivek Das Mohapatra landed an AMDGPU DRM fix to initialize the backlight level values from the hardware.
Below is a full list of contributions made by Collabora for the 7.0 release, as recorded in the git commit history:
Authored:
Adrián Larumbe:
AngeloGioacchino Del Regno:
- dt-bindings: crypto: inside-secure,safexcel: Mandate only ring IRQs
- dt-bindings: crypto: inside-secure,safexcel: Add SoC compatibles
- spmi: mtk-pmif: Add support for MT8196 SPMI Controller
- spmi: mtk-pmif: Implement Request Capable Slave (RCS) interrupt
- spmi: mtk-pmif: Keep spinlock until read is fully done
- spmi: mtk-pmif: Add multi-bus support for SPMI 2.0
- dt-bindings: spmi: Add MediaTek MT8196 SPMI 2 Arbiter/Controllers
- dt-bindings: clock: mediatek,mt7622-pciesys: Remove syscon compatible
- dt-bindings: mfd: mediatek: mt6397: Add missing MT6331 regulator compat
- dt-bindings: mfd: mediatek,mt8195-scpsys: Add mediatek,mt6795-scpsys
- dt-bindings: mfd: syscon: Allow syscon compatible for mediatek,mt7981-topmisc
- arm64: dts: marvell: Add SoC specific compatibles to SafeXcel crypto
- arm64: dts: mediatek: mt8192: Rename mt8192-afe-pcm to audio-controller
- dt-bindings: arm: mediatek: audsys: Support mt8192-audsys variant
- dt-bindings: phy: mediatek,hdmi-phy: Fix clock output names for MT8195
- drm/mediatek: mtk_dsi: Add support for High Speed (HS) mode
- ASoC: dt-bindings: mt8192-afe-pcm: Fix clocks and clock-names
- arm64: dts: mediatek: mt7988a: Fix PCI-Express T-PHY node address
- arm64: dts: mediatek: mt8186-evb: Add vproc fixed regulator
- arm64: dts: mediatek: mt7981b-openwrt-one: Add address/size cells to eth
- arm64: dts: mediatek: mt7986a: Change compatible for SafeXcel crypto
- arm64: dts: mediatek: mt8173-evb: Add interrupts to DA9211 regulator
- arm64: dts: mediatek: mt6795-xperia-m5: Rename PMIC leds node
- arm64: dts: mediatek: mt6795: Fix issues in SCPSYS node
- arm64: dts: mediatek: mt6331: Fix VCAM IO regulator name
- regulator: dt-bindings: mediatek,mt6331: Add missing ldo-vio28 vreg
- arm64: dts: mediatek: mt6795-xperia-m5: Add UHS pins for MMC1 and 2
- arm64: dts: mediatek: mt8192-asurada: Remove unused clock-stretch-ns
- arm64: dts: mediatek: mt8173-elm: Remove regulators from thermal node
- arm64: dts: mediatek: mt8173-elm: Fix dsi0 ports warning
- arm64: dts: mediatek: mt8173-elm: Fix bluetooth node name and reorder
- arm64: dts: mediatek: mt8183-pumpkin: Fix pinmux node names
- arm64: dts: mediatek: mt8183-jacuzzi-pico6: Fix typo in pinmux node
- arm64: dts: mediatek: mt7981b-openwrt-one: Remove useless cells from flash@0
- arm64: dts: mediatek: mt8183-evb: Fix dtbs_check warnings
- arm64: dts: mediatek: mt8173: Fix pinctrl node names and cleanup
- arm64: dts: mediatek: mt8395-radxa-nio-12l: Enable HDMI output
- arm64: dts: mediatek: mt8390-genio-common: Enable HDMI output
- arm64: dts: mediatek: mt8188: Add DPI1, HDMI, HDMI PHY/DDC nodes
- arm64: dts: mediatek: mt8195: Add DPI1, HDMI, HDMI PHY/DDC nodes
- soc: mediatek: mtk-dvfsrc: Add support for DVFSRCv4 and MT8196
- soc: mediatek: mtk-dvfsrc: Write bandwidth to EMI DDR if present
- soc: mediatek: mtk-dvfsrc: Add a new callback for calc_dram_bw
- soc: mediatek: mtk-dvfsrc: Add and propagate DVFSRC bandwidth type
- soc: mediatek: mtk-dvfsrc: Change error check for DVFSRCv4 START cmd
- dt-bindings: phy: mediatek,hdmi-phy: Fix clock output names for MT8195
- dmaengine: mediatek: mtk-uart-apdma: Add support for Dimensity 9200
- dmaengine: mediatek: mtk-uart-apdma: Add support for Dimensity 6300
- dmaengine: mediatek: mtk-uart-apdma: Rename support_33bits to support_ext_addr
- dmaengine: mediatek: uart-apdma: Fix above 4G addressing TX/RX
- dmaengine: mediatek: uart-apdma: Get addressing bits from match data
- dt-bindings: dma: mediatek,uart-dma: Support all SoC generations
- dt-bindings: dma: mediatek,uart-dma: Deprecate mediatek,dma-33bits
- dt-bindings: dma: mediatek,uart-dma: Allow MT6795 single compatible
- interconnect: mediatek: Add support for MediaTek MT8196 EMI ICC
- dt-bindings: interconnect: mt8183-emi: Add support for MT8196 EMI
Ashley Smith:
Benjamin Gaignard:
- media: verisilicon: AV1: Fix tile info buffer size
- media: verisilicon: AV1: Set IDR flag for intra_only frame type
- media: verisilicon: AV1: Fix tx mode bit setting
- media: verisilicon: AV1: Fix enable cdef computation
Boris Brezillon:
- drm/panfrost: Fix a page leak in panfrost_mmu_map_fault_addr() when THP is on
- drm/gem: Fix a GEM leak in drm_gem_get_unmapped_area()
- drm/panthor: Fix kerneldoc in uAPI header
- drm/gem: Fix builds with CONFIG_MMU=n
- drm/panfrost: Add an ioctl to query BO flags
- drm/panfrost: Expose the selected coherency protocol to the UMD
- drm/panfrost: Provide a custom dma_buf implementation
- drm/panthor: Add an ioctl to query BO flags
- drm/panthor: Add a PANTHOR_BO_SYNC ioctl
- drm/panthor: Expose the selected coherency protocol to the UMD
- drm/panthor: Fix panthor_gpu_coherency_set()
- drm/panthor: Provide a custom dma_buf implementation
- drm/panthor: Unlock the locked region before disabling an AS
- drm/panthor: Make sure caches are flushed/invalidated when an AS is recycled
- drm/panthor: Drop a WARN_ON() in group_free_queue()
- drm/panthor: Kill panthor_sched_immediate_tick()
- drm/panthor: Make sure we resume the tick when new jobs are submitted
- drm/panthor: Fix the logic that decides when to stop ticking
- drm/panthor: Fix immediate ticking on a disabled tick
- drm/panthor: Fix the group priority rotation logic
- drm/panthor: Fix the full_tick check
- drm/panthor: Don't try to enable extract events
- drm/panthor: Simplify group idleness tracking
- drm/panthor: Relax a check in panthor_sched_pre_reset()
- drm/panthor: Make panthor_vm_[un]map_pages() more robust
- drm/panthor: Add support for atomic page table updates
- drm/panthor: Recover from panthor_gpu_flush_caches() failures
- drm/panthor: Kill lock_region()
- drm/panthor: Always wait after sending a command to an AS
Cristian Ciocaltea:
- drm/amdgpu: Fix kernel-doc comments for some LUT properties
- phy: rockchip: samsung-hdptx: Add HDMI 2.1 FRL support
- phy: rockchip: samsung-hdptx: Extend rk_hdptx_phy_verify_hdmi_config() helper
- phy: rockchip: samsung-hdptx: Switch to driver specific HDMI config
- phy: rockchip: samsung-hdptx: Drop hw_rate driver data
- phy: rockchip: samsung-hdptx: Compute clk rate from PLL config
- phy: rockchip: samsung-hdptx: Cleanup *_cmn_init_seq lists
- phy: rockchip: samsung-hdptx: Enable lane output in common helper
- phy: rockchip: samsung-hdptx: Consistently use [rk_]hdptx_[tmds_] prefixes
- phy: rockchip: samsung-hdptx: Fix coding style alignment
- phy: rockchip: samsung-hdptx: Use usleep_range() instead of udelay()
- phy: hdmi: Add HDMI 2.1 FRL configuration options
- drm/rockchip: dw_hdmi_qp: Optimize RK3588 HPD interrupt handling
- drm/rockchip: dw_hdmi_qp: Fix RK3576 HPD interrupt handling
- ASoC: nau8821: Sort #include directives
- ASoC: nau8821: Drop unneeded braces in nau8821_hw_params()
- ASoC: nau8821: Simplify conditional in nau8821_get_osr()
- ASoC: nau8821: Drop superfluous return statement
- ASoC: nau8821: Cancel pending work before suspend
- ASoC: nau8821: Cancel delayed work on component remove
- ASoC: nau8821: Fixup nau8821_enable_jack_detect()
- phy: rockchip: samsung-hdptx: Cleanup TMDS PLL config table
- phy: rockchip: samsung-hdptx: Pre-compute HDMI PLL config for 461.10125 MHz output
Daniel Stone:
- drm/rockchip: vop2: Simplify format_mod_supported
- drm/rockchip: vop2: Use drm_is_afbc helper function
- drm/rockchip: vop2: Enforce AFBC transform stride align in plane_check
- drm/rockchip: vop2: Enforce AFBC source alignment in plane_check
- drm/rockchip: vop2: Enforce scaling workaround in plane_check
- drm/rockchip: vop2: Fix Esmart test condition
- drm/rockchip: vop2: Switch impossible pos conditional to WARN_ON
- drm/rockchip: vop2: Switch impossible format conditional to WARN_ON
Deborah Brouwer:
- drm/tyr: suppress unread field warnings
- drm/tyr: use read_poll_timeout
- drm/tyr: use generated bindings for GpuInfo
Derek Foreman:
Detlev Casanova:
- media: rkvdec: Improve handling missing short/long term RPS
- ASoC: rockchip: i2s-tdm: Use param rate if not provided by set_sysclk
- media: rkvdec: Add HEVC support for the VDPU383 variant
- media: rkvdec: Add HEVC support for the VDPU381 variant
- media: rkvdec: Add H264 support for the VDPU383 variant
- media: rkvdec: Add H264 support for the VDPU381 variant
- media: rkvdec: Disable multicore support
- media: rkvdec: Enable all clocks without naming them
- media: rkvdec: Support per-variant interrupt handler
- media: rkvdec: Add RCB and SRAM support
- media: rkvdec: Add variant specific coded formats list
- media: rkvdec: Move hevc functions to common file
- media: rkvdec: Move h264 functions to common file
- media: rkvdec: Use structs to represent the HW RPS
- media: rkvdec: Move cabac tables to their own source file
- media: rkvdec: Switch to using structs instead of writel
- media: visl: Add HEVC short and long term RPS sets
- media: v4l2-ctrls: Add hevc_ext_sps_[ls]t_rps controls
- media: uapi: HEVC: Add v4l2_ctrl_hevc_ext_sps_[ls]t_rps controls
- arm64: dts: rockchip: Add the vdpu383 Video Decoder on rk3576
- arm64: dts: rockchip: Add the vdpu381 Video Decoders on RK3588
Dmitry Osipenko:
Faith Ekstrand:
- drm/panfrost: Bump the driver version to 1.6
- drm/panfrost: Add flag to map GEM object Write-Back Cacheable
- drm/panfrost: Add a PANFROST_SYNC_BO ioctl
- drm/panthor: Bump the driver version to 1.7
Gert Wollny:
- drm/etnaviv: Add module parameter to force PPU flop reset
- drm/etnaviv: Add PPU flop reset
- drm/etnaviv: Add a new function to emit a series of states to cmd stream
- drm/etnaviv: move some functions to a header to be able to use them externally
- drm/etnaviv: Add command stream definitions required for a PPU flop reset
Laura Nao:
- dt-bindings: nvmem: mediatek: efuse: Add support for MT8196
- thermal/drivers/mediatek/lvts_thermal: Add MT8196 support
- thermal/drivers/mediatek/lvts: Support MSR offset for 16-bit calibration data
- thermal/drivers/mediatek/lvts: Add support for ATP mode
- thermal/drivers/mediatek/lvts: Add lvts_temp_to_raw variant
- thermal/drivers/mediatek/lvts: Add platform ops to support alternative conversion logic
- thermal/drivers/mediatek/lvts: Make number of calibration offsets configurable
- dt-bindings: thermal: mediatek: Add LVTS thermal controller support for MT8196
Louis-Alexis Eyraud:
- dt-bindings: spmi: spmi-mtk-pmif: Add compatible for MT8189 SoC
- dt-bindings: phy: mediatek,hdmi-phy: Add support for MT8188 SoC
- dt-bindings: i2c: i2c-mt65xx: Add compatible for MT8189 SoC
- arm64: dts: mediatek: mt8395-genio-common: Add HDMI sound output support
- arm64: dts: mediatek: mt8395-genio-common: Enable HDMI output
- arm64: dts: mediatek: mt8395-radxa-nio-12l: Add HDMI sound output support
- arm64: dts: mediatek: mt8390-genio-common: Add HDMI sound output support
- soc: mediatek: mtk-socinfo: Add entry for MT8371AV/AZA Genio 520
- arm64: defconfig: Enable Mediatek HDMIv2 driver
- dt-bindings: phy: mediatek,hdmi-phy: Add support for MT8188 SoC
Loïc Molinari:
- drm/gem: Fix kerneldoc warnings
- drm/i915: Fix BO alloc flags
- drm/panthor: Add flag to map GEM object Write-Back Cacheable
- Documentation/gpu/drm-mm: Add THP paragraph to GEM mapping section
- drm/panfrost: Introduce huge tmpfs mountpoint option
- drm/panthor: Introduce huge tmpfs mountpoint option
- drm/gem: Get rid of *_with_mnt helpers
- drm/v3d: Use huge tmpfs mountpoint helpers
- drm/i915: Use huge tmpfs mountpoint helpers
- drm/gem: Add huge tmpfs mountpoint helpers
- drm/gem: Introduce drm_gem_get_unmapped_area() fop
- drm/shmem-helper: Map huge pages in fault handler
- drm/shmem-helper: Simplify page offset calculation in fault handler
Michael Riesch:
- media: synopsys: csi2rx: add missing kconfig dependency
- media: synopsys: csi2rx: fix out-of-bounds check for formats array
- media: synopsys: add driver for the designware mipi csi-2 receiver
- media: dt-bindings: add rockchip mipi csi-2 receiver
Nicolas Dufresne:
- media: v4l2-mem2mem: Add a kref to the v4l2_m2m_dev structure
- media: mediatek: vcodec: Don't try to decode 422/444 VP9
Nicolas Frattaroli:
- clk: mediatek: Add mfg_eb as parent to mt8196 mfgpll clocks
- clk: mediatek: Refactor pllfh registration to pass device
- clk: mediatek: Pass device to clk_hw_register for PLLs
- clk: mediatek: Refactor pll registration to pass device
- clk: Respect CLK_OPS_PARENT_ENABLE during recalc
- drm/panthor: Implement reading shader_present from nvmem
- dt-bindings: gpu: mali-valhall-csf: Add shader-present nvmem cell
- soc: mediatek: mtk-dvfsrc: Rework bandwidth calculations
- soc: mediatek: mtk-dvfsrc: Get and Enable DVFSRC clock
- dt-bindings: soc: mediatek: dvfsrc: Document clock
- interconnect: mediatek: Aggregate bandwidth with saturating add
- interconnect: mediatek: Don't hijack parent device
Nícolas F. R. A. Prado:
- dt-bindings: phy: mediatek,hdmi-phy: Document extra clocks for MT8195
- dt-bindings: phy: mediatek,hdmi-phy: Document extra clocks for MT8195
Sebastian Fricke:
Sebastian Reichel:
- ASoC: dt-bindings: rockchip: Add compatible for RK3576 SPDIF
- ASoC: rockchip: spdif: Convert to FIELD_PREP
- ASoC: rockchip: spdif: Use dev_err_probe
- ASoC: rockchip: spdif: Fully convert to device managed resources
- ASoC: rockchip: spdif: Move DT compatible table
- ASoC: rockchip: spdif: Use device_get_match_data()
- Merge tag 'ib-mfd-clk-gpio-power-regulator-rtc-v6.20' into psy-next
Sjoerd Simons:
- clk: mediatek: Drop __initconst from gates
- arm64: dts: mediatek: mt7981b-openwrt-one: Enable wifi
- arm64: dts: mediatek: mt7981b: Add wifi memory region
- arm64: dts: mediatek: mt7981b: Disable wifi by default
- arm64: dts: mediatek: mt7981b-openwrt-one: Enable Ethernet
- arm64: dts: mediatek: mt7981b: Add Ethernet and WiFi offload support
- arm64: dts: mediatek: mt7981b-openwrt-one: Enable PCIe and USB
- arm64: dts: mediatek: mt7981b: Add PCIe and USB support
- dt-bindings: PCI: mediatek-gen3: Add MT7981 PCIe compatible
Vivek Das Mohapatra:
Maintainer Committed:
AngeloGioacchino Del Regno:
- soc: mediatek: mtk-cmdq: Add mminfra_offset adjustment for DRAM addresses
- soc: mediatek: mtk-cmdq: Extend cmdq_pkt_write API for SoCs without subsys ID
- soc: mediatek: mtk-cmdq: Add pa_base parsing for hardware without subsys ID support
- soc: mediatek: mtk-cmdq: Add cmdq_get_mbox_priv() in cmdq_pkt_create()
- mailbox: mtk-cmdq: Add driver data to support for MT8196
- mailbox: mtk-cmdq: Add mminfra_offset configuration for DRAM transaction
- mailbox: mtk-cmdq: Add GCE hardware virtualization configuration
- mailbox: mtk-cmdq: Add cmdq private data to cmdq_pkt for generating instruction
- arm64: dts: mediatek: mt8183-kukui: Clean up IT6505 regulator supply
- arm64: dts: mediatek: mt8188-geralt: drop firmware-name from first SCP core
- arm64: dts: mediatek: add device tree for Tungsten 700 board
- arm64: dts: mediatek: add device tree for Tungsten 510 board
- arm64: dts: mediatek: mt8188: switch mmc nodes to interrupts-extended
- dt-bindings: arm: mediatek: Add Ezurio Tungsten entries
- dt-bindings: vendor-prefixes: Add Ezurio LLC
- arm64: dts: mediatek: mt8183: Add missing endpoint IDs to display graph
- soc: mediatek: svs: Fix memory leak in svs_enable_debug_write()
- arm64: dts: mediatek: Apply mt8395-radxa DT overlay at build time
- arm64: dts: mediatek: mt7988: add dtbs with applied overlays for bpi-r4 (pro)
- arm64: dts: mediatek: mt7986: add dtbs with applied overlays for bpi-r3
- arm64: dts: airoha: Use hyphen in node names
Boris Brezillon:
- drm/shmem-helper: Fix huge page mapping in fault handler
- drm/panthor: Evict groups before VM termination
- drm/panthor: unlock on error in panthor_ioctl_bo_create()
- drm/panthor: Fix NULL pointer dereference on panthor_fw_unplug
Sebastian Reichel:
- power: supply: bd71828: Use dev_err_probe()
- dt-bindings: power: supply: google,goldfish-battery: Convert to DT schema
- power: supply: qcom_battmgr: Recognize "LiP" as lithium-polymer
- power: supply: wm97xx: Use devm_power_supply_register()
- power: supply: wm97xx: Use devm_kcalloc()
- power: supply: pm8916_lbc: Fix use-after-free for extcon in IRQ handler
- power: reset: tdx-ec-poweroff: fix restart
- docs: power: update documentation about removed function
- power: supply: wm97xx: Fix NULL pointer dereference in power_supply_changed()
- MAINTAINERS: adjust file entry in ROHM BD71828 CHARGER
- power: supply: ab8500_chargalg: improve kernel-doc
- power: supply: sysfs: Constify pointer passed to dev_attr_psp()
- power: supply: bq27xxx: fix wrong errno when bus ops are unsupported
- power: reset: nvmem-reboot-mode: respect cell size for nvmem_cell_write
- power: supply: sbs-battery: Fix use-after-free in power_supply_changed()
- power: supply: rt9455: Fix use-after-free in power_supply_changed()
- power: supply: pm8916_lbc: Fix use-after-free in power_supply_changed()
- power: supply: pm8916_bms_vm: Fix use-after-free in power_supply_changed()
- power: supply: pf1550: Fix use-after-free in power_supply_changed()
- power: supply: goldfish: Fix use-after-free in power_supply_changed()
- power: supply: cpcap-battery: Fix use-after-free in power_supply_changed()
- power: supply: bq25980: Fix use-after-free in power_supply_changed()
- power: supply: bq256xx: Fix use-after-free in power_supply_changed()
- power: supply: act8945a: Fix use-after-free in power_supply_changed()
- power: supply: ab8500: Fix use-after-free in power_supply_changed()
- power: supply: ucs1002: Remove unused gpio include header
- power: supply: cw2015: Remove unused gpio include header
- power: supply: bq25980: Remove unused gpio include header
- power: supply: bq256xx: Remove unused gpio include header
- power: supply: bd99954: Remove unused gpio include header
Signed-off-by:
Nicolas Dufresne:
- media: verisilicon: Fix kernel panic due to __initconst misuse
- media: rkvdec: reduce stack usage in rkvdec_init_v4l2_vp9_count_tbl()
- media: rkvdec: reduce excessive stack usage in assemble_hw_pps()
- media: mediatek: vcodec: Discard pm_runtime_put() return value
- media: rockchip: rga: Fix possible ERR_PTR dereference in rga_buf_init()
- media: amphion: Drop min_queued_buffers assignment
- media: amphion: Use kmalloc instead of vmalloc
- media: amphion: Trigger source change if colorspace changed
- media: amphion: Clear last_buffer_dequeued flag for DEC_CMD_START
- media: docs: dev-decoder: Trigger dynamic source change for colorspace
- media: chips-media: wave5: Fix Potential Probe Resource Leak
- media: platform: mtk-mdp3: add WQ_PERCPU to alloc_workqueue users
- media: verisilicon: Avoid G2 bus error while decoding H.264 and HEVC
- media: mc: add debugfs node to keep track of requests
- media: vicodec: add support for manual completion
- media: mc: add manual request completion
- media: chips-media: wave5: Fix memory leak on codec_info allocation failure
- media: chips-media: wave5: Improve performance of decoder
- media: chips-media: wave5: Add WARN_ON to check if dec_output_info is NULL
- media: chips-media: wave5: Fix Null reference while testing fluster
- media: chips-media: wave5: Fix SError of kernel panic when closed
- media: chips-media: wave5: Fix device cleanup order to prevent kernel panic
- media: chips-media: wave5: Fix kthread worker destruction in polling mode
- media: chips-media: wave5: Fix PM runtime usage count underflow
- media: chips-media: wave5: Process ready frames when CMD_STOP sent to Encoder
- media: chips-media: wave5: Fix conditional in start_streaming
- media: imx-jpeg: Add support for descriptor allocation from SRAM
- media: dt-bindings: nxp,imx8-jpeg: Document optional SRAM support
- media: mtk-mdp: Fix a reference leak bug in mtk_mdp_remove()
- media: mtk-mdp: Fix error handling in probe function
- media: mediatek: amend vpu_get_plat_device() documentation
- media: mediatek: vcodec: use = { } instead of memset()
- media: mediatek: encoder: Fix uninitialized scalar variable issue
Sebastian Reichel:
- ASoC: rockchip: spdif: Fill IEC958 CS info per params
- ASoC: rockchip: spdif: Add support for format S32_LE
- ASoC: rockchip: spdif: Add support for set mclk rate
- ASoC: rockchip: spdif: Swap PCM and DAI component registration order
- ASoC: rockchip: spdif: Improve sample rate support
Reviewed-by:
Adrián Larumbe:
- drm/panfrost: Fix a page leak in panfrost_mmu_map_fault_addr() when THP is on
- drm/panfrost: Add GPU_PM_RT support for RZ/G3E SoC
AngeloGioacchino Del Regno:
- drm/mediatek: dsi: Store driver data before invoking mipi_dsi_host_register
- pinctrl: mediatek: common: Fix probe failure for devices without EINT
- pmdomain: mediatek: Fix power domain count
- remoteproc: mediatek: Unprepare SCP clock during system suspend
- scsi: ufs: host: mediatek: Require CONFIG_PM
- dt-bindings: Fix I2C bus node names in examples
- dt-bindings: spmi: spmi-mtk-pmif: Add compatible for MT8189 SoC
- clk: mediatek: Fix error handling in runtime PM setup
- clk: mediatek: Add mfg_eb as parent to mt8196 mfgpll clocks
- clk: mediatek: Add mfg_eb as parent to mt8196 mfgpll clocks
- clk: mediatek: Refactor pllfh registration to pass device
- clk: mediatek: Pass device to clk_hw_register for PLLs
- clk: mediatek: Refactor pll registration to pass device
- clk: Respect CLK_OPS_PARENT_ENABLE during recalc
- clk: mediatek: Drop __initconst from gates
- dt-bindings: nvmem: mediatek: efuse: Add support for MT8196
- thermal/drivers/mediatek/lvts_thermal: Add MT8196 support
- thermal/drivers/mediatek/lvts: Support MSR offset for 16-bit calibration data
- thermal/drivers/mediatek/lvts: Add support for ATP mode
- thermal/drivers/mediatek/lvts: Add lvts_temp_to_raw variant
- thermal/drivers/mediatek/lvts: Add platform ops to support alternative conversion logic
- thermal/drivers/mediatek/lvts: Make number of calibration offsets configurable
- dt-bindings: thermal: mediatek: Add LVTS thermal controller support for MT8196
- soc: mediatek: mtk-cmdq: Add mminfra_offset adjustment for DRAM addresses
- soc: mediatek: mtk-cmdq: Extend cmdq_pkt_write API for SoCs without subsys ID
- soc: mediatek: mtk-cmdq: Add pa_base parsing for hardware without subsys ID support
- mailbox: mtk-cmdq: Add driver data to support for MT8196
- mailbox: mtk-cmdq: Add mminfra_offset configuration for DRAM transaction
- mailbox: mtk-cmdq: Add GCE hardware virtualization configuration
- mailbox: mtk-cmdq: Add cmdq private data to cmdq_pkt for generating instruction
- mailbox: mtk-cmdq: Add driver data to support for MT8196
- mailbox: mtk-cmdq: Add mminfra_offset configuration for DRAM transaction
- mailbox: mtk-cmdq: Add GCE hardware virtualization configuration
- mailbox: mtk-cmdq: Add cmdq private data to cmdq_pkt for generating instruction
- mailbox: mediatek: Add mtk-vcp-mailbox driver
- dt-bindings: mailbox: mediatek,mt8196-vcp-mbox: add mtk vcp-mbox document
- dt-bindings: i2c: i2c-mt65xx: Add compatible for MT8189 SoC
- i2c: synquacer: Use HZ_PER_GHZ constant instead of plain number
- i2c: st: Use HZ_PER_GHZ constant instead of plain number
- i2c: rk3x: Use HZ_PER_GHZ constant instead of plain number
- i2c: nomadik: Use HZ_PER_GHZ constant instead of plain number
- i2c: mt65xx: Use HZ_PER_GHZ constant instead of plain number
- i2c: mlxbf: Use HZ_PER_GHZ constant instead of custom one
- units: Add HZ_PER_GHZ
- arm64: dts: mediatek: mt8173-elm: Remove regulators from thermal node
- arm64: dts: mediatek: add device tree for Tungsten 700 board
- dt-bindings: arm: mediatek: Add Ezurio Tungsten entries
- dt-bindings: vendor-prefixes: Add Ezurio LLC
- arm64: dts: mediatek: mt7981b: Add PCIe and USB support
- soc: mediatek: mtk-dvfsrc: Rework bandwidth calculations
- soc: mediatek: mtk-dvfsrc: Get and Enable DVFSRC clock
- dt-bindings: soc: mediatek: dvfsrc: Document clock
- dt-bindings: PCI: mediatek-gen3: Add MT7981 PCIe compatible
- media: platform: mtk-mdp3: add WQ_PERCPU to alloc_workqueue users
- media: mediatek: vcodec: Don't try to decode 422/444 VP9
- media: mediatek: amend vpu_get_plat_device() documentation
- media: mediatek: vcodec: use = { } instead of memset()
- media: mediatek: encoder: Fix uninitialized scalar variable issue
- interconnect: mediatek: Aggregate bandwidth with saturating add
- interconnect: mediatek: Don't hijack parent device
Boris Brezillon:
- drm/shmem-helper: Fix huge page mapping in fault handler
- drm/panthor: Correct the order of arguments passed to gem_sync
- drm/gpuvm: use const for drm_gpuva_op_* ptrs
- drm/gpuvm: drm_gpuvm_bo_obtain() requires lock and staged mode
- drm/tests: shmem: Hold reservation lock around purge
- drm/tests: shmem: Hold reservation lock around madvise
- drm/tests: shmem: Hold reservation lock around vmap/vunmap
- drm/tests: shmem: Add clean-up action to unpin pages
- drm/tests: shmem: Swap names of export tests
- drm/panthor: Support partial unmaps of huge pages
- drm/panthor: Evict groups before VM termination
- drm/gem: Fix kerneldoc warnings
- drm/panthor: unlock on error in panthor_ioctl_bo_create()
- drm/panthor: fix for dma-fence safe access rules
- drm/panthor: Fix NULL pointer dereference on panthor_fw_unplug
- Documentation/gpu/drm-mm: Add THP paragraph to GEM mapping section
- drm/panfrost: Introduce huge tmpfs mountpoint option
- drm/panthor: Introduce huge tmpfs mountpoint option
- drm/gem: Get rid of *_with_mnt helpers
- drm/v3d: Use huge tmpfs mountpoint helpers
- drm/gem: Add huge tmpfs mountpoint helpers
- drm/gem: Introduce drm_gem_get_unmapped_area() fop
- drm/shmem-helper: Map huge pages in fault handler
- drm/shmem-helper: Simplify page offset calculation in fault handler
Cristian Ciocaltea:
- drm/bridge: dw-hdmi-qp: fix multi-channel audio output
- drm/bridge: dw-hdmi-qp: Add support for missing HPD
- phy: rockchip: phy-rockchip-samsung-hdptx: convert from round_rate() to determine_rate()
Daniel Almeida:
- rust: regulator: do not assume that regulator_get() returns non-null
- rust: io: macro_export io_define_read!() and io_define_write!()
- rust: irq: add `'static` bounds to irq callbacks
- rust: add `impl_flags!` macro for defining common bitflag operations
- rust: clk: replace `kernel::c_str!` with C-Strings
- rust: seq_file: replace `kernel::c_str!` with C-Strings
- rust: cpufreq: replace `kernel::c_str!` with C-Strings
- rust: cpufreq: always inline functions using build_assert with arguments
- gpu: tyr: remove redundant `.as_ref()` for `dev_*` print
- pwm: th1520: Replace `kernel::c_str!` with C-Strings
- rust: iommu: add io_pgtable abstraction
- samples: rust: i2c: replace `kernel::c_str!` with C-Strings
- rust: i2c: replace `kernel::c_str!` with C-Strings
- rust: build_assert: add instructions for use with function arguments
- drm/tyr: use generated bindings for GpuInfo
- rust: sync: Inline various lock related methods
- rust: sync: Implement Unpin for ARef
- rust: sync: Clean up LockClassKey and its docs
- rust: sync: Refactor static_lock_class!() macro
- rust: usb: use "kernel vertical" style for imports
- rust: usb: add __rust_helper to helpers
- drivers: net: replace `kernel::c_str!` with C-Strings
- rust: net: replace `kernel::c_str!` with C-Strings
- rust: Return Option from page_align and ensure no usize overflow
- rust_binder: replace `kernel::c_str!` with C-Strings
- rust: miscdevice: replace `kernel::c_str!` with C-Strings
- rust: sync: add Arc::DATA_OFFSET
- rnull: replace `kernel::c_str!` with C-Strings
- drm: tyr: replace `kernel::c_str!` with C-Strings
- gpu: nova: replace `kernel::c_str!` with C-Strings
- samples: rust: pci: replace `kernel::c_str!` with C-Strings
- samples: rust: debugfs: replace `kernel::c_str!` with C-Strings
- rust: debugfs: replace `kernel::c_str!` with C-Strings
- rust: irq: replace `kernel::c_str!` with C-Strings
- rust: io: replace `kernel::c_str!` with C-Strings
- rust: platform: replace `kernel::c_str!` with C-Strings
- rust: device: replace `kernel::c_str!` with C-Strings
- rust: auxiliary: replace `kernel::c_str!` with C-Strings
Daniel Almeida:
Daniel Stone:
Julien Massot:
- media: ccs: Support frame descriptors
- media: ccs: Track streaming state
- media: ccs: Move ccs_validate_csi_data_format up
Laura Nao:
Loïc Molinari:
Michael Riesch:
Nicolas Dufresne:
- media: rkvdec: reduce stack usage in rkvdec_init_v4l2_vp9_count_tbl()
- media: rkvdec: reduce excessive stack usage in assemble_hw_pps()
- media: rkvdec: Improve handling missing short/long term RPS
- media: rkvdec: Add HEVC support for the VDPU383 variant
- media: rkvdec: Add HEVC support for the VDPU381 variant
- media: rkvdec: Add H264 support for the VDPU383 variant
- media: rkvdec: Add H264 support for the VDPU381 variant
- media: rkvdec: Disable multicore support
- media: rkvdec: Enable all clocks without naming them
- media: rkvdec: Support per-variant interrupt handler
- media: rkvdec: Add RCB and SRAM support
- media: rkvdec: Add variant specific coded formats list
- media: rkvdec: Move hevc functions to common file
- media: rkvdec: Move h264 functions to common file
- media: rkvdec: Use structs to represent the HW RPS
- media: rkvdec: Move cabac tables to their own source file
- media: rkvdec: Switch to using structs instead of writel
- media: visl: Add HEVC short and long term RPS sets
- media: v4l2-ctrls: Add hevc_ext_sps_[ls]t_rps controls
- media: uapi: HEVC: Add v4l2_ctrl_hevc_ext_sps_[ls]t_rps controls
- media: verisilicon: AV1: Fix tile info buffer size
- media: v4l2: Add description for V4L2_PIX_FMT_AV1 in v4l_fill_fmtdesc()
- media: uapi: videodev2: Add support for AV1 stateful decoder
- media: verisilicon: AV1: Set IDR flag for intra_only frame type
- media: mediatek: vcodec: Discard pm_runtime_put() return value
- media: amphion: Drop min_queued_buffers assignment
- media: amphion: Use kmalloc instead of vmalloc
- media: amphion: Trigger source change if colorspace changed
- media: amphion: Clear last_buffer_dequeued flag for DEC_CMD_START
- media: docs: dev-decoder: Trigger dynamic source change for colorspace
- media: verisilicon: AV1: Fix enable cdef computation
- media: chips-media: wave5: Fix SError of kernel panic when closed
- media: chips-media: wave5: Fix device cleanup order to prevent kernel panic
- media: chips-media: wave5: Fix kthread worker destruction in polling mode
- media: chips-media: wave5: Fix PM runtime usage count underflow
- media: chips-media: wave5: Process ready frames when CMD_STOP sent to Encoder
- media: chips-media: wave5: Fix conditional in start_streaming
Nicolas Frattaroli:
Nícolas F. R. A. Prado:
- spmi: mtk-pmif: Add support for MT8196 SPMI Controller
- spmi: mtk-pmif: Implement Request Capable Slave (RCS) interrupt
- spmi: mtk-pmif: Keep spinlock until read is fully done
- spmi: mtk-pmif: Add multi-bus support for SPMI 2.0
- dt-bindings: spmi: Add MediaTek MT8196 SPMI 2 Arbiter/Controllers
Robert Mader:
Sebastian Reichel:
- HID: input: Add HID_BATTERY_QUIRK_DYNAMIC for Elan touchscreens
- pmdomain: rockchip: Fix PD_VCODEC for RK3588
- drm/rockchip: vop2: Add mode valid callback for crtc
- power: supply: bd71828: Support wider register addresses
- media: synopsys: hdmirx: Detect broken interrupt
- arm64: dts: rockchip: fix hp-det pin for ArmSoM Sige5
- arm64: dts: rockchip: remove rtc regulator for ArmSoM Sige5
Acked-by:
AngeloGioacchino Del Regno:
- soc: mediatek: mtk-cmdq: Add mminfra_offset adjustment for DRAM addresses
- soc: mediatek: mtk-cmdq: Extend cmdq_pkt_write API for SoCs without subsys ID
- soc: mediatek: mtk-cmdq: Add pa_base parsing for hardware without subsys ID support
- soc: mediatek: mtk-cmdq: Add cmdq_get_mbox_priv() in cmdq_pkt_create()
- mailbox: mtk-cmdq: Add driver data to support for MT8196
- mailbox: mtk-cmdq: Add mminfra_offset configuration for DRAM transaction
- mailbox: mtk-cmdq: Add GCE hardware virtualization configuration
- mailbox: mtk-cmdq: Add cmdq private data to cmdq_pkt for generating instruction
- arm64: dts: mediatek: mt7986: add dtbs with applied overlays for bpi-r3
AngeloGioacchino Del Regno:
Boris Brezillon:
Daniel Stone:
Tested-by:
AngeloGioacchino Del Regno:
- dt-bindings: nvmem: mediatek: efuse: Add support for MT8196
- thermal/drivers/mediatek/lvts_thermal: Add MT8196 support
- thermal/drivers/mediatek/lvts: Support MSR offset for 16-bit calibration data
- thermal/drivers/mediatek/lvts: Add support for ATP mode
- thermal/drivers/mediatek/lvts: Add lvts_temp_to_raw variant
- thermal/drivers/mediatek/lvts: Make number of calibration offsets configurable
- dt-bindings: thermal: mediatek: Add LVTS thermal controller support for MT8196
Arnaud Ferraris:
- usb: roles: get usb role switch from parent only for usb-b-connector
- Revert "tcpm: allow looking for role_sw device in the main node"
Boris Brezillon:
Deborah Brouwer:
Derek Foreman:
Louis-Alexis Eyraud:
Sebastian Reichel:
Valentine Burley:
Reported-by:
Boris Brezillon:
Valentine Burley: