diff options
-rw-r--r-- | drivers/video/fsl-diu-fb.c | 39 | ||||
-rw-r--r-- | include/linux/fsl-diu-fb.h | 47 |
2 files changed, 39 insertions, 47 deletions
diff --git a/drivers/video/fsl-diu-fb.c b/drivers/video/fsl-diu-fb.c index 9a1f6d276ee3..9b3891a6a187 100644 --- a/drivers/video/fsl-diu-fb.c +++ b/drivers/video/fsl-diu-fb.c | |||
@@ -30,11 +30,50 @@ | |||
30 | #include <linux/clk.h> | 30 | #include <linux/clk.h> |
31 | #include <linux/uaccess.h> | 31 | #include <linux/uaccess.h> |
32 | #include <linux/vmalloc.h> | 32 | #include <linux/vmalloc.h> |
33 | #include <linux/spinlock.h> | ||
33 | 34 | ||
34 | #include <sysdev/fsl_soc.h> | 35 | #include <sysdev/fsl_soc.h> |
35 | #include <linux/fsl-diu-fb.h> | 36 | #include <linux/fsl-diu-fb.h> |
36 | #include "edid.h" | 37 | #include "edid.h" |
37 | 38 | ||
39 | #define FSL_AOI_NUM 6 /* 5 AOIs and one dummy AOI */ | ||
40 | /* 1 for plane 0, 2 for plane 1&2 each */ | ||
41 | |||
42 | /* HW cursor parameters */ | ||
43 | #define MAX_CURS 32 | ||
44 | |||
45 | /* INT_STATUS/INT_MASK field descriptions */ | ||
46 | #define INT_VSYNC 0x01 /* Vsync interrupt */ | ||
47 | #define INT_VSYNC_WB 0x02 /* Vsync interrupt for write back operation */ | ||
48 | #define INT_UNDRUN 0x04 /* Under run exception interrupt */ | ||
49 | #define INT_PARERR 0x08 /* Display parameters error interrupt */ | ||
50 | #define INT_LS_BF_VS 0x10 /* Lines before vsync. interrupt */ | ||
51 | |||
52 | /* Panels'operation modes */ | ||
53 | #define MFB_TYPE_OUTPUT 0 /* Panel output to display */ | ||
54 | #define MFB_TYPE_OFF 1 /* Panel off */ | ||
55 | #define MFB_TYPE_WB 2 /* Panel written back to memory */ | ||
56 | #define MFB_TYPE_TEST 3 /* Panel generate color bar */ | ||
57 | |||
58 | struct diu_hw { | ||
59 | struct diu __iomem *diu_reg; | ||
60 | spinlock_t reg_lock; | ||
61 | unsigned int mode; /* DIU operation mode */ | ||
62 | }; | ||
63 | |||
64 | struct diu_addr { | ||
65 | void *vaddr; /* Virtual address */ | ||
66 | dma_addr_t paddr; /* Physical address */ | ||
67 | __u32 offset; | ||
68 | }; | ||
69 | |||
70 | struct diu_pool { | ||
71 | struct diu_addr ad; | ||
72 | struct diu_addr gamma; | ||
73 | struct diu_addr pallete; | ||
74 | struct diu_addr cursor; | ||
75 | }; | ||
76 | |||
38 | /* | 77 | /* |
39 | * List of supported video modes | 78 | * List of supported video modes |
40 | * | 79 | * |
diff --git a/include/linux/fsl-diu-fb.h b/include/linux/fsl-diu-fb.h index e19c531be065..363d5e290cad 100644 --- a/include/linux/fsl-diu-fb.h +++ b/include/linux/fsl-diu-fb.h | |||
@@ -56,7 +56,6 @@ struct aoi_display_offset { | |||
56 | #define MFB_GET_PIXFMT_OLD 0x40014d08 | 56 | #define MFB_GET_PIXFMT_OLD 0x40014d08 |
57 | 57 | ||
58 | #ifdef __KERNEL__ | 58 | #ifdef __KERNEL__ |
59 | #include <linux/spinlock.h> | ||
60 | 59 | ||
61 | /* | 60 | /* |
62 | * These are the fields of area descriptor(in DDR memory) for every plane | 61 | * These are the fields of area descriptor(in DDR memory) for every plane |
@@ -154,39 +153,6 @@ struct diu { | |||
154 | __be32 plut; | 153 | __be32 plut; |
155 | } __attribute__ ((packed)); | 154 | } __attribute__ ((packed)); |
156 | 155 | ||
157 | struct diu_hw { | ||
158 | struct diu *diu_reg; | ||
159 | spinlock_t reg_lock; | ||
160 | |||
161 | __u32 mode; /* DIU operation mode */ | ||
162 | }; | ||
163 | |||
164 | struct diu_addr { | ||
165 | void *vaddr; /* Virtual address */ | ||
166 | dma_addr_t paddr; /* Physical address */ | ||
167 | __u32 offset; | ||
168 | }; | ||
169 | |||
170 | struct diu_pool { | ||
171 | struct diu_addr ad; | ||
172 | struct diu_addr gamma; | ||
173 | struct diu_addr pallete; | ||
174 | struct diu_addr cursor; | ||
175 | }; | ||
176 | |||
177 | #define FSL_DIU_BASE_OFFSET 0x2C000 /* Offset of DIU */ | ||
178 | #define INT_LCDC 64 /* DIU interrupt number */ | ||
179 | |||
180 | #define FSL_AOI_NUM 6 /* 5 AOIs and one dummy AOI */ | ||
181 | /* 1 for plane 0, 2 for plane 1&2 each */ | ||
182 | |||
183 | /* Minimum X and Y resolutions */ | ||
184 | #define MIN_XRES 64 | ||
185 | #define MIN_YRES 64 | ||
186 | |||
187 | /* HW cursor parameters */ | ||
188 | #define MAX_CURS 32 | ||
189 | |||
190 | /* Modes of operation of DIU */ | 156 | /* Modes of operation of DIU */ |
191 | #define MFB_MODE0 0 /* DIU off */ | 157 | #define MFB_MODE0 0 /* DIU off */ |
192 | #define MFB_MODE1 1 /* All three planes output to display */ | 158 | #define MFB_MODE1 1 /* All three planes output to display */ |
@@ -194,18 +160,5 @@ struct diu_pool { | |||
194 | #define MFB_MODE3 3 /* All three planes written back to memory */ | 160 | #define MFB_MODE3 3 /* All three planes written back to memory */ |
195 | #define MFB_MODE4 4 /* Color bar generation */ | 161 | #define MFB_MODE4 4 /* Color bar generation */ |
196 | 162 | ||
197 | /* INT_STATUS/INT_MASK field descriptions */ | ||
198 | #define INT_VSYNC 0x01 /* Vsync interrupt */ | ||
199 | #define INT_VSYNC_WB 0x02 /* Vsync interrupt for write back operation */ | ||
200 | #define INT_UNDRUN 0x04 /* Under run exception interrupt */ | ||
201 | #define INT_PARERR 0x08 /* Display parameters error interrupt */ | ||
202 | #define INT_LS_BF_VS 0x10 /* Lines before vsync. interrupt */ | ||
203 | |||
204 | /* Panels'operation modes */ | ||
205 | #define MFB_TYPE_OUTPUT 0 /* Panel output to display */ | ||
206 | #define MFB_TYPE_OFF 1 /* Panel off */ | ||
207 | #define MFB_TYPE_WB 2 /* Panel written back to memory */ | ||
208 | #define MFB_TYPE_TEST 3 /* Panel generate color bar */ | ||
209 | |||
210 | #endif /* __KERNEL__ */ | 163 | #endif /* __KERNEL__ */ |
211 | #endif /* __FSL_DIU_FB_H__ */ | 164 | #endif /* __FSL_DIU_FB_H__ */ |