[PATCH v2 00/22] drm/i915: Fix pre-g4x GPU reset, again (v2)
ville.syrjala at linux.intel.com
ville.syrjala at linux.intel.com
Thu Jul 6 20:24:20 UTC 2017
From: Ville Syrjälä <ville.syrjala at linux.intel.com>
OK, so here's the full version of my rw_semaphore GPU vs. display reset
fix.
The only issue I'm aware of is that SKL watermark code still uses
obj->state and thus I have no clue what would happen if one tries to
run this on SKL. Untangling that would likely mean making the SKL wm
code more in line with the g4x/vlv/chv code (ie. track things in the
crtc state). I decided not to embark on that quest at this time.
Entire series available here:
git://github.com/vsyrjala/linux.git reset_commit_rwsem_4
Ville Syrjälä (22):
drm/i915: Pass the new crtc state to color management code
drm/i915: Pass the crtc state explicitly to
intel_pipe_update_start/end()
drm/i915: Eliminate obj->state usage in g4x/vlv/chv wm computation
drm/i915: Pass proper old/new states to
intel_plane_atomic_check_with_state()
drm/i915: Eliminate obj->state usage from pre/post plane update
drm/i915: Eliminate crtc->state usage from intel_update_pipe_config()
drm/i915: Eliminate crtc->state usage from intel_atomic_commit_tail
and .crtc_update()
drm: Add drm_dynarray
drm/atomic: Convert state->connectors to drm_dynarray
drm/atomic: Remove pointless private object NULL state check
drm/atomic: Convert private_objs to drm_dynarray
drm/atomic: Make private objs proper objects
drm/atomic: Pass old state to
__drm_atomic_helper_crtc_duplicate_state() & co. explicitly
drm/arm: s/old_state/old_mali_state/
drm/mediatek: s/old_state/old_mtk_state/
drm/atomic: Pass old state explicitly to .atomic_duplicate_state()
drm/atomic: Fix up the kernel docs for the state duplication functions
drm: Return the connector from drm_connector_get()
drm/i915% Store vma gtt offset in plane state
drm/i915: Refactor __intel_atomic_commit_tail()
drm/atomic: Introduce drm_atomic_helper_duplicate_commited_state()
drm/i915: Solve the GPU reset vs. modeset deadlocks with an
rw_semaphore
Documentation/gpu/drm-utils.rst | 15 ++
Documentation/gpu/index.rst | 1 +
drivers/gpu/drm/Makefile | 2 +-
drivers/gpu/drm/arm/malidp_crtc.c | 18 +-
drivers/gpu/drm/arm/malidp_planes.c | 10 +-
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 10 +-
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 5 +-
drivers/gpu/drm/drm_atomic.c | 174 +++++++-----
drivers/gpu/drm/drm_atomic_helper.c | 318 ++++++++++++++++++++--
drivers/gpu/drm/drm_crtc_helper.c | 12 +-
drivers/gpu/drm/drm_dp_mst_topology.c | 65 +++--
drivers/gpu/drm/drm_dynarray.c | 97 +++++++
drivers/gpu/drm/drm_fb_helper.c | 7 +-
drivers/gpu/drm/drm_plane_helper.c | 12 +-
drivers/gpu/drm/exynos/exynos_drm_plane.c | 8 +-
drivers/gpu/drm/i915/i915_drv.h | 11 +
drivers/gpu/drm/i915/intel_atomic.c | 16 +-
drivers/gpu/drm/i915/intel_atomic_plane.c | 47 ++--
drivers/gpu/drm/i915/intel_display.c | 342 ++++++++++++++++--------
drivers/gpu/drm/i915/intel_drv.h | 52 +++-
drivers/gpu/drm/i915/intel_pm.c | 30 +--
drivers/gpu/drm/i915/intel_sdvo.c | 9 +-
drivers/gpu/drm/i915/intel_sprite.c | 37 +--
drivers/gpu/drm/imx/ipuv3-crtc.c | 6 +-
drivers/gpu/drm/imx/ipuv3-plane.c | 8 +-
drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 6 +-
drivers/gpu/drm/mediatek/mtk_drm_plane.c | 10 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 10 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 14 +-
drivers/gpu/drm/nouveau/nouveau_connector.c | 8 +-
drivers/gpu/drm/nouveau/nouveau_connector.h | 3 +-
drivers/gpu/drm/nouveau/nv50_display.c | 16 +-
drivers/gpu/drm/rcar-du/rcar_du_plane.c | 10 +-
drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 10 +-
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 6 +-
drivers/gpu/drm/tegra/dc.c | 16 +-
drivers/gpu/drm/tegra/dsi.c | 8 +-
drivers/gpu/drm/tegra/sor.c | 8 +-
drivers/gpu/drm/vc4/vc4_crtc.c | 6 +-
drivers/gpu/drm/vc4/vc4_plane.c | 10 +-
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 26 +-
drivers/gpu/drm/vmwgfx/vmwgfx_kms.h | 9 +-
include/drm/drm_atomic.h | 179 ++++++++-----
include/drm/drm_atomic_helper.h | 31 ++-
include/drm/drm_connector.h | 23 +-
include/drm/drm_crtc.h | 16 +-
include/drm/drm_dp_mst_helper.h | 10 +
include/drm/drm_dynarray.h | 54 ++++
include/drm/drm_plane.h | 16 +-
49 files changed, 1324 insertions(+), 493 deletions(-)
create mode 100644 Documentation/gpu/drm-utils.rst
create mode 100644 drivers/gpu/drm/drm_dynarray.c
create mode 100644 include/drm/drm_dynarray.h
--
2.13.0
More information about the dri-devel
mailing list