freebsd-dev/sys/arm
Ian Lepore 0c4f0ef9ae Correct the sequence of busdma sync ops involved with PRE/POSTREAD syncs.
We used to invalidate the cache for PREREAD alone, or writeback+invalidate
for PREREAD with PREWRITE, then treat POSTREAD as a no-op.  Prefetching on
modern systems can lead to parts of a DMA buffer getting pulled into the
caches while DMA is in progress (due to access of "nearby" data), so it's
mandatory to invalidate during the POSTREAD sync even if a PREREAD
invalidate also happened.

In the PREREAD case the invalidate is done to ensure that there are no
dirty cache lines that might get automatically evicted during the DMA,
corrupting the buffer.  In a PREREAD+PREWRITE case the writeback which is
required for PREWRITE handling is suffficient to avoid corruption caused
by eviction and no invalidate need be done until POSTREAD time.

Submitted by:	Michal Meloun <meloun@miracle.cz>
2014-11-16 21:22:42 +00:00
..
allwinner Make the GPIO children attach to the first unit available and not only to 2014-10-28 18:33:59 +00:00
altera/socfpga Provide a character device allowing us to access BERI memory regions. 2014-10-22 11:30:03 +00:00
arm Correct the sequence of busdma sync ops involved with PRE/POSTREAD syncs. 2014-11-16 21:22:42 +00:00
at91 Remove the ARM_DEVICE_MULTIPASS option and make its effect be the default. 2014-10-26 18:30:35 +00:00
broadcom/bcm2835 Fix the error checking, broken on r273337, to _not_ ignore controller 2014-11-12 03:07:46 +00:00
cavium/cns11xx Mechanically convert to if_inc_counter(). 2014-09-19 09:20:16 +00:00
conf Renove faith(4) and faithd(8) from base. It looks like industry 2014-11-09 21:33:01 +00:00
freescale Fix the reversed sense of the PADCONF_NONE test. 2014-11-12 02:44:27 +00:00
include Add fueword(9) and casueword(9) functions. They are like fuword(9) 2014-10-28 15:22:13 +00:00
lpc Make the GPIO children attach to the first unit available and not only to 2014-10-28 18:33:59 +00:00
mv Rename OF_xref_phandle() to OF_node_from_xref() and add a new function 2014-09-01 18:51:01 +00:00
rockchip Make the GPIO children attach to the first unit available and not only to 2014-10-28 18:33:59 +00:00
samsung Make the GPIO children attach to the first unit available and not only to 2014-10-28 18:33:59 +00:00
ti Make the GPIO children attach to the first unit available and not only to 2014-10-28 18:33:59 +00:00
versatile Move if_smc_fdt.c to live in sys/dev/smc. It's not specific to the ARM 2014-09-10 10:59:17 +00:00
xilinx Make the GPIO children attach to the first unit available and not only to 2014-10-28 18:33:59 +00:00
xscale Make the GPIO children attach to the first unit available and not only to 2014-10-28 18:33:59 +00:00