Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Jan 2010 00:13:00 +0000 (UTC)
From:      Pyun YongHyeon <yongari@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r201866 - stable/8/sys/dev/vge
Message-ID:  <201001090013.o090D0Jl034965@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yongari
Date: Sat Jan  9 00:12:59 2010
New Revision: 201866
URL: http://svn.freebsd.org/changeset/base/201866

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/8/sys/dev/vge/if_vge.c
  stable/8/sys/dev/vge/if_vgevar.h
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/sys/dev/vge/if_vge.c
==============================================================================
--- stable/8/sys/dev/vge/if_vge.c	Sat Jan  9 00:08:15 2010	(r201865)
+++ stable/8/sys/dev/vge/if_vge.c	Sat Jan  9 00:12:59 2010	(r201866)
@@ -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 }
 };
 
@@ -1728,15 +1728,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;
 	}
@@ -2164,7 +2160,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);
 	}
 
@@ -2430,7 +2426,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);
@@ -2460,7 +2456,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/8/sys/dev/vge/if_vgevar.h
==============================================================================
--- stable/8/sys/dev/vge/if_vgevar.h	Sat Jan  9 00:08:15 2010	(r201865)
+++ stable/8/sys/dev/vge/if_vgevar.h	Sat Jan  9 00:12:59 2010	(r201866)
@@ -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)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001090013.o090D0Jl034965>