Author: marius
Date: Sat Oct  1 00:31:30 2011
New Revision: 225891
URL: http://svn.freebsd.org/changeset/base/225891

Log:
  Re-reading the Schizo errata suggests that it's actually tolerable to
  also use the streaming buffer of pre version 5/revision 2.3 hardware as
  long as we stay away from context flushes (which iommu(4) so far doesn't
  take advantage of). OpenSolaris does the same.

Modified:
  head/sys/sparc64/pci/schizo.c

Modified: head/sys/sparc64/pci/schizo.c
==============================================================================
--- head/sys/sparc64/pci/schizo.c       Sat Oct  1 00:22:24 2011        
(r225890)
+++ head/sys/sparc64/pci/schizo.c       Sat Oct  1 00:31:30 2011        
(r225891)
@@ -501,7 +501,8 @@ schizo_attach(device_t dev)
         * Set up the IOMMU.  Schizo, Tomatillo and XMITS all have
         * one per PBM.  Schizo and XMITS additionally have a streaming
         * buffer, in Schizo version < 5 (i.e. revision < 2.3) it's
-        * affected by several errata and basically unusable though.
+        * affected by several errata though.  However, except for context
+        * flushes, taking advantage of it should be okay even with those.
         */
        memcpy(&sc->sc_dma_methods, &iommu_dma_methods,
            sizeof(sc->sc_dma_methods));
@@ -509,8 +510,7 @@ schizo_attach(device_t dev)
        sc->sc_is.sis_is.is_flags = IOMMU_PRESERVE_PROM;
        sc->sc_is.sis_is.is_pmaxaddr = IOMMU_MAXADDR(STX_IOMMU_BITS);
        sc->sc_is.sis_is.is_sb[0] = sc->sc_is.sis_is.is_sb[1] = 0;
-       if (OF_getproplen(node, "no-streaming-cache") < 0 &&
-           !(sc->sc_mode == SCHIZO_MODE_SCZ && sc->sc_ver < 5))
+       if (OF_getproplen(node, "no-streaming-cache") < 0)
                sc->sc_is.sis_is.is_sb[0] = STX_PCI_STRBUF;
 
 #define        TSBCASE(x)                                                      
\
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to