ixgbe_mii_bu..._generic_c45(9)
π ixgbe_mii_bus_read_generic_c45 π
okay bestie, gather round, because this one is a little kernel function called ixgbe_mii_bus_read_generic_c45 from the ixgbe_mii_bu..._generic_c45(9) manual page, and it is literally here to read a clause 45 register with gssr flags. no cap. it's giving "tiny driver helper with main character energy" and we are obsessed. π¦
β¨ SYNOPSIS β¨
int ixgbe_mii_bus_read_generic_c45 (struct ixgbe_hw *hw , int addr , int
devad , int regnum , u32 gssr );
like, that's the whole vibe. five arguments, one int coming back at you. slay. π
π ARGUMENTS π
hwβ pointer to hardware structure. your hardware bestie, the whole reason we're here. πaddrβ address. just the address, periodt.devadβ device address to read. this is the one you're reading from, iykyk. π―regnumβ register number. the actual register, the main character. πgssrβ semaphore flags to acquire. yes bestie, we're grabbing semaphore flags. handle with care. π₯
π SEE ALSO π
the friend group is huge and honestly iconic. here's everyone in the group chat, fr fr:
Kernel file ./drivers/net/ethernet/intel/ixgbe/ixgbe_phy.cixgbe_out_i2c_byte_ack(9)ixgbe_in_i2c_byte_ack(9)ixgbe_ones_comp_byte_add(9)ixgbe_read_i2c_combined_generic_int(9)ixgbe_write_i2c_combined_generic_int(9)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)ixgbe_read_phy_reg_mdi(9)ixgbe_read_phy_reg_generic(9)ixgbe_write_phy_reg_mdi(9)ixgbe_write_phy_reg_generic(9)ixgbe_msca_cmd(9)ixgbe_mii_bus_read_generic_c22(9)ixgbe_mii_bus_write_generic_c22(9)ixgbe_mii_bus_write_generic_c45(9)ixgbe_mii_bus_read_c22(9)ixgbe_mii_bus_read_c45(9)ixgbe_mii_bus_write_c22(9)ixgbe_mii_bus_write_c45(9)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)ixgbe_get_first_secondary_devfn(9)ixgbe_x550em_a_has_mii(9)ixgbe_mii_bus_init(9)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)ixgbe_identify_module_generic(9)ixgbe_identify_sfp_module_generic(9)ixgbe_identify_qsfp_module_generic(9)ixgbe_get_sfp_init_sequence_offsets(9)ixgbe_read_i2c_eeprom_generic(9)ixgbe_read_i2c_sff8472_generic(9)ixgbe_write_i2c_eeprom_generic(9)ixgbe_is_sfp_probe(9)ixgbe_read_i2c_byte_generic_int(9)ixgbe_read_i2c_byte_generic(9)ixgbe_read_i2c_byte_generic_unlocked(9)ixgbe_write_i2c_byte_generic_int(9)ixgbe_write_i2c_byte_generic(9)ixgbe_write_i2c_byte_generic_unlocked(9)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_get_i2c_data(9)ixgbe_i2c_bus_clear(9)ixgbe_tn_check_overtemp(9)
likeβ¦ that's the whole extended family and they all ate. πβ¨
ngl, if you're poking around this deep in the ixgbe PHY code, you already know what you're doing. keep slaying, and don't forget to check the file path up there. π«Ά
πΈ okay that's the page!! this cutie came from ./drivers/net/ethernet/intel/i... and its version/date situation is October 2026, all wrapped up under the name ixgbe_mii_bu..._generic_c45(9). mwah, bye 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