hdmi_drm_infoframe_pack(9)
β¨ hdmi_drm_infoframe_pack(9) β¨
okay so bestie, this one's a kernel API manual page π like, it's from the Kernel API Manual, and it's literally about packing a HDMI DRM infoframe β we're gonna check it and then write it into a binary buffer. very main character energy, no cap π
πΈ NAME πΈ
hdmi_drm_infoframe_pack β check a HDMI DRM infoframe, and write it to binary buffer π¦
β¨ SYNOPSIS β¨
ssize_t hdmi_drm_infoframe_pack (struct hdmi_drm_infoframe *frame , void
*buffer , size_t size );
ngl the line wrap on that is giving β¨PDF energyβ¨ but that's literally how it's written, so we keep it exactly, fr fr π«Ά
π ARGUMENTS π
frameβ the HDMI DRM infoframe itself, the little guy we're inspecting πbufferβ your destination buffer, the place the packed bytes are headed π§sizeβ the size of that buffer, so we don't go feral and overflow it π
π DESCRIPTION π
So here's the vibe check first: this function validates that the infoframe is consistent, and it updates the derived fields β like the length, that's the classic example β based on the other fields β¨. Only after that glow-up does it pack all the information inside the frame structure into a binary representation that can be written into the corresponding controller registers π iconic behaviour honestly.
It also computes the checksum as required by section 5.3.5 of the HDMI 1.4 specification β yes bestie, a whole numbered spec section, we're being so official today ππΈ
And what does it give you back? It returns the number of bytes packed into the binary buffer β or a negative error code on failure π so like, check your return value, that's the whole point, iykyk.
π¦ SEE ALSO π¦
Kernel file ./drivers/video/hdmi.c π₯ β and then the whole friend group, all of them, in order, no one left out:
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_vendor_infoframe_pack(9)hdmi_drm_infoframe_init(9)hdmi_drm_infoframe_check(9)hdmi_drm_infoframe_pack_only(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)
that's the whole page bestie, go pack those frames π
β sign-off time: this one lives at ./drivers/video and the page is dated October 2026 β mwah, love that for us ππ«
π¦ 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