[Intel-gfx] [PULL] drm-misc-next

Thomas Zimmermann tzimmermann at suse.de
Thu Aug 10 08:45:05 UTC 2023


Hi Dave and Daniel,

this is the PR for drm-misc-next; presumably the final one before
-rc6. Half of the patches update fbdev drivers to make them use the
provided helpers and macros. The big feature is nouveau's support
for tracking virtual memory on the GPU, which enables Vulkan sparse
binding and residency.

Best regard
Thomas

drm-misc-next-2023-08-10:
drm-misc-next for v6.6:

UAPI Changes:

 * nouveau:
   * Provide several GETPARAM ioctls
   * Provide VM_BIND ioctls

Cross-subsystem Changes:

 * fbdev: Convert many drivers to fbdev I/O-memory helpers

 * media/vivid: Convert to fbdev I/O-memory helpers

 * vfio-dev/mdpy-fb: Convert to fbdev I/O-memory helpers

Core Changes:

 * Documentation fixes

 * Do not select framebuffer console for fbdev emulation, fixes Kconfig
   dependencies

 * exec:
   * Add test cases for calling drm_exec() multiple times
   * Fix memory leak in sleftests
   * Build fixes

 * gem:
   * Fix lockdep checking

 * ttm:
   * Add Kunit tests
   * Cleanups

Driver Changes:

 * atmel-hlcdc:
   * Support inverted pixclock polarity, required by several SoCs

 * bridge:
   * dw-hdmi: Update EDID on HDMI detection
   * sitronix-st7789v: Support panel orientation; Support rotation
                       property; Add support for Jasonic
 		       JT240MHQS-HWT-EK-E3 plus DT bindings; Minor
       		       fixes

 * ivpu:
   * Support VPU4
   * Refactorings

 * loongson:
   * Fixes

 * mcde:
   * Cleanups

 * nouveau:
   * Track GPU virtual memory via DRM GPUVA manager, enables Vulkan
     sparse binding/residency

 * panfrost:
   * Fix synchronization in IRQ handling

 * tve200:
   * Cleanups
The following changes since commit a0769f25a3a621e8bbfb5e2a26e8ae462c761e33:

  HID: i2c-hid: add more DRM dependencies (2023-08-03 07:36:41 -0700)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2023-08-10

for you to fetch changes up to 2799804ac651da1375ecb9b9a644eba97218df07:

  drm/ttm: Remove two unused function declarations (2023-08-10 09:12:08 +0200)

----------------------------------------------------------------
drm-misc-next for v6.6:

UAPI Changes:

 * nouveau:
   * Provide several GETPARAM ioctls
   * Provide VM_BIND ioctls

Cross-subsystem Changes:

 * fbdev: Convert many drivers to fbdev I/O-memory helpers

 * media/vivid: Convert to fbdev I/O-memory helpers

 * vfio-dev/mdpy-fb: Convert to fbdev I/O-memory helpers

Core Changes:

 * Documentation fixes

 * Do not select framebuffer console for fbdev emulation, fixes Kconfig
   dependencies

 * exec:
   * Add test cases for calling drm_exec() multiple times
   * Fix memory leak in sleftests
   * Build fixes

 * gem:
   * Fix lockdep checking

 * ttm:
   * Add Kunit tests
   * Cleanups

Driver Changes:

 * atmel-hlcdc:
   * Support inverted pixclock polarity, required by several SoCs

 * bridge:
   * dw-hdmi: Update EDID on HDMI detection
   * sitronix-st7789v: Support panel orientation; Support rotation
                       property; Add support for Jasonic
 		       JT240MHQS-HWT-EK-E3 plus DT bindings; Minor
       		       fixes

 * ivpu:
   * Support VPU4
   * Refactorings

 * loongson:
   * Fixes

 * mcde:
   * Cleanups

 * nouveau:
   * Track GPU virtual memory via DRM GPUVA manager, enables Vulkan
     sparse binding/residency

 * panfrost:
   * Fix synchronization in IRQ handling

 * tve200:
   * Cleanups

----------------------------------------------------------------
Christian König (2):
      drm/exec: use unique instead of local label
      drm/exec: add test case for using a drm_exec multiple times

Dan Carpenter (1):
      drm/loongson: Add a check for lsdc_bo_create() errors

Danilo Krummrich (17):
      drm/gem: fix lockdep check for dma-resv lock
      drm/nouveau: new VM_BIND uAPI interfaces
      drm/nouveau: get vmm via nouveau_cli_vmm()
      drm/nouveau: bo: initialize GEM GPU VA interface
      drm/nouveau: move usercopy helpers to nouveau_drv.h
      drm/nouveau: fence: separate fence alloc and emit
      drm/nouveau: fence: fail to emit when fence context is killed
      drm/nouveau: chan: provide nouveau_channel_kill()
      drm/nouveau: nvkm/vmm: implement raw ops to manage uvmm
      drm/nouveau: implement new VM_BIND uAPI
      drm/nouveau: debugfs: implement DRM GPU VA debugfs
      nouveau/dmem: fix copy-paste error in nouveau_dmem_migrate_chunk()
      drm/nouveau: nvkm: vmm: silence warning from cast
      drm/nouveau: remove incorrect __user annotations
      drm/nouveau: uvmm: remove incorrect calls to mas_unlock()
      drm/nouveau: uvmm: remove dedicated VM pointer from VMAs
      drm/test: drm_exec: fix memory leak on object prepare

Dave Airlie (1):
      drm/nouveau: fixup the uapi header file.

Dmitry Osipenko (1):
      drm/panfrost: Sync IRQ by job's timeout handler

Faith Ekstrand (1):
      drm/nouveau/sched: Don't pass user flags to drm_syncobj_find_fence()

Jacek Lawrynowicz (3):
      accel/ivpu: Rename sources to use generation based names
      accel/ivpu: Use generation based function and registers names
      accel/ivpu: Switch to generation based FW names

Javier Martinez Canillas (1):
      drm: Drop select FRAMEBUFFER_CONSOLE for DRM_FBDEV_EMULATION

Karol Wachowski (1):
      accel/ivpu: Refactor memory ranges logic

Karolina Stolarek (3):
      drm/ttm: Introduce KUnit test
      drm/ttm/tests: Add tests for ttm_device
      drm/ttm/tests: Add tests for ttm_pool

Michael Riesch (7):
      drm/panel: sitronix-st7789v: fix indentation in drm_panel_funcs
      drm/panel: sitronix-st7789v: add panel orientation support
      dt-bindings: display: add rotation property to sitronix,st7789v
      dt-bindings: vendor-prefixes: add jasonic
      dt-bindings: display: st7789v: add jasonic jt240mhqs-hwt-ek-e3 display
      drm/panel: sitronix-st7789v: add support for partial mode
      drm/panel: sitronix-st7789v: add jasonic jt240mhqs-hwt-ek-e3 support

Miquel Raynal (1):
      drm: atmel-hlcdc: Support inverting the pixel clock polarity

Sandor Yu (1):
      drm: bridge: dw_hdmi: Fix ELD is not updated issue

Simon Ser (1):
      drm/doc: fix underline for section "DRM Sync Objects"

Stanislaw Gruszka (2):
      accel/ivpu: Extend get_param ioctl to identify capabilities
      accel/ivpu: Add initial support for VPU 4

