All of lore.kernel.org
 help / color / mirror / Atom feed
* Bad PCI IDs-Names table in 3c59x.c
@ 2003-03-29  1:30 J.A. Magallon
  2003-03-29  2:38 ` Andrew Morton
  0 siblings, 1 reply; 6+ messages in thread
From: J.A. Magallon @ 2003-03-29  1:30 UTC (permalink / raw)
  To: Lista Linux-Kernel; +Cc: Marcelo Tosatti, vortex

Hi al...

I have a 3c980-TX (at least that is what is printed in the card), that
is recognized as this by the kernel pci subsystem:

werewolf:/usr/src/linux/drivers/net# cat /proc/pci
...
  Bus  0, device  18, function  0:
    Ethernet controller: 3Com Corporation 3c980-TX 10/100baseTX NIC [Python-T] (rev 120).
..

by lspci:
00:12.0 Ethernet controller: 3Com Corporation 3c980-TX 10/100baseTX NIC [Python-T] (rev 78)
        Subsystem: 3Com Corporation: Unknown device 1000

but not by 3c59x.c (version 1.1.8-ac):
3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
See Documentation/networking/vortex.txt
00:12.0: 3Com PCI 3c982 Dual Port Server Cyclone at 0xec00. Vers LK1.1.18-ac

Possible patch below, if I have not a bad understanding of drivers/pci/pci.ids.

Two questions remaining:
- rev 120 vs. rev 78 ???
- Unknown device 1000 ?? (that's userspace, so I understand it does not matter
  in this list...)

TIA

--- linux/drivers/net/3c59x.c.orig	2003-03-29 01:50:24.000000000 +0100
+++ linux/drivers/net/3c59x.c	2003-03-29 02:11:00.000000000 +0100
@@ -432,6 +432,8 @@
 	CH_3C905C2,
 	CH_3C980,
 	CH_3C9805,
+	CH_3C982A,
+	CH_3C982B,
 
 	CH_3CSOHO100_TX,
 	CH_3C555,
@@ -505,7 +507,11 @@
 	 PCI_USES_IO|PCI_USES_MASTER, IS_TORNADO|HAS_NWAY|HAS_HWCKSM, 128, },
 	{"3c980 Cyclone",
 	 PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
-	{"3c982 Dual Port Server Cyclone",
+	{"3c980 Python-T",
+	 PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
+	{"3c982 Hydra Dual Port A",
+	 PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
+	{"3c982 Hydra Dual Port B",
 	 PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
 
 	{"3cSOHO100-TX Hurricane",
@@ -572,6 +578,8 @@
 	{ 0x10B7, 0x9201, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905C2 },
 	{ 0x10B7, 0x9800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C980 },
 	{ 0x10B7, 0x9805, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C9805 },
+	{ 0x10B7, 0x1201, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C982A },
+	{ 0x10B7, 0x1202, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C982B },
 
 	{ 0x10B7, 0x7646, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3CSOHO100_TX },
 	{ 0x10B7, 0x5055, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C555 },

-- 
J.A. Magallon <jamagallon@able.es>      \                 Software is like sex:
werewolf.able.es                         \           It's better when it's free
Mandrake Linux release 9.1 (Bamboo) for i586
Linux 2.4.21-pre6-jam1 (gcc 3.2.2 (Mandrake Linux 9.1 3.2.2-3mdk))

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Bad PCI IDs-Names table in 3c59x.c
  2003-03-29  1:30 Bad PCI IDs-Names table in 3c59x.c J.A. Magallon
@ 2003-03-29  2:38 ` Andrew Morton
  2003-03-29 14:12   ` J.A. Magallon
  2003-03-29 19:31   ` Bogdan Costescu
  0 siblings, 2 replies; 6+ messages in thread
From: Andrew Morton @ 2003-03-29  2:38 UTC (permalink / raw)
  To: J.A. Magallon; +Cc: linux-kernel, marcelo, vortex

"J.A. Magallon" <jamagallon@able.es> wrote:
>
> +	{ 0x10B7, 0x1201, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C982A },
> +	{ 0x10B7, 0x1202, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C982B },

OK.  I'm a bit mystified as to how these ID's got lost.  They do not appear
in Donald's latest driver, so I assume the catchall PCI ID match picked them
up.  

The mainstream PCI code does not have the catchall capability.

Keeping that big device table in sync is a real pain, which is why it has
been kept grouped into batches of five entries.  

Donald's driver describes 0x9805 as a "3c982 Server Tornado".  What makes you
think it is a "3c980 Python-T"?


Can you please retest with this (against 2.4.20-pre5).  I didn't change
0x9805.  Probably Donald's driver is right, but I'd like some confirmation.


