ipu_image_convert_queue(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ipu_image_convert_queue β€” from the Kernel API Manual, section 9

okay bestie, so this one is literally called ipu_image_convert_queue and it's the "queue a conversion run" girlie ✨ like that's her whole thing. she takes your run request and gets it in line. periodt.


🌸 SYNOPSIS 🌸

int ipu_image_convert_queue(struct ipu_image_convert_run *run);

πŸŽ€ ARGUMENTS πŸŽ€

  • run β€” the run request pointer 🫢 that's it. that's the whole argument. she's low maintenance.

✨ DESCRIPTION ✨

okay so here's the tea πŸ”₯: ipu_image_convert_run must be dynamically allocated by callers β€” and no, queen, not as a local var, i'm so serious β€” and then filled in with two things:

  • a conversion context handle that you already prepared earlier (ipu_image_convert_prepare girlies know πŸ’…)
  • the dma addr's of the input and output image buffers for this specific conversion run

highkey important, ngl 😭

when this conversion completes, the run pointer comes right back at you via the completion callback πŸŽ€ and guess what β€” the caller is responsible for freeing the run object after it completes. not the driver, not the IPU, not the vibes. you. 🫡

in V4L2, drivers should call ipu_image_convert_queue while streaming to queue the conversion of a received input buffer πŸ“₯✨. for example mem2mem devices, this would be called in .device_run. iykyk πŸ’œ


πŸ‘‘ RETURN πŸ‘‘

0 on success or -errno on error 😀 the classic. no surprises, no drama (for once).


πŸ¦‹ SEE ALSO πŸ¦‹

the main character energy is strong in this family πŸ’–:


πŸ’€ friendly reminder that local var thing β€” dynamically allocated only. i'm not gonna say it again (i will absolutely say it again).

and that's the page 🌈 it lives in ./include/video, it's part of the Kernel API Manual, and it's dated October 2026 β€” mwah, slay, go queue your runs bestie πŸ§šπŸ’œ

πŸ“¦ where this page comes from