Author: cognet
Date: Sun Feb 2 22:26:30 2014
New Revision: 261418
URL: http://svnweb.freebsd.org/changeset/base/261418
Log:
Invalidate cachelines for bounce pages on PREREAD too, there may still be
stale entries from a previous transfer.
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 Sun Feb 2 21:44:04 2014
(r261417)
+++ head/sys/arm/arm/busdma_machdep-v6.c Sun Feb 2 22:26:30 2014
(r261418)
@@ -1220,6 +1220,17 @@ _bus_dmamap_sync(bus_dma_tag_t dmat, bus
dmat->bounce_zone->total_bounced++;
}
+ if (op & BUS_DMASYNC_PREREAD) {
+ bpage = STAILQ_FIRST(&map->bpages);
+ while (bpage != NULL) {
+ cpu_dcache_inv_range((vm_offset_t)bpage->vaddr,
+ bpage->datacount);
+ l2cache_inv_range((vm_offset_t)bpage->vaddr,
+ (vm_offset_t)bpage->busaddr,
+ bpage->datacount);
+ bpage = STAILQ_NEXT(bpage, links);
+ }
+ }
if (op & BUS_DMASYNC_POSTREAD) {
while (bpage != NULL) {
vm_offset_t startv;
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"