armv7: fixes for dcache_op_by_mva()
This fixes a couple issues with dcache_op_by_mva(): - Add missing data and instruction sync barriers. - Removes unneded -1 from loop terminating condition. Change-Id: I098388614397c1e53079c017d56b1cf3ef273676 Signed-off-by: David Hendricks <dhendrix@chromium.org> Reviewed-on: http://review.coreboot.org/2913 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
		
				
					committed by
					
						 Ronald G. Minnich
						Ronald G. Minnich
					
				
			
			
				
	
			
			
			
						parent
						
							49675b950f
						
					
				
				
					commit
					42f5513d3d
				
			| @@ -183,7 +183,9 @@ static void dcache_op_mva(unsigned long addr, | ||||
| 	unsigned long line, i; | ||||
|  | ||||
| 	line = line_bytes(); | ||||
| 	for (i = addr & ~(line - 1); i < addr + len - 1; i += line) { | ||||
|  | ||||
| 	dsb(); | ||||
| 	for (i = addr & ~(line - 1); i < addr + len; i += line) { | ||||
| 		switch(op) { | ||||
| 		case OP_DCCIMVAC: | ||||
| 			dccimvac(addr); | ||||
| @@ -192,6 +194,7 @@ static void dcache_op_mva(unsigned long addr, | ||||
| 			break; | ||||
| 		} | ||||
| 	} | ||||
| 	isb(); | ||||
| } | ||||
|  | ||||
| void dcache_clean_by_mva(unsigned long addr, unsigned long len) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user