All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: HDCP state handling in ddi_update_pipe
@ 2019-02-04 13:15 Ramalingam C
  2019-02-04 14:41 ` ✓ Fi.CI.BAT: success for " Patchwork
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Ramalingam C @ 2019-02-04 13:15 UTC (permalink / raw
  To: Intel-gfx, daniel.vetter

A recent change to downgrade the fullmodeset into fastset
intel_encoder->update_pipe, in possible scenario, skips the En/Dis-able
DDI. Hence breaks the HDCP state change handling.

So this change fixs it by handling the HDCP state change request at
intel_encoder->update_pipe.

Signed-off-by: Ramalingam C <ramalingam.c@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,
-- 
2.7.4

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

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915: HDCP state handling in ddi_update_pipe
  2019-02-04 13:15 [PATCH] drm/i915: HDCP state handling in ddi_update_pipe Ramalingam C
@ 2019-02-04 14:41 ` Patchwork
  2019-02-04 15:44 ` [PATCH] " Ramalingam C
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-02-04 14:41 UTC (permalink / raw
  To: Ramalingam C; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: HDCP state handling in ddi_update_pipe
URL   : https://patchwork.freedesktop.org/series/56182/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5536 -> Patchwork_12125
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/56182/revisions/1/mbox/

Known issues
------------

  Here are the changes found in Patchwork_12125 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
    - fi-byt-clapper:     PASS -> FAIL [fdo#107362]

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
    - fi-byt-clapper:     PASS -> FAIL [fdo#103191] / [fdo#107362] +1

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - fi-apl-guc:         PASS -> DMESG-WARN [fdo#108529] / [fdo#108566]

  
#### Possible fixes ####

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       FAIL [fdo#109485] -> PASS

  * igt@kms_pipe_crc_basic@read-crc-pipe-b-frame-sequence:
    - fi-skl-guc:         FAIL [fdo#103191] / [fdo#107362] -> PASS

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - fi-blb-e6850:       INCOMPLETE [fdo#107718] -> PASS

  * igt@prime_vgem@basic-fence-flip:
    - fi-ilk-650:         FAIL [fdo#104008] -> PASS

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#104008]: https://bugs.freedesktop.org/show_bug.cgi?id=104008
  [fdo#105998]: https://bugs.freedesktop.org/show_bug.cgi?id=105998
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108529]: https://bugs.freedesktop.org/show_bug.cgi?id=108529
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109294]: https://bugs.freedesktop.org/show_bug.cgi?id=109294
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#109527]: https://bugs.freedesktop.org/show_bug.cgi?id=109527
  [fdo#109528]: https://bugs.freedesktop.org/show_bug.cgi?id=109528
  [fdo#109530]: https://bugs.freedesktop.org/show_bug.cgi?id=109530


Participating hosts (46 -> 45)
------------------------------

  Additional (3): fi-icl-y fi-byt-j1900 fi-pnv-d510 
  Missing    (4): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan 


Build changes
-------------

    * Linux: CI_DRM_5536 -> Patchwork_12125

  CI_DRM_5536: 0a5caf6e62fb99d027b3e6af226abb47be732f15 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4805: cb6610f5a91a08b1d7f8ae910875891003c6f67c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12125: 0a719b4f7a0dc40e8be1909dd933612db5076cc5 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

0a719b4f7a0d drm/i915: HDCP state handling in ddi_update_pipe

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12125/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] drm/i915: HDCP state handling in ddi_update_pipe
  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 ` Ramalingam C
  2019-02-04 16:43   ` Maarten Lankhorst
                     ` (2 more replies)
  2019-02-04 16:26 ` ✓ Fi.CI.BAT: success for drm/i915: HDCP state handling in ddi_update_pipe (rev2) Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 3 replies; 12+ messages in thread
From: Ramalingam C @ 2019-02-04 15:44 UTC (permalink / raw
  To: Intel-gfx, daniel.vetter; +Cc: Daniel Vetter

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,
-- 
2.7.4

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

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915: HDCP state handling in ddi_update_pipe (rev2)
  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:26 ` 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
  4 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-02-04 16:26 UTC (permalink / raw
  To: C, Ramalingam; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: HDCP state handling in ddi_update_pipe (rev2)
URL   : https://patchwork.freedesktop.org/series/56182/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5536 -> Patchwork_12128
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/56182/revisions/2/mbox/

Known issues
------------

  Here are the changes found in Patchwork_12128 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
    - fi-byt-clapper:     PASS -> FAIL [fdo#103191] / [fdo#107362]

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - fi-blb-e6850:       PASS -> INCOMPLETE [fdo#107718]

  
#### Possible fixes ####

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       FAIL [fdo#109485] -> PASS

  * igt@kms_pipe_crc_basic@read-crc-pipe-b-frame-sequence:
    - fi-skl-guc:         FAIL [fdo#103191] / [fdo#107362] -> PASS

  * igt@prime_vgem@basic-fence-flip:
    - fi-ilk-650:         FAIL [fdo#104008] -> PASS

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#104008]: https://bugs.freedesktop.org/show_bug.cgi?id=104008
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485


Participating hosts (46 -> 43)
------------------------------

  Additional (1): fi-byt-j1900 
  Missing    (4): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan 


Build changes
-------------

    * Linux: CI_DRM_5536 -> Patchwork_12128

  CI_DRM_5536: 0a5caf6e62fb99d027b3e6af226abb47be732f15 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4805: cb6610f5a91a08b1d7f8ae910875891003c6f67c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12128: b24df62c2118222da94175659678715148fffcdc @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

b24df62c2118 drm/i915: HDCP state handling in ddi_update_pipe

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12128/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] drm/i915: HDCP state handling in ddi_update_pipe
  2019-02-04 15:44 ` [PATCH] " Ramalingam C
@ 2019-02-04 16:43   ` Maarten Lankhorst
  2019-02-04 16:51     ` C, Ramalingam
  2019-02-06 21:24   ` C, Ramalingam
  2019-02-07  7:01   ` Daniel Vetter
  2 siblings, 1 reply; 12+ messages in thread
From: Maarten Lankhorst @ 2019-02-04 16:43 UTC (permalink / raw
  To: Ramalingam C, Intel-gfx, daniel.vetter; +Cc: Daniel Vetter

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. :)

~Maarten

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] drm/i915: HDCP state handling in ddi_update_pipe
  2019-02-04 16:43   ` Maarten Lankhorst
@ 2019-02-04 16:51     ` C, Ramalingam
  2019-02-04 17:04       ` Maarten Lankhorst
  0 siblings, 1 reply; 12+ messages in thread
From: C, Ramalingam @ 2019-02-04 16:51 UTC (permalink / raw
  To: Maarten Lankhorst, Intel-gfx, daniel.vetter; +Cc: Daniel Vetter



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.

--Ram
>
> ~Maarten
>

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] drm/i915: HDCP state handling in ddi_update_pipe
  2019-02-04 16:51     ` C, Ramalingam
@ 2019-02-04 17:04       ` Maarten Lankhorst
  2019-02-04 17:22         ` C, Ramalingam
  0 siblings, 1 reply; 12+ messages in thread
From: Maarten Lankhorst @ 2019-02-04 17:04 UTC (permalink / raw
  To: C, Ramalingam, Intel-gfx, daniel.vetter; +Cc: Daniel Vetter

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?

~Maarten

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] drm/i915: HDCP state handling in ddi_update_pipe
  2019-02-04 17:04       ` Maarten Lankhorst
@ 2019-02-04 17:22         ` C, Ramalingam
  0 siblings, 0 replies; 12+ messages in thread
From: C, Ramalingam @ 2019-02-04 17:22 UTC (permalink / raw
  To: Maarten Lankhorst, Intel-gfx, daniel.vetter; +Cc: Daniel Vetter



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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* ✓ Fi.CI.IGT: success for drm/i915: HDCP state handling in ddi_update_pipe
  2019-02-04 13:15 [PATCH] drm/i915: HDCP state handling in ddi_update_pipe Ramalingam C
                   ` (2 preceding siblings ...)
  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 ` Patchwork
  2019-02-04 17:57 ` ✓ Fi.CI.IGT: success for drm/i915: HDCP state handling in ddi_update_pipe (rev2) Patchwork
  4 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-02-04 17:45 UTC (permalink / raw
  To: C, Ramalingam; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: HDCP state handling in ddi_update_pipe
URL   : https://patchwork.freedesktop.org/series/56182/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5536_full -> Patchwork_12125_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_12125_full:

### IGT changes ###

#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@kms_flip@flip-vs-suspend-interruptible}:
    - shard-kbl:          PASS -> DMESG-WARN

  
Known issues
------------

  Here are the changes found in Patchwork_12125_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_schedule@pi-ringfull-blt:
    - shard-kbl:          NOTRUN -> FAIL [fdo#103158]

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
    - shard-apl:          NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_ccs@pipe-b-crc-sprite-planes-basic:
    - shard-apl:          PASS -> FAIL [fdo#106510] / [fdo#108145]

  * igt@kms_color@pipe-b-legacy-gamma:
    - shard-apl:          PASS -> FAIL [fdo#104782]

  * igt@kms_cursor_crc@cursor-64x64-onscreen:
    - shard-apl:          PASS -> FAIL [fdo#103232]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-apl:          PASS -> FAIL [fdo#103167] +1

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-move:
    - shard-glk:          PASS -> FAIL [fdo#103167]

  * igt@kms_plane_alpha_blend@pipe-b-alpha-basic:
    - shard-kbl:          NOTRUN -> FAIL [fdo#108145] / [fdo#108590]

  * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max:
    - shard-apl:          NOTRUN -> FAIL [fdo#108145] +1

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
    - shard-apl:          PASS -> FAIL [fdo#103166] +1

  
#### Possible fixes ####

  * igt@gem_pwrite_pread@uncached-copy-performance:
    - shard-apl:          INCOMPLETE [fdo#103927] -> PASS

  * igt@kms_cursor_crc@cursor-128x128-random:
    - shard-apl:          FAIL [fdo#103232] -> PASS

  * igt@kms_cursor_crc@cursor-128x42-onscreen:
    - shard-glk:          FAIL [fdo#103232] -> PASS +3

  * igt@kms_cursor_crc@cursor-256x256-suspend:
    - shard-apl:          FAIL [fdo#103191] / [fdo#103232] -> PASS

  * igt@kms_flip@basic-flip-vs-dpms:
    - shard-kbl:          DMESG-WARN [fdo#103313] / [fdo#105345] / [fdo#108473] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite:
    - shard-apl:          FAIL [fdo#103167] -> PASS +3

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt:
    - shard-glk:          FAIL [fdo#103167] -> PASS +1

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
    - shard-glk:          FAIL [fdo#108145] -> PASS

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
    - shard-apl:          FAIL [fdo#103166] -> PASS +3

  * igt@kms_setmode@basic:
    - shard-kbl:          FAIL [fdo#99912] -> PASS

  * igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend:
    - shard-snb:          INCOMPLETE [fdo#105411] -> PASS

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103158]: https://bugs.freedesktop.org/show_bug.cgi?id=103158
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103313]: https://bugs.freedesktop.org/show_bug.cgi?id=103313
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
  [fdo#105345]: https://bugs.freedesktop.org/show_bug.cgi?id=105345
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#106510]: https://bugs.freedesktop.org/show_bug.cgi?id=106510
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108473]: https://bugs.freedesktop.org/show_bug.cgi?id=108473
  [fdo#108590]: https://bugs.freedesktop.org/show_bug.cgi?id=108590
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (7 -> 5)
------------------------------

  Missing    (2): shard-skl shard-iclb 


Build changes
-------------

    * Linux: CI_DRM_5536 -> Patchwork_12125

  CI_DRM_5536: 0a5caf6e62fb99d027b3e6af226abb47be732f15 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4805: cb6610f5a91a08b1d7f8ae910875891003c6f67c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12125: 0a719b4f7a0dc40e8be1909dd933612db5076cc5 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12125/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 12+ messages in thread

* ✓ Fi.CI.IGT: success for drm/i915: HDCP state handling in ddi_update_pipe (rev2)
  2019-02-04 13:15 [PATCH] drm/i915: HDCP state handling in ddi_update_pipe Ramalingam C
                   ` (3 preceding siblings ...)
  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 ` Patchwork
  4 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-02-04 17:57 UTC (permalink / raw
  To: C, Ramalingam; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: HDCP state handling in ddi_update_pipe (rev2)
URL   : https://patchwork.freedesktop.org/series/56182/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5536_full -> Patchwork_12128_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Known issues
------------

  Here are the changes found in Patchwork_12128_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_eio@reset-stress:
    - shard-snb:          PASS -> INCOMPLETE [fdo#105411]

  * igt@gem_exec_schedule@pi-ringfull-blt:
    - shard-kbl:          NOTRUN -> FAIL [fdo#103158]

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
    - shard-apl:          NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_ccs@pipe-b-crc-sprite-planes-basic:
    - shard-apl:          PASS -> FAIL [fdo#106510] / [fdo#108145]

  * igt@kms_color@pipe-b-legacy-gamma:
    - shard-apl:          PASS -> FAIL [fdo#104782]

  * igt@kms_cursor_crc@cursor-256x256-random:
    - shard-glk:          PASS -> FAIL [fdo#103232] +2

  * igt@kms_cursor_crc@cursor-64x64-onscreen:
    - shard-apl:          PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_legacy@cursor-vs-flip-toggle:
    - shard-hsw:          PASS -> FAIL [fdo#103355]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-apl:          PASS -> FAIL [fdo#103167] +2

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-glk:          PASS -> FAIL [fdo#103167] +4

  * igt@kms_plane@pixel-format-pipe-b-planes:
    - shard-apl:          PASS -> FAIL [fdo#103166] +1

  * igt@kms_plane_alpha_blend@pipe-b-alpha-basic:
    - shard-kbl:          NOTRUN -> FAIL [fdo#108145] / [fdo#108590]

  * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max:
    - shard-apl:          NOTRUN -> FAIL [fdo#108145] +1

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-none:
    - shard-glk:          PASS -> FAIL [fdo#103166] +2

  
#### Possible fixes ####

  * igt@gem_pwrite_pread@uncached-copy-performance:
    - shard-apl:          INCOMPLETE [fdo#103927] -> PASS

  * igt@kms_busy@extended-pageflip-hang-newfb-render-b:
    - shard-glk:          DMESG-WARN [fdo#107956] -> PASS

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:
    - shard-kbl:          DMESG-WARN [fdo#107956] -> PASS

  * igt@kms_cursor_crc@cursor-128x128-random:
    - shard-apl:          FAIL [fdo#103232] -> PASS +1

  * igt@kms_cursor_crc@cursor-128x42-onscreen:
    - shard-glk:          FAIL [fdo#103232] -> PASS +2

  * igt@kms_cursor_crc@cursor-256x256-suspend:
    - shard-apl:          FAIL [fdo#103191] / [fdo#103232] -> PASS

  * igt@kms_flip@basic-flip-vs-dpms:
    - shard-kbl:          DMESG-WARN [fdo#103313] / [fdo#105345] / [fdo#108473] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite:
    - shard-apl:          FAIL [fdo#103167] -> PASS +1

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt:
    - shard-glk:          FAIL [fdo#103167] -> PASS +2

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-none:
    - shard-apl:          FAIL [fdo#103166] -> PASS +2

  * igt@kms_setmode@basic:
    - shard-kbl:          FAIL [fdo#99912] -> PASS

  * igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend:
    - shard-kbl:          INCOMPLETE [fdo#103665] -> PASS
    - shard-snb:          INCOMPLETE [fdo#105411] -> PASS

  * igt@pm_rc6_residency@rc6-accuracy:
    - shard-kbl:          {SKIP} [fdo#109271] -> PASS

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103158]: https://bugs.freedesktop.org/show_bug.cgi?id=103158
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103313]: https://bugs.freedesktop.org/show_bug.cgi?id=103313
  [fdo#103355]: https://bugs.freedesktop.org/show_bug.cgi?id=103355
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
  [fdo#105345]: https://bugs.freedesktop.org/show_bug.cgi?id=105345
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#106510]: https://bugs.freedesktop.org/show_bug.cgi?id=106510
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108473]: https://bugs.freedesktop.org/show_bug.cgi?id=108473
  [fdo#108590]: https://bugs.freedesktop.org/show_bug.cgi?id=108590
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (7 -> 5)
------------------------------

  Missing    (2): shard-skl shard-iclb 


Build changes
-------------

    * Linux: CI_DRM_5536 -> Patchwork_12128

  CI_DRM_5536: 0a5caf6e62fb99d027b3e6af226abb47be732f15 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4805: cb6610f5a91a08b1d7f8ae910875891003c6f67c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12128: b24df62c2118222da94175659678715148fffcdc @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12128/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] drm/i915: HDCP state handling in ddi_update_pipe
  2019-02-04 15:44 ` [PATCH] " Ramalingam C
  2019-02-04 16:43   ` Maarten Lankhorst
@ 2019-02-06 21:24   ` C, Ramalingam
  2019-02-07  7:01   ` Daniel Vetter
  2 siblings, 0 replies; 12+ messages in thread
From: C, Ramalingam @ 2019-02-06 21:24 UTC (permalink / raw
  To: Intel-gfx, daniel.vetter; +Cc: Daniel Vetter

Daniel,

Could we process this for merger? Or anything is pending from myside?

--Ram

On 2/4/2019 9:14 PM, Ramalingam C wrote:
> 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,

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] drm/i915: HDCP state handling in ddi_update_pipe
  2019-02-04 15:44 ` [PATCH] " Ramalingam C
  2019-02-04 16:43   ` Maarten Lankhorst
  2019-02-06 21:24   ` C, Ramalingam
@ 2019-02-07  7:01   ` Daniel Vetter
  2 siblings, 0 replies; 12+ messages in thread
From: Daniel Vetter @ 2019-02-07  7:01 UTC (permalink / raw
  To: Ramalingam C; +Cc: Daniel Vetter, daniel.vetter, Intel-gfx

On Mon, Feb 04, 2019 at 09:14:40PM +0530, Ramalingam C wrote:
> 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>

Applied because regression fix, but we still need the igt side to make
sure CI exercises both paths consistently.
-Daniel

> ---
>  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,
> -- 
> 2.7.4
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-02-07  7:01 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.