From patchwork Fri Jun 14 08:57:34 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Maarten Lankhorst X-Patchwork-Id: 10994745 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 CE14F1398 for ; Fri, 14 Jun 2019 08:57:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BBCF727F8E for ; Fri, 14 Jun 2019 08:57:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id AF60E27F91; Fri, 14 Jun 2019 08:57:46 +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 34B1627F8F for ; Fri, 14 Jun 2019 08:57:45 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4B944892F1; Fri, 14 Jun 2019 08:57:41 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 772C88929F; Fri, 14 Jun 2019 08:57:39 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Jun 2019 01:57:38 -0700 X-ExtLoop1: 1 Received: from mtayar-mobl.ger.corp.intel.com (HELO [10.252.34.38]) ([10.252.34.38]) by orsmga002.jf.intel.com with ESMTP; 14 Jun 2019 01:57:35 -0700 From: Maarten Lankhorst To: Dave Airlie Message-ID: <0e01de30-9797-853c-732f-4a5bd6e61445@linux.intel.com> Date: Fri, 14 Jun 2019 10:57:34 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 Content-Language: en-US Subject: [Intel-gfx] [PULL] drm-misc-next X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dim-tools@lists.freedesktop.org, Maxime Ripard , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP Hi Dave and Daniel, Next pull request, with more fixes and features! drm-misc-next-2019-06-14: drm-misc-next for v5.3: UAPI Changes: Cross-subsystem Changes: - Add code to signal all dma-fences when freed with pending signals. - Annotate reservation object access in CONFIG_DEBUG_MUTEXES Core Changes: - Assorted documentation fixes. - Use irqsave/restore spinlock to add crc entry. - Move code around to drm_client, for internal modeset clients. - Make drm_crtc.h and drm_debugfs.h self-contained. - Remove drm_fb_helper_connector. - Add bootsplash to todo. - Fix lock ordering in pan_display_legacy. - Support pinning buffers to current location in gem-vram. - Remove the now unused locking functions from gem-vram. - Remove the now unused kmap-object argument from vram helpers. - Stop checking return value of debugfs_create. - Add atomic encoder enable/disable helpers. - pass drm_atomic_state to atomic connector check. - Add atomic support for bridge enable/disable. - Add self refresh helpers to core. Driver Changes: - Add extra delay to make MTP SDM845 work. - Small fixes to virtio, vkms, sii902x, sii9234, ast, mcde, analogix, rockchip. - Add zpos and ?BGR8888 support to meson. - More removals of drm_os_linux and drmP headers for amd, radeon, sti, r128, r128, savage, sis. - Allow synopsis to unwedge the i2c hdmi bus. - Add orientation quirks for GPD panels. - Edid cleanups and fixing handling for edid < 1.2. - Add runtime pm to stm. - Handle s/r in dw-hdmi. - Add hooks for power on/off to dsi for stm. - Remove virtio dirty tracking code, done in drm core. - Rework BO handling in ast and mgag200. The following changes since commit f5b07b04e5f090a85d1e96938520f2b2b58e4a8e: dma-buf: Discard old fence_excl on retrying get_fences_rcu for realloc (2019-06-05 07:38:37 +0100) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2019-06-14 for you to fetch changes up to 51e857af9f3f1ab78be10ff6bf5c4a8a56f4e4d6: drm/amdgpu: Fix connector atomic_check compilation fail (2019-06-14 09:33:56 +0200) ---------------------------------------------------------------- drm-misc-next for v5.3: UAPI Changes: Cross-subsystem Changes: - Add code to signal all dma-fences when freed with pending signals. - Annotate reservation object access in CONFIG_DEBUG_MUTEXES Core Changes: - Assorted documentation fixes. - Use irqsave/restore spinlock to add crc entry. - Move code around to drm_client, for internal modeset clients. - Make drm_crtc.h and drm_debugfs.h self-contained. - Remove drm_fb_helper_connector. - Add bootsplash to todo. - Fix lock ordering in pan_display_legacy. - Support pinning buffers to current location in gem-vram. - Remove the now unused locking functions from gem-vram. - Remove the now unused kmap-object argument from vram helpers. - Stop checking return value of debugfs_create. - Add atomic encoder enable/disable helpers. - pass drm_atomic_state to atomic connector check. - Add atomic support for bridge enable/disable. - Add self refresh helpers to core. Driver Changes: - Add extra delay to make MTP SDM845 work. - Small fixes to virtio, vkms, sii902x, sii9234, ast, mcde, analogix, rockchip. - Add zpos and ?BGR8888 support to meson. - More removals of drm_os_linux and drmP headers for amd, radeon, sti, r128, r128, savage, sis. - Allow synopsis to unwedge the i2c hdmi bus. - Add orientation quirks for GPD panels. - Edid cleanups and fixing handling for edid < 1.2. - Add runtime pm to stm. - Handle s/r in dw-hdmi. - Add hooks for power on/off to dsi for stm. - Remove virtio dirty tracking code, done in drm core. - Rework BO handling in ast and mgag200. ---------------------------------------------------------------- Chris Wilson (2): dma-fence: Signal all callbacks from dma_fence_release() dma-fence/reservation: Markup rcu protected access for DEBUG_MUTEXES Colin Ian King (1): drm/bridge: sii902x: fix comparision of u32 with less than zero Dan Carpenter (2): drm/bridge: sii902x: re-order conditions to prevent out of bounds read drm/mcde: Fix an uninitialized variable Daniel Vetter (5): drm/crc-debugfs: User irqsafe spinlock in drm_crtc_add_crc_entry drm/vkms: Forward timer right after drm_crtc_handle_vblank drm/crc-debugfs: Also sprinkle irqrestore over early exits drm/fb: document dirty helper better drm/ast: Drop fb_debug_enter/leave David Riley (4): drm/virtio: Ensure cached capset entries are valid before copying. drm/virtio: Wake up all waiters when capset response comes in. drm/virtio: Fix cache entry creation race. drm/virtio: Add memory barriers for capset cache. Douglas Anderson (5): dt-bindings: drm/bridge/synopsys: dw-hdmi: Add "unwedge" for ddc bus drm/bridge/synopsys: dw-hdmi: Add "unwedge" for ddc bus drm/bridge/synopsys: dw-hdmi: Fix unwedge crash when no pinctrl entries drm: bridge: dw-hdmi: Add hook for resume drm/rockchip: dw_hdmi: Handle suspend/resume Gerd Hoffmann (1): drm/virtio: drop framebuffer dirty tracking code Greg Kroah-Hartman (4): vga_switcheroo: no need to check return value of debugfs_create functions panel: rocktech: no need to check return value of debugfs_create functions drm: no need to check return value of debugfs_create functions sti: no need to check return value of debugfs_create functions Gurchetan Singh (1): drm/virtio: use u64_to_user_ptr macro Hans de Goede (2): drm: panel-orientation-quirks: Add quirk for GPD pocket2 drm: panel-orientation-quirks: Add quirk for GPD MicroPC Hariprasad Kelam (1): drm/bridge: analogix_dp: possible condition with no effect (if == else) Laurent Pinchart (1): drm: Add drm_atomic_get_(old|new)_connector_for_encoder() helpers Linus Walleij (2): drm/bridge: analogix-anx78xx: Drop of_gpio.h include drm/bridge: analogix_dp: Convert to GPIO descriptors Neil Armstrong (2): drm/meson: Add zpos immutable property to planes drm/meson: Add support for XBGR8888 & ABGR8888 formats Noralf Trønnes (7): drm/atomic: Move __drm_atomic_helper_disable_plane/set_config() drm/fb-helper: Prepare to move out commit code drm/fb-helper: Move out commit code drm/fb-helper: Remove drm_fb_helper_connector drm/fb-helper: Prepare to move out modeset config code drm/fb-helper: Move out modeset config code drm/todo: Add bootsplash entry Rodrigo Siqueira (1): drm/vkms: Remove useless call to drm_connector_register/unregister() Sam Ravnborg (23): drm/sis: drop drmP.h use drm/savage: drop use of drm_os_linux drm/savage: drop use of drmP.h drm/r128: drop drm_os_linux dependencies drm/r128: drop use of drmP.h drm/sti: drop use of drmP.h drm: drm_crtc.h self-contained drm: drm_debugfs.h self-contained drm/radeon: drop dependency on drm_os_linux.h drm/radeon: drop drmP.h from header files drm/radeon: prepare header files for drmP.h removal drm/radeon: drop use of drmP.h (1/2) drm/radeon: drop use of drmP.h (2/2) drm: fix build errors with drm_print.h drm/amd: drop dependencies on drm_os_linux.h drm/amd: drop use of drmp.h in os_types.h drm/amd: drop use of drmP.h in amdgpu.h drm/amd: drop use of drmP.h in atom.h drm/amd: drop use of drmP.h from all header files drm/amd: drop use of drmP.h in powerplay/ drm/amd: drop use of drmP.h in display/ drm/amd: drop use of drmP.h in amdgpu/amdgpu* drm/amd: drop use of drmP.h in remaining files Sean Paul (8): drm: Tweak drm_encoder_helper_funcs.enable kerneldoc drm: Add atomic variants of enable/disable to encoder helper funcs drm: Add atomic variants for bridge enable/disable drm: Convert connector_helper_funcs->atomic_check to accept drm_atomic_state drm: Add helpers to kick off self refresh mode in drivers drm/rockchip: Use dirtyfb helper drm/connector: Fix kerneldoc warning in HDR_OUTPUT_METADATA description drm/amdgpu: Fix connector atomic_check compilation fail Thomas Zimmermann (11): drm: Ignore drm_gem_vram_mm_funcs in generated documentation drm: Reverse lock order in pan_display_legacy() drm/gem-vram: Support pinning buffers to current location drm/ast: Unpin cursor BO during cleanup drm/ast: Remove obsolete or unused cursor state drm/ast: Pin and map cursor source BO during update drm/ast: Pin framebuffer BO during dirty update drm/mgag200: Pin framebuffer BO during dirty update drm/mgag200: Rewrite cursor handling drm: Remove lock interfaces from GEM VRAM helpers drm: Remove functions with kmap-object argument from GEM VRAM helpers Ville Syrjälä (2): drm/edid: Clean up DRM_EDID_DIGITAL_* flags drm/edid: Ignore "DFP 1.x" bit for EDID 1.2 and earlier Vivek Gautam (1): drm/panel: truly: Add additional delay after pulling down reset gpio Wolfram Sang (1): gpu: drm: bridge: sii9234: simplify getting the adapter of a client Yannick Fertré (4): drm/stm: ltdc: No message if probe drm/stm: support runtime power management drm/bridge/synopsys: dsi: add power on/off optional phy ops drm/stm: dsi: add power on/off phy ops .../bindings/display/rockchip/dw_hdmi-rockchip.txt | 7 + Documentation/gpu/drm-kms-helpers.rst | 9 + Documentation/gpu/todo.rst | 19 + drivers/dma-buf/dma-fence.c | 21 +- drivers/gpu/drm/Makefile | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_afmt.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 1 - drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 7 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c | 1 - drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_encoders.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 14 +- drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c | 1 - drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ioc32.c | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_pll.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | 2 - drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c | 3 + drivers/gpu/drm/amd/amdgpu/amdgpu_sched.h | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 1 - drivers/gpu/drm/amd/amdgpu/amdgpu_test.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 2 - drivers/gpu/drm/amd/amdgpu/amdgpu_trace_points.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 20 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 11 +- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 4 + drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c | 1 - drivers/gpu/drm/amd/amdgpu/atom.h | 3 +- drivers/gpu/drm/amd/amdgpu/atombios_crtc.c | 2 +- drivers/gpu/drm/amd/amdgpu/atombios_dp.c | 2 +- drivers/gpu/drm/amd/amdgpu/atombios_encoders.c | 4 +- drivers/gpu/drm/amd/amdgpu/atombios_i2c.c | 2 +- drivers/gpu/drm/amd/amdgpu/cik.c | 3 +- drivers/gpu/drm/amd/amdgpu/cik_ih.c | 4 +- drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 6 +- drivers/gpu/drm/amd/amdgpu/cz_ih.c | 4 +- drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 5 +- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 5 +- drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 7 +- drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 5 +- drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 4 +- drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 4 +- drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 6 +- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 8 +- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 8 +- drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 5 +- drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 5 +- drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 5 +- drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 4 + drivers/gpu/drm/amd/amdgpu/iceland_ih.c | 4 +- drivers/gpu/drm/amd/amdgpu/kv_dpm.c | 1 - drivers/gpu/drm/amd/amdgpu/kv_smc.c | 1 - drivers/gpu/drm/amd/amdgpu/psp_v10_0.c | 3 + drivers/gpu/drm/amd/amdgpu/psp_v11_0.c | 2 + drivers/gpu/drm/amd/amdgpu/psp_v3_1.c | 4 +- drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 7 +- drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 7 +- drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 7 +- drivers/gpu/drm/amd/amdgpu/si.c | 3 +- drivers/gpu/drm/amd/amdgpu/si_dma.c | 4 +- drivers/gpu/drm/amd/amdgpu/si_dpm.c | 4 +- drivers/gpu/drm/amd/amdgpu/si_ih.c | 4 +- drivers/gpu/drm/amd/amdgpu/si_smc.c | 2 +- drivers/gpu/drm/amd/amdgpu/soc15.c | 3 +- drivers/gpu/drm/amd/amdgpu/tonga_ih.c | 4 +- drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c | 4 +- drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c | 5 +- drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 6 +- drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | 6 +- drivers/gpu/drm/amd/amdgpu/vce_v2_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/vega10_ih.c | 4 +- drivers/gpu/drm/amd/amdgpu/vi.c | 4 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 9 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 5 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c | 1 + .../drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 4 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 1 - .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c | 2 - .../drm/amd/display/amdgpu_dm/amdgpu_dm_pp_smu.c | 1 - .../drm/amd/display/amdgpu_dm/amdgpu_dm_services.c | 1 - drivers/gpu/drm/amd/display/dc/basics/vector.c | 2 + drivers/gpu/drm/amd/display/dc/bios/bios_parser.c | 2 + drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c | 2 + drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c | 2 + drivers/gpu/drm/amd/display/dc/core/dc.c | 2 + .../gpu/drm/amd/display/dc/core/dc_hw_sequencer.c | 2 + drivers/gpu/drm/amd/display/dc/core/dc_link.c | 2 + drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c | 2 + drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 3 + drivers/gpu/drm/amd/display/dc/core/dc_sink.c | 2 + drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 3 + drivers/gpu/drm/amd/display/dc/core/dc_surface.c | 2 + drivers/gpu/drm/amd/display/dc/dc_helper.c | 3 + drivers/gpu/drm/amd/display/dc/dce/dce_abm.c | 2 + drivers/gpu/drm/amd/display/dc/dce/dce_audio.c | 2 + drivers/gpu/drm/amd/display/dc/dce/dce_aux.c | 3 + drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c | 2 + .../gpu/drm/amd/display/dc/dce/dce_clock_source.c | 2 + drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c | 3 + drivers/gpu/drm/amd/display/dc/dce/dce_i2c_hw.c | 3 + drivers/gpu/drm/amd/display/dc/dce/dce_i2c_sw.c | 3 + drivers/gpu/drm/amd/display/dc/dce/dce_ipp.c | 2 + .../gpu/drm/amd/display/dc/dce/dce_link_encoder.c | 3 + drivers/gpu/drm/amd/display/dc/dce/dce_opp.c | 2 + .../drm/amd/display/dc/dce/dce_stream_encoder.c | 2 + .../drm/amd/display/dc/dce100/dce100_resource.c | 3 + .../drm/amd/display/dc/dce110/dce110_compressor.c | 3 + .../amd/display/dc/dce110/dce110_hw_sequencer.c | 3 + .../amd/display/dc/dce110/dce110_opp_regamma_v.c | 2 + .../drm/amd/display/dc/dce110/dce110_resource.c | 2 + .../drm/amd/display/dc/dce110/dce110_transform_v.c | 2 + .../drm/amd/display/dc/dce112/dce112_compressor.c | 3 + .../drm/amd/display/dc/dce112/dce112_resource.c | 2 + .../drm/amd/display/dc/dce120/dce120_resource.c | 2 + .../gpu/drm/amd/display/dc/dce80/dce80_resource.c | 2 + .../gpu/drm/amd/display/dc/dcn10/dcn10_clk_mgr.c | 2 + .../gpu/drm/amd/display/dc/dcn10/dcn10_hubbub.c | 2 + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_ipp.c | 2 + .../drm/amd/display/dc/dcn10/dcn10_link_encoder.c | 3 + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_opp.c | 2 + .../gpu/drm/amd/display/dc/dcn10/dcn10_resource.c | 2 + .../amd/display/dc/dcn10/dcn10_stream_encoder.c | 1 + drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c | 2 + drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c | 2 + drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c | 3 + drivers/gpu/drm/amd/display/dc/gpio/hw_factory.c | 2 + drivers/gpu/drm/amd/display/dc/gpio/hw_hpd.c | 2 + .../amd/display/dc/irq/dce110/irq_service_dce110.c | 2 + .../amd/display/dc/irq/dce120/irq_service_dce120.c | 2 + .../amd/display/dc/irq/dce80/irq_service_dce80.c | 2 + .../amd/display/dc/irq/dcn10/irq_service_dcn10.c | 2 + drivers/gpu/drm/amd/display/dc/irq/irq_service.c | 2 + drivers/gpu/drm/amd/display/dc/os_types.h | 8 +- .../amd/display/dc/virtual/virtual_link_encoder.c | 2 + .../display/dc/virtual/virtual_stream_encoder.c | 2 + .../drm/amd/display/modules/color/color_gamma.c | 3 + .../drm/amd/display/modules/freesync/freesync.c | 2 + drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 4 +- drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 1 + drivers/gpu/drm/amd/powerplay/hwmgr/smu_helper.c | 3 + drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 1 + .../amd/powerplay/hwmgr/vega10_processpptables.c | 1 + drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 4 +- drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c | 1 + .../gpu/drm/amd/powerplay/smumgr/iceland_smumgr.c | 1 + .../drm/amd/powerplay/smumgr/polaris10_smumgr.c | 2 + .../gpu/drm/amd/powerplay/smumgr/smu10_smumgr.c | 2 + .../gpu/drm/amd/powerplay/smumgr/tonga_smumgr.c | 1 + .../gpu/drm/amd/powerplay/smumgr/vega10_smumgr.c | 2 + drivers/gpu/drm/ast/ast_drv.h | 7 - drivers/gpu/drm/ast/ast_fb.c | 34 +- drivers/gpu/drm/ast/ast_mode.c | 65 +- drivers/gpu/drm/bridge/analogix-anx78xx.c | 1 - drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 30 +- drivers/gpu/drm/bridge/analogix/analogix_dp_core.h | 4 +- drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c | 14 +- drivers/gpu/drm/bridge/sii902x.c | 6 +- drivers/gpu/drm/bridge/sii9234.c | 4 +- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 166 ++- drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 8 + drivers/gpu/drm/drm_atomic.c | 239 ++++ drivers/gpu/drm/drm_atomic_helper.c | 219 +--- drivers/gpu/drm/drm_atomic_state_helper.c | 4 + drivers/gpu/drm/drm_atomic_uapi.c | 7 +- drivers/gpu/drm/drm_bridge.c | 110 ++ drivers/gpu/drm/drm_client_modeset.c | 995 ++++++++++++++++- drivers/gpu/drm/drm_connector.c | 7 +- drivers/gpu/drm/drm_crtc.c | 4 +- drivers/gpu/drm/drm_crtc_internal.h | 7 + drivers/gpu/drm/drm_debugfs.c | 53 +- drivers/gpu/drm/drm_debugfs_crc.c | 37 +- drivers/gpu/drm/drm_drv.c | 5 - drivers/gpu/drm/drm_edid.c | 4 +- drivers/gpu/drm/drm_fb_helper.c | 1144 +------------------- drivers/gpu/drm/drm_gem_vram_helper.c | 181 +--- drivers/gpu/drm/drm_internal.h | 20 +- drivers/gpu/drm/drm_panel_orientation_quirks.c | 32 + drivers/gpu/drm/drm_self_refresh_helper.c | 216 ++++ drivers/gpu/drm/i915/intel_atomic.c | 8 +- drivers/gpu/drm/i915/intel_atomic.h | 2 +- drivers/gpu/drm/i915/intel_dp_mst.c | 7 +- drivers/gpu/drm/i915/intel_sdvo.c | 9 +- drivers/gpu/drm/i915/intel_tv.c | 8 +- drivers/gpu/drm/mcde/mcde_display.c | 2 +- drivers/gpu/drm/meson/meson_overlay.c | 3 + drivers/gpu/drm/meson/meson_plane.c | 19 + drivers/gpu/drm/mgag200/mgag200_cursor.c | 165 ++- drivers/gpu/drm/mgag200/mgag200_drv.h | 3 - drivers/gpu/drm/mgag200/mgag200_fb.c | 26 +- drivers/gpu/drm/mgag200/mgag200_main.c | 4 +- drivers/gpu/drm/nouveau/dispnv50/disp.c | 5 +- drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c | 14 +- drivers/gpu/drm/panel/panel-truly-nt35597.c | 1 + drivers/gpu/drm/r128/r128_cce.c | 28 +- drivers/gpu/drm/r128/r128_drv.c | 9 +- drivers/gpu/drm/r128/r128_drv.h | 16 +- drivers/gpu/drm/r128/r128_state.c | 25 +- drivers/gpu/drm/radeon/atom.c | 2 + drivers/gpu/drm/radeon/atom.h | 1 - drivers/gpu/drm/radeon/atombios_crtc.c | 7 +- drivers/gpu/drm/radeon/atombios_dp.c | 2 +- drivers/gpu/drm/radeon/atombios_encoders.c | 14 +- drivers/gpu/drm/radeon/atombios_i2c.c | 2 +- drivers/gpu/drm/radeon/btc_dpm.c | 16 +- drivers/gpu/drm/radeon/btc_dpm.h | 3 + drivers/gpu/drm/radeon/ci_dpm.c | 14 +- drivers/gpu/drm/radeon/ci_dpm.h | 1 + drivers/gpu/drm/radeon/ci_smc.c | 2 +- drivers/gpu/drm/radeon/cik.c | 18 +- drivers/gpu/drm/radeon/cik_sdma.c | 6 +- drivers/gpu/drm/radeon/clearstate_cayman.h | 2 + drivers/gpu/drm/radeon/clearstate_ci.h | 2 + drivers/gpu/drm/radeon/clearstate_si.h | 2 + drivers/gpu/drm/radeon/cypress_dpm.c | 11 +- drivers/gpu/drm/radeon/dce3_1_afmt.c | 2 +- drivers/gpu/drm/radeon/dce6_afmt.c | 2 +- drivers/gpu/drm/radeon/evergreen.c | 16 +- drivers/gpu/drm/radeon/evergreen_cs.c | 2 +- drivers/gpu/drm/radeon/evergreen_dma.c | 2 +- drivers/gpu/drm/radeon/evergreen_hdmi.c | 2 +- drivers/gpu/drm/radeon/kv_dpm.c | 10 +- drivers/gpu/drm/radeon/kv_smc.c | 1 - drivers/gpu/drm/radeon/ni.c | 17 +- drivers/gpu/drm/radeon/ni_dma.c | 2 +- drivers/gpu/drm/radeon/ni_dpm.c | 16 +- drivers/gpu/drm/radeon/r100.c | 36 +- drivers/gpu/drm/radeon/r100_track.h | 2 + drivers/gpu/drm/radeon/r200.c | 2 +- drivers/gpu/drm/radeon/r300.c | 18 +- drivers/gpu/drm/radeon/r420.c | 16 +- drivers/gpu/drm/radeon/r520.c | 4 +- drivers/gpu/drm/radeon/r600.c | 18 +- drivers/gpu/drm/radeon/r600_cs.c | 2 +- drivers/gpu/drm/radeon/r600_dma.c | 6 +- drivers/gpu/drm/radeon/r600_dpm.c | 1 - drivers/gpu/drm/radeon/r600_dpm.h | 2 + drivers/gpu/drm/radeon/r600_hdmi.c | 2 +- drivers/gpu/drm/radeon/radeon_acpi.c | 13 +- drivers/gpu/drm/radeon/radeon_agp.c | 8 +- drivers/gpu/drm/radeon/radeon_asic.c | 10 +- drivers/gpu/drm/radeon/radeon_atombios.c | 5 +- drivers/gpu/drm/radeon/radeon_audio.c | 2 +- drivers/gpu/drm/radeon/radeon_benchmark.c | 2 +- drivers/gpu/drm/radeon/radeon_bios.c | 12 +- drivers/gpu/drm/radeon/radeon_clocks.c | 9 +- drivers/gpu/drm/radeon/radeon_combios.c | 5 +- drivers/gpu/drm/radeon/radeon_connectors.c | 2 +- drivers/gpu/drm/radeon/radeon_cs.c | 10 +- drivers/gpu/drm/radeon/radeon_cursor.c | 4 +- drivers/gpu/drm/radeon/radeon_device.c | 18 +- drivers/gpu/drm/radeon/radeon_display.c | 21 +- drivers/gpu/drm/radeon/radeon_dp_auxch.c | 2 +- drivers/gpu/drm/radeon/radeon_dp_mst.c | 5 +- drivers/gpu/drm/radeon/radeon_drv.c | 19 +- drivers/gpu/drm/radeon/radeon_encoders.c | 5 +- drivers/gpu/drm/radeon/radeon_fb.c | 13 +- drivers/gpu/drm/radeon/radeon_fence.c | 16 +- drivers/gpu/drm/radeon/radeon_gart.c | 5 +- drivers/gpu/drm/radeon/radeon_gem.c | 7 +- drivers/gpu/drm/radeon/radeon_i2c.c | 5 +- drivers/gpu/drm/radeon/radeon_ib.c | 5 +- drivers/gpu/drm/radeon/radeon_irq_kms.c | 14 +- drivers/gpu/drm/radeon/radeon_kms.c | 17 +- drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 9 +- drivers/gpu/drm/radeon/radeon_legacy_encoders.c | 11 +- drivers/gpu/drm/radeon/radeon_legacy_tv.c | 4 +- drivers/gpu/drm/radeon/radeon_mn.c | 2 +- drivers/gpu/drm/radeon/radeon_object.c | 9 +- drivers/gpu/drm/radeon/radeon_pm.c | 17 +- drivers/gpu/drm/radeon/radeon_prime.c | 8 +- drivers/gpu/drm/radeon/radeon_ring.c | 6 +- drivers/gpu/drm/radeon/radeon_sa.c | 2 +- drivers/gpu/drm/radeon/radeon_semaphore.c | 2 +- drivers/gpu/drm/radeon/radeon_sync.c | 1 - drivers/gpu/drm/radeon/radeon_test.c | 2 +- drivers/gpu/drm/radeon/radeon_trace.h | 4 +- drivers/gpu/drm/radeon/radeon_trace_points.c | 2 +- drivers/gpu/drm/radeon/radeon_ttm.c | 26 +- drivers/gpu/drm/radeon/radeon_ucode.c | 2 +- drivers/gpu/drm/radeon/radeon_uvd.c | 2 +- drivers/gpu/drm/radeon/radeon_vce.c | 4 +- drivers/gpu/drm/radeon/radeon_vm.c | 2 +- drivers/gpu/drm/radeon/rs400.c | 11 +- drivers/gpu/drm/radeon/rs600.c | 13 +- drivers/gpu/drm/radeon/rs690.c | 6 +- drivers/gpu/drm/radeon/rs780_dpm.c | 12 +- drivers/gpu/drm/radeon/rv515.c | 13 +- drivers/gpu/drm/radeon/rv6xx_dpm.c | 1 - drivers/gpu/drm/radeon/rv730_dpm.c | 1 - drivers/gpu/drm/radeon/rv740_dpm.c | 1 - drivers/gpu/drm/radeon/rv770.c | 12 +- drivers/gpu/drm/radeon/rv770_dma.c | 2 +- drivers/gpu/drm/radeon/rv770_dpm.c | 1 - drivers/gpu/drm/radeon/rv770_dpm.h | 1 + drivers/gpu/drm/radeon/rv770_smc.c | 2 +- drivers/gpu/drm/radeon/si.c | 16 +- drivers/gpu/drm/radeon/si_dma.c | 2 +- drivers/gpu/drm/radeon/si_dpm.c | 14 +- drivers/gpu/drm/radeon/si_smc.c | 2 +- drivers/gpu/drm/radeon/sumo_dpm.c | 1 - drivers/gpu/drm/radeon/sumo_dpm.h | 1 + drivers/gpu/drm/radeon/sumo_smc.c | 1 - drivers/gpu/drm/radeon/trinity_dpm.c | 10 +- drivers/gpu/drm/radeon/trinity_smc.c | 1 - drivers/gpu/drm/radeon/uvd_v1_0.c | 4 +- drivers/gpu/drm/radeon/uvd_v2_2.c | 2 +- drivers/gpu/drm/radeon/uvd_v3_1.c | 1 - drivers/gpu/drm/radeon/uvd_v4_2.c | 2 +- drivers/gpu/drm/radeon/vce_v1_0.c | 2 +- drivers/gpu/drm/radeon/vce_v2_0.c | 2 +- drivers/gpu/drm/rcar-du/rcar_lvds.c | 12 +- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 14 + drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 13 +- drivers/gpu/drm/savage/savage_bci.c | 25 +- drivers/gpu/drm/savage/savage_drv.c | 9 +- drivers/gpu/drm/savage/savage_drv.h | 10 +- drivers/gpu/drm/savage/savage_state.c | 9 +- drivers/gpu/drm/sis/sis_drv.c | 8 +- drivers/gpu/drm/sis/sis_drv.h | 10 +- drivers/gpu/drm/sis/sis_mm.c | 7 +- drivers/gpu/drm/sti/sti_awg_utils.c | 2 + drivers/gpu/drm/sti/sti_awg_utils.h | 2 +- drivers/gpu/drm/sti/sti_compositor.c | 5 +- drivers/gpu/drm/sti/sti_crtc.c | 4 +- drivers/gpu/drm/sti/sti_crtc.h | 6 +- drivers/gpu/drm/sti/sti_cursor.c | 2 + drivers/gpu/drm/sti/sti_cursor.h | 3 + drivers/gpu/drm/sti/sti_drv.c | 21 +- drivers/gpu/drm/sti/sti_drv.h | 5 +- drivers/gpu/drm/sti/sti_dvo.c | 3 +- drivers/gpu/drm/sti/sti_gdp.c | 4 + drivers/gpu/drm/sti/sti_gdp.h | 5 + drivers/gpu/drm/sti/sti_hda.c | 6 +- drivers/gpu/drm/sti/sti_hdmi.c | 5 +- drivers/gpu/drm/sti/sti_hdmi.h | 4 +- drivers/gpu/drm/sti/sti_hdmi_tx3g4c28phy.c | 2 + drivers/gpu/drm/sti/sti_hqvdp.c | 8 +- drivers/gpu/drm/sti/sti_mixer.c | 4 + drivers/gpu/drm/sti/sti_mixer.h | 7 +- drivers/gpu/drm/sti/sti_plane.c | 4 +- drivers/gpu/drm/sti/sti_plane.h | 1 - drivers/gpu/drm/sti/sti_tvout.c | 6 +- drivers/gpu/drm/sti/sti_vid.c | 4 +- drivers/gpu/drm/sti/sti_vtg.c | 4 +- drivers/gpu/drm/sti/sti_vtg.h | 1 + drivers/gpu/drm/stm/drv.c | 43 +- drivers/gpu/drm/stm/dw_mipi_dsi-stm.c | 21 +- drivers/gpu/drm/stm/ltdc.c | 69 +- drivers/gpu/drm/vc4/vc4_txp.c | 7 +- drivers/gpu/drm/virtio/Makefile | 2 +- drivers/gpu/drm/virtio/virtgpu_display.c | 20 +- drivers/gpu/drm/virtio/virtgpu_drv.h | 7 - drivers/gpu/drm/virtio/virtgpu_fb.c | 150 --- drivers/gpu/drm/virtio/virtgpu_ioctl.c | 18 +- drivers/gpu/drm/virtio/virtgpu_vq.c | 26 +- drivers/gpu/drm/vkms/vkms_crtc.c | 22 +- drivers/gpu/drm/vkms/vkms_output.c | 10 - drivers/gpu/vga/vga_switcheroo.c | 34 +- include/drm/bridge/dw_hdmi.h | 2 + include/drm/bridge/dw_mipi_dsi.h | 2 + include/drm/drm_atomic.h | 22 + include/drm/drm_atomic_helper.h | 4 - include/drm/drm_bridge.h | 106 ++ include/drm/drm_client.h | 24 +- include/drm/drm_connector.h | 19 + include/drm/drm_crtc.h | 20 + include/drm/drm_debugfs.h | 2 + include/drm/drm_edid.h | 32 +- include/drm/drm_fb_helper.h | 84 +- include/drm/drm_framebuffer.h | 3 + include/drm/drm_gem_vram_helper.h | 9 - include/drm/drm_modeset_helper_vtables.h | 61 +- include/drm/drm_print.h | 2 + include/drm/drm_self_refresh_helper.h | 20 + include/linux/reservation.h | 8 +- 419 files changed, 3755 insertions(+), 2726 deletions(-) create mode 100644 drivers/gpu/drm/drm_self_refresh_helper.c delete mode 100644 drivers/gpu/drm/virtio/virtgpu_fb.c create mode 100644 include/drm/drm_self_refresh_helper.h