omnia_mask_interleave(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… omnia_mask_interleave(9) β€” the kernel API glow-up πŸ’…

okay bestie, welcome to the omnia_mask_interleave(9) page, aka the group chat where rising and falling finally learn to share the spotlight ✨

🌸 NAME 🌸

omnia_mask_interleave β€” literally interleaves the bytes from @rising and @falling, no cap πŸ’–

πŸŽ€ SYNOPSIS πŸŽ€

void omnia_mask_interleave (u8 *dst , unsigned long rising , unsigned long falling );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • dst β€” the destination u8 array that ends up holding all the interleaved bytes, it's giving output-array main character energy πŸ‘‘
  • rising β€” the rising mask, iconic 🫢
  • falling β€” the falling mask, equally iconic 🫢

✨ DESCRIPTION ✨

Okay so here's the vibe: this function interleaves the little-endian bytes from the rising and falling words. That's it, that's the whole flex πŸ’β€β™€οΈ

So if rising = (r0, r1, r2, r3) and falling = (f0, f1, f2, f3), then the result is literally:

dst = (r0, f0, r1, f1, r2, f2, r3, f3)

one from rising, one from falling, alternating like the world's most organized friendship bracelet πŸŽ€βœ¨

Why does anyone even want this?? So the MCU receives an interrupt mask and reports a pending interrupt bitmap in this interleaved format. The rationale is lowkey genius: the low-indexed bits are more important β€” in many cases the user will be interested only in interrupts with indexes 0 to 7 β€” so the system can stop reading after the first 2 bytes (r0, f0) to save time on the slow I2C bus. efficiency queen behavior, honestly βš‘πŸ‘‘

ok but bestie, the source says it itself: feel free to remove this function and its inverse, omnia_mask_deinterleave, and use an appropriate bitmap_*() function once such a function exists. so this whole thing is kinda a placeholder, iykyk 🫣

πŸ‘€ SEE ALSO πŸ‘€


and that's the whole page, bestie!! this one comes straight from ./drivers/platform/cznic, dated October 2026, and it's the omnia_mask_interleave(9) manual page β€” slay, go interleave some bytes, periodt πŸ’…πŸ’–βœ¨

πŸ“¦ where this page comes from