* - start - virtual start address of region
* - end - virtual end address of region
*/
+ENTRY(rpi_dma_inv_range)
v6_dma_inv_range:
#ifdef CONFIG_DMA_CACHE_RWFO
ldrb r2, [r0] @ read for ownership
* - start - virtual start address of region
* - end - virtual end address of region
*/
+ENTRY(rpi_dma_clean_range)
v6_dma_clean_range:
bic r0, r0, #D_CACHE_LINE_SIZE - 1
1:
* - start - virtual start address of region
* - end - virtual end address of region
*/
-ENTRY(v7_dma_inv_range)
+ENTRY(rpi_dma_inv_range)
+v7_dma_inv_range:
dcache_line_size r2, r3
sub r3, r2, #1
tst r0, r3
* - start - virtual start address of region
* - end - virtual end address of region
*/
-ENTRY(v7_dma_clean_range)
+ENTRY(rpi_dma_clean_range)
+v7_dma_clean_range:
dcache_line_size r2, r3
sub r3, r2, #1
bic r0, r0, r3
for (i=0; i<ioparam.op_count; i++) {
struct vmcs_sm_ioctl_clean_invalid_block *op = block + i;
for (j = 0; j < op->block_count; ++j) {
- extern void v7_dma_inv_range(void *start, void *end);
- extern void v7_dma_clean_range(void *start, void *end);
+ extern void rpi_dma_inv_range(void *start, void *end);
+ extern void rpi_dma_clean_range(void *start, void *end);
unsigned long base = (unsigned long)op->start_address + j * op->inter_block_stride;
unsigned long end = base + op->block_size;
/* L1/L2 cache clean/invalidate */
if (op->invalidate_mode == 1)
- v7_dma_inv_range((void *)base, (void *)end);
+ rpi_dma_inv_range((void *)base, (void *)end);
else
- v7_dma_clean_range((void *)base, (void *)end);
+ rpi_dma_clean_range((void *)base, (void *)end);
}
}
kfree(block);