[Intel-gfx] [PATCH v3 24/40] drm/i915: Implement HDCP2.2 repeater authentication
kbuild test robot
lkp at intel.com
Wed Apr 4 01:11:37 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 next-20180403]
[cannot apply to v4.16]
[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/20180404-031743
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/intel_hdcp.c:1182: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:1182:30: expected restricted __be16 [assigned] [usertype] k
drivers/gpu/drm/i915/intel_hdcp.c:1182:30: got int
drivers/gpu/drm/i915/intel_hdcp.c:1277:12: warning: 'hdcp2_authenticate_sink' defined but not used [-Wunused-function]
static int hdcp2_authenticate_sink(struct intel_connector *connector)
^~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/i915/intel_hdcp.c:13:0:
include/linux/mei_hdcp.h:148:12: warning: 'mei_cldev_unregister_notify' defined but not used [-Wunused-function]
static int mei_cldev_unregister_notify(struct notifier_block *nb)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mei_hdcp.h:144:12: warning: 'mei_cldev_register_notify' defined but not used [-Wunused-function]
static int mei_cldev_register_notify(struct notifier_block *nb)
^~~~~~~~~~~~~~~~~~~~~~~~~
vim +1182 drivers/gpu/drm/i915/intel_hdcp.c
1163
1164 static
1165 int hdcp2_propagate_stream_management_info(struct intel_connector *connector)
1166 {
1167 struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
1168 struct intel_hdcp *hdcp = &connector->hdcp;
1169 union {
1170 struct hdcp2_rep_stream_manage stream_manage;
1171 struct hdcp2_rep_stream_ready stream_ready;
1172 } msgs;
1173 const struct intel_hdcp_shim *shim = hdcp->hdcp_shim;
1174 int ret;
1175
1176 /* Prepare RepeaterAuth_Stream_Manage msg */
1177 msgs.stream_manage.msg_id = HDCP_2_2_REP_STREAM_MANAGE;
1178 reverse_endianness(msgs.stream_manage.seq_num_m, HDCP_2_2_SEQ_NUM_LEN,
1179 (u8 *)&hdcp->seq_num_m);
1180
1181 /* K no of streams is fixed as 1. Stored as big-endian. */
> 1182 msgs.stream_manage.k = __swab16(1);
1183
1184 /* For HDMI this is forced to be 0x0. For DP SST also this is 0x0. */
1185 msgs.stream_manage.streams[0].stream_id = 0;
1186 msgs.stream_manage.streams[0].stream_type = hdcp->content_type;
1187
1188 /* Send it to Repeater */
1189 ret = shim->write_2_2_msg(intel_dig_port, &msgs.stream_manage,
1190 sizeof(msgs.stream_manage));
1191 if (ret < 0)
1192 return ret;
1193
1194 ret = shim->read_2_2_msg(intel_dig_port, HDCP_2_2_REP_STREAM_READY,
1195 &msgs.stream_ready, sizeof(msgs.stream_ready));
1196 if (ret < 0)
1197 return ret;
1198
1199 hdcp->mei_data.seq_num_m = hdcp->seq_num_m;
1200 hdcp->mei_data.streams[0].stream_type = hdcp->content_type;
1201
1202 ret = hdcp2_verify_mprime(hdcp, &msgs.stream_ready);
1203 if (ret < 0)
1204 return ret;
1205
1206 hdcp->seq_num_m++;
1207
1208 if (hdcp->seq_num_m > HDCP_2_2_SEQ_NUM_MAX) {
1209 DRM_DEBUG_KMS("seq_num_m roll over.\n");
1210 return -1;
1211 }
1212 return 0;
1213 }
1214
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
More information about the Intel-gfx
mailing list