From patchwork Wed Nov 7 11:58:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Maarten Lankhorst X-Patchwork-Id: 10672241 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B906714D6 for ; Wed, 7 Nov 2018 11:59:08 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A50662B895 for ; Wed, 7 Nov 2018 11:59:08 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9923F2B899; Wed, 7 Nov 2018 11:59:08 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=unavailable version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 1342E2B895 for ; Wed, 7 Nov 2018 11:59:07 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0AAC26E213; Wed, 7 Nov 2018 11:59:03 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2E84F6E172; Wed, 7 Nov 2018 11:59:01 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Nov 2018 03:59:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,475,1534834800"; d="scan'208";a="98334710" Received: from unknown (HELO [10.252.57.115]) ([10.252.57.115]) by orsmga003.jf.intel.com with ESMTP; 07 Nov 2018 03:58:57 -0800 To: Dave Airlie Subject: [PULL] drm-misc-next From: Maarten Lankhorst Message-ID: Date: Wed, 7 Nov 2018 12:58:56 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 Content-Language: en-US X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dim-tools@lists.freedesktop.org, Maxime Ripard , Daniel Vetter , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Rodrigo Vivi , Sean Paul Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP Hey Dave, First pull for drm-next this cycle. There's been a lot of changes, so I hope I recorded everything from the changelog correctly. drm-misc-next-2018-11-07: drm-misc-next for v4.21, part 1: UAPI Changes: - Add syncobj timeline support to drm. Cross-subsystem Changes: - Remove shared fence staging in dma-buf's fence object, and allow reserving more than 1 fence and add more paranoia when debugging. - Constify infoframe functions in video/hdmi. Core Changes: - Add vkms todo, and a lot of assorted doc fixes. - Drop transitional helpers and convert drivers to use drm_atomic_helper_shutdown(). - Move atomic state helper functions to drm_atomic_state_helper.[ch] - Refactor drm selftests, and add new tests. - DP MST atomic state cleanups. - Drop EXPORT_SYMBOL from drm leases. - Lease cleanups and fixes. - Create render node for vgem. Driver Changes: - Fix build failure in imx without fbdev emulation. - Add rotation quirk for GPD win2 panel. - Add support for various CDTech panels, Banana Pi Panel, DLC1010GIG, Olimex LCD-O-LinuXino, Samsung S6D16D0, Truly NT35597 WQXGA, Himax HX8357D, simulated RTSM AEMv8. - Add dw_hdmi support to rockchip driver. - Fix YUV support in vc4. - Fix resource id handling in virtio. - Make rockchip use dw-mipi-dsi bridge driver, and add dual dsi support. - Advertise that tinydrm only supports DRM_FORMAT_MOD_LINEAR. - Convert many drivers to use atomic helpers, and drm_fbdev_generic_setup(). - Add Mali linear tiled formats, and enable them in the Mali-DP driver. - Add support for H6 DE3 mixer 0, DW HDMI, HDMI PHY and TCON TOP. - Assorted driver cleanups and fixes. The following changes since commit f2bfc71aee75feff33ca659322b72ffeed5a243d: Merge tag 'drm-intel-next-fixes-2018-10-18' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2018-10-19 14:28:11 +1000) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2018-11-07 for you to fetch changes up to e7afb623b4fb82089c9a50c733c740522b8220bc: drm: Add drm_any_plane_has_format() (2018-11-06 21:34:22 +0200) ---------------------------------------------------------------- drm-misc-next for v4.21, part 1: UAPI Changes: - Add syncobj timeline support to drm. Cross-subsystem Changes: - Remove shared fence staging in dma-buf's fence object, and allow reserving more than 1 fence and add more paranoia when debugging. - Constify infoframe functions in video/hdmi. Core Changes: - Add vkms todo, and a lot of assorted doc fixes. - Drop transitional helpers and convert drivers to use drm_atomic_helper_shutdown(). - Move atomic state helper functions to drm_atomic_state_helper.[ch] - Refactor drm selftests, and add new tests. - DP MST atomic state cleanups. - Drop EXPORT_SYMBOL from drm leases. - Lease cleanups and fixes. - Create render node for vgem. Driver Changes: - Fix build failure in imx without fbdev emulation. - Add rotation quirk for GPD win2 panel. - Add support for various CDTech panels, Banana Pi Panel, DLC1010GIG, Olimex LCD-O-LinuXino, Samsung S6D16D0, Truly NT35597 WQXGA, Himax HX8357D, simulated RTSM AEMv8. - Add dw_hdmi support to rockchip driver. - Fix YUV support in vc4. - Fix resource id handling in virtio. - Make rockchip use dw-mipi-dsi bridge driver, and add dual dsi support. - Advertise that tinydrm only supports DRM_FORMAT_MOD_LINEAR. - Convert many drivers to use atomic helpers, and drm_fbdev_generic_setup(). - Add Mali linear tiled formats, and enable them in the Mali-DP driver. - Add support for H6 DE3 mixer 0, DW HDMI, HDMI PHY and TCON TOP. - Assorted driver cleanups and fixes. ---------------------------------------------------------------- Aaron Ma (2): vgaarb: Add support for 64-bit frame buffer address vgaarb: Keep adding VGA device in queue Abhinav Kumar (2): drm/panel: Add support for Truly NT35597 panel driver dt-bindings: Add Truly NT35597 panel driver bindings Alexandru Gheorghe (9): drm: fourcc: Convert drm_format_info kerneldoc to in-line member documentation drm/selftest: Refactor test-drm_plane_helper drm/fourcc: Add char_per_block, block_w and block_h in drm_format_info drm/fourcc: Add fourcc for Mali linear tiled formats drm: mali-dp: Enable Mali-DP tiled buffer formats drm: Extend framebuffer_check to handle formats with cpp/char_per_block 0 drm/selftests: Add tests for drm_format_info* helpers drm: Add macro to export functions only when CONFIG_DRM_DEBUG_SELFTEST is enabled drm/selftests: Add tests for drm_internal_framebuffer_create Alexandru-Cosmin Gheorghe (1): drm/selftests: Fix build warning -Wframe-larger-than Andrzej Hajda (1): drm/panel: simple: fix BOE/HV070WSA-100 timings Arnd Bergmann (1): drm/imx: fix build failure without CONFIG_DRM_FBDEV_EMULATION Benjamin Gaignard (2): drm: stm: implement get_scanout_position function drm/sti: make crct disable atomic Boris Brezillon (4): drm/vc4: Use drm_atomic_helper_check_plane_state() to simplify the logic drm/vc4: Move ->offsets[] adjustment out of setup_clipping_and_scaling() drm/vc4: Fix X/Y positioning of planes using T_TILES modifier drm/vc4: Set ->is_yuv to false when num_planes == 1 Chen-Yu Tsai (1): drm/panel: simple: Add support for Banana Pi 7" S070WV20-CT16 panel Chris Wilson (3): drm: Remove defunct dma_buf_kmap stubs dma-buf: Update reservation shared_count after adding the new fence drm/syncobj: Mark local add/remove callback functions as static Christian König (3): dma-buf: remove shared fence staging in reservation object dma-buf: allow reserving more than one shared fence slot dma-buf: test shared slot allocation when mutex debugging is active Christoph Hellwig (1): drm: sti: don't pass GFP_DMA32 to dma_alloc_wc Chunming Zhou (5): drm: add flags to drm_syncobj_find_fence drm: fix missing doc v2 drm: add syncobj timeline support v9 drm: fix deadlock of syncobj v6 drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock Clint Taylor (1): drm/i915/hdmi: Detect HDMI 2.0 monitors using multiple EDID capabilities Colin Ian King (1): gpu: drm/lease: fix spelling mistake, EACCESS -> EACCES Daniel Vetter (24): drm/vkms: Extend todo drm/vblank: Remove old-style comments drm/amdgpu: Remove default best_encoder hook from DC drm/atomic-helper: Unexport drm_atomic_helper_best_encoder drm: Extract drm_atomic_state_helper.[hc] drm/atomic: Improve docs for drm_atomic_state->allow_modeset drm/arcpgu: Drop transitional hooks drm/atmel: Drop transitional hooks drm/arcpgu: Use drm_atomic_helper_shutdown drm/msm: Use drm_atomic_helper_shutdown drm/sti: Use drm_atomic_helper_shutdown drm/vc4: Use drm_atomic_helper_shutdown drm/zte: Use drm_atomic_helper_shutdown drm: Remove transitional helpers drm/doc: fix drm_driver_legacy_fb_format drm/todo: Add some cleanup tasks drm: Unexport primary plane helpers drm: Unexport drm_plane_helper_check_update drm/doc: kerneldoc for quirk_addfb_prefer_xbgr_30bpp drm/doc: Update errno handbook drm/lease: drop EXPORT_SYMBOL drm/lease: debug output for lease creation drm/file: Uncompact the feature flags drm/lease: look at ->universal_planes only once Deepak Rawat (1): drm/selftest: Refactor drm mode setting selftests Deepak Sharma (1): drm/vgem: Fix vgem_init to get drm device available. Emil Velikov (4): drm: BUG_ON if passing NULL parent to drm_dev_init drm/virtio: document drm_dev_set_unique workaround drm/vkms: provide a parent device to drm_dev_init() drm/vgem: create a render node for vgem Enric Balletbo i Serra (2): drm/rockchip: psr: do not dereference encoder before it is null checked. drm/bridge: analogix_dp: Fix misleading indentation reported by smatch Eric Anholt (11): drm/v3d: Fix a use-after-free race accessing the scheduler's fences. drm/v3d: Add a little debugfs entry for measuring the core clock. drm/v3d: Add some better documentation of the in_sync arguments. drm/v3d: Skip debugfs dumping GCA on platforms without GCA. drm/vc4: Fix TILE_Y_OFFSET definitions drm/vc4: Define missing PITCH0_SINK_PIX field drm/tinydrm: Advertise that we can do only DRM_FORMAT_MOD_LINEAR. dt-bindings: new binding for Himax HX8357D display panels drm: Add an hx8367d tinydrm driver. drm/tinydrm: Fix setting of the column/page end addresses. drm/syncobj: Fix oops on drm_syncobj_find_fence(file_priv, 0, ...). Eugeniy Paltsev (1): DRM: UDL: get rid of useless vblank initialization Fabio Estevam (2): drm/panel: seiko-43wvf1g: Switch to SPDX identifier drm/panel: seiko-43wvf1g: Add missing ">" character in author's email Gerd Hoffmann (8): drm: add drm_connector_attach_edid_property() drm/virtio: track created object state drm/virtio: use virtio_gpu_object->hw_res_handle in virtio_gpufb_create() drm/virtio: use virtio_gpu_object->hw_res_handle in virtio_gpu_mode_dumb_create() drm/virtio: use virtio_gpu_object->hw_res_handle in virtio_gpu_resource_create_ioctl() drm/virtio: drop resource_id argument. drm/virtio: fix resource id handling drm/bochs: add edid support. Giulio Benetti (7): dt-bindings: Add vendor prefix for CDTech(H.K.) Electronics Limited drm/panel: add panel CDTech S070WV95-CT16 to panel-simple dt-bindings: Add CDTech S070WV95-CT16 panel bindings drm/panel: add panel CDTech S043WQ26H-CT7 to panel-simple dt-bindings: Add CDTech S043WQ26H-CT7 panel bindings drm/sun4i: tcon: fix check of tcon->panel null pointer drm/sun4i: tcon: prevent tcon->panel dereference if NULL Gustavo A. R. Silva (1): drm/bufs: Fix Spectre v1 vulnerability Hans de Goede (1): drm: panel-orientation-quirks: Add quirk for GPD win2 Heiko Stuebner (12): drm/rockchip: vop: add rk3188 hs_start interrupt as dsp_hold equivalent drm/panel: p079zca: unconditionally remove the panel on removal drm/bridge: dw-hdmi: allow forcing vendor phy-type drm/rockchip: dw_hdmi: Allow outputs that don't need output switching dt-bindings: allow optional phys in Rockchip dw_hdmi binding drm/rockchip: dw_hdmi: allow including external phys drm/rockchip: dw_hdmi: store rockchip_hdmi reference in phy_data object drm/rockchip: dw_hdmi: add dw-hdmi support for the rk3328 drm/bridge/synopsys: dsi: move mipi_dsi_host_unregister to __dw_mipi_dsi_remove drm/bridge/synopsys: dsi: don't call __dw_mipi_dsi_probe from dw_mipi_dsi_bind drm/bridge/synopsys: dsi: add ability to have glue-specific attach and detach drm/rockchip: dsi: add dual mipi support Icenowy Zheng (5): dt-bindings: bus: add H6 DE3 bus binding dt-bindings: display: sunxi: add DT binding for Allwinner H6 DW HDMI drm: sun4i: add quirks for TCON TOP dt-bindings: display: sun4i-drm: document H6 TCON TOP drm: sun4i: add support for H6 TCON TOP Imre Deak (1): drm/vgem: Fix typo in driver feature flags Jernej Skrabec (15): dt-bindings: display: sun4i-drm: Add H6 display engine compatibles drm/sun4i: Rework DE2 register defines drm/sun4i: Fix DE2 mixer size drm/sun4i: Disable unused DE2 sub-engines drm/sun4i: Add basic support for DE3 drm/sun4i: Add support for H6 DE3 mixer 0 drm/bridge/synopsys: dw-hdmi: Enable workaround for v2.12a drm/sun4i: Not all DW HDMI controllers has scrambled addresses drm/sun4i: dw-hdmi: Make mode_valid function configurable drm/sun4i: dw-hdmi: Add quirk for setting TMDS clock drm/sun4i: Add support for H6 DW HDMI controller drm/sun4i: dw-hdmi-phy: Reorder quirks by family drm/sun4i: Add support for Synopsys HDMI PHY drm/sun4i: Add support for H6 HDMI PHY drm/sun4i: Initialize registers in tcon-top driver José Roberto de Souza (1): drm: Do not call drm_dp_cec_set_edid() while registering DP connectors Linus Walleij (4): drm: dsi: Add lane clock rate fields to DSI device drm/panel: Add DT bindings for Samsung S6D16D0 drm/panel: Add driver for Samsung S6D16D0 panel drm/panel: Add simple panel mode for the ARM RTSM Lyude Paul (2): drm/dp_mst: Deprecate drm_dp_find_vcpi_slots() drm/dp_mst: Remove all evil duplicate state pointers Mamta Shukla (2): drm: Shift * to be adjacent to pointer name drm: msm: adreno: Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) +PTR_ERR Manasi Navare (2): drm: Fix kernel doc for DRM_MODE_PROP_IMMUTABLE drm/dp: Add definitions for eDP Rev 1.4a and 1.4b Marco Felsch (1): drm/panel: simple: Add DLC1010GIG panel Matthew Wilcox (2): drm/virtio: Replace IDRs with IDAs drm/virtio: Handle context ID allocation errors Maxime Ripard (2): drm/sun4i: hdmi: Fix unitialized variable drm/sun4i: hdmi: Fix double flag assignation Nickey Yang (2): drm/rockchip: dsi: migrate to use dw-mipi-dsi bridge driver drm/bridge/synopsys: dsi: add dual-dsi support Noralf Trønnes (7): drm/meson: Use drm_fbdev_generic_setup() drm/stm: Use drm_fbdev_generic_setup() drm/arc: Use drm_fbdev_generic_setup() drm/fsl-dcu: Use drm_fbdev_generic_setup() drm/atmel-hlcdc: Use drm_fbdev_generic_setup() drm/sun4i: Use drm_fbdev_generic_setup() drm/tilcdc: Use drm_fbdev_generic_setup() Rob Herring (1): drm: Convert to using %pOFn instead of device_node.name Sabyasachi Gupta (1): gpu/drm/virtio/virtgpu_vq.c: Use kmem_cache_zalloc Satendra Singh Thakur (1): drm/fsl-dcu: use drm_display_mode_to_videomode to calculate timing parameters Sean Paul (2): Merge drm/drm-next into drm-misc-next drm: Fix doc warning in drm_connector_attach_edid_property() Shayenne da Luz Moura (7): drm/qxl: Remove trailing whitespace drm/qxl: Add line after variable declarations drm/qxl: Remove exceding whiteline drm/qxl: Use 'unsigned int' instead of 'usigned' drm/qxl: Add space before open parentheses drm/qxl: Use 'unsigned int' instead of 'bool' drm: Remove 80-column line in drm_mode_object.c Souptick Joarder (2): drm/rcar-du: Convert drm_atomic_helper_suspend/resume() drm/drm_pci.c: Use dma_zalloc_coherent Stefan Agner (1): drm/fsl-dcu: drop unused drm_crtc_index() Stefan Mavrodiev (1): drm/panel: Add support for Olimex LCD-OLinuXino panel Thomas Hellstrom (1): drm/vmwgfx: Fix vmw_du_cursor_plane_atomic_check Thomas Zimmermann (3): drm/atmel-hlcdc: Replace drm_dev_unref with drm_dev_put drm/zte: Replace drm_dev_unref with drm_dev_put drm/bochs: Replace drm_gem_object_unreference_unlocked with put function Ville Syrjälä (5): video/hdmi: Constify 'buffer' to the unpack functions video/hdmi: Pass buffer size to infoframe unpack functions video/hdmi: Constify infoframe passed to the log functions video/hdmi: Constify infoframe passed to the pack functions drm: Add drm_any_plane_has_format() YueHaibing (1): drm: Use PTR_ERR_OR_ZERO in drm_fb_cma_fbdev_init() .../devicetree/bindings/bus/sun50i-de2-bus.txt | 9 +- .../devicetree/bindings/display/himax,hx8357d.txt | 26 + .../display/panel/bananapi,s070wv20-ct16.txt | 12 + .../display/panel/cdtech,s043wq26h-ct7.txt | 12 + .../display/panel/cdtech,s070wv95-ct16.txt | 12 + .../bindings/display/panel/dlc,dlc1010gig.txt | 12 + .../display/panel/olimex,lcd-olinuxino.txt | 42 + .../bindings/display/panel/samsung,s6d16d0.txt | 30 + .../bindings/display/rockchip/dw_hdmi-rockchip.txt | 3 + .../bindings/display/sunxi/sun4i-drm.txt | 30 +- .../devicetree/bindings/display/truly,nt35597.txt | 59 + .../devicetree/bindings/vendor-prefixes.txt | 1 + Documentation/gpu/drm-kms-helpers.rst | 19 +- Documentation/gpu/drm-uapi.rst | 3 + Documentation/gpu/todo.rst | 10 + Documentation/gpu/vkms.rst | 101 +- MAINTAINERS | 13 + drivers/dma-buf/reservation.c | 189 +-- drivers/gpu/drm/Makefile | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | 2 - drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 14 +- drivers/gpu/drm/arc/arcpgu.h | 4 - drivers/gpu/drm/arc/arcpgu_crtc.c | 3 - drivers/gpu/drm/arc/arcpgu_drv.c | 34 +- drivers/gpu/drm/arm/malidp_hw.c | 14 +- drivers/gpu/drm/arm/malidp_planes.c | 28 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 2 - drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 15 +- drivers/gpu/drm/bochs/bochs.h | 2 + drivers/gpu/drm/bochs/bochs_hw.c | 30 + drivers/gpu/drm/bochs/bochs_kms.c | 20 +- drivers/gpu/drm/bochs/bochs_mm.c | 4 +- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 12 +- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6 +- drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 114 +- drivers/gpu/drm/drm_atomic_helper.c | 598 +-------- drivers/gpu/drm/drm_atomic_state_helper.c | 601 +++++++++ drivers/gpu/drm/drm_bufs.c | 3 + drivers/gpu/drm/drm_connector.c | 22 +- drivers/gpu/drm/drm_crtc_helper.c | 115 -- drivers/gpu/drm/drm_dp_cec.c | 2 - drivers/gpu/drm/drm_dp_mst_topology.c | 9 +- drivers/gpu/drm/drm_drv.c | 8 +- drivers/gpu/drm/drm_fb_cma_helper.c | 43 +- drivers/gpu/drm/drm_fb_helper.c | 6 + drivers/gpu/drm/drm_fourcc.c | 80 +- drivers/gpu/drm/drm_framebuffer.c | 13 +- drivers/gpu/drm/drm_gem_framebuffer_helper.c | 2 +- drivers/gpu/drm/drm_lease.c | 38 +- drivers/gpu/drm/drm_memory.c | 10 +- drivers/gpu/drm/drm_mode_object.c | 3 +- drivers/gpu/drm/drm_modes.c | 4 +- drivers/gpu/drm/drm_modeset_helper.c | 15 + drivers/gpu/drm/drm_panel_orientation_quirks.c | 16 + drivers/gpu/drm/drm_pci.c | 5 +- drivers/gpu/drm/drm_plane.c | 23 + drivers/gpu/drm/drm_plane_helper.c | 331 +---- drivers/gpu/drm/drm_prime.c | 30 - drivers/gpu/drm/drm_simple_kms_helper.c | 8 + drivers/gpu/drm/drm_syncobj.c | 359 ++++-- drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c | 2 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c | 33 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 25 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h | 1 - drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +- drivers/gpu/drm/i915/i915_vma.c | 2 +- drivers/gpu/drm/i915/intel_hdmi.c | 3 +- drivers/gpu/drm/meson/meson_drv.c | 19 +- drivers/gpu/drm/meson/meson_drv.h | 1 - drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 5 +- drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 2 - drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c | 1 - drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c | 1 - drivers/gpu/drm/msm/hdmi/hdmi.c | 2 +- drivers/gpu/drm/msm/msm_drv.c | 1 + drivers/gpu/drm/msm/msm_gem_submit.c | 3 +- drivers/gpu/drm/nouveau/nouveau_fence.c | 2 +- drivers/gpu/drm/panel/Kconfig | 25 + drivers/gpu/drm/panel/Makefile | 3 + drivers/gpu/drm/panel/panel-innolux-p079zca.c | 3 +- drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c | 330 +++++ drivers/gpu/drm/panel/panel-samsung-s6d16d0.c | 264 ++++ drivers/gpu/drm/panel/panel-seiko-43wvf1g.c | 7 +- drivers/gpu/drm/panel/panel-simple.c | 157 ++- drivers/gpu/drm/panel/panel-truly-nt35597.c | 675 ++++++++++ drivers/gpu/drm/qxl/qxl_cmd.c | 7 +- drivers/gpu/drm/qxl/qxl_debugfs.c | 5 +- drivers/gpu/drm/qxl/qxl_dev.h | 1 - drivers/gpu/drm/qxl/qxl_display.c | 19 +- drivers/gpu/drm/qxl/qxl_draw.c | 11 +- drivers/gpu/drm/qxl/qxl_drv.h | 31 +- drivers/gpu/drm/qxl/qxl_dumb.c | 3 +- drivers/gpu/drm/qxl/qxl_fb.c | 4 +- drivers/gpu/drm/qxl/qxl_image.c | 4 +- drivers/gpu/drm/qxl/qxl_ioctl.c | 2 + drivers/gpu/drm/qxl/qxl_kms.c | 2 +- drivers/gpu/drm/qxl/qxl_object.c | 5 +- drivers/gpu/drm/qxl/qxl_object.h | 2 + drivers/gpu/drm/qxl/qxl_prime.c | 1 - drivers/gpu/drm/qxl/qxl_release.c | 3 +- drivers/gpu/drm/qxl/qxl_ttm.c | 12 +- drivers/gpu/drm/radeon/radeon_vm.c | 2 +- drivers/gpu/drm/rcar-du/rcar_du_drv.c | 21 +- drivers/gpu/drm/rcar-du/rcar_du_drv.h | 1 - drivers/gpu/drm/rockchip/Kconfig | 2 +- drivers/gpu/drm/rockchip/Makefile | 2 +- drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c | 1076 ++++++++++++++++ drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 1349 -------------------- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 128 +- drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 +- drivers/gpu/drm/rockchip/rockchip_drm_drv.h | 3 +- drivers/gpu/drm/rockchip/rockchip_drm_psr.c | 4 +- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 3 + drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 4 + drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 7 +- drivers/gpu/drm/selftests/Makefile | 5 +- ..._helper_selftests.h => drm_modeset_selftests.h} | 4 + drivers/gpu/drm/selftests/test-drm_format.c | 280 ++++ drivers/gpu/drm/selftests/test-drm_framebuffer.c | 346 +++++ .../gpu/drm/selftests/test-drm_modeset_common.c | 32 + .../gpu/drm/selftests/test-drm_modeset_common.h | 22 + .../{test-drm-helper.c => test-drm_plane_helper.c} | 38 +- drivers/gpu/drm/sti/sti_crtc.c | 2 + drivers/gpu/drm/sti/sti_cursor.c | 1 - drivers/gpu/drm/sti/sti_drv.c | 6 +- drivers/gpu/drm/sti/sti_gdp.c | 3 +- drivers/gpu/drm/sti/sti_hqvdp.c | 1 - drivers/gpu/drm/stm/drv.c | 13 +- drivers/gpu/drm/stm/ltdc.c | 45 + drivers/gpu/drm/stm/ltdc.h | 5 + drivers/gpu/drm/sun4i/sun4i_drv.c | 12 +- drivers/gpu/drm/sun4i/sun4i_framebuffer.c | 12 +- drivers/gpu/drm/sun4i/sun4i_framebuffer.h | 3 +- drivers/gpu/drm/sun4i/sun4i_hdmi_tmds_clk.c | 4 +- drivers/gpu/drm/sun4i/sun4i_lvds.c | 4 +- drivers/gpu/drm/sun4i/sun4i_rgb.c | 4 +- drivers/gpu/drm/sun4i/sun4i_tcon.c | 5 +- drivers/gpu/drm/sun4i/sun8i_csc.c | 83 ++ drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c | 45 +- drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h | 14 +- drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c | 201 ++- drivers/gpu/drm/sun4i/sun8i_mixer.c | 57 +- drivers/gpu/drm/sun4i/sun8i_mixer.h | 80 +- drivers/gpu/drm/sun4i/sun8i_tcon_top.c | 52 +- drivers/gpu/drm/sun4i/sun8i_ui_layer.c | 47 +- drivers/gpu/drm/sun4i/sun8i_ui_layer.h | 37 +- drivers/gpu/drm/sun4i/sun8i_ui_scaler.c | 47 +- drivers/gpu/drm/sun4i/sun8i_ui_scaler.h | 28 +- drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 55 +- drivers/gpu/drm/sun4i/sun8i_vi_layer.h | 25 +- drivers/gpu/drm/sun4i/sun8i_vi_scaler.c | 70 +- drivers/gpu/drm/sun4i/sun8i_vi_scaler.h | 68 +- drivers/gpu/drm/tilcdc/tilcdc_drv.c | 11 +- drivers/gpu/drm/tinydrm/Kconfig | 11 + drivers/gpu/drm/tinydrm/Makefile | 1 + drivers/gpu/drm/tinydrm/core/tinydrm-core.c | 1 + drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 6 +- drivers/gpu/drm/tinydrm/hx8357d.c | 270 ++++ drivers/gpu/drm/tinydrm/mipi-dbi.c | 4 +- drivers/gpu/drm/ttm/ttm_bo.c | 4 +- drivers/gpu/drm/ttm/ttm_execbuf_util.c | 4 +- drivers/gpu/drm/udl/udl_main.c | 7 +- drivers/gpu/drm/v3d/v3d_debugfs.c | 46 +- drivers/gpu/drm/v3d/v3d_drv.h | 5 + drivers/gpu/drm/v3d/v3d_gem.c | 14 +- drivers/gpu/drm/v3d/v3d_regs.h | 30 + drivers/gpu/drm/vc4/vc4_drv.c | 3 + drivers/gpu/drm/vc4/vc4_gem.c | 4 +- drivers/gpu/drm/vc4/vc4_plane.c | 164 ++- drivers/gpu/drm/vc4/vc4_regs.h | 8 +- drivers/gpu/drm/vgem/vgem_drv.c | 19 +- drivers/gpu/drm/vgem/vgem_fence.c | 2 +- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 31 + drivers/gpu/drm/virtio/virtgpu_drv.h | 14 +- drivers/gpu/drm/virtio/virtgpu_fb.c | 7 +- drivers/gpu/drm/virtio/virtgpu_gem.c | 8 +- drivers/gpu/drm/virtio/virtgpu_ioctl.c | 25 +- drivers/gpu/drm/virtio/virtgpu_kms.c | 45 +- drivers/gpu/drm/virtio/virtgpu_object.c | 17 +- drivers/gpu/drm/virtio/virtgpu_ttm.c | 3 +- drivers/gpu/drm/virtio/virtgpu_vq.c | 37 +- drivers/gpu/drm/vkms/vkms_drv.c | 21 +- drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 24 +- drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 1 - drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 1 - drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 1 - drivers/gpu/drm/zte/zx_drm_drv.c | 5 +- drivers/gpu/drm/zte/zx_plane.c | 1 - drivers/gpu/vga/vgaarb.c | 21 +- drivers/media/i2c/adv7511.c | 2 +- drivers/media/i2c/adv7604.c | 2 +- drivers/media/i2c/adv7842.c | 2 +- drivers/media/i2c/tc358743.c | 2 +- drivers/media/i2c/tda1997x.c | 4 +- drivers/video/hdmi.c | 511 +++++++- include/drm/bridge/dw_hdmi.h | 1 + include/drm/bridge/dw_mipi_dsi.h | 14 +- include/drm/drmP.h | 6 + include/drm/drm_atomic.h | 10 +- include/drm/drm_atomic_helper.h | 46 +- include/drm/drm_atomic_state_helper.h | 80 ++ include/drm/drm_connector.h | 1 + include/drm/drm_crtc_helper.h | 6 - include/drm/drm_dp_helper.h | 2 + include/drm/drm_dp_mst_helper.h | 6 - include/drm/drm_fb_cma_helper.h | 2 - include/drm/drm_file.h | 14 +- include/drm/drm_fourcc.h | 89 +- include/drm/drm_mipi_dsi.h | 8 + include/drm/drm_mode_config.h | 13 + include/drm/drm_plane.h | 2 + include/drm/drm_plane_helper.h | 35 - include/drm/drm_prime.h | 3 - include/drm/drm_property.h | 3 +- include/drm/drm_syncobj.h | 75 +- include/drm/drm_vblank.h | 8 +- include/linux/hdmi.h | 24 +- include/linux/reservation.h | 12 +- include/uapi/drm/drm.h | 1 + include/uapi/drm/drm_fourcc.h | 14 + include/uapi/drm/v3d_drm.h | 10 + 224 files changed, 7469 insertions(+), 3700 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/himax,hx8357d.txt create mode 100644 Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt create mode 100644 Documentation/devicetree/bindings/display/panel/cdtech,s043wq26h-ct7.txt create mode 100644 Documentation/devicetree/bindings/display/panel/cdtech,s070wv95-ct16.txt create mode 100644 Documentation/devicetree/bindings/display/panel/dlc,dlc1010gig.txt create mode 100644 Documentation/devicetree/bindings/display/panel/olimex,lcd-olinuxino.txt create mode 100644 Documentation/devicetree/bindings/display/panel/samsung,s6d16d0.txt create mode 100644 Documentation/devicetree/bindings/display/truly,nt35597.txt create mode 100644 drivers/gpu/drm/drm_atomic_state_helper.c create mode 100644 drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c create mode 100644 drivers/gpu/drm/panel/panel-samsung-s6d16d0.c create mode 100644 drivers/gpu/drm/panel/panel-truly-nt35597.c create mode 100644 drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c delete mode 100644 drivers/gpu/drm/rockchip/dw-mipi-dsi.c rename drivers/gpu/drm/selftests/{drm_helper_selftests.h => drm_modeset_selftests.h} (54%) create mode 100644 drivers/gpu/drm/selftests/test-drm_format.c create mode 100644 drivers/gpu/drm/selftests/test-drm_framebuffer.c create mode 100644 drivers/gpu/drm/selftests/test-drm_modeset_common.c create mode 100644 drivers/gpu/drm/selftests/test-drm_modeset_common.h rename drivers/gpu/drm/selftests/{test-drm-helper.c => test-drm_plane_helper.c} (90%) create mode 100644 drivers/gpu/drm/tinydrm/hx8357d.c create mode 100644 include/drm/drm_atomic_state_helper.h