Lines Matching full:operation

31 /* operation registers */
32 #define UNIPHIER_SSCOPE 0x244 /* Cache Operation Primitive Entry */
38 #define UNIPHIER_SSCOQM 0x248 /* Cache Operation Queue Mode */
46 #define UNIPHIER_SSCOQAD 0x24c /* Cache Operation Queue Address */
47 #define UNIPHIER_SSCOQSZ 0x250 /* Cache Operation Queue Size */
48 #define UNIPHIER_SSCOPPQSEF 0x25c /* Cache Operation Queue Set Complete*/
51 #define UNIPHIER_SSCOLPQS 0x260 /* Cache Operation Queue Status */
56 /* Is the operation region specified by address range? */
65 * @op_base: virtual base address of operation registers
71 * @range_op_max_size: max size that can be handled by a single range operation
107 * __uniphier_cache_maint_common - run a queue operation for a particular level
110 * @start: start address of range operation (don't care for "all" operation)
111 * @size: data size of range operation (don't care for "all" operation)
112 * @operation: flags to specify the desired cache operation
117 u32 operation) in __uniphier_cache_maint_common() argument
126 * maintenance operation is under way and another operation is issued, in __uniphier_cache_maint_common()
128 * operation after another. If the queue is full, the status register, in __uniphier_cache_maint_common()
150 /* set cache operation */ in __uniphier_cache_maint_common()
151 writel_relaxed(UNIPHIER_SSCOQM_CE | operation, in __uniphier_cache_maint_common()
155 if (likely(UNIPHIER_SSCOQM_S_IS_RANGE(operation))) { in __uniphier_cache_maint_common()
162 /* wait until the operation is completed */ in __uniphier_cache_maint_common()
171 u32 operation) in __uniphier_cache_maint_all() argument
174 UNIPHIER_SSCOQM_S_ALL | operation); in __uniphier_cache_maint_all()
181 u32 operation) in __uniphier_cache_maint_range() argument
187 * perform a cache operation for the first cache-line in __uniphier_cache_maint_range()
194 /* this means cache operation for all range */ in __uniphier_cache_maint_range()
195 __uniphier_cache_maint_all(data, operation); in __uniphier_cache_maint_range()
201 * perform a cache operation for the last cache-line in __uniphier_cache_maint_range()
210 UNIPHIER_SSCOQM_S_RANGE | operation); in __uniphier_cache_maint_range()
239 u32 operation) in uniphier_cache_maint_range() argument
244 __uniphier_cache_maint_range(data, start, end, operation); in uniphier_cache_maint_range()
247 static void uniphier_cache_maint_all(u32 operation) in uniphier_cache_maint_all() argument
252 __uniphier_cache_maint_all(data, operation); in uniphier_cache_maint_all()
392 pr_err("L%d: failed to map operation register\n", *cache_level); in __uniphier_cache_init()
402 * The size of range operation is limited to (1 << 22) or less in __uniphier_cache_init()