ENUM IPA_SEQ_TYPE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– enum ipa_seq_type(9) πŸ’–

okay so bestie, this is enum ipa_seq_type straight out of the Kernel API Manual β€” like, the actual kernel docs, we're fancy now πŸ‘‘ β€” and it's all about the HPS and DPS sequencer type. slay.


✨ SYNOPSIS ✨

enum ipa_seq_type {
    IPA_SEQ_DMA ,
    IPA_SEQ_1_PASS ,
    IPA_SEQ_2_PASS_SKIP_LAST_UC ,
    IPA_SEQ_1_PASS_SKIP_LAST_UC ,
    IPA_SEQ_2_PASS ,
    IPA_SEQ_3_PASS_SKIP_LAST_UC ,
    IPA_SEQ_DECIPHER

};

like, that's the whole squad right there 🫢


🌸 DESCRIPTION 🌸

So here's the vibe: the low-order byte of the sequencer type register is the main character here β€” it defines the number of passes a packet takes through the IPA pipeline πŸ”₯

And the last pass through can optionally skip the microprocessor. no cap.

Deciphering is optional for all types too β€” and if you enable it, an additional mask (two bits) gets added to the type value. cute little bonus bits ✨

πŸŽ€ Constants πŸŽ€

  • IPA_SEQ_DMA β€” Perform DMA only, that's it, that's the whole job πŸ’…
  • IPA_SEQ_1_PASS β€” One pass through the pipeline ⭐
  • IPA_SEQ_2_PASS_SKIP_LAST_UC β€” Two passes, and we skip the microcprocessor πŸ™ˆ
  • IPA_SEQ_1_PASS_SKIP_LAST_UC β€” One pass, also skipping the microcprocessor πŸ¦‹
  • IPA_SEQ_2_PASS β€” Two passes through the pipeline, full send 🌈
  • IPA_SEQ_3_PASS_SKIP_LAST_UC β€” Three passes, and yeah, microcprocessor gets skipped πŸ’œ
  • IPA_SEQ_DECIPHER β€” Optional deciphering step, but like, combined 🧚
⚠️ Note: not all combinations of ipa_seq_type and ipa_seq_rep_type are supported (or meaningful). so like, don't just mix and match and expect magic, bestie 😭

πŸ‘€ SEE ALSO πŸ‘€

  • Kernel file ./drivers/net/ipa/ipa_reg.h β€” IPA Registers(9)
  • enum ipa_seq_rep_type(9)
  • enum ipa_irq_id(9)

and that's the whole page, periodt πŸŽ€ this iconic little slice of kernel lore lives in ./drivers/net/ipa and it's dated October 2026 β€” go read the source, iykyk πŸ’–βœ¨

πŸ“¦ where this page comes from