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>