Lines Matching +full:write +full:- +full:back
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * linux/arch/arm/mm/cache-fa.S
6 * Copyright (C) 2008-2009 Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
8 * Based on cache-v4wb.S:
9 * Copyright (C) 1997-2002 Russell king
19 #include "proc-macros.S"
70 mcrne p15, 0, ip, c7, c10, 4 @ drain write buffer
81 * - start - start address (inclusive, page aligned)
82 * - end - end address (exclusive, page aligned)
83 * - flags - vma_area_struct flags describing address space
99 mcrne p15, 0, ip, c7, c10, 4 @ data write barrier
108 * region described by start. If you have non-snooping
111 * - start - virtual start address
112 * - end - virtual end address
124 * region described by start. If you have non-snooping
127 * - start - virtual start address
128 * - end - virtual end address
131 bic r0, r0, #CACHE_DLINESIZE - 1
139 mcr p15, 0, r0, c7, c10, 4 @ drain write buffer
147 * Ensure that the data held in the page kaddr is written back
150 * - addr - kernel address
151 * - size - size of region
161 mcr p15, 0, r0, c7, c10, 4 @ drain write buffer
169 * May not write back any entries. If 'start' or 'end'
171 * back.
173 * - start - virtual start address
174 * - end - virtual end address
177 tst r0, #CACHE_DLINESIZE - 1
178 bic r0, r0, #CACHE_DLINESIZE - 1
180 tst r1, #CACHE_DLINESIZE - 1
181 bic r1, r1, #CACHE_DLINESIZE - 1
188 mcr p15, 0, r0, c7, c10, 4 @ drain write buffer
194 * Clean (write back) the specified virtual address range.
196 * - start - virtual start address
197 * - end - virtual end address
200 bic r0, r0, #CACHE_DLINESIZE - 1
206 mcr p15, 0, r0, c7, c10, 4 @ drain write buffer
211 * - start - virtual start address of region
212 * - end - virtual end address of region
215 bic r0, r0, #CACHE_DLINESIZE - 1
221 mcr p15, 0, r0, c7, c10, 4 @ drain write buffer
227 * - start - kernel virtual start address
228 * - size - size of region
229 * - dir - DMA direction
241 * - start - kernel virtual start address
242 * - size - size of region
243 * - dir - DMA direction