ixgbe_hic_unlocked(9)
π ixgbe_hic_unlocked β a.k.a. the Kernel API Manual page, but make it make sense π
okay so bestie, this is the manual page for ixgbe_hic_unlocked(9) from the Kernel API Manual, and honestly? it's giving "tiny function, huge friend group." let's get into it β¨
β¨ NAME β¨
ixgbe_hic_unlocked β the one that issues a command to the manageability block, unlocked-style π«Ά
π¦ SYNOPSIS π¦
int ixgbe_hic_unlocked (struct ixgbe_hw *hw , u32 *buffer , u32 length ,
u32 timeout );
like, that's the whole signature, no notes π
π ARGUMENTS π
hwβ pointer to the HW structure. bestie's whole identity lives in here πΈbufferβ the command you wanna write, and where the return status gets dropped off after. multitasking icon πlengthβ how longbufferis. must be a multiple of 4 bytes, no cap, that's a hard requirement π€timeoutβ how long (in ms) you're willing to sit there waiting for the command to finish. patience is a virtue fr fr β³
π₯ DESCRIPTION π₯
so basically this function communicates with the manageability block π£οΈβ¨. if it goes well you get 0 back. if not, here's the vibe check:
- returns a semaphore error when it hits an error acquiring the semaphore (rude π)
- returns
-EINVALwhen you pass in incorrect parameters (wrong vibes, invalid input π) - returns
-EIOwhen the command itself fails (it just didn't ate π€·ββοΈ)
β οΈ important caveat bestie, do not skip this: this function assumes that the IXGBE_GSSR_SW_MNG_SM semaphore is held by the caller. like, it's not gonna grab it for you. you gotta already be holding it. main character responsibility ππ
π SEE ALSO π
the whole squad π«Ά β first up, the kernel file where all this lives:
Kernel file ./drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
and now the full friend group, in order, nobody left behind:
ixgbe_device_supports_autoneg_fc(9)ixgbe_setup_fc_generic(9)ixgbe_start_hw_generic(9)ixgbe_start_hw_gen2(9)ixgbe_init_hw_generic(9)ixgbe_clear_hw_cntrs_generic(9)ixgbe_read_pba_string_generic(9)ixgbe_get_mac_addr_generic(9)ixgbe_get_bus_info_generic(9)ixgbe_set_lan_id_multi_port_pcie(9)ixgbe_stop_adapter_generic(9)ixgbe_init_led_link_act_generic(9)ixgbe_led_on_generic(9)ixgbe_led_off_generic(9)ixgbe_init_eeprom_params_generic(9)ixgbe_write_eeprom_buffer_bit_bang_generic(9)ixgbe_write_eeprom_buffer_bit_bang(9)ixgbe_write_eeprom_generic(9)ixgbe_read_eeprom_buffer_bit_bang_generic(9)ixgbe_read_eeprom_buffer_bit_bang(9)ixgbe_read_eeprom_bit_bang_generic(9)ixgbe_read_eerd_buffer_generic(9)ixgbe_detect_eeprom_page_size_generic(9)ixgbe_read_eerd_generic(9)ixgbe_write_eewr_buffer_generic(9)ixgbe_write_eewr_generic(9)ixgbe_poll_eerd_eewr_done(9)ixgbe_acquire_eeprom(9)ixgbe_get_eeprom_semaphore(9)ixgbe_release_eeprom_semaphore(9)ixgbe_ready_eeprom(9)ixgbe_standby_eeprom(9)ixgbe_shift_out_eeprom_bits(9)ixgbe_shift_in_eeprom_bits(9)ixgbe_raise_eeprom_clk(9)ixgbe_lower_eeprom_clk(9)ixgbe_release_eeprom(9)ixgbe_calc_eeprom_checksum_generic(9)ixgbe_validate_eeprom_checksum_generic(9)ixgbe_update_eeprom_checksum_generic(9)ixgbe_set_rar_generic(9)ixgbe_clear_rar_generic(9)ixgbe_init_rx_addrs_generic(9)ixgbe_mta_vector(9)ixgbe_set_mta(9)ixgbe_update_mc_addr_list_generic(9)ixgbe_enable_mc_generic(9)ixgbe_disable_mc_generic(9)ixgbe_fc_enable_generic(9)ixgbe_negotiate_fc(9)ixgbe_fc_autoneg_fiber(9)ixgbe_fc_autoneg_backplane(9)ixgbe_fc_autoneg_copper(9)ixgbe_fc_autoneg(9)ixgbe_pcie_timeout_poll(9)ixgbe_disable_pcie_primary(9)ixgbe_acquire_swfw_sync(9)ixgbe_release_swfw_sync(9)prot_autoc_read_generic(9)prot_autoc_write_generic(9)ixgbe_disable_rx_buff_generic(9)ixgbe_enable_rx_buff_generic(9)ixgbe_enable_rx_dma_generic(9)ixgbe_blink_led_start_generic(9)ixgbe_blink_led_stop_generic(9)ixgbe_get_san_mac_addr_offset(9)ixgbe_get_san_mac_addr_generic(9)ixgbe_get_pcie_msix_count_generic(9)ixgbe_clear_vmdq_generic(9)ixgbe_set_vmdq_generic(9)ixgbe_set_vmdq_san_mac_generic(9)ixgbe_init_uta_tables_generic(9)ixgbe_find_vlvf_slot(9)ixgbe_set_vfta_generic(9)ixgbe_clear_vfta_generic(9)ixgbe_need_crosstalk_fix(9)ixgbe_check_mac_link_generic(9)ixgbe_get_wwn_prefix_generic(9)ixgbe_set_mac_anti_spoofing(9)ixgbe_set_vlan_anti_spoofing(9)ixgbe_get_device_caps_generic(9)ixgbe_set_rxpba_generic(9)ixgbe_calculate_checksum(9)ixgbe_host_interface_command(9)ixgbe_set_fw_drv_ver_generic(9)ixgbe_clear_tx_pending(9)ixgbe_get_ets_data(9)ixgbe_get_thermal_sensor_data_generic(9)ixgbe_init_thermal_sensor_thresh_generic(9)ixgbe_get_orom_version(9)ixgbe_get_oem_prod_version(9)ixgbe_get_etk_id(9)ixgbe_setup_mac_link_multispeed_fiber(9)ixgbe_set_soft_rate_select_speed(9)
like, that's the whole group chat, everyone got a mention π
and that's the page!! source/version vibes come from ./drivers/net/ethernet/intel/i... and the date stamp says October 2026 ποΈβ¨ β so yeah, this doc is from the future, slay. bye bestie, go hold that semaphore π«Άπ
π
π¦ 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