From owner-freebsd-bugs Sat Oct 26 9:40: 5 2002 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AF5D237B401 for ; Sat, 26 Oct 2002 09:40:02 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id E91F943E6E for ; Sat, 26 Oct 2002 09:40:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id g9QGe1x3038403 for ; Sat, 26 Oct 2002 09:40:01 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id g9QGe1dj038402; Sat, 26 Oct 2002 09:40:01 -0700 (PDT) Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 745A937B401 for ; Sat, 26 Oct 2002 09:30:16 -0700 (PDT) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1099B43E75 for ; Sat, 26 Oct 2002 09:30:16 -0700 (PDT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.12.6/8.12.6) with ESMTP id g9QGUF7R075779 for ; Sat, 26 Oct 2002 09:30:15 -0700 (PDT) (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.12.6/8.12.6/Submit) id g9QGUFUZ075778; Sat, 26 Oct 2002 09:30:15 -0700 (PDT) Message-Id: <200210261630.g9QGUFUZ075778@www.freebsd.org> Date: Sat, 26 Oct 2002 09:30:15 -0700 (PDT) From: Atsuo Kobayashi To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-1.0 Subject: misc/44500: AC1001 Gigabit NIC Worked Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >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