public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "C, Ramalingam" <ramalingam.c@intel.com>
To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Intel-gfx@lists.freedesktop.org, daniel.vetter@ffwll.ch
Cc: Daniel Vetter <daniel.vetter@intel.com>
Subject: Re: [PATCH] drm/i915: HDCP state handling in ddi_update_pipe
Date: Mon, 4 Feb 2019 22:52:32 +0530	[thread overview]
Message-ID: <81e7f86e-cc60-9798-fef5-84facccd46f1@intel.com> (raw)
In-Reply-To: <f80cb8d3-2fac-ef72-d7ad-5b9de89150c6@linux.intel.com>



On 2/4/2019 10:34 PM, Maarten Lankhorst wrote:
> Op 04-02-2019 om 17:51 schreef C, Ramalingam:
>>
>> On 2/4/2019 10:13 PM, Maarten Lankhorst wrote:
>>> 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 <ramalingam.c@intel.com>
>>>> cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>>>> cc: Hans de Goede <hdegoede@redhat.com>
>>>> cc: Daniel Vetter <daniel.vetter@intel.com>
>>>> ---
>>>>    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. :)
>> nothing will happen. intel_hdcp_atomic_check will prune the request. mode_changed is not set in such case.
> There are other reasons than HDCP that could cause fastsets, so what happens if update_pipe is called and content protection stays the same?
If the HDCP is enabled we dont trigger the HDCP_enable from the fastset.
But if the HDCP is failed every fastset will be triggering the HDCP 
enable. But that is the expectation. If user dont want further attempt 
on hdcp auth, user will set it to undesired.

--Ram
>
> ~Maarten
>

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2019-02-04 17:22 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-04 13:15 [PATCH] drm/i915: HDCP state handling in ddi_update_pipe Ramalingam C
2019-02-04 14:41 ` ✓ Fi.CI.BAT: success for " Patchwork
2019-02-04 15:44 ` [PATCH] " Ramalingam C
2019-02-04 16:43   ` Maarten Lankhorst
2019-02-04 16:51     ` C, Ramalingam
2019-02-04 17:04       ` Maarten Lankhorst
2019-02-04 17:22         ` C, Ramalingam [this message]
2019-02-06 21:24   ` C, Ramalingam
2019-02-07  7:01   ` Daniel Vetter
2019-02-04 16:26 ` ✓ Fi.CI.BAT: success for drm/i915: HDCP state handling in ddi_update_pipe (rev2) Patchwork
2019-02-04 17:45 ` ✓ Fi.CI.IGT: success for drm/i915: HDCP state handling in ddi_update_pipe Patchwork
2019-02-04 17:57 ` ✓ Fi.CI.IGT: success for drm/i915: HDCP state handling in ddi_update_pipe (rev2) Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=81e7f86e-cc60-9798-fef5-84facccd46f1@intel.com \
    --to=ramalingam.c@intel.com \
    --cc=Intel-gfx@lists.freedesktop.org \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel.vetter@intel.com \
    --cc=maarten.lankhorst@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox