hinic_ceqs_init(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… hinic_ceqs_init(9) β€” the kernel API manual, but make it cute

Okay bestie, buckle up, because this is hinic_ceqs_init(9) straight outta the Kernel API Manual and it's honestly giving "small function, big responsibilities" ✨ It initializes all the ceqs, which is the whole entire vibe. Let's get into it πŸŽ€


✨ NAME ✨

hinic_ceqs_init β€” init all the ceqs πŸ’–

Like, that's it. That's the job. It inits the ceqs. All of them. Not some. All. πŸ‘‘


🌸 SYNOPSIS 🌸

int hinic_ceqs_init (struct hinic_ceqs *ceqs , struct hinic_hwif *hwif ,
int num_ceqs , u32 q_len , u32 page_size , struct msix_entry
*msix_entries );

Six arguments, one int coming back at you, no cap 🫢 Copy it exactly when you use it, bestie β€” the spacing is right there in the original and I'm not about to mess with it πŸ™ˆ


πŸ¦‹ ARGUMENTS πŸ¦‹

  • ceqs β€” ceqs part of the chip. Yes, the name matches the name. Iconic, honestly πŸ’…
  • hwif β€” the hardware interface of a pci function device. This is the hardware-y connection to your PCI function, and it's kind of the main character of the hardware side πŸ”₯
  • num_ceqs β€” number of CEQs. Count 'em, tell the function, done ✨
  • q_len β€” number of EQ elements. How many elements are chilling in the event queue πŸ“
  • page_size β€” the page size of the event queue. Page size, but for the EQ specifically, don't get it twisted πŸ’œ
  • msix_entries β€” msix entries associated with the event queues. The msix entries that go with your EQs, iykyk 🧚

πŸ’€ DESCRIPTION πŸ’€

Okay so here's the whole deal, plain and simple:

  • 0 β€” Success πŸŽ‰
  • Negative β€” Failure 😭

That's literally the return contract, and we respect it. Positive energy only for that zero, bestie 🌈


πŸ‘‘ SEE ALSO πŸ‘‘

The kernel file to go peek at is:

./drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c

And here's the whole friend group, all present and accounted for β€” not me listing every single one, but also yes, every single one 🫢

hinic_aeq_register_hw_cb(9), hinic_aeq_unregister_hw_cb(9), hinic_ceq_register_cb(9), hinic_ceq_unregister_cb(9), eq_update_ci(9), aeq_irq_handler(9), ceq_event_handler(9), ceq_irq_handler(9), eq_irq_handler(9), eq_irq_work(9), ceq_tasklet(9), aeq_interrupt(9), ceq_interrupt(9), set_eq_ctrls(9), aeq_elements_init(9), ceq_elements_init(9), alloc_eq_pages(9), free_eq_pages(9), init_eq(9), remove_eq(9), hinic_aeqs_init(9), hinic_aeqs_free(9), hinic_ceqs_free(9)


Heads up bestie: the SYNOPSIS says 0 is success and negative is failure, and the DESCRIPTION backs that up β€” so if you get something negative back, that's your L, go handle it πŸ’€

Okay that's the whole page, love you, bye πŸŽ€ Sourced from ./drivers/net/ethernet/huawei/... and dated October 2026 β€” slay, see you in the next manual page πŸ’–βœ¨

πŸ“¦ where this page comes from