Skip to content

Commit

Permalink
Blackfin arch: fix bug - dmacopy test case fail on all platform
Browse files Browse the repository at this point in the history
The cache code I added flushes 1 line too little if the start address is
not aligned to the cache size. Cache align the start address so that when
we straddle cache aligns, we get the right count.

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
  • Loading branch information
Mike Frysinger authored and Bryan Wu committed Nov 18, 2008
1 parent 4ee1c45 commit 39e96c8
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion arch/blackfin/mach-common/cache.S
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,13 @@
*/
.macro do_flush flushins:req optflushins optnopins label

R2 = -L1_CACHE_BYTES;

/* start = (start & -L1_CACHE_BYTES) */
R0 = R0 & R2;

/* end = ((end - 1) & -L1_CACHE_BYTES) + L1_CACHE_BYTES; */
R1 += -1;
R2 = -L1_CACHE_BYTES;
R1 = R1 & R2;
R1 += L1_CACHE_BYTES;

Expand Down

0 comments on commit 39e96c8

Please sign in to comment.