ENUM HDCP_PORT_TYPE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum hdcp_port_type (kernel API manual, section 9, bestie)

okay so picture this: you're deep in the kernel, you open up the i915 HDCP interface header, and you meet this little enum. it's the HDCP port implementation type defined by ME/GSC FW β€” like, firmware said "here's what kind of port this is" and this enum is the receipt. slay.


✨ SYNOPSIS ✨

enum hdcp_port_type {
    HDCP_PORT_TYPE_INVALID ,
    HDCP_PORT_TYPE_INTEGRATED ,
    HDCP_PORT_TYPE_LSPCON ,
    HDCP_PORT_TYPE_CPDP

};

yes bestie, that trailing blank line before the closing brace is canon, we don't touch it πŸ’…


πŸŽ€ CONSTANTS πŸŽ€

  • HDCP_PORT_TYPE_INVALID β€” the "no thoughts, head empty" option. literally just an invalid hdcp port type. if you see this, the vibe check failed πŸ™ˆ
  • HDCP_PORT_TYPE_INTEGRATED β€” an In-Host HDCP2.x port. it's built in, it's living inside the host, main character energy fr fr πŸ’–
  • HDCP_PORT_TYPE_LSPCON β€” an HDCP2.2 discrete wired Tx port with LSPCON (HDMI 2.0) solution. discrete! wired! transmitting! and doing it with the LSPCON (HDMI 2.0) solution. iconic combo πŸ¦‹
  • HDCP_PORT_TYPE_CPDP β€” an HDCP2.2 discrete wired Tx port using the CPDP (DP 1.3) solution. same discrete wired Tx energy, but this one's running the CPDP (DP 1.3) solution instead. two solutions, two vibes, both valid ✨

πŸ‘‘ SEE ALSO πŸ‘‘

go look at the kernel file ./include/drm/intel/i915_hdcp_interface.h, and while you're in there, the whole friend group:

  • enum hdcp_wired_protocol(9)
  • enum hdcp_transcoder(9)
  • struct hdcp_port_data(9)
  • struct i915_hdcp_ops(9)
  • struct i915_hdcp_arbiter(9)

they all live together, they all link together, it's giving found family 🫢


ngl if you're here it's probably because you're tracing HDCP through i915 and you wanted to know which flavor of port firmware handed you. you got this, bestie πŸ’œ

that's the whole page, no cap β€” brought to you by ./include/drm/intel, dated October 2026, filed under enum hdcp_port_type(9) in your Kernel API Manual. mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from