drm/i915: Pass acquire ctx also to intel_release_load_detect_pipe()
authorAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Fri, 20 Mar 2015 14:18:02 +0000 (16:18 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 26 Mar 2015 14:12:26 +0000 (15:12 +0100)
For now this is not necessary since intel_set_mode() doesn't acquire any
new locks. However, once that function is converted to atomic, that will
change, since we'll pass an atomic state to it, and that needs to have
the right acquire context set.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_crt.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_tv.c

index e66e17af0a56a12243872704874ccfe2aa72929c..974534e784ee9a5590d3011776807723c38b46b0 100644 (file)
@@ -708,7 +708,7 @@ intel_crt_detect(struct drm_connector *connector, bool force)
                        status = connector_status_connected;
                else
                        status = intel_crt_load_detect(crt);
-               intel_release_load_detect_pipe(connector, &tmp);
+               intel_release_load_detect_pipe(connector, &tmp, &ctx);
        } else
                status = connector_status_unknown;
 
index 9d314f889613aaf99edb056255da880a3dc7bf31..bbd09aaa055d23f6fcdc836983cda8b6162104e0 100644 (file)
@@ -9038,7 +9038,8 @@ fail_unlock:
 }
 
 void intel_release_load_detect_pipe(struct drm_connector *connector,
-                                   struct intel_load_detect_pipe *old)
+                                   struct intel_load_detect_pipe *old,
+                                   struct drm_modeset_acquire_ctx *ctx)
 {
        struct intel_encoder *intel_encoder =
                intel_attached_encoder(connector);
@@ -13595,7 +13596,7 @@ static void intel_enable_pipe_a(struct drm_device *dev)
                return;
 
        if (intel_get_load_detect_pipe(crt, NULL, &load_detect_temp, ctx))
-               intel_release_load_detect_pipe(crt, &load_detect_temp);
+               intel_release_load_detect_pipe(crt, &load_detect_temp, ctx);
 }
 
 static bool
index 267bcfc32f13bdc905178d1f75848fbcffa49f52..cb57b9c446f352e4bffc235e7b634af621c5d6ed 100644 (file)
@@ -959,7 +959,8 @@ bool intel_get_load_detect_pipe(struct drm_connector *connector,
                                struct intel_load_detect_pipe *old,
                                struct drm_modeset_acquire_ctx *ctx);
 void intel_release_load_detect_pipe(struct drm_connector *connector,
-                                   struct intel_load_detect_pipe *old);
+                                   struct intel_load_detect_pipe *old,
+                                   struct drm_modeset_acquire_ctx *ctx);
 int intel_pin_and_fence_fb_obj(struct drm_plane *plane,
                               struct drm_framebuffer *fb,
                               const struct drm_plane_state *plane_state,
index 892d23c8479d30f7b6c283ba962c60220f68e3b0..4e6684ee8a00f7e5ff76b0469b483d9c779286d2 100644 (file)
@@ -1332,7 +1332,7 @@ intel_tv_detect(struct drm_connector *connector, bool force)
 
                if (intel_get_load_detect_pipe(connector, &mode, &tmp, &ctx)) {
                        type = intel_tv_detect_type(intel_tv, connector);
-                       intel_release_load_detect_pipe(connector, &tmp);
+                       intel_release_load_detect_pipe(connector, &tmp, &ctx);
                        status = type < 0 ?
                                connector_status_disconnected :
                                connector_status_connected;