]> git.karo-electronics.de Git - mv-sheeva.git/blob - drivers/video/sh_mobile_lcdcfb.h
Merge git://github.com/rustyrussell/linux
[mv-sheeva.git] / drivers / video / sh_mobile_lcdcfb.h
1 #ifndef SH_MOBILE_LCDCFB_H
2 #define SH_MOBILE_LCDCFB_H
3
4 #include <linux/completion.h>
5 #include <linux/fb.h>
6 #include <linux/mutex.h>
7 #include <linux/wait.h>
8
9 /* per-channel registers */
10 enum { LDDCKPAT1R, LDDCKPAT2R, LDMT1R, LDMT2R, LDMT3R, LDDFR, LDSM1R,
11        LDSM2R, LDSA1R, LDSA2R, LDMLSR, LDHCNR, LDHSYNR, LDVLNR, LDVSYNR, LDPMR,
12        LDHAJR,
13        NR_CH_REGS };
14
15 #define PALETTE_NR 16
16
17 struct sh_mobile_lcdc_priv;
18 struct fb_info;
19 struct backlight_device;
20
21 struct sh_mobile_lcdc_chan {
22         struct sh_mobile_lcdc_priv *lcdc;
23         unsigned long *reg_offs;
24         unsigned long ldmt1r_value;
25         unsigned long enabled; /* ME and SE in LDCNT2R */
26         struct sh_mobile_lcdc_chan_cfg cfg;
27         u32 pseudo_palette[PALETTE_NR];
28         unsigned long saved_ch_regs[NR_CH_REGS];
29         struct fb_info *info;
30         struct backlight_device *bl;
31         dma_addr_t dma_handle;
32         struct fb_deferred_io defio;
33         struct scatterlist *sglist;
34         unsigned long frame_end;
35         unsigned long pan_offset;
36         wait_queue_head_t frame_end_wait;
37         struct completion vsync_completion;
38         struct fb_var_screeninfo display_var;
39         int use_count;
40         int blank_status;
41         struct mutex open_lock;         /* protects the use counter */
42         int meram_enabled;
43 };
44
45 #endif