[PATCH v5 16/40] drm/i915: Implement HDCP2.2 repeater authentication
kbuild test robot
lkp at intel.com
Wed Jun 27 14:23:45 UTC 2018
Hi Ramalingam,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on v4.18-rc2 next-20180627]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Ramalingam-C/drm-i915-Implement-HDCP2-2/20180627-174219
base: git://anongit.freedesktop.org/drm-intel for-linux-next
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__
sparse warnings: (new ones prefixed by >>)
drivers/gpu/drm/i915/i915_drv.h:3674:16: sparse: expression using sizeof(void)
>> drivers/gpu/drm/i915/intel_hdcp.c:1451:30: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [assigned] [usertype] k @@ got e] k @@
drivers/gpu/drm/i915/intel_hdcp.c:1451:30: expected restricted __be16 [assigned] [usertype] k
drivers/gpu/drm/i915/intel_hdcp.c:1451:30: got int
drivers/gpu/drm/i915/intel_hdcp.c:1890:6: sparse: symbol 'is_hdcp2_supported' was not declared. Should it be static?
vim +1451 drivers/gpu/drm/i915/intel_hdcp.c
1432
1433 static
1434 int hdcp2_propagate_stream_management_info(struct intel_connector *connector)
1435 {
1436 struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
1437 struct intel_hdcp *hdcp = &connector->hdcp;
1438 union {
1439 struct hdcp2_rep_stream_manage stream_manage;
1440 struct hdcp2_rep_stream_ready stream_ready;
1441 } msgs;
1442 const struct intel_hdcp_shim *shim = hdcp->hdcp_shim;
1443 int ret;
1444
1445 /* Prepare RepeaterAuth_Stream_Manage msg */
1446 msgs.stream_manage.msg_id = HDCP_2_2_REP_STREAM_MANAGE;
1447 reverse_endianness(msgs.stream_manage.seq_num_m, HDCP_2_2_SEQ_NUM_LEN,
1448 (u8 *)&hdcp->seq_num_m);
1449
1450 /* K no of streams is fixed as 1. Stored as big-endian. */
> 1451 msgs.stream_manage.k = __swab16(1);
1452
1453 /* For HDMI this is forced to be 0x0. For DP SST also this is 0x0. */
1454 msgs.stream_manage.streams[0].stream_id = 0;
1455 msgs.stream_manage.streams[0].stream_type = hdcp->content_type;
1456
1457 /* Send it to Repeater */
1458 ret = shim->write_2_2_msg(intel_dig_port, &msgs.stream_manage,
1459 sizeof(msgs.stream_manage));
1460 if (ret < 0)
1461 return ret;
1462
1463 ret = shim->read_2_2_msg(intel_dig_port, HDCP_2_2_REP_STREAM_READY,
1464 &msgs.stream_ready, sizeof(msgs.stream_ready));
1465 if (ret < 0)
1466 return ret;
1467
1468 hdcp->mei_data.seq_num_m = hdcp->seq_num_m;
1469 hdcp->mei_data.streams[0].stream_type = hdcp->content_type;
1470
1471 ret = hdcp2_verify_mprime(connector, &msgs.stream_ready);
1472 if (ret < 0)
1473 return ret;
1474
1475 hdcp->seq_num_m++;
1476
1477 if (hdcp->seq_num_m > HDCP_2_2_SEQ_NUM_MAX) {
1478 DRM_DEBUG_KMS("seq_num_m roll over.\n");
1479 return -1;
1480 }
1481
1482 return 0;
1483 }
1484
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
More information about the dri-devel
mailing list