Lines Matching full:the
27 * brief Enables/disables the processor code bus cache.
28 * This function enables/disables the cache. The function first invalidates the entire cache
29 * and then enables/disables both the cache and write buffers.
32 * param enable The enable or disable flag.
33 * true - enable the code cache.
34 * false - disable the code cache.
40 /* First, invalidate the entire cache. */ in LMEM_EnableCodeCache()
43 /* Now enable the cache. */ in LMEM_EnableCodeCache()
51 /* Now disable the cache. */ in LMEM_EnableCodeCache()
57 * brief Invalidates the processor code bus cache.
58 * This function invalidates the cache both ways, which means that
65 /* Enables the processor code bus to invalidate all lines in both ways. in LMEM_CodeCacheInvalidateAll()
66 and Initiate the processor code bus code cache command. */ in LMEM_CodeCacheInvalidateAll()
69 /* Wait until the cache command completes. */ in LMEM_CodeCacheInvalidateAll()
75 /* As a precaution clear the bits to avoid inadvertently re-running this command. */ in LMEM_CodeCacheInvalidateAll()
80 * brief Pushes all modified lines in the processor code bus cache.
81 * This function pushes all modified lines in both ways in the entire cache.
82 * It pushes a cache entry if it is valid and modified and clears the modified bit. If
83 * the entry is not valid or not modified, leave as is. This action does not clear the valid
90 /* Enable the processor code bus to push all modified lines. */ in LMEM_CodeCachePushAll()
93 /* Wait until the cache command completes. */ in LMEM_CodeCachePushAll()
99 /* As a precaution clear the bits to avoid inadvertently re-running this command. */ in LMEM_CodeCachePushAll()
104 * brief Clears the processor code bus cache.
105 * This function clears the entire cache and pushes (flushes) and
106 * invalidates the operation.
107 * Clear - Pushes a cache entry if it is valid and modified, then clears the valid and
108 * modified bits. If the entry is not valid or not modified, clear the valid bit.
118 /* Wait until the cache command completes. */ in LMEM_CodeCacheClearAll()
124 /* As a precaution clear the bits to avoid inadvertently re-running this command. */ in LMEM_CodeCacheClearAll()
131 * Description : This function invalidates a specific line in the Processor Code bus cache.
133 * This function invalidates a specific line in the cache. The function invalidates a
134 * line in cache based on the physical address passed in by the user.
139 * brief Invalidates a specific line in the processor code bus cache.
140 * This function invalidates a specific line in the cache
141 * based on the physical address passed in by the user.
145 * param address The physical address of the cache line. Should be 16-byte aligned address.
146 * If not, it is changed to the 16-byte aligned memory address.
152 /* Set the invalidate by line command and use the physical address. */ in LMEM_CodeCacheInvalidateLine()
157 /* Set the address and initiate the command. */ in LMEM_CodeCacheInvalidateLine()
160 /* Wait until the cache command completes. */ in LMEM_CodeCacheInvalidateLine()
167 the line command field. */ in LMEM_CodeCacheInvalidateLine()
171 * brief Invalidates multiple lines in the processor code bus cache.
172 * This function invalidates multiple lines in the cache
173 * based on the physical address and length in bytes passed in by the
174 * user. If the function detects that the length meets or exceeds half the
175 * cache, the function performs an entire cache invalidate function, which is
176 * more efficient than invalidating the cache line-by-line.
177 …* Because the cache consists of two ways and line commands based on the physical address searches …
178 * check half the total amount of cache.
182 * param address The physical address of the cache line. Should be 16-byte aligned address.
183 * If not, it is changed to the 16-byte aligned memory address.
184 * param length The length in bytes of the total amount of cache lines.
191 /* If the length exceeds 4KB, invalidate all. */ in LMEM_CodeCacheInvalidateMultiLines()
207 * brief Pushes a specific modified line in the processor code bus cache.
208 * This function pushes a specific modified line based on the physical address passed in
209 * by the user.
210 * Push - Push a cache entry if it is valid and modified, then clear the modified bit. If the
211 * entry is not valid or not modified, leave as is. This action does not clear the valid
215 * param address The physical address of the cache line. Should be 16-byte aligned address.
216 * If not, it is changed to the 16-byte aligned memory address.
222 /* Set the push by line command. */ in LMEM_CodeCachePushLine()
226 /* Set the address and initiate the command. */ in LMEM_CodeCachePushLine()
229 /* Wait until the cache command completes. */ in LMEM_CodeCachePushLine()
236 the line command field. */ in LMEM_CodeCachePushLine()
240 * brief Pushes multiple modified lines in the processor code bus cache.
241 * This function pushes multiple modified lines in the cache
242 * based on the physical address and length in bytes passed in by the
243 * user. If the function detects that the length meets or exceeds half of the
244 * cache, the function performs an cache push function, which is
245 * more efficient than pushing the modified lines in the cache line-by-line.
246 …* Because the cache consists of two ways and line commands based on the physical address searches …
247 * check half the total amount of cache.
248 * Push - Push a cache entry if it is valid and modified, then clear the modified bit. If
249 * the entry is not valid or not modified, leave as is. This action does not clear the valid
253 * param address The physical address of the cache line. Should be 16-byte aligned address.
254 * If not, it is changed to the 16-byte aligned memory address.
255 * param length The length in bytes of the total amount of cache lines.
263 /* If the length exceeds 4KB, push all. */ in LMEM_CodeCachePushMultiLines()
279 * brief Clears a specific line in the processor code bus cache.
280 * This function clears a specific line based on the physical address passed in
281 * by the user.
282 * Clear - Push a cache entry if it is valid and modified, then clear the valid and
283 * modify bits. If entry not valid or not modified, clear the valid bit.
286 * param address The physical address of the cache line. Should be 16-byte aligned address.
287 * If not, it is changed to the 16-byte aligned memory address.
293 /* Set the push by line command. */ in LMEM_CodeCacheClearLine()
297 /* Set the address and initiate the command. */ in LMEM_CodeCacheClearLine()
300 /* Wait until the cache command completes. */ in LMEM_CodeCacheClearLine()
307 the line command field. */ in LMEM_CodeCacheClearLine()
311 * brief Clears multiple lines in the processor code bus cache.
312 * This function clears multiple lines in the cache
313 * based on the physical address and length in bytes passed in by the
314 * user. If the function detects that the length meets or exceeds half the total amount of
315 * cache, the function performs a cache clear function which is
316 * more efficient than clearing the lines in the cache line-by-line.
317 …* Because the cache consists of two ways and line commands based on the physical address searches …
318 * check half the total amount of cache.
319 * Clear - Push a cache entry if it is valid and modified, then clear the valid and
320 * modify bits. If entry not valid or not modified, clear the valid bit.
323 * param address The physical address of the cache line. Should be 16-byte aligned address.
324 * If not, it is changed to the 16-byte aligned memory address.
325 * param length The length in bytes of the total amount of cache lines.
333 /* If the length exceeds 4KB, clear all. */ in LMEM_CodeCacheClearMultiLines()
349 * brief Demotes the cache mode of a region in processor code bus cache.
350 * This function allows the user to demote the cache mode of a region within the device's
351 * memory map. Demoting the cache mode reduces the cache function applied to a memory
352 * region from write-back to write-through to non-cacheable. The function checks to see
353 * if the requested cache mode is higher than or equal to the current cache mode, and if
355 * by a reset, which returns it to its default state which is the highest cache configure for
357 * To maintain cache coherency, changes to the cache mode should be completed while the
358 * address space being changed is not being accessed or the cache is disabled. Before a
363 * param region The desired region to demote of type lmem_cache_region_t.
364 * param cacheMode The new, demoted cache mode of type lmem_cache_mode_t.
365 * return The execution result.
366 * kStatus_Success The cache demote operation is successful.
367 * kStatus_Fail The cache demote operation is failure.
376 /* If the current cache mode is higher than the requested mode, return error. */ in LMEM_CodeCacheDemoteRegion()
382 { /* Proceed to demote the region. */ in LMEM_CodeCacheDemoteRegion()
393 * brief Enables/disables the processor system bus cache.
394 * This function enables/disables the cache. It first invalidates the entire cache,
395 * then enables /disable both the cache and write buffer.
398 * param The enable or disable flag.
399 * true - enable the system cache.
400 * false - disable the system cache.
406 /* First, invalidate the entire cache. */ in LMEM_EnableSystemCache()
409 /* Now enable the cache. */ in LMEM_EnableSystemCache()
417 /* Now disable the cache. */ in LMEM_EnableSystemCache()
423 * brief Invalidates the processor system bus cache.
424 * This function invalidates the entire cache both ways.
431 /* Enables the processor system bus to invalidate all lines in both ways. in LMEM_SystemCacheInvalidateAll()
432 and Initiate the processor system bus cache command. */ in LMEM_SystemCacheInvalidateAll()
435 /* Wait until the cache command completes */ in LMEM_SystemCacheInvalidateAll()
441 /* As a precaution clear the bits to avoid inadvertently re-running this command. */ in LMEM_SystemCacheInvalidateAll()
446 * brief Pushes all modified lines in the processor system bus cache.
447 * This function pushes all modified lines in both ways (the entire cache).
448 * Push - Push a cache entry if it is valid and modified, then clear the modify bit. If
449 * the entry is not valid or not modified, leave as is. This action does not clear the valid
456 /* Enable the processor system bus to push all modified lines. */ in LMEM_SystemCachePushAll()
459 /* Wait until the cache command completes. */ in LMEM_SystemCachePushAll()
465 /* As a precaution clear the bits to avoid inadvertently re-running this command. */ in LMEM_SystemCachePushAll()
470 * brief Clears the entire processor system bus cache.
471 * This function clears the entire cache, which is a push (flush) and
473 * Clear - Push a cache entry if it is valid and modified, then clear the valid and
474 * modify bits. If the entry is not valid or not modified, clear the valid bit.
484 /* Wait until the cache command completes. */ in LMEM_SystemCacheClearAll()
490 /* As a precaution clear the bits to avoid inadvertently re-running this command. */ in LMEM_SystemCacheClearAll()
495 * brief Invalidates a specific line in the processor system bus cache.
496 * This function invalidates a specific line in the cache
497 * based on the physical address passed in by the user.
501 * If not, it is changed to the 16-byte aligned memory address.
502 * param address The physical address of the cache line.
508 /* Set the invalidate by line command and use the physical address. */ in LMEM_SystemCacheInvalidateLine()
513 /* Set the address and initiate the command. */ in LMEM_SystemCacheInvalidateLine()
516 /* Wait until the cache command completes. */ in LMEM_SystemCacheInvalidateLine()
523 the line command field. */ in LMEM_SystemCacheInvalidateLine()
527 * brief Invalidates multiple lines in the processor system bus cache.
528 * This function invalidates multiple lines in the cache
529 * based on the physical address and length in bytes passed in by the
530 * user. If the function detects that the length meets or exceeds half of the
531 * cache, the function performs an entire cache invalidate function (which is
532 * more efficient than invalidating the cache line-by-line).
533 …* Because the cache consists of two ways and line commands based on the physical address searches …
534 * check half the total amount of cache.
538 * param address The physical address of the cache line. Should be 16-byte aligned address.
539 * If not, it is changed to the 16-byte aligned memory address.
540 * param length The length in bytes of the total amount of cache lines.
548 /* If the length exceeds 4KB, invalidate all. */ in LMEM_SystemCacheInvalidateMultiLines()
564 * brief Pushes a specific modified line in the processor system bus cache.
565 * This function pushes a specific modified line based on the physical address passed in
566 * by the user.
567 * Push - Push a cache entry if it is valid and modified, then clear the modify bit. If
568 * the entry is not valid or not modified, leave as is. This action does not clear the valid
572 * param address The physical address of the cache line. Should be 16-byte aligned address.
573 * If not, it is changed to the 16-byte aligned memory address.
579 /* Set the push by line command. */ in LMEM_SystemCachePushLine()
583 /* Set the address and initiate the command. */ in LMEM_SystemCachePushLine()
586 /* Wait until the cache command completes. */ in LMEM_SystemCachePushLine()
593 the line command field. */ in LMEM_SystemCachePushLine()
597 * brief Pushes multiple modified lines in the processor system bus cache.
598 * This function pushes multiple modified lines in the cache
599 * based on the physical address and length in bytes passed in by the
600 * user. If the function detects that the length meets or exceeds half of the
601 * cache, the function performs an entire cache push function (which is
602 * more efficient than pushing the modified lines in the cache line-by-line).
603 …* Because the cache consists of two ways and line commands based on the physical address searches …
604 * check half the total amount of cache.
605 * Push - Push a cache entry if it is valid and modified, then clear the modify bit. If
606 * the entry is not valid or not modified, leave as is. This action does not clear the valid
610 * param address The physical address of the cache line. Should be 16-byte aligned address.
611 * If not, it is changed to the 16-byte aligned memory address.
612 * param length The length in bytes of the total amount of cache lines.
620 /* If the length exceeds 4KB, push all. */ in LMEM_SystemCachePushMultiLines()
636 * brief Clears a specific line in the processor system bus cache.
637 * This function clears a specific line based on the physical address passed in
638 * by the user.
639 * Clear - Push a cache entry if it is valid and modified, then clear the valid and
640 * modify bits. If the entry is not valid or not modified, clear the valid bit.
643 * param address The physical address of the cache line. Should be 16-byte aligned address.
644 * If not, it is changed to the 16-byte aligned memory address.
650 /* Set the push by line command. */ in LMEM_SystemCacheClearLine()
654 /* Set the address and initiate the command. */ in LMEM_SystemCacheClearLine()
657 /* Wait until the cache command completes. */ in LMEM_SystemCacheClearLine()
664 the line command field. */ in LMEM_SystemCacheClearLine()
668 * brief Clears multiple lines in the processor system bus cache.
669 * This function clears multiple lines in the cache
670 * based on the physical address and length in bytes passed in by the
671 * user. If the function detects that the length meets or exceeds half of the
672 * cache, the function performs an entire cache clear function (which is
673 * more efficient than clearing the lines in the cache line-by-line).
674 …* Because the cache consists of two ways and line commands based on the physical address searches …
675 * check half the total amount of cache.
676 * Clear - Push a cache entry if it is valid and modified, then clear the valid and
677 * modify bits. If the entry is not valid or not modified, clear the valid bit.
680 * param address The physical address of the cache line. Should be 16-byte aligned address.
681 * If not, it is changed to the 16-byte aligned memory address.
682 * param length The length in bytes of the total amount of cache lines.
690 /* If the length exceeds 4KB, clear all. */ in LMEM_SystemCacheClearMultiLines()
706 * brief Demotes the cache mode of a region in the processor system bus cache.
707 * This function allows the user to demote the cache mode of a region within the device's
708 * memory map. Demoting the cache mode reduces the cache function applied to a memory
709 * region from write-back to write-through to non-cacheable. The function checks to see
710 * if the requested cache mode is higher than or equal to the current cache mode, and if
712 * by a reset, which returns it to its default state which is the highest cache configure
714 * To maintain cache coherency, changes to the cache mode should be completed while the
715 * address space being changed is not being accessed or the cache is disabled. Before a
720 * param region The desired region to demote of type lmem_cache_region_t.
721 * param cacheMode The new, demoted cache mode of type lmem_cache_mode_t.
722 * return The execution result.
723 * kStatus_Success The cache demote operation is successful.
724 * kStatus_Fail The cache demote operation is failure.
736 /* If the current cache mode is higher than the requested mode, return error. */ in LMEM_SystemCacheDemoteRegion()
742 { /* Proceed to demote the region. */ in LMEM_SystemCacheDemoteRegion()