STRUCT ADF_GEN4_TL_RING_PAIR_DATA_REGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct adf_gen4_tl_ring_pair_data_regs ✨

okay so bestie, welcome to the Kernel API Manual πŸ’… this one's a struct page, and honestly? she's giving "device writes numbers into me periodically and I just hold them" energy. iconic.


πŸŽ€ NAME πŸŽ€

struct adf_gen4_tl_ring_pair_data_regs β€” ngl this structure is literally just a little storage unit: it stores Ring Pair telemetry counter values, exactly as they're being populated periodically by the device. no cap, that's the whole vibe. 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the shape of her, character for character, do not touch:

struct adf_gen4_tl_ring_pair_data_regs {
    __u64 reg_tl_gp_lat_acc;
    __u64 reserved;
    __u32 reg_tl_pci_trans_cnt;
    __u32 reg_tl_ae_put_cnt;
    __u32 reg_tl_bw_in;
    __u32 reg_tl_bw_out;
    __u32 reg_tl_at_glob_devtlb_hit;
    __u32 reg_tl_at_glob_devtlb_miss;
    __u32 reg_tl_at_payld_devtlb_hit;
    __u32 reg_tl_at_payld_devtlb_miss;
    __u32 reg_tl_re_cnt;
    __u32 reserved1;
};

🌸 Members 🌸

okay let's go member by member, main character by main character πŸ‘‘

  • reg_tl_gp_lat_acc β€” the get-put latency accumulator. she's keeping the receipts on latency, periodt. πŸ’«
  • reserved β€” reserved. truly reserved. not for you. πŸ™ˆ
  • reg_tl_pci_trans_cnt β€” PCIe partial transactions. counting them, slay. πŸ”₯
  • reg_tl_ae_put_cnt β€” Accelerator Engine put counts across all rings. all of them. she's thorough. πŸ‘‘
  • reg_tl_bw_in β€” PCIe write bandwidth. that's the in, bestie. 🌈
  • reg_tl_bw_out β€” PCIe read bandwidth. and that's the out. symmetric icon. πŸ¦‹
  • reg_tl_at_glob_devtlb_hit β€” Message descriptor DevTLB hit rate. hit different, literally. ⭐
  • reg_tl_at_glob_devtlb_miss β€” Message descriptor DevTLB miss rate. the miss. 😭
  • reg_tl_at_payld_devtlb_hit β€” Payload DevTLB hit rate. payload hits are the moment. πŸ’–
  • reg_tl_at_payld_devtlb_miss β€” Payload DevTLB miss rate. payload misses are not the moment. πŸ’€
  • reg_tl_re_cnt β€” ring empty time samples count. she's counting the times the ring was empty and honestly, same. πŸ“
  • reserved1 β€” reserved. again. yes there's another one. lowkey reserved is having a whole arc. 🧚

πŸ’œ SEE ALSO πŸ’œ

bestie you literally have to look at these too, iykyk:

  • Kernel file ./drivers/crypto/intel/qat/qat_common/adf_gen4_tl.h
  • struct adf_gen4_tl_slice_data_regs(9)
  • struct adf_gen4_tl_device_data_regs(9)
  • struct adf_gen4_tl_layout(9)

🫢 friendly reminder: the reserved and reserved1 members are, in fact, reserved. leave them alone. don't make it weird.

and that's the whole page!! mwah πŸ’‹ this came from ./drivers/crypto/intel/qat/qat... and she's dated October 2026, landing back on struct adf_g...ir_data_regs(9). bye bestie, go read the source πŸŒŸπŸŽ€βœ¨

πŸ“¦ where this page comes from