• Home
  • Raw
  • Download

Lines Matching full:operation

40 /* operation registers */
41 #define UNIPHIER_SSCOPE 0x244 /* Cache Operation Primitive Entry */
47 #define UNIPHIER_SSCOQM 0x248 /* Cache Operation Queue Mode */
55 #define UNIPHIER_SSCOQAD 0x24c /* Cache Operation Queue Address */
56 #define UNIPHIER_SSCOQSZ 0x250 /* Cache Operation Queue Size */
57 #define UNIPHIER_SSCOPPQSEF 0x25c /* Cache Operation Queue Set Complete*/
60 #define UNIPHIER_SSCOLPQS 0x260 /* Cache Operation Queue Status */
65 /* Is the operation region specified by address range? */
74 * @op_base: virtual base address of operation registers
78 * @range_op_max_size: max size that can be handled by a single range operation
114 * __uniphier_cache_maint_common - run a queue operation for a particular level
117 * @start: start address of range operation (don't care for "all" operation)
118 * @size: data size of range operation (don't care for "all" operation)
119 * @operation: flags to specify the desired cache operation
124 u32 operation) in __uniphier_cache_maint_common() argument
133 * maintenance operation is under way and another operation is issued, in __uniphier_cache_maint_common()
135 * operation after another. If the queue is full, the status register, in __uniphier_cache_maint_common()
157 /* set cache operation */ in __uniphier_cache_maint_common()
158 writel_relaxed(UNIPHIER_SSCOQM_CE | operation, in __uniphier_cache_maint_common()
162 if (likely(UNIPHIER_SSCOQM_S_IS_RANGE(operation))) { in __uniphier_cache_maint_common()
169 /* wait until the operation is completed */ in __uniphier_cache_maint_common()
178 u32 operation) in __uniphier_cache_maint_all() argument
181 UNIPHIER_SSCOQM_S_ALL | operation); in __uniphier_cache_maint_all()
188 u32 operation) in __uniphier_cache_maint_range() argument
194 * perform a cache operation for the first cache-line in __uniphier_cache_maint_range()
201 /* this means cache operation for all range */ in __uniphier_cache_maint_range()
202 __uniphier_cache_maint_all(data, operation); in __uniphier_cache_maint_range()
208 * perform a cache operation for the last cache-line in __uniphier_cache_maint_range()
217 UNIPHIER_SSCOQM_S_RANGE | operation); in __uniphier_cache_maint_range()
246 u32 operation) in uniphier_cache_maint_range() argument
251 __uniphier_cache_maint_range(data, start, end, operation); in uniphier_cache_maint_range()
254 static void uniphier_cache_maint_all(u32 operation) in uniphier_cache_maint_all() argument
259 __uniphier_cache_maint_all(data, operation); in uniphier_cache_maint_all()
399 pr_err("L%d: failed to map operation register\n", *cache_level); in __uniphier_cache_init()
409 * The size of range operation is limited to (1 << 22) or less in __uniphier_cache_init()