From: Ville Syrjälä <ville.syrj...@linux.intel.com>

Hide the implementation details of the modeset retry work
better.

Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_connector.c | 6 ++++++
 drivers/gpu/drm/i915/display/intel_display.c   | 4 ++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_connector.c 
b/drivers/gpu/drm/i915/display/intel_connector.c
index b1240be2ec6d..358965fc7f55 100644
--- a/drivers/gpu/drm/i915/display/intel_connector.c
+++ b/drivers/gpu/drm/i915/display/intel_connector.c
@@ -70,6 +70,12 @@ void intel_connector_queue_modeset_retry_work(struct 
intel_connector *connector)
                drm_connector_put(&connector->base);
 }
 
+void intel_connector_cancel_modeset_retry_work(struct intel_connector 
*connector)
+{
+       if (cancel_work_sync(&connector->modeset_retry_work))
+               drm_connector_put(&connector->base);
+}
+
 int intel_connector_init(struct intel_connector *connector)
 {
        struct intel_digital_connector_state *conn_state;
diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
b/drivers/gpu/drm/i915/display/intel_display.c
index 858886eea6cc..93392752b470 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -62,6 +62,7 @@
 #include "intel_bw.h"
 #include "intel_cdclk.h"
 #include "intel_clock_gating.h"
+#include "intel_connector.h"
 #include "intel_color.h"
 #include "intel_crt.h"
 #include "intel_crtc.h"
@@ -8787,8 +8788,7 @@ void intel_hpd_poll_fini(struct drm_i915_private *i915)
        /* Kill all the work that may have been queued by hpd. */
        drm_connector_list_iter_begin(&i915->drm, &conn_iter);
        for_each_intel_connector_iter(connector, &conn_iter) {
-               if (cancel_work_sync(&connector->modeset_retry_work))
-                       drm_connector_put(&connector->base);
+               intel_connector_cancel_modeset_retry_work(connector);
                if (connector->hdcp.shim) {
                        cancel_delayed_work_sync(&connector->hdcp.check_work);
                        cancel_work_sync(&connector->hdcp.prop_work);
-- 
2.45.3

Reply via email to