STRUCT VP9_DRAM_BUF(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct vp9_dram_buf(9) πŸ’–

okay so bestie, welcome to Kernel API Manual β€” section 9, kernel developer's corner, pull up a chair 🫢. Today's main character is struct vp9_dram_buf, which β€” as the name lowkey spoils β€” holds the buffer info for the vpu. That's it, that's the whole vibe. Let's get into it ✨


🌸 NAME 🌸

struct vp9_dram_buf β€” literally contains buffer info for vpu. no cap, that's the entire job description πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

struct vp9_dram_buf {
    unsigned long va;
    unsigned long pa;
    unsigned int sz;
    unsigned int padding;
 };

look at her. four fields. immaculate. no notes πŸ‘‘


πŸŽ€ Members πŸŽ€

  • va β€” the cpu address 🧠. that's the one your cpu knows and loves.
  • pa β€” the iova address πŸ”₯. yes, iova, not pa-pa β€” write it down, it's on the test.
  • sz β€” buffer size πŸ“. how big the thing is.
  • padding β€” for 64 bytes alignment ✨. it's giving "personal space, but make it divisible by 64."
fr fr bestie, keep that padding field. alignment does not play around 😭

πŸ’œ SEE ALSO πŸ’œ

  • Kernel file πŸ—‚οΈ
  • ./drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_if.c β€” the actual source file, go read her, she's iconic πŸ“–
  • struct vp9_fb_info(9) πŸ“
  • struct vp9_ref_cnt_buf(9) 🌈
  • struct vp9_ref_buf(9) 🧚
  • struct vp9_sf_ref_fb(9) ⭐

that's the whole page bestie, you ate that πŸ’…βœ¨

🌷 mwah, signed off with love β€” source ./drivers/media/platform/media..., October 2026, and yes she's still struct vp9_dram_buf(9) till the very last line πŸ’–
πŸ“¦ where this page comes from