Commit Graph

21 Commits

Author SHA1 Message Date
Aurelien Jarno 8fee5f51a5 [PATCH] sis190.c: fix multicast MAC filter
Here is a patch that changes the way the MAC filter is computed for the
multicast addresses. The computation is taken from the SiS GPL driver.

This patch is necessary to get IPv6 working.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:14:11 -04:00
Francois Romieu e797637f4c [PATCH] sis190: basic sis191 support
The sis191 is the gigabit brother of the sis190. SiS's driver suggests
that the register set is backward compatible: this should hopefully
give a basic driver.

The device should allow the usual features from a modern ethernet
adapter (802.1q, SG, Jumbo frames, TSO, checksum offload). So far
the relevant register layout is not documented. SiS's driver does
not provide these features either (at least not for Linux).

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-05 18:06:53 -04:00
Francois Romieu c3d6f1f24c [PATCH] sis190: RGMII Tx internal delay fiddling
Don't ask.
The patch is based on SiS's GPLed driver.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-05 18:06:53 -04:00
Francois Romieu 6614a6dc6e [PATCH] sis190: make 10Mbps the default when handling the StationControl register
This patch does three things:
- widen the access to the StationControl register (note the SIS_W16
  versus SIS_W32 change);
- default to 10Mbps half duplex when the LPA can not be evaluated
  (reg31->ctl is identical for both). It can be argued that it makes
  sense as the lowest common denominator when everything else failed.
  Btw it works better than the current code. :o)
- remove some enums: they do not document anymore.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-05 18:06:53 -04:00
Francois Romieu 900eb9d692 [PATCH] sis190: recent chipsets from SiS include a RGMII
Extracted from SiS's GPLed driver. From the few pdf available at SiS's,
it seems that the 965 and the 966 south bridge include this interface
whereas the 965L (and anything below) does not. It is expected to be a
sis191 related feature and should not hurt the existing sis190 driver.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-05 18:06:52 -04:00
Francois Romieu 21461380d3 [PATCH] sis190: unmask the link change events
link changes reporting does not work when the driver masks its irq event

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-05 18:06:52 -04:00
Francois Romieu 3690b6c124 [PATCH] sis190: complete the mii probe before registering the netdevice
The userspace must not be able to issue ethtool command and manage the
mii before it is completely initialized. Avoid some pesky "eth%d" messages.

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-26 00:52:11 -04:00
Francois Romieu 8348b4db5f [PATCH] sis190: compare the lpa to the local advertisement
The station control register must depend on both the advertisement and the lpa

The link partner ability has better be intersected with the current
advertised value before it is feed to the station control register.

Sight-catched-by: Lars Vahlenberg <lars.vahlenberg@gmail.com>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:21:01 -04:00
Francois Romieu 560d3d521d [PATCH] sis190: PHY identifier for the K8S-MX motherboard.
Added PHY identifier for the Asus K8S-MX motherboard

Note: the same ID appears in the sis900 driver.

Signed-off-by: Lars Vahlenberg <lars.vahlenberg@gmail.com>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:21:01 -04:00
Francois Romieu fcb9821d3d [PATCH] sis190: new PHY detection code.
New PHY detection code.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:21:00 -04:00
Francois Romieu fc10c39d79 [PATCH] sis190: dummy read is required by the status register
Add a dummy read before accessing the status register

SiS driver suggests it.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:21:00 -04:00
Francois Romieu 9ede109bbe [PATCH] sis190: allow a non-hardcoded ID for the PHY.
Allow a non-hardcoded ID for the PHY

This is the first step before the driver probes for the PHY address.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:21:00 -04:00
Francois Romieu 3cec93c712 [PATCH] sis190: add endian annotations.
Add endian annotations.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:21:00 -04:00
Francois Romieu bcad5e5378 [PATCH] sis190: extract bits definition from SiS driver.
extract bits definition from SiS driver

- fix the Rx stats;
- minor pieces of documentation.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:21:00 -04:00
Francois Romieu 8b5641d4f1 [PATCH] sis190: the size of the Rx buffer is constrained
Add a restriction to the size of the Rx buffer

SiS driver forces the size of any Rx buffer to be a multiple of 64 bit.
I would not be surprized that it goes along with some alignment issues
which have been experienced before. So far it does not make much of a
difference (both drivers use 1536 bytes buffer).

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:21:00 -04:00
Francois Romieu 830fb7d232 [PATCH] sis190: initialisation of MAC address.
Extract some mac addr code from SiS's driver.

Some magic may hide beyond the isa bridge. The Rx mac control
register is now set without condition.

Note: good or bad, this part of the code is quite close to sis900.c.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:21:00 -04:00
Francois Romieu 40292fb0f0 [PATCH] sis190: remove hardcoded constants.
Replace hardcoded constants by enumerated values in sis190_read_eeprom

The names of the enumerated values have been extracted from SiS'official
driver (v1.00.00 published on 2005/07/11).

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:21:00 -04:00
Francois Romieu 188f23ba94 [PATCH] sis190: merge some register related information from SiS driver.
Merge some register related information from SiS driver.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:21:00 -04:00
Francois Romieu 43afb949a9 [PATCH] sis190: ethtool/mii support.
ethtool/mii support

Bug: disabling autonegotiation and setting the link parameters at the
same time does not provide the expected result. More investigation is
needed.

Note: past the initial probe/open time, the link is managed from user-space
or accessed through sis190_phy_task, i.e. in a usermode context. Whence the
very limited locking needs.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:20:59 -04:00
Francois Romieu 4405d3b5ef [PATCH] sis190: netconsole support.
netconsole support.

This stuff should be factored out of every driver.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:20:59 -04:00
Francois Romieu 890e8d0a3d [PATCH] sis190: resurrection
Raise the sis190 driver from the dead

The driver handles the integrated network device found on SiS 965L
chipset. It follows the classical (non-napi) interrupt-driven model
and provides minimal ethtool support.

The code comes from a heavy cleanup/rewrite of the original code
which was removed from the kernel on 14/04/2004. Since the r8169
driver does not work too bad and there will probably be (at least)
a few months of improvements/testing/fixing, I made the code as
close as possible to the r8169 one.

Pascal Chapperon <pascal.chapperon@wanadoo.fr> deserves some special
credit for testing and bug-catching. Many thanks to Lars Vahlenberg
as well.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:20:59 -04:00