-
- Downloads
drm: Add reference counting to drm_atomic_state
drm_atomic_state has a complicated single owner model that tracks the single reference from allocation through to destruction on another thread - or perhaps on a local error path. We can simplify this tracking by using reference counting (at a cost of a few more atomics). This is even more beneficial when the lifetime of the state becomes more convoluted than being passed to a single worker thread for the commit. v2: Double check !intel atomic_commit functions for missing gets v3: Update kerneldocs Signed-off-by:Chris Wilson <chris@chris-wilson.co.uk> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: dri-devel@lists.freedesktop.org Reviewed-by:
Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by:
Sean Paul <seanpaul@chromium.org> Signed-off-by:
Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/20161014121833.439-27-chris@chris-wilson.co.uk
Showing
- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c 2 additions, 1 deletiondrivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
- drivers/gpu/drm/drm_atomic.c 10 additions, 15 deletionsdrivers/gpu/drm/drm_atomic.c
- drivers/gpu/drm/drm_atomic_helper.c 24 additions, 74 deletionsdrivers/gpu/drm/drm_atomic_helper.c
- drivers/gpu/drm/drm_fb_helper.c 2 additions, 7 deletionsdrivers/gpu/drm/drm_fb_helper.c
- drivers/gpu/drm/exynos/exynos_drm_drv.c 2 additions, 1 deletiondrivers/gpu/drm/exynos/exynos_drm_drv.c
- drivers/gpu/drm/i915/i915_debugfs.c 2 additions, 3 deletionsdrivers/gpu/drm/i915/i915_debugfs.c
- drivers/gpu/drm/i915/intel_display.c 15 additions, 16 deletionsdrivers/gpu/drm/i915/intel_display.c
- drivers/gpu/drm/i915/intel_sprite.c 1 addition, 3 deletionsdrivers/gpu/drm/i915/intel_sprite.c
- drivers/gpu/drm/mediatek/mtk_drm_drv.c 2 additions, 1 deletiondrivers/gpu/drm/mediatek/mtk_drm_drv.c
- drivers/gpu/drm/msm/msm_atomic.c 2 additions, 1 deletiondrivers/gpu/drm/msm/msm_atomic.c
- drivers/gpu/drm/omapdrm/omap_drv.c 2 additions, 1 deletiondrivers/gpu/drm/omapdrm/omap_drv.c
- drivers/gpu/drm/rcar-du/rcar_du_kms.c 2 additions, 1 deletiondrivers/gpu/drm/rcar-du/rcar_du_kms.c
- drivers/gpu/drm/sti/sti_drv.c 2 additions, 1 deletiondrivers/gpu/drm/sti/sti_drv.c
- drivers/gpu/drm/tegra/drm.c 2 additions, 1 deletiondrivers/gpu/drm/tegra/drm.c
- drivers/gpu/drm/tilcdc/tilcdc_drv.c 0 additions, 2 deletionsdrivers/gpu/drm/tilcdc/tilcdc_drv.c
- drivers/gpu/drm/vc4/vc4_kms.c 2 additions, 1 deletiondrivers/gpu/drm/vc4/vc4_kms.c
- include/drm/drm_atomic.h 30 additions, 1 deletioninclude/drm/drm_atomic.h
- include/drm/drm_plane.h 0 additions, 1 deletioninclude/drm/drm_plane.h
Loading
Please register or sign in to comment