From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> I really just wanted to fix i915 to re-enable its planes afer load detection (a two line patch). This is what I actually ended up with after I ran into a framebuffer refcount leak with said two line patch. I've tested this on a few i915 boxes and so far it's looking good. Everything else is just compile tested. Entire series available here: git://github.com/vsyrjala/linux.git plane_fb_crtc_nuke Cc: Alex Deucher <alexander.deucher at amd.com> Cc: amd-gfx at lists.freedesktop.org Cc: Benjamin Gaignard <benjamin.gaignard at linaro.org> Cc: Boris Brezillon <boris.brezillon at free-electrons.com> Cc: chris at chris-wilson.co.uk Cc: "Christian König" <christian.koenig at amd.com> Cc: Daniel Vetter <daniel.vetter at ffwll.ch> Cc: Dave Airlie <airlied at gmail.com> Cc: David Airlie <airlied at linux.ie> Cc: "David (ChunMing) Zhou" <David1.Zhou at amd.com> Cc: Eric Anholt <eric at anholt.net> Cc: freedreno at lists.freedesktop.org Cc: Gerd Hoffmann <kraxel at redhat.com> Cc: Harry Wentland <harry.wentland at amd.com> Cc: Inki Dae <inki.dae at samsung.com> Cc: Joonyoung Shim <jy0922.shim at samsung.com> Cc: Kyungmin Park <kyungmin.park at samsung.com> Cc: linux-arm-msm at vger.kernel.org Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com> Cc: martin.peres at free.fr Cc: Rob Clark <robdclark at gmail.com> Cc: Seung-Woo Kim <sw0312.kim at samsung.com> Cc: Shawn Guo <shawnguo at kernel.org> Cc: Sinclair Yeh <syeh at vmware.com> Cc: Thomas Hellstrom <thellstrom at vmware.com> Cc: Vincent Abriou <vincent.abriou at st.com> Cc: virtualization at lists.linux-foundation.org Cc: VMware Graphics <linux-graphics-maintainer at vmware.com> Ville Syrjälä (23): Revert "drm/atomic-helper: Fix leak in disable_all" drm/atomic-helper: Make drm_atomic_helper_disable_all() update the plane->fb pointers drm: Clear crtc->primary->crtc when disabling the crtc via setcrtc() drm/atomic-helper: WARN if legacy plane fb pointers are bogus when committing duplicated state drm: Add local 'plane' variable for primary/cursor planes drm: Adjust whitespace for legibility drm: Make the fb refcount handover less magic drm: Use plane->state->fb over plane->fb drm/i915: Stop consulting plane->fb drm/msm: Stop consulting plane->fb drm/sti: Stop consulting plane->fb drm/vmwgfx: Stop consulting plane->fb drm/zte: Stop consulting plane->fb drm/atmel-hlcdc: Stop using plane->fb drm: Stop updating plane->crtc/fb/old_fb on atomic drivers drm/amdgpu/dc: Stop updating plane->fb drm/i915: Stop updating plane->fb/crtc drm/exynos: Stop updating plane->crtc drm/msm: Stop updating plane->fb/crtc drm/virtio: Stop updating plane->fb drm/vc4: Stop updating plane->fb/crtc drm/i915: Restore planes after load detection drm/i915: Make force_load_detect effective even w/ DMI quirks/hotplug drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 - drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 12 +--- drivers/gpu/drm/drm_atomic.c | 55 ++-------------- drivers/gpu/drm/drm_atomic_helper.c | 79 ++++++++++------------- drivers/gpu/drm/drm_crtc.c | 51 ++++++++++----- drivers/gpu/drm/drm_fb_helper.c | 7 -- drivers/gpu/drm/drm_framebuffer.c | 5 -- drivers/gpu/drm/drm_plane.c | 64 +++++++++++------- drivers/gpu/drm/drm_plane_helper.c | 4 +- drivers/gpu/drm/exynos/exynos_drm_plane.c | 2 - drivers/gpu/drm/i915/intel_crt.c | 6 ++ drivers/gpu/drm/i915/intel_display.c | 9 +-- drivers/gpu/drm/i915/intel_fbdev.c | 2 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c | 3 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c | 2 - drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c | 2 - drivers/gpu/drm/sti/sti_plane.c | 9 +-- drivers/gpu/drm/vc4/vc4_crtc.c | 3 - drivers/gpu/drm/virtio/virtgpu_display.c | 2 - drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 6 +- drivers/gpu/drm/zte/zx_vou.c | 2 +- include/drm/drm_atomic.h | 3 - 22 files changed, 143 insertions(+), 187 deletions(-) -- 2.16.1