[igt-dev] [Patch][i-g-t v2 2/2] tests/kms_content_protection: Remove pre-existing SRM table before the test

Ankit Nautiyal ankit.k.nautiyal at intel.com
Mon Jun 8 08:56:21 UTC 2020


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 at intel.com>
Reviewed-by: Ramalingam C <ramalingam.c at 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



More information about the igt-dev mailing list