yt8521_modify_bmcr_paged(9)
๐ yt8521_modify_bmcr_paged(9) โ kernel api manual energy โจ
okay so bestie, welcome to the yt8521_modify_bmcr_paged page โ this is the Kernel API Manual entry for it, and honestly? it's giving "tiny helper function with main character energy". ๐
๐ธ NAME ๐ธ
yt8521_modify_bmcr_paged โ bits-modify a PHY's BMCR register on one page. that's it, that's the whole vibe. โจ
๐ฆ SYNOPSIS ๐ฆ
int yt8521_modify_bmcr_paged (struct phy_device *phydev , int page , u16
mask , u16 set );
like, literally the whole signature, no cap. ๐ซถ
๐ ARGUMENTS ๐
phydevโ thephy_devicestruct. the main character of the operation, obvi. ๐pageโ the reg page you wanna operate on, and it's got exactly two moods:YT8521_RSSR_FIBER_SPACEorYT8521_RSSR_UTP_SPACE. pick your fighter. ๐งmaskโ the bit mask of bits to clear. bye-bye bits. ๐setโ the bit mask of bits to set. hello bits. ๐ฅ
โญ NOTE โญ
so this is a convenience function, and what it does is let you modify a PHY's BMCR register like this, fr fr:
new register value = (old register value & ~mask) | set
iconic bit math, honestly. ๐งฎโจ
now the lore: YT8521 has two space (utp/fiber) and three mode (utp/fiber/poll), and each space has MII_BMCR. poll mode combines utp and faber, so you gotta do both. ๐ and if it's a reset, it will wait for completion โ like, it literally sits there until it's done, periodt. โณ
returns 0 or a negative errno code. so either slay or sad. ๐ญ
๐ SEE ALSO ๐
the whole friend group, in order, no one left behind (iykyk). kernel file ./drivers/net/phy/motorcomm.c, plus:
ytphy_read_ext(9)ytphy_read_ext_with_lock(9)ytphy_write_ext(9)ytphy_write_ext_with_lock(9)ytphy_modify_ext(9)ytphy_modify_ext_with_lock(9)ytphy_get_wol(9)ytphy_set_wol(9)yt8521_read_page(9)yt8521_write_page(9)struct ytphy_cfg_reg_map(9)struct ytphy_ldo_vol_map(9)yt8521_probe(9)ytphy_utp_read_lpa(9)yt8521_adjust_status(9)yt8521_read_status_paged(9)yt8521_read_status(9)yt8521_modify_utp_fiber_bmcr(9)yt8521_soft_reset(9)yt8521_suspend(9)yt8521_resume(9)yt8521_config_init(9)yt8531_link_change_notify(9)yt8521_prepare_fiber_features(9)yt8521_fiber_setup_forced(9)ytphy_check_and_restart_aneg(9)yt8521_fiber_config_aneg(9)ytphy_setup_master_slave(9)ytphy_utp_config_advert(9)ytphy_utp_config_aneg(9)yt8521_config_aneg_paged(9)yt8521_config_aneg(9)yt8521_aneg_done_paged(9)yt8521_aneg_done(9)ytphy_utp_read_abilities(9)yt8521_get_features_paged(9)yt8521_get_features(9)yt8821_get_features(9)yt8821_get_rate_matching(9)yt8821_aneg_done(9)yt8821_serdes_init(9)yt8821_utp_init(9)yt8821_auto_sleep_config(9)yt8821_soft_reset(9)yt8821_config_init(9)yt8821_adjust_status(9)yt8821_update_interface(9)yt8821_read_status(9)yt8821_modify_utp_fiber_bmcr(9)yt8821_suspend(9)yt8821_resume(9)
and that's the page, bestie!! ๐ this lil manual lives over in ./drivers/net/phy and it's dated October 2026 โ so yeah, future vibes only. ๐ฆโจ go forth and modify those BMCR bits, you absolute icon. ๐
๐
๐ฆ 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