> -----Original Message----- > From: C, Ramalingam > Sent: Wednesday, May 16, 2018 18:53 > To: Shankar, Uma <uma.shankar@xxxxxxxxx>; intel- > gfx@xxxxxxxxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx; > seanpaul@xxxxxxxxxxxx; daniel@xxxxxxxx; chris@xxxxxxxxxxxxxxxxxx; > jani.nikula@xxxxxxxxxxxxxxx; Winkler, Tomas <tomas.winkler@xxxxxxxxx>; > Usyskin, Alexander <alexander.usyskin@xxxxxxxxx> > Cc: Vivi, Rodrigo <rodrigo.vivi@xxxxxxxxx> > Subject: Re: [PATCH v3 11/40] misc/mei/hdcp: Store the HDCP > Pairing info > > > > On Wednesday 09 May 2018 03:58 PM, Shankar, Uma wrote: > > > >> -----Original Message----- > >> From: Intel-gfx [mailto:intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx] On > >> Behalf Of Ramalingam C > >> Sent: Tuesday, April 3, 2018 7:27 PM > >> To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx; > >> seanpaul@xxxxxxxxxxxx; daniel@xxxxxxxx; chris@xxxxxxxxxxxxxxxxxx; > >> jani.nikula@xxxxxxxxxxxxxxx; Winkler, Tomas > >> <tomas.winkler@xxxxxxxxx>; Usyskin, Alexander > >> <alexander.usyskin@xxxxxxxxx> > >> Cc: Vivi, Rodrigo <rodrigo.vivi@xxxxxxxxx> > >> Subject: [PATCH v3 11/40] misc/mei/hdcp: Store the HDCP > >> Pairing info > >> > >> Provides Pairing info to ME to store. > >> > >> Pairing is a process to fast track the subsequent authentication with > >> the same HDCP sink. > >> > >> On Success, received HDCP pairing info is stored in non-volatile memory > of ME. > >> > >> v2: > >> Rebased. > >> v3: > >> cldev is passed as first parameter [Tomas] > >> Redundant comments and cast are removed [Tomas] > >> > >> Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> > >> --- > >> drivers/misc/mei/hdcp/mei_hdcp.c | 61 > >> ++++++++++++++++++++++++++++++++++++++++ > >> include/linux/mei_hdcp.h | 10 +++++++ > >> 2 files changed, 71 insertions(+) > >> > >> diff --git a/drivers/misc/mei/hdcp/mei_hdcp.c > >> b/drivers/misc/mei/hdcp/mei_hdcp.c > >> index fa548310de7a..60afdd0cee79 100644 > >> --- a/drivers/misc/mei/hdcp/mei_hdcp.c > >> +++ b/drivers/misc/mei/hdcp/mei_hdcp.c > >> @@ -244,6 +244,67 @@ int mei_verify_hprime(struct mei_cl_device > >> *cldev, struct mei_hdcp_data *data, } > >> EXPORT_SYMBOL(mei_verify_hprime); > >> > >> +/** > > Drop the extra *, unless you really love it :) > ha ha. Actually I have added intentionally. But removing them across all > patches as per your suggestions. :) /** is a syntax for KDoc, so if you want to receive automatic code documentation you should use it and adhere to KDoc syntax > > > >> + * mei_store_pairing_info: > >> + * Function to store pairing info received from panel > >> + * > >> + * @cldev : Pointer for mei client device > >> + * @data : Intel HW specific Data > >> + * @pairing_info : Pointer for AKE_Send_Pairing_Info > >> + * > >> + * Returns 0 on Success, <0 on Failure */ > >> + > >> +int mei_store_pairing_info(struct mei_cl_device *cldev, > >> + struct mei_hdcp_data *data, > >> + struct hdcp2_ake_send_pairing_info *pairing_info) > { > >> + struct wired_cmd_ake_send_pairing_info_in pairing_info_in = { { 0 } > }; > >> + struct wired_cmd_ake_send_pairing_info_out pairing_info_out = { { > 0 } }; > >> + struct device *dev; > >> + ssize_t byte; > >> + > >> + if (!data || !pairing_info) > >> + return -EINVAL; > >> + > >> + dev = &cldev->dev; > >> + > >> + pairing_info_in.header.api_version = HDCP_API_VERSION; > >> + pairing_info_in.header.command_id = > >> WIRED_AKE_SEND_PAIRING_INFO; > >> + pairing_info_in.header.status = ME_HDCP_STATUS_SUCCESS; > >> + pairing_info_in.header.buffer_len = > >> + > >> WIRED_CMD_BUF_LEN_SEND_PAIRING_INFO_IN; > >> + > >> + pairing_info_in.port.integrated_port_type = data->port_type; > >> + pairing_info_in.port.physical_port = data->port; > >> + > >> + memcpy(pairing_info_in.e_kh_km, pairing_info->e_kh_km, > > Validate pairing_info->e_kh_km for NULL. > As we discussed we need not check for null here. > > > >> + sizeof(pairing_info_in.e_kh_km)); > >> + > >> + byte = mei_cldev_send(cldev, (u8 *)&pairing_info_in, > >> + sizeof(pairing_info_in)); > >> + if (byte < 0) { > >> + dev_dbg(dev, "mei_cldev_send failed. %d\n", (int)byte); > >> + return byte; > >> + } > >> + > >> + byte = mei_cldev_recv(cldev, (u8 *)&pairing_info_out, > >> + sizeof(pairing_info_out)); > >> + if (byte < 0) { > >> + dev_dbg(dev, "mei_cldev_recv failed. %d\n", (int)byte); > >> + return byte; > >> + } > >> + > >> + if (pairing_info_out.header.status != ME_HDCP_STATUS_SUCCESS) { > >> + dev_dbg(dev, "ME cmd 0x%08X failed. Status: 0x%X\n", > >> + WIRED_AKE_SEND_PAIRING_INFO, > >> + pairing_info_out.header.status); > >> + return -1; > >> + } > > Leave a blank line here. > sure. I will do it in all patches. Thanks. > > --Ram > > > >> + return 0; > >> +} > >> +EXPORT_SYMBOL(mei_store_pairing_info); > >> + > >> void mei_cldev_state_notify_clients(struct mei_cl_device *cldev, bool > enabled) { > >> if (enabled) > >> diff --git a/include/linux/mei_hdcp.h b/include/linux/mei_hdcp.h > >> index > >> 00bfde251ba4..be16e49d8018 100644 > >> --- a/include/linux/mei_hdcp.h > >> +++ b/include/linux/mei_hdcp.h > >> @@ -118,6 +118,9 @@ mei_verify_receiver_cert_prepare_km(struct > >> mei_cl_device *cldev, > >> size_t *msg_sz); > >> int mei_verify_hprime(struct mei_cl_device *cldev, struct mei_hdcp_data > *data, > >> struct hdcp2_ake_send_hprime *rx_hprime); > >> +int mei_store_pairing_info(struct mei_cl_device *cldev, > >> + struct mei_hdcp_data *data, > >> + struct hdcp2_ake_send_pairing_info *pairing_info); > >> #else > >> static int mei_cldev_register_notify(struct notifier_block *nb) { @@ > >> -150,5 > >> +153,12 @@ int mei_verify_hprime(struct mei_cl_device *cldev, struct > >> mei_hdcp_data *data, { > >> return -ENODEV; > >> } > >> +static inline > >> +int mei_store_pairing_info(struct mei_cl_device *cldev, > >> + struct mei_hdcp_data *data, > >> + struct hdcp2_ake_send_pairing_info *pairing_info) > { > >> + return -ENODEV; > >> +} > >> #endif /* defined (CONFIG_INTEL_MEI_HDCP) */ #endif /* defined > >> (_LINUX_MEI_HDCP_H) */ > >> -- > >> 2.7.4 > >> > >> _______________________________________________ > >> Intel-gfx mailing list > >> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > >> https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx