STRUCT I915_HDCP_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

okay so bestie, welcome to the struct i915_hdcp_ops(9) page from the Kernel API Manual ✨ this is literally the ops for HDCP2.2 services, and it's giving β€œsmall struct, serious business” energy. no cap. 🫢

✨ SYNOPSIS ✨

here's the struct in full, verbatim, because we do not mess with C signatures:

struct i915_hdcp_ops {
    struct module *owner;
    int (*initiate_hdcp2_session)(struct device *dev, struct hdcp_port_data *data, struct hdcp2_ake_init *ake_data);
    int (*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);
    int (*verify_hprime)(struct device *dev, struct hdcp_port_data *data, struct hdcp2_ake_send_hprime *rx_hprime);
    int (*store_pairing_info)(struct device *dev, struct hdcp_port_data *data, struct hdcp2_ake_send_pairing_info *pairing_info);
    int (*initiate_locality_check)(struct device *dev, struct hdcp_port_data *data, struct hdcp2_lc_init *lc_init_data);
    int (*verify_lprime)(struct device *dev, struct hdcp_port_data *data, struct hdcp2_lc_send_lprime *rx_lprime);
    int (*get_session_key)(struct device *dev, struct hdcp_port_data *data, struct hdcp2_ske_send_eks *ske_data);
    int (*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);
    int (*verify_mprime)(struct device *dev, struct hdcp_port_data *data, struct hdcp2_rep_stream_ready *stream_ready);
    int (*enable_hdcp_authentication)(struct device *dev, struct hdcp_port_data *data);
    int (*close_hdcp_session)(struct device *dev, struct hdcp_port_data *data);
};

πŸŽ€ Members πŸŽ€

each member is a function-pointer bestie with a job. roster time, iykyk:

  • owner β€” hdcp module.
  • initiate_hdcp2_session β€” initiates a Wired HDCP2.2 Tx Session and prepares AKE_Init.
  • verify_receiver_cert_prepare_km β€” verifies the Receiver Certificate AKE_Send_Cert and prepares AKE_Stored_Km/AKE_No_Stored_Km.
  • verify_hprime β€” verifies AKE_Send_H_prime.
  • store_pairing_info β€” stores the pairing info received.
  • initiate_locality_check β€” prepares LC_Init.
  • verify_lprime β€” verifies lprime.
  • get_session_key β€” prepares SKE_Send_Eks.
  • repeater_check_flow_prepare_ack β€” validates the Downstream topology and prepares rep_ack.
  • verify_mprime β€” verifies mprime.
  • enable_hdcp_authentication β€” marks a port as authenticated.
  • close_hdcp_session β€” closes the Wired HDCP Tx session per port. This also disables the authenticated state of the port.

🌈 SEE ALSO 🌈

Kernel file ./include/drm/intel/i915_hdcp_interface.h, plus enum hdcp_port_type(9), enum hdcp_wired_protocol(9), enum hdcp_transcoder(9), struct hdcp_port_data(9), and struct i915_hdcp_arbiter(9). go read those too, bestie πŸ’œ


mwah πŸ’‹ little sign-off: this page lives at ./include/drm/intel, dated October 2026, and it's struct i915_hdcp_ops(9). bye bestie 🫢

πŸ“¦ where this page comes from