Author: cognet
Date: Mon Mar  4 10:41:54 2013
New Revision: 247776
URL: http://svnweb.freebsd.org/changeset/base/247776

Log:
  If we're using a PIPT L2 cache, only merge 2 segments if both the virtual
  and the physical addreses are contiguous.
  
  Submitted by: Thomas Skibo <thomassk...@sbcglobal.net>

Modified:
  head/sys/arm/arm/busdma_machdep-v6.c

Modified: head/sys/arm/arm/busdma_machdep-v6.c
==============================================================================
--- head/sys/arm/arm/busdma_machdep-v6.c        Mon Mar  4 09:35:50 2013        
(r247775)
+++ head/sys/arm/arm/busdma_machdep-v6.c        Mon Mar  4 10:41:54 2013        
(r247776)
@@ -1007,6 +1007,9 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm
                } else {
                        sl = &map->slist[map->sync_count - 1];
                        if (map->sync_count == 0 ||
+#ifdef ARM_L2_PIPT
+                           curaddr != sl->busaddr + sl->datacount ||
+#endif
                            vaddr != sl->vaddr + sl->datacount) {
                                if (++map->sync_count > dmat->nsegments)
                                        goto cleanup;
_______________________________________________
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