On Thu, Nov 23, 2023 at 01:58:50PM +0100, Maxime Ripard wrote: > 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 Merged to drm-next, thanks. -Sima > > 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 -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch