Hi Dave, Sima, this is the weekly PR for drm-misc-next. It has quite a number of highlights: * There is the new device wedge event, which allows drivers to report unresponsive hardware to user space via a uevent. Drivers for AMD and Intel HW already use the functionality. * The i2c subdirectory has been removed after all code has been moved elsewhere. * Atomic helpers now support asyncronous pageflips on arbitrary planes. Amdgpu already supports this. And of course there's the usual amount of fixes, cleanups and small additions. Best regards Thomas drm-misc-next-2025-02-20: drm-misc-next for v6.15: UAPI Changes: device-wedged events: - Let's drivers notify userspace of hung-up devices via uevent Cross-subsystem Changes: media: - cec: tda998x: Import driver from DRM Core Changes: - Cleanups atomic-helper: - async-flip: Support on arbitrary planes - writeback: Fix use-after-free error - Document atomic-state history - Pleanty of cleanups to callback parameter names doc: - Test for kernel-doc errors format-helper: - Support ARGB8888-to-ARGB4444 pixel-format conversion panel-orientation-quirks: - Add quirks for AYANEO 2S, AYA NEO Flip DS and KB, AYA NEO Slide, GPD Win 2, OneXPlayer Mini (Intel) sched: - Add parameter struct for init Driver Changes: amdgpu: - Support device-wedged event - Support async pageflips on overlay planes amdxdna: - Refactoring ast: - Refactor cursor handling bridge: - Pass full atomic state to various callbacks - analogix-dp: Cleanups - cdns-mhdp8546: Fix clock enable/disable - nwl-dsi: Set bridge type - panel: Cleanups - ti-sn65dsi83: Add error recovery; Set bridge type i2c: - tda998x: Drop unused platform_data; Split driver into separate media and bridge drivers - Remove the obsolete directory i915: - Support device-wedged event nouveau: - Fixes panel: - visionox-r66451: Use multi-style MIPI-DSI functions v3d: - Handle clock vkms: - Fix use-after-free error xe: - Support device-wedged event xlnx: - Use mutex guards - Cleanups The following changes since commit 0ed1356af8f629ae807963b7db4e501e3b580bc2: Merge tag 'drm-misc-next-2025-02-12' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next (2025-02-14 10:24:02 +1000) are available in the Git repository at: https://gitlab.freedesktop.org/drm/misc/kernel.git tags/drm-misc-next-2025-02-20 for you to fetch changes up to e82e1a0c22d841f379b1c768469dcdaae650e443: drm/ast: cursor: Move implementation to separate source file (2025-02-20 08:38:34 +0100) ---------------------------------------------------------------- drm-misc-next for v6.15: UAPI Changes: device-wedged events: - Let's drivers notify userspace of hung-up devices via uevent Cross-subsystem Changes: media: - cec: tda998x: Import driver from DRM Core Changes: - Cleanups atomic-helper: - async-flip: Support on arbitrary planes - writeback: Fix use-after-free error - Document atomic-state history - Pleanty of cleanups to callback parameter names doc: - Test for kernel-doc errors format-helper: - Support ARGB8888-to-ARGB4444 pixel-format conversion panel-orientation-quirks: - Add quirks for AYANEO 2S, AYA NEO Flip DS and KB, AYA NEO Slide, GPD Win 2, OneXPlayer Mini (Intel) sched: - Add parameter struct for init Driver Changes: amdgpu: - Support device-wedged event - Support async pageflips on overlay planes amdxdna: - Refactoring ast: - Refactor cursor handling bridge: - Pass full atomic state to various callbacks - analogix-dp: Cleanups - cdns-mhdp8546: Fix clock enable/disable - nwl-dsi: Set bridge type - panel: Cleanups - ti-sn65dsi83: Add error recovery; Set bridge type i2c: - tda998x: Drop unused platform_data; Split driver into separate media and bridge drivers - Remove the obsolete directory i915: - Support device-wedged event nouveau: - Fixes panel: - visionox-r66451: Use multi-style MIPI-DSI functions v3d: - Handle clock vkms: - Fix use-after-free error xe: - Support device-wedged event xlnx: - Use mutex guards - Cleanups ---------------------------------------------------------------- Alexander Stein (2): drm/bridge: ti-sn65dsi83: Set bridge type drm/bridge: nwl-dsi: Set bridge type Andrew Wyatt (5): drm: panel-orientation-quirks: Add support for AYANEO 2S drm: panel-orientation-quirks: Add quirks for AYA NEO Flip DS and KB drm: panel-orientation-quirks: Add quirk for AYA NEO Slide drm: panel-orientation-quirks: Add new quirk for GPD Win 2 drm: panel-orientation-quirks: Add quirk for OneXPlayer Mini (Intel) André Almeida (3): drm/amdgpu: Use device wedged event drm/atomic: Let drivers decide which planes to async flip drm/amdgpu: Enable async flip on overlay planes Bart Van Assche (1): drm: zynqmp_dp: Fix a deadlock in zynqmp_dp_ignore_hpd_set() Dan Carpenter (3): drm/tests: Fix a test in drm_test_check_valid_clones() drm: writeback: Fix use after free in drm_writeback_connector_cleanup() drm/nouveau: Fix error pointer dereference in r535_gsp_msgq_recv() Dmitry Baryshkov (4): drm/i2c: tda998x: drop support for platform_data media: cec: move driver for TDA9950 from drm/i2c drm/i2c: move TDA998x driver under drivers/gpu/drm/bridge drm: drop i2c subdir from Makefile Herve Codina (4): dt-bindings: display: bridge: sn65dsi83: Add interrupt drm/atomic-helper: Introduce drm_atomic_helper_reset_crtc() drm/vc4: hdmi: Use drm_atomic_helper_reset_crtc() drm: bridge: ti-sn65dsi83: Add error recovery mechanism Jani Nikula (2): drm/client: include types.h to make drm_client_event.h self-contained drm: ensure drm headers are self-contained and pass kernel-doc Jinjie Ruan (1): drm: zynqmp_dp: Use devm_platform_ioremap_resource_byname() José Expósito (1): drm/vkms: Fix use after free and double free on init error Lizhi Hou (1): accel/amdxdna: Refactor hardware context destroy routine Luca Ceresoli (5): drm/debugfs: fix printk format for bridge index drm: of: drm_of_find_panel_or_bridge: move misplaced comment drm/bridge: panel: use drm_bridge_is_panel() instead of open code drm/bridge: panel: drm_panel_bridge_remove: warn when called on non-panel bridge drm/bridge: panel: forbid initializing a panel with unknown connector type Maxime Ripard (26): drm/atomic: Document history of drm_atomic_state drm/bridge: Pass full state to atomic_pre_enable drm/bridge: Pass full state to atomic_enable drm/bridge: Pass full state to atomic_disable drm/bridge: Pass full state to atomic_post_disable drm/atomic-helper: Fix commit_tail state variable name drm/atomic-helper: Change parameter name of drm_atomic_helper_wait_for_dependencies() drm/atomic-helper: Change parameter name of drm_atomic_helper_commit_tail() drm/atomic-helper: Change parameter name of drm_atomic_helper_commit_tail_rpm() drm/atomic-helper: Change parameter name of drm_atomic_helper_modeset_disables() drm/atomic-helper: Change parameter name of disable_outputs() drm/bridge: Change parameter name of drm_atomic_bridge_chain_disable() drm/bridge: Change parameter name of drm_atomic_bridge_chain_post_disable() drm/atomic-helper: Change parameter name of drm_atomic_helper_update_legacy_modeset_state() drm/atomic-helper: Change parameter name of crtc_set_mode() drm/atomic-helper: Change parameter name of drm_atomic_helper_commit_planes() drm/atomic-helper: Change parameter name of drm_atomic_helper_commit_modeset_enables() drm/bridge: Change parameter name of drm_atomic_bridge_chain_pre_enable() drm/bridge: Change parameter name of drm_atomic_bridge_chain_enable() drm/atomic-helper: Change parameter name of drm_atomic_helper_commit_writebacks() drm/atomic-helper: Change parameter name of drm_atomic_helper_fake_vblank() drm/atomic-helper: Change parameter name of drm_atomic_helper_commit_hw_done() drm/atomic-helper: Change parameter name of drm_atomic_helper_wait_for_vblanks() drm/atomic-helper: Change parameter name of drm_atomic_helper_cleanup_planes() drm/atomic-helper: Change parameter name of drm_atomic_helper_commit_cleanup_done() drm/atomic-helper: Change parameter name of drm_atomic_helper_wait_for_flip_done() Philipp Stanner (1): drm/sched: Use struct for drm_sched_init() params Raag Jadav (4): drm: Introduce device wedged event drm/doc: Document device wedged event drm/xe: Use device wedged event drm/i915: Use device wedged event Sean Anderson (1): drm: zynqmp_dp: Use scope-based mutex helpers Shixiong Ou (1): drm/bridge: analogix_dp: Use devm_platform_ioremap_resource() Stefan Wahren (1): drm/v3d: Add clock handling Tejas Vipin (1): drm/panel: visionox-r66451: transition to mipi_dsi wrapped functions Thomas Hellström (1): MAINTAINERS: Add TTM reviewers Thomas Zimmermann (5): Merge drm/drm-next into drm-misc-next drm/ast: cursor: Calculate checksum in helper drm/ast: cursor: Move format conversion to shared helper drm/ast: cursor: Add support for ARGB4444 drm/ast: cursor: Move implementation to separate source file Vitalii Mordan (1): gpu: cdns-mhdp8546: fix call balance of mhdp->clk handling routines .../bindings/display/bridge/ti,sn65dsi83.yaml | 3 + Documentation/gpu/drm-uapi.rst | 116 +++++++- Kbuild | 1 + MAINTAINERS | 5 +- drivers/accel/amdxdna/aie2_ctx.c | 49 ++-- drivers/accel/amdxdna/amdxdna_ctx.c | 2 + drivers/accel/amdxdna/amdxdna_ctx.h | 3 + drivers/gpu/drm/Kconfig | 13 +- drivers/gpu/drm/Makefile | 19 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 22 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c | 11 +- drivers/gpu/drm/arm/Kconfig | 1 + drivers/gpu/drm/ast/Makefile | 1 + drivers/gpu/drm/ast/ast_cursor.c | 309 +++++++++++++++++++++ drivers/gpu/drm/ast/ast_drv.h | 41 ++- drivers/gpu/drm/ast/ast_mode.c | 273 +----------------- drivers/gpu/drm/bridge/Kconfig | 8 + drivers/gpu/drm/bridge/Makefile | 4 + drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 4 +- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 29 +- drivers/gpu/drm/bridge/analogix/anx7625.c | 8 +- .../gpu/drm/bridge/cadence/cdns-mhdp8546-core.c | 17 +- drivers/gpu/drm/bridge/chipone-icn6211.c | 7 +- drivers/gpu/drm/bridge/fsl-ldb.c | 5 +- drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c | 7 +- drivers/gpu/drm/bridge/imx/imx8qm-ldb.c | 10 +- drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c | 21 +- .../gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c | 5 +- drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c | 10 +- drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c | 8 +- drivers/gpu/drm/bridge/ite-it6263.c | 11 +- drivers/gpu/drm/bridge/ite-it6505.c | 9 +- drivers/gpu/drm/bridge/ite-it66121.c | 5 +- drivers/gpu/drm/bridge/lontium-lt9211.c | 5 +- drivers/gpu/drm/bridge/lontium-lt9611.c | 18 +- drivers/gpu/drm/bridge/nwl-dsi.c | 11 +- drivers/gpu/drm/bridge/panel.c | 16 +- drivers/gpu/drm/bridge/parade-ps8640.c | 4 +- drivers/gpu/drm/bridge/samsung-dsim.c | 8 +- drivers/gpu/drm/bridge/sii902x.c | 4 +- drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c | 5 +- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 5 +- drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 6 +- drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c | 6 +- drivers/gpu/drm/bridge/tc358762.c | 9 +- drivers/gpu/drm/bridge/tc358767.c | 20 +- drivers/gpu/drm/{i2c => bridge}/tda998x_drv.c | 49 +--- drivers/gpu/drm/bridge/ti-dlpc3433.c | 6 +- drivers/gpu/drm/bridge/ti-sn65dsi83.c | 150 +++++++++- drivers/gpu/drm/bridge/ti-sn65dsi86.c | 10 +- drivers/gpu/drm/bridge/ti-tdp158.c | 6 +- drivers/gpu/drm/drm_atomic_helper.c | 285 +++++++++++-------- drivers/gpu/drm/drm_atomic_uapi.c | 37 ++- drivers/gpu/drm/drm_bridge.c | 79 ++---- drivers/gpu/drm/drm_debugfs.c | 2 +- drivers/gpu/drm/drm_drv.c | 68 +++++ drivers/gpu/drm/drm_format_helper.c | 69 +++++ drivers/gpu/drm/drm_of.c | 2 +- drivers/gpu/drm/drm_panel.c | 5 +- drivers/gpu/drm/drm_panel_orientation_quirks.c | 46 ++- drivers/gpu/drm/drm_writeback.c | 2 +- drivers/gpu/drm/etnaviv/etnaviv_sched.c | 20 +- drivers/gpu/drm/i2c/Kconfig | 18 -- drivers/gpu/drm/i2c/Makefile | 4 - drivers/gpu/drm/i915/gt/intel_reset.c | 3 + drivers/gpu/drm/imagination/pvr_queue.c | 18 +- drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 4 +- drivers/gpu/drm/lima/lima_sched.c | 16 +- drivers/gpu/drm/loongson/lsdc_plane.c | 3 +- drivers/gpu/drm/mediatek/mtk_dp.c | 6 +- drivers/gpu/drm/mediatek/mtk_dsi.c | 8 +- drivers/gpu/drm/mediatek/mtk_hdmi.c | 9 +- drivers/gpu/drm/mediatek/mtk_plane.c | 2 +- drivers/gpu/drm/meson/meson_encoder_cvbs.c | 5 +- drivers/gpu/drm/meson/meson_encoder_dsi.c | 5 +- drivers/gpu/drm/meson/meson_encoder_hdmi.c | 5 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c | 2 +- drivers/gpu/drm/msm/dp/dp_display.c | 28 +- drivers/gpu/drm/msm/dp/dp_drm.c | 19 +- drivers/gpu/drm/msm/dp/dp_drm.h | 6 +- drivers/gpu/drm/msm/msm_ringbuffer.c | 17 +- drivers/gpu/drm/nouveau/nouveau_sched.c | 16 +- drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c | 1 + drivers/gpu/drm/omapdrm/dss/hdmi4.c | 5 +- drivers/gpu/drm/omapdrm/dss/hdmi5.c | 5 +- drivers/gpu/drm/panel/panel-visionox-r66451.c | 181 +++++------- drivers/gpu/drm/panfrost/panfrost_job.c | 20 +- drivers/gpu/drm/panthor/panthor_mmu.c | 16 +- drivers/gpu/drm/panthor/panthor_sched.c | 28 +- drivers/gpu/drm/renesas/rcar-du/rcar_lvds.c | 5 +- drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c | 4 +- drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c | 5 +- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 2 +- drivers/gpu/drm/scheduler/sched_main.c | 50 ++-- drivers/gpu/drm/stm/lvds.c | 5 +- drivers/gpu/drm/tegra/dc.c | 3 +- drivers/gpu/drm/tests/drm_atomic_state_test.c | 2 +- drivers/gpu/drm/v3d/v3d_drv.c | 25 +- drivers/gpu/drm/v3d/v3d_sched.c | 65 ++--- drivers/gpu/drm/vc4/vc4_dsi.c | 9 +- drivers/gpu/drm/vc4/vc4_hdmi.c | 30 +- drivers/gpu/drm/vc4/vc4_plane.c | 2 +- drivers/gpu/drm/vkms/vkms_drv.c | 15 +- drivers/gpu/drm/xe/xe_device.c | 7 +- drivers/gpu/drm/xe/xe_execlist.c | 15 +- drivers/gpu/drm/xe/xe_gpu_scheduler.c | 17 +- drivers/gpu/drm/xlnx/zynqmp_dp.c | 165 ++++------- drivers/media/cec/i2c/Kconfig | 9 + drivers/media/cec/i2c/Makefile | 1 + drivers/{gpu/drm => media/cec}/i2c/tda9950.c | 0 include/Kbuild | 1 + include/drm/Makefile | 18 ++ include/drm/drm_atomic.h | 31 +++ include/drm/drm_atomic_helper.h | 2 + include/drm/drm_bridge.h | 8 +- include/drm/drm_client_event.h | 2 + include/drm/drm_device.h | 8 + include/drm/drm_drv.h | 1 + include/drm/drm_format_helper.h | 3 + include/drm/drm_modeset_helper_vtables.h | 7 +- include/drm/gpu_scheduler.h | 36 ++- include/drm/i2c/tda998x.h | 40 --- 122 files changed, 1760 insertions(+), 1273 deletions(-) create mode 100644 drivers/gpu/drm/ast/ast_cursor.c rename drivers/gpu/drm/{i2c => bridge}/tda998x_drv.c (97%) delete mode 100644 drivers/gpu/drm/i2c/Kconfig delete mode 100644 drivers/gpu/drm/i2c/Makefile rename drivers/{gpu/drm => media/cec}/i2c/tda9950.c (100%) create mode 100644 include/Kbuild create mode 100644 include/drm/Makefile delete mode 100644 include/drm/i2c/tda998x.h -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Frankenstrasse 146, 90461 Nuernberg, Germany GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman HRB 36809 (AG Nuernberg)