[Freedreno] [PATCH 00/23] drm: Eliminate plane->fb/crtc usage for atomic drivers

Ville Syrjala ville.syrjala at linux.intel.com
Thu Mar 22 15:22:50 UTC 2018


From: Ville Syrjälä <ville.syrjala at linux.intel.com>

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



More information about the Freedreno mailing list