Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sh_mobile_lcdcfb.h
Go to the documentation of this file.
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 */
14 
15 #define PALETTE_NR 16
16 
17 struct backlight_device;
18 struct fb_info;
19 struct module;
20 struct sh_mobile_lcdc_chan;
23 struct sh_mobile_lcdc_priv;
24 
25 #define SH_MOBILE_LCDC_DISPLAY_DISCONNECTED 0
26 #define SH_MOBILE_LCDC_DISPLAY_CONNECTED 1
27 
29  /* Display */
30  int (*display_on)(struct sh_mobile_lcdc_entity *entity);
32 };
33 
38 };
39 
41  struct module *owner;
45 };
46 
47 /*
48  * struct sh_mobile_lcdc_chan - LCDC display channel
49  *
50  * @pan_y_offset: Panning linear offset in bytes (luma component)
51  * @base_addr_y: Frame buffer viewport base address (luma component)
52  * @base_addr_c: Frame buffer viewport base address (chroma component)
53  * @pitch: Frame buffer line pitch
54  */
59 
60  unsigned long *reg_offs;
61  unsigned long ldmt1r_value;
62  unsigned long enabled; /* ME and SE in LDCNT2R */
63  void *cache;
64 
65  struct mutex open_lock; /* protects the use counter */
66  int use_count;
67 
68  void *fb_mem;
69  unsigned long fb_size;
70 
72  unsigned long pan_y_offset;
73 
74  unsigned long frame_end;
77 
80  unsigned int xres;
81  unsigned int xres_virtual;
82  unsigned int yres;
83  unsigned int yres_virtual;
84  unsigned int pitch;
85 
86  unsigned long base_addr_y;
87  unsigned long base_addr_c;
88  unsigned int line_size;
89 
92  const struct fb_videomode *mode,
93  const struct fb_monspecs *monspec);
94 
95  /* Backlight */
97 
98  /* FB */
99  struct fb_info *info;
101  struct {
102  unsigned int width;
103  unsigned int height;
105  } display;
106  struct fb_deferred_io defio;
109 };
110 
111 #endif