Hi, Here's this week drm-misc-next PR. It's been fairly calm, but there's one big change: the IMG GPU driver is now merged! Maxime drm-misc-next-2023-11-23: drm-misc-next for 6.8: UAPI Changes: Cross-subsystem Changes: Core Changes: - Drop deprecated drm_kms_helper.edid_firmware module parameter Driver Changes: - Convert platform drivers remove callback to return void - imagination: Introduction of the Imagination GPU Support - rockchip: - rk3066_hdmi: Convert to atomic - vop2: Support NV20 and NV30 - panel: - elida-kd35t133: PM reworks - New panels: Powkiddy RK2023 The following changes since commit 3b434a3445fff3149128db0169da864d67057325: accel/ivpu: Use threaded IRQ to handle JOB done messages (2023-11-16 13:41:49 +0100) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2023-11-23 for you to fetch changes up to 815d8b0425ad1164e45953ac3d56a9f6f63792cc: drm/imagination: Add driver documentation (2023-11-23 09:01:47 +0100) ---------------------------------------------------------------- drm-misc-next for 6.8: UAPI Changes: Cross-subsystem Changes: Core Changes: - Drop deprecated drm_kms_helper.edid_firmware module parameter Driver Changes: - Convert platform drivers remove callback to return void - imagination: Introduction of the Imagination GPU Support - rockchip: - rk3066_hdmi: Convert to atomic - vop2: Support NV20 and NV30 - panel: - elida-kd35t133: PM reworks - New panels: Powkiddy RK2023 ---------------------------------------------------------------- Abhinav Singh (1): drm/nouveau/fence:: fix warning directly dereferencing a rcu pointer Arnd Bergmann (1): drm/rockchip: rk3066_hdmi: include drm/drm_atomic.h Chris Morgan (8): dt-bindings: display: nv3051d: Update NewVision NV3051D compatibles drm/panel: nv3051d: Hold panel in reset for unprepare drm/panel: nv3051d: Add Powkiddy RK2023 Panel Support drm/panel-elida-kd35t133: trival: update panel size from 5.5 to 3.5 drm/panel-elida-kd35t133: hold panel in reset for unprepare drm/panel-elida-kd35t133: drop drm_connector_set_orientation_from_panel drm/panel-elida-kd35t133: Drop shutdown logic drm/panel-elida-kd35t133: Drop prepare/unprepare logic Donald Robson (2): drm/gpuvm: Helper to get range of unmap from a remap op. drm/imagination: Add GEM and VM related code Jani Nikula (1): drm/edid/firmware: drop drm_kms_helper.edid_firmware backward compat Jeffrey Hugo (1): accel/qaic: Update MAX_ORDER use to be inclusive Johan Jonker (2): drm/rockchip: rk3066_hdmi: Remove useless mode_fixup drm/rockchip: rk3066_hdmi: Switch encoder hooks to atomic Jonas Karlman (1): drm/rockchip: vop2: Add NV20 and NV30 support Kees Cook (1): dma-buf: Replace strlcpy() with strscpy() Luben Tuikov (1): drm/print: Handle NULL drm device in __drm_printk() Matt Coster (1): sizes.h: Add entries between SZ_32G and SZ_64T Richard Acayan (1): fbdev/simplefb: Suppress error on missing power domains Sarah Walker (17): dt-bindings: gpu: Add Imagination Technologies PowerVR/IMG GPU drm/imagination/uapi: Add PowerVR driver UAPI drm/imagination: Add skeleton PowerVR driver drm/imagination: Get GPU resources drm/imagination: Add GPU register headers drm/imagination: Add firmware and MMU related headers drm/imagination: Add FWIF headers drm/imagination: Add GPU ID parsing and firmware loading drm/imagination: Implement power management drm/imagination: Implement firmware infrastructure and META FW support drm/imagination: Implement MIPS firmware processor and MMU support drm/imagination: Implement free list and HWRT create and destroy ioctls drm/imagination: Implement context creation/destruction ioctls drm/imagination: Implement job submission and scheduling drm/imagination: Add firmware trace header drm/imagination: Add firmware trace to debugfs drm/imagination: Add driver documentation Tomi Valkeinen (1): drm/tilcdc: Fix irq free on unload Uwe Kleine-König (14): drm/bridge: tpd12s015: Drop buggy __exit annotation for remove function drm/arcpgu: Convert to platform remove callback returning void drm/armada: Convert to platform remove callback returning void drm/bridge: cdns-mhdp8546: Improve error reporting in remove callback drm/bridge: cdns-mhdp8546: Convert to platform remove callback returning void drm/bridge: tpd12s015: Convert to platform remove callback returning void drm/etnaviv: Convert to platform remove callback returning void drm/imx/dcss: Convert to platform remove callback returning void drm/imx: lcdc: Convert to platform remove callback returning void drm/kmb: Convert to platform remove callback returning void drm/mediatek: Convert to platform remove callback returning void drm/meson: Convert to platform remove callback returning void drm/nouveau: Convert to platform remove callback returning void drm/sprd: Convert to platform remove callback returning void Yang Li (1): drm/nouveau/fifo: Remove duplicated include in chan.c .../bindings/display/panel/newvision,nv3051d.yaml | 2 +- .../devicetree/bindings/gpu/img,powervr.yaml | 73 + Documentation/gpu/drivers.rst | 2 + Documentation/gpu/imagination/index.rst | 13 + Documentation/gpu/imagination/uapi.rst | 174 + MAINTAINERS | 10 + drivers/accel/qaic/qaic_data.c | 2 +- drivers/dma-buf/dma-buf.c | 4 +- drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm/Makefile | 1 + drivers/gpu/drm/armada/armada_crtc.c | 5 +- drivers/gpu/drm/armada/armada_drv.c | 5 +- .../gpu/drm/bridge/cadence/cdns-mhdp8546-core.c | 26 +- drivers/gpu/drm/bridge/ti-tpd12s015.c | 6 +- drivers/gpu/drm/drm_edid_load.c | 16 - drivers/gpu/drm/drm_kms_helper_common.c | 32 - drivers/gpu/drm/etnaviv/etnaviv_drv.c | 6 +- drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 5 +- drivers/gpu/drm/imagination/Kconfig | 18 + drivers/gpu/drm/imagination/Makefile | 35 + drivers/gpu/drm/imagination/pvr_ccb.c | 645 ++ drivers/gpu/drm/imagination/pvr_ccb.h | 71 + drivers/gpu/drm/imagination/pvr_cccb.c | 267 + drivers/gpu/drm/imagination/pvr_cccb.h | 109 + drivers/gpu/drm/imagination/pvr_context.c | 464 ++ drivers/gpu/drm/imagination/pvr_context.h | 205 + drivers/gpu/drm/imagination/pvr_debugfs.c | 53 + drivers/gpu/drm/imagination/pvr_debugfs.h | 29 + drivers/gpu/drm/imagination/pvr_device.c | 658 +++ drivers/gpu/drm/imagination/pvr_device.h | 710 +++ drivers/gpu/drm/imagination/pvr_device_info.c | 254 + drivers/gpu/drm/imagination/pvr_device_info.h | 186 + drivers/gpu/drm/imagination/pvr_drv.c | 1501 +++++ drivers/gpu/drm/imagination/pvr_drv.h | 129 + drivers/gpu/drm/imagination/pvr_free_list.c | 625 ++ drivers/gpu/drm/imagination/pvr_free_list.h | 195 + drivers/gpu/drm/imagination/pvr_fw.c | 1489 +++++ drivers/gpu/drm/imagination/pvr_fw.h | 508 ++ drivers/gpu/drm/imagination/pvr_fw_info.h | 135 + drivers/gpu/drm/imagination/pvr_fw_meta.c | 554 ++ drivers/gpu/drm/imagination/pvr_fw_meta.h | 14 + drivers/gpu/drm/imagination/pvr_fw_mips.c | 252 + drivers/gpu/drm/imagination/pvr_fw_mips.h | 48 + drivers/gpu/drm/imagination/pvr_fw_startstop.c | 306 + drivers/gpu/drm/imagination/pvr_fw_startstop.h | 13 + drivers/gpu/drm/imagination/pvr_fw_trace.c | 515 ++ drivers/gpu/drm/imagination/pvr_fw_trace.h | 78 + drivers/gpu/drm/imagination/pvr_gem.c | 414 ++ drivers/gpu/drm/imagination/pvr_gem.h | 170 + drivers/gpu/drm/imagination/pvr_hwrt.c | 549 ++ drivers/gpu/drm/imagination/pvr_hwrt.h | 165 + drivers/gpu/drm/imagination/pvr_job.c | 788 +++ drivers/gpu/drm/imagination/pvr_job.h | 161 + drivers/gpu/drm/imagination/pvr_mmu.c | 2637 +++++++++ drivers/gpu/drm/imagination/pvr_mmu.h | 108 + drivers/gpu/drm/imagination/pvr_params.c | 147 + drivers/gpu/drm/imagination/pvr_params.h | 72 + drivers/gpu/drm/imagination/pvr_power.c | 433 ++ drivers/gpu/drm/imagination/pvr_power.h | 41 + drivers/gpu/drm/imagination/pvr_queue.c | 1432 +++++ drivers/gpu/drm/imagination/pvr_queue.h | 169 + drivers/gpu/drm/imagination/pvr_rogue_cr_defs.h | 6193 ++++++++++++++++++++ .../gpu/drm/imagination/pvr_rogue_cr_defs_client.h | 159 + drivers/gpu/drm/imagination/pvr_rogue_defs.h | 179 + drivers/gpu/drm/imagination/pvr_rogue_fwif.h | 2188 +++++++ drivers/gpu/drm/imagination/pvr_rogue_fwif_check.h | 493 ++ .../gpu/drm/imagination/pvr_rogue_fwif_client.h | 373 ++ .../drm/imagination/pvr_rogue_fwif_client_check.h | 133 + .../gpu/drm/imagination/pvr_rogue_fwif_common.h | 60 + .../gpu/drm/imagination/pvr_rogue_fwif_dev_info.h | 113 + .../imagination/pvr_rogue_fwif_resetframework.h | 28 + drivers/gpu/drm/imagination/pvr_rogue_fwif_sf.h | 1648 ++++++ .../gpu/drm/imagination/pvr_rogue_fwif_shared.h | 258 + .../drm/imagination/pvr_rogue_fwif_shared_check.h | 108 + .../gpu/drm/imagination/pvr_rogue_fwif_stream.h | 78 + .../gpu/drm/imagination/pvr_rogue_heap_config.h | 113 + drivers/gpu/drm/imagination/pvr_rogue_meta.h | 356 ++ drivers/gpu/drm/imagination/pvr_rogue_mips.h | 335 ++ drivers/gpu/drm/imagination/pvr_rogue_mips_check.h | 58 + drivers/gpu/drm/imagination/pvr_rogue_mmu_defs.h | 136 + drivers/gpu/drm/imagination/pvr_stream.c | 285 + drivers/gpu/drm/imagination/pvr_stream.h | 75 + drivers/gpu/drm/imagination/pvr_stream_defs.c | 351 ++ drivers/gpu/drm/imagination/pvr_stream_defs.h | 16 + drivers/gpu/drm/imagination/pvr_sync.c | 289 + drivers/gpu/drm/imagination/pvr_sync.h | 84 + drivers/gpu/drm/imagination/pvr_vm.c | 1107 ++++ drivers/gpu/drm/imagination/pvr_vm.h | 65 + drivers/gpu/drm/imagination/pvr_vm_mips.c | 238 + drivers/gpu/drm/imagination/pvr_vm_mips.h | 22 + drivers/gpu/drm/imx/dcss/dcss-drv.c | 6 +- drivers/gpu/drm/imx/lcdc/imx-lcdc.c | 6 +- drivers/gpu/drm/kmb/kmb_drv.c | 5 +- drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 5 +- drivers/gpu/drm/mediatek/mtk_ethdr.c | 5 +- drivers/gpu/drm/meson/meson_dw_mipi_dsi.c | 6 +- drivers/gpu/drm/nouveau/nouveau_platform.c | 5 +- drivers/gpu/drm/nouveau/nv04_fence.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/chan.c | 1 - drivers/gpu/drm/panel/panel-elida-kd35t133.c | 37 +- drivers/gpu/drm/panel/panel-newvision-nv3051d.c | 57 +- drivers/gpu/drm/rockchip/rk3066_hdmi.c | 47 +- drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 5 + drivers/gpu/drm/rockchip/rockchip_vop2_reg.c | 2 + drivers/gpu/drm/sprd/sprd_dpu.c | 6 +- drivers/gpu/drm/sprd/sprd_drm.c | 5 +- drivers/gpu/drm/sprd/sprd_dsi.c | 6 +- drivers/gpu/drm/tilcdc/tilcdc_drv.c | 2 +- drivers/gpu/drm/tiny/arcpgu.c | 6 +- drivers/video/fbdev/simplefb.c | 4 + include/drm/drm_edid.h | 5 - include/drm/drm_gpuvm.h | 28 + include/drm/drm_print.h | 2 +- include/linux/sizes.h | 9 + include/uapi/drm/pvr_drm.h | 1297 ++++ 115 files changed, 34632 insertions(+), 204 deletions(-) create mode 100644 Documentation/devicetree/bindings/gpu/img,powervr.yaml create mode 100644 Documentation/gpu/imagination/index.rst create mode 100644 Documentation/gpu/imagination/uapi.rst create mode 100644 drivers/gpu/drm/imagination/Kconfig create mode 100644 drivers/gpu/drm/imagination/Makefile create mode 100644 drivers/gpu/drm/imagination/pvr_ccb.c create mode 100644 drivers/gpu/drm/imagination/pvr_ccb.h create mode 100644 drivers/gpu/drm/imagination/pvr_cccb.c create mode 100644 drivers/gpu/drm/imagination/pvr_cccb.h create mode 100644 drivers/gpu/drm/imagination/pvr_context.c create mode 100644 drivers/gpu/drm/imagination/pvr_context.h create mode 100644 drivers/gpu/drm/imagination/pvr_debugfs.c create mode 100644 drivers/gpu/drm/imagination/pvr_debugfs.h create mode 100644 drivers/gpu/drm/imagination/pvr_device.c create mode 100644 drivers/gpu/drm/imagination/pvr_device.h create mode 100644 drivers/gpu/drm/imagination/pvr_device_info.c create mode 100644 drivers/gpu/drm/imagination/pvr_device_info.h create mode 100644 drivers/gpu/drm/imagination/pvr_drv.c create mode 100644 drivers/gpu/drm/imagination/pvr_drv.h create mode 100644 drivers/gpu/drm/imagination/pvr_free_list.c create mode 100644 drivers/gpu/drm/imagination/pvr_free_list.h create mode 100644 drivers/gpu/drm/imagination/pvr_fw.c create mode 100644 drivers/gpu/drm/imagination/pvr_fw.h create mode 100644 drivers/gpu/drm/imagination/pvr_fw_info.h create mode 100644 drivers/gpu/drm/imagination/pvr_fw_meta.c create mode 100644 drivers/gpu/drm/imagination/pvr_fw_meta.h create mode 100644 drivers/gpu/drm/imagination/pvr_fw_mips.c create mode 100644 drivers/gpu/drm/imagination/pvr_fw_mips.h create mode 100644 drivers/gpu/drm/imagination/pvr_fw_startstop.c create mode 100644 drivers/gpu/drm/imagination/pvr_fw_startstop.h create mode 100644 drivers/gpu/drm/imagination/pvr_fw_trace.c create mode 100644 drivers/gpu/drm/imagination/pvr_fw_trace.h create mode 100644 drivers/gpu/drm/imagination/pvr_gem.c create mode 100644 drivers/gpu/drm/imagination/pvr_gem.h create mode 100644 drivers/gpu/drm/imagination/pvr_hwrt.c create mode 100644 drivers/gpu/drm/imagination/pvr_hwrt.h create mode 100644 drivers/gpu/drm/imagination/pvr_job.c create mode 100644 drivers/gpu/drm/imagination/pvr_job.h create mode 100644 drivers/gpu/drm/imagination/pvr_mmu.c create mode 100644 drivers/gpu/drm/imagination/pvr_mmu.h create mode 100644 drivers/gpu/drm/imagination/pvr_params.c create mode 100644 drivers/gpu/drm/imagination/pvr_params.h create mode 100644 drivers/gpu/drm/imagination/pvr_power.c create mode 100644 drivers/gpu/drm/imagination/pvr_power.h create mode 100644 drivers/gpu/drm/imagination/pvr_queue.c create mode 100644 drivers/gpu/drm/imagination/pvr_queue.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_cr_defs.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_cr_defs_client.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_defs.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_fwif.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_fwif_check.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_fwif_client.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_fwif_client_check.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_fwif_common.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_fwif_dev_info.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_fwif_resetframework.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_fwif_sf.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_fwif_shared.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_fwif_shared_check.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_fwif_stream.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_heap_config.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_meta.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_mips.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_mips_check.h create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_mmu_defs.h create mode 100644 drivers/gpu/drm/imagination/pvr_stream.c create mode 100644 drivers/gpu/drm/imagination/pvr_stream.h create mode 100644 drivers/gpu/drm/imagination/pvr_stream_defs.c create mode 100644 drivers/gpu/drm/imagination/pvr_stream_defs.h create mode 100644 drivers/gpu/drm/imagination/pvr_sync.c create mode 100644 drivers/gpu/drm/imagination/pvr_sync.h create mode 100644 drivers/gpu/drm/imagination/pvr_vm.c create mode 100644 drivers/gpu/drm/imagination/pvr_vm.h create mode 100644 drivers/gpu/drm/imagination/pvr_vm_mips.c create mode 100644 drivers/gpu/drm/imagination/pvr_vm_mips.h create mode 100644 include/uapi/drm/pvr_drm.h