SiS 900/7016 Fast Ethernet Device Driver

Ollie Lho

Lei Chun Chang

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

November 16, 2000

Abstract

This document gives some information on installation and usage of SiS 900/7016 device driver under Linux.


Table of Contents

1. Introduction
2. Changes
3. Tested Environment
4. Files in This Package
5. Installation
Building the driver as loadable module
Building the driver into kernel
6. Known Problems and Bugs
7. Revision History
8. Acknowledgements
9. List of Functions
sis900_get_mac_addr - Get MAC address for stand alone SiS900 model
sis630e_get_mac_addr - Get MAC address for SiS630E model
sis635_get_mac_addr - Get MAC address for SIS635 model
sis96x_get_mac_addr - Get MAC address for SiS962 or SiS963 model
sis900_probe - Probe for sis900 device
sis900_mii_probe - Probe MII PHY for sis900
sis900_default_phy - Select default PHY for sis900 mac.
sis900_set_capability - set the media capability of network adapter.
read_eeprom - Read Serial EEPROM
mdio_read - read MII PHY register
mdio_write - write MII PHY register
sis900_reset_phy - reset sis900 mii phy.
sis900_open - open sis900 device
sis900_init_rxfilter - Initialize the Rx filter
sis900_init_tx_ring - Initialize the Tx descriptor ring
sis900_init_rx_ring - Initialize the Rx descriptor ring
sis630_set_eq - set phy equalizer value for 630 LAN
sis900_timer - sis900 timer routine
sis900_check_mode - check the media mode for sis900
sis900_set_mode - Set the media mode of mac register.
sis900_auto_negotiate - Set the Auto-Negotiation Enable/Reset bit.
sis900_read_mode - read media mode for sis900 internal phy
sis900_tx_timeout - sis900 transmit timeout routine
sis900_start_xmit - sis900 start transmit routine
sis900_interrupt - sis900 interrupt handler
sis900_rx - sis900 receive routine
sis900_finish_xmit - finish up transmission of packets
sis900_close - close sis900 device
sis900_get_drvinfo - Return information about driver
sis900_set_wol - Set up Wake on Lan registers
mii_ioctl - process MII i/o control command
sis900_get_stats - Get sis900 read/write statistics
sis900_set_config - Set media type by net_device.set_config
sis900_mcast_bitnr - compute hashtable index
set_rx_mode - Set SiS900 receive mode
sis900_reset - Reset sis900 MAC
sis900_remove - Remove sis900 device