ice_init_phy_user_cfg(9)
ice_init_phy_user_cfg β¨
okay so before we even get into it β this page is straight out of the Kernel API Manual, and it's giving "small function, big responsibilities" energy. it's a <pink>(9) manpage, so yeah, kernel-internal, section 9, bestie. let's go π«Ά
πΈ NAME πΈ
ice_init_phy_user_cfg β initialize the PHY user configuration
like, literally what it says on the tin. it sets up the user's PHY config from scratch. iconic behavior tbh π
β¨ SYNOPSIS β¨
int ice_init_phy_user_cfg (struct ice_port_info *pi );
one function, one arg, returns an int. short and sweet, we love a minimal signature π
π ARGUMENTS π
piβ the port info structure. that's your port-info baddie right there, she carries everything. don't lose her πΈ
π¦ DESCRIPTION π¦
okay so here's the tea. ice_init_phy_user_cfg initializes the current user PHY configuration β and it resets three-ish things to their defaults:
- speed
- FEC
- FC requested mode
all of them get set to default. clean slate, fresh start, main character energy π₯
now β where do those defaults even come from? they come from the get PHY capabilities topology with media. so the important part: call this function when media is first available. that's the vibe check you gotta pass. if you call it when media is not available? an error is returned. no media, no config, periodt π
also, the PHY initialization completed state gets set right here. so this is the moment the "we're initialized" flag goes up π©
what's it all for? these configurations are used when setting PHY configuration. and heads up β the user PHY configuration gets updated on set PHY configuration. so this init and that set are lowkey a matched set, iykyk.
return values, because we always check our returns:
0on success π- negative on failure π
fr fr, check the return. don't just yolo it.
π SEE ALSO π
the kernel file this lives in:
./drivers/net/ethernet/intel/ice/ice_main.c
and now the friend group β literally the whole ice extended universe. grab a snack, this is a long list π:
ice_hw_to_dev(9)ice_get_tx_pending(9)ice_check_for_hang_subtask(9)ice_init_mac_fltr(9)ice_add_mac_to_sync_list(9)ice_add_mac_to_unsync_list(9)ice_vsi_fltr_changed(9)ice_set_promisc(9)ice_clear_promisc(9)ice_vsi_sync_fltr(9)ice_sync_fltr_subtask(9)ice_pf_dis_all_vsi(9)ice_prepare_for_reset(9)ice_do_reset(9)ice_reset_subtask(9)ice_print_topo_conflict(9)ice_print_link_msg(9)ice_vsi_link_event(9)ice_set_dflt_mib(9)ice_check_phy_fw_load(9)ice_check_module_power(9)ice_check_link_cfg_err(9)ice_link_event(9)ice_watchdog_subtask(9)ice_init_link_events(9)ice_handle_link_event(9)ice_aq_prep_for_event(9)ice_aq_wait_for_event(9)ice_aq_check_events(9)ice_aq_cancel_waiting_tasks(9)__ice_clean_ctrlq(9)ice_ctrlq_pending(9)ice_clean_adminq_subtask(9)ice_clean_mailboxq_subtask(9)ice_clean_sbq_subtask(9)ice_service_task_schedule(9)ice_service_task_complete(9)ice_service_task_stop(9)ice_service_task_restart(9)ice_service_timer(9)ice_mdd_maybe_reset_vf(9)ice_handle_mdd_event(9)ice_init_nvm_phy_type(9)ice_init_link_dflt_override(9)ice_init_phy_cfg_dflt_override(9)ice_phy_cfg(9)ice_check_media_subtask(9)ice_service_task(9)ice_set_ctrlq_len(9)ice_schedule_reset(9)ice_vsi_ena_irq(9)ice_vsi_req_irq_msix(9)ice_xdp_alloc_setup_rings(9)ice_vsi_assign_bpf_prog(9)ice_map_xdp_rings(9)ice_unmap_xdp_rings(9)ice_prepare_xdp_rings(9)ice_destroy_xdp_rings(9)ice_vsi_rx_napi_schedule(9)ice_vsi_determine_xdp_res(9)ice_max_xdp_frame_size(9)ice_xdp_setup_prog(9)ice_xdp_safe_mode(9)ice_xdp(9)ice_ena_misc_vector(9)ice_ll_ts_intr(9)ice_misc_intr(9)ice_misc_intr_thread_fn(9)ice_dis_ctrlq_interrupts(9)ice_free_irq_msix_ll_ts(9)ice_free_irq_msix_misc(9)ice_ena_ctrlq_interrupts(9)ice_req_irq_msix_misc(9)ice_set_ops(9)ice_set_netdev_features(9)ice_fill_rss_lut(9)ice_pf_vsi_setup(9)ice_ctrl_vsi_setup(9)ice_lb_vsi_setup(9)ice_vlan_rx_add_vid(9)ice_vlan_rx_kill_vid(9)ice_rep_indr_tc_block_unbind(9)ice_tc_indir_block_unregister(9)ice_tc_indir_block_register(9)ice_get_avail_q_count(9)ice_get_avail_txq_count(9)ice_get_avail_rxq_count(9)ice_deinit_pf(9)ice_set_pf_caps(9)ice_init_pf(9)ice_is_wol_supported(9)ice_vsi_recfg_qs(9)ice_set_safe_mode_vlan_cfg(9)ice_log_pkg_init(9)ice_load_pkg(9)ice_verify_cacheline_size(9)ice_send_version(9)ice_init_fdir(9)ice_get_opt_fw_name(9)ice_request_fw(9)ice_init_tx_topology(9)ice_init_supported_rxdids(9)ice_init_ddp_config(9)ice_print_wake_reason(9)ice_register_netdev(9)ice_cfg_netdev(9)ice_load(9)ice_unload(9)ice_probe(9)ice_set_wake(9)ice_setup_mc_magic_wake(9)ice_remove(9)ice_shutdown(9)ice_prepare_for_shutdown(9)ice_reinit_interrupt_scheme(9)ice_suspend(9)ice_resume(9)ice_pci_err_detected(9)ice_pci_err_slot_reset(9)ice_pci_err_resume(9)ice_pci_err_reset_prepare(9)ice_pci_err_reset_done(9)ice_module_init(9)ice_module_exit(9)ice_set_mac_address(9)ice_set_rx_mode(9)ice_set_tx_maxrate(9)ice_fdb_add(9)ice_fdb_del(9)ice_fix_features(9)ice_set_rx_rings_vlan_proto(9)ice_set_vlan_offload_features(9)ice_set_vlan_filtering_features(9)ice_set_vlan_features(9)ice_set_loopback(9)ice_set_features(9)ice_vsi_vlan_setup(9)ice_vsi_cfg_lan(9)ice_init_moderation(9)ice_napi_enable_all(9)ice_up_complete(9)ice_up(9)ice_fetch_u64_tx_stats(9)ice_fetch_u64_rx_stats(9)ice_update_vsi_tx_ring_stats(9)ice_update_vsi_rx_ring_stats(9)ice_update_vsi_ring_stats(9)ice_update_vsi_stats(9)ice_update_pf_stats(9)ice_get_stats64(9)ice_napi_disable_all(9)ice_vsi_dis_irq(9)ice_down(9)ice_down_up(9)ice_vsi_setup_tx_rings(9)ice_vsi_setup_rx_rings(9)ice_vsi_open_ctrl(9)ice_vsi_open(9)ice_vsi_release_all(9)ice_vsi_rebuild_by_type(9)ice_update_pf_netdev_link(9)ice_rebuild(9)ice_change_mtu(9)ice_set_rss_lut(9)ice_set_rss_key(9)ice_get_rss_lut(9)ice_get_rss_key(9)ice_get_rss(9)ice_set_rss_hfunc(9)ice_bridge_getlink(9)ice_vsi_update_bridge_mode(9)ice_bridge_setlink(9)ice_tx_timeout(9)ice_setup_tc_cls_flower(9)ice_setup_tc_block_cb_ingress(9)ice_setup_tc_block_cb_egress(9)ice_validate_mqprio_qopt(9)ice_add_vsi_to_fdir(9)ice_add_channel(9)ice_chnl_cfg_res(9)ice_cfg_chnl_all_res(9)ice_setup_hw_channel(9)ice_setup_channel(9)ice_set_bw_limit(9)ice_create_q_channel(9)ice_rem_all_chnl_fltrs(9)ice_remove_q_channels(9)ice_rebuild_channels(9)ice_create_q_channels(9)ice_setup_tc_mqprio_qdisc(9)ice_cfg_txtime(9)ice_offload_txtime(9)ice_open(9)ice_open_internal(9)ice_stop(9)ice_features_check(9)
and that's the whole page! π§ this one came from ./drivers/net/ethernet/intel/ice and it's dated October 2026 β ty bestie, mwah ππ
π¦ 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