Blame view
arch/blackfin/include/asm/cache.h
1.47 KB
1394f0322 blackfin architec... |
1 |
/* |
96f1050d3 Blackfin: mass cl... |
2 3 4 |
* Copyright 2004-2009 Analog Devices Inc. * * Licensed under the GPL-2 or later. |
1394f0322 blackfin architec... |
5 |
*/ |
96f1050d3 Blackfin: mass cl... |
6 |
|
1394f0322 blackfin architec... |
7 8 |
#ifndef __ARCH_BLACKFIN_CACHE_H #define __ARCH_BLACKFIN_CACHE_H |
05c3457ec Blackfin: SMP: fi... |
9 |
#include <linux/linkage.h> /* for asmlinkage */ |
1394f0322 blackfin architec... |
10 11 12 13 14 15 16 |
/* * Bytes per L1 cache line * Blackfin loads 32 bytes for cache */ #define L1_CACHE_SHIFT 5 #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) #define SMP_CACHE_BYTES L1_CACHE_BYTES |
a6eb9fe10 dma-mapping: rena... |
17 |
#define ARCH_DMA_MINALIGN L1_CACHE_BYTES |
76b99699a Blackfin: set ARC... |
18 |
|
6b3087c64 Blackfin arch: SM... |
19 20 21 22 |
#ifdef CONFIG_SMP #define __cacheline_aligned #else #define ____cacheline_aligned |
1394f0322 blackfin architec... |
23 24 25 26 27 28 29 30 |
/* * Put cacheline_aliged data to L1 data memory */ #ifdef CONFIG_CACHELINE_ALIGNED_L1 #define __cacheline_aligned \ __attribute__((__aligned__(L1_CACHE_BYTES), \ __section__(".data_l1.cacheline_aligned"))) #endif |
6b3087c64 Blackfin arch: SM... |
31 |
#endif |
1394f0322 blackfin architec... |
32 33 34 35 |
/* * largest L1 which this arch supports */ #define L1_CACHE_SHIFT_MAX 5 |
6b3087c64 Blackfin arch: SM... |
36 |
#if defined(CONFIG_SMP) && \ |
47e9dedb7 Blackfin: add bla... |
37 |
!defined(CONFIG_BFIN_CACHE_COHERENT) |
19a3b6034 Blackfin: fix mis... |
38 |
# if defined(CONFIG_BFIN_EXTMEM_ICACHEABLE) || defined(CONFIG_BFIN_L2_ICACHEABLE) |
47e9dedb7 Blackfin: add bla... |
39 40 |
# define __ARCH_SYNC_CORE_ICACHE # endif |
19a3b6034 Blackfin: fix mis... |
41 |
# if defined(CONFIG_BFIN_EXTMEM_DCACHEABLE) || defined(CONFIG_BFIN_L2_DCACHEABLE) |
47e9dedb7 Blackfin: add bla... |
42 43 |
# define __ARCH_SYNC_CORE_DCACHE # endif |
6b3087c64 Blackfin arch: SM... |
44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
#ifndef __ASSEMBLY__ asmlinkage void __raw_smp_mark_barrier_asm(void); asmlinkage void __raw_smp_check_barrier_asm(void); static inline void smp_mark_barrier(void) { __raw_smp_mark_barrier_asm(); } static inline void smp_check_barrier(void) { __raw_smp_check_barrier_asm(); } void resync_core_dcache(void); |
47e9dedb7 Blackfin: add bla... |
58 |
void resync_core_icache(void); |
6b3087c64 Blackfin arch: SM... |
59 60 |
#endif #endif |
1394f0322 blackfin architec... |
61 |
#endif |