Skip site navigation (1)Skip section navigation (2)
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>