ENUM DRM_BRIDGE_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME

okay so bestie, welcome to the enum drm_bridge_ops(9) page from the Kernel API Manual β€” it’s literally the bitmask of operations supported by the bridge. Think of it as the bridge’s β€œwhat can I actually do?” checklist, and every flag is a yes/no vibe. ✨


🌸 SYNOPSIS

       enum drm_bridge_ops {
           DRM_BRIDGE_OP_DETECT ,
           DRM_BRIDGE_OP_EDID ,
           DRM_BRIDGE_OP_HPD ,
           DRM_BRIDGE_OP_MODES ,
           DRM_BRIDGE_OP_HDMI ,
           DRM_BRIDGE_OP_HDMI_AUDIO ,
           DRM_BRIDGE_OP_DP_AUDIO ,
           DRM_BRIDGE_OP_HDMI_CEC_NOTIFIER ,
           DRM_BRIDGE_OP_HDMI_CEC_ADAPTER ,
           DRM_BRIDGE_OP_HDMI_HDR_DRM_INFOFRAME ,
           DRM_BRIDGE_OP_HDMI_SPD_INFOFRAME

       };

🧩 Constants

Each one is iconic in its own way, and if a bridge sets a flag with a callback, it has to actually implement that callback β€” no fake main character energy allowed πŸ’…

  • DRM_BRIDGE_OP_DETECT β€” the bridge can detect displays connected to its output. Bridges that set this flag shall implement the drm_bridge_funcs->detect callback.
  • DRM_BRIDGE_OP_EDID β€” the bridge can retrieve the EDID of the display connected to its output. Bridges that set this flag shall implement the drm_bridge_funcs->edid_read callback.
  • DRM_BRIDGE_OP_HPD β€” the bridge can detect hot-plug and hot-unplug without requiring polling. Bridges that set this flag shall implement the drm_bridge_funcs->hpd_enable and drm_bridge_funcs->hpd_disable callbacks if they support enabling and disabling hot-plug detection dynamically.
  • DRM_BRIDGE_OP_MODES β€” the bridge can retrieve the modes supported by the display at its output. This does not include reading EDID which is separately covered by DRM_BRIDGE_OP_EDID. Bridges that set this flag shall implement the drm_bridge_funcs->get_modes callback.
  • DRM_BRIDGE_OP_HDMI β€” the bridge provides HDMI connector operations, including infoframes support. Bridges that set this flag must provide HDMI-related information and implement the drm_bridge_funcs->clear_avi_infoframe, drm_bridge_funcs->write_avi_infoframe, drm_bridge_funcs->clear_hdmi_infoframe and drm_bridge_funcs->write_hdmi_infoframe callbacks.
Note: currently there can be at most one bridge in a chain that sets this bit. This is to simplify corresponding glue code in connector drivers.
  • DRM_BRIDGE_OP_HDMI_AUDIO β€” the bridge provides HDMI audio operations. Bridges that set this flag must implement the drm_bridge_funcs->hdmi_audio_prepare and drm_bridge_funcs->hdmi_audio_shutdown callbacks. If the bridge implements DRM_BRIDGE_OP_HDMI, it also must implement drm_bridge_funcs->hdmi_write_audio_infoframe and drm_bridge_funcs->hdmi_cleaer_audio_infoframe callbacks.
Note: currently there can be at most one bridge in a chain that sets this bit. This is to simplify corresponding glue code in connector drivers. Also it is not possible to have a bridge in the chain that sets DRM_BRIDGE_OP_DP_AUDIO if there is a bridge that sets this flag.
  • DRM_BRIDGE_OP_DP_AUDIO β€” the bridge provides DisplayPort audio operations. Bridges that set this flag must implement the drm_bridge_funcs->dp_audio_prepare and drm_bridge_funcs->dp_audio_shutdown callbacks.
Note: currently there can be at most one bridge in a chain that sets this bit. This is to simplify corresponding glue code in connector drivers. Also it is not possible to have a bridge in the chain that sets DRM_BRIDGE_OP_HDMI_AUDIO if there is a bridge that sets this flag.
  • DRM_BRIDGE_OP_HDMI_CEC_NOTIFIER β€” the bridge requires CEC notifier to be present.
  • DRM_BRIDGE_OP_HDMI_CEC_ADAPTER β€” the bridge requires CEC adapter to be present.
  • DRM_BRIDGE_OP_HDMI_HDR_DRM_INFOFRAME β€” the bridge supports drm_bridge_funcs->hdmi_write_hdr_drm_infoframe and drm_bridge_funcs->hdmi_clear_hdr_drm_infoframe callbacks.
  • DRM_BRIDGE_OP_HDMI_SPD_INFOFRAME β€” the bridge supports drm_bridge_funcs->hdmi_write_spd_infoframe and drm_bridge_funcs->hdmi_clear_spd_infoframe callbacks.

πŸ‘€ SEE ALSO

Kernel file ./include/drm/drm_bridge.h is where it lives, bestie. Also go say hi to enum drm_bridge_attach_flags(9), struct drm_bridge_funcs(9), struct drm_bridge_timings(9), struct drm_bridge(9), devm_drm_bridge_alloc(9), drm_bridge_get_current_state(9), drm_bridge_get_next_bridge(9), drm_bridge_get_prev_bridge(9), drm_bridge_chain_get_first_bridge(9), drm_bridge_chain_get_last_bridge(9), drm_for_each_bridge_in_chain(9), drm_for_each_bridge_in_chain_from(9).

mwah πŸ’‹ β€” this page is sourced from ./include/drm, dated October 2026. Now go slay those bridge ops, bestie πŸ«Άβœ¨πŸ‘‘

πŸ“¦ where this page comes from