ice_dpll_sw_pin_notify_peer(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

Okay bestie, welcome to ice_dpll_sw_pin_notify_peer(9) β€” the manual page for ice_dpll_sw_pin_notify_peer: notify the paired SW pin after a state change. That's the whole job, and it's lowkey iconic. πŸ’…


✨ SYNOPSIS ✨

void ice_dpll_sw_pin_notify_peer (struct ice_dplls *d , struct
       ice_dpll_pin *changed );

πŸŽ€ ARGUMENTS πŸŽ€

  • d β€” pointer to dplls struct. Like, the big ice_dplls situation.
  • changed β€” the SW pin that was explicitly changed (already notified by dpll core). So this one already had its main-character moment; we're handling the peer. 🫢

πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the tea: SMA and U.FL pins share physical signal paths in pairs (SMA1/U.FL1 and SMA2/U.FL2). They're literally linked like that.

When one pin's routing changes via the PCA9575 GPIO expander, the paired pin's state may also change. Not me gasping β€” it's just how the pair works. 😭

So this function sends a change notification for the peer pin, so userspace consumers monitoring the peer via dpll netlink learn about the update. No cap, that's the whole point: keep the peer watchers in the loop. ✨


πŸ”₯ CONTEXT πŸ”₯

Called from dpll_pin_ops callbacks after pf->dplls.lock is released. Timing matters, bestie.

It uses __dpll_pin_change_ntf because dpll_lock is still held by the dpll netlink layer. So yeah β€” that's the why. πŸ‘‘


πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./drivers/net/ethernet/intel/ice/ice_dpll.c, plus enum ice_dpll_pin_type(9) and the entire guest list. It's giving "friend group with 100 members," but every single one is here:


Byeeee from ./drivers/net/ethernet/intel/ice, October 2026 β€” mwah πŸ’…πŸ’–βœ¨

πŸ“¦ where this page comes from