STRUCT HOST1X_BO_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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

okay so welcome to the Kernel API Manual bestie, today we're talking about struct host1x_bo_ops and honestly? she's giving backstage-pass energy. πŸŽ€


✨ NAME ✨

struct host1x_bo_ops β€” literally the operations implemented by a host1x_bo provider. that's the whole vibe. that's her job. πŸ¦‹


🌸 SYNOPSIS 🌸

struct host1x_bo_ops {
    struct host1x_bo *(*get)(struct host1x_bo *bo);
    void (*put)(struct host1x_bo *bo);
    struct host1x_bo_mapping *(*pin)(struct device *dev, struct host1x_bo *bo, enum dma_data_direction dir);
    void (*unpin)(struct host1x_bo_mapping *map);
    void *(*mmap)(struct host1x_bo *bo);
    void (*munmap)(struct host1x_bo *bo, void *addr);
};

six function pointers, one struct, zero notes. she's a whole squad of callbacks and she ate. πŸ”₯


πŸ‘‘ Members πŸ‘‘

okay so not every member got her lil bio written out here β€” the docs are lowkey selective, ngl β€” but the two that did get one? absolute icons. 🌟

  • pin β€” create a DMA mapping. and hear me LOUD: the implementation must not touch the bo's refcount. like, do not. hands off. not yours. πŸ™ˆ
  • unpin β€” destroy a DMA mapping. same rule, bestie: the implementation must not touch the bo's refcount. periodt. πŸ’…
fr fr, that refcount warning shows up twice because it's that serious. implementation says no touching. 🫢

πŸ’œ SEE ALSO πŸ’œ

  • the kernel file ./include/linux/host1x.h β€” go read it, it's right there
  • struct host1x_bo_cache(9)
  • struct host1x_client_ops(9)
  • struct host1x_client(9)
  • struct host1x_driver(9)

the whole host1x friend group honestly, they all show up together πŸ˜­πŸ’–


πŸ¦‹ and that's the page! sourced from the kernel path ./include/linux, dated October 2026, all about struct host1x_bo_ops(9) β€” go forth and map those DMA buffers responsibly, mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from