STRUCT DRM_CONNECTOR_HDMI_AUDIO(9)
π struct drm_connector_hdmi_audio β the Kernel API Manual, bestie edition π
okay so this page lives in the Kernel API Manual and it's all about struct drm_connector_hdmi_audio(9). yes the header really does truncate it to struct drm_...r_hdmi_audio(9), she's mysterious like that π
β¨ NAME β¨
struct drm_connector_hdmi_audio β the DRM generic HDMI Codec-related structure. (the original says "gemeric" β that's just a lil typo in the kernel docs, we love her anyway π«Ά)
πΈ SYNOPSIS πΈ
struct drm_connector_hdmi_audio {
const struct drm_connector_hdmi_audio_funcs *funcs;
struct platform_device *codec_pdev;
struct mutex lock;
void (*plugged_cb)(struct device *dev, bool plugged);
struct device *plugged_cb_dev;
bool last_state;
int dai_port;
};
π Members π
funcsβ the actual implementation of the HDMI codec functionality that the DRM HDMI Codec framework is gonna use. it's giving "the vibes provider" β¨codec_pdevβ a platform device, created to hold the HDMI Codec. it gets automatically unregistered duringdrm_connector_cleanup, so likeβ¦ don't stress about cleaning up after it, she handles herself πlockβ a mutex whose whole job is protectinglast_state,plugged_cbandplugged_cb_dev. guard those three with your life, no cap πplugged_cbβ the callback that fires when the HDMI sink gets plugged into (or unplugged from) this connector. the framework assigns it when the ASoC code asks for it. literally the main character callback πplugged_cb_devβ the data forplugged_cb. it's provided by the ASoC. think of it as the callback's emotional support device π«Άlast_stateβ the last plugged state recorded by the framework (original docs spell it "recored", adore her). it exists so the state can be reported toplugged_cbcorrectly. lowkey a memory keeper π§dai_portβ the port in DT that's used for the Codec DAI. it's anint, it's iconic, periodt π
π¦ Description π¦
HDMI drivers usually incorporate a HDMI Codec β that's just how they're built, fr fr.
This structure expresses the generic HDMI Codec as used by the DRM HDMI Codec framework. highkey the whole point of her π
π SEE ALSO π
Kernel file ./include/drm/drm_connector.h, plus the whole squad:
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_infoframe_funcs(9), struct drm_connector_hdmi_funcs(9), struct drm_connector_funcs(9), struct drm_cmdline_mode(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)
bestie that's a LOT of cross-references, but every single one of them is in the original so we're keeping every single one of them. iykyk π
okay that's the whole page, mwah π β she ships out of ./include/drm, dated October 2026, and she's filed under struct drm_...r_hdmi_audio(9) in the Kernel API Manual. slay and goodbye ππ
π¦ 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