STRUCT MLXBF_TMFIFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct mlxbf_tmfifo(9) β€” Kernel API Manual πŸŽ€

okay so bestie, welcome to the glow-up of the kernel API manual page for struct mlxbf_tmfifo ✨ this is the TmFifo struct and she is lowkey the main character of her own header file. grab a strawberry drink πŸ“ and let's get into it.


🌸 NAME 🌸

struct mlxbf_tmfifo β€” Structure of the TmFifo πŸ’…


✨ SYNOPSIS ✨

here's the whole fit, bestie, copied exactly so you don't have to squint at the source:

struct mlxbf_tmfifo {
    struct mlxbf_tmfifo_vdev *vdev[MLXBF_TMFIFO_VDEV_MAX];
    struct mutex lock;
    void __iomem *res0;
    void __iomem *res1;
    struct mlxbf_tmfifo_io rx;
    struct mlxbf_tmfifo_io tx;
    int rx_fifo_size;
    int tx_fifo_size;
    unsigned long pend_events;
    struct mlxbf_tmfifo_irq_info irq_info[MLXBF_TM_MAX_IRQ];
    struct work_struct work;
    struct timer_list timer;
    struct mlxbf_tmfifo_vring *vring[2];
    spinlock_t spin_lock[2];
    bool is_ready;
 };

πŸ¦‹ Members πŸ¦‹

okay this is the part where we meet the whole squad, one member at a time 🫢

  • vdev β€” array of the virtual devices running over the TmFifo. the whole friend group, fr fr πŸ‘‘
  • lock β€” lock to protect the TmFifo access. nobody touches the TmFifo without taking the lock first, no cap πŸ”’
  • res0 β€” mapped resource block 0. iconic. we stan 🌈
  • res1 β€” mapped resource block 1. the sequel, and honestly she ate πŸ’…
  • rx β€” rx io resource πŸ’œ
  • tx β€” tx io resource πŸ’œ
  • rx_fifo_size β€” number of entries of the Rx FIFO. literally just the count, bestie πŸ“
  • tx_fifo_size β€” number of entries of the Tx FIFO. same energy, other direction 😭
  • pend_events β€” pending bits for deferred events. the "brb, doing it later" bits ⭐
  • irq_info β€” interrupt information πŸ”₯
  • work β€” work struct for deferred process 🧚
  • timer β€” background timer. she's ticking away in the background, minding her business ⏰
  • vring β€” Tx/Rx ring πŸ’«
  • spin_lock β€” Tx/Rx spin lock. two of them, spinny, doing the most πŸ’€
  • is_ready β€” ready flag. the vibe check boolean, and if she's true then we're so on πŸŽ€

πŸ‘€ SEE ALSO πŸ‘€

go read these next, bestie, iykyk:

  • Kernel file ./drivers/platform/mellanox/mlxbf-tmfifo.c struct mlxbf_tmfifo_vring(9), struct mlxbf_tmfifo_vdev(9), struct mlxbf_tmfifo_irq_info(9), struct mlxbf_tmfifo_io(9), struct mlxbf_tmfifo_msg_hdr(9)

ngl this page lives in ./drivers/platform/mellanox, and it's dated October 2026 β€” so yeah, coming to a kernel near you, periodt πŸ’…βœ¨

and that's the whole page, bestie β€” TmFifo documented, structure slayed, nobody left confused. mwah πŸ«ΆπŸ’–


πŸ“¦ where this page comes from