Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Feb 2010 13:28:05 +0000 (UTC)
From:      Rafal Jaworowski <raj@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: r204306 - stable/8/sys/dev/mge
Message-ID:  <201002251328.o1PDS5aj023205@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: raj
Date: Thu Feb 25 13:28:05 2010
New Revision: 204306
URL: http://svn.freebsd.org/changeset/base/204306

Log:
  MFC r204009
  
  Assorted fixes for mge(4).
  
  - Use proper map for the busdma sync on mge descriptor.
  - Remove unnecesary busdma sync.
  - Eliminate redundant locking in mge_reinit_rx() (just assert).
  - Kill unused variable.
  
  Submitted by:	Grzegorz Bernacki
  Obtained from:	Semihalf

Modified:
  stable/8/sys/dev/mge/if_mge.c
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)
  stable/8/sys/netinet/   (props changed)

Modified: stable/8/sys/dev/mge/if_mge.c
==============================================================================
--- stable/8/sys/dev/mge/if_mge.c	Thu Feb 25 11:54:10 2010	(r204305)
+++ stable/8/sys/dev/mge/if_mge.c	Thu Feb 25 13:28:05 2010	(r204306)
@@ -457,10 +457,7 @@ mge_allocate_dma(struct mge_softc *sc)
 {
 	int error;
 	struct mge_desc_wrapper *dw;
-	int num, i;
-
-
-	num = MGE_TX_DESC_NUM + MGE_RX_DESC_NUM;
+	int i;
 
 	/* Allocate a busdma tag and DMA safe memory for TX/RX descriptors. */
 	error = bus_dma_tag_create(NULL,	/* parent */
@@ -543,7 +540,7 @@ mge_reinit_rx(struct mge_softc *sc)
 	struct mge_desc_wrapper *dw;
 	int i;
 
-	MGE_RECEIVE_LOCK(sc);
+	MGE_RECEIVE_LOCK_ASSERT(sc);
 
 	mge_free_desc(sc, sc->mge_rx_desc, MGE_RX_DESC_NUM, sc->mge_rx_dtag, 1);
 
@@ -564,8 +561,6 @@ mge_reinit_rx(struct mge_softc *sc)
 
 	/* Enable RX queue */
 	MGE_WRITE(sc, MGE_RX_QUEUE_CMD, MGE_ENABLE_RXQ(MGE_RX_DEFAULT_QUEUE));
-
-	MGE_RECEIVE_UNLOCK(sc);
 }
 
 #ifdef DEVICE_POLLING
@@ -1369,9 +1364,6 @@ mge_encap(struct mge_softc *sc, struct m
 	dw = &sc->mge_tx_desc[desc_no];
 	mapp = dw->buffer_dmap;
 
-	bus_dmamap_sync(sc->mge_desc_dtag, mapp,
-	    BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE);
-
 	/* Create mapping in DMA memory */
 	error = bus_dmamap_load_mbuf_sg(sc->mge_tx_dtag, mapp, m0, segs, &nsegs,
 	    BUS_DMA_NOWAIT);
@@ -1395,7 +1387,7 @@ mge_encap(struct mge_softc *sc, struct m
 			mge_offload_setup_descriptor(sc, dw);
 	}
 
-	bus_dmamap_sync(sc->mge_desc_dtag, mapp,
+	bus_dmamap_sync(sc->mge_desc_dtag, dw->desc_dmap,
 	    BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
 
 	sc->tx_desc_curr = (++sc->tx_desc_curr) % MGE_TX_DESC_NUM;



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