4 #include <asm/linkage.h>
5 #include <asm/cpu/def_LPBlackfin.h>
9 ENTRY(blackfin_icache_flush_range)
23 ENTRY(blackfin_dcache_flush_range)
37 ENTRY(_icache_invalidate)
38 ENTRY(invalidate_entire_icache)
41 P0.L = (IMEM_CONTROL & 0xFFFF);
42 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; /* SSYNC required before invalidating cache. */
56 /* Configures the instruction cache agian */
61 SSYNC; /* SSYNC required before writing to IMEM_CONTROL. */
70 /* Invalidate the Entire Data cache by
71 * clearing DMC[1:0] bits
73 ENTRY(invalidate_entire_dcache)
74 ENTRY(_dcache_invalidate)
77 P0.L = (DMEM_CONTROL & 0xFFFF);
78 P0.H = (DMEM_CONTROL >> 16);
81 /* Clear the DMC[1:0] bits, All valid bits in the data
82 * cache are set to the invalid state
87 SSYNC; /* SSYNC required before writing to DMEM_CONTROL. */
93 /* Configures the data cache again */
95 R6 = (ACACHE_BCACHE | ENDCPLB | PORT_PREF0);
99 SSYNC; /* SSYNC required before writing to DMEM_CONTROL. */
108 ENTRY(blackfin_dcache_invalidate_range)
119 /* If the data crosses a cache line, then we'll be pointing to
120 ** the last cache line, but won't have flushed/invalidated it yet, so do