/* per link events dm has to notify to hdcp module */ enum mod_hdcp_event {
MOD_HDCP_EVENT_CALLBACK = 0,
MOD_HDCP_EVENT_WATCHDOG_TIMEOUT,
MOD_HDCP_EVENT_CPIRQ
};
/* used to represent per display info */ struct mod_hdcp_display { enum mod_hdcp_display_state state;
uint8_t index;
uint8_t controller;
uint8_t dig_fe;
uint8_t stream_enc_idx; union {
uint8_t vc_id;
}; struct mod_hdcp_display_adjustment adjust;
};
/* used to represent per link info */ /* in case a link has multiple displays, they share the same link info */ struct mod_hdcp_link { enum mod_hdcp_operation_mode mode;
uint8_t dig_be;
uint8_t ddc_line;
uint8_t link_enc_idx;
uint8_t phy_idx;
uint8_t dio_output_id;
uint8_t hdcp_supported_informational; union { struct mod_hdcp_displayport dp; struct mod_hdcp_hdmi hdmi;
}; struct mod_hdcp_link_adjustment adjust;
};
/* a query structure for a display's hdcp information */ struct mod_hdcp_display_query { conststruct mod_hdcp_display *display; conststruct mod_hdcp_link *link; conststruct mod_hdcp_trace *trace; enum mod_hdcp_encryption_status encryption_status;
};
/* dm allocates memory of mod_hdcp per dc_link on dm init based on memory size*/
size_t mod_hdcp_get_memory_size(void);
/* called per link on link creation */ enum mod_hdcp_status mod_hdcp_setup(struct mod_hdcp *hdcp, struct mod_hdcp_config *config);
/* called per link on link destroy */ enum mod_hdcp_status mod_hdcp_teardown(struct mod_hdcp *hdcp);
/* called per display after stream is enabled */ enum mod_hdcp_status mod_hdcp_add_display(struct mod_hdcp *hdcp, struct mod_hdcp_link *link, struct mod_hdcp_display *display, struct mod_hdcp_output *output);
/* called per display before stream is disabled */ enum mod_hdcp_status mod_hdcp_remove_display(struct mod_hdcp *hdcp,
uint8_t index, struct mod_hdcp_output *output);
/* called per display to apply new authentication adjustment */ enum mod_hdcp_status mod_hdcp_update_display(struct mod_hdcp *hdcp,
uint8_t index, struct mod_hdcp_link_adjustment *link_adjust, struct mod_hdcp_display_adjustment *display_adjust, struct mod_hdcp_output *output);
/* called to query hdcp information on a specific index */ enum mod_hdcp_status mod_hdcp_query_display(struct mod_hdcp *hdcp,
uint8_t index, struct mod_hdcp_display_query *query);
/* called per link on connectivity change */ enum mod_hdcp_status mod_hdcp_reset_connection(struct mod_hdcp *hdcp, struct mod_hdcp_output *output);
/* called per link on events (i.e. callback, watchdog, CP_IRQ) */ enum mod_hdcp_status mod_hdcp_process_event(struct mod_hdcp *hdcp, enum mod_hdcp_event event, struct mod_hdcp_output *output);
/* called to convert enum mod_hdcp_status to c string */ char *mod_hdcp_status_to_str(int32_t status);
/* called to convert state id to c string */ char *mod_hdcp_state_id_to_str(int32_t id);
/* called to convert signal type to operation mode */ enum mod_hdcp_operation_mode mod_hdcp_signal_type_to_operation_mode( enum signal_type signal); #endif/* MOD_HDCP_H_ */
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-10-05)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.