Lines Matching defs:lcd_dma
3 * linux/arch/arm/mach-omap1/lcd_dma.c
64 } lcd_dma;
69 lcd_dma.addr = addr;
70 lcd_dma.data_type = data_type;
71 lcd_dma.xres = fb_xres;
72 lcd_dma.yres = fb_yres;
78 lcd_dma.ext_ctrl = external;
84 lcd_dma.single_transfer = single;
95 lcd_dma.rotate = rotate;
105 lcd_dma.mirror = mirror;
115 lcd_dma.vxres = vxres;
125 lcd_dma.xscale = xscale;
126 lcd_dma.yscale = yscale;
140 switch (lcd_dma.data_type) {
155 vxres = lcd_dma.vxres ? lcd_dma.vxres : lcd_dma.xres;
156 xscale = lcd_dma.xscale ? lcd_dma.xscale : 1;
157 yscale = lcd_dma.yscale ? lcd_dma.yscale : 1;
158 BUG_ON(vxres < lcd_dma.xres);
160 #define PIXADDR(x, y) (lcd_dma.addr + \
164 switch (lcd_dma.rotate) {
166 if (!lcd_dma.mirror) {
168 bottom = PIXADDR(lcd_dma.xres - 1, lcd_dma.yres - 1);
172 lcd_dma.data_type == OMAP_DMA_DATA_TYPE_S32)
175 fi = PIXSTEP(lcd_dma.xres - 1, 0, 0, 1);
177 top = PIXADDR(lcd_dma.xres - 1, 0);
178 bottom = PIXADDR(0, lcd_dma.yres - 1);
180 fi = PIXSTEP(0, 0, lcd_dma.xres - 1, 1);
182 en = lcd_dma.xres;
183 fn = lcd_dma.yres;
186 if (!lcd_dma.mirror) {
187 top = PIXADDR(0, lcd_dma.yres - 1);
188 bottom = PIXADDR(lcd_dma.xres - 1, 0);
190 fi = PIXSTEP(0, 0, 1, lcd_dma.yres - 1);
192 top = PIXADDR(lcd_dma.xres - 1, lcd_dma.yres - 1);
195 fi = PIXSTEP(1, 0, 0, lcd_dma.yres - 1);
197 en = lcd_dma.yres;
198 fn = lcd_dma.xres;
201 if (!lcd_dma.mirror) {
202 top = PIXADDR(lcd_dma.xres - 1, lcd_dma.yres - 1);
205 fi = PIXSTEP(0, 1, lcd_dma.xres - 1, 0);
207 top = PIXADDR(0, lcd_dma.yres - 1);
208 bottom = PIXADDR(lcd_dma.xres - 1, 0);
210 fi = PIXSTEP(lcd_dma.xres - 1, 1, 0, 0);
212 en = lcd_dma.xres;
213 fn = lcd_dma.yres;
216 if (!lcd_dma.mirror) {
217 top = PIXADDR(lcd_dma.xres - 1, 0);
218 bottom = PIXADDR(0, lcd_dma.yres - 1);
220 fi = PIXSTEP(1, lcd_dma.yres - 1, 0, 0);
223 bottom = PIXADDR(lcd_dma.xres - 1, lcd_dma.yres - 1);
225 fi = PIXSTEP(0, lcd_dma.yres - 1, 1, 0);
227 en = lcd_dma.yres;
228 fn = lcd_dma.xres;
255 w |= lcd_dma.data_type;
261 if (lcd_dma.callback != NULL)
267 if (!(lcd_dma.rotate || lcd_dma.mirror ||
268 lcd_dma.vxres || lcd_dma.xscale || lcd_dma.yscale))
293 lcd_dma.active = 0;
294 if (lcd_dma.callback != NULL)
295 lcd_dma.callback(w, lcd_dma.cb_data);
303 spin_lock_irq(&lcd_dma.lock);
304 if (lcd_dma.reserved) {
305 spin_unlock_irq(&lcd_dma.lock);
310 lcd_dma.reserved = 1;
311 spin_unlock_irq(&lcd_dma.lock);
312 lcd_dma.callback = callback;
313 lcd_dma.cb_data = data;
314 lcd_dma.active = 0;
315 lcd_dma.single_transfer = 0;
316 lcd_dma.rotate = 0;
317 lcd_dma.vxres = 0;
318 lcd_dma.mirror = 0;
319 lcd_dma.xscale = 0;
320 lcd_dma.yscale = 0;
321 lcd_dma.ext_ctrl = 0;
322 lcd_dma.src_port = 0;
330 spin_lock(&lcd_dma.lock);
331 if (!lcd_dma.reserved) {
332 spin_unlock(&lcd_dma.lock);
340 lcd_dma.reserved = 0;
341 spin_unlock(&lcd_dma.lock);
354 if (cpu_is_omap15xx() || !lcd_dma.ext_ctrl)
361 lcd_dma.active = 1;
371 BUG_ON(lcd_dma.active);
389 if (!lcd_dma.single_transfer)
400 lcd_dma.active = 0;
401 if (cpu_is_omap15xx() || !lcd_dma.ext_ctrl)
430 spin_lock_init(&lcd_dma.lock);