ice_discover_func_caps(9)
πΈ ice_discover_func_caps(9) πΈ β straight outta the Kernel API Manual, bestie π
okay so before we even get into it: yes, this is a kernel man page, no, it's not boring, and yes, I'm gonna walk you through it like we're texting at 2am. it's giving "small function, big friend group" and honestly? iconic. π«Ά
β¨ NAME β¨
ice_discover_func_caps β Read and extract function capabilities π
like, that's the whole vibe. read the caps, extract the caps, move on with your life. periodt.
π¦ SYNOPSIS π¦
int ice_discover_func_caps (struct ice_hw *hw , struct ice_hw_func_caps
*func_caps );
yes the spacing is a little chaotic, no we are not fixing it, it's part of the charm π
π ARGUMENTS π
hwβ pointer to the hardware structure. the main character of the hardware world, lowkey.func_capsβ pointer to the function capabilities structure. this is where all the good stuff gets tucked away. π
π₯ DESCRIPTION π₯
So here's the tea: ice_discover_func_caps reads the function capabilities and extracts them into the func_caps structure so they can be used later. That's it. That's the whole function. Read, extract, store, slay. β¨
No cap, it's literally just gathering the info and putting it somewhere your future self can find it β which is honestly the most responsible thing anyone in this codebase does. main character energy fr fr. π
bestie reminder: the caps get pulled into func_caps for later use, so don't come for this function when something downstream reads them β it did its job. π
π SEE ALSO π
first up, the actual home turf:
- Kernel file
./drivers/net/ethernet/intel/ice/ice_common.c
and now, the extended friend group. there are a LOT of them and I'm obsessed with how many mutuals this one function has π every single one, in order, no skips:
ice_dump_phy_type(9)ice_set_mac_type(9)ice_is_generic_mac(9)ice_clear_pf_cfg(9)ice_aq_manage_mac_read(9)ice_aq_get_phy_caps(9)ice_aq_get_link_topo_handle(9)ice_aq_get_netlist_node(9)ice_find_netlist_node(9)ice_is_media_cage_present(9)ice_get_media_type(9)ice_get_link_status_datalen(9)ice_aq_get_link_info(9)ice_fill_tx_timer_and_fc_thresh(9)ice_aq_set_mac_cfg(9)ice_init_fltr_mgmt_struct(9)ice_cleanup_fltr_mgmt_struct(9)ice_get_itr_intrl_gran(9)ice_wait_fw_load(9)ice_init_hw(9)ice_deinit_hw(9)ice_check_reset(9)ice_pf_reset(9)ice_reset(9)ice_copy_rxq_ctx_to_hw(9)ice_copy_rxq_ctx_from_hw(9)ice_pack_rxq_ctx(9)ice_unpack_rxq_ctx(9)ice_write_rxq_ctx(9)ice_read_rxq_ctx(9)ice_pack_txq_ctx(9)ice_pack_txq_ctx_full(9)ice_unpack_txq_ctx_full(9)ice_copy_txq_ctx_from_hw(9)ice_copy_txq_ctx_to_hw(9)ice_read_txq_ctx(9)ice_write_txq_ctx(9)ice_pack_txtime_ctx(9)ice_sbq_send_cmd(9)ice_sbq_rw_reg(9)ice_should_retry_sq_send_cmd(9)ice_sq_send_cmd_retry(9)ice_aq_send_cmd(9)ice_aq_get_fw_ver(9)ice_aq_send_driver_ver(9)ice_aq_q_shutdown(9)ice_aq_req_res(9)ice_aq_release_res(9)ice_acquire_res(9)ice_release_res(9)ice_aq_alloc_free_res(9)ice_alloc_hw_res(9)ice_free_hw_res(9)ice_get_num_per_func(9)ice_parse_common_caps(9)ice_recalc_port_limited_caps(9)ice_parse_vf_func_caps(9)ice_parse_vsi_func_caps(9)ice_parse_1588_func_caps(9)ice_parse_fdir_func_caps(9)ice_parse_func_caps(9)ice_func_id_to_logical_id(9)ice_parse_valid_functions_cap(9)ice_parse_vf_dev_caps(9)ice_parse_vsi_dev_caps(9)ice_parse_1588_dev_caps(9)ice_parse_fdir_dev_caps(9)ice_parse_sensor_reading_cap(9)ice_parse_nac_topo_dev_caps(9)ice_parse_dev_caps(9)ice_is_phy_rclk_in_netlist(9)ice_is_clock_mux_in_netlist(9)ice_is_cgu_in_netlist(9)ice_is_gps_in_netlist(9)ice_aq_list_caps(9)ice_discover_dev_caps(9)ice_set_safe_mode_caps(9)ice_get_caps(9)ice_aq_manage_mac_write(9)ice_aq_clear_pxe_mode(9)ice_clear_pxe_mode(9)ice_aq_set_port_params(9)ice_is_100m_speed_supported(9)ice_get_link_speed_based_on_phy_type(9)ice_update_phy_type(9)ice_aq_set_phy_cfg(9)ice_update_link_info(9)ice_aq_get_phy_equalization(9)ice_aq_get_fec_stats(9)ice_cache_phy_user_req(9)ice_caps_to_fc_mode(9)ice_caps_to_fec_mode(9)ice_cfg_phy_fc(9)ice_set_fc(9)ice_phy_caps_equals_cfg(9)ice_copy_phy_caps_to_cfg(9)ice_cfg_phy_fec(9)ice_get_link_status(9)ice_aq_set_link_restart_an(9)ice_aq_set_event_mask(9)ice_aq_set_mac_loopback(9)ice_aq_set_port_id_led(9)ice_aq_get_port_options(9)ice_aq_set_port_option(9)ice_get_phy_lane_number(9)ice_aq_sff_eeprom(9)__ice_aq_get_set_rss_lut(9)ice_aq_get_rss_lut(9)ice_aq_set_rss_lut(9)__ice_aq_get_set_rss_key(9)ice_aq_get_rss_key(9)ice_aq_set_rss_key(9)ice_aq_add_lan_txq(9)ice_aq_dis_lan_txq(9)ice_aq_cfg_lan_txq(9)ice_aq_add_rdma_qsets(9)ice_aq_set_txtimeq(9)ice_get_lan_q_ctx(9)ice_ena_vsi_txq(9)ice_dis_vsi_txq(9)ice_cfg_vsi_qs(9)ice_cfg_vsi_lan(9)ice_cfg_vsi_rdma(9)ice_ena_vsi_rdma_qset(9)ice_dis_vsi_rdma_qset(9)ice_aq_get_cgu_input_pin_measure(9)ice_aq_get_cgu_abilities(9)ice_aq_set_input_pin_cfg(9)ice_aq_get_input_pin_cfg(9)ice_aq_set_output_pin_cfg(9)ice_aq_get_output_pin_cfg(9)ice_aq_get_cgu_dpll_status(9)ice_aq_set_cgu_dpll_config(9)ice_aq_set_cgu_ref_prio(9)ice_aq_get_cgu_ref_prio(9)ice_aq_get_cgu_info(9)ice_aq_set_phy_rec_clk_out(9)ice_aq_get_phy_rec_clk_out(9)ice_aq_get_sensor_reading(9)ice_replay_pre_init(9)ice_replay_vsi(9)ice_replay_post(9)ice_stat_update40(9)ice_stat_update32(9)ice_sched_query_elem(9)ice_aq_read_i2c(9)ice_aq_write_i2c(9)ice_get_pca9575_handle(9)ice_read_pca9575_reg(9)ice_aq_set_gpio(9)ice_aq_get_gpio(9)ice_is_fw_api_min_ver(9)ice_fw_supports_link_override(9)ice_get_link_default_override(9)ice_is_phy_caps_an_enabled(9)ice_is_fw_health_report_supported(9)ice_aq_set_health_status_cfg(9)ice_aq_set_lldp_mib(9)ice_fw_supports_lldp_fltr_ctrl(9)ice_lldp_fltr_add_remove(9)ice_lldp_execute_pending_mib(9)ice_fw_supports_report_dflt_cfg(9)ice_get_link_speed(9)ice_get_dest_cgu(9)ice_read_cgu_reg(9)ice_write_cgu_reg(9)
likeβ¦ 166 mutuals. she's networking, she's thriving, she's in ./drivers/net/ethernet/intel/ice. π iykyk.
and that's the page!! ty for coming to my ted talk, bestie π
this little cutie lives in the Kernel API Manual, comes to you from ./drivers/net/ethernet/intel/ice, and the version on deck is dated October 2026 β see you next time, muah ππ¦
π¦ 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