Home
last modified time | relevance | path

Searched full:hdcp (Results 1 – 25 of 63) sorted by relevance

123

/linux/drivers/gpu/drm/amd/display/modules/hdcp/
H A Dhdcp_ddc.c26 #include "hdcp.h"
40 /* HDCP 1.4 */
58 /* HDCP 2.2 */
152 static enum mod_hdcp_status read(struct mod_hdcp *hdcp, in read() argument
165 if (is_dp_hdcp(hdcp)) { in read()
172 success = hdcp->config.ddc.funcs.read_dpcd(hdcp->config.ddc.handle, in read()
188 success = hdcp->config.ddc.funcs.read_i2c( in read()
189 hdcp->config.ddc.handle, in read()
199 static enum mod_hdcp_status read_repeatedly(struct mod_hdcp *hdcp, in read_repeatedly() argument
211 status = read(hdcp, msg_id, buf + data_offset, cur_size); in read_repeatedly()
[all …]
H A Dhdcp_log.c27 #include "hdcp.h"
60 void mod_hdcp_log_ddc_trace(struct mod_hdcp *hdcp) in mod_hdcp_log_ddc_trace() argument
62 if (is_hdcp1(hdcp)) { in mod_hdcp_log_ddc_trace()
63 HDCP_DDC_READ_TRACE(hdcp, "BKSV", hdcp->auth.msg.hdcp1.bksv, in mod_hdcp_log_ddc_trace()
64 sizeof(hdcp->auth.msg.hdcp1.bksv)); in mod_hdcp_log_ddc_trace()
65 HDCP_DDC_READ_TRACE(hdcp, "BCAPS", &hdcp->auth.msg.hdcp1.bcaps, in mod_hdcp_log_ddc_trace()
66 sizeof(hdcp->auth.msg.hdcp1.bcaps)); in mod_hdcp_log_ddc_trace()
67 HDCP_DDC_READ_TRACE(hdcp, "BSTATUS", in mod_hdcp_log_ddc_trace()
68 (uint8_t *)&hdcp->auth.msg.hdcp1.bstatus, in mod_hdcp_log_ddc_trace()
69 sizeof(hdcp->auth.msg.hdcp1.bstatus)); in mod_hdcp_log_ddc_trace()
[all …]
H A Dhdcp1_transition.c26 #include "hdcp.h"
28 enum mod_hdcp_status mod_hdcp_hdcp1_transition(struct mod_hdcp *hdcp, in mod_hdcp_hdcp1_transition() argument
34 struct mod_hdcp_connection *conn = &hdcp->connection; in mod_hdcp_hdcp1_transition()
35 struct mod_hdcp_link_adjustment *adjust = &hdcp->connection.link.adjust; in mod_hdcp_hdcp1_transition()
37 switch (current_state(hdcp)) { in mod_hdcp_hdcp1_transition()
42 increment_stay_counter(hdcp); in mod_hdcp_hdcp1_transition()
46 set_state_id(hdcp, output, H1_A1_EXCHANGE_KSVS); in mod_hdcp_hdcp1_transition()
64 set_state_id(hdcp, output, in mod_hdcp_hdcp1_transition()
87 set_watchdog_in_ms(hdcp, 5000, output); in mod_hdcp_hdcp1_transition()
88 set_state_id(hdcp, output, H1_A8_WAIT_FOR_READY); in mod_hdcp_hdcp1_transition()
[all …]
H A DMakefile23 # Makefile for the 'hdcp' sub-module of DAL.
26 HDCP = hdcp_ddc.o hdcp_log.o hdcp_psp.o hdcp.o \ macro
30 AMD_DAL_HDCP = $(addprefix $(AMDDALPATH)/modules/hdcp/,$(HDCP))
/linux/drivers/gpu/drm/i915/display/
H A Dintel_hdcp.c45 struct intel_hdcp *hdcp, in intel_hdcp_adjust_hdcp_line_rekeying() argument
57 rekey_reg = TRANS_DDI_FUNC_CTL(display, hdcp->cpu_transcoder); in intel_hdcp_adjust_hdcp_line_rekeying()
61 rekey_reg = TRANS_DDI_FUNC_CTL(display, hdcp->cpu_transcoder); in intel_hdcp_adjust_hdcp_line_rekeying()
64 rekey_reg = CHICKEN_TRANS(display, hdcp->cpu_transcoder); in intel_hdcp_adjust_hdcp_line_rekeying()
101 * intel_hdcp_required_content_stream selects the most highest common possible HDCP
106 * HDCP 2.2 capable sink because of other sink are not capable of HDCP 2.2 in
119 struct hdcp_port_data *data = &dig_port->hdcp.port_data; in intel_hdcp_required_content_stream()
123 if (dig_port->hdcp.auth_status) in intel_hdcp_required_content_stream()
128 if (!dig_port->hdcp.mst_type1_capable) in intel_hdcp_required_content_stream()
179 struct hdcp_port_data *data = &dig_port->hdcp.port_data; in intel_hdcp_prepare_streams()
[all …]
H A Dintel_hdcp_gsc_message.c31 dev_err(dev, "DRM not initialized, aborting HDCP.\n"); in intel_hdcp_gsc_initiate_session()
34 gsc_context = display->hdcp.gsc_context; in intel_hdcp_gsc_initiate_session()
89 dev_err(dev, "DRM not initialized, aborting HDCP.\n"); in intel_hdcp_gsc_verify_receiver_cert_prepare_km()
92 gsc_context = display->hdcp.gsc_context; in intel_hdcp_gsc_verify_receiver_cert_prepare_km()
153 dev_err(dev, "DRM not initialized, aborting HDCP.\n"); in intel_hdcp_gsc_verify_hprime()
156 gsc_context = display->hdcp.gsc_context; in intel_hdcp_gsc_verify_hprime()
202 dev_err(dev, "DRM not initialized, aborting HDCP.\n"); in intel_hdcp_gsc_store_pairing_info()
205 gsc_context = display->hdcp.gsc_context; in intel_hdcp_gsc_store_pairing_info()
254 dev_err(dev, "DRM not initialized, aborting HDCP.\n"); in intel_hdcp_gsc_initiate_locality_check()
257 gsc_context = display->hdcp.gsc_context; in intel_hdcp_gsc_initiate_locality_check()
[all …]
/linux/include/drm/intel/
H A Di915_hdcp_interface.h17 * enum hdcp_port_type - HDCP port implementation type defined by ME/GSC FW
18 * @HDCP_PORT_TYPE_INVALID: Invalid hdcp port type
33 * enum hdcp_wired_protocol - HDCP adaptation used on the port
34 * @HDCP_PROTOCOL_INVALID: Invalid HDCP adaptation protocol
35 * @HDCP_PROTOCOL_HDMI: HDMI adaptation of HDCP used on the port
36 * @HDCP_PROTOCOL_DP: DP adaptation of HDCP used on the port
79 * struct hdcp_port_data - intel specific HDCP port data
82 * @port_type: HDCP port type as per ME/GSC FW classification
83 * @protocol: HDCP adaptation as per ME/GSC FW
119 * @close_hdcp_session: Close the Wired HDCP Tx session per port.
[all …]
/linux/drivers/gpu/drm/bridge/analogix/
H A Danalogix-i2c-dptx.h15 /* HDCP Status Register */
20 /* HDCP Control Register 0 */
29 /* HDCP Function Enabled */
32 /* HDCP Receiver BSTATUS Register 0 */
34 /* HDCP Receiver BSTATUS Register 1 */
37 /* HDCP Embedded "Blue Screen" Content Registers */
42 /* HDCP Wait R0 Timing Register */
45 /* HDCP Link Integrity Check Timer Register */
48 /* HDCP Repeater Ready Wait Timer Register */
51 /* HDCP Auto Timer Register */
[all …]
/linux/drivers/gpu/drm/display/
H A Ddrm_hdcp_helper.c261 * @drm_dev: drm_device for which HDCP revocation check is requested
262 * @ksvs: List of KSVs (HDCP receiver IDs)
265 * This function reads the HDCP System renewability Message(SRM Table)
266 * from userspace as a firmware and parses it for the revoked HDCP
275 * 1. Renewability chapter on 55th page of HDCP 1.4 specification
276 …* https://www.digital-cp.com/sites/default/files/specifications/HDCP%20Specification%20Rev1_4_Secu…
277 * 2. Renewability chapter on 63rd page of HDCP 2.2 specification
278 …* https://www.digital-cp.com/sites/default/files/specifications/HDCP%20on%20HDMI%20Specification%2…
319 { DRM_MODE_HDCP_CONTENT_TYPE0, "HDCP Type0" },
320 { DRM_MODE_HDCP_CONTENT_TYPE1, "HDCP Type1" },
[all …]
/linux/Documentation/driver-api/mei/
H A Dhdcp.rst3 HDCP:
11 according the HDCP 2.2 spec. The Intel graphics sends the created blob
19 the HDCP encryption keys to Intel graphics hardware.
24 .. kernel-doc:: drivers/misc/mei/hdcp/mei_hdcp.c
30 .. kernel-doc:: drivers/misc/mei/hdcp/mei_hdcp.c
/linux/include/drm/display/
H A Ddrm_hdcp.h14 /* Period of hdcp checks (to ensure we're still authenticated) */
29 /* Slave address for the HDCP registers in the receiver */
35 /* HDCP register offsets for HDMI/DVI devices */
54 * - Type0: Can be transmitted with HDCP 1.4+
55 * - Type1: Can be transmitted with HDCP 2.2+
139 * The TxCaps field specified in the HDCP HDMI, DP specs
146 /* Reserved for HDCP and DP Spec. Read as Zero */
257 * Helper functions to convert 24bit big endian hdcp sequence number to
/linux/drivers/misc/mei/hdcp/
H A Dmei_hdcp.c5 * mei_hdcp.c: HDCP client driver for mei bus
14 * The mei_hdcp driver acts as a translation layer between HDCP 2.2
34 * @data: Intel HW specific hdcp data
97 * @data: Intel HW specific hdcp data
177 * @data: Intel HW specific hdcp data
234 * @data: Intel HW specific hdcp data
293 * @data: Intel HW specific hdcp data
349 * @data: Intel HW specific hdcp data
408 * @data: Intel HW specific hdcp data
467 * @data: Intel HW specific hdcp data
[all …]
H A DMakefile5 # Makefile - HDCP client driver for Intel MEI Bus Driver.
/linux/drivers/media/i2c/
H A Dtda1997x_regs.h241 #define HDMI_FLAGS_HDCP BIT(4) /* HDCP detected */
299 /* HDCP DE Control */
314 /* HDCP EP Filter Control */
437 #define INTERRUPT_HDCP BIT(6) /* HDCP module */
446 #define MASK_HDCP_MTP BIT(7) /* HDCP MTP busy */
447 #define MASK_HDCP_DLMTP BIT(4) /* HDCP end download MTP to SRAM */
448 #define MASK_HDCP_DLRAM BIT(3) /* HDCP end download keys from SRAM */
449 #define MASK_HDCP_ENC BIT(2) /* HDCP ENC */
450 #define MASK_STATE_C5 BIT(1) /* HDCP State C5 reached */
478 #define MASK_HDCP_DDC_SW BIT(2) /* HDCP DDC switching finished */
[all …]
/linux/drivers/gpu/drm/bridge/cadence/
H A Dcdns-mhdp8546-hdcp.h24 #define HDCP_CONFIG_1_4 BIT(0) /* use HDCP 1.4 only */
25 #define HDCP_CONFIG_2_2 BIT(1) /* use HDCP 2.2 only */
26 /* use All HDCP versions */
/linux/Documentation/devicetree/bindings/display/bridge/
H A Dite,it6505.yaml17 fully compliant with DisplayPort 1.1a, HDCP 1.3 specifications.
28 Each IT6505 chip comes preprogrammed with an unique HDCP key,
29 in compliance with the HDCP 1.3 standard so as to provide secure
31 purchase any HDCP keys or ROMs.
/linux/drivers/gpu/drm/i915/
H A Di915_hdcp_gsc.c48 /* allocate object of two page for HDCP command memory and store it */ in intel_hdcp_gsc_initialize_message()
52 drm_err(&i915->drm, "Failed to allocate HDCP streaming command!\n"); in intel_hdcp_gsc_initialize_message()
138 drm_err(&i915->drm, "failed to send gsc HDCP msg (%d)\n", ret); in intel_gsc_send_sync()
169 * gsc cs memory header as stated in specs after which the normal HDCP payload
228 drm_warn(&i915->drm, "caller with insufficient HDCP reply size %u (%d)\n", in intel_hdcp_gsc_msg_send()
/linux/Documentation/devicetree/bindings/soc/imx/
H A Dfsl,imx8mp-hdmi-blk-ctrl.yaml43 - const: hdcp
65 - const: hdcp
97 "hdcp", "hrv";
/linux/drivers/gpu/drm/amd/display/dc/hdcp/
H A DMakefile21 # Makefile for the 'hdcp' sub-component of DAL.
26 AMD_DAL_HDCP_MSG = $(addprefix $(AMDDALPATH)/dc/hdcp/,$(HDCP_MSG))
/linux/drivers/gpu/drm/amd/display/include/
H A Dhdcp_msg_types.h32 /* HDCP 1.4 */
52 /* HDCP 2.2 */
/linux/drivers/gpu/drm/xe/display/
H A Dxe_hdcp_gsc.c75 /* allocate object of two page for HDCP command memory and store it */ in intel_hdcp_gsc_initialize_message()
82 drm_err(&xe->drm, "Failed to allocate bo for HDCP streaming command!\n"); in intel_hdcp_gsc_initialize_message()
146 drm_err(&xe->drm, "failed to send gsc HDCP msg (%d)\n", ret); in xe_gsc_send_sync()
/linux/drivers/gpu/drm/bridge/
H A Dsil-sii8620.h863 /* HDCP Polling Control and Status, default value: 0x70 */
873 /* HDCP Interrupt 0, default value: 0x00 */
876 /* HDCP Interrupt 0 Mask, default value: 0x00 */
879 /* HDCP General Control 0, default value: 0x02 */
890 /* HDCP General Control 1, default value: 0x08 */
898 /* HDCP Misc Control, default value: 0x00 */
906 /* HDCP RPT SMNG K, default value: 0x00 */
909 /* HDCP RPT SMNG In, default value: 0x00 */
912 /* HDCP Auth Status, default value: 0x00 */
915 /* HDCP RPT RCVID Out, default value: 0x00 */
[all …]
/linux/Documentation/admin-guide/perf/
H A Dmeson-ddr-pmu.rst30 + hdcp - from HDCP controller
/linux/Documentation/userspace-api/media/v4l/
H A Dext-ctrls-dv.rst24 Identification Data, :ref:`vesaedid`) and HDCP (High-bandwidth Digital
25 Content Protection System, :ref:`hdcp`) processing, allowing the
26 device to do the fairly slow EDID/HDCP handling in advance. This allows
/linux/drivers/gpu/drm/
H A Ddrm_connector.c1599 * the appropriate means of protection (most often HDCP), and use the
1643 * HDCP Content Type:
1646 * display content that userspace intended to display through HDCP
1650 * "HDCP Type0" or "HDCP Type1".
1653 * - "HDCP Type0": DRM_MODE_HDCP_CONTENT_TYPE0 = 0
1654 * - "HDCP Type1": DRM_MODE_HDCP_CONTENT_TYPE1 = 1
1656 * When kernel starts the HDCP authentication (see "Content Protection"
1657 * for details), it uses the content type in "HDCP Content Type"
1658 * for performing the HDCP authentication with the display sink.
1660 * Please note in HDCP spec versions, a link can be authenticated with
[all …]

123