aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_drv.h
diff options
context:
space:
mode:
authorRob Clark <robdclark@gmail.com>2013-11-19 12:10:12 -0500
committerDave Airlie <airlied@redhat.com>2014-06-04 19:54:33 -0400
commit51fd371bbaf94018a1223b4e2cf20b9880fd92d4 (patch)
treee86e8ec3ace2fd61111105d39f5eb2d37378e9a8 /drivers/gpu/drm/i915/intel_drv.h
parent4f71d0cb76339a10fd445b0b281acc45c71b6271 (diff)
drm: convert crtc and connection_mutex to ww_mutex (v5)
For atomic, it will be quite necessary to not need to care so much about locking order. And 'state' gives us a convenient place to stash a ww_ctx for any sort of update that needs to grab multiple crtc locks. Because we will want to eventually make locking even more fine grained (giving locks to planes, connectors, etc), split out drm_modeset_lock and drm_modeset_acquire_ctx to track acquired locks. Atomic will use this to keep track of which locks have been acquired in a transaction. v1: original v2: remove a few things not needed until atomic, for now v3: update for v3 of connection_mutex patch.. v4: squash in docbook v5: doc tweaks/fixes Signed-off-by: Rob Clark <robdclark@gmail.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_drv.h')
-rw-r--r--drivers/gpu/drm/i915/intel_drv.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index f1d5897c96cd..0de04983501e 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -748,9 +748,11 @@ void vlv_wait_port_ready(struct drm_i915_private *dev_priv,
748 struct intel_digital_port *dport); 748 struct intel_digital_port *dport);
749bool intel_get_load_detect_pipe(struct drm_connector *connector, 749bool intel_get_load_detect_pipe(struct drm_connector *connector,
750 struct drm_display_mode *mode, 750 struct drm_display_mode *mode,
751 struct intel_load_detect_pipe *old); 751 struct intel_load_detect_pipe *old,
752 struct drm_modeset_acquire_ctx *ctx);
752void intel_release_load_detect_pipe(struct drm_connector *connector, 753void intel_release_load_detect_pipe(struct drm_connector *connector,
753 struct intel_load_detect_pipe *old); 754 struct intel_load_detect_pipe *old,
755 struct drm_modeset_acquire_ctx *ctx);
754int intel_pin_and_fence_fb_obj(struct drm_device *dev, 756int intel_pin_and_fence_fb_obj(struct drm_device *dev,
755 struct drm_i915_gem_object *obj, 757 struct drm_i915_gem_object *obj,
756 struct intel_engine_cs *pipelined); 758 struct intel_engine_cs *pipelined);