[PATCH v3 12/40] misc/mei/hdcp: Initiate Locality check
kbuild test robot
lkp at intel.com
Tue Apr 3 23:02:17 UTC 2018
Hi Ramalingam,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR 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
config: i386-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All errors (new ones prefixed by >>):
drivers/misc/mei/hdcp/mei_hdcp.c:52:5: error: redefinition of 'mei_initiate_hdcp2_session'
int mei_initiate_hdcp2_session(struct mei_cl_device *cldev,
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/misc/mei/hdcp/mei_hdcp.c:35:0:
include/linux/mei_hdcp.h:137:5: note: previous definition of 'mei_initiate_hdcp2_session' was here
int mei_initiate_hdcp2_session(struct mei_cl_device *cldev,
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/misc/mei/hdcp/mei_hdcp.c:122:1: error: redefinition of 'mei_verify_receiver_cert_prepare_km'
mei_verify_receiver_cert_prepare_km(struct mei_cl_device *cldev,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/misc/mei/hdcp/mei_hdcp.c:35:0:
include/linux/mei_hdcp.h:144:1: note: previous definition of 'mei_verify_receiver_cert_prepare_km' was here
mei_verify_receiver_cert_prepare_km(struct mei_cl_device *cldev,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/misc/mei/hdcp/mei_hdcp.c:200:5: error: redefinition of 'mei_verify_hprime'
int mei_verify_hprime(struct mei_cl_device *cldev, struct mei_hdcp_data *data,
^~~~~~~~~~~~~~~~~
In file included from drivers/misc/mei/hdcp/mei_hdcp.c:35:0:
include/linux/mei_hdcp.h:154:5: note: previous definition of 'mei_verify_hprime' was here
int mei_verify_hprime(struct mei_cl_device *cldev, struct mei_hdcp_data *data,
^~~~~~~~~~~~~~~~~
drivers/misc/mei/hdcp/mei_hdcp.c:258:5: error: redefinition of 'mei_store_pairing_info'
int mei_store_pairing_info(struct mei_cl_device *cldev,
^~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/misc/mei/hdcp/mei_hdcp.c:35:0:
include/linux/mei_hdcp.h:160:5: note: previous definition of 'mei_store_pairing_info' was here
int mei_store_pairing_info(struct mei_cl_device *cldev,
^~~~~~~~~~~~~~~~~~~~~~
>> drivers/misc/mei/hdcp/mei_hdcp.c:318:5: error: redefinition of 'mei_initiate_locality_check'
int mei_initiate_locality_check(struct mei_cl_device *cldev,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/misc/mei/hdcp/mei_hdcp.c:35:0:
include/linux/mei_hdcp.h:167:5: note: previous definition of 'mei_initiate_locality_check' was here
int mei_initiate_locality_check(struct mei_cl_device *cldev,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/misc/mei/hdcp/mei_hdcp.c:374:5: error: redefinition of 'mei_cldev_register_notify'
int mei_cldev_register_notify(struct notifier_block *nb)
^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/misc/mei/hdcp/mei_hdcp.c:35:0:
include/linux/mei_hdcp.h:128:12: note: previous definition of 'mei_cldev_register_notify' was here
static int mei_cldev_register_notify(struct notifier_block *nb)
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/misc/mei/hdcp/mei_hdcp.c:380:5: error: redefinition of 'mei_cldev_unregister_notify'
int mei_cldev_unregister_notify(struct notifier_block *nb)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/misc/mei/hdcp/mei_hdcp.c:35:0:
include/linux/mei_hdcp.h:132:12: note: previous definition of 'mei_cldev_unregister_notify' was here
static int mei_cldev_unregister_notify(struct notifier_block *nb)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mei_hdcp.h:132:12: warning: 'mei_cldev_unregister_notify' defined but not used [-Wunused-function]
include/linux/mei_hdcp.h:128:12: warning: 'mei_cldev_register_notify' defined but not used [-Wunused-function]
static int mei_cldev_register_notify(struct notifier_block *nb)
^~~~~~~~~~~~~~~~~~~~~~~~~
vim +/mei_initiate_locality_check +318 drivers/misc/mei/hdcp/mei_hdcp.c
246
247 /**
248 * mei_store_pairing_info:
249 * Function to store pairing info received from panel
250 *
251 * @cldev : Pointer for mei client device
252 * @data : Intel HW specific Data
253 * @pairing_info : Pointer for AKE_Send_Pairing_Info
254 *
255 * Returns 0 on Success, <0 on Failure
256 */
257
> 258 int mei_store_pairing_info(struct mei_cl_device *cldev,
259 struct mei_hdcp_data *data,
260 struct hdcp2_ake_send_pairing_info *pairing_info)
261 {
262 struct wired_cmd_ake_send_pairing_info_in pairing_info_in = { { 0 } };
263 struct wired_cmd_ake_send_pairing_info_out pairing_info_out = { { 0 } };
264 struct device *dev;
265 ssize_t byte;
266
267 if (!data || !pairing_info)
268 return -EINVAL;
269
270 dev = &cldev->dev;
271
272 pairing_info_in.header.api_version = HDCP_API_VERSION;
273 pairing_info_in.header.command_id = WIRED_AKE_SEND_PAIRING_INFO;
274 pairing_info_in.header.status = ME_HDCP_STATUS_SUCCESS;
275 pairing_info_in.header.buffer_len =
276 WIRED_CMD_BUF_LEN_SEND_PAIRING_INFO_IN;
277
278 pairing_info_in.port.integrated_port_type = data->port_type;
279 pairing_info_in.port.physical_port = data->port;
280
281 memcpy(pairing_info_in.e_kh_km, pairing_info->e_kh_km,
282 sizeof(pairing_info_in.e_kh_km));
283
284 byte = mei_cldev_send(cldev, (u8 *)&pairing_info_in,
285 sizeof(pairing_info_in));
286 if (byte < 0) {
287 dev_dbg(dev, "mei_cldev_send failed. %d\n", (int)byte);
288 return byte;
289 }
290
291 byte = mei_cldev_recv(cldev, (u8 *)&pairing_info_out,
292 sizeof(pairing_info_out));
293 if (byte < 0) {
294 dev_dbg(dev, "mei_cldev_recv failed. %d\n", (int)byte);
295 return byte;
296 }
297
298 if (pairing_info_out.header.status != ME_HDCP_STATUS_SUCCESS) {
299 dev_dbg(dev, "ME cmd 0x%08X failed. Status: 0x%X\n",
300 WIRED_AKE_SEND_PAIRING_INFO,
301 pairing_info_out.header.status);
302 return -1;
303 }
304 return 0;
305 }
306 EXPORT_SYMBOL(mei_store_pairing_info);
307
308 /**
309 * mei_initiate_locality_check:
310 * Function to prepare LC_Init.
311 *
312 * @cldev : Pointer for mei client device
313 * @data : Intel HW specific Data
314 * @hdcp2_lc_init : Pointer for storing LC_Init
315 *
316 * Returns 0 on Success, <0 on Failure
317 */
> 318 int mei_initiate_locality_check(struct mei_cl_device *cldev,
319 struct mei_hdcp_data *data,
320 struct hdcp2_lc_init *lc_init_data)
321 {
322 struct wired_cmd_init_locality_check_in lc_init_in = { { 0 } };
323 struct wired_cmd_init_locality_check_out lc_init_out = { { 0 } };
324 struct device *dev;
325 ssize_t byte;
326
327 if (!data || !lc_init_data)
328 return -EINVAL;
329
330 dev = &cldev->dev;
331
332 lc_init_in.header.api_version = HDCP_API_VERSION;
333 lc_init_in.header.command_id = WIRED_INIT_LOCALITY_CHECK;
334 lc_init_in.header.status = ME_HDCP_STATUS_SUCCESS;
335 lc_init_in.header.buffer_len = WIRED_CMD_BUF_LEN_INIT_LOCALITY_CHECK_IN;
336
337 lc_init_in.port.integrated_port_type = data->port_type;
338 lc_init_in.port.physical_port = data->port;
339
340 byte = mei_cldev_send(cldev, (u8 *)&lc_init_in, sizeof(lc_init_in));
341 if (byte < 0) {
342 dev_dbg(dev, "mei_cldev_send failed. %d\n", (int)byte);
343 return byte;
344 }
345
346 byte = mei_cldev_recv(cldev, (u8 *)&lc_init_out, sizeof(lc_init_out));
347 if (byte < 0) {
348 dev_dbg(dev, "mei_cldev_recv failed. %d\n", (int)byte);
349 return byte;
350 }
351
352 if (lc_init_out.header.status != ME_HDCP_STATUS_SUCCESS) {
353 dev_dbg(dev, "ME cmd 0x%08X Failed. status: 0x%X\n",
354 WIRED_INIT_LOCALITY_CHECK, lc_init_out.header.status);
355 return -1;
356 }
357
358 lc_init_data->msg_id = HDCP_2_2_LC_INIT;
359 memcpy(lc_init_data->r_n, lc_init_out.r_n, HDCP_2_2_RN_LEN);
360 return 0;
361 }
362 EXPORT_SYMBOL(mei_initiate_locality_check);
363
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 63097 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20180404/72537460/attachment-0001.gz>
More information about the dri-devel
mailing list