genphy_c37_config_aneg(9)
π genphy_c37_config_aneg(9) π
okay so bestie, welcome to the Kernel API Manual β today's main character is genphy_c37_config_aneg, and honestly? she's a tiny function with a very specific job. let's get into it π
β¨ NAME β¨
genphy_c37_config_aneg β restart auto-negotiation, or write the BMCR. that's it, that's the whole vibe π
πΈ SYNOPSIS πΈ
int genphy_c37_config_aneg (struct phy_device *phydev );
π¦ ARGUMENTS π¦
phydevβ the targetphy_devicestruct. she's your girl, your little PHY device bestie, the one you're configuring π«Ά
π DESCRIPTION π
so here's the tea, and it's genuinely simple:
- if auto-negotiation is enabled, we configure the advertising first, and then we restart auto-negotiation. like, set up what she's gonna advertise, then hit the restart button β¨
- if auto-negotiation is not enabled, then we write the BMCR instead. different lane, same destination π«
heads up: this function is intended for use with Clause 37 1000Base-X mode. she's purpose-built, not a generalist. respect her niche π₯
π SEE ALSO π
the whole friend group, no cap β literally every single one of these icons is down there, and yes bestie you're getting all of them π
phy_uses_state_machine(9)phy_register_fixup(9)genphy_match_phy_device(9)get_phy_c45_ids(9)get_phy_c22_id(9)get_phy_device(9)phy_device_register(9)phy_device_remove(9)phy_get_c45_ids(9)phy_find_next(9)phy_prepare_link(9)phy_connect_direct(9)phy_connect(9)phy_disconnect(9)phy_poll_reset(9)phy_sfp_connect_phy(9)phy_sfp_disconnect_phy(9)phy_sfp_attach(9)phy_sfp_detach(9)phy_sfp_probe(9)phy_attach_direct(9)phy_detach(9)phy_reset_after_clk_enable(9)genphy_config_advert(9)genphy_c37_config_advert(9)genphy_setup_forced(9)genphy_restart_aneg(9)genphy_check_and_restart_aneg(9)__genphy_config_aneg(9)genphy_aneg_done(9)genphy_update_link(9)genphy_read_status_fixed(9)genphy_read_status(9)genphy_c37_read_status(9)genphy_soft_reset(9)genphy_read_abilities(9)phy_remove_link_mode(9)phy_advertise_supported(9)phy_advertise_eee_all(9)phy_support_eee(9)phy_disable_eee(9)phy_support_sym_pause(9)phy_support_asym_pause(9)phy_set_sym_pause(9)phy_set_asym_pause(9)phy_validate_pause(9)phy_get_pause(9)phy_get_internal_delay(9)phy_get_tx_amplitude_gain(9)phy_get_mac_termination(9)phy_get_sfp_port(9)fwnode_mdio_find_device(9)fwnode_phy_find_device(9)fwnode_get_phy_node(9)phy_probe(9)phy_driver_register(9)
and one more lil detail β these all live in the kernel file ./drivers/net/phy/phy_device.c, so that's your source of truth, iykyk π
okay that's the whole page bestie, you ate that π β¨
this masterpiece came from ./drivers/net/phy, dated October 2026, and if you need to cite her (you will), she goes by genphy_c37_config_aneg(9) β iconic, unforgettable, periodt ππ¦π
π¦ 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