Hi Daniel, Dave, Here is a re-run of the previous drm-misc-next as asked by Daniel. Thanks! Maxime drm-misc-next-2019-01-16: drm-misc-next for 5.1: UAPI Changes: - New fourcc identifier for ARM Framebuffer Compression v1.3 Cross-subsystem Changes: Core Changes: - Reorganisation of drm_device and drm_framebuffer headers - Cleanup of the drmP inclusion - Fix leaks in the fb-helpers - Allow for depth different from bpp in fb-helper fbdev emulation - Remove drm_mode_object from drm_display_mode Driver Changes: - Add reflection properties to rockchip - a bunch of fixes for virtio - a bunch of fixes for dp_mst and drivers using it, and introduction of a new refcounting scheme - Convertion of bochs to atomic and generic fbdev emulation - Allow meson to remove the firmware framebuffers The following changes since commit e3d093070eb0b5e3df668d3eb04100ea79343c65: Merge tag 'tilcdc-4.22' of https://github.com/jsarha/linux into drm-next (2019-01-11 06:29:31 +1000) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2019-01-16 for you to fetch changes up to 94520db52fc0e931327bb77fe79a952a0e9dd2b0: drm: fix alpha build after drm_util.h change (2019-01-16 11:16:17 +0100) ---------------------------------------------------------------- drm-misc-next for 5.1: UAPI Changes: - New fourcc identifier for ARM Framebuffer Compression v1.3 Cross-subsystem Changes: Core Changes: - Reorganisation of drm_device and drm_framebuffer headers - Cleanup of the drmP inclusion - Fix leaks in the fb-helpers - Allow for depth different from bpp in fb-helper fbdev emulation - Remove drm_mode_object from drm_display_mode Driver Changes: - Add reflection properties to rockchip - a bunch of fixes for virtio - a bunch of fixes for dp_mst and drivers using it, and introduction of a new refcounting scheme - Convertion of bochs to atomic and generic fbdev emulation - Allow meson to remove the firmware framebuffers ---------------------------------------------------------------- Daniel Vetter (15): drm/todo: Better defio support in the generic fbdev emulation drm/crtc-helpers: WARN when used with atomic drivers drm/ch7006: Stop using drm_crtc_force_disable drm/nouveau: Stop using drm_crtc_force_disable drm: Unexport drm_crtc_force_disable drm/atomic: Add missing () to function ref in kerneldoc drm: Move the legacy kms disable_all helper to crtc helpers drm/arc: Don't set the dpms hook drm/tda998x: Don't set dpms hook drm/doc: Polish kerneldoc for drm_device.h drm/docs: improve docs for drm_drv.c drm/of: Fix kerneldoc drm/panel: Small documentation polish drm/doc: Move bridge link target to the right place staging/vboxvideo: Don't set FBINFO_MISC_ALWAYS_SETPAR Daniele Castagna (2): drm/rockchip: Fix YUV buffers color rendering drm/rockchip: Add reflection properties Enric Balletbo i Serra (1): drm/rockchip: update cursors asynchronously through atomic. Ezequiel Garcia (5): drm/virtio: Remove incorrect kfree() drm/virtio: Add missing virtqueue reset drm/virtio: Drop deprecated load/unload initialization drm/rockchip: Fix typo in VOP macros argument drm/rockchip: Separate RK3288 from RK3368 win01 registers Gerd Hoffmann (19): drm/virtio: log error responses drm/virtio: fix pageflip flush drm/virtio: drop virtio_gpu_fence_cleanup() drm/bochs: encoder cleanup drm/bochs: split bochs_hw_setmode drm/bochs: atomic: add atomic_flush+atomic_enable callbacks. drm/bochs: atomic: add mode_set_nofb callback. drm/bochs: atomic: switch planes to atomic, wire up helpers. drm/bochs: atomic: use atomic set_config helper drm/bochs: atomic: use atomic page_flip helper drm/bochs: atomic: use suspend/resume helpers drm/bochs: atomic: set DRIVER_ATOMIC drm/bochs: remove old bochs_crtc_* functions drm/bochs: drop unused gpu_addr arg from bochs_bo_pin() drm/bochs: move ttm_bo_(un)reserve calls into bochs_bo_{pin, unpin} drm/bochs: add basic prime support drm/bochs: switch to generic drm fbdev emulation drm/bochs: drop old fbdev emulation code drm/bochs: move remaining fb bits to kms Gustavo A. R. Silva (1): qxl: Use struct_size() in kzalloc() Kuo-Hsin Yang (1): drm/gem: Mark pinned pages as unevictable Linus Walleij (2): drm/fb-helper: Scale back depth to supported maximum drm/panel: Add a driver for the TPO TPG110 Lyude Paul (21): drm/dp_mst: Fix some formatting in drm_dp_add_port() drm/dp_mst: Fix some formatting in drm_dp_payload_send_msg() drm/dp_mst: Fix some formatting in drm_dp_mst_allocate_vcpi() drm/dp_mst: Fix some formatting in drm_dp_mst_deallocate_vcpi() drm/dp_mst: Rename drm_dp_mst_get_validated_(port|mstb)_ref and friends drm/dp_mst: Introduce new refcounting scheme for mstbs and ports drm/dp_mst: Restart last_connected_port_and_mstb() if topology ref fails drm/dp_mst: Stop releasing VCPI when removing ports from topology drm/dp_mst: Fix payload deallocation on hotplugs using malloc refs drm/i915: Keep malloc references to MST ports drm/amdgpu/display: Keep malloc ref to MST port drm/nouveau: Remove bogus cleanup in nv50_mstm_add_connector() drm/nouveau: Remove unnecessary VCPI checks in nv50_msto_cleanup() drm/nouveau: Keep malloc references to MST ports drm/nouveau: Stop unsetting mstc->port, use malloc refs drm/nouveau: Grab payload lock in nv50_msto_payload() drm/dp_mst: Add some atomic state iterator macros drm/dp_mst: Start tracking per-port VCPI allocations drm/dp_mst: Check payload count in drm_dp_mst_atomic_check() drm/nouveau: Use atomic VCPI helpers for MST drm/i915: Pass down rc in intel_encoder->compute_config() Mark Yao (1): drm: rockchip: vop: add rk3066 vop definitions Mathieu Malaterre (1): drm/dp: annotate implicit fall throughs Matteo Franchin (1): drm/fourcc: Add modifier defininitions for AFBC 1.3 Maxime Jourdan (1): drm/meson: remove firmware framebuffers Maxime Ripard (1): Merge drm/drm-next into drm-misc-next Noralf Trønnes (3): drm/fb-helper: generic: Fix setup error path drm/hisilicon/kirin: Use drm_fbdev_generic_setup() drm/mxsfb: Use drm_fbdev_generic_setup() Paul Kocialkowski (2): drm/vc4: Limit SAND tiling support to semiplanar YUV420 formats drm: Auto-set allow_fb_modifiers when given modifiers at plane init Peter Wu (1): drm/fb-helper: fix leaks in error path of drm_fb_helper_fbdev_setup Rob Clark (1): drm/cirrus: fix connector leak at unload Rodrigo Siqueira (1): MAINTAINERS: Add entry for VKMS Sam Ravnborg (11): drm: drm_device.h: update comments to kernel-doc style drm: move DRM_SWITCH_POWER defines to drm_device.h drm: make drm_framebuffer.h self contained drm: remove include of drmP.h from bridge/dw_hdmi.h drm: remove include of drmP.h from drm_encoder_slave.h drm/arc: do not rely on drmP.h from drm_gem_cma_helper.h drm/tinydrm: do not reply on drmP.h from drm_gem_cma_helper.h drm: remove drmP.h from drm_gem_cma_helper.h drm: move drm_can_sleep() to drm_util.h drm: move EXPORT_SYMBOL_FOR_TESTS_ONLY to drm_util.h drm: fix alpha build after drm_util.h change Shayenne Moura (8): drm: omapdrm: Cleanup drm_display_mode print str drm: meson: Cleanup on drm_display_mode print str drm: sti: Cleanup drm_display_mode print str drm: i915: Cleanup drm_display_mode print str drm: msm: Cleanup drm_display_mode print str drm: armada: Cleanup drm_display_mode print str drm: Remove use of drm_mode_object drm: Complete remove drm_mode_object dependency Thierry Reding (1): dt-bindings: panel: Add missing .txt suffix Ville Syrjälä (5): drm/edid: Pass connector to AVI infoframe functions drm/i915: Use drm_hdmi_avi_infoframe_quant_range() for SDVO HDMI as well drm/radeon: Use drm_hdmi_avi_infoframe_quant_range() drm/edid: Add display_info.rgb_quant_range_selectable drm/vblank: Allow dynamic per-crtc max_vblank_count .../panel/{auo,g101evn010 => auo,g101evn010.txt} | 0 .../bindings/display/rockchip/rockchip-vop.txt | 1 + Documentation/gpu/dp-mst/topology-figure-1.dot | 52 ++ Documentation/gpu/dp-mst/topology-figure-2.dot | 56 ++ Documentation/gpu/dp-mst/topology-figure-3.dot | 59 ++ Documentation/gpu/drm-internals.rst | 12 + Documentation/gpu/drm-kms-helpers.rst | 30 +- Documentation/gpu/todo.rst | 30 + MAINTAINERS | 17 + drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- drivers/gpu/drm/amd/amdgpu/atom.c | 2 + drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 3 +- drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 2 +- .../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 11 +- drivers/gpu/drm/arc/arcpgu_crtc.c | 2 + drivers/gpu/drm/arc/arcpgu_drv.c | 6 + drivers/gpu/drm/arc/arcpgu_sim.c | 1 - drivers/gpu/drm/armada/armada_crtc.c | 8 +- drivers/gpu/drm/ast/ast_fb.c | 4 +- drivers/gpu/drm/bochs/Makefile | 2 +- drivers/gpu/drm/bochs/bochs.h | 23 +- drivers/gpu/drm/bochs/bochs_drv.c | 35 +- drivers/gpu/drm/bochs/bochs_fbdev.c | 163 ---- drivers/gpu/drm/bochs/bochs_hw.c | 19 +- drivers/gpu/drm/bochs/bochs_kms.c | 218 +++-- drivers/gpu/drm/bochs/bochs_mm.c | 68 +- drivers/gpu/drm/bridge/analogix-anx78xx.c | 5 +- drivers/gpu/drm/bridge/panel.c | 22 +- drivers/gpu/drm/bridge/sii902x.c | 3 +- drivers/gpu/drm/bridge/sil-sii8620.c | 3 +- .../gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c | 4 + drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 +- drivers/gpu/drm/cirrus/cirrus_fbdev.c | 3 + drivers/gpu/drm/drm_crtc.c | 41 - drivers/gpu/drm/drm_crtc_helper.c | 58 +- drivers/gpu/drm/drm_crtc_internal.h | 1 + drivers/gpu/drm/drm_dp_helper.c | 3 + drivers/gpu/drm/drm_dp_mst_topology.c | 946 ++++++++++++++++----- drivers/gpu/drm/drm_drv.c | 23 +- drivers/gpu/drm/drm_edid.c | 101 +-- drivers/gpu/drm/drm_fb_helper.c | 155 +++- drivers/gpu/drm/drm_flip_work.c | 1 + drivers/gpu/drm/drm_framebuffer.c | 1 + drivers/gpu/drm/drm_gem.c | 36 +- drivers/gpu/drm/drm_modes.c | 9 - drivers/gpu/drm/drm_of.c | 4 +- drivers/gpu/drm/drm_panel.c | 3 + drivers/gpu/drm/drm_plane.c | 3 + drivers/gpu/drm/drm_vblank.c | 45 +- drivers/gpu/drm/exynos/exynos_hdmi.c | 3 +- drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 38 +- drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h | 4 - drivers/gpu/drm/i2c/ch7006_drv.c | 6 +- drivers/gpu/drm/i2c/tda998x_drv.c | 4 +- drivers/gpu/drm/i915/i915_debugfs.c | 9 +- drivers/gpu/drm/i915/icl_dsi.c | 8 +- drivers/gpu/drm/i915/intel_connector.c | 4 + drivers/gpu/drm/i915/intel_crt.c | 35 +- drivers/gpu/drm/i915/intel_ddi.c | 6 +- drivers/gpu/drm/i915/intel_display.c | 15 +- drivers/gpu/drm/i915/intel_dp.c | 71 +- drivers/gpu/drm/i915/intel_dp_mst.c | 67 +- drivers/gpu/drm/i915/intel_drv.h | 19 +- drivers/gpu/drm/i915/intel_dvo.c | 11 +- drivers/gpu/drm/i915/intel_hdmi.c | 34 +- drivers/gpu/drm/i915/intel_lspcon.c | 16 +- drivers/gpu/drm/i915/intel_lvds.c | 12 +- drivers/gpu/drm/i915/intel_sdvo.c | 44 +- drivers/gpu/drm/i915/intel_tv.c | 8 +- drivers/gpu/drm/i915/vlv_dsi.c | 14 +- drivers/gpu/drm/mediatek/mtk_hdmi.c | 3 +- drivers/gpu/drm/meson/meson_drv.c | 20 + drivers/gpu/drm/meson/meson_dw_hdmi.c | 12 +- drivers/gpu/drm/mgag200/mgag200_fb.c | 1 + drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c | 10 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c | 9 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_dtv_encoder.c | 9 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c | 9 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c | 9 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 9 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c | 9 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c | 1 + drivers/gpu/drm/msm/dsi/dsi_manager.c | 9 +- drivers/gpu/drm/msm/edp/edp_bridge.c | 9 +- drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 3 +- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 26 +- drivers/gpu/drm/mxsfb/mxsfb_drv.h | 1 - drivers/gpu/drm/nouveau/dispnv04/tvnv17.c | 4 +- drivers/gpu/drm/nouveau/dispnv50/disp.c | 103 ++- drivers/gpu/drm/nouveau/nouveau_display.c | 2 +- drivers/gpu/drm/omapdrm/omap_connector.c | 9 +- drivers/gpu/drm/omapdrm/omap_crtc.c | 8 +- drivers/gpu/drm/omapdrm/omap_encoder.c | 4 +- drivers/gpu/drm/omapdrm/omap_fbdev.c | 1 + drivers/gpu/drm/panel/Kconfig | 9 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-tpo-tpg110.c | 496 +++++++++++ drivers/gpu/drm/qxl/qxl_cmd.c | 2 + drivers/gpu/drm/qxl/qxl_display.c | 4 +- drivers/gpu/drm/radeon/atom.c | 2 + drivers/gpu/drm/radeon/radeon_audio.c | 14 +- drivers/gpu/drm/radeon/radeon_display.c | 2 +- drivers/gpu/drm/radeon/radeon_legacy_encoders.c | 1 + drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c | 1 + drivers/gpu/drm/rockchip/inno_hdmi.c | 4 +- drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 36 - drivers/gpu/drm/rockchip/rockchip_drm_psr.c | 37 + drivers/gpu/drm/rockchip/rockchip_drm_psr.h | 3 + drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 157 +++- drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 15 + drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 180 +++- drivers/gpu/drm/rockchip/rockchip_vop_reg.h | 53 ++ drivers/gpu/drm/sti/sti_crtc.c | 14 +- drivers/gpu/drm/sti/sti_hdmi.c | 3 +- drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 3 +- drivers/gpu/drm/tegra/hdmi.c | 3 +- drivers/gpu/drm/tegra/sor.c | 3 +- drivers/gpu/drm/tinydrm/core/tinydrm-core.c | 3 + drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 3 + drivers/gpu/drm/tinydrm/hx8357d.c | 1 + drivers/gpu/drm/tinydrm/ili9225.c | 2 + drivers/gpu/drm/tinydrm/ili9341.c | 1 + drivers/gpu/drm/tinydrm/mi0283qt.c | 1 + drivers/gpu/drm/tinydrm/mipi-dbi.c | 3 + drivers/gpu/drm/tinydrm/repaper.c | 1 + drivers/gpu/drm/tinydrm/st7586.c | 1 + drivers/gpu/drm/tinydrm/st7735r.c | 1 + drivers/gpu/drm/vc4/vc4_drv.h | 1 + drivers/gpu/drm/vc4/vc4_hdmi.c | 16 +- drivers/gpu/drm/vc4/vc4_plane.c | 17 +- drivers/gpu/drm/virtio/Makefile | 2 +- drivers/gpu/drm/virtio/virtgpu_display.c | 7 +- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 103 --- drivers/gpu/drm/virtio/virtgpu_drv.c | 79 +- drivers/gpu/drm/virtio/virtgpu_drv.h | 10 +- drivers/gpu/drm/virtio/virtgpu_fence.c | 8 - drivers/gpu/drm/virtio/virtgpu_ioctl.c | 2 +- drivers/gpu/drm/virtio/virtgpu_kms.c | 10 +- drivers/gpu/drm/virtio/virtgpu_plane.c | 17 +- drivers/gpu/drm/virtio/virtgpu_vq.c | 12 +- drivers/gpu/drm/zte/zx_hdmi.c | 4 +- drivers/staging/vboxvideo/vbox_fb.c | 5 - include/drm/bridge/dw_hdmi.h | 6 +- include/drm/drmP.h | 24 +- include/drm/drm_atomic.h | 6 +- include/drm/drm_connector.h | 6 + include/drm/drm_crtc.h | 3 - include/drm/drm_crtc_helper.h | 1 + include/drm/drm_device.h | 290 +++++-- include/drm/drm_dp_mst_helper.h | 151 +++- include/drm/drm_edid.h | 10 +- include/drm/drm_encoder_slave.h | 1 - include/drm/drm_framebuffer.h | 10 +- include/drm/drm_gem_cma_helper.h | 5 +- include/drm/drm_modes.h | 21 +- include/drm/drm_util.h | 53 +- include/drm/drm_vblank.h | 22 + include/uapi/drm/drm_fourcc.h | 23 + 160 files changed, 3489 insertions(+), 1507 deletions(-) rename Documentation/devicetree/bindings/display/panel/{auo,g101evn010 => auo,g101evn010.txt} (100%) create mode 100644 Documentation/gpu/dp-mst/topology-figure-1.dot create mode 100644 Documentation/gpu/dp-mst/topology-figure-2.dot create mode 100644 Documentation/gpu/dp-mst/topology-figure-3.dot delete mode 100644 drivers/gpu/drm/bochs/bochs_fbdev.c create mode 100644 drivers/gpu/drm/panel/panel-tpo-tpg110.c delete mode 100644 drivers/gpu/drm/virtio/virtgpu_drm_bus.c -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com