drm-misc-next-2020-07-22: drm-misc-next for v5.9: UAPI Changes: Cross-subsystem Changes: - Convert panel-dsi-cm and ingenic bindings to YAML. - Add lockdep annotations for dma-fence. \o/ - Describe why indefinite fences are a bad idea - Update binding for rocktech jh057n00900. Core Changes: - Add vblank workers. - Use spin_(un)lock_irq instead of the irqsave/restore variants in crtc code. - Add managed vram helpers. - Convert more logging to drm functions. - Replace more http links with https in core and drivers. - Cleanup to ttm iomem functions and implementation. - Remove TTM CMA memtype as it doesn't work correctly. - Remove TTM_MEMTYPE_FLAG_MAPPABLE for many drivers that have no unmappable memory resources. Driver Changes: - Add CRC support to nouveau, using the new vblank workers. - Dithering and atomic state fix for nouveau. - Fixes for Frida FRD350H54004 panel. - Add support for OSD mode (sprite planes), IPU (scaling) and multiple panels/bridges to ingenic. - Use managed vram helpers in ast. - Assorted small fixes to ingenic, i810, mxsfb. - Remove optional unused ttm dummy functions. The following changes since commit 947fcfeac3295ff0961bb50803e0c4ae63cff65b: drm: drm_rect.h: delete duplicated word in comment (2020-07-15 14:03:02 +0200) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2020-07-22 for you to fetch changes up to acc0c39a59ccd8161b9066265fb8798b4ee07dc9: dt-binding: display: Allow a single port node on rocktech, jh057n00900 (2020-07-21 09:34:23 -0600) ---------------------------------------------------------------- drm-misc-next for v5.9: UAPI Changes: Cross-subsystem Changes: - Convert panel-dsi-cm and ingenic bindings to YAML. - Add lockdep annotations for dma-fence. \o/ - Describe why indefinite fences are a bad idea - Update binding for rocktech jh057n00900. Core Changes: - Add vblank workers. - Use spin_(un)lock_irq instead of the irqsave/restore variants in crtc code. - Add managed vram helpers. - Convert more logging to drm functions. - Replace more http links with https in core and drivers. - Cleanup to ttm iomem functions and implementation. - Remove TTM CMA memtype as it doesn't work correctly. - Remove TTM_MEMTYPE_FLAG_MAPPABLE for many drivers that have no unmappable memory resources. Driver Changes: - Add CRC support to nouveau, using the new vblank workers. - Dithering and atomic state fix for nouveau. - Fixes for Frida FRD350H54004 panel. - Add support for OSD mode (sprite planes), IPU (scaling) and multiple panels/bridges to ingenic. - Use managed vram helpers in ast. - Assorted small fixes to ingenic, i810, mxsfb. - Remove optional unused ttm dummy functions. ---------------------------------------------------------------- Alexander A. Klimov (4): drm/vboxvideo: Replace HTTP links with HTTPS ones drm/tidss: Replace HTTP links with HTTPS ones drm: Replace HTTP links with HTTPS ones video: fbdev: Replace HTTP links with HTTPS ones Christian König (9): drm/vram-helper: stop using TTM_MEMTYPE_FLAG_MAPPABLE drm: remove optional dummy function from drivers using TTM drm/ttm: cleanup io_mem interface with nouveau drm/ttm: remove io_reserve_fastpath flag drm/ttm: cleanup coding style and implementation. drm/ttm: remove TTM_MEMTYPE_FLAG_CMA drm/vmwgfx: stop using TTM_MEMTYPE_FLAG_MAPPABLE drm/nouveau: stop using TTM_MEMTYPE_FLAG_MAPPABLE drm/qxl: stop using TTM_MEMTYPE_FLAG_MAPPABLE v2 Christophe JAILLET (1): drm/i810: switch from 'pci_' to 'dma_' API Daniel Vetter (3): dma-fence: basic lockdep annotations dma-fence: prime lockdep annotations dma-buf.rst: Document why indefinite fences are a bad idea Guido Günther (1): drm/mxsfb: Make supported modifiers explicit Lyude Paul (15): drm/vblank: Register drmm cleanup action once per drm_vblank_crtc drm/vblank: Use spin_(un)lock_irq() in drm_crtc_vblank_off() drm/vblank: Add vblank works drm/nouveau/kms/nv140-: Don't modify depth in state during atomic commit drm/nouveau/kms/nv50-: Fix disabling dithering drm/nouveau/kms/nv140-: Track wndw mappings in nv50_head_atom drm/nouveau/kms/nv50-: Expose nv50_outp_atom in disp.h drm/nouveau/kms/nv50-: Move hard-coded object handles into header drm/nouveau/kms/nvd9-: Add CRC support drm/nouveau/kms/nvd9-: Fix disabling CRCs alongside OR reprogramming drm/vblank: Use spin_(un)lock_irq() in drm_crtc_vblank_reset() drm/vblank: Use spin_(un)lock_irq() in drm_crtc_vblank_on() drm/vblank: Use spin_(un)lock_irq() in drm_legacy_vblank_post_modeset() drm/vblank: Use spin_(un)lock_irq() in drm_queue_vblank_event() drm/vblank: Use spin_(un)lock_irq() in drm_crtc_queue_sequence_ioctl() Ondrej Jirman (2): dt-bindings: display: Fix example in nwl-dsi.yaml dt-binding: display: Allow a single port node on rocktech, jh057n00900 Paul Cercueil (15): drm/panel-simple: Fix inverted V/H SYNC for Frida FRD350H54004 panel drm/panel-simple: Add 50 Hz mode to the Frida FRD350H54004 panel drm/ingenic: Fix incorrect assumption about plane->index dt-bindings: display: Convert ingenic,lcd.txt to YAML dt-bindings: display: Add ingenic,ipu.yaml drm/ingenic: Rename ingenic-drm.c to ingenic-drm-drv.c drm/ingenic: Add missing CR in debug strings drm/ingenic: Set DMA descriptor chain address in probe drm/ingenic: Move register definitions to ingenic-drm.h drm/ingenic: Use dmam_alloc_coherent() drm/ingenic: Add support for OSD mode drm/ingenic: Add support for the IPU drm/ingenic: Support multiple panels/bridges drm/ingenic: Bump driver to version 1.1 drm/ingenic: Silence uninitialized-variable warning Sebastian Reichel (1): dt-bindings: display: panel-dsi-cm: convert to YAML Suraj Upadhyay (1): drm: core: Convert device logging to drm_* functions. Thomas Zimmermann (6): drm/vram-helper: Managed vram helpers drm/ast: Rename ast_ttm.c to ast_mm.c drm/ast: Use managed VRAM-helper initialization drm/ast: Move VRAM size detection to ast_mm.c drm/ast: Initialize DRAM type before posting GPU drm/ast: Use managed MM initialization Uwe Kleine-König (1): drm/mxsfb: drop unused function parameter .../bindings/display/bridge/nwl-dsi.yaml | 9 +- .../devicetree/bindings/display/ingenic,ipu.yaml | 65 ++ .../devicetree/bindings/display/ingenic,lcd.txt | 45 -- .../devicetree/bindings/display/ingenic,lcd.yaml | 126 +++ .../bindings/display/panel/panel-dsi-cm.txt | 29 - .../bindings/display/panel/panel-dsi-cm.yaml | 86 +++ .../display/panel/rocktech,jh057n00900.yaml | 1 + Documentation/driver-api/dma-buf.rst | 82 ++ Documentation/fb/ep93xx-fb.rst | 2 +- Documentation/gpu/drm-kms.rst | 15 + Documentation/gpu/vgaarbiter.rst | 8 +- drivers/dma-buf/dma-fence.c | 207 +++++ drivers/dma-buf/dma-resv.c | 8 + drivers/gpu/drm/Makefile | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 9 +- drivers/gpu/drm/ast/Makefile | 2 +- drivers/gpu/drm/ast/ast_drv.h | 2 - drivers/gpu/drm/ast/ast_main.c | 45 +- drivers/gpu/drm/ast/{ast_ttm.c => ast_mm.c} | 77 +- drivers/gpu/drm/drm_edid.c | 6 +- drivers/gpu/drm/drm_gem_cma_helper.c | 4 +- drivers/gpu/drm/drm_gem_vram_helper.c | 98 +-- drivers/gpu/drm/drm_internal.h | 27 + drivers/gpu/drm/drm_mipi_dbi.c | 7 +- drivers/gpu/drm/drm_modes.c | 2 +- drivers/gpu/drm/drm_vblank.c | 101 +-- drivers/gpu/drm/drm_vblank_work.c | 267 +++++++ drivers/gpu/drm/i810/i810_dma.c | 10 +- drivers/gpu/drm/ingenic/Kconfig | 11 + drivers/gpu/drm/ingenic/Makefile | 2 + .../ingenic/{ingenic-drm.c => ingenic-drm-drv.c} | 670 ++++++++++------ drivers/gpu/drm/ingenic/ingenic-drm.h | 173 +++++ drivers/gpu/drm/ingenic/ingenic-ipu.c | 853 +++++++++++++++++++++ drivers/gpu/drm/ingenic/ingenic-ipu.h | 109 +++ drivers/gpu/drm/mxsfb/mxsfb_drv.c | 13 +- drivers/gpu/drm/nouveau/dispnv04/crtc.c | 25 +- drivers/gpu/drm/nouveau/dispnv50/Kbuild | 4 + drivers/gpu/drm/nouveau/dispnv50/atom.h | 21 + drivers/gpu/drm/nouveau/dispnv50/core.h | 4 + drivers/gpu/drm/nouveau/dispnv50/core907d.c | 3 + drivers/gpu/drm/nouveau/dispnv50/core917d.c | 3 + drivers/gpu/drm/nouveau/dispnv50/corec37d.c | 3 + drivers/gpu/drm/nouveau/dispnv50/corec57d.c | 3 + drivers/gpu/drm/nouveau/dispnv50/crc.c | 751 ++++++++++++++++++ drivers/gpu/drm/nouveau/dispnv50/crc.h | 131 ++++ drivers/gpu/drm/nouveau/dispnv50/crc907d.c | 139 ++++ drivers/gpu/drm/nouveau/dispnv50/crcc37d.c | 153 ++++ drivers/gpu/drm/nouveau/dispnv50/disp.c | 69 +- drivers/gpu/drm/nouveau/dispnv50/disp.h | 24 + drivers/gpu/drm/nouveau/dispnv50/handles.h | 16 + drivers/gpu/drm/nouveau/dispnv50/head.c | 98 ++- drivers/gpu/drm/nouveau/dispnv50/head.h | 12 +- drivers/gpu/drm/nouveau/dispnv50/head907d.c | 14 +- drivers/gpu/drm/nouveau/dispnv50/headc37d.c | 27 +- drivers/gpu/drm/nouveau/dispnv50/headc57d.c | 20 +- drivers/gpu/drm/nouveau/dispnv50/wndw.c | 3 +- drivers/gpu/drm/nouveau/nouveau_bo.c | 17 +- drivers/gpu/drm/nouveau/nouveau_display.c | 60 +- drivers/gpu/drm/panel/panel-simple.c | 40 +- drivers/gpu/drm/qxl/qxl_ttm.c | 15 +- drivers/gpu/drm/radeon/radeon_ttm.c | 7 +- drivers/gpu/drm/tidss/tidss_crtc.c | 2 +- drivers/gpu/drm/tidss/tidss_crtc.h | 2 +- drivers/gpu/drm/tidss/tidss_dispc.c | 2 +- drivers/gpu/drm/tidss/tidss_dispc.h | 2 +- drivers/gpu/drm/tidss/tidss_dispc_regs.h | 2 +- drivers/gpu/drm/tidss/tidss_drv.c | 2 +- drivers/gpu/drm/tidss/tidss_drv.h | 2 +- drivers/gpu/drm/tidss/tidss_encoder.c | 2 +- drivers/gpu/drm/tidss/tidss_encoder.h | 2 +- drivers/gpu/drm/tidss/tidss_irq.c | 2 +- drivers/gpu/drm/tidss/tidss_irq.h | 2 +- drivers/gpu/drm/tidss/tidss_kms.c | 2 +- drivers/gpu/drm/tidss/tidss_kms.h | 2 +- drivers/gpu/drm/tidss/tidss_plane.c | 2 +- drivers/gpu/drm/tidss/tidss_plane.h | 2 +- drivers/gpu/drm/tidss/tidss_scale_coefs.c | 2 +- drivers/gpu/drm/tidss/tidss_scale_coefs.h | 2 +- drivers/gpu/drm/ttm/ttm_bo.c | 35 +- drivers/gpu/drm/ttm/ttm_bo_util.c | 103 ++- drivers/gpu/drm/vboxvideo/hgsmi_defs.h | 2 +- drivers/gpu/drm/vboxvideo/vbox_hgsmi.c | 2 +- drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 20 +- drivers/video/fbdev/Kconfig | 8 +- drivers/video/fbdev/core/fbmon.c | 4 +- drivers/video/fbdev/ep93xx-fb.c | 2 +- drivers/video/fbdev/grvga.c | 2 +- drivers/video/fbdev/macfb.c | 2 +- drivers/video/fbdev/metronomefb.c | 2 +- drivers/video/fbdev/omap2/omapfb/dss/Kconfig | 4 +- drivers/video/fbdev/omap2/omapfb/dss/hdmi.h | 2 +- drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c | 2 +- drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c | 2 +- drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.h | 2 +- drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.h | 2 +- drivers/video/fbdev/sa1100fb.c | 2 +- include/drm/drm_gem_vram_helper.h | 3 + include/drm/drm_vblank.h | 20 + include/drm/drm_vblank_work.h | 71 ++ include/drm/ttm/ttm_bo_driver.h | 3 - include/linux/dma-fence.h | 13 + include/uapi/drm/drm_mode.h | 2 +- 102 files changed, 4397 insertions(+), 782 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/ingenic,ipu.yaml delete mode 100644 Documentation/devicetree/bindings/display/ingenic,lcd.txt create mode 100644 Documentation/devicetree/bindings/display/ingenic,lcd.yaml delete mode 100644 Documentation/devicetree/bindings/display/panel/panel-dsi-cm.txt create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dsi-cm.yaml rename drivers/gpu/drm/ast/{ast_ttm.c => ast_mm.c} (63%) create mode 100644 drivers/gpu/drm/drm_vblank_work.c rename drivers/gpu/drm/ingenic/{ingenic-drm.c => ingenic-drm-drv.c} (54%) create mode 100644 drivers/gpu/drm/ingenic/ingenic-drm.h create mode 100644 drivers/gpu/drm/ingenic/ingenic-ipu.c create mode 100644 drivers/gpu/drm/ingenic/ingenic-ipu.h create mode 100644 drivers/gpu/drm/nouveau/dispnv50/crc.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/crc.h create mode 100644 drivers/gpu/drm/nouveau/dispnv50/crc907d.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/crcc37d.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/handles.h create mode 100644 include/drm/drm_vblank_work.h _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel