diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-mips/sibyte/trace_prof.h | 110 | ||||
-rw-r--r-- | include/asm-sparc64/parport.h | 11 | ||||
-rw-r--r-- | include/linux/mtd/mtd.h | 1 | ||||
-rw-r--r-- | include/linux/mtd/onenand.h | 5 |
4 files changed, 16 insertions, 111 deletions
diff --git a/include/asm-mips/sibyte/trace_prof.h b/include/asm-mips/sibyte/trace_prof.h deleted file mode 100644 index 557792075e9a..000000000000 --- a/include/asm-mips/sibyte/trace_prof.h +++ /dev/null | |||
@@ -1,110 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2001 Broadcom Corporation | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version 2 | ||
7 | * of the License, or (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
17 | */ | ||
18 | |||
19 | #ifndef __ASM_SIBYTE_TRACE_PROF_H | ||
20 | #define __ASM_SIBYTE_TRACE_PROF_H | ||
21 | |||
22 | #undef DBG | ||
23 | #if SBPROF_TB_DEBUG | ||
24 | #define DBG(a) a | ||
25 | #else | ||
26 | #define DBG(a) | ||
27 | #endif | ||
28 | |||
29 | #define SBPROF_TB_MAJOR 240 | ||
30 | #define DEVNAME "bcm1250_tbprof" | ||
31 | |||
32 | typedef u_int64_t tb_sample_t[6*256]; | ||
33 | |||
34 | struct sbprof_tb { | ||
35 | int open; | ||
36 | tb_sample_t *sbprof_tbbuf; | ||
37 | int next_tb_sample; | ||
38 | |||
39 | volatile int tb_enable; | ||
40 | volatile int tb_armed; | ||
41 | |||
42 | wait_queue_head_t tb_sync; | ||
43 | wait_queue_head_t tb_read; | ||
44 | }; | ||
45 | |||
46 | #define MAX_SAMPLE_BYTES (24*1024*1024) | ||
47 | #define MAX_TBSAMPLE_BYTES (12*1024*1024) | ||
48 | |||
49 | #define MAX_SAMPLES (MAX_SAMPLE_BYTES/sizeof(u_int32_t)) | ||
50 | #define TB_SAMPLE_SIZE (sizeof(tb_sample_t)) | ||
51 | #define MAX_TB_SAMPLES (MAX_TBSAMPLE_BYTES/TB_SAMPLE_SIZE) | ||
52 | |||
53 | /* IOCTLs */ | ||
54 | #define SBPROF_ZBSTART _IOW('s', 0, int) | ||
55 | #define SBPROF_ZBSTOP _IOW('s', 1, int) | ||
56 | #define SBPROF_ZBWAITFULL _IOW('s', 2, int) | ||
57 | |||
58 | /*************************************************************************** | ||
59 | * Routines for gathering ZBbus profiles using trace buffer | ||
60 | ***************************************************************************/ | ||
61 | |||
62 | /* Requires: Already called zclk_timer_init with a value that won't | ||
63 | saturate 40 bits. No subsequent use of SCD performance counters | ||
64 | or trace buffer. | ||
65 | Effect: Starts gathering random ZBbus profiles using trace buffer. */ | ||
66 | extern int sbprof_zbprof_start(struct file *filp); | ||
67 | |||
68 | /* Effect: Stops collection of ZBbus profiles */ | ||
69 | extern int sbprof_zbprof_stop(void); | ||
70 | |||
71 | |||
72 | /*************************************************************************** | ||
73 | * Routines for using 40-bit SCD cycle counter | ||
74 | * | ||
75 | * Client responsible for either handling interrupts or making sure | ||
76 | * the cycles counter never saturates, e.g., by doing | ||
77 | * zclk_timer_init(0) at least every 2^40 - 1 ZCLKs. | ||
78 | ***************************************************************************/ | ||
79 | |||
80 | /* Configures SCD counter 0 to count ZCLKs starting from val; | ||
81 | Configures SCD counters1,2,3 to count nothing. | ||
82 | Must not be called while gathering ZBbus profiles. | ||
83 | |||
84 | unsigned long long val; */ | ||
85 | #define zclk_timer_init(val) \ | ||
86 | __asm__ __volatile__ (".set push;" \ | ||
87 | ".set mips64;" \ | ||
88 | "la $8, 0xb00204c0;" /* SCD perf_cnt_cfg */ \ | ||
89 | "sd %0, 0x10($8);" /* write val to counter0 */ \ | ||
90 | "sd %1, 0($8);" /* config counter0 for zclks*/ \ | ||
91 | ".set pop" \ | ||
92 | : /* no outputs */ \ | ||
93 | /* enable, counter0 */ \ | ||
94 | : /* inputs */ "r"(val), "r" ((1ULL << 33) | 1ULL) \ | ||
95 | : /* modifies */ "$8" ) | ||
96 | |||
97 | |||
98 | /* Reads SCD counter 0 and puts result in value | ||
99 | unsigned long long val; */ | ||
100 | #define zclk_get(val) \ | ||
101 | __asm__ __volatile__ (".set push;" \ | ||
102 | ".set mips64;" \ | ||
103 | "la $8, 0xb00204c0;" /* SCD perf_cnt_cfg */ \ | ||
104 | "ld %0, 0x10($8);" /* write val to counter0 */ \ | ||
105 | ".set pop" \ | ||
106 | : /* outputs */ "=r"(val) \ | ||
107 | : /* inputs */ \ | ||
108 | : /* modifies */ "$8" ) | ||
109 | |||
110 | #endif /* __ASM_SIBYTE_TRACE_PROF_H */ | ||
diff --git a/include/asm-sparc64/parport.h b/include/asm-sparc64/parport.h index be9509c8f8c1..284dfd01a33d 100644 --- a/include/asm-sparc64/parport.h +++ b/include/asm-sparc64/parport.h | |||
@@ -19,6 +19,17 @@ | |||
19 | */ | 19 | */ |
20 | #define HAS_DMA | 20 | #define HAS_DMA |
21 | 21 | ||
22 | static DEFINE_SPINLOCK(dma_spin_lock); | ||
23 | |||
24 | #define claim_dma_lock() \ | ||
25 | ({ unsigned long flags; \ | ||
26 | spin_lock_irqsave(&dma_spin_lock, flags); \ | ||
27 | flags; \ | ||
28 | }) | ||
29 | |||
30 | #define release_dma_lock(__flags) \ | ||
31 | spin_unlock_irqrestore(&dma_spin_lock, __flags); | ||
32 | |||
22 | static struct sparc_ebus_info { | 33 | static struct sparc_ebus_info { |
23 | struct ebus_dma_info info; | 34 | struct ebus_dma_info info; |
24 | unsigned int addr; | 35 | unsigned int addr; |
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h index 6a8570be331b..3d956c3abb31 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h | |||
@@ -121,6 +121,7 @@ struct mtd_info { | |||
121 | u_int32_t writesize; | 121 | u_int32_t writesize; |
122 | 122 | ||
123 | u_int32_t oobsize; // Amount of OOB data per block (e.g. 16) | 123 | u_int32_t oobsize; // Amount of OOB data per block (e.g. 16) |
124 | u_int32_t oobavail; // Available OOB bytes per block | ||
124 | 125 | ||
125 | // Kernel-only stuff starts here. | 126 | // Kernel-only stuff starts here. |
126 | char *name; | 127 | char *name; |
diff --git a/include/linux/mtd/onenand.h b/include/linux/mtd/onenand.h index d8af8a95e58d..a56d24ada505 100644 --- a/include/linux/mtd/onenand.h +++ b/include/linux/mtd/onenand.h | |||
@@ -82,7 +82,8 @@ struct onenand_bufferram { | |||
82 | * @wq: [INTERN] wait queue to sleep on if a OneNAND | 82 | * @wq: [INTERN] wait queue to sleep on if a OneNAND |
83 | * operation is in progress | 83 | * operation is in progress |
84 | * @state: [INTERN] the current state of the OneNAND device | 84 | * @state: [INTERN] the current state of the OneNAND device |
85 | * @page_buf: data buffer | 85 | * @page_buf: [INTERN] page main data buffer |
86 | * @oob_buf: [INTERN] page oob data buffer | ||
86 | * @subpagesize: [INTERN] holds the subpagesize | 87 | * @subpagesize: [INTERN] holds the subpagesize |
87 | * @ecclayout: [REPLACEABLE] the default ecc placement scheme | 88 | * @ecclayout: [REPLACEABLE] the default ecc placement scheme |
88 | * @bbm: [REPLACEABLE] pointer to Bad Block Management | 89 | * @bbm: [REPLACEABLE] pointer to Bad Block Management |
@@ -122,6 +123,7 @@ struct onenand_chip { | |||
122 | wait_queue_head_t wq; | 123 | wait_queue_head_t wq; |
123 | onenand_state_t state; | 124 | onenand_state_t state; |
124 | unsigned char *page_buf; | 125 | unsigned char *page_buf; |
126 | unsigned char *oob_buf; | ||
125 | 127 | ||
126 | int subpagesize; | 128 | int subpagesize; |
127 | struct nand_ecclayout *ecclayout; | 129 | struct nand_ecclayout *ecclayout; |
@@ -156,6 +158,7 @@ struct onenand_chip { | |||
156 | #define ONENAND_HAS_CONT_LOCK (0x0001) | 158 | #define ONENAND_HAS_CONT_LOCK (0x0001) |
157 | #define ONENAND_HAS_UNLOCK_ALL (0x0002) | 159 | #define ONENAND_HAS_UNLOCK_ALL (0x0002) |
158 | #define ONENAND_PAGEBUF_ALLOC (0x1000) | 160 | #define ONENAND_PAGEBUF_ALLOC (0x1000) |
161 | #define ONENAND_OOBBUF_ALLOC (0x2000) | ||
159 | 162 | ||
160 | /* | 163 | /* |
161 | * OneNAND Flash Manufacturer ID Codes | 164 | * OneNAND Flash Manufacturer ID Codes |