ixgbe_x550em...us_write_c22(9)
π
ixgbe_x550em_a_mii_bus_write_c22 β the Kernel API Manual, but make it make sense β¨
okay so bestie, welcome to the glow-up edition of the ixgbe_x550em_a_mii_bus_write_c22(9) page from the Kernel API Manual π this is the one that slides a clause 22 register value onto x550em_a β and yes, she's literally in ./drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c π¦
πΈ NAME
ixgbe_x550em_a_mii_bus_write_c22 β Write a clause 22 register on x550em_a π
β¨ SYNOPSIS
int ixgbe_x550em_a_mii_bus_write_c22 (struct mii_bus *bus , int addr ,
int regnum , u16 val );
that's the whole vibe check right there, no cap π₯
π«Ά ARGUMENTS
busβ pointer tomii_busstructure which points to our driver private π (yes queen, it's our private, she's got main character energy)addrβ address πregnumβ register number π’valβ value to write π (theu16one, slay)
π§ SEE ALSO
this is the part where the manpage dumps the entire friend group on you π like literally the whole squad, iykyk. every single one, in order, iconically:
ixgbe_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_read_generic_c45(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_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)
and the file ref itself, so you can go read the source like the little researcher you are π§ :
Kernel file ./drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
ngl bestie, read these before you go poking at PHY registers β the wholec22/c45/i2ccluster is a lot, and these pages are the lore you actually need π
π sign-off
source path was ./drivers/net/ethernet/intel/i... (yes it's truncated, that's just how the footer rolls π), dated October 2026, and it signs itself ixgbe_x550em...us_write_c22(9) because even manpage footers can't fit the whole name π
periodt, go write that register 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