[vortex] Support for ATI Radeon 9100 IGP

Bogdan Costescu bogdan.costescu at iwr.uni-heidelberg.de
Tue Jun 1 09:22:44 PDT 2004


Hi!

The following patch adds support for the 3Com networking core found in 
the ATI Radeon 9100 IGP southbridge used on boards like Asus P4R800-VM.
The patch is against the 3c59x driver from 2.6.6; it should apply 
cleanly to most other 2.6 versions and applies with some offsets also 
for 2.4.2x. 

The main point of this patch is using HAS_MII instead of HAS_NWAY for
the definition of the board. All the previous trials since the end of
last year used HAS_NWAY which disables the Tx part of the transceiver;
using HAS_NWAY was the way all 3Com Cyclone and Tornado chips worked,
as they had the transceiver integrated. The ATI solution has an
external transceiver and I had to physically see the different chip on
the board (the board was provided by ATI) to finally understand that
it needs the HAS_MII definition...  I'm still waiting for some docs
from ATI to clarify if this is the correct way of handling this chip
and if there are any differences w.r.t EEPROM handling, but as it
appears to work and was also confirmed by other testers, I don't want
to keep owners of such boards away from their networks :-)

The textual identification was a bit hard to decide; it's called 
"3c920B-EMB-WNM" in the Windows .INF file that Asus provides for 
their boards. As this name was already used for PCI ID 9210, I added 
the paranthesis which specifies where this chip is found.

The Scyld driver defines FEATURE_TORNADO to include HAS_NWAY. This 
board would then probably need to not be defined with FEATURE_TORNADO, 
but the same as in this patch.

I would like to publicly thank Tyson Vickers for both ideas and
patience during the last few weeks. He managed to get the driver
working by randomly setting driver parameters :-)
But then he contacted me and worked with me towards the solution.



--- linux-2.6.6-orig/drivers/net/3c59x.c	2004-05-10 04:31:55.000000000 +0200
+++ linux-2.6.6/drivers/net/3c59x.c	2004-05-25 23:45:29.000000000 +0200
@@ -446,6 +446,7 @@
 	CH_3C905B_2,
 	CH_3C905B_FX,
 	CH_3C905C,
+	CH_3C9202,
 	CH_3C980,
 	CH_3C9805,
 
@@ -521,6 +522,8 @@
 	 PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
 	{"3c905C Tornado",
 	 PCI_USES_IO|PCI_USES_MASTER, IS_TORNADO|HAS_NWAY|HAS_HWCKSM, 128, },
+	{"3c920B-EMB-WNM (ATI Radeon 9100 IGP)",
+	 PCI_USES_IO|PCI_USES_MASTER, IS_TORNADO|HAS_MII|HAS_HWCKSM, 128, },
 	{"3c980 Cyclone",
 	 PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
 	{"3c980C Python-T",
@@ -597,6 +600,7 @@
 	{ 0x10B7, 0x9058, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905B_2 },
 	{ 0x10B7, 0x905A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905B_FX },
 	{ 0x10B7, 0x9200, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905C },
+	{ 0x10B7, 0x9202, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C9202 },
 	{ 0x10B7, 0x9800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C980 },
 	{ 0x10B7, 0x9805, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C9805 },
 

-- 
Bogdan Costescu

IWR - Interdisziplinaeres Zentrum fuer Wissenschaftliches Rechnen
Universitaet Heidelberg, INF 368, D-69120 Heidelberg, GERMANY
Telephone: +49 6221 54 8869, Telefax: +49 6221 54 8868
E-mail: Bogdan.Costescu at IWR.Uni-Heidelberg.De





More information about the vortex mailing list