Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 May 2011 21:07:51 +0000 (UTC)
From:      Marius Strobl <marius@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: r221919 - stable/8/sys/sparc64/pci
Message-ID:  <201105142107.p4EL7pQ1015810@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marius
Date: Sat May 14 21:07:51 2011
New Revision: 221919
URL: http://svn.freebsd.org/changeset/base/221919

Log:
  MFC: r219785
  
  - Make a panic message better reflect the actual problem.
  - A closer inspection of the OpenSolaris code indicates the block store
    workaround is only necessary in case of BUS_DMASYNC_POSTREAD.
  - Mark some unused parameters as such.

Modified:
  stable/8/sys/sparc64/pci/fire.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)

Modified: stable/8/sys/sparc64/pci/fire.c
==============================================================================
--- stable/8/sys/sparc64/pci/fire.c	Sat May 14 21:03:44 2011	(r221918)
+++ stable/8/sys/sparc64/pci/fire.c	Sat May 14 21:07:51 2011	(r221919)
@@ -337,7 +337,7 @@ fire_attach(device_t dev)
 	if (OF_getprop(node, "portid", &sc->sc_ign, sizeof(sc->sc_ign)) == -1)
 		panic("%s: could not determine IGN", __func__);
 	if (OF_getprop(node, "module-revision#", &prop, sizeof(prop)) == -1)
-		panic("%s: could not determine revision", __func__);
+		panic("%s: could not determine module-revision", __func__);
 
 	device_printf(dev, "%s, module-revision %d, IGN %#x\n",
 	    desc->fd_name, prop, sc->sc_ign);
@@ -1510,18 +1510,20 @@ fire_dmamap_sync(bus_dma_tag_t dt __unus
 	static u_char buf[VIS_BLOCKSIZE] __aligned(VIS_BLOCKSIZE);
 	register_t reg, s;
 
-	if ((map->dm_flags & DMF_LOADED) == 0 ||
-	    (op & ~BUS_DMASYNC_POSTWRITE) == 0)
+	if ((map->dm_flags & DMF_LOADED) == 0)
 		return;
 
-	s = intr_disable();
-	reg = rd(fprs);
-	wr(fprs, reg | FPRS_FEF, 0);
-	__asm __volatile("stda %%f0, [%0] %1"
-	    : : "r" (buf), "n" (ASI_BLK_COMMIT_S));
-	membar(Sync);
-	wr(fprs, reg, 0);
-	intr_restore(s);
+	if ((op & BUS_DMASYNC_POSTREAD) != 0) {
+		s = intr_disable();
+		reg = rd(fprs);
+		wr(fprs, reg | FPRS_FEF, 0);
+		__asm __volatile("stda %%f0, [%0] %1"
+		    : : "r" (buf), "n" (ASI_BLK_COMMIT_S));
+		membar(Sync);
+		wr(fprs, reg, 0);
+		intr_restore(s);
+	} else if ((op & BUS_DMASYNC_PREWRITE) != 0)
+		membar(Sync);
 }
 
 static void
@@ -2128,7 +2130,7 @@ fire_release_resource(device_t bus, devi
 }
 
 static bus_dma_tag_t
-fire_get_dma_tag(device_t bus, device_t child)
+fire_get_dma_tag(device_t bus, device_t child __unused)
 {
 	struct fire_softc *sc;
 
@@ -2137,7 +2139,7 @@ fire_get_dma_tag(device_t bus, device_t 
 }
 
 static phandle_t
-fire_get_node(device_t bus, device_t dev)
+fire_get_node(device_t bus, device_t child __unused)
 {
 	struct fire_softc *sc;
 



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