vsp1_du_atomic_update(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 vsp1_du_atomic_update β€” the Kernel API Manual, bestie edition 🌸

okay so you're in the Kernel API Manual, and today's main character is vsp1_du_atomic_update. yes, it's a long name. no, we're not abbreviating it. let's go πŸ’…


✨ NAME ✨

vsp1_du_atomic_update β€” setup one RPF input of the VSP pipeline πŸŽ€


✨ SYNOPSIS ✨

int vsp1_du_atomic_update (struct device *dev , unsigned int pipe_index
, unsigned int rpf_index , const struct vsp1_du_atomic_config *cfg );

✨ ARGUMENTS ✨

  • dev β€” the VSP device πŸ–₯️
  • pipe_index β€” the DRM pipeline index
  • rpf_index β€” index of the RPF to setup (0-based, so like… counting from zero, bestie, we start at 0 not 1 πŸ’€)
  • cfg β€” the RPF configuration

✨ DESCRIPTION ✨

So the whole vibe here is: you're configuring the VSP to do image composition through RPF rpf_index, exactly as described by the cfg configuration. The image that gets composed is referenced by cfg.mem, and it's composed using the cfg.src crop rectangle and the cfg.dst composition rectangle. 🌈 And the Z-order? totally configurable β€” higher zpos values get displayed on top. stacking, but make it graphics ✨

If the cfg configuration is NULL, the RPF will be disabled. and no, it's not a problem to call the function on an already-disabled RPF β€” that's allowed, we love a low-stakes call 🫢

Image format as stored in memory is expressed as a V4L2 cfg.pixelformat value. The memory pitch is configurable, which is iconic for allowing padding at end of lines, or honestly just for images that extend beyond the crop rectangle boundaries. The cfg.pitch value is expressed in bytes and applies to all planes for multiplanar formats. 🧚

The source memory buffer is referenced by the DMA address of its planes in the cfg.mem array. Up to two planes are supported. The second plane DMA address is ignored for formats using a single plane β€” so like, it's there, it's just not doing anything, we've all been there πŸ™ˆ

⚠️ okay important one: this function isn't reentrant, so the caller needs to serialize calls. no cap, take turns fr fr πŸ”₯

Return 0 on success or a negative error code on failure. πŸ’–


πŸ‘€ SEE ALSO πŸ‘€


okay that's the whole page, you ate that πŸ’…βœ¨ source is ./drivers/media/platform/renes..., dated October 2026, and yes the page still calls itself vsp1_du_atomic_update(9) at the bottom too β€” consistent queen πŸ‘‘ bye bestie, go compose some images πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from