Op 04-02-2019 om 16:44 schreef Ramalingam C:
> The downgrade of the fullmodeset into fastset
> intel_encoder->update_pipe, in possible scenario, skips the En/Dis-able
> DDI. Hence breaks the HDCP state change handling.
>
> We also don't have any hdcp tests in CI, because the shard runs don't
> have hdcp capable outputs :-/
>
> So this change fixs it by handling the HDCP state change request at
> intel_encoder->update_pipe too along with enable and disable of the DDI.
>
> Fixes: d19f958db23c ("drm/i915: Enable fastset for non-boot modesets.")
>
> v2:
> Added commit id that broke the HDCP [Daniel]
>
> Signed-off-by: Ramalingam C <[email protected]>
> cc: Maarten Lankhorst <[email protected]>
> cc: Hans de Goede <[email protected]>
> cc: Daniel Vetter <[email protected]>
> ---
> drivers/gpu/drm/i915/intel_ddi.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c
> b/drivers/gpu/drm/i915/intel_ddi.c
> index ca705546a0ab..2323b7cb1d38 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -3568,6 +3568,13 @@ static void intel_ddi_update_pipe(struct intel_encoder
> *encoder,
> {
> if (!intel_crtc_has_type(crtc_state, INTEL_OUTPUT_HDMI))
> intel_ddi_update_pipe_dp(encoder, crtc_state, conn_state);
> +
> + if (conn_state->content_protection ==
> + DRM_MODE_CONTENT_PROTECTION_DESIRED)
> + intel_hdcp_enable(to_intel_connector(conn_state->connector));
> + else if (conn_state->content_protection ==
> + DRM_MODE_CONTENT_PROTECTION_UNDESIRED)
> + intel_hdcp_disable(to_intel_connector(conn_state->connector));
> }
>
> static void intel_ddi_set_fia_lane_count(struct intel_encoder *encoder,
Does anything bad happen if we enable HDCP when it's already enabled? Might
want to have a test for that. :)
~Maarten
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx