* [igt-dev] [Patch][i-g-t v2 0/2] tests/kms_content_protection: Enhancements
@ 2020-06-08 10:13 Ankit Nautiyal
2020-06-08 10:13 ` [igt-dev] [Patch][i-g-t v2 1/2] tests/kms_content_protection: Bifurcate tests into HDCP1.4 & 2.2 Ankit Nautiyal
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Ankit Nautiyal @ 2020-06-08 10:13 UTC (permalink / raw)
To: igt-dev; +Cc: jani.nikula, petri.latvala, martin.peres
This patch series adds support for testing HDCP1.4 and HDCP2.2 version.
This is continuation of the earlier patch series:
https://patchwork.freedesktop.org/patch/358240/
It also enhances the IGT to test the cases, where SRM table is not
present.
Ankit Nautiyal (2):
tests/kms_content_protection: Bifurcate tests into HDCP1.4 & 2.2
tests/kms_content_protection: Remove pre-existing SRM table before the
test
tests/kms_content_protection.c | 235 ++++++++++++++++++++++-----------
1 file changed, 161 insertions(+), 74 deletions(-)
--
2.17.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 6+ messages in thread* [igt-dev] [Patch][i-g-t v2 1/2] tests/kms_content_protection: Bifurcate tests into HDCP1.4 & 2.2 2020-06-08 10:13 [igt-dev] [Patch][i-g-t v2 0/2] tests/kms_content_protection: Enhancements Ankit Nautiyal @ 2020-06-08 10:13 ` Ankit Nautiyal 2020-06-08 10:13 ` [igt-dev] [Patch][i-g-t v2 2/2] tests/kms_content_protection: Remove pre-existing SRM table before the test Ankit Nautiyal ` (2 subsequent siblings) 3 siblings, 0 replies; 6+ messages in thread From: Ankit Nautiyal @ 2020-06-08 10:13 UTC (permalink / raw) To: igt-dev; +Cc: jani.nikula, petri.latvala, martin.peres Currently, the test kms_content_protection does not distinguish between HDCP1.4 and HDCP2.2 tests. Since the driver by default always chooses HDCP2.2 protocol if the panel supports HDCP1.4 & HDCP2.2, HDCP1.4 does not get tested. This patch makes two versions of the existing subtests for testing HDCP1.4 and HDCP2.2. For making sure that the required HDCP version is chosen by the kernel, the test utilizes the debugfs 'i915_hdcp_version_request' for each HDCP supporting connector. The desired HDCP version is written via the debugfs and is considered by the kernel, if the platform and the panel support that HDCP version. This patch also makes the existing subtests as dynamic sub-subtests based on all outputs supporting the protocol under test. v2: Avoid re-opening and closing of debugfs and remove unnecessary variables (Ramalingam) Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com> --- tests/kms_content_protection.c | 225 ++++++++++++++++++++++----------- 1 file changed, 153 insertions(+), 72 deletions(-) diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c index 3b9cedcb..1c34069e 100644 --- a/tests/kms_content_protection.c +++ b/tests/kms_content_protection.c @@ -59,6 +59,9 @@ struct data { #define HDCP_CONTENT_TYPE_0 0 #define HDCP_CONTENT_TYPE_1 1 +#define HDCP_14 1 +#define HDCP_22 2 + #define LIC_PERIOD_MSEC (4 * 1000) /* Kernel retry count=3, Max time per authentication allowed = 6Sec */ #define KERNEL_AUTH_TIME_ALLOWED_MSEC (3 * 6 * 1000) @@ -593,44 +596,6 @@ static bool sink_hdcp2_capable(igt_output_t *output) return strstr(buf, "HDCP2.2"); } -static void -test_content_protection(enum igt_commit_style s, int content_type) -{ - igt_display_t *display = &data.display; - igt_output_t *output; - int valid_tests = 0; - - if (data.cp_tests & CP_MEI_RELOAD) - igt_require_f(igt_kmod_is_loaded("mei_hdcp"), - "mei_hdcp module is not loaded\n"); - - for_each_connected_output(display, output) { - if (!output->props[IGT_CONNECTOR_CONTENT_PROTECTION]) - continue; - - if (!output->props[IGT_CONNECTOR_HDCP_CONTENT_TYPE] && - content_type) - continue; - - igt_info("CP Test execution on %s\n", output->name); - - if (content_type && !sink_hdcp2_capable(output)) { - igt_info("\tSkip %s (Sink has no HDCP2.2 support)\n", - output->name); - continue; - } else if (!sink_hdcp_capable(output)) { - igt_info("\tSkip %s (Sink has no HDCP support)\n", - output->name); - continue; - } - - test_content_protection_on_output(output, s, content_type); - valid_tests++; - } - - igt_require_f(valid_tests, "No connector found with HDCP capability\n"); -} - static void test_content_protection_cleanup(void) { igt_display_t *display = &data.display; @@ -651,58 +616,63 @@ static void test_content_protection_cleanup(void) } } -igt_main -{ - igt_fixture { - data.drm_fd = drm_open_driver_master(DRIVER_ANY); +static bool +is_valid_output(igt_output_t *output, int content_type) { + if (!output->props[IGT_CONNECTOR_CONTENT_PROTECTION]) + return false; - igt_display_require(&data.display, data.drm_fd); + if (!output->props[IGT_CONNECTOR_HDCP_CONTENT_TYPE] && content_type) + return false; + + if (content_type && !sink_hdcp2_capable(output)) { + igt_info("\tSkip %s (Sink has no HDCP2.2 support)\n", + output->name); + return false; + + } else if (!sink_hdcp_capable(output)) { + igt_info("\tSkip %s (Sink has no HDCP support)\n", + output->name); + return false; } + return true; +} + +static void +test_content_protection_dynamic(igt_output_t *output, int content_type) +{ - igt_subtest("legacy") { + igt_dynamic_f("legacy-%s", output->name) { data.cp_tests = 0; - test_content_protection(COMMIT_LEGACY, HDCP_CONTENT_TYPE_0); + test_content_protection_on_output(output, COMMIT_LEGACY, + content_type); } - igt_subtest("atomic") { + igt_dynamic_f("atomic-%s", output->name) { igt_require(data.display.is_atomic); data.cp_tests = 0; - test_content_protection(COMMIT_ATOMIC, HDCP_CONTENT_TYPE_0); + test_content_protection_on_output(output, COMMIT_ATOMIC, + content_type); } - igt_subtest("atomic-dpms") { + igt_dynamic_f("atomic-dpms-%s", output->name) { igt_require(data.display.is_atomic); data.cp_tests = CP_DPMS; - test_content_protection(COMMIT_ATOMIC, HDCP_CONTENT_TYPE_0); + test_content_protection_on_output(output, COMMIT_ATOMIC, + content_type); } - igt_subtest("LIC") { + igt_dynamic_f("LIC-%s", output->name) { igt_require(data.display.is_atomic); data.cp_tests = CP_LIC; - test_content_protection(COMMIT_ATOMIC, HDCP_CONTENT_TYPE_0); - } - - igt_subtest("type1") { - igt_require(data.display.is_atomic); - test_content_protection(COMMIT_ATOMIC, HDCP_CONTENT_TYPE_1); - } - - igt_subtest("mei_interface") { - igt_require(data.display.is_atomic); - data.cp_tests = CP_MEI_RELOAD; - test_content_protection(COMMIT_ATOMIC, HDCP_CONTENT_TYPE_1); - } - - igt_subtest("content_type_change") { - igt_require(data.display.is_atomic); - data.cp_tests = CP_TYPE_CHANGE; - test_content_protection(COMMIT_ATOMIC, HDCP_CONTENT_TYPE_1); + test_content_protection_on_output(output, COMMIT_ATOMIC, + content_type); } - igt_subtest("uevent") { + igt_dynamic_f("uevent-%s", output->name) { igt_require(data.display.is_atomic); data.cp_tests = CP_UEVENT; - test_content_protection(COMMIT_ATOMIC, HDCP_CONTENT_TYPE_0); + test_content_protection_on_output(output, COMMIT_ATOMIC, + content_type); } /* @@ -713,7 +683,7 @@ igt_main * either of these options, we test SRM writing from userspace and * validation of the same at kernel. Something is better than nothing. */ - igt_subtest("srm") { + igt_dynamic_f("srm-%s", output->name) { bool ret; igt_require(data.display.is_atomic); @@ -721,7 +691,118 @@ igt_main ret = write_srm_as_fw((const __u8 *)facsimile_srm, sizeof(facsimile_srm)); igt_assert_f(ret, "SRM update failed"); - test_content_protection(COMMIT_ATOMIC, HDCP_CONTENT_TYPE_0); + test_content_protection_on_output(output, COMMIT_ATOMIC, + content_type); + } + + /* + * The tests mei_interface and content_type_change are meant only + * for HDCP2.2 protocol, hence ignore for HDCP1.4. + */ + if (content_type != HDCP_CONTENT_TYPE_1) + return; + + igt_dynamic_f("mei_interface-%s", output->name) { + igt_require(data.display.is_atomic); + data.cp_tests = CP_MEI_RELOAD; + test_content_protection_on_output(output, COMMIT_ATOMIC, + content_type); + } + + igt_dynamic_f("content_type_change-%s", output->name) { + igt_require(data.display.is_atomic); + data.cp_tests = CP_TYPE_CHANGE; + test_content_protection_on_output(output, COMMIT_ATOMIC, + content_type); + } +} + +static int request_hdcp_ver(igt_output_t *output, unsigned int hdcp_ver) +{ + char wrbuf[32] = {'0'}; + char rdbuf[32] = {'0'}; + char filename[128] = {'0'}; + char *read_ver_str; + int fd, ret = -1; + unsigned int rd_ver; + + fd = igt_debugfs_dir(data.drm_fd); + + if (fd < 0) { + igt_info("Failed to open debugfs dir ret = %d\n", errno); + return errno; + } + + strcpy(filename, output->name); + strcat(filename, "/i915_hdcp_version_request"); + + debugfs_read(fd, filename, rdbuf); + igt_debug("%s\n", rdbuf); + + read_ver_str = strstr(rdbuf, "HDCP_VER_FLAGS: "); + if (!read_ver_str) + goto req_pass; + + igt_debug("HDCP ver = %s\n", read_ver_str + strlen("HDCP_VER_FLAGS: ")); + + rd_ver = atoi(read_ver_str + strlen("HDCP_VER_FLAGS: ")); + if (rd_ver == hdcp_ver) + goto req_pass; + + snprintf(wrbuf, sizeof(wrbuf), "%d", hdcp_ver); + ret = igt_sysfs_write(fd, filename, wrbuf, 1); + if (ret <= 0) { + igt_info("Failed to write into debugfs ret = %d\n", ret); + goto req_fail; + } + +req_pass: + close(fd); + return 0; +req_fail: + close(fd); + return ret; +} + +igt_main +{ + int i; + struct cp_protocol { + const char *name; + int content_type; + unsigned int version; + } hdcp_protocol[] = { + { "hdcp-1_4", HDCP_CONTENT_TYPE_0, HDCP_14}, + { "hdcp-2_2", HDCP_CONTENT_TYPE_1, HDCP_22} }; + + igt_fixture { + data.drm_fd = drm_open_driver_master(DRIVER_ANY); + + igt_display_require(&data.display, data.drm_fd); + } + + for (i = 0; i < ARRAY_SIZE(hdcp_protocol); i++) { + igt_subtest_with_dynamic_f("%s", hdcp_protocol[i].name) { + igt_output_t *output; + int content_type = hdcp_protocol[i].content_type; + + for_each_connected_output(&data.display, output) { + int ret; + + if (!is_valid_output(output, content_type)) + continue; + ret = request_hdcp_ver(output, + hdcp_protocol[i].version); + if (ret) { + igt_info("Cannot set the required version for %s\n", + output->name); + continue; + } + test_content_protection_dynamic(output, + content_type); + + } + } } igt_fixture { -- 2.17.1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [igt-dev] [Patch][i-g-t v2 2/2] tests/kms_content_protection: Remove pre-existing SRM table before the test 2020-06-08 10:13 [igt-dev] [Patch][i-g-t v2 0/2] tests/kms_content_protection: Enhancements Ankit Nautiyal 2020-06-08 10:13 ` [igt-dev] [Patch][i-g-t v2 1/2] tests/kms_content_protection: Bifurcate tests into HDCP1.4 & 2.2 Ankit Nautiyal @ 2020-06-08 10:13 ` Ankit Nautiyal 2020-06-08 11:46 ` [igt-dev] ✗ Fi.CI.BAT: failure for tests/kms_content_protection: Enhancements (rev3) Patchwork 2020-06-11 8:26 ` [igt-dev] ✗ GitLab.Pipeline: " Patchwork 3 siblings, 0 replies; 6+ messages in thread From: Ankit Nautiyal @ 2020-06-08 10:13 UTC (permalink / raw) To: igt-dev; +Cc: jani.nikula, petri.latvala, martin.peres This is to check the case with missing SRM, which should be treated as device with no revoked keys. Kernel patch fixing such a bug : https://patchwork.freedesktop.org/patch/361346/?series=75939&rev=2 Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com> Reviewed-by: Ramalingam C <ramalingam.c@intel.com> --- tests/kms_content_protection.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c index 1c34069e..872f686f 100644 --- a/tests/kms_content_protection.c +++ b/tests/kms_content_protection.c @@ -75,6 +75,8 @@ __u8 facsimile_srm[] = { 0x83, 0xAA, 0xC2, 0x5B, 0x24, 0xB3, 0x36, 0x84, 0x94, 0x75, 0x34, 0xDB, 0x10, 0x9E, 0x3B, 0x23, 0x13, 0xD8, 0x7A, 0xC2, 0x30, 0x79, 0x84}; +const char *srm_fw = "/lib/firmware/display_hdcp_srm.bin"; + static void flip_handler(int fd, unsigned int sequence, unsigned int tv_sec, unsigned int tv_usec, void *_data) { @@ -438,8 +440,7 @@ static bool write_srm_as_fw(const __u8 *srm, int len) { int fd, ret, total = 0; - fd = open("/lib/firmware/display_hdcp_srm.bin", - O_WRONLY | O_CREAT, S_IRWXU); + fd = open(srm_fw, O_WRONLY | O_CREAT, S_IRWXU); do { ret = write(fd, srm + total, len - total); if (ret < 0) @@ -779,6 +780,11 @@ igt_main data.drm_fd = drm_open_driver_master(DRIVER_ANY); igt_display_require(&data.display, data.drm_fd); + + /* Remove pre-existing srm table */ + if (access(srm_fw, F_OK) == 0) + igt_assert_f(!remove(srm_fw), + "Failed to delete previous srm table\n"); } for (i = 0; i < ARRAY_SIZE(hdcp_protocol); i++) { -- 2.17.1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [igt-dev] ✗ Fi.CI.BAT: failure for tests/kms_content_protection: Enhancements (rev3) 2020-06-08 10:13 [igt-dev] [Patch][i-g-t v2 0/2] tests/kms_content_protection: Enhancements Ankit Nautiyal 2020-06-08 10:13 ` [igt-dev] [Patch][i-g-t v2 1/2] tests/kms_content_protection: Bifurcate tests into HDCP1.4 & 2.2 Ankit Nautiyal 2020-06-08 10:13 ` [igt-dev] [Patch][i-g-t v2 2/2] tests/kms_content_protection: Remove pre-existing SRM table before the test Ankit Nautiyal @ 2020-06-08 11:46 ` Patchwork 2020-06-11 8:26 ` [igt-dev] ✗ GitLab.Pipeline: " Patchwork 3 siblings, 0 replies; 6+ messages in thread From: Patchwork @ 2020-06-08 11:46 UTC (permalink / raw) To: Ankit Nautiyal; +Cc: igt-dev == Series Details == Series: tests/kms_content_protection: Enhancements (rev3) URL : https://patchwork.freedesktop.org/series/77694/ State : failure == Summary == CI Bug Log - changes from CI_DRM_8600 -> IGTPW_4656 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_4656 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_4656, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4656/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_4656: ### IGT changes ### #### Possible regressions #### * igt@i915_selftest@live@memory_region: - fi-skl-lmem: [PASS][1] -> [INCOMPLETE][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8600/fi-skl-lmem/igt@i915_selftest@live@memory_region.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4656/fi-skl-lmem/igt@i915_selftest@live@memory_region.html Known issues ------------ Here are the changes found in IGTPW_4656 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_pm_rpm@basic-pci-d3-state: - fi-byt-n2820: [PASS][3] -> [DMESG-WARN][4] ([i915#1982]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8600/fi-byt-n2820/igt@i915_pm_rpm@basic-pci-d3-state.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4656/fi-byt-n2820/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@kms_chamelium@hdmi-hpd-fast: - fi-kbl-7500u: [PASS][5] -> [DMESG-FAIL][6] ([i915#165]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8600/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4656/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html #### Possible fixes #### * igt@gem_exec_suspend@basic-s0: - fi-glk-dsi: [DMESG-WARN][7] ([i915#1982]) -> [PASS][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8600/fi-glk-dsi/igt@gem_exec_suspend@basic-s0.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4656/fi-glk-dsi/igt@gem_exec_suspend@basic-s0.html * igt@i915_pm_rpm@basic-pci-d3-state: - {fi-tgl-dsi}: [DMESG-WARN][9] ([i915#1982]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8600/fi-tgl-dsi/igt@i915_pm_rpm@basic-pci-d3-state.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4656/fi-tgl-dsi/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - fi-icl-u2: [DMESG-WARN][11] ([i915#1982]) -> [PASS][12] +1 similar issue [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8600/fi-icl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4656/fi-icl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html #### Warnings #### * igt@i915_pm_rpm@basic-pci-d3-state: - fi-kbl-x1275: [DMESG-WARN][13] ([i915#62] / [i915#92]) -> [DMESG-WARN][14] ([i915#95]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8600/fi-kbl-x1275/igt@i915_pm_rpm@basic-pci-d3-state.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4656/fi-kbl-x1275/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@i915_pm_rpm@basic-rte: - fi-kbl-guc: [SKIP][15] ([fdo#109271]) -> [FAIL][16] ([i915#579]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8600/fi-kbl-guc/igt@i915_pm_rpm@basic-rte.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4656/fi-kbl-guc/igt@i915_pm_rpm@basic-rte.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - fi-kbl-x1275: [DMESG-WARN][17] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][18] ([i915#62] / [i915#92]) +2 similar issues [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8600/fi-kbl-x1275/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4656/fi-kbl-x1275/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_cursor_legacy@basic-flip-before-cursor-atomic: - fi-kbl-x1275: [DMESG-WARN][19] ([i915#62] / [i915#92]) -> [DMESG-WARN][20] ([i915#62] / [i915#92] / [i915#95]) +4 similar issues [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8600/fi-kbl-x1275/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4656/fi-kbl-x1275/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [i915#165]: https://gitlab.freedesktop.org/drm/intel/issues/165 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#579]: https://gitlab.freedesktop.org/drm/intel/issues/579 [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62 [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 Participating hosts (49 -> 41) ------------------------------ Missing (8): fi-ilk-m540 fi-byt-j1900 fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-kbl-7560u fi-byt-clapper fi-bdw-samus Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5699 -> IGTPW_4656 CI-20190529: 20190529 CI_DRM_8600: 9232911f67be3d072e5bd6ff0eb4d8e8281f5c5f @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_4656: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4656/index.html IGT_5699: 201da47cb57b8fadd9bc45be16b82617b32a2c01 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Testlist changes == +igt@kms_content_protection@hdcp-1_4 +igt@kms_content_protection@hdcp-2_2 -igt@kms_content_protection@atomic -igt@kms_content_protection@atomic-dpms -igt@kms_content_protection@content_type_change -igt@kms_content_protection@legacy -igt@kms_content_protection@lic -igt@kms_content_protection@mei_interface -igt@kms_content_protection@srm -igt@kms_content_protection@type1 -igt@kms_content_protection@uevent == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4656/index.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 6+ messages in thread
* [igt-dev] ✗ GitLab.Pipeline: failure for tests/kms_content_protection: Enhancements (rev3) 2020-06-08 10:13 [igt-dev] [Patch][i-g-t v2 0/2] tests/kms_content_protection: Enhancements Ankit Nautiyal ` (2 preceding siblings ...) 2020-06-08 11:46 ` [igt-dev] ✗ Fi.CI.BAT: failure for tests/kms_content_protection: Enhancements (rev3) Patchwork @ 2020-06-11 8:26 ` Patchwork 3 siblings, 0 replies; 6+ messages in thread From: Patchwork @ 2020-06-11 8:26 UTC (permalink / raw) To: Ankit Nautiyal; +Cc: igt-dev == Series Details == Series: tests/kms_content_protection: Enhancements (rev3) URL : https://patchwork.freedesktop.org/series/77694/ State : failure == Summary == ERROR! This series introduces new undocumented tests: kms_content_protection@hdcp-1_4 kms_content_protection@hdcp-2_2 Can you document them as per the requirement in the [CONTRIBUTING.md]? [Documentation] has more details on how to do this. Here are few examples: https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/0316695d03aa46108296b27f3982ec93200c7a6e https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/443cc658e1e6b492ee17bf4f4d891029eb7a205d Thanks in advance! [CONTRIBUTING.md]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/blob/master/CONTRIBUTING.md#L19 [Documentation]: https://drm.pages.freedesktop.org/igt-gpu-tools/igt-gpu-tools-Core.html#igt-describe Other than that, pipeline status: SUCCESS. see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/157521 for the overview. == Logs == For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/157521 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 6+ messages in thread
* [igt-dev] [Patch][i-g-t v2 0/2] tests/kms_content_protection:
@ 2020-06-08 8:56 Ankit Nautiyal
2020-06-08 8:56 ` [igt-dev] [Patch][i-g-t v2 2/2] tests/kms_content_protection: Remove pre-existing SRM table before the test Ankit Nautiyal
0 siblings, 1 reply; 6+ messages in thread
From: Ankit Nautiyal @ 2020-06-08 8:56 UTC (permalink / raw)
To: igt-dev; +Cc: jani.nikula, petri.latvala, martin.peres
This patch series adds support for testing HDCP1.4 and HDCP2.2 version.
This is continuation of the earlier patch series:
https://patchwork.freedesktop.org/patch/358240/
It also enhances the IGT to test the cases, where SRM table is not
present.
Ankit Nautiyal (2):
tests/kms_content_protection: Bifurcate tests into HDCP1.4 & 2.2
tests/kms_content_protection: Remove pre-existing SRM table before the
test
tests/kms_content_protection.c | 235 ++++++++++++++++++++++-----------
1 file changed, 161 insertions(+), 74 deletions(-)
--
2.17.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 6+ messages in thread* [igt-dev] [Patch][i-g-t v2 2/2] tests/kms_content_protection: Remove pre-existing SRM table before the test 2020-06-08 8:56 [igt-dev] [Patch][i-g-t v2 0/2] tests/kms_content_protection: Ankit Nautiyal @ 2020-06-08 8:56 ` Ankit Nautiyal 0 siblings, 0 replies; 6+ messages in thread From: Ankit Nautiyal @ 2020-06-08 8:56 UTC (permalink / raw) To: igt-dev; +Cc: jani.nikula, petri.latvala, martin.peres This is to check the case with missing SRM, which should be treated as device with no revoked keys. Kernel patch fixing such a bug : https://patchwork.freedesktop.org/patch/361346/?series=75939&rev=2 Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com> Reviewed-by: Ramalingam C <ramalingam.c@intel.com> --- tests/kms_content_protection.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c index 1c34069e..872f686f 100644 --- a/tests/kms_content_protection.c +++ b/tests/kms_content_protection.c @@ -75,6 +75,8 @@ __u8 facsimile_srm[] = { 0x83, 0xAA, 0xC2, 0x5B, 0x24, 0xB3, 0x36, 0x84, 0x94, 0x75, 0x34, 0xDB, 0x10, 0x9E, 0x3B, 0x23, 0x13, 0xD8, 0x7A, 0xC2, 0x30, 0x79, 0x84}; +const char *srm_fw = "/lib/firmware/display_hdcp_srm.bin"; + static void flip_handler(int fd, unsigned int sequence, unsigned int tv_sec, unsigned int tv_usec, void *_data) { @@ -438,8 +440,7 @@ static bool write_srm_as_fw(const __u8 *srm, int len) { int fd, ret, total = 0; - fd = open("/lib/firmware/display_hdcp_srm.bin", - O_WRONLY | O_CREAT, S_IRWXU); + fd = open(srm_fw, O_WRONLY | O_CREAT, S_IRWXU); do { ret = write(fd, srm + total, len - total); if (ret < 0) @@ -779,6 +780,11 @@ igt_main data.drm_fd = drm_open_driver_master(DRIVER_ANY); igt_display_require(&data.display, data.drm_fd); + + /* Remove pre-existing srm table */ + if (access(srm_fw, F_OK) == 0) + igt_assert_f(!remove(srm_fw), + "Failed to delete previous srm table\n"); } for (i = 0; i < ARRAY_SIZE(hdcp_protocol); i++) { -- 2.17.1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-06-11 8:26 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-06-08 10:13 [igt-dev] [Patch][i-g-t v2 0/2] tests/kms_content_protection: Enhancements Ankit Nautiyal 2020-06-08 10:13 ` [igt-dev] [Patch][i-g-t v2 1/2] tests/kms_content_protection: Bifurcate tests into HDCP1.4 & 2.2 Ankit Nautiyal 2020-06-08 10:13 ` [igt-dev] [Patch][i-g-t v2 2/2] tests/kms_content_protection: Remove pre-existing SRM table before the test Ankit Nautiyal 2020-06-08 11:46 ` [igt-dev] ✗ Fi.CI.BAT: failure for tests/kms_content_protection: Enhancements (rev3) Patchwork 2020-06-11 8:26 ` [igt-dev] ✗ GitLab.Pipeline: " Patchwork -- strict thread matches above, loose matches on Subject: below -- 2020-06-08 8:56 [igt-dev] [Patch][i-g-t v2 0/2] tests/kms_content_protection: Ankit Nautiyal 2020-06-08 8:56 ` [igt-dev] [Patch][i-g-t v2 2/2] tests/kms_content_protection: Remove pre-existing SRM table before the test Ankit Nautiyal
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox