Bug 108739

Summary: [CI][DRMTIP] igt@kms_content_protection@(atomic|legacy) - dmesg-fail - Content Protection not enabled, Could not load HDCP keys
Product: DRI Reporter: Martin Peres <martin.peres>
Component: DRM/IntelAssignee: Ramalingam C <ramalingam.c>
Status: ASSIGNED --- QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: highest CC: intel-gfx-bugs
Version: XOrg git   
Hardware: Other   
OS: All   
Whiteboard: ReadyForDev
i915 platform: BXT, ICL, KBL, SKL i915 features: display/HDCP

Description Martin Peres 2018-11-14 10:06:17 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_140/fi-icl-u2/igt@kms_content_protection@legacy.html

Starting subtest: legacy
(kms_content_protection:1068) CRITICAL: Test assertion failure function test_cp_enable_disable, file ../tests/kms_content_protection.c:181:
(kms_content_protection:1068) CRITICAL: Failed assertion: ret
(kms_content_protection:1068) CRITICAL: Last errno: 25, Inappropriate ioctl for device
(kms_content_protection:1068) CRITICAL: Content Protection not enabled
Subtest legacy failed.

<3> [345.096469] [drm:_intel_hdcp_enable [i915]] *ERROR* Could not load HDCP keys, (-6)
<3> [369.104557] [drm:_intel_hdcp_enable [i915]] *ERROR* Could not load HDCP keys, (-6)
<3> [393.114249] [drm:_intel_hdcp_enable [i915]] *ERROR* Could not load HDCP keys, (-6)
Comment 1 Martin Peres 2018-11-15 13:17:09 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_142/fi-cfl-8109u/igt@kms_content_protection@atomic.html

Starting subtest: atomic
(kms_content_protection:1355) CRITICAL: Test assertion failure function test_cp_enable_disable, file ../tests/kms_content_protection.c:181:
(kms_content_protection:1355) CRITICAL: Failed assertion: ret
(kms_content_protection:1355) CRITICAL: Last errno: 25, Inappropriate ioctl for device
(kms_content_protection:1355) CRITICAL: Content Protection not enabled

<3> [441.461452] [drm:_intel_hdcp_enable [i915]] *ERROR* Could not load HDCP keys, (-110)
<3> [464.142465] [drm:_intel_hdcp_enable [i915]] *ERROR* Could not load HDCP keys, (-110)
<3> [486.870876] [drm:_intel_hdcp_enable [i915]] *ERROR* Could not load HDCP keys, (-110)


https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_142/fi-icl-u2/igt@kms_content_protection@atomic.html

Starting subtest: atomic
(kms_content_protection:1369) CRITICAL: Test assertion failure function test_cp_enable_disable, file ../tests/kms_content_protection.c:181:
(kms_content_protection:1369) CRITICAL: Failed assertion: ret
(kms_content_protection:1369) CRITICAL: Last errno: 25, Inappropriate ioctl for device
(kms_content_protection:1369) CRITICAL: Content Protection not enabled

<3> [649.397993] [drm:_intel_hdcp_enable [i915]] *ERROR* Could not load HDCP keys, (-6)
<3> [673.370491] [drm:_intel_hdcp_enable [i915]] *ERROR* Could not load HDCP keys, (-6)
<3> [697.342911] [drm:_intel_hdcp_enable [i915]] *ERROR* Could not load HDCP keys, (-6)
Comment 2 Ramalingam C 2018-11-26 06:25:59 UTC
Martin,

How to get the current status of this issue on cfl? if I check at https://intel-gfx-ci.01.org/tree/drm-tip/combined-issues-by-run.html cfl is used for fast feedback where content protection tests are not executed.

