Author: yongari
Date: Sat Jan  9 00:14:50 2010
New Revision: 201867
URL: http://svn.freebsd.org/changeset/base/201867

Log:
  MFC r200616-200617,200635,200639,200644
  
  r200616:
    Add new flag VGE_FLAG_SUSPENDED to mark suspended state and
    remove suspended member in softc.
  
  r200617:
    Add "Velocity" to probe message which will make it clearer which
    ethernet controller was recognized. VIA consistently calls
    "Velocity" family for gigabit ethernet controllers. For fast
    ethernet controllers they uses "Rhine" family(vr(4) controllers))
    and vr(4) already shows "Rhine" in probe message.
  
  r200635:
    Remove unused VGE_ETHER_ALIGN definition.
  
  r200639:
    Actually clear interrupts. Writing 0 has no effect.
  
  r200644:
    Remove unused member variable of softc.

Modified:
  stable/7/sys/dev/vge/if_vge.c
  stable/7/sys/dev/vge/if_vgevar.h
Directory Properties:
  stable/7/sys/   (props changed)
  stable/7/sys/cddl/contrib/opensolaris/   (props changed)
  stable/7/sys/contrib/dev/acpica/   (props changed)
  stable/7/sys/contrib/pf/   (props changed)

Modified: stable/7/sys/dev/vge/if_vge.c
==============================================================================
--- stable/7/sys/dev/vge/if_vge.c       Sat Jan  9 00:12:59 2010        
(r201866)
+++ stable/7/sys/dev/vge/if_vge.c       Sat Jan  9 00:14:50 2010        
(r201867)
@@ -144,7 +144,7 @@ TUNABLE_INT("hw.vge.msi_disable", &msi_d
  */
 static struct vge_type vge_devs[] = {
        { VIA_VENDORID, VIA_DEVICEID_61XX,
-               "VIA Networking Gigabit Ethernet" },
+               "VIA Networking Velocity Gigabit Ethernet" },
        { 0, 0, NULL }
 };
 
@@ -1729,15 +1729,11 @@ vge_intr(void *arg)
        uint32_t status;
 
        sc = arg;
-
-       if (sc->suspended) {
-               return;
-       }
-
        VGE_LOCK(sc);
-       ifp = sc->vge_ifp;
 
-       if (!(ifp->if_flags & IFF_UP)) {
+       ifp = sc->vge_ifp;
+       if ((sc->vge_flags & VGE_FLAG_SUSPENDED) != 0 ||
+           (ifp->if_flags & IFF_UP) == 0) {
                VGE_UNLOCK(sc);
                return;
        }
@@ -2165,7 +2161,7 @@ vge_init_locked(struct vge_softc *sc)
         * Enable interrupts.
         */
                CSR_WRITE_4(sc, VGE_IMR, VGE_INTRS);
-               CSR_WRITE_4(sc, VGE_ISR, 0);
+               CSR_WRITE_4(sc, VGE_ISR, 0xFFFFFFFF);
                CSR_WRITE_1(sc, VGE_CRS3, VGE_CR3_INT_GMSK);
        }
 
@@ -2431,7 +2427,7 @@ vge_suspend(device_t dev)
        VGE_LOCK(sc);
        vge_stop(sc);
 
-       sc->suspended = 1;
+       sc->vge_flags |= VGE_FLAG_SUSPENDED;
        VGE_UNLOCK(sc);
 
        return (0);
@@ -2461,7 +2457,7 @@ vge_resume(device_t dev)
                ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
                vge_init_locked(sc);
        }
-       sc->suspended = 0;
+       sc->vge_flags &= ~VGE_FLAG_SUSPENDED;
        VGE_UNLOCK(sc);
 
        return (0);

Modified: stable/7/sys/dev/vge/if_vgevar.h
==============================================================================
--- stable/7/sys/dev/vge/if_vgevar.h    Sat Jan  9 00:12:59 2010        
(r201866)
+++ stable/7/sys/dev/vge/if_vgevar.h    Sat Jan  9 00:14:50 2010        
(r201867)
@@ -65,12 +65,6 @@
 #define VGE_RXBYTES(x)         (((x) & VGE_RDSTS_BUFSIZ) >> 16)
 #define VGE_MIN_FRAMELEN       60
 
-#ifdef VGE_FIXUP_RX
-#define VGE_ETHER_ALIGN                sizeof(uint32_t)
-#else
-#define VGE_ETHER_ALIGN                0
-#endif
-
 struct vge_type {
        uint16_t                vge_vid;
        uint16_t                vge_did;
@@ -173,12 +167,12 @@ struct vge_softc {
        struct resource         *vge_irq;
        void                    *vge_intrhand;
        device_t                vge_miibus;
-       uint8_t                 vge_type;
        int                     vge_if_flags;
        int                     vge_phyaddr;
        int                     vge_flags;
 #define        VGE_FLAG_PCIE           0x0001
 #define        VGE_FLAG_MSI            0x0002
+#define        VGE_FLAG_SUSPENDED      0x4000
 #define        VGE_FLAG_LINK           0x8000
        int                     vge_expcap;
        int                     vge_camidx;
@@ -189,8 +183,6 @@ struct vge_softc {
        struct vge_chain_data   vge_cdata;
        struct vge_ring_data    vge_rdata;
        struct vge_hw_stats     vge_stats;
-
-       int                     suspended;      /* 0 = normal  1 = suspended */
 };
 
 #define        VGE_LOCK(_sc)           mtx_lock(&(_sc)->vge_mtx)
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to