hdmi_drm_inf...me_pack_only(9)
π NAME π
hdmi_drm_infoframe_pack_only β okay so this is the one that writes an HDMI DRM infoframe into a binary buffer, bestie.
So this is a kernel API manual page, and yes, the vibe is immaculate β but the signature is very serious, so don't come for me.
β¨ SYNOPSIS β¨
ssize_t hdmi_drm_infoframe_pack_only (const struct hdmi_drm_infoframe
*frame , void *buffer , size_t size );
Like, that's the whole thing. Three args. No drama. π
π«Ά ARGUMENTS π«Ά
frameβ the HDMI DRM infoframe. It's aconst struct hdmi_drm_infoframe *, so hands off, we're just reading her. πbufferβ the destination buffer. This is where the packed bytes are gonna live, it's giving "moving in" energy. πsizeβ the size ofbuffer. Literally just how much room you gave it. Be honest about it. β
πΈ DESCRIPTION πΈ
Okay so here's the tea β β this function packs all the information contained in the frame structure into a binary representation, the kind that can be written into the corresponding controller registers. Like, it takes the struct and makes it registers-ready. Slay.
Not only that, it also computes the checksum as required by section 5.3.5 of the HDMI 1.4 specification. Section 5.3.5! She's got receipts! πβ¨
And what does it give back? It returns the number of bytes packed into the binary buffer β or a negative error code on failure. π So if you see a negative number, that's not a byte count, that's the universe telling you something went wrong. Do not ignore her.
ngl, check that return value. A negative number is not a size. It is a cry for help. π
π¦ SEE ALSO π¦
Kernel file: ./drivers/video/hdmi.c β that's home base, go say hi. π
And the whole friend group, no cap:
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(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)
The disrespect of there being this many of them π but honestly? iconic. Go read them all. iykyk.
And that's the page!! ππβ¨
This cutie lives in ./drivers/video, she's dated October 2026, and she answers to the manual name hdmi_drm_inf...me_pack_only(9) β from the Kernel API Manual, obviously. Periodt. π
ππ¦
π¦ 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