[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