STRUCT VSP1_DRM(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct vsp1_drm(9) β€” like, the Kernel API Manual but make it make sense

okay so bestie, welcome to the glow-up of struct vsp1_drm(9) from the Kernel API Manual. this is the state container for the API that gets exposed to the DRM driver, and honestly? she's iconic. let's get into it πŸŽ€


✨ NAME ✨

struct vsp1_drm β€” literally the state for the API exposed to the DRM driver. that's her job. that's what she does. πŸ’…


🌸 SYNOPSIS 🌸

here's the whole struct, copied EXACTLY because we do not mess with code in this house:

struct vsp1_drm {
    struct vsp1_drm_pipeline pipe[VSP1_MAX_LIF];
    struct mutex lock;
    struct vsp1_drm_input {
      struct v4l2_rect crop;
      struct v4l2_rect compose;
      unsigned int zpos;
      enum v4l2_ycbcr_encoding ycbcr_enc;
      enum v4l2_quantization quantization;
    } inputs[VSP1_MAX_RPF];
 };

look at that nested anonymous struct. she's giving main character energy fr fr πŸ¦‹


πŸ‘‘ MEMBERS πŸ‘‘

time for the member-by-member vibe check, no cap:

  • pipe β€” the VSP1 DRM pipeline used for display. she's the whole runway, okay? the display pipeline herself. πŸŽ€
  • lock β€” protects the BRU and BRS allocation. yes bestie, it's a struct mutex, and yes, it is literally holding the BRU and BRS allocations safe so nobody crashes the party. πŸ”₯
  • inputs β€” this one's the busy queen: source crop rectangle, destination compose rectangle, z-order position and colorspace for every input, and she's indexed by RPF index (iykyk). so for each input you get:
    • crop β€” the source crop rectangle 🌸
    • compose β€” the destination compose rectangle πŸ’–
    • zpos β€” the z-order position ✨
    • ycbcr_enc β€” the YCbCr encoding (enum v4l2_ycbcr_encoding) 🌈
    • quantization β€” the quantization (enum v4l2_quantization) ⭐

all of it living in a struct vsp1_drm_input, one per RPF, up to VSP1_MAX_RPF of them. she contains multitudes. πŸ’œ


πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./drivers/media/platform/renesas/vsp1/vsp1_drm.h β€” go read the source, bestie, it's right there πŸ“–
  • struct vsp1_drm_pipeline(9) β€” her sister page, also slaying 🌟

lowkey a reminder that all these fields are documented behavior, so don't go inventing your own meanings for them, mkay? πŸ™ˆ

and that's the page!! special shoutout to ./drivers/media/platform/renes... and the October 2026 date stamp β€” that's the source/version-and-date footer doing its little sign-off at the bottom, and we love her for it 🫢✨ bye bestie!! πŸ’•

πŸ“¦ where this page comes from