Thomas Zimmermann (47):
      media/vivid: Use fbdev I/O helpers
      fbdev/acornfb: Use fbdev I/O helpers
      fbdev/asiliantfb: Use fbdev I/O helpers
      fbdev/atmel_lcdfb: Use fbdev I/O helpers
      fbdev/aty128fb: Use fbdev I/O helpers
      fbdev/carminefb: Use fbdev I/O helpers
      fbdev/chipsfb: Use fbdev I/O helpers
      fbdev/da8xx-fb: Use fbdev I/O helpers
      fbdev/efifb: Use fbdev I/O helpers
      fbdev/fm2fb: Use fbdev I/O helpers
      fbdev/fsl-diu-fb: Use fbdev I/O helpers
      fbdev/g364fb: Use fbdev I/O helpers
      fbdev/geode/gx1fb: Use fbdev I/O helpers
      fbdev/geode/gxfb: Use fbdev I/O helpers
      fbdev/geode/lxfb: Use fbdev I/O helpers
      fbdev/goldfishfb: Use fbdev I/O helpers
      fbdev/grvga: Use fbdev I/O helpers
      fbdev/gxt4500: Use fbdev I/O helpers
      fbdev/i740fb: Use fbdev I/O helpers
      fbdev/imxfb: Use fbdev I/O helpers
      fbdev/kyro: Use fbdev I/O helpers
      fbdev/macfb: Use fbdev I/O helpers
      fbdev/maxinefb: Use fbdev I/O helpers
      fbdev/mb862xxfb: Use fbdev I/O helpers
      fbdev/mmpfb: Use fbdev I/O helpers
      fbdev/mx3fb: Use fbdev I/O helpers
      fbdev/ocfb: Use fbdev I/O helpers
      fbdev/offb: Use fbdev I/O helpers
      fbdev/omapfb: Use fbdev I/O helpers
      fbdev/platinumfb: Use fbdev I/O helpers
      fbdev/pmag-aa-fb: Use fbdev I/O helpers
      fbdev/pmag-ba-fb: Use fbdev I/O helpers
      fbdev/pmagb-b-fb: Use fbdev I/O helpers
      fbdev/pxa168fb: Use fbdev I/O helpers
      fbdev/pxafb: Use fbdev I/O helpers
      fbdev/q40fb: Use fbdev I/O helpers
      fbdev/s3cfb: Use fbdev I/O helpers
      fbdev/sh7760fb: Use fbdev I/O helpers
      fbdev/simplefb: Use fbdev I/O helpers
      fbdev/sstfb: Use fbdev I/O helpers
      fbdev/sunxvr1000: Use fbdev I/O helpers
      fbdev/sunxvr2500: Use fbdev I/O helpers
      fbdev/uvesafb: Use fbdev I/O helpers
      fbdev/valkyriefb: Use fbdev I/O helpers
      fbdev/vesafb: Use fbdev I/O helpers
      fbdev/xilinxfb: Use fbdev I/O helpers
      vfio-dev/mdpy-fb: Use fbdev I/O helpers

Yue Haibing (1):
      drm/ttm: Remove two unused function declarations

Zhu Wang (2):
      drm/tve200: remove redundant of_match_ptr
      drm/mcde: remove redundant of_match_ptr

 .../bindings/display/panel/sitronix,st7789v.yaml   |    3 +
 .../devicetree/bindings/vendor-prefixes.yaml       |    2 +
 Documentation/gpu/driver-uapi.rst                  |   11 +
 Documentation/gpu/drm-mm.rst                       |    2 +-
 drivers/accel/ivpu/Makefile                        |    3 +-
 drivers/accel/ivpu/ivpu_drv.c                      |   35 +-
 drivers/accel/ivpu/ivpu_drv.h                      |   23 +-
 drivers/accel/ivpu/ivpu_fw.c                       |   41 +-
 drivers/accel/ivpu/ivpu_gem.c                      |   10 +-
 drivers/accel/ivpu/ivpu_hw.h                       |   12 +-
 .../accel/ivpu/{ivpu_hw_mtl.c => ivpu_hw_37xx.c}   |  485 +++--
 drivers/accel/ivpu/ivpu_hw_37xx_reg.h              |  281 +++
 drivers/accel/ivpu/ivpu_hw_40xx.c                  | 1178 ++++++++++++
 drivers/accel/ivpu/ivpu_hw_40xx_reg.h              |  267 +++
 drivers/accel/ivpu/ivpu_hw_mtl_reg.h               |  281 ---
 drivers/accel/ivpu/ivpu_mmu.c                      |   84 +-
 drivers/accel/ivpu/ivpu_mmu_context.c              |    8 +-
 drivers/gpu/drm/Kconfig                            |   16 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c     |   25 +
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c          |   12 +-
 drivers/gpu/drm/loongson/lsdc_ttm.c                |    2 +
 drivers/gpu/drm/mcde/mcde_dsi.c                    |    2 +-
 drivers/gpu/drm/nouveau/Kbuild                     |    3 +
 drivers/gpu/drm/nouveau/Kconfig                    |    2 +
 drivers/gpu/drm/nouveau/dispnv04/crtc.c            |    9 +-
 drivers/gpu/drm/nouveau/include/nvif/if000c.h      |   26 +-
 drivers/gpu/drm/nouveau/include/nvif/vmm.h         |   19 +-
 drivers/gpu/drm/nouveau/include/nvkm/subdev/mmu.h  |   20 +-
 drivers/gpu/drm/nouveau/nouveau_abi16.c            |   24 +
 drivers/gpu/drm/nouveau/nouveau_abi16.h            |   42 +-
 drivers/gpu/drm/nouveau/nouveau_bo.c               |  219 ++-
 drivers/gpu/drm/nouveau/nouveau_bo.h               |    3 +-
 drivers/gpu/drm/nouveau/nouveau_chan.c             |   22 +-
 drivers/gpu/drm/nouveau/nouveau_chan.h             |    1 +
 drivers/gpu/drm/nouveau/nouveau_debugfs.c          |   39 +
 drivers/gpu/drm/nouveau/nouveau_dmem.c             |    9 +-
 drivers/gpu/drm/nouveau/nouveau_drm.c              |   27 +-
 drivers/gpu/drm/nouveau/nouveau_drv.h              |   93 +-
 drivers/gpu/drm/nouveau/nouveau_exec.c             |  411 +++++
 drivers/gpu/drm/nouveau/nouveau_exec.h             |   54 +
 drivers/gpu/drm/nouveau/nouveau_fence.c            |   23 +-
 drivers/gpu/drm/nouveau/nouveau_fence.h            |    5 +-
 drivers/gpu/drm/nouveau/nouveau_gem.c              |   86 +-
 drivers/gpu/drm/nouveau/nouveau_gem.h              |    3 +-
 drivers/gpu/drm/nouveau/nouveau_mem.h              |    5 +
 drivers/gpu/drm/nouveau/nouveau_prime.c            |   13 +-
 drivers/gpu/drm/nouveau/nouveau_sched.c            |  419 +++++
 drivers/gpu/drm/nouveau/nouveau_sched.h            |  127 ++
 drivers/gpu/drm/nouveau/nouveau_svm.c              |    2 +-
 drivers/gpu/drm/nouveau/nouveau_uvmm.c             | 1916 ++++++++++++++++++++
 drivers/gpu/drm/nouveau/nouveau_uvmm.h             |  108 ++
 drivers/gpu/drm/nouveau/nouveau_vmm.c              |    4 +-
 drivers/gpu/drm/nouveau/nvif/vmm.c                 |  100 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mmu/uvmm.c     |  214 ++-
 drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c      |  197 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h      |   25 +
 drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgf100.c |   16 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.c |   16 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv50.c  |   27 +-
 drivers/gpu/drm/panel/panel-sitronix-st7789v.c     |   99 +-
 drivers/gpu/drm/panfrost/panfrost_job.c            |   16 +
 drivers/gpu/drm/tests/drm_exec_test.c              |   28 +-
 drivers/gpu/drm/ttm/Makefile                       |    1 +
 drivers/gpu/drm/ttm/tests/.kunitconfig             |    4 +
 drivers/gpu/drm/ttm/tests/Makefile                 |    6 +
 drivers/gpu/drm/ttm/tests/ttm_device_test.c        |  212 +++
 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c      |  113 ++
 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.h      |   41 +
 drivers/gpu/drm/ttm/tests/ttm_pool_test.c          |  437 +++++
 drivers/gpu/drm/tve200/tve200_drv.c                |    2 +-
 drivers/media/test-drivers/vivid/Kconfig           |    4 +-
 drivers/media/test-drivers/vivid/vivid-osd.c       |    4 +-
 drivers/video/fbdev/Kconfig                        |  160 +-
 drivers/video/fbdev/acornfb.c                      |    4 +-
 drivers/video/fbdev/asiliantfb.c                   |    4 +-
 drivers/video/fbdev/atmel_lcdfb.c                  |    4 +-
 drivers/video/fbdev/aty/aty128fb.c                 |    4 +-
 drivers/video/fbdev/carminefb.c                    |    5 +-
 drivers/video/fbdev/chipsfb.c                      |    4 +-
 drivers/video/fbdev/da8xx-fb.c                     |    4 +-
 drivers/video/fbdev/efifb.c                        |    4 +-
 drivers/video/fbdev/fm2fb.c                        |    4 +-
 drivers/video/fbdev/fsl-diu-fb.c                   |    4 +-
 drivers/video/fbdev/g364fb.c                       |    4 +-
 drivers/video/fbdev/geode/Kconfig                  |   12 +-
 drivers/video/fbdev/geode/gx1fb_core.c             |    5 +-
 drivers/video/fbdev/geode/gxfb_core.c              |    5 +-
 drivers/video/fbdev/geode/lxfb_core.c              |    5 +-
 drivers/video/fbdev/goldfishfb.c                   |    4 +-
 drivers/video/fbdev/grvga.c                        |    4 +-
 drivers/video/fbdev/gxt4500.c                      |    4 +-
 drivers/video/fbdev/i740fb.c                       |    4 +-
 drivers/video/fbdev/imxfb.c                        |    4 +-
 drivers/video/fbdev/kyro/fbdev.c                   |    4 +-
 drivers/video/fbdev/macfb.c                        |    4 +-
 drivers/video/fbdev/maxinefb.c                     |    4 +-
 drivers/video/fbdev/mb862xx/mb862xxfbdrv.c         |    4 +-
 drivers/video/fbdev/mmp/fb/Kconfig                 |    4 +-
 drivers/video/fbdev/mmp/fb/mmpfb.c                 |    4 +-
 drivers/video/fbdev/mx3fb.c                        |    4 +-
 drivers/video/fbdev/ocfb.c                         |    4 +-
 drivers/video/fbdev/offb.c                         |    4 +-
 drivers/video/fbdev/omap/Kconfig                   |    4 +-
 drivers/video/fbdev/omap/omapfb_main.c             |    4 +-
 drivers/video/fbdev/platinumfb.c                   |    4 +-
 drivers/video/fbdev/pmag-aa-fb.c                   |    4 +-
 drivers/video/fbdev/pmag-ba-fb.c                   |    4 +-
 drivers/video/fbdev/pmagb-b-fb.c                   |    4 +-
 drivers/video/fbdev/pxa168fb.c                     |    4 +-
 drivers/video/fbdev/pxafb.c                        |    4 +-
 drivers/video/fbdev/q40fb.c                        |    4 +-
 drivers/video/fbdev/s3c-fb.c                       |    4 +-
 drivers/video/fbdev/sh7760fb.c                     |    4 +-
 drivers/video/fbdev/simplefb.c                     |    4 +-
 drivers/video/fbdev/sstfb.c                        |    4 +-
 drivers/video/fbdev/sunxvr1000.c                   |    4 +-
 drivers/video/fbdev/sunxvr2500.c                   |    4 +-
 drivers/video/fbdev/uvesafb.c                      |    4 +-
 drivers/video/fbdev/valkyriefb.c                   |    4 +-
 drivers/video/fbdev/vesafb.c                       |    4 +-
 drivers/video/fbdev/xilinxfb.c                     |    4 +-
 include/drm/drm_exec.h                             |   14 +-
 include/drm/drm_gem.h                              |   15 +-
 include/drm/ttm/ttm_bo.h                           |    2 -
 include/uapi/drm/ivpu_accel.h                      |    9 +-
 include/uapi/drm/nouveau_drm.h                     |  265 ++-
 samples/Kconfig                                    |    4 +-
 samples/vfio-mdev/mdpy-fb.c                        |    4 +-
 128 files changed, 7537 insertions(+), 1219 deletions(-)
 rename drivers/accel/ivpu/{ivpu_hw_mtl.c => ivpu_hw_37xx.c} (52%)
 create mode 100644 drivers/accel/ivpu/ivpu_hw_37xx_reg.h
 create mode 100644 drivers/accel/ivpu/ivpu_hw_40xx.c
 create mode 100644 drivers/accel/ivpu/ivpu_hw_40xx_reg.h
 delete mode 100644 drivers/accel/ivpu/ivpu_hw_mtl_reg.h
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_exec.c
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_exec.h
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_sched.c
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_sched.h
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_uvmm.c
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_uvmm.h
 create mode 100644 drivers/gpu/drm/ttm/tests/.kunitconfig
 create mode 100644 drivers/gpu/drm/ttm/tests/Makefile
 create mode 100644 drivers/gpu/drm/ttm/tests/ttm_device_test.c
 create mode 100644 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c
 create mode 100644 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.h
 create mode 100644 drivers/gpu/drm/ttm/tests/ttm_pool_test.c

-- 
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)


More information about the Intel-gfx mailing list