dpaa2_io_store_create(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… dpaa2_io_store_create β€” okay so let me tell you about this function

Bestie, welcome to the kernel API manual for dpaa2_io_store_create(9), which honestly is giving "quiet little helper that does something kind of iconic." Let's get into it. πŸŽ€


✨ NAME ✨

dpaa2_io_store_create β€” literally makes the DMA memory storage where your dequeue results live. That's the whole vibe. πŸ¦‹


🌸 SYNOPSIS 🌸

struct dpaa2_io_store * dpaa2_io_store_create (unsigned int max_frames ,
       struct device *dev );

Two arguments, one returned pointer, zero drama (unless it returns NULL, more on that in a sec 😭).


πŸ’– ARGUMENTS πŸ’–

  • max_frames β€” the maximum number of dequeued result frames you want room for. And listen, this one has a hard limit: it must be <= 32. Not 33, not "eh, close enough," it's just <= 32, periodt. πŸ‘‘
  • dev β€” the device that lets you map/unmap the DMAable region. Like, it's the one holding the keys to the memory door. πŸ”‘

🧚 DESCRIPTION 🧚

Okay so the size of the storage? It's exactly this:

"max_frames*sizeof(struct dpaa2_dq)"

Not vibes-based sizing, an actual formula, hope that helps. 🌈

The dpaa2_io_store you get back is a DPIO service managed object β€” so like, it's part of the DPIO service family and the service is very much in charge of it. Main character energy, but managed. πŸ’…

As for what you get back: a pointer to the dpaa2_io_store struct if the storage memory got created all cute and successful, or NULL on error. So always check before you start dereferencing, ngl. πŸ™ˆ

Lowkey important: NULL means error. It's not a secret success code, bestie. Check it. 😭

πŸ”₯ SEE ALSO πŸ”₯

The kernel file lives right here:

./drivers/soc/fsl/dpio/dpio-service.c

And here's the full friend group β€” every single one, no cap:


That's the whole page, bestie β€” go forth and allocate your DMA storage responsibly. πŸ’œ

Signed off from ./drivers/soc/fsl/dpio, dated October 2026, kernel API manual energy only. Slay. 🫢✨

πŸ“¦ where this page comes from