STRUCT VSP1_ENTITY_OPERATIONS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct vsp1_entity_operations(9) πŸ’…

okay so this is from the Kernel API Manual, bestie, and it's literally the ops table for VSP1 entities β€” like the little handbook each entity hands to the framework so everyone knows what it can do. no cap, it's the whole personality of an entity in one struct. 🫢


✨ NAME ✨

struct vsp1_entity_operations β€” Entity operations. that's it, that's the vibe. πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

struct vsp1_entity_operations {
    void (*destroy)(struct vsp1_entity *entity);
    void (*configure_stream)(struct vsp1_entity *entity, struct
v4l2_subdev_state *state, struct vsp1_pipeline *pipe, struct
vsp1_dl_list *dl, struct vsp1_dl_body *dlb);
    void (*configure_frame)(struct vsp1_entity *entity, struct
vsp1_pipeline *pipe, struct vsp1_dl_list *dl, struct vsp1_dl_body *dlb);
    void (*configure_partition)(struct vsp1_entity *entity, struct
vsp1_pipeline *pipe, const struct vsp1_partition *partition, struct
vsp1_dl_list *dl, struct vsp1_dl_body *dlb);
    unsigned int (*max_width)(struct vsp1_entity *entity, struct
v4l2_subdev_state *state, struct vsp1_pipeline *pipe);
    void (*partition)(struct vsp1_entity *entity, struct
v4l2_subdev_state *state, struct vsp1_pipeline *pipe, struct
vsp1_partition *partition, unsigned int index, struct v4l2_rect
*window);
 };

like, six function pointers, all iconic, all doing their own little job. πŸŽ€


🌸 Members 🌸

  • destroy β€” Destroy the entity. yes, it's giving cleanup era, we love a graceful exit. πŸ’€
  • configure_stream β€” Setup the hardware parameters for the stream which do not vary between frames (pipeline, formats). ⚠️ and bestie, listen: the vsp1_dl_list argument is only valid for display pipeline and will be NULL for mem-to-mem pipelines. so don't go dereferencing it in mem-to-mem land, fr fr. πŸ™ˆ
  • configure_frame β€” Configure the runtime parameters for each frame. every single frame gets this treatment, no skipping. ✨
  • configure_partition β€” Configure partition specific parameters. the partition girlies get their own special setup. 🧚
  • max_width β€” Return the max supported width of data that the entity can process in a single operation. it's literally the width check, and it returns an unsigned int. πŸ“
  • partition β€” Process the partition construction based on this entity's configuration. it takes an index and a window (struct v4l2_rect *) and does the construction thing. πŸ‘‘

πŸ’œ SEE ALSO πŸ’œ

Kernel file ./drivers/media/platform/renesas/vsp1/vsp1_entity.h β€” go read it, iykyk. πŸ“–


aaaand that's the whole page, bestie! 🌈 this was pulled from ./drivers/media/platform/renes... (the version string got its little nails done and got cut off, love that for it), dated October 2026, and it's filed under struct vsp1...y_operations(9). slay, go forth and configure your entities. πŸ’…βœ¨πŸ”₯

πŸ“¦ where this page comes from