sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget'/translations/zh_CN/driver-api/mei/hdcpmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/zh_TW/driver-api/mei/hdcpmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/it_IT/driver-api/mei/hdcpmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/ja_JP/driver-api/mei/hdcpmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/ko_KR/driver-api/mei/hdcpmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/sp_SP/driver-api/mei/hdcpmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhA/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp.rsthKubhsection)}(hhh](htitle)}(hHDCP:h]hHDCP:}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hME FW as a security engine provides the capability for setting up HDCP2.2 protocol negotiation between the Intel graphics device and an HDC2.2 sink.h]hME FW as a security engine provides the capability for setting up HDCP2.2 protocol negotiation between the Intel graphics device and an HDC2.2 sink.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hME FW prepares HDCP2.2 negotiation parameters, signs and encrypts them according the HDCP 2.2 spec. The Intel graphics sends the created blob to the HDCP2.2 sink.h]hME FW prepares HDCP2.2 negotiation parameters, signs and encrypts them according the HDCP 2.2 spec. The Intel graphics sends the created blob to the HDCP2.2 sink.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(h_Similarly, the HDCP2.2 sink's response is transferred to ME FW for decryption and verification.h]haSimilarly, the HDCP2.2 sink’s response is transferred to ME FW for decryption and verification.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hOnce all the steps of HDCP2.2 negotiation are completed, upon request ME FW will configure the port as authenticated and supply the HDCP encryption keys to Intel graphics hardware.h]hOnce all the steps of HDCP2.2 negotiation are completed, upon request ME FW will configure the port as authenticated and supply the HDCP encryption keys to Intel graphics hardware.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(hmei_hdcp driverh]hmei_hdcp driver}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh block_quote)}(hThe mei_hdcp driver acts as a translation layer between HDCP 2.2 protocol implementer (I915) and ME FW by translating HDCP2.2 negotiation messages to ME FW command payloads and vice versa. h]h)}(hThe mei_hdcp driver acts as a translation layer between HDCP 2.2 protocol implementer (I915) and ME FW by translating HDCP2.2 negotiation messages to ME FW command payloads and vice versa.h]hThe mei_hdcp driver acts as a translation layer between HDCP 2.2 protocol implementer (I915) and ME FW by translating HDCP2.2 negotiation messages to ME FW command payloads and vice versa.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:24: ./drivers/misc/mei/hdcp/mei_hdcp.chK hjubah}(h]h ]h"]h$]h&]uh1jhj(hK hjhhubeh}(h]mei-hdcp-driverah ]h"]mei_hdcp driverah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h mei_hdcp apih]h mei_hdcp api}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7hhhhhKubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](single&mei_hdcp_initiate_session (C function)c.mei_hdcp_initiate_sessionhNtauh1jHhj7hhhNhNubhdesc)}(hhh](hdesc_signature)}(hpint mei_hdcp_initiate_session (struct device *dev, struct hdcp_port_data *data, struct hdcp2_ake_init *ake_data)h]hdesc_signature_line)}(hoint mei_hdcp_initiate_session(struct device *dev, struct hdcp_port_data *data, struct hdcp2_ake_init *ake_data)h](hdesc_sig_keyword_type)}(hinth]hint}(hjlhhhNhNubah}(h]h ]ktah"]h$]h&]uh1jjhjfhhhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chK ubhdesc_sig_space)}(h h]h }(hj~hhhNhNubah}(h]h ]wah"]h$]h&]uh1j|hjfhhhj{hK ubh desc_name)}(hmei_hdcp_initiate_sessionh]h desc_sig_name)}(hmei_hdcp_initiate_sessionh]hmei_hdcp_initiate_session}(hjhhhNhNubah}(h]h ]nah"]h$]h&]uh1jhjubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jhjfhhhj{hK ubhdesc_parameterlist)}(hR(struct device *dev, struct hdcp_port_data *data, struct hdcp2_ake_init *ake_data)h](hdesc_parameter)}(hstruct device *devh](hdesc_sig_keyword)}(hstructh]hstruct}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hdeviceh]hdevice}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomaincreftype identifier reftargetjmodnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]j ASTIdentifier)}jjsbc.mei_hdcp_initiate_sessionasbuh1hhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubhdesc_sig_punctuation)}(h*h]h*}(hjhhhNhNubah}(h]h ]pah"]h$]h&]uh1jhjubj)}(hdevh]hdev}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hstruct hdcp_port_data *datah](j)}(hjh]hstruct}(hj;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj7ubj})}(h h]h }(hjHhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj7ubh)}(hhh]j)}(hhdcp_port_datah]hhdcp_port_data}(hjYhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjVubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj[modnameN classnameNjj)}j]jc.mei_hdcp_initiate_sessionasbuh1hhj7ubj})}(h h]h }(hjwhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj7ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj7ubj)}(hdatah]hdata}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hstruct hdcp2_ake_init *ake_datah](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hhdcp2_ake_inith]hhdcp2_ake_init}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.mei_hdcp_initiate_sessionasbuh1hhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hake_datah]hake_data}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjfhhhj{hK ubeh}(h]h ]h"]h$]h&]hh add_permalinkuh1jdsphinx_line_type declaratorhj`hhhj{hK ubah}(h]jWah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1j^hj{hK hj[hhubh desc_content)}(hhh]h)}(h,Initiate a Wired HDCP2.2 Tx Session in ME FWh]h,Initiate a Wired HDCP2.2 Tx Session in ME FW}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chK hj3hhubah}(h]h ]h"]h$]h&]uh1j1hj[hhhj{hK ubeh}(h]h ](jfunctioneh"]h$]h&]domainjobjtypejNdesctypejNnoindex noindexentrynocontentsentryuh1jYhhhj7hNhNubh container)}(h**Parameters** ``struct device *dev`` device corresponding to the mei_cl_device ``struct hdcp_port_data *data`` Intel HW specific hdcp data ``struct hdcp2_ake_init *ake_data`` AKE_Init msg output. **Return** 0 on Success, <0 on Failure.h](h)}(h**Parameters**h]hstrong)}(hj`h]h Parameters}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj^ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chK$hjZubhdefinition_list)}(hhh](hdefinition_list_item)}(hA``struct device *dev`` device corresponding to the mei_cl_device h](hterm)}(h``struct device *dev``h]hliteral)}(hjh]hstruct device *dev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chK!hjubh definition)}(hhh]h)}(h)device corresponding to the mei_cl_deviceh]h)device corresponding to the mei_cl_device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK!hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhK!hjzubj~)}(h<``struct hdcp_port_data *data`` Intel HW specific hdcp data h](j)}(h``struct hdcp_port_data *data``h]j)}(hjh]hstruct hdcp_port_data *data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chK"hjubj)}(hhh]h)}(hIntel HW specific hdcp datah]hIntel HW specific hdcp data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK"hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhK"hjzubj~)}(h9``struct hdcp2_ake_init *ake_data`` AKE_Init msg output. h](j)}(h#``struct hdcp2_ake_init *ake_data``h]j)}(hjh]hstruct hdcp2_ake_init *ake_data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chK#hjubj)}(hhh]h)}(hAKE_Init msg output.h]hAKE_Init msg output.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK#hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhK#hjzubeh}(h]h ]h"]h$]h&]uh1jxhjZubh)}(h **Return**h]jc)}(hj8h]hReturn}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj6ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chK%hjZubh)}(h0 on Success, <0 on Failure.h]h0 on Success, <0 on Failure.}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chK%hjZubeh}(h]h ] kernelindentah"]h$]h&]uh1jXhj7hhhNhNubjI)}(hhh]h}(h]h ]h"]h$]h&]entries](jU5mei_hdcp_verify_receiver_cert_prepare_km (C function)*c.mei_hdcp_verify_receiver_cert_prepare_kmhNtauh1jHhj7hhhNhNubjZ)}(hhh](j_)}(hint mei_hdcp_verify_receiver_cert_prepare_km (struct device *dev, struct hdcp_port_data *data, struct hdcp2_ake_send_cert *rx_cert, bool *km_stored, struct hdcp2_ake_no_stored_km *ek_pub_km, size_t *msg_sz)h]je)}(hint mei_hdcp_verify_receiver_cert_prepare_km(struct device *dev, struct hdcp_port_data *data, struct hdcp2_ake_send_cert *rx_cert, bool *km_stored, struct hdcp2_ake_no_stored_km *ek_pub_km, size_t *msg_sz)h](jk)}(hinth]hint}(hj}hhhNhNubah}(h]h ]jwah"]h$]h&]uh1jjhjyhhhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chK^ubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjyhhhjhK^ubj)}(h(mei_hdcp_verify_receiver_cert_prepare_kmh]j)}(h(mei_hdcp_verify_receiver_cert_prepare_kmh]h(mei_hdcp_verify_receiver_cert_prepare_km}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1jhjyhhhjhK^ubj)}(h(struct device *dev, struct hdcp_port_data *data, struct hdcp2_ake_send_cert *rx_cert, bool *km_stored, struct hdcp2_ake_no_stored_km *ek_pub_km, size_t *msg_sz)h](j)}(hstruct device *devh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hdeviceh]hdevice}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsb*c.mei_hdcp_verify_receiver_cert_prepare_kmasbuh1hhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hdevh]hdev}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hstruct hdcp_port_data *datah](j)}(hjh]hstruct}(hj,hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj(ubj})}(h h]h }(hj9hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj(ubh)}(hhh]j)}(hhdcp_port_datah]hhdcp_port_data}(hjJhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjGubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjLmodnameN classnameNjj)}j]j*c.mei_hdcp_verify_receiver_cert_prepare_kmasbuh1hhj(ubj})}(h h]h }(hjhhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj(ubj)}(hjh]h*}(hjvhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj(ubj)}(hdatah]hdata}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h#struct hdcp2_ake_send_cert *rx_certh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hhdcp2_ake_send_certh]hhdcp2_ake_send_cert}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j*c.mei_hdcp_verify_receiver_cert_prepare_kmasbuh1hhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hrx_certh]hrx_cert}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hbool *km_storedh](jk)}(hboolh]hbool}(hj hhhNhNubah}(h]h ]jwah"]h$]h&]uh1jjhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hj(hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h km_storedh]h km_stored}(hj5hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h(struct hdcp2_ake_no_stored_km *ek_pub_kmh](j)}(hjh]hstruct}(hjNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjJubj})}(h h]h }(hj[hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjJubh)}(hhh]j)}(hhdcp2_ake_no_stored_kmh]hhdcp2_ake_no_stored_km}(hjlhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjiubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjnmodnameN classnameNjj)}j]j*c.mei_hdcp_verify_receiver_cert_prepare_kmasbuh1hhjJubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjJubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjJubj)}(h ek_pub_kmh]h ek_pub_km}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hsize_t *msg_szh](h)}(hhh]j)}(hsize_th]hsize_t}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j*c.mei_hdcp_verify_receiver_cert_prepare_kmasbuh1hhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hmsg_szh]hmsg_sz}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjyhhhjhK^ubeh}(h]h ]h"]h$]h&]hhj#uh1jdj$j%hjuhhhjhK^ubah}(h]jpah ](j)j*eh"]h$]h&]j.j/)j0huh1j^hjhK^hjrhhubj2)}(hhh]h)}(hXVerify the Receiver Certificate AKE_Send_Cert and prepare AKE_Stored_Km/AKE_No_Stored_Kmh]hXVerify the Receiver Certificate AKE_Send_Cert and prepare AKE_Stored_Km/AKE_No_Stored_Km}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chK^hj!hhubah}(h]h ]h"]h$]h&]uh1j1hjrhhhjhK^ubeh}(h]h ](jfunctioneh"]h$]h&]jRjjSj<jTj<jUjVjWuh1jYhhhj7hNhNubjY)}(hX**Parameters** ``struct device *dev`` device corresponding to the mei_cl_device ``struct hdcp_port_data *data`` Intel HW specific hdcp data ``struct hdcp2_ake_send_cert *rx_cert`` AKE_Send_Cert for verification ``bool *km_stored`` Pairing status flag output ``struct hdcp2_ake_no_stored_km *ek_pub_km`` AKE_Stored_Km/AKE_No_Stored_Km output msg ``size_t *msg_sz`` size of AKE_XXXXX_Km output msg **Return** 0 on Success, <0 on Failureh](h)}(h**Parameters**h]jc)}(hjFh]h Parameters}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjDubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKbhj@ubjy)}(hhh](j~)}(hA``struct device *dev`` device corresponding to the mei_cl_device h](j)}(h``struct device *dev``h]j)}(hjeh]hstruct device *dev}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chK`hj_ubj)}(hhh]h)}(h)device corresponding to the mei_cl_deviceh]h)device corresponding to the mei_cl_device}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzhK`hj{ubah}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1j}hjzhK`hj\ubj~)}(h<``struct hdcp_port_data *data`` Intel HW specific hdcp data h](j)}(h``struct hdcp_port_data *data``h]j)}(hjh]hstruct hdcp_port_data *data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKahjubj)}(hhh]h)}(hIntel HW specific hdcp datah]hIntel HW specific hdcp data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKahjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhKahj\ubj~)}(hG``struct hdcp2_ake_send_cert *rx_cert`` AKE_Send_Cert for verification h](j)}(h'``struct hdcp2_ake_send_cert *rx_cert``h]j)}(hjh]h#struct hdcp2_ake_send_cert *rx_cert}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKbhjubj)}(hhh]h)}(hAKE_Send_Cert for verificationh]hAKE_Send_Cert for verification}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKbhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhKbhj\ubj~)}(h/``bool *km_stored`` Pairing status flag output h](j)}(h``bool *km_stored``h]j)}(hjh]hbool *km_stored}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKchj ubj)}(hhh]h)}(hPairing status flag outputh]hPairing status flag output}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%hKchj&ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j}hj%hKchj\ubj~)}(hW``struct hdcp2_ake_no_stored_km *ek_pub_km`` AKE_Stored_Km/AKE_No_Stored_Km output msg h](j)}(h,``struct hdcp2_ake_no_stored_km *ek_pub_km``h]j)}(hjIh]h(struct hdcp2_ake_no_stored_km *ek_pub_km}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjGubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKdhjCubj)}(hhh]h)}(h)AKE_Stored_Km/AKE_No_Stored_Km output msgh]h)AKE_Stored_Km/AKE_No_Stored_Km output msg}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^hKdhj_ubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1j}hj^hKdhj\ubj~)}(h3``size_t *msg_sz`` size of AKE_XXXXX_Km output msg h](j)}(h``size_t *msg_sz``h]j)}(hjh]hsize_t *msg_sz}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKehj|ubj)}(hhh]h)}(hsize of AKE_XXXXX_Km output msgh]hsize of AKE_XXXXX_Km output msg}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKehjubah}(h]h ]h"]h$]h&]uh1jhj|ubeh}(h]h ]h"]h$]h&]uh1j}hjhKehj\ubeh}(h]h ]h"]h$]h&]uh1jxhj@ubh)}(h **Return**h]jc)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKghj@ubh)}(h0 on Success, <0 on Failureh]h0 on Success, <0 on Failure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKghj@ubeh}(h]h ] kernelindentah"]h$]h&]uh1jXhj7hhhNhNubjI)}(hhh]h}(h]h ]h"]h$]h&]entries](jU#mei_hdcp_verify_hprime (C function)c.mei_hdcp_verify_hprimehNtauh1jHhj7hhhNhNubjZ)}(hhh](j_)}(huint mei_hdcp_verify_hprime (struct device *dev, struct hdcp_port_data *data, struct hdcp2_ake_send_hprime *rx_hprime)h]je)}(htint mei_hdcp_verify_hprime(struct device *dev, struct hdcp_port_data *data, struct hdcp2_ake_send_hprime *rx_hprime)h](jk)}(hinth]hint}(hj hhhNhNubah}(h]h ]jwah"]h$]h&]uh1jjhjhhhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKubj})}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjhhhj hKubj)}(hmei_hdcp_verify_hprimeh]j)}(hmei_hdcp_verify_hprimeh]hmei_hdcp_verify_hprime}(hj# hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhj hKubj)}(hZ(struct device *dev, struct hdcp_port_data *data, struct hdcp2_ake_send_hprime *rx_hprime)h](j)}(hstruct device *devh](j)}(hjh]hstruct}(hj? hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj; ubj})}(h h]h }(hjL hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj; ubh)}(hhh]j)}(hdeviceh]hdevice}(hj] hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjZ ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj_ modnameN classnameNjj)}j]j)}jj% sbc.mei_hdcp_verify_hprimeasbuh1hhj; ubj})}(h h]h }(hj} hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj; ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj; ubj)}(hdevh]hdev}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj; ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj7 ubj)}(hstruct hdcp_port_data *datah](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj})}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj ubh)}(hhh]j)}(hhdcp_port_datah]hhdcp_port_data}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]jy c.mei_hdcp_verify_hprimeasbuh1hhj ubj})}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(hdatah]hdata}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj7 ubj)}(h'struct hdcp2_ake_send_hprime *rx_hprimeh](j)}(hjh]hstruct}(hj! hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj})}(h h]h }(hj. hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj ubh)}(hhh]j)}(hhdcp2_ake_send_hprimeh]hhdcp2_ake_send_hprime}(hj? hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj< ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjA modnameN classnameNjj)}j]jy c.mei_hdcp_verify_hprimeasbuh1hhj ubj})}(h h]h }(hj] hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj ubj)}(hjh]h*}(hjk hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(h rx_hprimeh]h rx_hprime}(hjx hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj7 ubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhj hKubeh}(h]h ]h"]h$]h&]hhj#uh1jdj$j%hjhhhj hKubah}(h]jah ](j)j*eh"]h$]h&]j.j/)j0huh1j^hj hKhjhhubj2)}(hhh]h)}(h!Verify AKE_Send_H_prime at ME FW.h]h!Verify AKE_Send_H_prime at ME FW.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKhj hhubah}(h]h ]h"]h$]h&]uh1j1hjhhhj hKubeh}(h]h ](jfunctioneh"]h$]h&]jRjjSj jTj jUjVjWuh1jYhhhj7hNhNubjY)}(hX**Parameters** ``struct device *dev`` device corresponding to the mei_cl_device ``struct hdcp_port_data *data`` Intel HW specific hdcp data ``struct hdcp2_ake_send_hprime *rx_hprime`` AKE_Send_H_prime msg for ME FW verification **Return** 0 on Success, <0 on Failureh](h)}(h**Parameters**h]jc)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKhj ubjy)}(hhh](j~)}(hA``struct device *dev`` device corresponding to the mei_cl_device h](j)}(h``struct device *dev``h]j)}(hj h]hstruct device *dev}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKhj ubj)}(hhh]h)}(h)device corresponding to the mei_cl_deviceh]h)device corresponding to the mei_cl_device}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j}hj hKhj ubj~)}(h<``struct hdcp_port_data *data`` Intel HW specific hdcp data h](j)}(h``struct hdcp_port_data *data``h]j)}(hj h]hstruct hdcp_port_data *data}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKhj ubj)}(hhh]h)}(hIntel HW specific hdcp datah]hIntel HW specific hdcp data}(hj5 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1 hKhj2 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j}hj1 hKhj ubj~)}(hX``struct hdcp2_ake_send_hprime *rx_hprime`` AKE_Send_H_prime msg for ME FW verification h](j)}(h+``struct hdcp2_ake_send_hprime *rx_hprime``h]j)}(hjU h]h'struct hdcp2_ake_send_hprime *rx_hprime}(hjW hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjS ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKhjO ubj)}(hhh]h)}(h+AKE_Send_H_prime msg for ME FW verificationh]h+AKE_Send_H_prime msg for ME FW verification}(hjn hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjj hKhjk ubah}(h]h ]h"]h$]h&]uh1jhjO ubeh}(h]h ]h"]h$]h&]uh1j}hjj hKhj ubeh}(h]h ]h"]h$]h&]uh1jxhj ubh)}(h **Return**h]jc)}(hj h]hReturn}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKhj ubh)}(h0 on Success, <0 on Failureh]h0 on Success, <0 on Failure}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jXhj7hhhNhNubjI)}(hhh]h}(h]h ]h"]h$]h&]entries](jU(mei_hdcp_store_pairing_info (C function)c.mei_hdcp_store_pairing_infohNtauh1jHhj7hhhNhNubjZ)}(hhh](j_)}(hint mei_hdcp_store_pairing_info (struct device *dev, struct hdcp_port_data *data, struct hdcp2_ake_send_pairing_info *pairing_info)h]je)}(hint mei_hdcp_store_pairing_info(struct device *dev, struct hdcp_port_data *data, struct hdcp2_ake_send_pairing_info *pairing_info)h](jk)}(hinth]hint}(hj hhhNhNubah}(h]h ]jwah"]h$]h&]uh1jjhj hhhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKubj})}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj hhhj hKubj)}(hmei_hdcp_store_pairing_infoh]j)}(hmei_hdcp_store_pairing_infoh]hmei_hdcp_store_pairing_info}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ](jjeh"]h$]h&]hhuh1jhj hhhj hKubj)}(hc(struct device *dev, struct hdcp_port_data *data, struct hdcp2_ake_send_pairing_info *pairing_info)h](j)}(hstruct device *devh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj})}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj ubh)}(hhh]j)}(hdeviceh]hdevice}(hj0 hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj- ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj2 modnameN classnameNjj)}j]j)}jj sbc.mei_hdcp_store_pairing_infoasbuh1hhj ubj})}(h h]h }(hjP hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj ubj)}(hjh]h*}(hj^ hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(hdevh]hdev}(hjk hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj ubj)}(hstruct hdcp_port_data *datah](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj})}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj ubh)}(hhh]j)}(hhdcp_port_datah]hhdcp_port_data}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]jL c.mei_hdcp_store_pairing_infoasbuh1hhj ubj})}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(hdatah]hdata}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj ubj)}(h0struct hdcp2_ake_send_pairing_info *pairing_infoh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj})}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj ubh)}(hhh]j)}(hhdcp2_ake_send_pairing_infoh]hhdcp2_ake_send_pairing_info}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]jL c.mei_hdcp_store_pairing_infoasbuh1hhj ubj})}(h h]h }(hj0 hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj ubj)}(hjh]h*}(hj> hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(h pairing_infoh]h pairing_info}(hjK hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj ubeh}(h]h ]h"]h$]h&]hhuh1jhj hhhj hKubeh}(h]h ]h"]h$]h&]hhj#uh1jdj$j%hj hhhj hKubah}(h]j ah ](j)j*eh"]h$]h&]j.j/)j0huh1j^hj hKhj hhubj2)}(hhh]h)}(h$Store pairing info received at ME FWh]h$Store pairing info received at ME FW}(hju hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKhjr hhubah}(h]h ]h"]h$]h&]uh1j1hj hhhj hKubeh}(h]h ](jfunctioneh"]h$]h&]jRjjSj jTj jUjVjWuh1jYhhhj7hNhNubjY)}(hX**Parameters** ``struct device *dev`` device corresponding to the mei_cl_device ``struct hdcp_port_data *data`` Intel HW specific hdcp data ``struct hdcp2_ake_send_pairing_info *pairing_info`` AKE_Send_Pairing_Info msg input to ME FW **Return** 0 on Success, <0 on Failureh](h)}(h**Parameters**h]jc)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKhj ubjy)}(hhh](j~)}(hA``struct device *dev`` device corresponding to the mei_cl_device h](j)}(h``struct device *dev``h]j)}(hj h]hstruct device *dev}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKhj ubj)}(hhh]h)}(h)device corresponding to the mei_cl_deviceh]h)device corresponding to the mei_cl_device}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j}hj hKhj ubj~)}(h<``struct hdcp_port_data *data`` Intel HW specific hdcp data h](j)}(h``struct hdcp_port_data *data``h]j)}(hj h]hstruct hdcp_port_data *data}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKhj ubj)}(hhh]h)}(hIntel HW specific hdcp datah]hIntel HW specific hdcp data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j}hjhKhj ubj~)}(h^``struct hdcp2_ake_send_pairing_info *pairing_info`` AKE_Send_Pairing_Info msg input to ME FW h](j)}(h4``struct hdcp2_ake_send_pairing_info *pairing_info``h]j)}(hj(h]h0struct hdcp2_ake_send_pairing_info *pairing_info}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKhj"ubj)}(hhh]h)}(h(AKE_Send_Pairing_Info msg input to ME FWh]h(AKE_Send_Pairing_Info msg input to ME FW}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=hKhj>ubah}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1j}hj=hKhj ubeh}(h]h ]h"]h$]h&]uh1jxhj ubh)}(h **Return**h]jc)}(hjch]hReturn}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjaubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKhj ubh)}(h0 on Success, <0 on Failureh]h0 on Success, <0 on Failure}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chKhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jXhj7hhhNhNubjI)}(hhh]h}(h]h ]h"]h$]h&]entries](jU-mei_hdcp_initiate_locality_check (C function)"c.mei_hdcp_initiate_locality_checkhNtauh1jHhj7hhhNhNubjZ)}(hhh](j_)}(hzint mei_hdcp_initiate_locality_check (struct device *dev, struct hdcp_port_data *data, struct hdcp2_lc_init *lc_init_data)h]je)}(hyint mei_hdcp_initiate_locality_check(struct device *dev, struct hdcp_port_data *data, struct hdcp2_lc_init *lc_init_data)h](jk)}(hinth]hint}(hjhhhNhNubah}(h]h ]jwah"]h$]h&]uh1jjhjhhhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM#ubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjhhhjhM#ubj)}(h mei_hdcp_initiate_locality_checkh]j)}(h mei_hdcp_initiate_locality_checkh]h mei_hdcp_initiate_locality_check}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhM#ubj)}(hU(struct device *dev, struct hdcp_port_data *data, struct hdcp2_lc_init *lc_init_data)h](j)}(hstruct device *devh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hdeviceh]hdevice}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsb"c.mei_hdcp_initiate_locality_checkasbuh1hhjubj})}(h h]h }(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hj1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hdevh]hdev}(hj>hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hstruct hdcp_port_data *datah](j)}(hjh]hstruct}(hjWhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjSubj})}(h h]h }(hjdhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjSubh)}(hhh]j)}(hhdcp_port_datah]hhdcp_port_data}(hjuhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjrubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjwmodnameN classnameNjj)}j]j"c.mei_hdcp_initiate_locality_checkasbuh1hhjSubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjSubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjSubj)}(hdatah]hdata}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h"struct hdcp2_lc_init *lc_init_datah](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(h hdcp2_lc_inith]h hdcp2_lc_init}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j"c.mei_hdcp_initiate_locality_checkasbuh1hhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h lc_init_datah]h lc_init_data}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhM#ubeh}(h]h ]h"]h$]h&]hhj#uh1jdj$j%hjhhhjhM#ubah}(h]jah ](j)j*eh"]h$]h&]j.j/)j0huh1j^hjhM#hjhhubj2)}(hhh]h)}(hPrepare LC_Inith]hPrepare LC_Init}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM#hjEhhubah}(h]h ]h"]h$]h&]uh1j1hjhhhjhM#ubeh}(h]h ](jfunctioneh"]h$]h&]jRjjSj`jTj`jUjVjWuh1jYhhhj7hNhNubjY)}(h**Parameters** ``struct device *dev`` device corresponding to the mei_cl_device ``struct hdcp_port_data *data`` Intel HW specific hdcp data ``struct hdcp2_lc_init *lc_init_data`` LC_Init msg output **Return** 0 on Success, <0 on Failureh](h)}(h**Parameters**h]jc)}(hjjh]h Parameters}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjhubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM'hjdubjy)}(hhh](j~)}(hA``struct device *dev`` device corresponding to the mei_cl_device h](j)}(h``struct device *dev``h]j)}(hjh]hstruct device *dev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM$hjubj)}(hhh]h)}(h)device corresponding to the mei_cl_deviceh]h)device corresponding to the mei_cl_device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM$hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhM$hjubj~)}(h<``struct hdcp_port_data *data`` Intel HW specific hdcp data h](j)}(h``struct hdcp_port_data *data``h]j)}(hjh]hstruct hdcp_port_data *data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM%hjubj)}(hhh]h)}(hIntel HW specific hdcp datah]hIntel HW specific hdcp data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM%hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhM%hjubj~)}(h:``struct hdcp2_lc_init *lc_init_data`` LC_Init msg output h](j)}(h&``struct hdcp2_lc_init *lc_init_data``h]j)}(hjh]h"struct hdcp2_lc_init *lc_init_data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM&hjubj)}(hhh]h)}(hLC_Init msg outputh]hLC_Init msg output}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM&hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhM&hjubeh}(h]h ]h"]h$]h&]uh1jxhjdubh)}(h **Return**h]jc)}(hj6h]hReturn}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj4ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM(hjdubh)}(h0 on Success, <0 on Failureh]h0 on Success, <0 on Failure}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM(hjdubeh}(h]h ] kernelindentah"]h$]h&]uh1jXhj7hhhNhNubjI)}(hhh]h}(h]h ]h"]h$]h&]entries](jU#mei_hdcp_verify_lprime (C function)c.mei_hdcp_verify_lprimehNtauh1jHhj7hhhNhNubjZ)}(hhh](j_)}(htint mei_hdcp_verify_lprime (struct device *dev, struct hdcp_port_data *data, struct hdcp2_lc_send_lprime *rx_lprime)h]je)}(hsint mei_hdcp_verify_lprime(struct device *dev, struct hdcp_port_data *data, struct hdcp2_lc_send_lprime *rx_lprime)h](jk)}(hinth]hint}(hj{hhhNhNubah}(h]h ]jwah"]h$]h&]uh1jjhjwhhhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM[ubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjwhhhjhM[ubj)}(hmei_hdcp_verify_lprimeh]j)}(hmei_hdcp_verify_lprimeh]hmei_hdcp_verify_lprime}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1jhjwhhhjhM[ubj)}(hY(struct device *dev, struct hdcp_port_data *data, struct hdcp2_lc_send_lprime *rx_lprime)h](j)}(hstruct device *devh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hdeviceh]hdevice}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.mei_hdcp_verify_lprimeasbuh1hhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hdevh]hdev}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hstruct hdcp_port_data *datah](j)}(hjh]hstruct}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj&ubj})}(h h]h }(hj7hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj&ubh)}(hhh]j)}(hhdcp_port_datah]hhdcp_port_data}(hjHhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjEubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjJmodnameN classnameNjj)}j]jc.mei_hdcp_verify_lprimeasbuh1hhj&ubj})}(h h]h }(hjfhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj&ubj)}(hjh]h*}(hjthhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj&ubj)}(hdatah]hdata}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h&struct hdcp2_lc_send_lprime *rx_lprimeh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hhdcp2_lc_send_lprimeh]hhdcp2_lc_send_lprime}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.mei_hdcp_verify_lprimeasbuh1hhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h rx_lprimeh]h rx_lprime}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjwhhhjhM[ubeh}(h]h ]h"]h$]h&]hhj#uh1jdj$j%hjshhhjhM[ubah}(h]jnah ](j)j*eh"]h$]h&]j.j/)j0huh1j^hjhM[hjphhubj2)}(hhh]h)}(hVerify lprime.h]hVerify lprime.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM[hjhhubah}(h]h ]h"]h$]h&]uh1j1hjphhhjhM[ubeh}(h]h ](jfunctioneh"]h$]h&]jRjjSj3jTj3jUjVjWuh1jYhhhj7hNhNubjY)}(hX**Parameters** ``struct device *dev`` device corresponding to the mei_cl_device ``struct hdcp_port_data *data`` Intel HW specific hdcp data ``struct hdcp2_lc_send_lprime *rx_lprime`` LC_Send_L_prime msg for ME FW verification **Return** 0 on Success, <0 on Failureh](h)}(h**Parameters**h]jc)}(hj=h]h Parameters}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj;ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM_hj7ubjy)}(hhh](j~)}(hA``struct device *dev`` device corresponding to the mei_cl_device h](j)}(h``struct device *dev``h]j)}(hj\h]hstruct device *dev}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM\hjVubj)}(hhh]h)}(h)device corresponding to the mei_cl_deviceh]h)device corresponding to the mei_cl_device}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqhM\hjrubah}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1j}hjqhM\hjSubj~)}(h<``struct hdcp_port_data *data`` Intel HW specific hdcp data h](j)}(h``struct hdcp_port_data *data``h]j)}(hjh]hstruct hdcp_port_data *data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM]hjubj)}(hhh]h)}(hIntel HW specific hdcp datah]hIntel HW specific hdcp data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM]hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhM]hjSubj~)}(hV``struct hdcp2_lc_send_lprime *rx_lprime`` LC_Send_L_prime msg for ME FW verification h](j)}(h*``struct hdcp2_lc_send_lprime *rx_lprime``h]j)}(hjh]h&struct hdcp2_lc_send_lprime *rx_lprime}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM^hjubj)}(hhh]h)}(h*LC_Send_L_prime msg for ME FW verificationh]h*LC_Send_L_prime msg for ME FW verification}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM^hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhM^hjSubeh}(h]h ]h"]h$]h&]uh1jxhj7ubh)}(h **Return**h]jc)}(hj h]hReturn}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM`hj7ubh)}(h0 on Success, <0 on Failureh]h0 on Success, <0 on Failure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM`hj7ubeh}(h]h ] kernelindentah"]h$]h&]uh1jXhj7hhhNhNubjI)}(hhh]h}(h]h ]h"]h$]h&]entries](jU%mei_hdcp_get_session_key (C function)c.mei_hdcp_get_session_keyhNtauh1jHhj7hhhNhNubjZ)}(hhh](j_)}(hsint mei_hdcp_get_session_key (struct device *dev, struct hdcp_port_data *data, struct hdcp2_ske_send_eks *ske_data)h]je)}(hrint mei_hdcp_get_session_key(struct device *dev, struct hdcp_port_data *data, struct hdcp2_ske_send_eks *ske_data)h](jk)}(hinth]hint}(hjNhhhNhNubah}(h]h ]jwah"]h$]h&]uh1jjhjJhhhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMubj})}(h h]h }(hj]hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjJhhhj\hMubj)}(hmei_hdcp_get_session_keyh]j)}(hmei_hdcp_get_session_keyh]hmei_hdcp_get_session_key}(hjohhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjkubah}(h]h ](jjeh"]h$]h&]hhuh1jhjJhhhj\hMubj)}(hV(struct device *dev, struct hdcp_port_data *data, struct hdcp2_ske_send_eks *ske_data)h](j)}(hstruct device *devh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hdeviceh]hdevice}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjqsbc.mei_hdcp_get_session_keyasbuh1hhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hdevh]hdev}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hstruct hdcp_port_data *datah](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hhdcp_port_datah]hhdcp_port_data}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.mei_hdcp_get_session_keyasbuh1hhjubj})}(h h]h }(hj9hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hjGhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hdatah]hdata}(hjThhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h#struct hdcp2_ske_send_eks *ske_datah](j)}(hjh]hstruct}(hjmhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjiubj})}(h h]h }(hjzhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjiubh)}(hhh]j)}(hhdcp2_ske_send_eksh]hhdcp2_ske_send_eks}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.mei_hdcp_get_session_keyasbuh1hhjiubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjiubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjiubj)}(hske_datah]hske_data}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjiubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjJhhhj\hMubeh}(h]h ]h"]h$]h&]hhj#uh1jdj$j%hjFhhhj\hMubah}(h]jAah ](j)j*eh"]h$]h&]j.j/)j0huh1j^hj\hMhjChhubj2)}(hhh]h)}(hPrepare SKE_Send_Eks.h]hPrepare SKE_Send_Eks.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhjhhubah}(h]h ]h"]h$]h&]uh1j1hjChhhj\hMubeh}(h]h ](jfunctioneh"]h$]h&]jRjjSjjTjjUjVjWuh1jYhhhj7hNhNubjY)}(hX **Parameters** ``struct device *dev`` device corresponding to the mei_cl_device ``struct hdcp_port_data *data`` Intel HW specific hdcp data ``struct hdcp2_ske_send_eks *ske_data`` SKE_Send_Eks msg output from ME FW. **Return** 0 on Success, <0 on Failureh](h)}(h**Parameters**h]jc)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj ubjy)}(hhh](j~)}(hA``struct device *dev`` device corresponding to the mei_cl_device h](j)}(h``struct device *dev``h]j)}(hj/h]hstruct device *dev}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj)ubj)}(hhh]h)}(h)device corresponding to the mei_cl_deviceh]h)device corresponding to the mei_cl_device}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDhMhjEubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1j}hjDhMhj&ubj~)}(h<``struct hdcp_port_data *data`` Intel HW specific hdcp data h](j)}(h``struct hdcp_port_data *data``h]j)}(hjhh]hstruct hdcp_port_data *data}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjfubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhjbubj)}(hhh]h)}(hIntel HW specific hdcp datah]hIntel HW specific hdcp data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}hMhj~ubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1j}hj}hMhj&ubj~)}(hL``struct hdcp2_ske_send_eks *ske_data`` SKE_Send_Eks msg output from ME FW. h](j)}(h'``struct hdcp2_ske_send_eks *ske_data``h]j)}(hjh]h#struct hdcp2_ske_send_eks *ske_data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhjubj)}(hhh]h)}(h#SKE_Send_Eks msg output from ME FW.h]h#SKE_Send_Eks msg output from ME FW.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhMhj&ubeh}(h]h ]h"]h$]h&]uh1jxhj ubh)}(h **Return**h]jc)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj ubh)}(h0 on Success, <0 on Failureh]h0 on Success, <0 on Failure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jXhj7hhhNhNubjI)}(hhh]h}(h]h ]h"]h$]h&]entries](jU5mei_hdcp_repeater_check_flow_prepare_ack (C function)*c.mei_hdcp_repeater_check_flow_prepare_ackhNtauh1jHhj7hhhNhNubjZ)}(hhh](j_)}(hint mei_hdcp_repeater_check_flow_prepare_ack (struct device *dev, struct hdcp_port_data *data, struct hdcp2_rep_send_receiverid_list *rep_topology, struct hdcp2_rep_send_ack *rep_send_ack)h]je)}(hint mei_hdcp_repeater_check_flow_prepare_ack(struct device *dev, struct hdcp_port_data *data, struct hdcp2_rep_send_receiverid_list *rep_topology, struct hdcp2_rep_send_ack *rep_send_ack)h](jk)}(hinth]hint}(hj!hhhNhNubah}(h]h ]jwah"]h$]h&]uh1jjhjhhhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMubj})}(h h]h }(hj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjhhhj/hMubj)}(h(mei_hdcp_repeater_check_flow_prepare_ackh]j)}(h(mei_hdcp_repeater_check_flow_prepare_ackh]h(mei_hdcp_repeater_check_flow_prepare_ack}(hjBhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj>ubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhj/hMubj)}(h(struct device *dev, struct hdcp_port_data *data, struct hdcp2_rep_send_receiverid_list *rep_topology, struct hdcp2_rep_send_ack *rep_send_ack)h](j)}(hstruct device *devh](j)}(hjh]hstruct}(hj^hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjZubj})}(h h]h }(hjkhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjZubh)}(hhh]j)}(hdeviceh]hdevice}(hj|hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjyubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj~modnameN classnameNjj)}j]j)}jjDsb*c.mei_hdcp_repeater_check_flow_prepare_ackasbuh1hhjZubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjZubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjZubj)}(hdevh]hdev}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjVubj)}(hstruct hdcp_port_data *datah](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hhdcp_port_datah]hhdcp_port_data}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j*c.mei_hdcp_repeater_check_flow_prepare_ackasbuh1hhjubj})}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hdatah]hdata}(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjVubj)}(h3struct hdcp2_rep_send_receiverid_list *rep_topologyh](j)}(hjh]hstruct}(hj@hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<ubj})}(h h]h }(hjMhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj<ubh)}(hhh]j)}(hhdcp2_rep_send_receiverid_listh]hhdcp2_rep_send_receiverid_list}(hj^hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj`modnameN classnameNjj)}j]j*c.mei_hdcp_repeater_check_flow_prepare_ackasbuh1hhj<ubj})}(h h]h }(hj|hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj<ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<ubj)}(h rep_topologyh]h rep_topology}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjVubj)}(h'struct hdcp2_rep_send_ack *rep_send_ackh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hhdcp2_rep_send_ackh]hhdcp2_rep_send_ack}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j*c.mei_hdcp_repeater_check_flow_prepare_ackasbuh1hhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h rep_send_ackh]h rep_send_ack}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjVubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhj/hMubeh}(h]h ]h"]h$]h&]hhj#uh1jdj$j%hjhhhj/hMubah}(h]jah ](j)j*eh"]h$]h&]j.j/)j0huh1j^hj/hMhjhhubj2)}(hhh]h)}(h5Validate the Downstream topology and prepare rep_ack.h]h5Validate the Downstream topology and prepare rep_ack.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj.hhubah}(h]h ]h"]h$]h&]uh1j1hjhhhj/hMubeh}(h]h ](jfunctioneh"]h$]h&]jRjjSjIjTjIjUjVjWuh1jYhhhj7hNhNubjY)}(hX^**Parameters** ``struct device *dev`` device corresponding to the mei_cl_device ``struct hdcp_port_data *data`` Intel HW specific hdcp data ``struct hdcp2_rep_send_receiverid_list *rep_topology`` Receiver ID List to be validated ``struct hdcp2_rep_send_ack *rep_send_ack`` repeater ack from ME FW. **Return** 0 on Success, <0 on Failureh](h)}(h**Parameters**h]jc)}(hjSh]h Parameters}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjQubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhjMubjy)}(hhh](j~)}(hA``struct device *dev`` device corresponding to the mei_cl_device h](j)}(h``struct device *dev``h]j)}(hjrh]hstruct device *dev}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1jhjpubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhjlubj)}(hhh]h)}(h)device corresponding to the mei_cl_deviceh]h)device corresponding to the mei_cl_device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjlubeh}(h]h ]h"]h$]h&]uh1j}hjhMhjiubj~)}(h<``struct hdcp_port_data *data`` Intel HW specific hdcp data h](j)}(h``struct hdcp_port_data *data``h]j)}(hjh]hstruct hdcp_port_data *data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhjubj)}(hhh]h)}(hIntel HW specific hdcp datah]hIntel HW specific hdcp data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhMhjiubj~)}(hY``struct hdcp2_rep_send_receiverid_list *rep_topology`` Receiver ID List to be validated h](j)}(h7``struct hdcp2_rep_send_receiverid_list *rep_topology``h]j)}(hjh]h3struct hdcp2_rep_send_receiverid_list *rep_topology}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhjubj)}(hhh]h)}(h Receiver ID List to be validatedh]h Receiver ID List to be validated}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhMhjiubj~)}(hE``struct hdcp2_rep_send_ack *rep_send_ack`` repeater ack from ME FW. h](j)}(h+``struct hdcp2_rep_send_ack *rep_send_ack``h]j)}(hjh]h'struct hdcp2_rep_send_ack *rep_send_ack}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhjubj)}(hhh]h)}(hrepeater ack from ME FW.h]hrepeater ack from ME FW.}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2hMhj3ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hj2hMhjiubeh}(h]h ]h"]h$]h&]uh1jxhjMubh)}(h **Return**h]jc)}(hjXh]hReturn}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjVubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhjMubh)}(h0 on Success, <0 on Failureh]h0 on Success, <0 on Failure}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhjMubeh}(h]h ] kernelindentah"]h$]h&]uh1jXhj7hhhNhNubjI)}(hhh]h}(h]h ]h"]h$]h&]entries](jU#mei_hdcp_verify_mprime (C function)c.mei_hdcp_verify_mprimehNtauh1jHhj7hhhNhNubjZ)}(hhh](j_)}(hyint mei_hdcp_verify_mprime (struct device *dev, struct hdcp_port_data *data, struct hdcp2_rep_stream_ready *stream_ready)h]je)}(hxint mei_hdcp_verify_mprime(struct device *dev, struct hdcp_port_data *data, struct hdcp2_rep_stream_ready *stream_ready)h](jk)}(hinth]hint}(hjhhhNhNubah}(h]h ]jwah"]h$]h&]uh1jjhjhhhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjhhhjhMubj)}(hmei_hdcp_verify_mprimeh]j)}(hmei_hdcp_verify_mprimeh]hmei_hdcp_verify_mprime}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhMubj)}(h^(struct device *dev, struct hdcp_port_data *data, struct hdcp2_rep_stream_ready *stream_ready)h](j)}(hstruct device *devh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hdeviceh]hdevice}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.mei_hdcp_verify_mprimeasbuh1hhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hj&hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hdevh]hdev}(hj3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hstruct hdcp_port_data *datah](j)}(hjh]hstruct}(hjLhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjHubj})}(h h]h }(hjYhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjHubh)}(hhh]j)}(hhdcp_port_datah]hhdcp_port_data}(hjjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjgubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjlmodnameN classnameNjj)}j]jc.mei_hdcp_verify_mprimeasbuh1hhjHubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjHubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjHubj)}(hdatah]hdata}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h+struct hdcp2_rep_stream_ready *stream_readyh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hhdcp2_rep_stream_readyh]hhdcp2_rep_stream_ready}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.mei_hdcp_verify_mprimeasbuh1hhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h stream_readyh]h stream_ready}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhMubeh}(h]h ]h"]h$]h&]hhj#uh1jdj$j%hjhhhjhMubah}(h]jah ](j)j*eh"]h$]h&]j.j/)j0huh1j^hjhMhjhhubj2)}(hhh]h)}(hVerify mprime.h]hVerify mprime.}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj:hhubah}(h]h ]h"]h$]h&]uh1j1hjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jRjjSjUjTjUjUjVjWuh1jYhhhj7hNhNubjY)}(hX#**Parameters** ``struct device *dev`` device corresponding to the mei_cl_device ``struct hdcp_port_data *data`` Intel HW specific hdcp data ``struct hdcp2_rep_stream_ready *stream_ready`` RepeaterAuth_Stream_Ready msg for ME FW verification. **Return** 0 on Success, <0 on Failureh](h)}(h**Parameters**h]jc)}(hj_h]h Parameters}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj]ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhjYubjy)}(hhh](j~)}(hA``struct device *dev`` device corresponding to the mei_cl_device h](j)}(h``struct device *dev``h]j)}(hj~h]hstruct device *dev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj|ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhjxubj)}(hhh]h)}(h)device corresponding to the mei_cl_deviceh]h)device corresponding to the mei_cl_device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1j}hjhMhjuubj~)}(h<``struct hdcp_port_data *data`` Intel HW specific hdcp data h](j)}(h``struct hdcp_port_data *data``h]j)}(hjh]hstruct hdcp_port_data *data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhjubj)}(hhh]h)}(hIntel HW specific hdcp datah]hIntel HW specific hdcp data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhMhjuubj~)}(hf``struct hdcp2_rep_stream_ready *stream_ready`` RepeaterAuth_Stream_Ready msg for ME FW verification. h](j)}(h/``struct hdcp2_rep_stream_ready *stream_ready``h]j)}(hjh]h+struct hdcp2_rep_stream_ready *stream_ready}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhjubj)}(hhh]h)}(h5RepeaterAuth_Stream_Ready msg for ME FW verification.h]h5RepeaterAuth_Stream_Ready msg for ME FW verification.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhMhjuubeh}(h]h ]h"]h$]h&]uh1jxhjYubh)}(h **Return**h]jc)}(hj+h]hReturn}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj)ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM hjYubh)}(h0 on Success, <0 on Failureh]h0 on Success, <0 on Failure}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM hjYubeh}(h]h ] kernelindentah"]h$]h&]uh1jXhj7hhhNhNubjI)}(hhh]h}(h]h ]h"]h$]h&]entries](jU+mei_hdcp_enable_authentication (C function) c.mei_hdcp_enable_authenticationhNtauh1jHhj7hhhNhNubjZ)}(hhh](j_)}(hTint mei_hdcp_enable_authentication (struct device *dev, struct hdcp_port_data *data)h]je)}(hSint mei_hdcp_enable_authentication(struct device *dev, struct hdcp_port_data *data)h](jk)}(hinth]hint}(hjphhhNhNubah}(h]h ]jwah"]h$]h&]uh1jjhjlhhhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMdubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjlhhhj~hMdubj)}(hmei_hdcp_enable_authenticationh]j)}(hmei_hdcp_enable_authenticationh]hmei_hdcp_enable_authentication}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1jhjlhhhj~hMdubj)}(h1(struct device *dev, struct hdcp_port_data *data)h](j)}(hstruct device *devh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hdeviceh]hdevice}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsb c.mei_hdcp_enable_authenticationasbuh1hhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hdevh]hdev}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hstruct hdcp_port_data *datah](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hj,hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hhdcp_port_datah]hhdcp_port_data}(hj=hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj:ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj?modnameN classnameNjj)}j]j c.mei_hdcp_enable_authenticationasbuh1hhjubj})}(h h]h }(hj[hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hjihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hdatah]hdata}(hjvhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjlhhhj~hMdubeh}(h]h ]h"]h$]h&]hhj#uh1jdj$j%hjhhhhj~hMdubah}(h]jcah ](j)j*eh"]h$]h&]j.j/)j0huh1j^hj~hMdhjehhubj2)}(hhh]h)}(h*Mark a port as authenticated through ME FWh]h*Mark a port as authenticated through ME FW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMdhjhhubah}(h]h ]h"]h$]h&]uh1j1hjehhhj~hMdubeh}(h]h ](jfunctioneh"]h$]h&]jRjjSjjTjjUjVjWuh1jYhhhj7hNhNubjY)}(h**Parameters** ``struct device *dev`` device corresponding to the mei_cl_device ``struct hdcp_port_data *data`` Intel HW specific hdcp data **Return** 0 on Success, <0 on Failureh](h)}(h**Parameters**h]jc)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhhjubjy)}(hhh](j~)}(hA``struct device *dev`` device corresponding to the mei_cl_device h](j)}(h``struct device *dev``h]j)}(hjh]hstruct device *dev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMfhjubj)}(hhh]h)}(h)device corresponding to the mei_cl_deviceh]h)device corresponding to the mei_cl_device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMfhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hjhMfhjubj~)}(h<``struct hdcp_port_data *data`` Intel HW specific hdcp data h](j)}(h``struct hdcp_port_data *data``h]j)}(hjh]hstruct hdcp_port_data *data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMghjubj)}(hhh]h)}(hIntel HW specific hdcp datah]hIntel HW specific hdcp data}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hMghj0ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j}hj/hMghjubeh}(h]h ]h"]h$]h&]uh1jxhjubh)}(h **Return**h]jc)}(hjUh]hReturn}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjSubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMihjubh)}(h0 on Success, <0 on Failureh]h0 on Success, <0 on Failure}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMihjubeh}(h]h ] kernelindentah"]h$]h&]uh1jXhj7hhhNhNubjI)}(hhh]h}(h]h ]h"]h$]h&]entries](jU#mei_hdcp_close_session (C function)c.mei_hdcp_close_sessionhNtauh1jHhj7hhhNhNubjZ)}(hhh](j_)}(hLint mei_hdcp_close_session (struct device *dev, struct hdcp_port_data *data)h]je)}(hKint mei_hdcp_close_session(struct device *dev, struct hdcp_port_data *data)h](jk)}(hinth]hint}(hjhhhNhNubah}(h]h ]jwah"]h$]h&]uh1jjhjhhhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjhhhjhMubj)}(hmei_hdcp_close_sessionh]j)}(hmei_hdcp_close_sessionh]hmei_hdcp_close_session}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhMubj)}(h1(struct device *dev, struct hdcp_port_data *data)h](j)}(hstruct device *devh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj})}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubh)}(hhh]j)}(hdeviceh]hdevice}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.mei_hdcp_close_sessionasbuh1hhjubj})}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjubj)}(hjh]h*}(hj# hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hdevh]hdev}(hj0 hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hstruct hdcp_port_data *datah](j)}(hjh]hstruct}(hjI hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjE ubj})}(h h]h }(hjV hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjE ubh)}(hhh]j)}(hhdcp_port_datah]hhdcp_port_data}(hjg hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjd ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetji modnameN classnameNjj)}j]j c.mei_hdcp_close_sessionasbuh1hhjE ubj})}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjE ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjE ubj)}(hdatah]hdata}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjE ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhMubeh}(h]h ]h"]h$]h&]hhj#uh1jdj$j%hjhhhjhMubah}(h]jah ](j)j*eh"]h$]h&]j.j/)j0huh1j^hjhMhjhhubj2)}(hhh]h)}(hjClose the Wired HDCP Tx session of ME FW per port. This also disables the authenticated state of the port.h]hjClose the Wired HDCP Tx session of ME FW per port. This also disables the authenticated state of the port.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj hhubah}(h]h ]h"]h$]h&]uh1j1hjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jRjjSj jTj jUjVjWuh1jYhhhj7hNhNubjY)}(h**Parameters** ``struct device *dev`` device corresponding to the mei_cl_device ``struct hdcp_port_data *data`` Intel HW specific hdcp data **Return** 0 on Success, <0 on Failureh](h)}(h**Parameters**h]jc)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj ubjy)}(hhh](j~)}(hA``struct device *dev`` device corresponding to the mei_cl_device h](j)}(h``struct device *dev``h]j)}(hj !h]hstruct device *dev}(hj !hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj !ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj!ubj)}(hhh]h)}(h)device corresponding to the mei_cl_deviceh]h)device corresponding to the mei_cl_device}(hj$!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj !hMhj!!ubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1j}hj !hMhj!ubj~)}(h<``struct hdcp_port_data *data`` Intel HW specific hdcp data h](j)}(h``struct hdcp_port_data *data``h]j)}(hjD!h]hstruct hdcp_port_data *data}(hjF!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjB!ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj>!ubj)}(hhh]h)}(hIntel HW specific hdcp datah]hIntel HW specific hdcp data}(hj]!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjY!hMhjZ!ubah}(h]h ]h"]h$]h&]uh1jhj>!ubeh}(h]h ]h"]h$]h&]uh1j}hjY!hMhj!ubeh}(h]h ]h"]h$]h&]uh1jxhj ubh)}(h **Return**h]jc)}(hj!h]hReturn}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj}!ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj ubh)}(h0 on Success, <0 on Failureh]h0 on Success, <0 on Failure}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jXhj7hhhNhNubjI)}(hhh]h}(h]h ]h"]h$]h&]entries](jU%mei_hdcp_component_match (C function)c.mei_hdcp_component_matchhNtauh1jHhj7hhhNhNubjZ)}(hhh](j_)}(hOint mei_hdcp_component_match (struct device *dev, int subcomponent, void *data)h]je)}(hNint mei_hdcp_component_match(struct device *dev, int subcomponent, void *data)h](jk)}(hinth]hint}(hj!hhhNhNubah}(h]h ]jwah"]h$]h&]uh1jjhj!hhhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMubj})}(h h]h }(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj!hhhj!hMubj)}(hmei_hdcp_component_matchh]j)}(hmei_hdcp_component_matchh]hmei_hdcp_component_match}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubah}(h]h ](jjeh"]h$]h&]hhuh1jhj!hhhj!hMubj)}(h2(struct device *dev, int subcomponent, void *data)h](j)}(hstruct device *devh](j)}(hjh]hstruct}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubj})}(h h]h }(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj!ubh)}(hhh]j)}(hdeviceh]hdevice}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj!"modnameN classnameNjj)}j]j)}jj!sbc.mei_hdcp_component_matchasbuh1hhj!ubj})}(h h]h }(hj?"hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj!ubj)}(hjh]h*}(hjM"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubj)}(hdevh]hdev}(hjZ"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj!ubj)}(hint subcomponenth](jk)}(hinth]hint}(hjs"hhhNhNubah}(h]h ]jwah"]h$]h&]uh1jjhjo"ubj})}(h h]h }(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hjo"ubj)}(h subcomponenth]h subcomponent}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjo"ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj!ubj)}(h void *datah](jk)}(hvoidh]hvoid}(hj"hhhNhNubah}(h]h ]jwah"]h$]h&]uh1jjhj"ubj})}(h h]h }(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1j|hj"ubj)}(hjh]h*}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"ubj)}(hdatah]hdata}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj!ubeh}(h]h ]h"]h$]h&]hhuh1jhj!hhhj!hMubeh}(h]h ]h"]h$]h&]hhj#uh1jdj$j%hj!hhhj!hMubah}(h]j!ah ](j)j*eh"]h$]h&]j.j/)j0huh1j^hj!hMhj!hhubj2)}(hhh]h)}(h'compare function for matching mei hdcp.h]h'compare function for matching mei hdcp.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj"hhubah}(h]h ]h"]h$]h&]uh1j1hj!hhhj!hMubeh}(h]h ](jfunctioneh"]h$]h&]jRjjSj#jTj#jUjVjWuh1jYhhhj7hNhNubjY)}(hX**Parameters** ``struct device *dev`` master device ``int subcomponent`` subcomponent to match (I915_COMPONENT_HDCP) ``void *data`` compare data (mei hdcp device) **Description** The function checks if the driver is i915, the subcomponent is HDCP and the grand parent of hdcp and the parent of i915 are the same PCH device. **Return** * 1 - if components match * 0 - otherwiseh](h)}(h**Parameters**h]jc)}(hj#h]h Parameters}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj#ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj#ubjy)}(hhh](j~)}(h%``struct device *dev`` master device h](j)}(h``struct device *dev``h]j)}(hj<#h]hstruct device *dev}(hj>#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:#ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj6#ubj)}(hhh]h)}(h master deviceh]h master device}(hjU#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQ#hMhjR#ubah}(h]h ]h"]h$]h&]uh1jhj6#ubeh}(h]h ]h"]h$]h&]uh1j}hjQ#hMhj3#ubj~)}(hA``int subcomponent`` subcomponent to match (I915_COMPONENT_HDCP) h](j)}(h``int subcomponent``h]j)}(hju#h]hint subcomponent}(hjw#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjs#ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhjo#ubj)}(hhh]h)}(h+subcomponent to match (I915_COMPONENT_HDCP)h]h+subcomponent to match (I915_COMPONENT_HDCP)}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#hMhj#ubah}(h]h ]h"]h$]h&]uh1jhjo#ubeh}(h]h ]h"]h$]h&]uh1j}hj#hMhj3#ubj~)}(h.``void *data`` compare data (mei hdcp device) h](j)}(h``void *data``h]j)}(hj#h]h void *data}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj#ubj)}(hhh]h)}(hcompare data (mei hdcp device)h]hcompare data (mei hdcp device)}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#hMhj#ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1j}hj#hMhj3#ubeh}(h]h ]h"]h$]h&]uh1jxhj#ubh)}(h**Description**h]jc)}(hj#h]h Description}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj#ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM hj#ubj)}(hThe function checks if the driver is i915, the subcomponent is HDCP and the grand parent of hdcp and the parent of i915 are the same PCH device. h]h)}(hThe function checks if the driver is i915, the subcomponent is HDCP and the grand parent of hdcp and the parent of i915 are the same PCH device.h]hThe function checks if the driver is i915, the subcomponent is HDCP and the grand parent of hdcp and the parent of i915 are the same PCH device.}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj#ubah}(h]h ]h"]h$]h&]uh1jhj$hMhj#ubh)}(h **Return**h]jc)}(hj$h]hReturn}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj$ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chMhj#ubh bullet_list)}(hhh](h list_item)}(h1 - if components matchh]h)}(hj9$h]h1 - if components match}(hj;$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM hj7$ubah}(h]h ]h"]h$]h&]uh1j5$hj2$ubj6$)}(h 0 - otherwiseh]h)}(hjQ$h]h 0 - otherwise}(hjS$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/hdcp:30: ./drivers/misc/mei/hdcp/mei_hdcp.chM hjO$ubah}(h]h ]h"]h$]h&]uh1j5$hj2$ubeh}(h]h ]h"]h$]h&]bulletjuh1j0$hjH$hM hj#ubeh}(h]h ] kernelindentah"]h$]h&]uh1jXhj7hhhNhNubeh}(h] mei-hdcp-apiah ]h"] mei_hdcp apiah$]h&]uh1hhhhhhhhKubeh}(h]hdcpah ]h"]hdcp:ah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj$error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j$j$j4j1jz$jw$u nametypes}(j$j4jz$uh}(j$hj1jjw$j7jWj`jpjujjj j jjjnjsjAjFjjjjjcjhjjj!j!u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.