sis630_set_eq(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 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 filter
  • Bit 13: 0 β€” (Default); 1 β€” Speed up convergence of equalizer setting
  • Bit 9: 0 β€” (Default); 1 β€” Disable Baseline Wander
  • Bit 3~7 β€” Equalizer filter setting
  1. Set Bit 9, Bit 13 to 1, and Bit 14 to 0.
  2. Then calculate equalizer value.
  3. Then set equalizer value, and set Bit 14 to 1, Bit 9 to 0.

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