STRUCT DRM_CONNECTOR_INFOFRAME_FUNCS(9)
π NAME π
struct drm_connector_infoframe_funcs β the InfoFrame-related functions, and yes this is the Kernel API Manual energy we're bringing today π«Ά
β¨ SYNOPSIS β¨
struct drm_connector_infoframe_funcs {
int (*clear_infoframe)(struct drm_connector *connector);
int (*write_infoframe)(struct drm_connector *connector, const u8
*buffer, size_t len);
};
π Members π
πΈ clear_infoframe
Okay so picture this: this callback gets invoked through drm_atomic_helper_connector_hdmi_update_infoframes during a commit, and its whole job is to clear the infoframes into the hardware. Iconic behavior honestly. It gets called once for each frame type to be disabled β one at a time, no skipping, no grouping, periodt π
The clear_infoframe callback is mandatory for AVI and HDMI-VS InfoFrame types. Not optional. Not a vibe. Mandatory π₯
Returns: 0 on success, a negative error code otherwise π
π¦ write_infoframe
This callback is invoked through drm_atomic_helper_connector_hdmi_update_infoframes during a commit to program the infoframes into the hardware. It will be called for every updated infoframe type β so if you updated a bunch, bestie, it's showing up for each one π
The write_infoframe callback is mandatory for AVI and HDMI-VS InfoFrame types. Same deal as above, no cap π
Returns: 0 on success, a negative error code otherwise π
π SEE ALSO π
The kernel file here is ./include/drm/drm_connector.h, and it comes with a whole friend group of references β every single one, because we don't do leaving people out π«Ά
enum drm_connector_status(9)enum drm_connector_registration_state(9)enum drm_connector_tv_mode(9)struct drm_scrambling(9)struct drm_hdmi_dsc_cap(9)struct drm_hdmi_info(9)enum drm_link_status(9)enum drm_panel_orientation(9)enum drm_hdmi_broadcast_rgb(9)struct drm_monitor_range_info(9)struct drm_luminance_range_info(9)enum drm_privacy_screen_status(9)enum drm_colorspace(9)enum drm_output_color_format(9)enum drm_connector_color_format(9)enum drm_bus_flags(9)struct drm_amd_vsdb_info(9)struct drm_display_info(9)struct drm_connector_tv_margins(9)struct drm_tv_connector_state(9)struct drm_connector_hdmi_infoframe(9)struct drm_connector_state(9)struct drm_connector_cec_funcs(9)struct drm_connector_hdmi_funcs(9)struct drm_connector_funcs(9)struct drm_cmdline_mode(9)struct drm_connector_hdmi_audio(9)struct drm_connector_cec(9)struct drm_connector(9)drm_connector_lookup(9)drm_connector_get(9)drm_connector_put(9)drm_connector_is_unregistered(9)struct drm_tile_group(9)struct drm_connector_list_iter(9)drm_for_each_connector_iter(9)drm_connector_for_each_possible_encoder(9)
ok that's the whole page bestie, go read your infoframes πβ¨
And that's a wrap! This came straight out of ./include/drm, dated October 2026, and it's all part of the Kernel API Manual β slay, go touch some hardware πΈππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms