STRUCT VENC_VPU_IPI_MSG_INIT(9)
π STRUCT VENC_VPU_IPI_MSG_INIT(9) β the kernel API manual, bestie edition
okay so bestie, welcome to the kernel API manual for struct venc_vpu_ipi_msg_init, aka the VPU ack AP init cmd structure. yes that's a mouthful, yes it's iconic, and yes we're gonna get through it together π«Ά
β¨ NAME β¨
struct venc_vpu_ipi_msg_init β the VPU ack AP init cmd structure. that's it, that's the whole vibe. it's the little struct that says "hey AP, i got ur init cmd" π
πΈ SYNOPSIS πΈ
like, here's literally exactly what it looks like, no cap, character for character:
struct venc_vpu_ipi_msg_init {
uint32_t msg_id;
uint32_t status;
uint64_t venc_inst;
uint32_t vpu_inst_addr;
uint32_t venc_abi_version;
};
look at her. five fields. main character energy all the way through π
π Members π
bestie these are the fields, and i'm gonna walk u through every single one because none of them are getting skipped, periodt:
msg_idβ the message id, and the one it uses isVPU_IPIMSG_XXX_ENC_SET_PARAM_DONE. it's giving "i'm a message and i have an id" πstatusβ the cmd status. type isvenc_ipi_msg_status. this is where the vibe check result lives β¨venc_instβ the AP encoder instance, typed asstruct venc_vp8_inst/venc_h264_inst *. yes both, don't @ me, that's what it says π¦vpu_inst_addrβ the VPU encoder instance addr, typed asstruct venc_vp8_vsi/venc_h264_vsi *. again, both. we love a flexible queen πΈvenc_abi_versionβ the ABI version of the firmware. the kernel can use it to make sure it's compatible with the firmware, which is honestly so considerate of it π₯Ί
β οΈ okay important caveat bestie, don't skip this one: for MT8173 the value of this field is undefined and should not be used. like fr fr, don't touch it, it's not giving what you think it's giving π
π SEE ALSO π
the kernel file this lives in is literally:
./drivers/media/platform/mediatek/vcodec/encoder/venc_ipi_msg.h
and here's the whole friend group, every single one of them, no one left behind π«Ά:
struct venc_ap_ipi_msg_init(9)struct venc_ap_ipi_msg_set_param(9)struct venc_ap_ipi_msg_enc(9)struct venc_ap_ipi_msg_enc_ext(9)struct venc_ap_ipi_msg_enc_ext_34(9)struct venc_ap_ipi_msg_deinit(9)struct venc_vpu_ipi_msg_common(9)struct venc_vpu_ipi_msg_set_param(9)enum venc_ipi_msg_enc_state(9)struct venc_vpu_ipi_msg_enc(9)struct venc_vpu_ipi_msg_deinit(9)
and that's the whole page babes π before u go, tiny lil sign-off: this one came from ./drivers/media/platform/media..., it's dated October 2026, and it's filed under struct venc_...ipi_msg_init(9). slay, ate, no crumbs. go read ur kernel headers bestie πβ¨
π¦ 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