ixgbe_get_i2c_data(9)
π ixgbe_get_i2c_data(9) β Kernel API Manual, but make it make sense
okay so bestie, welcome to the glow-up edition of the ixgbe_get_i2c_data(9) page from the Kernel API Manual β¨ this one's short and sweet but she's important, so pay attention π«Ά
β¨ NAME β¨
ixgbe_get_i2c_data β reads the I2C SDA data bit π« literally her whole job, and she does it flawlessly, no cap
πΈ SYNOPSIS πΈ
bool ixgbe_get_i2c_data (struct ixgbe_hw *hw , u32 *i2cctl );
π ARGUMENTS π
hwβ pointer to hardware structure π» like, the whole vibe of the card, handed to you directlyi2cctlβ current value of theI2CCTLregister π she's showing up with the receipts already in hand, we love a prepared queen
π¦ DESCRIPTION π¦
She returns the I2C data bit value π₯ that's it, that's the plot, and she ate.
also β and this is the part you cannot skip, bestie β she negates the I2C data output enable on X550 hardware π so if you're on X550, the output enable gets flipped, and you're just gonna have to accept that, periodt.
π SEE ALSO π
the whole group chat π so many icons in here, every single one of them:
- I2C byte acknowledgement squad:
ixgbe_out_i2c_byte_ack(9),ixgbe_in_i2c_byte_ack(9),ixgbe_ones_comp_byte_add(9) - combined I2C reads & writes:
ixgbe_read_i2c_combined_generic_int(9),ixgbe_write_i2c_combined_generic_int(9) - PHY discovery & reset crew:
ixgbe_probe_phy(9),ixgbe_identify_phy_generic(9),ixgbe_check_reset_blocked(9),ixgbe_get_phy_id(9),ixgbe_get_phy_type_from_id(9),ixgbe_reset_phy_generic(9) - PHY register access besties:
ixgbe_read_phy_reg_mdi(9),ixgbe_read_phy_reg_generic(9),ixgbe_write_phy_reg_mdi(9),ixgbe_write_phy_reg_generic(9) - miscellaneous main characters:
ixgbe_msca_cmd(9) - MII bus β generic flavour:
ixgbe_mii_bus_read_generic_c22(9),ixgbe_mii_bus_read_generic_c45(9),ixgbe_mii_bus_write_generic_c22(9),ixgbe_mii_bus_write_generic_c45(9) - MII bus β the regular ones:
ixgbe_mii_bus_read_c22(9),ixgbe_mii_bus_read_c45(9),ixgbe_mii_bus_write_c22(9),ixgbe_mii_bus_write_c45(9) - MII bus β the x550em_a limited editions:
ixgbe_x550em_a_mii_bus_read_c22(9),ixgbe_x550em_a_mii_bus_read_c45(9),ixgbe_x550em_a_mii_bus_write_c22(9),ixgbe_x550em_a_mii_bus_write_c45(9) - x550em_a lore:
ixgbe_get_first_secondary_devfn(9),ixgbe_x550em_a_has_mii(9),ixgbe_mii_bus_init(9) - link setup era:
ixgbe_setup_phy_link_generic(9),ixgbe_setup_phy_link_speed_generic(9),ixgbe_get_copper_speeds_supported(9),ixgbe_get_copper_link_capabilities_generic(9),ixgbe_check_phy_link_tnx(9),ixgbe_setup_phy_link_tnx(9),ixgbe_reset_phy_nl(9) - module identification committee:
ixgbe_identify_module_generic(9),ixgbe_identify_sfp_module_generic(9),ixgbe_identify_qsfp_module_generic(9),ixgbe_get_sfp_init_sequence_offsets(9) - EEPROM & SFF access:
ixgbe_read_i2c_eeprom_generic(9),ixgbe_read_i2c_sff8472_generic(9),ixgbe_write_i2c_eeprom_generic(9),ixgbe_is_sfp_probe(9) - I2C byte reads:
ixgbe_read_i2c_byte_generic_int(9),ixgbe_read_i2c_byte_generic(9),ixgbe_read_i2c_byte_generic_unlocked(9) - I2C byte writes:
ixgbe_write_i2c_byte_generic_int(9),ixgbe_write_i2c_byte_generic(9),ixgbe_write_i2c_byte_generic_unlocked(9) - the bit-banging icons:
ixgbe_i2c_start(9),ixgbe_i2c_stop(9),ixgbe_clock_in_i2c_byte(9),ixgbe_clock_out_i2c_byte(9),ixgbe_get_i2c_ack(9),ixgbe_clock_in_i2c_bit(9),ixgbe_clock_out_i2c_bit(9),ixgbe_raise_i2c_clk(9),ixgbe_lower_i2c_clk(9),ixgbe_set_i2c_data(9),ixgbe_i2c_bus_clear(9) - and finally, the overtemp check:
ixgbe_tn_check_overtemp(9)
and don't forget the kernel file itself, bestie β ./drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c π that's where she lives π‘π
fr fr the only tricky bit: that X550 negation of the data output enable is real behaviour, not a typo, so don't go "fixing" it π
and that's the page!! π this little drop came from ./drivers/net/ethernet/intel/i... (she's the source/version, iykyk π) and it's dated October 2026 β so you know it's fresh β mwah, drink some water, and go read the other 64 pages in SEE ALSO ππ¦π
π¦ 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