Commit d9794afd authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

drm/i915: Extract intel_hdcp_cancel_works()



Hide the annoying HDCP implementation details better by
providing a intel_hdcp_cancel_works().

Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250213150220.13580-5-ville.syrjala@linux.intel.com


Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
parent 1562a536
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -93,6 +93,7 @@
#include "intel_fdi.h"
#include "intel_fifo_underrun.h"
#include "intel_frontbuffer.h"
#include "intel_hdcp.h"
#include "intel_hdmi.h"
#include "intel_hotplug.h"
#include "intel_link_bw.h"
@@ -8546,10 +8547,7 @@ void intel_hpd_poll_fini(struct drm_i915_private *i915)
	drm_connector_list_iter_begin(&i915->drm, &conn_iter);
	for_each_intel_connector_iter(connector, &conn_iter) {
		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);
		}
		intel_hdcp_cancel_works(connector);
	}
	drm_connector_list_iter_end(&conn_iter);
}
+9 −0
Original line number Diff line number Diff line
@@ -2615,6 +2615,15 @@ void intel_hdcp_update_pipe(struct intel_atomic_state *state,
		_intel_hdcp_enable(state, encoder, crtc_state, conn_state);
}

void intel_hdcp_cancel_works(struct intel_connector *connector)
{
	if (!connector->hdcp.shim)
		return;

	cancel_delayed_work_sync(&connector->hdcp.check_work);
	cancel_work_sync(&connector->hdcp.prop_work);
}

void intel_hdcp_component_fini(struct intel_display *display)
{
	mutex_lock(&display->hdcp.hdcp_mutex);
+1 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ void intel_hdcp_enable(struct intel_atomic_state *state,
		       const struct intel_crtc_state *pipe_config,
		       const struct drm_connector_state *conn_state);
int intel_hdcp_disable(struct intel_connector *connector);
void intel_hdcp_cancel_works(struct intel_connector *connector);
void intel_hdcp_update_pipe(struct intel_atomic_state *state,
			    struct intel_encoder *encoder,
			    const struct intel_crtc_state *crtc_state,