Lines Matching full:operation

30 /* operation registers */
31 #define UNIPHIER_SSCOPE 0x506c0244 /* Cache Operation Primitive Entry */
57 #define UNIPHIER_SSCOQAD 0x506c024c /* Cache Operation Queue Address */
58 #define UNIPHIER_SSCOQSZ 0x506c0250 /* Cache Operation Queue Size */
59 #define UNIPHIER_SSCOQMASK 0x506c0254 /* Cache Operation Queue Address Mask */
60 #define UNIPHIER_SSCOQWN 0x506c0258 /* Cache Operation Queue Way Number */
61 #define UNIPHIER_SSCOPPQSEF 0x506c025c /* Cache Operation Queue Set Complete */
64 #define UNIPHIER_SSCOLPQS 0x506c0260 /* Cache Operation Queue Status */
88 * uniphier_cache_maint_common - run a queue operation
90 * @start: start address of range operation (don't care for "all" operation)
91 * @size: data size of range operation (don't care for "all" operation)
93 * @operation: flags to specify the desired cache operation
96 u32 operation) in uniphier_cache_maint_common() argument
102 /* set cache operation */ in uniphier_cache_maint_common()
103 writel(UNIPHIER_SSCOQM_CE | operation, UNIPHIER_SSCOQM); in uniphier_cache_maint_common()
106 if (likely(UNIPHIER_SSCOQAD_IS_NEEDED(operation))) { in uniphier_cache_maint_common()
112 if (unlikely(UNIPHIER_SSCOQWM_IS_NEEDED(operation))) in uniphier_cache_maint_common()
117 /* wait until the operation is completed */ in uniphier_cache_maint_common()
122 static void uniphier_cache_maint_all(u32 operation) in uniphier_cache_maint_all() argument
124 uniphier_cache_maint_common(0, 0, 0, UNIPHIER_SSCOQM_S_ALL | operation); in uniphier_cache_maint_all()
130 u32 operation) in uniphier_cache_maint_range() argument
136 * perform a cache operation for the first cache-line in uniphier_cache_maint_range()
143 /* this means cache operation for all range */ in uniphier_cache_maint_range()
144 uniphier_cache_maint_all(operation); in uniphier_cache_maint_range()
150 * perform a cache operation for the last cache-line in uniphier_cache_maint_range()
158 UNIPHIER_SSCOQM_S_RANGE | operation); in uniphier_cache_maint_range()