hdmi_vendor_infoframe_pack(9)
β¨ NAME β¨
hdmi_vendor_infoframe_pack β check a HDMI Vendor infoframe, and write it to binary buffer π
okay so real quick, bestie β this whole page lives in the Kernel API Manual, and it's about one specific little function that does a lot: it vibes-checks your HDMI Vendor infoframe, then hands you back a tidy binary blob. icon behavior honestly.
π SYNOPSIS π
ssize_t hdmi_vendor_infoframe_pack (struct hdmi_vendor_infoframe *frame
, void *buffer , size_t size );
π¦ ARGUMENTS π¦
frameβ the HDMI Vendor infoframe itself, the main character of this whole operation πbufferβ the destination buffer, aka where the packed bytes are gonna livesizeβ the size ofbuffer, so we know how much room we're working with π«Ά
πΈ DESCRIPTION πΈ
So here's the tea β β this function first validates that the infoframe is consistent, and then it updates derived fields (like, for example, length) based on the other fields. Like it does a lil internal glow-up before the big moment. β¨
Then it packs all the info chillin' in the frame structure into a binary representation that can be written into the corresponding controller registers. Very demure, very register-ready. π
Oh and bestie, it also computes the checksum, as required by section 5.3.5 of the HDMI 1.4 specification β no cap, that part is mandatory. π₯
It returns the number of bytes packed into the binary buffer, or a negative error code on failure. So likeβ¦ if it returns something negative, that's your sign π β something went wrong.
π SEE ALSO π
The kernel file is ./drivers/video/hdmi.c, and it comes with a whole friend group of related functions β not me listing all 30 of them, but here we are, and every single one is iconic in its own way π«Ά:
hdmi_avi_infoframe_init(9)hdmi_avi_infoframe_check(9)hdmi_avi_infoframe_pack_only(9)hdmi_avi_infoframe_pack(9)hdmi_spd_infoframe_init(9)hdmi_spd_infoframe_check(9)hdmi_spd_infoframe_pack_only(9)hdmi_spd_infoframe_pack(9)hdmi_audio_infoframe_init(9)hdmi_audio_infoframe_check(9)hdmi_audio_infoframe_pack_only(9)hdmi_audio_infoframe_pack(9)hdmi_audio_infoframe_pack_for_dp(9)hdmi_vendor_infoframe_init(9)hdmi_vendor_infoframe_check(9)hdmi_vendor_infoframe_pack_only(9)hdmi_drm_infoframe_init(9)hdmi_drm_infoframe_check(9)hdmi_drm_infoframe_pack_only(9)hdmi_drm_infoframe_pack(9)hdmi_infoframe_pack_only(9)hdmi_infoframe_pack(9)hdmi_infoframe_log(9)hdmi_avi_infoframe_unpack(9)hdmi_spd_infoframe_unpack(9)hdmi_audio_infoframe_unpack(9)hdmi_vendor_any_infoframe_unpack(9)hdmi_drm_infoframe_unpack_only(9)hdmi_drm_infoframe_unpack(9)hdmi_infoframe_unpack(9)
and that's the whole page, bestie π go pack those infoframes, you absolute legend π§
okay bye, this came from ./drivers/video, October 2026, and it's the Kernel API Manual β slay, periodt, go read the source πβ
π¦ 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