And shards-iclb has no connector with hdcp capability. I am not sure how did we get these observations. Could you please help on this?
Comment 3 Martin Peres 2018-11-30 14:11:45 UTC
(In reply to Ramalingam C from comment #2)
> Martin,
> 
> How to get the current status of this issue on cfl? if I check at
> https://intel-gfx-ci.01.org/tree/drm-tip/combined-issues-by-run.html cfl is
> used for fast feedback where content protection tests are not executed.
> 
> And shards-iclb has no connector with hdcp capability. I am not sure how did
> we get these observations. Could you please help on this?

Sorry for the delay. What you want to look at is the CI-wide idle runs: https://intel-gfx-ci.01.org/tree/drm-tip/drmtip.html (link can be found in https://intel-gfx-ci.01.org).

In the future, I would like people to use CI Bug Log to find all the failures associated to a bug, but that will require a bit more development (a non-intel-hosted instance).
Comment 4 Ramalingam C 2018-12-06 06:29:46 UTC
CFL HDCP1.4 key load issue is locally verified to be fixed by https://patchwork.freedesktop.org/patch/265985/

The series https://patchwork.freedesktop.org/series/53493/ is awaiting the merger

ICL needs to be debugged yet.
Comment 5 Martin Peres 2018-12-12 17:13:42 UTC
(In reply to Ramalingam C from comment #4)
> CFL HDCP1.4 key load issue is locally verified to be fixed by
> https://patchwork.freedesktop.org/patch/265985/
> 
> The series https://patchwork.freedesktop.org/series/53493/ is awaiting the
> merger
> 
> ICL needs to be debugged yet.

Thanks! CFL is not seeing the "Could not load HDCP keys" error anymore, but it still fails:

https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_158/fi-cfl-8109u/igt@kms_content_protection@legacy.html

https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_158/fi-cfl-8109u/igt@kms_content_protection@atomic.html

Starting subtest: atomic
(kms_content_protection:1140) CRITICAL: Test assertion failure function test_cp_enable_disable, file ../tests/kms_content_protection.c:183:
(kms_content_protection:1140) CRITICAL: Failed assertion: ret
(kms_content_protection:1140) CRITICAL: Last errno: 25, Inappropriate ioctl for device
(kms_content_protection:1140) CRITICAL: Content Protection not enabled
Subtest atomic failed.
Comment 6 Ramalingam C 2018-12-12 20:04:14 UTC
Martin difficult to fix this, as this is not reproducible on the CFL/KBL I have tested locally. When I can use the fi-cfl-8109u or problematic KBL fi system, for debugging, we can fix this.

Mostly errors are KSV list not available on DP port which mean LSPCon related issues.
Comment 9 Lakshmi 2019-02-15 13:41:12 UTC
(In reply to CI Bug Log from comment #8)
> A CI Bug Log filter associated to this bug has been updated:
> 
> {- APL CFL: igt@kms_content_protection@* - fail - Content Protection not
> enabled -}
> {+ APL KBL CFL: igt@kms_content_protection@* - fail - Content Protection not
> enabled +}
> 
> New failures caught by the filter:
> 
> *
> https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4827/shard-kbl7/
> igt@kms_content_protection@atomic-dpms.html
> *
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5601/shard-kbl3/
> igt@kms_content_protection@atomic-dpms.html
> *
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5602/shard-kbl7/
> igt@kms_content_protection@atomic-dpms.html
> *
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5604/shard-kbl6/
> igt@kms_content_protection@atomic-dpms.html
> *
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5605/shard-kbl3/
> igt@kms_content_protection@atomic-dpms.html
> *
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5603/shard-kbl1/
> igt@kms_content_protection@atomic-dpms.html
> *
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5606/shard-kbl3/
> igt@kms_content_protection@atomic-dpms.html

Since the failures are from BAT, priority is set to highest.
Comment 10 Lakshmi 2019-02-18 12:23:20 UTC
Ramalingam, any updates here?
Comment 11 CI Bug Log 2019-02-21 10:57:59 UTC
A CI Bug Log filter associated to this bug has been updated:

{- APL KBL CFL: igt@kms_content_protection@* - fail - Content Protection not enabled -}
{+ APL SKL KBL CFL: igt@kms_content_protection@* - fail - Content Protection not enabled +}

New failures caught by the filter:

* https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_221/fi-skl-6770hq/igt@kms_content_protection@atomic-dpms.html
* https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_221/fi-skl-gvtdvm/igt@kms_content_protection@atomic-dpms.html
* https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_222/fi-skl-6770hq/igt@kms_content_protection@atomic-dpms.html
* https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_222/fi-skl-gvtdvm/igt@kms_content_protection@atomic-dpms.html
* https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_223/fi-skl-6770hq/igt@kms_content_protection@atomic-dpms.html
* https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_224/fi-skl-6770hq/igt@kms_content_protection@atomic-dpms.html
* https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_224/fi-skl-gvtdvm/igt@kms_content_protection@atomic-dpms.html
* https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_225/fi-skl-6770hq/igt@kms_content_protection@atomic-dpms.html
* https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_225/fi-skl-gvtdvm/igt@kms_content_protection@atomic-dpms.html
* https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_226/fi-skl-6770hq/igt@kms_content_protection@atomic-dpms.html
* https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_226/fi-skl-gvtdvm/igt@kms_content_protection@atomic-dpms.html
Comment 12 Lakshmi 2019-02-21 10:59:38 UTC
Ramalingam, This issue is seen on SKL.
Comment 13 CI Bug Log 2019-02-25 08:20:35 UTC
A CI Bug Log filter associated to this bug has been updated:

{- APL SKL KBL CFL: igt@kms_content_protection@* - fail - Content Protection not enabled -}
{+ APL SKL KBL CFL ICL: igt@kms_content_protection@* - fail - Content Protection not enabled +}

New failures caught by the filter:

* https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_228/fi-icl-u2/igt@kms_content_protection@atomic-dpms.html
* https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_229/fi-icl-u2/igt@kms_content_protection@atomic-dpms.html
Comment 14 Ramalingam C 2019-03-15 12:49:45 UTC
Martin,

We need to file different bugs for the content protection failures based on the cause for it. 
This is needed because few failures are due to the HDCP sink, which can't be fixed.

The cause has to be picked from the kernel demsg debug logs as given below. 

1. [drm:intel_hdcp_read_valid_bksv.isra.0 [i915]] Bksv is invalid
      Ex: https://intel-gfx-ci.01.org/tree/drm-tip/Trybot_3967/fi-icl-u3/igt@kms_content_protection@legacy.html

2. [drm:intel_hdcp_auth [i915]] KSV list failed to become ready (-110)
      Ex: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5750/shard-kbl5/igt@kms_content_protection@atomic.html


Could you please help with this?

This bug can be used to track the content protection enable failure due to the HDCP key load issue. But I believe this is no more seen on the latest HDCP results.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.