Date: Sat, 26 Oct 2002 09:30:15 -0700 (PDT) From: Atsuo Kobayashi <hgh02351@nifty.ne.jp> To: freebsd-gnats-submit@FreeBSD.org Subject: misc/44500: AC1001 Gigabit NIC Worked Message-ID: <200210261630.g9QGUFUZ075778@www.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 44500
>Category: misc
>Synopsis: AC1001 Gigabit NIC Worked
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sat Oct 26 09:40:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Atsuo Kobayashi
>Release: 4.7-STABLE
>Organization:
>Environment:
FreeBSD casper.magi 4.7-STABLE FreeBSD 4.7-STABLE #6: Sat Oct 26 13:01:01 JST 2002 akoba@casper.magi:/usr/obj/raid0/src4/sys/casper i386
>Description:
Now, ALTIMA AC1001 base NICs are out of suport list.
I tried AC1001 base giga NIC and it worked.
AC1001 is almost comptible with AC1000, so i tried to add device id to current bge driver.
But, it can work with very short packet only, like ping, on my A7M266-D(AMD762 chipset) base box. and the other packets timeouted.
I additionaly tried little PCI cache line size(1) and got a good result.
I tested these using KUROUTO SHIKOU AC1001GB-PCI64 (CAMEO's OEM product).
>How-To-Repeat:
>Fix:
diff list of working bge driver
$ diff -c if_bgereg.h.org if_bgereg.h
*** if_bgereg.h.org Fri Oct 25 23:58:28 2002
--- if_bgereg.h Sat Oct 26 20:39:12 2002
***************
*** 1812,1817 ****
--- 1812,1818 ----
*/
#define ALTIMA_VENDORID 0x173b
#define ALTIMA_DEVICE_AC1000 0x03e8
+ #define ALTIMA_DEVICE_AC1001 0x03e9
#define ALTIMA_DEVICE_AC9100 0x03ea
*** if_bge.c.org Fri Oct 25 23:58:18 2002
--- if_bge.c Sat Oct 26 12:56:44 2002
***************
*** 145,150 ****
--- 145,152 ----
"SysKonnect Gigabit Ethernet" },
{ ALTIMA_VENDORID, ALTIMA_DEVICE_AC1000,
"Altima AC1000 Gigabit Ethernet" },
+ { ALTIMA_VENDORID, ALTIMA_DEVICE_AC1001,
+ "Altima AC1001 Gigabit Ethernet" },
{ ALTIMA_VENDORID, ALTIMA_DEVICE_AC9100,
"Altima AC9100 Gigabit Ethernet" },
{ 0, 0, NULL }
***************
*** 1100,1111 ****
/* Get cache line size. */
cachesize = pci_read_config(sc->bge_dev, BGE_PCI_CACHESZ, 1);
/*
* Avoid violating PCI spec on certain chip revs.
*/
if (pci_read_config(sc->bge_dev, BGE_PCI_CMD, 4) & PCIM_CMD_MWIEN) {
! switch(cachesize) {
case 1:
PCI_SETBIT(sc->bge_dev, BGE_PCI_DMA_RW_CTL,
BGE_PCI_WRITE_BNDRY_16BYTES, 4);
--- 1102,1114 ----
/* Get cache line size. */
cachesize = pci_read_config(sc->bge_dev, BGE_PCI_CACHESZ, 1);
+ cachesize = 1;
/*
* Avoid violating PCI spec on certain chip revs.
*/
if (pci_read_config(sc->bge_dev, BGE_PCI_CMD, 4) & PCIM_CMD_MWIEN) {
! switch(cachesize) {
case 1:
PCI_SETBIT(sc->bge_dev, BGE_PCI_DMA_RW_CTL,
BGE_PCI_WRITE_BNDRY_16BYTES, 4);
***************
*** 1861,1866 ****
--- 1864,1870 ----
/* Save some important PCI state. */
cachesize = pci_read_config(dev, BGE_PCI_CACHESZ, 4);
+ cachesize = 1;
command = pci_read_config(dev, BGE_PCI_CMD, 4);
pcistate = pci_read_config(dev, BGE_PCI_PCISTATE, 4);
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210261630.g9QGUFUZ075778>
