ixgbe_read_...bang_generic(9)
β¨ ixgbe_read_...bang_generic β¨
okay so real talk, this page comes out of the Kernel API Manual, section 9 (that's the fun section, the kernel-functions section, iykyk), and the page is literally named ixgbe_read_...bang_generic β and yes, the dots are part of the name, they're not me being lazy, that's just how the man page renders it π
πΈ NAME πΈ
ixgbe_read_eeprom_buffer_bit_bang_generic β Read EEPROM using bit-bang
like, that's the whole vibe. we're reading the EEPROM and we're doing it with bit-bang. iconic behavior honestly π«Ά
π¦ SYNOPSIS π¦
int ixgbe_read_eeprom_buffer_bit_bang_generic (struct ixgbe_hw *hw , u16
offset , u16 words , u16 *data );
it returns an int bestie, and it takes four things. we'll get to them, don't rush me π
π ARGUMENTS π
hwβ pointer to hardware structure. it's astruct ixgbe_hw *, it's the main character of this whole function, everything goes through it β¨offsetβ offset within the EEPROM to be read. au16, telling us where in the EEPROM we're poking around πwordsβ number of word(s). also au16. yes, the man page really says "word(s)", I'm not making that up πdataβ read 16 bit words(s) from EEPROM. it's au16 *, so it's the buffer the words land in when we're done π
π DESCRIPTION π
Reads 16 bit word(s) from EEPROM through bit-bang method.
that's it, that's the whole description, and honestly? she said what she said. 16-bit words, EEPROM, bit-bang method, no notes π
side note from me to you: bit-bang means we're wiggling the pins by hand instead of using a fancy dedicated controller. it's giving "doing it manually but with swagger" π but fr fr, the page just says the bit-bang method and I'm not gonna invent extra lore about it π
π SEE ALSO π
okay this is the part where the man page just dumps the entire friend group on you and honestly I respect it. here's everybody, no cap, all of them:
π«Ά the file she lives in
./drivers/net/ethernet/intel/ixgbe/ixgbe_common.cβ that's the kernel file, go say hi
π₯ flow control & autoneg besties
ixgbe_device_supports_autoneg_fc(9)ixgbe_setup_fc_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)
β hw bring-up & teardown crew
ixgbe_start_hw_generic(9)ixgbe_start_hw_gen2(9)ixgbe_init_hw_generic(9)ixgbe_clear_hw_cntrs_generic(9)ixgbe_stop_adapter_generic(9)
β¨ led girlies (they're glowing, literally)
ixgbe_init_led_link_act_generic(9)ixgbe_led_on_generic(9)ixgbe_led_off_generic(9)ixgbe_blink_led_start_generic(9)ixgbe_blink_led_stop_generic(9)
π the EEPROM squad (our people, obviously)
ixgbe_read_pba_string_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(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)
π mac addr / rar / mta / vlan crew
ixgbe_get_mac_addr_generic(9)ixgbe_get_bus_info_generic(9)ixgbe_set_lan_id_multi_port_pcie(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_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_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)
π§ pcie, sync, rx & general chaos
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_need_crosstalk_fix(9)ixgbe_check_mac_link_generic(9)
π firmware & host interface energy
ixgbe_calculate_checksum(9)ixgbe_hic_unlocked(9)ixgbe_host_interface_command(9)ixgbe_set_fw_drv_ver_generic(9)ixgbe_clear_tx_pending(9)ixgbe_get_ets_data(9)
π¦ thermal, versions & link speeds
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)
so yeah, that's the whole extended family. go read all 94 of them if you're feeling feral, I believe in you π«Ά
okay and before you close the tab β the footer on this page says the source/version is ./drivers/net/ethernet/intel/i... (yeah it's truncated, the man page did that, not me π) and the date is October 2026, and the page itself is ixgbe_read_...bang_generic(9) in the Kernel API Manual. mwah, go read some EEPROM bestie πβ¨π
π¦ 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