diff -puN drivers/net/3c59x.c~3c59x-980-support drivers/net/3c59x.c
--- 24/drivers/net/3c59x.c~3c59x-980-support	2003-03-28 18:19:01.000000000 -0800
+++ 24-akpm/drivers/net/3c59x.c	2003-03-28 18:19:01.000000000 -0800
@@ -442,6 +442,8 @@ enum vortex_chips {
 	CH_3CCFEM656_1,
 	CH_3C450,
 	CH_3C920,
+	CH_3C982A,
+	CH_3C982B,
 };
 
 
@@ -535,6 +537,11 @@ static struct vortex_chip_info {
 	 PCI_USES_IO|PCI_USES_MASTER, IS_TORNADO|HAS_NWAY|HAS_HWCKSM, 128, },
 	{"3c920 Tornado",
 	 PCI_USES_IO|PCI_USES_MASTER, IS_TORNADO|HAS_NWAY|HAS_HWCKSM, 128, },
+	{"3c982 Hydra Dual Port A",
+	 PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
+	{"3c982 Hydra Dual Port B",
+	 PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
+
 	{0,}, /* 0 terminated list. */
 };
 
@@ -579,6 +586,8 @@ static struct pci_device_id vortex_pci_t
 	{ 0x10B7, 0x6564, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3CCFEM656_1 },
 	{ 0x10B7, 0x4500, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C450 },
 	{ 0x10B7, 0x9201, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C920 },
+	{ 0x10B7, 0x1201, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C982A },
+	{ 0x10B7, 0x1202, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C982B },
 	{0,}						/* 0 terminated list. */
 };
 MODULE_DEVICE_TABLE(pci, vortex_pci_tbl);

_


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Bad PCI IDs-Names table in 3c59x.c
  2003-03-29  2:38 ` Andrew Morton
@ 2003-03-29 14:12   ` J.A. Magallon
  2003-03-29 21:12     ` Andrew Morton
  2003-03-29 19:31   ` Bogdan Costescu
  1 sibling, 1 reply; 6+ messages in thread
From: J.A. Magallon @ 2003-03-29 14:12 UTC (permalink / raw)
  To: Andrew Morton; +Cc: J.A. Magallon, linux-kernel, marcelo, vortex


On 03.29, Andrew Morton wrote:
> "J.A. Magallon" <jamagallon@able.es> wrote:
> >
> > +	{ 0x10B7, 0x1201, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C982A },
> > +	{ 0x10B7, 0x1202, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C982B },
> 
> OK.  I'm a bit mystified as to how these ID's got lost.  They do not appear
> in Donald's latest driver, so I assume the catchall PCI ID match picked them
> up.  
> 
> The mainstream PCI code does not have the catchall capability.
> 
> Keeping that big device table in sync is a real pain, which is why it has
> been kept grouped into batches of five entries.  
> 
> Donald's driver describes 0x9805 as a "3c982 Server Tornado".  What makes you
> think it is a "3c980 Python-T"?
> 

That is what is labeled in the card, and as I said before, that it has _only_
one RJ45 connector, so it hardly can be a "Dual Port" card ;).

pci.ids has this:

10b7  3Com Corporation
    ...
    9805  3c980-TX 10/100baseTX NIC [Python-T]
        10b7 1201  3c982-TXM 10/100baseTX Dual Port A [Hydra]
        10b7 1202  3c982-TXM 10/100baseTX Dual Port B [Hydra]
        10b7 9805  3c980 10/100baseTX NIC [Python-T]

and my card gives:

(lspci -n)
00:12.0 Class 0200: 10b7:9805 (rev 78)
(lspci -v)
00:12.0 Ethernet controller: 3Com Corporation 3c980-TX 10/100baseTX NIC [Python-T] (rev 78)
        Subsystem: 3Com Corporation: Unknown device 1000

Donald's driver has:
    { 0x10B7, 0x9800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C980 },
    { 0x10B7, 0x9805, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C9805 },
...
    {"3c980 Cyclone",
     PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
    {"3c982 Dual Port Server Cyclone",
     PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },

ie, associates 0x10B7, 0x9805 with "3c982 Dual Port Server Cyclone".


-- 
J.A. Magallon <jamagallon@able.es>      \                 Software is like sex:
werewolf.able.es                         \           It's better when it's free
Mandrake Linux release 9.1 (Bamboo) for i586
Linux 2.4.21-pre6-jam1 (gcc 3.2.2 (Mandrake Linux 9.1 3.2.2-3mdk))

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [vortex] Re: Bad PCI IDs-Names table in 3c59x.c
  2003-03-29  2:38 ` Andrew Morton
  2003-03-29 14:12   ` J.A. Magallon
@ 2003-03-29 19:31   ` Bogdan Costescu
  1 sibling, 0 replies; 6+ messages in thread
From: Bogdan Costescu @ 2003-03-29 19:31 UTC (permalink / raw)
  To: Andrew Morton; +Cc: J.A. Magallon, linux-kernel, marcelo, vortex

On Fri, 28 Mar 2003, Andrew Morton wrote:

> +	{"3c982 Hydra Dual Port A",
> +	 PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },

Is there any reason for dropping the HAS_NWAY flag for these cards ? From 
what I know they have the same internal architecture as 905C (Tornado) 
which means that they have NWAY capabilities on-chip.

-- 
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@IWR.Uni-Heidelberg.De


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Bad PCI IDs-Names table in 3c59x.c
  2003-03-29 14:12   ` J.A. Magallon
@ 2003-03-29 21:12     ` Andrew Morton
  2003-03-31 12:02       ` [vortex] " Bogdan Costescu
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Morton @ 2003-03-29 21:12 UTC (permalink / raw)
  To: J.A. Magallon; +Cc: jamagallon, linux-kernel, marcelo, vortex

"J.A. Magallon" <jamagallon@able.es> wrote:
>
> 
> pci.ids has this:
> 
> 10b7  3Com Corporation
>     ...
>     9805  3c980-TX 10/100baseTX NIC [Python-T]
>         10b7 1201  3c982-TXM 10/100baseTX Dual Port A [Hydra]
>         10b7 1202  3c982-TXM 10/100baseTX Dual Port B [Hydra]
>         10b7 9805  3c980 10/100baseTX NIC [Python-T]

That's hardly authoritative.

> and my card gives:
> 
> (lspci -n)
> 00:12.0 Class 0200: 10b7:9805 (rev 78)
> (lspci -v)
> 00:12.0 Ethernet controller: 3Com Corporation 3c980-TX 10/100baseTX NIC [Python-T] (rev 78)
>         Subsystem: 3Com Corporation: Unknown device 1000

Nor is that.

> Donald's driver has:
>     { 0x10B7, 0x9800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C980 },
>     { 0x10B7, 0x9805, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C9805 },
> ...
>     {"3c980 Cyclone",
>      PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
>     {"3c982 Dual Port Server Cyclone",
>      PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },

Nope, Donald's latest driver has

    {"3c982 Server Tornado",{ 0x980510B7, 0xffffffff },
     PCI_IOTYPE, CYCLONE_SIZE, FEATURE_TORNADO, },

(Note: no HAS_NWAY either)

But if you have a 10b7/9805 with a "3c980 Python-T" sticker on it I guess
that will do.

Not sure about NWAY though.

hm, the 2.5 kernel has 

    {"3c980C Python-T",
     PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_NWAY|HAS_HWCKSM, 128, },

for 10b7/9805, which looks much more healthy.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [vortex] Re: Bad PCI IDs-Names table in 3c59x.c
  2003-03-29 21:12     ` Andrew Morton
@ 2003-03-31 12:02       ` Bogdan Costescu
  0 siblings, 0 replies; 6+ messages in thread
From: Bogdan Costescu @ 2003-03-31 12:02 UTC (permalink / raw)
  To: Andrew Morton; +Cc: J.A. Magallon, linux-kernel, marcelo, vortex

On Sat, 29 Mar 2003, Andrew Morton wrote:

> Nope, Donald's latest driver has
>     {"3c982 Server Tornado",{ 0x980510B7, 0xffffffff },
>      PCI_IOTYPE, CYCLONE_SIZE, FEATURE_TORNADO, },
> (Note: no HAS_NWAY either)

You missed something above that:

#define FEATURE_TORNADO  (IS_TORNADO|HAS_NWAY|HAS_V2_TX) /* 905C */

> hm, the 2.5 kernel has 
>     {"3c980C Python-T",
>      PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_NWAY|HAS_HWCKSM, 128, },
> for 10b7/9805, which looks much more healthy.

But I would argue that this should have IS_CYCLONE replaced by IS_TORNADO. 
Not that it makes much difference though, as they are not used much in the 
code ;-)

-- 
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@IWR.Uni-Heidelberg.De


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-03-31 11:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-29  1:30 Bad PCI IDs-Names table in 3c59x.c J.A. Magallon
2003-03-29  2:38 ` Andrew Morton
2003-03-29 14:12   ` J.A. Magallon
2003-03-29 21:12     ` Andrew Morton
2003-03-31 12:02       ` [vortex] " Bogdan Costescu
2003-03-29 19:31   ` Bogdan Costescu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.