sis630_set_eq(9)
πΈ NAME πΈ
okay so bestie, this is sis630_set_eq(9) from the Kernel API Manual, and it's literally the little function that sets the phy equalizer value for 630 LAN. No cap, that's the whole vibe. π¦
β¨ SYNOPSIS β¨
void sis630_set_eq (struct net_device *net_dev , u8 revision );
π ARGUMENTS π
net_devβ the net device to set equalizer value. (the main character you're tweaking β¨)revisionβ 630 LAN revision number. (iykyk, it's the revision number fr fr)
π DESCRIPTION π
Okay so this is the 630E equalizer workaround rule (Cyrus Huang 08/15) β and it's all about PHY register 14h (Test). Here's the bit tea β:
Bit 14:0β Automatically detect (default);1β Manually set Equalizer filterBit 13:0β (Default);1β Speed up convergence of equalizer settingBit 9:0β (Default);1β Disable Baseline WanderBit 3~7β Equalizer filter setting
π Link ON π
- Set
Bit 9,Bit 13to1, andBit 14to0. - Then calculate equalizer value.
- Then set equalizer value, and set
Bit 14to1,Bit 9to0.
π¦ Link Off π¦
Set Bit 13 to 1, and Bit 14 to 0.
π₯ Calculate Equalizer value π₯
When Link is ON and Bit 14 is 0, SIS900PHY will auto-detect proper equalizer value. When the equalizer is stable, this value is not a fixed value. It will be within a small range (eg. 7~9). Then we get a minimum and a maximum value (eg. min=7, max=9). Then the rules are:
0 <= max <= 4 --> set equalizer to max
5 <= max <= 14 --> set equalizer to max+1 or set equalizer to max+2 if max == min
max >= 15 --> set equalizer to max+5 or set equalizer to max+6 if max == min
π SEE ALSO π
Bestie, the Kernel file is ./drivers/net/ethernet/sis/sis900.c, and the whole friend group is: sis900_get_mac_addr(9), sis630e_get_mac_addr(9), sis635_get_mac_addr(9), sis96x_get_mac_addr(9), sis900_probe(9), sis900_mii_probe(9), sis900_default_phy(9), sis900_set_capability(9), read_eeprom(9), mdio_read(9), mdio_write(9), sis900_reset_phy(9), sis900_open(9), sis900_init_rxfilter(9), sis900_init_tx_ring(9), sis900_init_rx_ring(9), sis900_timer(9), sis900_check_mode(9), sis900_set_mode(9), sis900_auto_negotiate(9), sis900_read_mode(9), sis900_tx_timeout(9), sis900_start_xmit(9), sis900_interrupt(9), sis900_rx(9), sis900_finish_xmit(9), sis900_close(9), sis900_get_drvinfo(9), sis900_set_wol(9), mii_ioctl(9), sis900_set_config(9), sis900_mcast_bitnr(9), set_rx_mode(9), sis900_reset(9), sis900_remove(9).
mwah π β source/version: ./drivers/net/ethernet/sis, dated October 2026. Stay slay, 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