ice_dpll_pin_state_get(9)
π ice_dpll_pin_state_get(9) π
okay bestie, welcome to the Kernel API Manual β yes, the Kernel API Manual, we're in the big leagues now π this one's a tiny little function from the Intel ice driver's DPLL corner, and honestly it's giving "small but crucial" energy. let's get into it β¨
πΈ NAME πΈ
ice_dpll_pin_state_get β set pin's state on dpll
(no bc the name says get and the description says set π that's just how it's written in the manual, we do not editorialize, we report the facts, slay)
β¨ SYNOPSIS β¨
int ice_dpll_pin_state_get (const struct dpll_pin *pin , void *pin_priv
, const struct dpll_device *dpll , void *dpll_priv , enum dpll_pin_state
*state , struct netlink_ext_ack *extack , enum ice_dpll_pin_type
pin_type );
seven arguments, no cap. she's thorough π
π«Ά ARGUMENTS π«Ά
pinβ pointer to a pin π like, the actual pin object we're looking atpin_privβ the private data pointer you passed in when the pin got registered, bestiedpllβ the registered dpll pointer, aka the main characterdpll_privβ private data pointer you handed over at dpll registration timestateβ on success, this holds the state of the pin β the whole point honestlyextackβ error reporting, so when things go sideways there's a paper trailpin_typeβ the type of the questioned pin π yes, questioned
π¦ DESCRIPTION π¦
Determine pin state, set it on a pin.
that's it. that's the whole description. short, sweet, iconic π
π₯ CONTEXT π₯
Acquires pf->dplls.lock π
heads up: it takes that lock. so like, don't be weird about it, okay? no recursive shenanigans π
π RETURN π
0β success β¨ we love to see it- negative β failed to get state π and ngl, negative returns are never a vibe
π SEE ALSO π
first up, the source of truth itself: Kernel file ./drivers/net/ethernet/intel/ice/ice_dpll.c
and the extended family, because this function does NOT exist in isolation bestie, look at this whole friend group π«Ά:
enum ice_dpll_pin_type(9)ice_dpll_is_sw_pin(9)ice_dpll_is_reset(9)ice_dpll_pin_freq_set(9)ice_dpll_frequency_set(9)ice_dpll_input_frequency_set(9)ice_dpll_output_frequency_set(9)ice_dpll_frequency_get(9)ice_dpll_input_frequency_get(9)ice_dpll_output_frequency_get(9)ice_dpll_sw_pin_frequency_set(9)ice_dpll_sw_pin_frequency_get(9)ice_dpll_pin_enable(9)ice_dpll_pin_disable(9)ice_dpll_pin_store_state(9)ice_dpll_rclk_update_e825c(9)ice_dpll_rclk_update(9)ice_dpll_sw_pins_update(9)ice_dpll_pin_state_update(9)ice_dpll_hw_input_prio_set(9)ice_dpll_lock_status_get(9)ice_dpll_mode_get(9)ice_dpll_phase_offset_monitor_set(9)ice_dpll_phase_offset_monitor_get(9)ice_dpll_pin_state_set(9)ice_dpll_output_state_set(9)ice_dpll_input_state_set(9)ice_dpll_output_state_get(9)ice_dpll_input_state_get(9)ice_dpll_sw_pin_notify_peer(9)ice_dpll_sma_direction_set(9)ice_dpll_ufl_pin_state_set(9)ice_dpll_sw_pin_state_get(9)ice_dpll_sma_pin_state_set(9)ice_dpll_input_prio_get(9)ice_dpll_input_prio_set(9)ice_dpll_input_direction(9)ice_dpll_output_direction(9)ice_dpll_pin_sma_direction_set(9)ice_dpll_pin_sw_direction_get(9)ice_dpll_pin_phase_adjust_get(9)ice_dpll_pin_phase_adjust_set(9)ice_dpll_input_phase_adjust_set(9)ice_dpll_output_phase_adjust_set(9)ice_dpll_sw_phase_adjust_get(9)ice_dpll_sw_phase_adjust_set(9)ice_dpll_phase_offset_get(9)ice_dpll_synce_update_e825c(9)ice_dpll_output_esync_set(9)ice_dpll_output_esync_get(9)ice_dpll_input_esync_set(9)ice_dpll_input_esync_get(9)ice_dpll_sw_esync_set(9)ice_dpll_sw_esync_get(9)ice_dpll_input_ref_sync_get(9)ice_dpll_sw_input_ref_sync_get(9)ice_dpll_rclk_state_on_pin_set(9)ice_dpll_rclk_state_on_pin_get(9)ice_dpll_txclk_work(9)ice_dpll_txclk_state_on_dpll_set(9)ice_dpll_txclk_state_on_dpll_get(9)ice_generate_clock_id(9)ice_dpll_pin_ntf(9)ice_dpll_notify_changes(9)ice_dpll_is_pps_phase_monitor(9)ice_dpll_pins_notify_mask(9)ice_dpll_pps_update_phase_offsets(9)ice_dpll_update_state(9)ice_dpll_periodic_work(9)ice_dpll_init_ref_sync_inputs(9)ice_dpll_release_pins(9)ice_dpll_get_pins(9)ice_dpll_unregister_pins(9)ice_dpll_pin_ref_sync_register(9)ice_dpll_register_pins(9)ice_dpll_deinit_direct_pins(9)ice_dpll_init_direct_pins(9)ice_dpll_deinit_rclk_pin(9)ice_dpll_init_pin_common(9)ice_dpll_init_rclk_pin(9)ice_dpll_deinit_pins(9)ice_dpll_init_fwnode_pins(9)ice_dpll_init_pins_e825(9)ice_dpll_init_pins(9)ice_dpll_deinit_dpll(9)ice_dpll_init_dpll(9)ice_dpll_deinit_worker(9)ice_dpll_init_worker(9)ice_dpll_phase_range_set(9)ice_dpll_init_info_pins_generic(9)ice_dpll_init_info_direct_pins(9)ice_dpll_init_info_pin_on_pin_e825c(9)ice_dpll_init_info_rclk_pin(9)ice_dpll_init_info_sw_pins(9)ice_dpll_init_info_txclk_pins_e825c(9)ice_dpll_init_pins_info(9)ice_dpll_deinit_info(9)ice_dpll_init_info_e825c(9)ice_dpll_init_info(9)ice_dpll_deinit(9)ice_dpll_init_e825(9)ice_dpll_init_e810(9)
like I said. friend group. entire friend group. π
that's the whole page bestie, you ate that π«Ά
and for the cute lil sign-off: this absolute gem comes to you from ./drivers/net/ethernet/intel/ice, dated October 2026, and it's filed under ice_dpll_pin_state_get(9) β go forth and read those pin states, ily, bye ππβ¨
π¦ 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