Hi Dave and Daniel, Apologies for missing last week, but this was not something I wanted to do from XDC :-) Lots happening in this pull, the highlights are Thomas' work on gem vram objects, Lyude starting to push the big MST series, Gerd's ttm and virtio refactors, and komeda improvements. One note from the tag is that I didn't put the new virtio module param in the UAPI section, but should have. So calling it out here. Thanks to all who contributed reviews and patches this release! Sean drm-misc-next-2019-10-09-2: drm-misc-next for 5.5: UAPI Changes: -Colorspace: Expose different prop values for DP vs. HDMI (Gwan-gyeong Mun) -fourcc: Add DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED (Raymond) -not_actually: s/ENOTSUPP/EOPNOTSUPP/ in drm_edid and drm_mipi_dbi. This should not reach userspace, but adding here to specifically call that out (Daniel) -i810: Prevent underflow in dispatch ioctls (Dan) -komeda: Add ACLK sysfs attribute (Mihail) -v3d: Allow userspace to clean up after render jobs (Iago) Cross-subsystem Changes: -MAINTAINERS: -Add Alyssa & Steven as panfrost reviewers (Rob) -Add Jernej as DE2 reviewer (Maxime) -Add Chen-Yu as Allwinner maintainer (Maxime) -staging: Make some stack arrays static const (Colin) Core Changes: -ttm: Allow drivers to specify their vma manager (to use gem mgr) (Gerd) -docs: Various fixes in connector/encoder/bridge docs (Daniel, Lyude, Laurent) -connector: Allow more than 3 possible encoders for a connector (José) -dp_cec: Allow a connector to be associated with a cec device (Dariusz) -various: Fix some compile/sparse warnings (Ville) -mm: Ensure mm node removals are properly serialised (Chris) -panel: Specify the type of panel for drm_panels for later use (Laurent) -panel: Use drm_panel_init to init device and funcs (Laurent) -mst: Refactors and cleanups in anticipation of suspend/resume support (Lyude) -vram: -Add lazy unmapping for gem bo's (Thomas) -Unify and rationalize vram mm and gem vram (Thomas) -Expose vmap and vunmap for gem vram objects (Thomas) -Allow objects to be pinned at the top of vram to avoid fragmentation (Thomas) Driver Changes: -various: Include drm_bridge.h instead of relying on drm_crtc.h (Boris) -ast/mgag200: Refactor show_cursor(), move cursor to top of video mem (Thomas) -komeda: -Add error event printing (behind CONFIG) and reg dump support (Lowry) -Add suspend/resume support (Lowry) -Workaround D71 shadow registers not flushing on disable (Lowry) -meson: Add suspend/resume support (Neil) -omap: Miscellaneous refactors and improvements (Tomi/Jyri) -panfrost/shmem: Silence lockdep by using mutex_trylock (Rob) -panfrost: Miscellaneous small fixes (Rob/Steven) -sti: Fix warnings (Benjamin/Linus) -sun4i: -Add vcc-dsi regulator to sun6i_mipi_dsi (Jagan) -A few patches to figure out the DRQ/start delay calc on dsi (Jagan/Icenowy) -virtio: -Add module param to switch resource reuse workaround on/off (Gerd) -Avoid calling vmexit while holding spinlock (Gerd) -Use gem shmem helpers instead of ttm (Gerd) -Accommodate command buffer allocations too big for cma (David) Cc: Rob Herring <robh@xxxxxxxxxx> Cc: Maxime Ripard <mripard@xxxxxxxxxx> Cc: Gwan-gyeong Mun <gwan-gyeong.mun@xxxxxxxxx> Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Lyude Paul <lyude@xxxxxxxxxx> Cc: José Roberto de Souza <jose.souza@xxxxxxxxx> Cc: Dariusz Marcinkiewicz <darekm@xxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Raymond Smith <raymond.smith@xxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Colin Ian King <colin.king@xxxxxxxxxxxxx> Cc: Thomas Zimmermann <tzimmermann@xxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Mihail Atanassov <Mihail.Atanassov@xxxxxxx> Cc: Lowry Li <Lowry.Li@xxxxxxx> Cc: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Cc: Jyri Sarha <jsarha@xxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Alyssa Rosenzweig <alyssa.rosenzweig@xxxxxxxxxxxxx> Cc: Steven Price <steven.price@xxxxxxx> Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> Cc: Icenowy Zheng <icenowy@xxxxxxx> Cc: Iago Toral Quiroga <itoral@xxxxxxxxxx> Cc: David Riley <davidriley@xxxxxxxxxxxx> Cheers, Sean The following changes since commit 54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c: Linux 5.4-rc1 (2019-09-30 10:35:40 -0700) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2019-10-09-2 for you to fetch changes up to 354c2d310082d1c384213ba76c3757dd3cd8755d: drm: damage_helper: Fix race checking plane->state->fb (2019-10-08 09:41:06 -0400) ---------------------------------------------------------------- drm-misc-next for 5.5: UAPI Changes: -Colorspace: Expose different prop values for DP vs. HDMI (Gwan-gyeong Mun) -fourcc: Add DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED (Raymond) -not_actually: s/ENOTSUPP/EOPNOTSUPP/ in drm_edid and drm_mipi_dbi. This should not reach userspace, but adding here to specifically call that out (Daniel) -i810: Prevent underflow in dispatch ioctls (Dan) -komeda: Add ACLK sysfs attribute (Mihail) -v3d: Allow userspace to clean up after render jobs (Iago) Cross-subsystem Changes: -MAINTAINERS: -Add Alyssa & Steven as panfrost reviewers (Rob) -Add Jernej as DE2 reviewer (Maxime) -Add Chen-Yu as Allwinner maintainer (Maxime) -staging: Make some stack arrays static const (Colin) Core Changes: -ttm: Allow drivers to specify their vma manager (to use gem mgr) (Gerd) -docs: Various fixes in connector/encoder/bridge docs (Daniel, Lyude, Laurent) -connector: Allow more than 3 possible encoders for a connector (José) -dp_cec: Allow a connector to be associated with a cec device (Dariusz) -various: Fix some compile/sparse warnings (Ville) -mm: Ensure mm node removals are properly serialised (Chris) -panel: Specify the type of panel for drm_panels for later use (Laurent) -panel: Use drm_panel_init to init device and funcs (Laurent) -mst: Refactors and cleanups in anticipation of suspend/resume support (Lyude) -vram: -Add lazy unmapping for gem bo's (Thomas) -Unify and rationalize vram mm and gem vram (Thomas) -Expose vmap and vunmap for gem vram objects (Thomas) -Allow objects to be pinned at the top of vram to avoid fragmentation (Thomas) Driver Changes: -various: Include drm_bridge.h instead of relying on drm_crtc.h (Boris) -ast/mgag200: Refactor show_cursor(), move cursor to top of video mem (Thomas) -komeda: -Add error event printing (behind CONFIG) and reg dump support (Lowry) -Add suspend/resume support (Lowry) -Workaround D71 shadow registers not flushing on disable (Lowry) -meson: Add suspend/resume support (Neil) -omap: Miscellaneous refactors and improvements (Tomi/Jyri) -panfrost/shmem: Silence lockdep by using mutex_trylock (Rob) -panfrost: Miscellaneous small fixes (Rob/Steven) -sti: Fix warnings (Benjamin/Linus) -sun4i: -Add vcc-dsi regulator to sun6i_mipi_dsi (Jagan) -A few patches to figure out the DRQ/start delay calc on dsi (Jagan/Icenowy) -virtio: -Add module param to switch resource reuse workaround on/off (Gerd) -Avoid calling vmexit while holding spinlock (Gerd) -Use gem shmem helpers instead of ttm (Gerd) -Accommodate command buffer allocations too big for cma (David) Cc: Rob Herring <robh@xxxxxxxxxx> Cc: Maxime Ripard <mripard@xxxxxxxxxx> Cc: Gwan-gyeong Mun <gwan-gyeong.mun@xxxxxxxxx> Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Lyude Paul <lyude@xxxxxxxxxx> Cc: José Roberto de Souza <jose.souza@xxxxxxxxx> Cc: Dariusz Marcinkiewicz <darekm@xxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Raymond Smith <raymond.smith@xxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Colin Ian King <colin.king@xxxxxxxxxxxxx> Cc: Thomas Zimmermann <tzimmermann@xxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Mihail Atanassov <Mihail.Atanassov@xxxxxxx> Cc: Lowry Li <Lowry.Li@xxxxxxx> Cc: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Cc: Jyri Sarha <jsarha@xxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Alyssa Rosenzweig <alyssa.rosenzweig@xxxxxxxxxxxxx> Cc: Steven Price <steven.price@xxxxxxx> Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> Cc: Icenowy Zheng <icenowy@xxxxxxx> Cc: Iago Toral Quiroga <itoral@xxxxxxxxxx> Cc: David Riley <davidriley@xxxxxxxxxxxx> ---------------------------------------------------------------- Alejandro Hernandez (1): drm/omap: tweak HDMI DDC timings Alyssa Rosenzweig (1): drm/panfrost: Add errata descriptions from kbase Arnd Bergmann (1): fbdev/sa1100fb: Remove even more dead code Benjamin Gaignard (2): drm: sti: fix W=1 warnings drm: fix warnings in DSC Boris Brezillon (2): drm: Stop including drm_bridge.h from drm_crtc.h drm/msm: Use drm_attach_bridge() to attach a bridge to an encoder Brian Masney (4): dt-bindings: drm/bridge: analogix-anx78xx: add new variants drm/bridge: analogix-anx78xx: add new variants drm/bridge: analogix-anx78xx: silence -EPROBE_DEFER warnings drm/bridge: analogix-anx78xx: convert to i2c_new_dummy_device Cheng-Yi Chiang (1): drm: dw-hdmi-i2s: enable audio clock in audio_startup Chris Wilson (4): dma-fence: Serialise signal enabling (dma_fence_enable_sw_signaling) drm/mm: Use helpers for drm_mm_node booleans drm/mm: Convert drm_mm_node booleans to bitops drm/mm: Use clear_bit_unlock() for releasing the drm_mm_node() Christophe JAILLET (1): drm/mcde: Fix an error handling path in 'mcde_probe()' Colin Ian King (2): staging: fbtft: make several arrays static const, makes object smaller drm/selftests: fix spelling mistake "misssing" -> "missing" Dan Carpenter (3): drm/mipi-dbi: fix a loop in debugfs code drm: panel-lvds: Potential Oops in probe error handling drm/i810: Prevent underflow in ioctl Daniel Vetter (6): drm/vblank: Document and fix vblank count barrier semantics drm/vkms: Use wait_for_flip_done drm/vkms: Reduce critical section in vblank_simulate drm: Use EOPNOTSUPP, not ENOTSUPP drm/blend: Define the direction of Z position values drm/doc: Improve docs around connector (un)registration Dariusz Marcinkiewicz (6): drm_dp_cec: add connector info support. drm/i915/intel_hdmi: use cec_notifier_conn_(un)register drm/vc4/vc4_hdmi: fill in connector info drm: sti: use cec_notifier_conn_(un)register drm: exynos: exynos_hdmi: use cec_notifier_conn_(un)register tda9950: use cec_notifier_cec_adap_(un)register David Riley (3): drm/virtio: Rewrite virtio_gpu_queue_ctrl_buffer using fenced version. drm/virtio: Use vmalloc for command buffer allocations. drm/virtio: Fix warning in virtio_gpu_queue_fenced_ctrl_buffer. Gerd Hoffmann (44): fbdev: drop res_id parameter from remove_conflicting_pci_framebuffers drm: drop resource_id parameter from drm_fb_helper_remove_conflicting_pci_framebuffers drm/i915: switch to drm_fb_helper_remove_conflicting_pci_framebuffers drm/virtio: make resource id workaround runtime switchable. drm/virtio: add plane check drm/virtio: cleanup queue functions drm/virtio: notify virtqueues without holding spinlock drm/virtio: pass gem reservation object to ttm init drm/virtio: switch virtio_gpu_wait_ioctl() to gem helper. drm/virtio: simplify cursor updates drm/virtio: remove virtio_gpu_object_wait drm/virtio: drop no_wait argument from virtio_gpu_object_reserve drm/virtio: remove ttm calls from in virtio_gpu_object_{reserve, unreserve} drm/virtio: add virtio_gpu_object_array & helpers drm/virtio: rework virtio_gpu_execbuffer_ioctl fencing drm/virtio: rework virtio_gpu_object_create fencing drm/virtio: rework virtio_gpu_transfer_from_host_ioctl fencing drm/virtio: rework virtio_gpu_transfer_to_host_ioctl fencing drm/virtio: rework virtio_gpu_cmd_context_{attach, detach}_resource drm/virtio: drop virtio_gpu_object_list_validate/virtio_gpu_unref_list drm/virtio: switch from ttm to gem shmem helpers drm/virtio: remove virtio_gpu_alloc_object drm/virtio: drop virtio_gpu_object_{ref,unref} drm/virtio: drop virtio_gpu_object_{reserve, unreserve} drm/virtio: add fence sanity check drm/virtio: add worker for object release drm/virtio: fix command submission with objects but without fence. drm: add drm_print_bits drm/ttm: add drm gem ttm helpers, starting with drm_gem_ttm_print_info() drm/vram: use drm_gem_ttm_print_info drm/vram: add vram-mm debugfs file drm/qxl: use drm_gem_object_funcs callbacks drm/qxl: use drm_gem_ttm_print_info drm/vram: fix Kconfig drm/ttm: turn ttm_bo_device.vma_manager into a pointer drm/nouveau: switch to gem vma offset manager drm/vram: switch to gem vma offset manager drm/radeon: switch to gem vma offset manager drm/amdgpu: switch to gem vma offset manager drm/qxl: switch to gem vma offset manager drm/vmwgfx: switch to own vma manager drm/ttm: remove embedded vma_offset_manager drm/virtio: enable prime mmap support drm: tweak drm_print_bits() Gwan-gyeong Mun (2): drm: Rename HDMI colorspace property creation function drm: Add DisplayPort colorspace property creation function Hans Verkuil (2): drm/sun4i/sun4i_hdmi_enc: call cec_s_conn_info() cec: add cec_adapter to cec_notifier_cec_adap_unregister() Heinrich Fink (1): drm: Add high-precision time to vblank trace event Iago Toral Quiroga (2): drm/v3d: don't leak bin job if v3d_job_init fails. drm/v3d: clean caches at the end of render jobs on request from user space Icenowy Zheng (3): Revert "drm/sun4i: dsi: Change the start delay calculation" drm/sun4i: dsi: fix the overhead of the horizontal front porch drm/sun4i: sun6i_mipi_dsi: fix DCS long write packet length Jagan Teki (4): dt-bindings: sun6i-dsi: Add VCC-DSI supply property drm/sun4i: sun6i_mipi_dsi: Add VCC-DSI regulator support drm/sun4i: dsi: Fix TCON DRQ set bits drm/sun4i: dsi: Fix video start delay computation Jani Nikula (5): drm/print: move drm_debug variable to drm_print.[ch] drm/print: add drm_debug_enabled() drm/etnaviv: use drm_debug_enabled() to check for debug categories drm/i2c/sil164: use drm_debug_enabled() to check for debug categories drm/msm: use drm_debug_enabled() to check for debug categories Jonathan Neuschäfer (1): drm/mcde: Fix reference to DOC comment José Roberto de Souza (2): drm/connector: Share with non-atomic drivers the function to get the single encoder drm/connector: Allow max possible encoders to attach to a connector Jyri Sarha (1): drm/omap: dss: move platform_register_drivers() to dss.c and remove core.c Laurent Pinchart (7): drm/panel: Add missing drm_panel_init() in panel drivers drm/panel: Initialise panel dev and funcs through drm_panel_init() drm/ingenic: Hardcode panel type to DPI drm/panel: Add and fill drm_panel type field drm/bridge: panel: Infer connector type from panel by default drm/panel: panel-simple: Set OSD070T1718 panel type drm/bridge: Fix references to drm_bridge_funcs in documentation Linus Walleij (1): drm/sti: Include the right header Lowry Li (Arm Technology China) (4): drm/komeda: Adds error event print functionality drm/komeda: Adds register dump support for gcu, lup and dou drm/komeda: Adds power management support drm/komeda: SW workaround for D71 doesn't flush shadow registers Lyude Paul (18): drm/dp_mst: Move link address dumping into a function drm/dp_mst: Get rid of list clear in destroy_connector_work drm/dp_mst: Move test_calc_pbn_mode() into an actual selftest drm/print: Add drm_err_printer() drm/dp_mst: Combine redundant cases in drm_dp_encode_sideband_req() drm/dp_mst: Add sideband down request tracing + selftests drm/dp_mst: Refactor drm_dp_send_enum_path_resources drm/dp_mst: Remove huge conditional in drm_dp_mst_handle_up_req() drm/dp_mst: Constify guid in drm_dp_get_mst_branch_by_guid() drm/dp_mst: Refactor drm_dp_mst_handle_up_req() drm/dp_mst: Refactor drm_dp_mst_handle_down_rep() drm/dp_mst: Cleanup drm_dp_send_link_address() a bit drm/encoder: Fix possible_clones documentation drm/encoder: Fix possible_crtcs documentation drm/encoder: Don't raise voice in drm_encoder_mask() documentation drm/dp_mst: Destroy topology_mgr mutexes drm/dp_mst: Rename drm_dp_add_port and drm_dp_update_port drm/dp_mst: Remove lies in {up, down}_rep_recv documentation Markus Elfring (1): drm/bridge/synopsys: dsi: Use devm_platform_ioremap_resource() in __dw_mipi_dsi_probe() Matt Roper (1): drm: Destroy the correct mutex name in drm_dp_mst_topology_mgr_destroy Matthias Kaehlcke (1): drm/bridge: dw-hdmi: Refuse DDC/CI transfers on the internal I2C controller Maxime Ripard (3): MAINTAINERS: Update Allwinner DRM drivers entry MAINTAINERS: Add Jernej Škrabec as a reviewer for DE2 Merge drm/drm-next into drm-misc-next Mihail Atanassov (4): drm/komeda: Add ACLK rate to sysfs drm/komeda: Remove in-code use of ifdef drm/komeda: Use IRQ_RETVAL shorthand in d71_irq_handler drm/komeda: Workaround for broken FLIP_COMPLETE timestamps Neil Armstrong (3): drm/meson: dw_hdmi: add resume/suspend hooks drm/meson: add resume/suspend hooks drm/meson: vclk: use the correct G12A frac max value Nishka Dasgupta (1): drm/tilcdc: plane: Make structure tilcdc_plane_funcs constant Ondrej Jirman (1): drm: Remove redundant of_device_is_available check Peter Griffin (1): drm/lima: Add support for multiple reset lines Qiang Yu (1): dma-buf/resv: fix exclusive fence get Raymond Smith (1): drm/fourcc: Add Arm 16x16 block modifier Rob Herring (5): MAINTAINERS: Add Steven and Alyssa as panfrost reviewers drm/panfrost: Fix possible suspend in panfrost_remove drm/shmem: Do dma_unmap_sg before purging pages drm/shmem: Use mutex_trylock in drm_gem_shmem_purge drm/panfrost: Use mutex_trylock in panfrost_gem_purge Sean Paul (3): drm: mst: Fix query_payload ack reply struct Documentation/gpu: Fix no structured comments warning for drm_gem_ttm_helper.h drm: damage_helper: Fix race checking plane->state->fb Stephen Rothwell (1): drm/virtio: module_param_named() requires linux/moduleparam.h Steven Price (1): drm/panfrost: Add missing check for pfdev->regulator Thierry Reding (1): drm/prime: Remove duplicate forward declaration Thomas Zimmermann (24): drm/vram: Add kmap ref-counting to GEM VRAM objects drm/vram: Acquire lock only once per call to vmap()/vunmap() drm/vram: Add infrastructure for move_notify() drm/vram: Implement lazy unmapping for GEM VRAM buffers drm/vram: Move VRAM memory manager to GEM VRAM implementation drm/vram: Have VRAM MM call GEM VRAM functions directly drm/vram: Unexport internal functions of VRAM MM drm/vram: Unconditonally set BO call-back functions drm/vram: Provide vmap and vunmap operations for GEM VRAM objects drm/ast: Use drm_gem_vram_{vmap,vunmap}() to map cursor source BO drm/mgag200: Use drm_gem_vram_{vmap, vunmap}() to map cursor source BO drm/vram: Support top-down placement flag drm/ast: Don't call ast_show_cursor() from ast_cursor_move() drm/ast: Move ast_{show,hide}_cursor() within source file drm/ast: Move cursor update code to ast_show_cursor() drm/ast: Move cursor offset swapping into ast_show_cursor() drm/ast: Allocate cursor BOs at high end of video memory drm/mgag200: Rename cursor functions to use mgag200_ prefix drm/mgag200: Add init and fini functions for cursor handling drm/mgag200: Add separate move-cursor function drm/mgag200: Move cursor-image update to mgag200_show_cursor() drm/mgag200: Move cursor BO swapping into mgag200_show_cursor() drm/mgag200: Reserve video memory for cursor plane drm/mgag200: Allocate cursor BOs at high end of video memory Tomi Valkeinen (5): drm/omap: drop unneeded locking from mgr_fld_write() drm/omap: avoid copy in mgr_fld_read/write drm/omap: fix missing scaler pixel fmt limitations drm/omap: hdmi5: automatically choose limited/full range output drm/omap: hdmi4: fix use of uninitialized var Ulf Magnusson (1): drm/tiny: Kconfig: Remove always-y THERMAL dep. from TINYDRM_REPAPER Ville Syrjälä (15): drm: Add drm_modeset_lock_assert_held() drm/atomic-helper: Make crtc helper funcs optional drm/dp: Add definitons for MSA MISC bits drm/edid: Add CTA-861-G modes with VIC < 128 video/hdmi: Fix AVI bar unpack drm/fb-helper: Include prototype for drm_fb_helper_modinit() drm/dsc: Fix bogus cpu_to_be16() usage drm: Include prototype for drm_need_swiotlb() drm/syncobj: Include the prototype for drm_timeout_abs_to_jiffies() drm: Fix return type of crc .poll() drm/dp/mst: Reduce nested ifs drm/dp/mst: Handle arbitrary DP_LINK_BW values drm/dp/mst: Replace the fixed point thing with straight calculation drm/rect: Add drm_rect_translate_to() drm/rect: Add drm_rect_init() Yakir Yang (1): drm: bridge/dw_hdmi: add audio sample channel status setting Yannick Fertré (2): drm/stm: ltdc: add pinctrl for DPI encoder mode drm/stm: dsi: higher pll out only in video burst mode .../display/allwinner,sun6i-a31-mipi-dsi.yaml | 5 + .../devicetree/bindings/display/bridge/anx7814.txt | 6 +- Documentation/gpu/drm-mm.rst | 11 +- Documentation/gpu/mcde.rst | 2 +- Documentation/gpu/todo.rst | 12 + MAINTAINERS | 12 + drivers/dma-buf/dma-fence.c | 78 +-- drivers/dma-buf/dma-resv.c | 2 +- drivers/gpu/drm/Kconfig | 8 +- drivers/gpu/drm/Makefile | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 23 +- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 1 + drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 5 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 8 +- .../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 2 +- drivers/gpu/drm/arc/arcpgu_hdmi.c | 1 + drivers/gpu/drm/arm/display/Kconfig | 6 + drivers/gpu/drm/arm/display/komeda/Makefile | 2 + .../gpu/drm/arm/display/komeda/d71/d71_component.c | 86 ++- drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c | 41 +- drivers/gpu/drm/arm/display/komeda/d71/d71_dev.h | 2 + drivers/gpu/drm/arm/display/komeda/komeda_crtc.c | 76 ++- drivers/gpu/drm/arm/display/komeda/komeda_dev.c | 77 ++- drivers/gpu/drm/arm/display/komeda/komeda_dev.h | 20 + drivers/gpu/drm/arm/display/komeda/komeda_drv.c | 30 +- drivers/gpu/drm/arm/display/komeda/komeda_event.c | 140 ++++ drivers/gpu/drm/arm/display/komeda/komeda_kms.c | 2 + .../gpu/drm/arm/display/komeda/komeda_pipeline.h | 14 +- .../drm/arm/display/komeda/komeda_pipeline_state.c | 30 +- drivers/gpu/drm/ast/Kconfig | 2 + drivers/gpu/drm/ast/ast_drv.c | 1 - drivers/gpu/drm/ast/ast_drv.h | 43 +- drivers/gpu/drm/ast/ast_main.c | 1 - drivers/gpu/drm/ast/ast_mode.c | 266 ++++---- drivers/gpu/drm/ast/ast_ttm.c | 3 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c | 3 +- drivers/gpu/drm/bochs/Kconfig | 2 + drivers/gpu/drm/bochs/bochs.h | 1 - drivers/gpu/drm/bochs/bochs_drv.c | 2 +- drivers/gpu/drm/bochs/bochs_mm.c | 3 +- drivers/gpu/drm/bridge/analogix-anx78xx.c | 28 +- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 + drivers/gpu/drm/bridge/cdns-dsi.c | 3 +- drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 + drivers/gpu/drm/bridge/lvds-encoder.c | 3 +- .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 1 + drivers/gpu/drm/bridge/nxp-ptn3460.c | 1 + drivers/gpu/drm/bridge/panel.c | 70 +- drivers/gpu/drm/bridge/parade-ps8622.c | 1 + drivers/gpu/drm/bridge/sii902x.c | 1 + drivers/gpu/drm/bridge/sii9234.c | 1 + drivers/gpu/drm/bridge/sil-sii8620.c | 1 + drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c | 4 +- .../gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c | 10 + drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 31 + drivers/gpu/drm/bridge/synopsys/dw-hdmi.h | 2 + drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 10 +- drivers/gpu/drm/bridge/tc358764.c | 1 + drivers/gpu/drm/bridge/tc358767.c | 1 + drivers/gpu/drm/bridge/ti-sn65dsi86.c | 1 + drivers/gpu/drm/bridge/ti-tfp410.c | 1 + drivers/gpu/drm/cirrus/cirrus.c | 2 +- drivers/gpu/drm/drm_atomic_helper.c | 18 +- drivers/gpu/drm/drm_atomic_uapi.c | 2 +- drivers/gpu/drm/drm_blend.c | 7 +- drivers/gpu/drm/drm_client_modeset.c | 3 +- drivers/gpu/drm/drm_connector.c | 142 ++-- drivers/gpu/drm/drm_crtc_helper.c | 23 +- drivers/gpu/drm/drm_crtc_helper_internal.h | 3 + drivers/gpu/drm/drm_damage_helper.c | 8 +- drivers/gpu/drm/drm_debugfs_crc.c | 8 +- drivers/gpu/drm/drm_dp_cec.c | 25 +- drivers/gpu/drm/drm_dp_helper.c | 8 + drivers/gpu/drm/drm_dp_mst_topology.c | 725 ++++++++++++++------- drivers/gpu/drm/drm_dp_mst_topology_internal.h | 24 + drivers/gpu/drm/drm_drv.c | 17 - drivers/gpu/drm/drm_dsc.c | 23 +- drivers/gpu/drm/drm_edid.c | 108 ++- drivers/gpu/drm/drm_edid_load.c | 2 +- drivers/gpu/drm/drm_encoder.c | 1 + drivers/gpu/drm/drm_fb_helper.c | 1 + drivers/gpu/drm/drm_gem_ttm_helper.c | 56 ++ drivers/gpu/drm/drm_gem_vram_helper.c | 660 +++++++++++++++---- drivers/gpu/drm/drm_memory.c | 1 + drivers/gpu/drm/drm_mipi_dbi.c | 9 +- drivers/gpu/drm/drm_mm.c | 36 +- drivers/gpu/drm/drm_of.c | 5 - drivers/gpu/drm/drm_panel.c | 14 +- drivers/gpu/drm/drm_print.c | 60 +- drivers/gpu/drm/drm_probe_helper.c | 4 +- drivers/gpu/drm/drm_simple_kms_helper.c | 1 + drivers/gpu/drm/drm_syncobj.c | 1 + drivers/gpu/drm/drm_trace.h | 14 +- drivers/gpu/drm/drm_vblank.c | 54 +- drivers/gpu/drm/drm_vram_helper_common.c | 8 +- drivers/gpu/drm/drm_vram_mm_helper.c | 297 --------- drivers/gpu/drm/etnaviv/etnaviv_buffer.c | 8 +- drivers/gpu/drm/exynos/exynos_dp.c | 1 + drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1 + drivers/gpu/drm/exynos/exynos_drm_mic.c | 1 + drivers/gpu/drm/exynos/exynos_hdmi.c | 32 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 1 + drivers/gpu/drm/hisilicon/hibmc/Kconfig | 3 +- drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 1 - drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c | 3 +- drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c | 1 + drivers/gpu/drm/i2c/sil164_drv.c | 2 +- drivers/gpu/drm/i2c/tda9950.c | 12 +- drivers/gpu/drm/i2c/tda998x_drv.c | 1 + drivers/gpu/drm/i810/i810_dma.c | 4 +- drivers/gpu/drm/i915/display/intel_connector.c | 2 +- drivers/gpu/drm/i915/display/intel_dp.c | 4 +- drivers/gpu/drm/i915/display/intel_hdmi.c | 13 +- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 6 +- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 2 +- drivers/gpu/drm/i915/i915_drv.c | 41 +- drivers/gpu/drm/i915/i915_gem.c | 16 +- drivers/gpu/drm/i915/i915_gem_evict.c | 2 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 2 +- drivers/gpu/drm/i915/i915_vma.c | 4 +- drivers/gpu/drm/i915/i915_vma.h | 2 +- drivers/gpu/drm/imx/imx-ldb.c | 1 + drivers/gpu/drm/imx/parallel-display.c | 1 + drivers/gpu/drm/ingenic/ingenic-drm.c | 5 +- drivers/gpu/drm/lima/lima_device.c | 3 +- drivers/gpu/drm/mcde/mcde_drv.c | 3 +- drivers/gpu/drm/mcde/mcde_dsi.c | 4 +- drivers/gpu/drm/mediatek/mtk_dpi.c | 1 + drivers/gpu/drm/mediatek/mtk_dsi.c | 1 + drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 + drivers/gpu/drm/meson/meson_drv.c | 32 + drivers/gpu/drm/meson/meson_dw_hdmi.c | 110 +++- drivers/gpu/drm/meson/meson_vclk.c | 9 +- drivers/gpu/drm/mgag200/Kconfig | 2 + drivers/gpu/drm/mgag200/mgag200_cursor.c | 327 ++++++---- drivers/gpu/drm/mgag200/mgag200_drv.c | 2 +- drivers/gpu/drm/mgag200/mgag200_drv.h | 23 +- drivers/gpu/drm/mgag200/mgag200_main.c | 20 +- drivers/gpu/drm/mgag200/mgag200_mode.c | 17 +- drivers/gpu/drm/mgag200/mgag200_ttm.c | 7 +- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 4 +- drivers/gpu/drm/msm/dsi/dsi.h | 1 + drivers/gpu/drm/msm/edp/edp.c | 4 +- drivers/gpu/drm/msm/edp/edp.h | 1 + drivers/gpu/drm/msm/hdmi/hdmi.c | 4 +- drivers/gpu/drm/msm/hdmi/hdmi.h | 2 + drivers/gpu/drm/nouveau/dispnv04/disp.c | 2 +- drivers/gpu/drm/nouveau/dispnv50/disp.c | 2 +- drivers/gpu/drm/nouveau/nouveau_connector.c | 10 +- drivers/gpu/drm/nouveau/nouveau_ttm.c | 1 + drivers/gpu/drm/omapdrm/dss/Makefile | 2 +- drivers/gpu/drm/omapdrm/dss/core.c | 55 -- drivers/gpu/drm/omapdrm/dss/dispc.c | 46 +- drivers/gpu/drm/omapdrm/dss/dss.c | 37 ++ drivers/gpu/drm/omapdrm/dss/hdmi4_core.c | 5 +- drivers/gpu/drm/omapdrm/dss/hdmi5_core.c | 125 ++-- drivers/gpu/drm/omapdrm/dss/output.c | 1 + drivers/gpu/drm/omapdrm/omap_drv.c | 1 + drivers/gpu/drm/omapdrm/omap_encoder.c | 1 + drivers/gpu/drm/panel/panel-arm-versatile.c | 5 +- .../gpu/drm/panel/panel-feiyang-fy07024di26a30d.c | 5 +- drivers/gpu/drm/panel/panel-ilitek-ili9322.c | 5 +- drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 5 +- drivers/gpu/drm/panel/panel-innolux-p079zca.c | 5 +- drivers/gpu/drm/panel/panel-jdi-lt070me05000.c | 5 +- drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c | 5 +- drivers/gpu/drm/panel/panel-lg-lb035q02.c | 5 +- drivers/gpu/drm/panel/panel-lg-lg4573.c | 5 +- drivers/gpu/drm/panel/panel-lvds.c | 26 +- drivers/gpu/drm/panel/panel-nec-nl8048hl11.c | 5 +- drivers/gpu/drm/panel/panel-novatek-nt39016.c | 5 +- drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c | 5 +- drivers/gpu/drm/panel/panel-orisetech-otm8009a.c | 5 +- drivers/gpu/drm/panel/panel-osd-osd101t2587-53ts.c | 5 +- .../gpu/drm/panel/panel-panasonic-vvx10f034n00.c | 5 +- .../gpu/drm/panel/panel-raspberrypi-touchscreen.c | 4 +- drivers/gpu/drm/panel/panel-raydium-rm67191.c | 5 +- drivers/gpu/drm/panel/panel-raydium-rm68200.c | 5 +- drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c | 5 +- drivers/gpu/drm/panel/panel-ronbo-rb070d30.c | 5 +- drivers/gpu/drm/panel/panel-samsung-ld9040.c | 5 +- drivers/gpu/drm/panel/panel-samsung-s6d16d0.c | 5 +- drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c | 5 +- drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c | 5 +- drivers/gpu/drm/panel/panel-samsung-s6e63m0.c | 5 +- drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c | 5 +- drivers/gpu/drm/panel/panel-seiko-43wvf1g.c | 5 +- drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c | 5 +- drivers/gpu/drm/panel/panel-sharp-ls037v7dw01.c | 5 +- drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c | 5 +- drivers/gpu/drm/panel/panel-simple.c | 29 +- drivers/gpu/drm/panel/panel-sitronix-st7701.c | 5 +- drivers/gpu/drm/panel/panel-sitronix-st7789v.c | 4 +- drivers/gpu/drm/panel/panel-sony-acx565akm.c | 5 +- drivers/gpu/drm/panel/panel-tpo-td028ttec1.c | 5 +- drivers/gpu/drm/panel/panel-tpo-td043mtea1.c | 5 +- drivers/gpu/drm/panel/panel-tpo-tpg110.c | 5 +- drivers/gpu/drm/panel/panel-truly-nt35597.c | 5 +- drivers/gpu/drm/panfrost/panfrost_devfreq.c | 6 +- drivers/gpu/drm/panfrost/panfrost_issues.h | 81 +++ drivers/gpu/drm/pl111/pl111_drv.c | 4 +- drivers/gpu/drm/qxl/qxl_drv.c | 10 +- drivers/gpu/drm/qxl/qxl_drv.h | 1 + drivers/gpu/drm/qxl/qxl_object.c | 13 + drivers/gpu/drm/qxl/qxl_ttm.c | 1 + drivers/gpu/drm/radeon/radeon_connectors.c | 27 +- drivers/gpu/drm/radeon/radeon_drv.c | 2 +- drivers/gpu/drm/radeon/radeon_ttm.c | 1 + drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 5 +- drivers/gpu/drm/rockchip/rockchip_lvds.c | 1 + drivers/gpu/drm/rockchip/rockchip_rgb.c | 4 +- drivers/gpu/drm/selftests/Makefile | 2 +- drivers/gpu/drm/selftests/drm_modeset_selftests.h | 2 + drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c | 238 +++++++ drivers/gpu/drm/selftests/test-drm_framebuffer.c | 2 +- drivers/gpu/drm/selftests/test-drm_mm.c | 14 +- .../gpu/drm/selftests/test-drm_modeset_common.h | 2 + drivers/gpu/drm/sti/sti_cursor.c | 2 +- drivers/gpu/drm/sti/sti_dvo.c | 3 +- drivers/gpu/drm/sti/sti_gdp.c | 2 +- drivers/gpu/drm/sti/sti_hda.c | 3 +- drivers/gpu/drm/sti/sti_hdmi.c | 26 +- drivers/gpu/drm/sti/sti_tvout.c | 10 +- drivers/gpu/drm/sti/sti_vtg.c | 2 +- drivers/gpu/drm/stm/dw_mipi_dsi-stm.c | 5 +- drivers/gpu/drm/stm/ltdc.c | 39 +- drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 6 +- drivers/gpu/drm/sun4i/sun4i_lvds.c | 1 + drivers/gpu/drm/sun4i/sun4i_rgb.c | 1 + drivers/gpu/drm/sun4i/sun4i_tcon.c | 1 + drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 35 +- drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h | 1 + drivers/gpu/drm/tilcdc/tilcdc_external.c | 5 +- drivers/gpu/drm/tilcdc/tilcdc_plane.c | 2 +- drivers/gpu/drm/tiny/Kconfig | 1 - drivers/gpu/drm/ttm/ttm_bo.c | 14 +- drivers/gpu/drm/ttm/ttm_bo_vm.c | 6 +- drivers/gpu/drm/tve200/tve200_drv.c | 4 +- drivers/gpu/drm/udl/udl_connector.c | 8 - drivers/gpu/drm/v3d/v3d_drv.c | 3 + drivers/gpu/drm/v3d/v3d_gem.c | 55 +- drivers/gpu/drm/vboxvideo/Kconfig | 2 + drivers/gpu/drm/vboxvideo/vbox_drv.h | 2 - drivers/gpu/drm/vboxvideo/vbox_ttm.c | 3 +- drivers/gpu/drm/vc4/vc4_crtc.c | 2 +- drivers/gpu/drm/vc4/vc4_dpi.c | 3 +- drivers/gpu/drm/vc4/vc4_dsi.c | 5 +- drivers/gpu/drm/vc4/vc4_hdmi.c | 13 +- drivers/gpu/drm/vc4/vc4_hvs.c | 2 +- drivers/gpu/drm/vc4/vc4_plane.c | 4 +- drivers/gpu/drm/virtio/Kconfig | 2 +- drivers/gpu/drm/virtio/Makefile | 2 +- drivers/gpu/drm/virtio/virtgpu_drv.c | 22 +- drivers/gpu/drm/virtio/virtgpu_drv.h | 131 ++-- drivers/gpu/drm/virtio/virtgpu_fence.c | 4 + drivers/gpu/drm/virtio/virtgpu_gem.c | 183 ++++-- drivers/gpu/drm/virtio/virtgpu_ioctl.c | 228 +++---- drivers/gpu/drm/virtio/virtgpu_kms.c | 15 +- drivers/gpu/drm/virtio/virtgpu_object.c | 270 +++----- drivers/gpu/drm/virtio/virtgpu_plane.c | 51 +- drivers/gpu/drm/virtio/virtgpu_prime.c | 34 - drivers/gpu/drm/virtio/virtgpu_ttm.c | 305 --------- drivers/gpu/drm/virtio/virtgpu_vq.c | 215 ++++-- drivers/gpu/drm/vkms/vkms_crtc.c | 9 +- drivers/gpu/drm/vkms/vkms_drv.c | 2 +- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 5 + drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 1 + drivers/media/cec/cec-notifier.c | 5 +- drivers/media/platform/cros-ec-cec/cros-ec-cec.c | 6 +- drivers/media/platform/meson/ao-cec-g12a.c | 4 +- drivers/media/platform/meson/ao-cec.c | 4 +- drivers/media/platform/s5p-cec/s5p_cec.c | 4 +- drivers/media/platform/seco-cec/seco-cec.c | 4 +- drivers/media/platform/sti/cec/stih-cec.c | 4 +- drivers/media/platform/tegra-cec/tegra_cec.c | 4 +- drivers/video/fbdev/core/fbmem.c | 17 +- drivers/video/fbdev/sa1100fb.c | 13 - drivers/video/hdmi.c | 8 +- include/drm/bridge/dw_hdmi.h | 1 + include/drm/drm_bridge.h | 33 +- include/drm/drm_connector.h | 25 +- include/drm/drm_crtc.h | 1 - include/drm/drm_dp_helper.h | 59 +- include/drm/drm_dp_mst_helper.h | 12 +- include/drm/drm_drv.h | 2 - include/drm/drm_encoder.h | 6 +- include/drm/drm_fb_helper.h | 6 +- include/drm/drm_gem_ttm_helper.h | 19 + include/drm/drm_gem_vram_helper.h | 107 ++- include/drm/drm_mm.h | 7 +- include/drm/drm_modeset_helper_vtables.h | 7 +- include/drm/drm_modeset_lock.h | 9 + include/drm/drm_panel.h | 13 +- include/drm/drm_prime.h | 2 - include/drm/drm_print.h | 26 + include/drm/drm_rect.h | 31 + include/drm/drm_vblank.h | 15 +- include/drm/drm_vram_mm_helper.h | 104 --- include/drm/ttm/ttm_bo_driver.h | 6 +- include/linux/fb.h | 2 +- include/media/cec-notifier.h | 7 +- include/uapi/drm/drm_fourcc.h | 26 +- include/uapi/drm/v3d_drm.h | 8 +- 304 files changed, 4646 insertions(+), 2983 deletions(-) create mode 100644 drivers/gpu/drm/arm/display/komeda/komeda_event.c create mode 100644 drivers/gpu/drm/drm_dp_mst_topology_internal.h create mode 100644 drivers/gpu/drm/drm_gem_ttm_helper.c delete mode 100644 drivers/gpu/drm/drm_vram_mm_helper.c delete mode 100644 drivers/gpu/drm/omapdrm/dss/core.c create mode 100644 drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c delete mode 100644 drivers/gpu/drm/virtio/virtgpu_ttm.c create mode 100644 include/drm/drm_gem_ttm_helper.h delete mode 100644 include/drm/drm_vram_mm_helper.h -- Sean Paul, Software Engineer, Google / Chromium OS _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel