2 #include <asm/linkage.h>
4 #include <asm/blackfin.h>
8 ENTRY(_blackfin_icache_flush_range)
22 ENTRY(_blackfin_dcache_flush_range)
36 ENTRY(_icache_invalidate)
37 ENTRY(_invalidate_entire_icache)
40 P0.L = (IMEM_CONTROL & 0xFFFF);
41 P0.H = (IMEM_CONTROL >> 16);
45 * Clear the IMC bit , All valid bits in the instruction
46 * cache are set to the invalid state
50 /* SSYNC required before invalidating cache. */
57 /* Configures the instruction cache agian */
72 * Invalidate the Entire Data cache by
73 * clearing DMC[1:0] bits
75 ENTRY(_invalidate_entire_dcache)
76 ENTRY(_dcache_invalidate)
79 P0.L = (DMEM_CONTROL & 0xFFFF);
80 P0.H = (DMEM_CONTROL >> 16);
84 * Clear the DMC[1:0] bits, All valid bits in the data
85 * cache are set to the invalid state
95 /* Configures the data cache again */
97 R6 = (ACACHE_BCACHE | ENDCPLB | PORT_PREF0);
110 ENTRY(_blackfin_dcache_invalidate_range)
122 * If the data crosses a cache line, then we'll be pointing to
123 * the last cache line, but won't have flushed/invalidated it yet, so do