diff options
Diffstat (limited to 'include/asm-ppc')
-rw-r--r-- | include/asm-ppc/commproc.h | 13 | ||||
-rw-r--r-- | include/asm-ppc/cpm2.h | 13 | ||||
-rw-r--r-- | include/asm-ppc/rheap.h | 89 |
3 files changed, 8 insertions, 107 deletions
diff --git a/include/asm-ppc/commproc.h b/include/asm-ppc/commproc.h index 4f99df1bafd7..397248705e0e 100644 --- a/include/asm-ppc/commproc.h +++ b/include/asm-ppc/commproc.h | |||
@@ -63,20 +63,15 @@ | |||
63 | #define CPM_DATAONLY_SIZE ((uint)0x0700) | 63 | #define CPM_DATAONLY_SIZE ((uint)0x0700) |
64 | #define CPM_DP_NOSPACE ((uint)0x7fffffff) | 64 | #define CPM_DP_NOSPACE ((uint)0x7fffffff) |
65 | 65 | ||
66 | static inline long IS_DPERR(const uint offset) | ||
67 | { | ||
68 | return (uint)offset > (uint)-1000L; | ||
69 | } | ||
70 | |||
71 | /* Export the base address of the communication processor registers | 66 | /* Export the base address of the communication processor registers |
72 | * and dual port ram. | 67 | * and dual port ram. |
73 | */ | 68 | */ |
74 | extern cpm8xx_t *cpmp; /* Pointer to comm processor */ | 69 | extern cpm8xx_t *cpmp; /* Pointer to comm processor */ |
75 | extern uint cpm_dpalloc(uint size, uint align); | 70 | extern unsigned long cpm_dpalloc(uint size, uint align); |
76 | extern int cpm_dpfree(uint offset); | 71 | extern int cpm_dpfree(unsigned long offset); |
77 | extern uint cpm_dpalloc_fixed(uint offset, uint size, uint align); | 72 | extern unsigned long cpm_dpalloc_fixed(unsigned long offset, uint size, uint align); |
78 | extern void cpm_dpdump(void); | 73 | extern void cpm_dpdump(void); |
79 | extern void *cpm_dpram_addr(uint offset); | 74 | extern void *cpm_dpram_addr(unsigned long offset); |
80 | extern uint cpm_dpram_phys(u8* addr); | 75 | extern uint cpm_dpram_phys(u8* addr); |
81 | extern void cpm_setbrg(uint brg, uint rate); | 76 | extern void cpm_setbrg(uint brg, uint rate); |
82 | 77 | ||
diff --git a/include/asm-ppc/cpm2.h b/include/asm-ppc/cpm2.h index 220cc2debe08..12a2860f9a9c 100644 --- a/include/asm-ppc/cpm2.h +++ b/include/asm-ppc/cpm2.h | |||
@@ -104,21 +104,16 @@ | |||
104 | */ | 104 | */ |
105 | #define NUM_CPM_HOST_PAGES 2 | 105 | #define NUM_CPM_HOST_PAGES 2 |
106 | 106 | ||
107 | static inline long IS_DPERR(const uint offset) | ||
108 | { | ||
109 | return (uint)offset > (uint)-1000L; | ||
110 | } | ||
111 | |||
112 | /* Export the base address of the communication processor registers | 107 | /* Export the base address of the communication processor registers |
113 | * and dual port ram. | 108 | * and dual port ram. |
114 | */ | 109 | */ |
115 | extern cpm_cpm2_t *cpmp; /* Pointer to comm processor */ | 110 | extern cpm_cpm2_t *cpmp; /* Pointer to comm processor */ |
116 | 111 | ||
117 | extern uint cpm_dpalloc(uint size, uint align); | 112 | extern unsigned long cpm_dpalloc(uint size, uint align); |
118 | extern int cpm_dpfree(uint offset); | 113 | extern int cpm_dpfree(unsigned long offset); |
119 | extern uint cpm_dpalloc_fixed(uint offset, uint size, uint align); | 114 | extern unsigned long cpm_dpalloc_fixed(unsigned long offset, uint size, uint align); |
120 | extern void cpm_dpdump(void); | 115 | extern void cpm_dpdump(void); |
121 | extern void *cpm_dpram_addr(uint offset); | 116 | extern void *cpm_dpram_addr(unsigned long offset); |
122 | extern void cpm_setbrg(uint brg, uint rate); | 117 | extern void cpm_setbrg(uint brg, uint rate); |
123 | extern void cpm2_fastbrg(uint brg, uint rate, int div16); | 118 | extern void cpm2_fastbrg(uint brg, uint rate, int div16); |
124 | extern void cpm2_reset(void); | 119 | extern void cpm2_reset(void); |
diff --git a/include/asm-ppc/rheap.h b/include/asm-ppc/rheap.h deleted file mode 100644 index 39a10d862244..000000000000 --- a/include/asm-ppc/rheap.h +++ /dev/null | |||
@@ -1,89 +0,0 @@ | |||
1 | /* | ||
2 | * include/asm-ppc/rheap.h | ||
3 | * | ||
4 | * Header file for the implementation of a remote heap. | ||
5 | * | ||
6 | * Author: Pantelis Antoniou <panto@intracom.gr> | ||
7 | * | ||
8 | * 2004 (c) INTRACOM S.A. Greece. This file is licensed under | ||
9 | * the terms of the GNU General Public License version 2. This program | ||
10 | * is licensed "as is" without any warranty of any kind, whether express | ||
11 | * or implied. | ||
12 | */ | ||
13 | |||
14 | #ifndef __ASM_PPC_RHEAP_H__ | ||
15 | #define __ASM_PPC_RHEAP_H__ | ||
16 | |||
17 | #include <linux/list.h> | ||
18 | |||
19 | typedef struct _rh_block { | ||
20 | struct list_head list; | ||
21 | void *start; | ||
22 | int size; | ||
23 | const char *owner; | ||
24 | } rh_block_t; | ||
25 | |||
26 | typedef struct _rh_info { | ||
27 | unsigned int alignment; | ||
28 | int max_blocks; | ||
29 | int empty_slots; | ||
30 | rh_block_t *block; | ||
31 | struct list_head empty_list; | ||
32 | struct list_head free_list; | ||
33 | struct list_head taken_list; | ||
34 | unsigned int flags; | ||
35 | } rh_info_t; | ||
36 | |||
37 | #define RHIF_STATIC_INFO 0x1 | ||
38 | #define RHIF_STATIC_BLOCK 0x2 | ||
39 | |||
40 | typedef struct rh_stats_t { | ||
41 | void *start; | ||
42 | int size; | ||
43 | const char *owner; | ||
44 | } rh_stats_t; | ||
45 | |||
46 | #define RHGS_FREE 0 | ||
47 | #define RHGS_TAKEN 1 | ||
48 | |||
49 | /* Create a remote heap dynamically */ | ||
50 | extern rh_info_t *rh_create(unsigned int alignment); | ||
51 | |||
52 | /* Destroy a remote heap, created by rh_create() */ | ||
53 | extern void rh_destroy(rh_info_t * info); | ||
54 | |||
55 | /* Initialize in place a remote info block */ | ||
56 | extern void rh_init(rh_info_t * info, unsigned int alignment, int max_blocks, | ||
57 | rh_block_t * block); | ||
58 | |||
59 | /* Attach a free region to manage */ | ||
60 | extern int rh_attach_region(rh_info_t * info, void *start, int size); | ||
61 | |||
62 | /* Detach a free region */ | ||
63 | extern void *rh_detach_region(rh_info_t * info, void *start, int size); | ||
64 | |||
65 | /* Allocate the given size from the remote heap (with alignment) */ | ||
66 | extern void *rh_alloc_align(rh_info_t * info, int size, int alignment, | ||
67 | const char *owner); | ||
68 | |||
69 | /* Allocate the given size from the remote heap */ | ||
70 | extern void *rh_alloc(rh_info_t * info, int size, const char *owner); | ||
71 | |||
72 | /* Allocate the given size from the given address */ | ||
73 | extern void *rh_alloc_fixed(rh_info_t * info, void *start, int size, | ||
74 | const char *owner); | ||
75 | |||
76 | /* Free the allocated area */ | ||
77 | extern int rh_free(rh_info_t * info, void *start); | ||
78 | |||
79 | /* Get stats for debugging purposes */ | ||
80 | extern int rh_get_stats(rh_info_t * info, int what, int max_stats, | ||
81 | rh_stats_t * stats); | ||
82 | |||
83 | /* Simple dump of remote heap info */ | ||
84 | extern void rh_dump(rh_info_t * info); | ||
85 | |||
86 | /* Set owner of taken block */ | ||
87 | extern int rh_set_owner(rh_info_t * info, void *start, const char *owner); | ||
88 | |||
89 | #endif /* __ASM_PPC_RHEAP_H__ */ | ||