STRUCT ICE_ADAPTER(9)
π NAME π
ok so welcome to the Kernel API Manual, bestie β this page is all about struct ice_adapter, which is literally the PCI adapter resources that get shared across PFs. shared!! across PFs!! the way that one struct is carrying the whole squad π«Ά
β¨ SYNOPSIS β¨
here's the whole vibe, copy-pasted exactly because you KNOW we don't mess with code:
struct ice_adapter {
refcount_t refcount;
spinlock_t ptp_gltsyn_time_lock;
spinlock_t txq_ctx_lock;
struct mutex cpi_phy_lock[ICE_E825_MAX_PHYS];
struct ice_pf *ctrl_pf;
struct ice_port_list ports;
u64 index;
};
that's it. that's the struct. iconic behavior honestly π
π¦ Members π¦
okay now let's do a little meet-and-greet with every single field, no skipping, we don't do that here π
refcountβ the reference count, ngl. thestruct ice_pfobjects are the ones holding the references. they're the ones showing up to the party, fr fr.ptp_gltsyn_time_lockβ a spinlock that protects access to theGLTSYN_TIMEregister of the PTP clock. it's giving bodyguard energy π₯txq_ctx_lockβ another spinlock, this one protecting access to theGLCOMM_QTX_CNTX_CTLregister. yes bestie, another one. we stay protected πcpi_phy_lockβ per-PHY mutex that serializes CPI REQ/ACK transactions, and it's an array ofICE_E825_MAX_PHYSof them. index0= PHY0, index1= PHY1. used on E825C devices. very demure, very per-PHY πΈctrl_pfβ the control PF of the adapter. the main character, lowkey πportsβ the ports list. a whole list!! of ports!!indexβ a 64-bit index that's cached for collision detection on 32bit systems. it's literally just sitting there being 64-bit so 32bit systems don't get confused π
π SEE ALSO π
if you wanna keep reading (and you should, bestie, we're obsessed with documentation):
- Kernel file
./drivers/net/ethernet/intel/ice/ice_adapter.hβ and alsostruct ice_port_list(9), go say hi π¦
literally go read the header file. iykyk. no cap, it's right there in the source tree β¨
and that's the whole page!! this little writeup came from ./drivers/net/ethernet/intel/ice, dated October 2026 β slay, you made it to the end, periodt ππ bye bestie!!
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms