ice_dpll_pin_state_update(9)
π
ice_dpll_pin_state_update(9) π
okay so this is straight out of the Kernel API Manual, bestie β like, the actual kernel docs, not some random blog post. sit down, grab a strawberry, we're learning β¨
πΈ NAME πΈ
ice_dpll_pin_state_update β bestie, it updates the pin's state. that's the whole vibe. π
π¦ SYNOPSIS π¦
int ice_dpll_pin_state_update (struct ice_pf *pf , struct ice_dpll_pin
*pin , enum ice_dpll_pin_type pin_type , struct netlink_ext_ack *extack
);
like yes, it returns an int, and yes, that argument list is a whole friend group π«Ά
π ARGUMENTS π
pfβ the private board struct. it's giving "main character data structure energy", fr fr πpinβ the structure with pin attributes that are gonna get updated. it's getting a glow-up β¨pin_typeβ which type of pin we're updating rn. iykyk π¦extackβ error reporting. the one who tells you what went wrong, lowkey essential π
π DESCRIPTION π
so here's the tea: this figures out the pin's current state and its frequency, and then updates the struct that's holding all the pin info. no cap, that's it, that's the function π
and because the details matter (they always do, bestie), here's the split: for input pins, states are separated for each dpll. for rclk pins, states are separated for each parent. like, different pins, different state groupings β periodt. π₯
π CONTEXT π
called under pf->dplls.lock. so likeβ¦ it's already holding the lock, don't go grabbing it again, that's not the move ππ
β RETURN β
0β OK. slay, it worked, we ate π β¨- negative β error. not the vibe, but at least you know π
π SEE ALSO π
okay this list is long long, but every single one of these is invited to the party, no plus-ones skipped π«Ά
it all lives in the Kernel file ./drivers/net/ethernet/intel/ice/ice_dpll.c, plus this enum:
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_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_pin_state_get(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)
and that's the whole page, bestie π
this masterpiece lives at ./drivers/net/ethernet/intel/ice, it's dated October 2026, and it goes by ice_dpll_pin_state_update(9). mwah, go read the source, ily π§π
π¦ 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