Searched refs:var (Results 1 - 200 of 581) sorted by relevance

123

/linux-4.1.27/arch/x86/include/asm/
H A Drmwcc.h6 #define __GEN_RMWcc(fullop, var, cc, ...) \
9 : : "m" (var), ## __VA_ARGS__ \
16 #define GEN_UNARY_RMWcc(op, var, arg0, cc) \
17 __GEN_RMWcc(op " " arg0, var, cc)
19 #define GEN_BINARY_RMWcc(op, var, vcon, val, arg0, cc) \
20 __GEN_RMWcc(op " %1, " arg0, var, cc, vcon (val))
24 #define __GEN_RMWcc(fullop, var, cc, ...) \
28 : "+m" (var), "=qm" (c) \
33 #define GEN_UNARY_RMWcc(op, var, arg0, cc) \
34 __GEN_RMWcc(op " " arg0, var, cc)
36 #define GEN_BINARY_RMWcc(op, var, vcon, val, arg0, cc) \
37 __GEN_RMWcc(op " %2, " arg0, var, cc, vcon (val))
H A Dpercpu.h18 * var - variable name
27 #define PER_CPU(var, reg) \
29 lea var(reg), reg
30 #define PER_CPU_VAR(var) %__percpu_seg:var
32 #define PER_CPU(var, reg) __percpu_mov_op $var, reg
33 #define PER_CPU_VAR(var) var
37 #define INIT_PER_CPU_VAR(var) init_per_cpu__##var
39 #define INIT_PER_CPU_VAR(var) var
76 #define DECLARE_INIT_PER_CPU(var) \
77 extern typeof(var) init_per_cpu_var(var)
80 #define init_per_cpu_var(var) init_per_cpu__##var
82 #define init_per_cpu_var(var) var
89 #define percpu_to_op(op, var, val) \
91 typedef typeof(var) pto_T__; \
97 switch (sizeof(var)) { \
100 : "+m" (var) \
105 : "+m" (var) \
110 : "+m" (var) \
115 : "+m" (var) \
126 #define percpu_add_op(var, val) \
128 typedef typeof(var) pao_T__; \
137 switch (sizeof(var)) { \
140 asm("incb "__percpu_arg(0) : "+m" (var)); \
142 asm("decb "__percpu_arg(0) : "+m" (var)); \
145 : "+m" (var) \
150 asm("incw "__percpu_arg(0) : "+m" (var)); \
152 asm("decw "__percpu_arg(0) : "+m" (var)); \
155 : "+m" (var) \
160 asm("incl "__percpu_arg(0) : "+m" (var)); \
162 asm("decl "__percpu_arg(0) : "+m" (var)); \
165 : "+m" (var) \
170 asm("incq "__percpu_arg(0) : "+m" (var)); \
172 asm("decq "__percpu_arg(0) : "+m" (var)); \
175 : "+m" (var) \
182 #define percpu_from_op(op, var) \
184 typeof(var) pfo_ret__; \
185 switch (sizeof(var)) { \
189 : "m" (var)); \
194 : "m" (var)); \
199 : "m" (var)); \
204 : "m" (var)); \
211 #define percpu_stable_op(op, var) \
213 typeof(var) pfo_ret__; \
214 switch (sizeof(var)) { \
218 : "p" (&(var))); \
223 : "p" (&(var))); \
228 : "p" (&(var))); \
233 : "p" (&(var))); \
240 #define percpu_unary_op(op, var) \
242 switch (sizeof(var)) { \
245 : "+m" (var)); \
249 : "+m" (var)); \
253 : "+m" (var)); \
257 : "+m" (var)); \
266 #define percpu_add_return_op(var, val) \
268 typeof(var) paro_ret__ = val; \
269 switch (sizeof(var)) { \
272 : "+q" (paro_ret__), "+m" (var) \
277 : "+r" (paro_ret__), "+m" (var) \
282 : "+r" (paro_ret__), "+m" (var) \
287 : "+re" (paro_ret__), "+m" (var) \
301 #define percpu_xchg_op(var, nval) \
303 typeof(var) pxo_ret__; \
304 typeof(var) pxo_new__ = (nval); \
305 switch (sizeof(var)) { \
310 : "=&a" (pxo_ret__), "+m" (var) \
318 : "=&a" (pxo_ret__), "+m" (var) \
326 : "=&a" (pxo_ret__), "+m" (var) \
334 : "=&a" (pxo_ret__), "+m" (var) \
347 #define percpu_cmpxchg_op(var, oval, nval) \
349 typeof(var) pco_ret__; \
350 typeof(var) pco_old__ = (oval); \
351 typeof(var) pco_new__ = (nval); \
352 switch (sizeof(var)) { \
355 : "=a" (pco_ret__), "+m" (var) \
361 : "=a" (pco_ret__), "+m" (var) \
367 : "=a" (pco_ret__), "+m" (var) \
373 : "=a" (pco_ret__), "+m" (var) \
391 #define this_cpu_read_stable(var) percpu_stable_op("mov", var)
511 #define x86_test_and_clear_bit_percpu(bit, var) \
515 : "=r" (old__), "+m" (var) \
H A Dbarrier.h38 #define set_mb(var, value) do { (void)xchg(&var, value); } while (0)
43 #define set_mb(var, value) do { var = value; barrier(); } while (0)
/linux-4.1.27/drivers/video/fbdev/mmp/fb/
H A Dmmpfb.c27 static int var_to_pixfmt(struct fb_var_screeninfo *var) var_to_pixfmt() argument
32 if (var->bits_per_pixel == 8) var_to_pixfmt()
38 if (var->bits_per_pixel == 16 && var->red.length == 8 && var_to_pixfmt()
39 var->green.length == 4 && var->blue.length == 4) { var_to_pixfmt()
40 if (var->green.offset >= var->blue.offset) var_to_pixfmt()
49 if (var->bits_per_pixel == 12 && var->red.length == 8 && var_to_pixfmt()
50 var->green.length == 2 && var->blue.length == 2) { var_to_pixfmt()
51 if (var->green.offset >= var->blue.offset) var_to_pixfmt()
60 if (var->bits_per_pixel == 16 && var->red.length == 16 && var_to_pixfmt()
61 var->green.length == 16 && var->blue.length == 16) { var_to_pixfmt()
62 if (var->red.offset == 0) var_to_pixfmt()
64 else if (var->green.offset >= var->blue.offset) var_to_pixfmt()
73 if (var->bits_per_pixel == 16 && var->red.length <= 5 && var_to_pixfmt()
74 var->green.length <= 6 && var->blue.length <= 5) { var_to_pixfmt()
75 if (var->transp.length == 0) { var_to_pixfmt()
76 if (var->red.offset >= var->blue.offset) var_to_pixfmt()
86 if (var->bits_per_pixel <= 32 && var->red.length <= 8 && var_to_pixfmt()
87 var->green.length <= 8 && var->blue.length <= 8) { var_to_pixfmt()
88 if (var->bits_per_pixel == 24 && var->transp.length == 0) { var_to_pixfmt()
89 if (var->red.offset >= var->blue.offset) var_to_pixfmt()
95 if (var->bits_per_pixel == 32 && var->transp.offset == 24) { var_to_pixfmt()
96 if (var->red.offset >= var->blue.offset) var_to_pixfmt()
101 if (var->red.offset >= var->blue.offset) var_to_pixfmt()
113 static void pixfmt_to_var(struct fb_var_screeninfo *var, int pix_fmt) pixfmt_to_var() argument
117 var->bits_per_pixel = 16; pixfmt_to_var()
118 var->red.offset = 11; var->red.length = 5; pixfmt_to_var()
119 var->green.offset = 5; var->green.length = 6; pixfmt_to_var()
120 var->blue.offset = 0; var->blue.length = 5; pixfmt_to_var()
121 var->transp.offset = 0; var->transp.length = 0; pixfmt_to_var()
124 var->bits_per_pixel = 16; pixfmt_to_var()
125 var->red.offset = 0; var->red.length = 5; pixfmt_to_var()
126 var->green.offset = 5; var->green.length = 6; pixfmt_to_var()
127 var->blue.offset = 11; var->blue.length = 5; pixfmt_to_var()
128 var->transp.offset = 0; var->transp.length = 0; pixfmt_to_var()
131 var->bits_per_pixel = 32; pixfmt_to_var()
132 var->red.offset = 16; var->red.length = 8; pixfmt_to_var()
133 var->green.offset = 8; var->green.length = 8; pixfmt_to_var()
134 var->blue.offset = 0; var->blue.length = 8; pixfmt_to_var()
135 var->transp.offset = 0; var->transp.length = 0; pixfmt_to_var()
138 var->bits_per_pixel = 32; pixfmt_to_var()
139 var->red.offset = 0; var->red.length = 8; pixfmt_to_var()
140 var->green.offset = 8; var->green.length = 8; pixfmt_to_var()
141 var->blue.offset = 16; var->blue.length = 8; pixfmt_to_var()
142 var->transp.offset = 0; var->transp.length = 0; pixfmt_to_var()
145 var->bits_per_pixel = 32; pixfmt_to_var()
146 var->red.offset = 16; var->red.length = 8; pixfmt_to_var()
147 var->green.offset = 8; var->green.length = 8; pixfmt_to_var()
148 var->blue.offset = 0; var->blue.length = 8; pixfmt_to_var()
149 var->transp.offset = 24; var->transp.length = 8; pixfmt_to_var()
152 var->bits_per_pixel = 32; pixfmt_to_var()
153 var->red.offset = 0; var->red.length = 8; pixfmt_to_var()
154 var->green.offset = 8; var->green.length = 8; pixfmt_to_var()
155 var->blue.offset = 16; var->blue.length = 8; pixfmt_to_var()
156 var->transp.offset = 24; var->transp.length = 8; pixfmt_to_var()
159 var->bits_per_pixel = 24; pixfmt_to_var()
160 var->red.offset = 16; var->red.length = 8; pixfmt_to_var()
161 var->green.offset = 8; var->green.length = 8; pixfmt_to_var()
162 var->blue.offset = 0; var->blue.length = 8; pixfmt_to_var()
163 var->transp.offset = 0; var->transp.length = 0; pixfmt_to_var()
166 var->bits_per_pixel = 24; pixfmt_to_var()
167 var->red.offset = 0; var->red.length = 8; pixfmt_to_var()
168 var->green.offset = 8; var->green.length = 8; pixfmt_to_var()
169 var->blue.offset = 16; var->blue.length = 8; pixfmt_to_var()
170 var->transp.offset = 0; var->transp.length = 0; pixfmt_to_var()
173 var->bits_per_pixel = 12; pixfmt_to_var()
174 var->red.offset = 4; var->red.length = 8; pixfmt_to_var()
175 var->green.offset = 2; var->green.length = 2; pixfmt_to_var()
176 var->blue.offset = 0; var->blue.length = 2; pixfmt_to_var()
177 var->transp.offset = 0; var->transp.length = 0; pixfmt_to_var()
180 var->bits_per_pixel = 12; pixfmt_to_var()
181 var->red.offset = 4; var->red.length = 8; pixfmt_to_var()
182 var->green.offset = 0; var->green.length = 2; pixfmt_to_var()
183 var->blue.offset = 2; var->blue.length = 2; pixfmt_to_var()
184 var->transp.offset = 0; var->transp.length = 0; pixfmt_to_var()
187 var->bits_per_pixel = 16; pixfmt_to_var()
188 var->red.offset = 8; var->red.length = 8; pixfmt_to_var()
189 var->green.offset = 4; var->green.length = 4; pixfmt_to_var()
190 var->blue.offset = 0; var->blue.length = 4; pixfmt_to_var()
191 var->transp.offset = 0; var->transp.length = 0; pixfmt_to_var()
194 var->bits_per_pixel = 16; pixfmt_to_var()
195 var->red.offset = 8; var->red.length = 8; pixfmt_to_var()
196 var->green.offset = 0; var->green.length = 4; pixfmt_to_var()
197 var->blue.offset = 4; var->blue.length = 4; pixfmt_to_var()
198 var->transp.offset = 0; var->transp.length = 0; pixfmt_to_var()
201 var->bits_per_pixel = 16; pixfmt_to_var()
202 var->red.offset = 8; var->red.length = 16; pixfmt_to_var()
203 var->green.offset = 4; var->green.length = 16; pixfmt_to_var()
204 var->blue.offset = 0; var->blue.length = 16; pixfmt_to_var()
205 var->transp.offset = 0; var->transp.length = 0; pixfmt_to_var()
208 var->bits_per_pixel = 16; pixfmt_to_var()
209 var->red.offset = 8; var->red.length = 16; pixfmt_to_var()
210 var->green.offset = 0; var->green.length = 16; pixfmt_to_var()
211 var->blue.offset = 4; var->blue.length = 16; pixfmt_to_var()
212 var->transp.offset = 0; var->transp.length = 0; pixfmt_to_var()
215 var->bits_per_pixel = 16; pixfmt_to_var()
216 var->red.offset = 0; var->red.length = 16; pixfmt_to_var()
217 var->green.offset = 4; var->green.length = 16; pixfmt_to_var()
218 var->blue.offset = 8; var->blue.length = 16; pixfmt_to_var()
219 var->transp.offset = 0; var->transp.length = 0; pixfmt_to_var()
222 var->bits_per_pixel = 8; pixfmt_to_var()
223 var->red.offset = 0; var->red.length = 8; pixfmt_to_var()
224 var->green.offset = 0; var->green.length = 8; pixfmt_to_var()
225 var->blue.offset = 0; var->blue.length = 8; pixfmt_to_var()
226 var->transp.offset = 0; var->transp.length = 0; pixfmt_to_var()
287 static int mmpfb_check_var(struct fb_var_screeninfo *var, mmpfb_check_var() argument
292 if (var->bits_per_pixel == 8) mmpfb_check_var()
297 if (var->xoffset + var->xres > var->xres_virtual) mmpfb_check_var()
299 if (var->yoffset + var->yres > var->yres_virtual) mmpfb_check_var()
305 if (var->xres_virtual * var->yres_virtual * mmpfb_check_var()
306 (var->bits_per_pixel >> 3) > fbi->fb_size) mmpfb_check_var()
334 val = chan_to_field(red, &info->var.red); mmpfb_setcolreg()
335 val |= chan_to_field(green, &info->var.green); mmpfb_setcolreg()
336 val |= chan_to_field(blue , &info->var.blue); mmpfb_setcolreg()
348 static int mmpfb_pan_display(struct fb_var_screeninfo *var, mmpfb_pan_display() argument
355 addr.phys[0] = (var->yoffset * var->xres_virtual + var->xoffset) mmpfb_pan_display()
356 * var->bits_per_pixel / 8 + fbi->fb_start_dma; mmpfb_pan_display()
365 struct fb_var_screeninfo *var = &info->var; var_update() local
370 pix_fmt = var_to_pixfmt(var); var_update()
373 pixfmt_to_var(var, pix_fmt); var_update()
376 /* set var according to best video mode*/ var_update()
377 m = (struct fb_videomode *)fb_match_mode(var, &info->modelist); var_update()
380 m = (struct fb_videomode *)fb_find_best_mode(var, var_update()
382 fb_videomode_to_var(var, m); var_update()
387 var->yres_virtual = var->yres * 2; var_update()
390 info->fix.line_length = var->xres_virtual * var->bits_per_pixel / 8; var_update()
391 info->fix.ypanstep = var->yres; var_update()
398 struct fb_var_screeninfo *var = &info->var; mmpfb_set_win() local
407 win.pitch[0] = var->xres_virtual * stride; mmpfb_set_win()
409 (stride == 1) ? (var->xres_virtual >> 1) : 0; mmpfb_set_win()
416 struct fb_var_screeninfo *var = &info->var; mmpfb_set_par() local
434 addr.phys[0] = (var->yoffset * var->xres_virtual + var->xoffset) mmpfb_set_par()
435 * var->bits_per_pixel / 8 + fbi->fb_start_dma; mmpfb_set_par()
444 struct fb_var_screeninfo *var = &fbi->fb_info->var; mmpfb_power() local
454 (var->yoffset * var->xres_virtual + var->xoffset) mmpfb_power()
455 * var->bits_per_pixel / 8; mmpfb_power()
509 fb_videomode_to_var(&info->var, &fbi->mode); modes_setup()
528 info->fix.ypanstep = info->var.yres; fb_info_setup()
535 info->fix.line_length = info->var.xres_virtual * fb_info_setup()
536 info->var.bits_per_pixel / 8; fb_info_setup()
579 pixfmt_to_var(&info->var, fbi->pix_fmt); mmpfb_probe()
613 info->var.yres_virtual = info->var.yres * 2; mmpfb_probe()
616 fbi->fb_size = info->var.xres_virtual * info->var.yres_virtual mmpfb_probe()
617 * info->var.bits_per_pixel / 8; mmpfb_probe()
/linux-4.1.27/drivers/video/fbdev/
H A D68328fb.c90 static int mc68x328fb_check_var(struct fb_var_screeninfo *var,
95 static int mc68x328fb_pan_display(struct fb_var_screeninfo *var,
127 * to hardware, it should only verify and adjust var.
129 * data from it to check this var.
132 static int mc68x328fb_check_var(struct fb_var_screeninfo *var, mc68x328fb_check_var() argument
142 if (var->vmode & FB_VMODE_CONUPDATE) { mc68x328fb_check_var()
143 var->vmode |= FB_VMODE_YWRAP; mc68x328fb_check_var()
144 var->xoffset = info->var.xoffset; mc68x328fb_check_var()
145 var->yoffset = info->var.yoffset; mc68x328fb_check_var()
151 if (!var->xres) mc68x328fb_check_var()
152 var->xres = 1; mc68x328fb_check_var()
153 if (!var->yres) mc68x328fb_check_var()
154 var->yres = 1; mc68x328fb_check_var()
155 if (var->xres > var->xres_virtual) mc68x328fb_check_var()
156 var->xres_virtual = var->xres; mc68x328fb_check_var()
157 if (var->yres > var->yres_virtual) mc68x328fb_check_var()
158 var->yres_virtual = var->yres; mc68x328fb_check_var()
159 if (var->bits_per_pixel <= 1) mc68x328fb_check_var()
160 var->bits_per_pixel = 1; mc68x328fb_check_var()
161 else if (var->bits_per_pixel <= 8) mc68x328fb_check_var()
162 var->bits_per_pixel = 8; mc68x328fb_check_var()
163 else if (var->bits_per_pixel <= 16) mc68x328fb_check_var()
164 var->bits_per_pixel = 16; mc68x328fb_check_var()
165 else if (var->bits_per_pixel <= 24) mc68x328fb_check_var()
166 var->bits_per_pixel = 24; mc68x328fb_check_var()
167 else if (var->bits_per_pixel <= 32) mc68x328fb_check_var()
168 var->bits_per_pixel = 32; mc68x328fb_check_var()
172 if (var->xres_virtual < var->xoffset + var->xres) mc68x328fb_check_var()
173 var->xres_virtual = var->xoffset + var->xres; mc68x328fb_check_var()
174 if (var->yres_virtual < var->yoffset + var->yres) mc68x328fb_check_var()
175 var->yres_virtual = var->yoffset + var->yres; mc68x328fb_check_var()
181 get_line_length(var->xres_virtual, var->bits_per_pixel); mc68x328fb_check_var()
182 if (line_length * var->yres_virtual > videomemorysize) mc68x328fb_check_var()
186 * Now that we checked it we alter var. The reason being is that the video mc68x328fb_check_var()
190 switch (var->bits_per_pixel) { mc68x328fb_check_var()
192 var->red.offset = 0; mc68x328fb_check_var()
193 var->red.length = 1; mc68x328fb_check_var()
194 var->green.offset = 0; mc68x328fb_check_var()
195 var->green.length = 1; mc68x328fb_check_var()
196 var->blue.offset = 0; mc68x328fb_check_var()
197 var->blue.length = 1; mc68x328fb_check_var()
198 var->transp.offset = 0; mc68x328fb_check_var()
199 var->transp.length = 0; mc68x328fb_check_var()
202 var->red.offset = 0; mc68x328fb_check_var()
203 var->red.length = 8; mc68x328fb_check_var()
204 var->green.offset = 0; mc68x328fb_check_var()
205 var->green.length = 8; mc68x328fb_check_var()
206 var->blue.offset = 0; mc68x328fb_check_var()
207 var->blue.length = 8; mc68x328fb_check_var()
208 var->transp.offset = 0; mc68x328fb_check_var()
209 var->transp.length = 0; mc68x328fb_check_var()
212 if (var->transp.length) { mc68x328fb_check_var()
213 var->red.offset = 0; mc68x328fb_check_var()
214 var->red.length = 5; mc68x328fb_check_var()
215 var->green.offset = 5; mc68x328fb_check_var()
216 var->green.length = 5; mc68x328fb_check_var()
217 var->blue.offset = 10; mc68x328fb_check_var()
218 var->blue.length = 5; mc68x328fb_check_var()
219 var->transp.offset = 15; mc68x328fb_check_var()
220 var->transp.length = 1; mc68x328fb_check_var()
222 var->red.offset = 0; mc68x328fb_check_var()
223 var->red.length = 5; mc68x328fb_check_var()
224 var->green.offset = 5; mc68x328fb_check_var()
225 var->green.length = 6; mc68x328fb_check_var()
226 var->blue.offset = 11; mc68x328fb_check_var()
227 var->blue.length = 5; mc68x328fb_check_var()
228 var->transp.offset = 0; mc68x328fb_check_var()
229 var->transp.length = 0; mc68x328fb_check_var()
233 var->red.offset = 0; mc68x328fb_check_var()
234 var->red.length = 8; mc68x328fb_check_var()
235 var->green.offset = 8; mc68x328fb_check_var()
236 var->green.length = 8; mc68x328fb_check_var()
237 var->blue.offset = 16; mc68x328fb_check_var()
238 var->blue.length = 8; mc68x328fb_check_var()
239 var->transp.offset = 0; mc68x328fb_check_var()
240 var->transp.length = 0; mc68x328fb_check_var()
243 var->red.offset = 0; mc68x328fb_check_var()
244 var->red.length = 8; mc68x328fb_check_var()
245 var->green.offset = 8; mc68x328fb_check_var()
246 var->green.length = 8; mc68x328fb_check_var()
247 var->blue.offset = 16; mc68x328fb_check_var()
248 var->blue.length = 8; mc68x328fb_check_var()
249 var->transp.offset = 24; mc68x328fb_check_var()
250 var->transp.length = 8; mc68x328fb_check_var()
253 var->red.msb_right = 0; mc68x328fb_check_var()
254 var->green.msb_right = 0; mc68x328fb_check_var()
255 var->blue.msb_right = 0; mc68x328fb_check_var()
256 var->transp.msb_right = 0; mc68x328fb_check_var()
267 info->fix.line_length = get_line_length(info->var.xres_virtual, mc68x328fb_set_par()
268 info->var.bits_per_pixel); mc68x328fb_set_par()
275 * entries in the var structure). Return != 0 for invalid regno.
288 if (info->var.grayscale) { mc68x328fb_setcolreg()
295 * var->{color}.offset contains start of bitfield mc68x328fb_setcolreg()
296 * var->{color}.length contains length of bitfield mc68x328fb_setcolreg()
303 * var->{color}.offset is 0 mc68x328fb_setcolreg()
304 * var->{color}.length contains width of DAC mc68x328fb_setcolreg()
309 * var->{color}.offset contains start of bitfield mc68x328fb_setcolreg()
310 * var->{color}.length contains length of bitfield mc68x328fb_setcolreg()
319 red = CNVT_TOHW(red, info->var.red.length); mc68x328fb_setcolreg()
320 green = CNVT_TOHW(green, info->var.green.length); mc68x328fb_setcolreg()
321 blue = CNVT_TOHW(blue, info->var.blue.length); mc68x328fb_setcolreg()
322 transp = CNVT_TOHW(transp, info->var.transp.length); mc68x328fb_setcolreg()
340 v = (red << info->var.red.offset) | mc68x328fb_setcolreg()
341 (green << info->var.green.offset) | mc68x328fb_setcolreg()
342 (blue << info->var.blue.offset) | mc68x328fb_setcolreg()
343 (transp << info->var.transp.offset); mc68x328fb_setcolreg()
344 switch (info->var.bits_per_pixel) { mc68x328fb_setcolreg()
366 static int mc68x328fb_pan_display(struct fb_var_screeninfo *var, mc68x328fb_pan_display() argument
369 if (var->vmode & FB_VMODE_YWRAP) { mc68x328fb_pan_display()
370 if (var->yoffset < 0 mc68x328fb_pan_display()
371 || var->yoffset >= info->var.yres_virtual mc68x328fb_pan_display()
372 || var->xoffset) mc68x328fb_pan_display()
375 if (var->xoffset + info->var.xres > info->var.xres_virtual || mc68x328fb_pan_display()
376 var->yoffset + info->var.yres > info->var.yres_virtual) mc68x328fb_pan_display()
379 info->var.xoffset = var->xoffset; mc68x328fb_pan_display()
380 info->var.yoffset = var->yoffset; mc68x328fb_pan_display()
381 if (var->vmode & FB_VMODE_YWRAP) mc68x328fb_pan_display()
382 info->var.vmode |= FB_VMODE_YWRAP; mc68x328fb_pan_display()
384 info->var.vmode &= ~FB_VMODE_YWRAP; mc68x328fb_pan_display()
452 fb_info.var = mc68x328fb_default; mc68x328fb_init()
460 if (fb_info.var.bits_per_pixel == 1) { mc68x328fb_init()
461 fb_info.var.red.length = fb_info.var.green.length = fb_info.var.blue.length = 1; mc68x328fb_init()
462 fb_info.var.red.offset = fb_info.var.green.offset = fb_info.var.blue.offset = 0; mc68x328fb_init()
H A Dpxa168fb.c37 static int determine_best_pix_fmt(struct fb_var_screeninfo *var) determine_best_pix_fmt() argument
42 if (var->bits_per_pixel == 8) determine_best_pix_fmt()
48 if (var->bits_per_pixel == 16 && var->red.length <= 5 && determine_best_pix_fmt()
49 var->green.length <= 6 && var->blue.length <= 5) { determine_best_pix_fmt()
50 if (var->transp.length == 0) { determine_best_pix_fmt()
51 if (var->red.offset >= var->blue.offset) determine_best_pix_fmt()
57 if (var->transp.length == 1 && var->green.length <= 5) { determine_best_pix_fmt()
58 if (var->red.offset >= var->blue.offset) determine_best_pix_fmt()
70 if (var->bits_per_pixel <= 32 && var->red.length <= 8 && determine_best_pix_fmt()
71 var->green.length <= 8 && var->blue.length <= 8) { determine_best_pix_fmt()
72 if (var->bits_per_pixel == 24 && var->transp.length == 0) { determine_best_pix_fmt()
73 if (var->red.offset >= var->blue.offset) determine_best_pix_fmt()
79 if (var->bits_per_pixel == 32 && var->transp.length == 8) { determine_best_pix_fmt()
80 if (var->red.offset >= var->blue.offset) determine_best_pix_fmt()
85 if (var->red.offset >= var->blue.offset) determine_best_pix_fmt()
97 static void set_pix_fmt(struct fb_var_screeninfo *var, int pix_fmt) set_pix_fmt() argument
101 var->bits_per_pixel = 16; set_pix_fmt()
102 var->red.offset = 11; var->red.length = 5; set_pix_fmt()
103 var->green.offset = 5; var->green.length = 6; set_pix_fmt()
104 var->blue.offset = 0; var->blue.length = 5; set_pix_fmt()
105 var->transp.offset = 0; var->transp.length = 0; set_pix_fmt()
108 var->bits_per_pixel = 16; set_pix_fmt()
109 var->red.offset = 0; var->red.length = 5; set_pix_fmt()
110 var->green.offset = 5; var->green.length = 6; set_pix_fmt()
111 var->blue.offset = 11; var->blue.length = 5; set_pix_fmt()
112 var->transp.offset = 0; var->transp.length = 0; set_pix_fmt()
115 var->bits_per_pixel = 16; set_pix_fmt()
116 var->red.offset = 10; var->red.length = 5; set_pix_fmt()
117 var->green.offset = 5; var->green.length = 5; set_pix_fmt()
118 var->blue.offset = 0; var->blue.length = 5; set_pix_fmt()
119 var->transp.offset = 15; var->transp.length = 1; set_pix_fmt()
122 var->bits_per_pixel = 16; set_pix_fmt()
123 var->red.offset = 0; var->red.length = 5; set_pix_fmt()
124 var->green.offset = 5; var->green.length = 5; set_pix_fmt()
125 var->blue.offset = 10; var->blue.length = 5; set_pix_fmt()
126 var->transp.offset = 15; var->transp.length = 1; set_pix_fmt()
129 var->bits_per_pixel = 24; set_pix_fmt()
130 var->red.offset = 16; var->red.length = 8; set_pix_fmt()
131 var->green.offset = 8; var->green.length = 8; set_pix_fmt()
132 var->blue.offset = 0; var->blue.length = 8; set_pix_fmt()
133 var->transp.offset = 0; var->transp.length = 0; set_pix_fmt()
136 var->bits_per_pixel = 24; set_pix_fmt()
137 var->red.offset = 0; var->red.length = 8; set_pix_fmt()
138 var->green.offset = 8; var->green.length = 8; set_pix_fmt()
139 var->blue.offset = 16; var->blue.length = 8; set_pix_fmt()
140 var->transp.offset = 0; var->transp.length = 0; set_pix_fmt()
143 var->bits_per_pixel = 32; set_pix_fmt()
144 var->red.offset = 16; var->red.length = 8; set_pix_fmt()
145 var->green.offset = 8; var->green.length = 8; set_pix_fmt()
146 var->blue.offset = 0; var->blue.length = 8; set_pix_fmt()
147 var->transp.offset = 24; var->transp.length = 8; set_pix_fmt()
150 var->bits_per_pixel = 32; set_pix_fmt()
151 var->red.offset = 0; var->red.length = 8; set_pix_fmt()
152 var->green.offset = 8; var->green.length = 8; set_pix_fmt()
153 var->blue.offset = 16; var->blue.length = 8; set_pix_fmt()
154 var->transp.offset = 24; var->transp.length = 8; set_pix_fmt()
157 var->bits_per_pixel = 8; set_pix_fmt()
158 var->red.offset = 0; var->red.length = 8; set_pix_fmt()
159 var->green.offset = 0; var->green.length = 8; set_pix_fmt()
160 var->blue.offset = 0; var->blue.length = 8; set_pix_fmt()
161 var->transp.offset = 0; var->transp.length = 0; set_pix_fmt()
166 static void set_mode(struct pxa168fb_info *fbi, struct fb_var_screeninfo *var, set_mode() argument
171 set_pix_fmt(var, pix_fmt); set_mode()
173 var->xres = mode->xres; set_mode()
174 var->yres = mode->yres; set_mode()
175 var->xres_virtual = max(var->xres, var->xres_virtual); set_mode()
177 var->yres_virtual = info->fix.smem_len / set_mode()
178 (var->xres_virtual * (var->bits_per_pixel >> 3)); set_mode()
180 var->yres_virtual = max(var->yres, var->yres_virtual); set_mode()
181 var->grayscale = 0; set_mode()
182 var->accel_flags = FB_ACCEL_NONE; set_mode()
183 var->pixclock = mode->pixclock; set_mode()
184 var->left_margin = mode->left_margin; set_mode()
185 var->right_margin = mode->right_margin; set_mode()
186 var->upper_margin = mode->upper_margin; set_mode()
187 var->lower_margin = mode->lower_margin; set_mode()
188 var->hsync_len = mode->hsync_len; set_mode()
189 var->vsync_len = mode->vsync_len; set_mode()
190 var->sync = mode->sync; set_mode()
191 var->vmode = FB_VMODE_NONINTERLACED; set_mode()
192 var->rotate = FB_ROTATE_UR; set_mode()
195 static int pxa168fb_check_var(struct fb_var_screeninfo *var, pxa168fb_check_var() argument
204 pix_fmt = determine_best_pix_fmt(var); pxa168fb_check_var()
207 set_pix_fmt(var, pix_fmt); pxa168fb_check_var()
213 if (var->xoffset + var->xres > var->xres_virtual) pxa168fb_check_var()
215 if (var->yoffset + var->yres > var->yres_virtual) pxa168fb_check_var()
217 if (var->xres + var->right_margin + pxa168fb_check_var()
218 var->hsync_len + var->left_margin > 2048) pxa168fb_check_var()
220 if (var->yres + var->lower_margin + pxa168fb_check_var()
221 var->vsync_len + var->upper_margin > 2048) pxa168fb_check_var()
227 if (var->xres_virtual * var->yres_virtual * pxa168fb_check_var()
228 (var->bits_per_pixel >> 3) > info->fix.smem_len) pxa168fb_check_var()
354 struct fb_var_screeninfo *var = &info->var; set_graphics_start() local
358 pixel_offset = (yoffset * var->xres_virtual) + xoffset; set_graphics_start()
360 addr = fbi->fb_start_dma + (pixel_offset * (var->bits_per_pixel >> 3)); set_graphics_start()
380 x |= (info->var.sync & FB_SYNC_COMP_HIGH_ACT) ? 0x00000020 : 0; set_dumb_panel_control()
382 x |= (info->var.sync & FB_SYNC_VERT_HIGH_ACT) ? 0 : 0x00000008; set_dumb_panel_control()
383 x |= (info->var.sync & FB_SYNC_HOR_HIGH_ACT) ? 0 : 0x00000004; set_dumb_panel_control()
392 struct fb_var_screeninfo *v = &info->var; set_dumb_screen_dimensions()
405 struct fb_var_screeninfo *var = &info->var; pxa168fb_set_par() local
419 info->fix.line_length = var->xres_virtual * var->bits_per_pixel / 8; pxa168fb_set_par()
420 info->fix.ypanstep = var->yres; pxa168fb_set_par()
431 writel((var->yres << 16) | var->xres, pxa168fb_set_par()
435 * convet var to video mode pxa168fb_set_par()
437 fb_var_to_videomode(&mode, &info->var); pxa168fb_set_par()
444 set_dma_control1(fbi, info->var.sync); pxa168fb_set_par()
450 x = (x & ~0xFFFF) | ((var->xres_virtual * var->bits_per_pixel) >> 3); pxa168fb_set_par()
452 writel((var->yres << 16) | var->xres, pxa168fb_set_par()
454 writel((var->yres << 16) | var->xres, pxa168fb_set_par()
463 writel((var->left_margin << 16) | var->right_margin, pxa168fb_set_par()
465 writel((var->upper_margin << 16) | var->lower_margin, pxa168fb_set_par()
498 if (info->var.grayscale) pxa168fb_setcolreg()
503 val = chan_to_field(red, &info->var.red); pxa168fb_setcolreg()
504 val |= chan_to_field(green, &info->var.green); pxa168fb_setcolreg()
505 val |= chan_to_field(blue , &info->var.blue); pxa168fb_setcolreg()
528 static int pxa168fb_pan_display(struct fb_var_screeninfo *var, pxa168fb_pan_display() argument
531 set_graphics_start(info, var->xoffset, var->yoffset); pxa168fb_pan_display()
567 struct fb_var_screeninfo *var = &info->var; pxa168fb_init_mode() local
579 m = fb_find_best_mode(&info->var, &info->modelist); pxa168fb_init_mode()
581 fb_videomode_to_var(&info->var, m); pxa168fb_init_mode()
584 var->xres_virtual = var->xres; pxa168fb_init_mode()
585 var->yres_virtual = info->fix.smem_len / pxa168fb_init_mode()
586 (var->xres_virtual * (var->bits_per_pixel >> 3)); pxa168fb_init_mode()
588 var->xres, var->yres); pxa168fb_init_mode()
591 total_w = var->xres + var->left_margin + var->right_margin + pxa168fb_init_mode()
592 var->hsync_len; pxa168fb_init_mode()
593 total_h = var->yres + var->upper_margin + var->lower_margin + pxa168fb_init_mode()
594 var->vsync_len; pxa168fb_init_mode()
598 var->pixclock = (u32)div_result; pxa168fb_init_mode()
699 set_mode(fbi, &info->var, mi->modes, mi->pix_fmt, 1); pxa168fb_probe()
711 ret = pxa168fb_check_var(&info->var, info); pxa168fb_probe()
H A Dvfb.c116 static int vfb_check_var(struct fb_var_screeninfo *var,
121 static int vfb_pan_display(struct fb_var_screeninfo *var,
156 * to hardware, it should only verify and adjust var.
158 * data from it to check this var.
161 static int vfb_check_var(struct fb_var_screeninfo *var, vfb_check_var() argument
171 if (var->vmode & FB_VMODE_CONUPDATE) { vfb_check_var()
172 var->vmode |= FB_VMODE_YWRAP; vfb_check_var()
173 var->xoffset = info->var.xoffset; vfb_check_var()
174 var->yoffset = info->var.yoffset; vfb_check_var()
180 if (!var->xres) vfb_check_var()
181 var->xres = 1; vfb_check_var()
182 if (!var->yres) vfb_check_var()
183 var->yres = 1; vfb_check_var()
184 if (var->xres > var->xres_virtual) vfb_check_var()
185 var->xres_virtual = var->xres; vfb_check_var()
186 if (var->yres > var->yres_virtual) vfb_check_var()
187 var->yres_virtual = var->yres; vfb_check_var()
188 if (var->bits_per_pixel <= 1) vfb_check_var()
189 var->bits_per_pixel = 1; vfb_check_var()
190 else if (var->bits_per_pixel <= 8) vfb_check_var()
191 var->bits_per_pixel = 8; vfb_check_var()
192 else if (var->bits_per_pixel <= 16) vfb_check_var()
193 var->bits_per_pixel = 16; vfb_check_var()
194 else if (var->bits_per_pixel <= 24) vfb_check_var()
195 var->bits_per_pixel = 24; vfb_check_var()
196 else if (var->bits_per_pixel <= 32) vfb_check_var()
197 var->bits_per_pixel = 32; vfb_check_var()
201 if (var->xres_virtual < var->xoffset + var->xres) vfb_check_var()
202 var->xres_virtual = var->xoffset + var->xres; vfb_check_var()
203 if (var->yres_virtual < var->yoffset + var->yres) vfb_check_var()
204 var->yres_virtual = var->yoffset + var->yres; vfb_check_var()
210 get_line_length(var->xres_virtual, var->bits_per_pixel); vfb_check_var()
211 if (line_length * var->yres_virtual > videomemorysize) vfb_check_var()
215 * Now that we checked it we alter var. The reason being is that the video vfb_check_var()
219 switch (var->bits_per_pixel) { vfb_check_var()
222 var->red.offset = 0; vfb_check_var()
223 var->red.length = 8; vfb_check_var()
224 var->green.offset = 0; vfb_check_var()
225 var->green.length = 8; vfb_check_var()
226 var->blue.offset = 0; vfb_check_var()
227 var->blue.length = 8; vfb_check_var()
228 var->transp.offset = 0; vfb_check_var()
229 var->transp.length = 0; vfb_check_var()
232 if (var->transp.length) { vfb_check_var()
233 var->red.offset = 0; vfb_check_var()
234 var->red.length = 5; vfb_check_var()
235 var->green.offset = 5; vfb_check_var()
236 var->green.length = 5; vfb_check_var()
237 var->blue.offset = 10; vfb_check_var()
238 var->blue.length = 5; vfb_check_var()
239 var->transp.offset = 15; vfb_check_var()
240 var->transp.length = 1; vfb_check_var()
242 var->red.offset = 0; vfb_check_var()
243 var->red.length = 5; vfb_check_var()
244 var->green.offset = 5; vfb_check_var()
245 var->green.length = 6; vfb_check_var()
246 var->blue.offset = 11; vfb_check_var()
247 var->blue.length = 5; vfb_check_var()
248 var->transp.offset = 0; vfb_check_var()
249 var->transp.length = 0; vfb_check_var()
253 var->red.offset = 0; vfb_check_var()
254 var->red.length = 8; vfb_check_var()
255 var->green.offset = 8; vfb_check_var()
256 var->green.length = 8; vfb_check_var()
257 var->blue.offset = 16; vfb_check_var()
258 var->blue.length = 8; vfb_check_var()
259 var->transp.offset = 0; vfb_check_var()
260 var->transp.length = 0; vfb_check_var()
263 var->red.offset = 0; vfb_check_var()
264 var->red.length = 8; vfb_check_var()
265 var->green.offset = 8; vfb_check_var()
266 var->green.length = 8; vfb_check_var()
267 var->blue.offset = 16; vfb_check_var()
268 var->blue.length = 8; vfb_check_var()
269 var->transp.offset = 24; vfb_check_var()
270 var->transp.length = 8; vfb_check_var()
273 var->red.msb_right = 0; vfb_check_var()
274 var->green.msb_right = 0; vfb_check_var()
275 var->blue.msb_right = 0; vfb_check_var()
276 var->transp.msb_right = 0; vfb_check_var()
287 info->fix.line_length = get_line_length(info->var.xres_virtual, vfb_set_par()
288 info->var.bits_per_pixel); vfb_set_par()
295 * entries in the var structure). Return != 0 for invalid regno.
308 if (info->var.grayscale) { vfb_setcolreg()
315 * var->{color}.offset contains start of bitfield vfb_setcolreg()
316 * var->{color}.length contains length of bitfield vfb_setcolreg()
322 * var->{color}.offset is 0 unless the palette index takes less than vfb_setcolreg()
325 * var->{color}.length is set so that 1 << length is the number of available vfb_setcolreg()
332 * var->{color}.offset contains start of bitfield vfb_setcolreg()
333 * var->{color}.length contains length of bitfield vfb_setcolreg()
342 red = CNVT_TOHW(red, info->var.red.length); vfb_setcolreg()
343 green = CNVT_TOHW(green, info->var.green.length); vfb_setcolreg()
344 blue = CNVT_TOHW(blue, info->var.blue.length); vfb_setcolreg()
345 transp = CNVT_TOHW(transp, info->var.transp.length); vfb_setcolreg()
363 v = (red << info->var.red.offset) | vfb_setcolreg()
364 (green << info->var.green.offset) | vfb_setcolreg()
365 (blue << info->var.blue.offset) | vfb_setcolreg()
366 (transp << info->var.transp.offset); vfb_setcolreg()
367 switch (info->var.bits_per_pixel) { vfb_setcolreg()
389 static int vfb_pan_display(struct fb_var_screeninfo *var, vfb_pan_display() argument
392 if (var->vmode & FB_VMODE_YWRAP) { vfb_pan_display()
393 if (var->yoffset >= info->var.yres_virtual || vfb_pan_display()
394 var->xoffset) vfb_pan_display()
397 if (var->xoffset + info->var.xres > info->var.xres_virtual || vfb_pan_display()
398 var->yoffset + info->var.yres > info->var.yres_virtual) vfb_pan_display()
401 info->var.xoffset = var->xoffset; vfb_pan_display()
402 info->var.yoffset = var->yoffset; vfb_pan_display()
403 if (var->vmode & FB_VMODE_YWRAP) vfb_pan_display()
404 info->var.vmode |= FB_VMODE_YWRAP; vfb_pan_display()
406 info->var.vmode &= ~FB_VMODE_YWRAP; vfb_pan_display()
508 retval = fb_find_mode(&info->var, info, NULL, vfb_probe()
512 info->var = vfb_default; vfb_probe()
H A Dfb-puv3.c123 int m_iBpp = info->var.bits_per_pixel; unifb_prim_fillrect()
124 int screen_width = info->var.xres; unifb_prim_fillrect()
146 int bottom = info->var.yres - 1; unifb_prim_fillrect()
147 int right = info->var.xres - 1; unifb_prim_fillrect()
189 vxres = info->var.xres_virtual; unifb_fillrect()
190 vyres = info->var.yres_virtual; unifb_fillrect()
211 int m_iBpp = info->var.bits_per_pixel; unifb_prim_copyarea()
212 int screen_width = info->var.xres; unifb_prim_copyarea()
236 int bottom = info->var.yres; unifb_prim_copyarea()
237 int right = info->var.xres; unifb_prim_copyarea()
301 vxres = info->var.xres_virtual; unifb_copyarea()
302 vyres = info->var.yres_virtual; unifb_copyarea()
339 * to hardware, it should only verify and adjust var.
341 * data from it to check this var.
343 static int unifb_check_var(struct fb_var_screeninfo *var, unifb_check_var() argument
353 if (var->vmode & FB_VMODE_CONUPDATE) { unifb_check_var()
354 var->vmode |= FB_VMODE_YWRAP; unifb_check_var()
355 var->xoffset = info->var.xoffset; unifb_check_var()
356 var->yoffset = info->var.yoffset; unifb_check_var()
362 if (!var->xres) unifb_check_var()
363 var->xres = 1; unifb_check_var()
364 if (!var->yres) unifb_check_var()
365 var->yres = 1; unifb_check_var()
366 if (var->xres > var->xres_virtual) unifb_check_var()
367 var->xres_virtual = var->xres; unifb_check_var()
368 if (var->yres > var->yres_virtual) unifb_check_var()
369 var->yres_virtual = var->yres; unifb_check_var()
370 if (var->bits_per_pixel <= 1) unifb_check_var()
371 var->bits_per_pixel = 1; unifb_check_var()
372 else if (var->bits_per_pixel <= 8) unifb_check_var()
373 var->bits_per_pixel = 8; unifb_check_var()
374 else if (var->bits_per_pixel <= 16) unifb_check_var()
375 var->bits_per_pixel = 16; unifb_check_var()
376 else if (var->bits_per_pixel <= 24) unifb_check_var()
377 var->bits_per_pixel = 24; unifb_check_var()
378 else if (var->bits_per_pixel <= 32) unifb_check_var()
379 var->bits_per_pixel = 32; unifb_check_var()
383 if (var->xres_virtual < var->xoffset + var->xres) unifb_check_var()
384 var->xres_virtual = var->xoffset + var->xres; unifb_check_var()
385 if (var->yres_virtual < var->yoffset + var->yres) unifb_check_var()
386 var->yres_virtual = var->yoffset + var->yres; unifb_check_var()
392 get_line_length(var->xres_virtual, var->bits_per_pixel); unifb_check_var()
393 if (line_length * var->yres_virtual > UNIFB_MEMSIZE) unifb_check_var()
397 * Now that we checked it we alter var. The reason being is that the unifb_check_var()
401 switch (var->bits_per_pixel) { unifb_check_var()
404 var->red.offset = 0; unifb_check_var()
405 var->red.length = 8; unifb_check_var()
406 var->green.offset = 0; unifb_check_var()
407 var->green.length = 8; unifb_check_var()
408 var->blue.offset = 0; unifb_check_var()
409 var->blue.length = 8; unifb_check_var()
410 var->transp.offset = 0; unifb_check_var()
411 var->transp.length = 0; unifb_check_var()
414 if (var->transp.length) { unifb_check_var()
415 var->red.offset = 0; unifb_check_var()
416 var->red.length = 5; unifb_check_var()
417 var->green.offset = 5; unifb_check_var()
418 var->green.length = 5; unifb_check_var()
419 var->blue.offset = 10; unifb_check_var()
420 var->blue.length = 5; unifb_check_var()
421 var->transp.offset = 15; unifb_check_var()
422 var->transp.length = 1; unifb_check_var()
424 var->red.offset = 11; unifb_check_var()
425 var->red.length = 5; unifb_check_var()
426 var->green.offset = 5; unifb_check_var()
427 var->green.length = 6; unifb_check_var()
428 var->blue.offset = 0; unifb_check_var()
429 var->blue.length = 5; unifb_check_var()
430 var->transp.offset = 0; unifb_check_var()
431 var->transp.length = 0; unifb_check_var()
435 var->red.offset = 0; unifb_check_var()
436 var->red.length = 8; unifb_check_var()
437 var->green.offset = 8; unifb_check_var()
438 var->green.length = 8; unifb_check_var()
439 var->blue.offset = 16; unifb_check_var()
440 var->blue.length = 8; unifb_check_var()
441 var->transp.offset = 0; unifb_check_var()
442 var->transp.length = 0; unifb_check_var()
445 var->red.offset = 16; unifb_check_var()
446 var->red.length = 8; unifb_check_var()
447 var->green.offset = 8; unifb_check_var()
448 var->green.length = 8; unifb_check_var()
449 var->blue.offset = 0; unifb_check_var()
450 var->blue.length = 8; unifb_check_var()
451 var->transp.offset = 24; unifb_check_var()
452 var->transp.length = 8; unifb_check_var()
455 var->red.msb_right = 0; unifb_check_var()
456 var->green.msb_right = 0; unifb_check_var()
457 var->blue.msb_right = 0; unifb_check_var()
458 var->transp.msb_right = 0; unifb_check_var()
479 if (info->var.xres == unifb_modes[i].xres unifb_set_par()
480 && info->var.yres == unifb_modes[i].yres unifb_set_par()
481 && info->var.upper_margin == unifb_modes[i].upper_margin unifb_set_par()
482 && info->var.lower_margin == unifb_modes[i].lower_margin unifb_set_par()
483 && info->var.left_margin == unifb_modes[i].left_margin unifb_set_par()
484 && info->var.right_margin == unifb_modes[i].right_margin unifb_set_par()
485 && info->var.hsync_len == unifb_modes[i].hsync_len unifb_set_par()
486 && info->var.vsync_len == unifb_modes[i].vsync_len) { unifb_set_par()
500 info->var = unifb_default; unifb_set_par()
507 info->fix.line_length = get_line_length(info->var.xres_virtual, unifb_set_par()
508 info->var.bits_per_pixel); unifb_set_par()
510 hSyncStart = info->var.xres + info->var.right_margin; unifb_set_par()
511 hSyncEnd = hSyncStart + info->var.hsync_len; unifb_set_par()
512 hTotal = hSyncEnd + info->var.left_margin; unifb_set_par()
514 vSyncStart = info->var.yres + info->var.lower_margin; unifb_set_par()
515 vSyncEnd = vSyncStart + info->var.vsync_len; unifb_set_par()
516 vTotal = vSyncEnd + info->var.upper_margin; unifb_set_par()
518 switch (info->var.bits_per_pixel) { unifb_set_par()
536 writel(info->var.yres, UDE_LS); unifb_set_par()
537 writel(get_line_length(info->var.xres, unifb_set_par()
538 info->var.bits_per_pixel) >> 3, UDE_PS); unifb_set_par()
540 writel((hTotal << 16) | (info->var.xres), UDE_HAT); unifb_set_par()
541 writel(((hTotal - 1) << 16) | (info->var.xres - 1), UDE_HBT); unifb_set_par()
543 writel((vTotal << 16) | (info->var.yres), UDE_VAT); unifb_set_par()
544 writel(((vTotal - 1) << 16) | (info->var.yres - 1), UDE_VBT); unifb_set_par()
555 * entries in the var structure). Return != 0 for invalid regno.
564 if (info->var.grayscale) { unifb_setcolreg()
574 red = CNVT_TOHW(red, info->var.red.length); unifb_setcolreg()
575 green = CNVT_TOHW(green, info->var.green.length); unifb_setcolreg()
576 blue = CNVT_TOHW(blue, info->var.blue.length); unifb_setcolreg()
577 transp = CNVT_TOHW(transp, info->var.transp.length); unifb_setcolreg()
595 v = (red << info->var.red.offset) | unifb_setcolreg()
596 (green << info->var.green.offset) | unifb_setcolreg()
597 (blue << info->var.blue.offset) | unifb_setcolreg()
598 (transp << info->var.transp.offset); unifb_setcolreg()
599 switch (info->var.bits_per_pixel) { unifb_setcolreg()
620 static int unifb_pan_display(struct fb_var_screeninfo *var, unifb_pan_display() argument
623 if (var->vmode & FB_VMODE_YWRAP) { unifb_pan_display()
624 if (var->yoffset < 0 unifb_pan_display()
625 || var->yoffset >= info->var.yres_virtual unifb_pan_display()
626 || var->xoffset) unifb_pan_display()
629 if (var->xoffset + info->var.xres > info->var.xres_virtual || unifb_pan_display()
630 var->yoffset + info->var.yres > info->var.yres_virtual) unifb_pan_display()
633 info->var.xoffset = var->xoffset; unifb_pan_display()
634 info->var.yoffset = var->yoffset; unifb_pan_display()
635 if (var->vmode & FB_VMODE_YWRAP) unifb_pan_display()
636 info->var.vmode |= FB_VMODE_YWRAP; unifb_pan_display()
638 info->var.vmode &= ~FB_VMODE_YWRAP; unifb_pan_display()
694 retval = fb_find_mode(&info->var, info, NULL, unifb_probe()
698 info->var = unifb_default; unifb_probe()
H A Docfb.c106 struct fb_var_screeninfo *var = &fbdev->info.var; ocfb_setupfb() local
125 ocfb_writereg(fbdev, OCFB_HTIM, (var->hsync_len - 1) << 24 | ocfb_setupfb()
126 (var->right_margin - 1) << 16 | (var->xres - 1)); ocfb_setupfb()
129 ocfb_writereg(fbdev, OCFB_VTIM, (var->vsync_len - 1) << 24 | ocfb_setupfb()
130 (var->lower_margin - 1) << 16 | (var->yres - 1)); ocfb_setupfb()
133 hlen = var->left_margin + var->right_margin + var->hsync_len + ocfb_setupfb()
134 var->xres; ocfb_setupfb()
136 vlen = var->upper_margin + var->lower_margin + var->vsync_len + ocfb_setupfb()
137 var->yres; ocfb_setupfb()
142 switch (var->bits_per_pixel) { ocfb_setupfb()
144 if (!var->grayscale) ocfb_setupfb()
186 if (info->var.grayscale) { ocfb_setcolreg()
191 red >>= (16 - info->var.red.length); ocfb_setcolreg()
192 green >>= (16 - info->var.green.length); ocfb_setcolreg()
193 blue >>= (16 - info->var.blue.length); ocfb_setcolreg()
194 transp >>= (16 - info->var.transp.length); ocfb_setcolreg()
196 if (info->var.bits_per_pixel == 8 && !info->var.grayscale) { ocfb_setcolreg()
202 (red << info->var.red.offset) | ocfb_setcolreg()
203 (green << info->var.green.offset) | ocfb_setcolreg()
204 (blue << info->var.blue.offset) | ocfb_setcolreg()
205 (transp << info->var.transp.offset); ocfb_setcolreg()
213 struct fb_var_screeninfo *var = &fbdev->info.var; ocfb_init_fix() local
218 fix->line_length = var->xres * var->bits_per_pixel/8; ocfb_init_fix()
219 fix->smem_len = fix->line_length * var->yres; ocfb_init_fix()
222 if (var->bits_per_pixel == 8 && !var->grayscale) ocfb_init_fix()
232 struct fb_var_screeninfo *var = &fbdev->info.var; ocfb_init_var() local
234 var->accel_flags = FB_ACCEL_NONE; ocfb_init_var()
235 var->activate = FB_ACTIVATE_NOW; ocfb_init_var()
236 var->xres_virtual = var->xres; ocfb_init_var()
237 var->yres_virtual = var->yres; ocfb_init_var()
239 switch (var->bits_per_pixel) { ocfb_init_var()
241 var->transp.offset = 0; ocfb_init_var()
242 var->transp.length = 0; ocfb_init_var()
243 var->red.offset = 0; ocfb_init_var()
244 var->red.length = 8; ocfb_init_var()
245 var->green.offset = 0; ocfb_init_var()
246 var->green.length = 8; ocfb_init_var()
247 var->blue.offset = 0; ocfb_init_var()
248 var->blue.length = 8; ocfb_init_var()
252 var->transp.offset = 0; ocfb_init_var()
253 var->transp.length = 0; ocfb_init_var()
254 var->red.offset = 11; ocfb_init_var()
255 var->red.length = 5; ocfb_init_var()
256 var->green.offset = 5; ocfb_init_var()
257 var->green.length = 6; ocfb_init_var()
258 var->blue.offset = 0; ocfb_init_var()
259 var->blue.length = 5; ocfb_init_var()
263 var->transp.offset = 0; ocfb_init_var()
264 var->transp.length = 0; ocfb_init_var()
265 var->red.offset = 16; ocfb_init_var()
266 var->red.length = 8; ocfb_init_var()
267 var->green.offset = 8; ocfb_init_var()
268 var->green.length = 8; ocfb_init_var()
269 var->blue.offset = 0; ocfb_init_var()
270 var->blue.length = 8; ocfb_init_var()
274 var->transp.offset = 24; ocfb_init_var()
275 var->transp.length = 8; ocfb_init_var()
276 var->red.offset = 16; ocfb_init_var()
277 var->red.length = 8; ocfb_init_var()
278 var->green.offset = 8; ocfb_init_var()
279 var->green.length = 8; ocfb_init_var()
280 var->blue.offset = 0; ocfb_init_var()
281 var->blue.length = 8; ocfb_init_var()
314 if (!fb_find_mode(&fbdev->info.var, &fbdev->info, mode_option, ocfb_probe()
H A Dgoldfishfb.c86 fb->cmap[regno] = convert_bitfield(transp, &fb->fb.var.transp) | goldfish_fb_setcolreg()
87 convert_bitfield(blue, &fb->fb.var.blue) | goldfish_fb_setcolreg()
88 convert_bitfield(green, &fb->fb.var.green) | goldfish_fb_setcolreg()
89 convert_bitfield(red, &fb->fb.var.red); goldfish_fb_setcolreg()
96 static int goldfish_fb_check_var(struct fb_var_screeninfo *var, goldfish_fb_check_var() argument
99 if ((var->rotate & 1) != (info->var.rotate & 1)) { goldfish_fb_check_var()
100 if ((var->xres != info->var.yres) || goldfish_fb_check_var()
101 (var->yres != info->var.xres) || goldfish_fb_check_var()
102 (var->xres_virtual != info->var.yres) || goldfish_fb_check_var()
103 (var->yres_virtual > info->var.xres * 2) || goldfish_fb_check_var()
104 (var->yres_virtual < info->var.xres)) { goldfish_fb_check_var()
108 if ((var->xres != info->var.xres) || goldfish_fb_check_var()
109 (var->yres != info->var.yres) || goldfish_fb_check_var()
110 (var->xres_virtual != info->var.xres) || goldfish_fb_check_var()
111 (var->yres_virtual > info->var.yres * 2) || goldfish_fb_check_var()
112 (var->yres_virtual < info->var.yres)) { goldfish_fb_check_var()
116 if ((var->xoffset != info->var.xoffset) || goldfish_fb_check_var()
117 (var->bits_per_pixel != info->var.bits_per_pixel) || goldfish_fb_check_var()
118 (var->grayscale != info->var.grayscale)) { goldfish_fb_check_var()
127 if (fb->rotation != fb->fb.var.rotate) { goldfish_fb_set_par()
128 info->fix.line_length = info->var.xres * 2; goldfish_fb_set_par()
129 fb->rotation = fb->fb.var.rotate; goldfish_fb_set_par()
136 static int goldfish_fb_pan_display(struct fb_var_screeninfo *var, goldfish_fb_pan_display() argument
145 writel(fb->fb.fix.smem_start + fb->fb.var.xres * 2 * var->yoffset, goldfish_fb_pan_display()
229 fb->fb.var.xres = width; goldfish_fb_probe()
230 fb->fb.var.yres = height; goldfish_fb_probe()
231 fb->fb.var.xres_virtual = width; goldfish_fb_probe()
232 fb->fb.var.yres_virtual = height * 2; goldfish_fb_probe()
233 fb->fb.var.bits_per_pixel = 16; goldfish_fb_probe()
234 fb->fb.var.activate = FB_ACTIVATE_NOW; goldfish_fb_probe()
235 fb->fb.var.height = readl(fb->reg_base + FB_GET_PHYS_HEIGHT); goldfish_fb_probe()
236 fb->fb.var.width = readl(fb->reg_base + FB_GET_PHYS_WIDTH); goldfish_fb_probe()
237 fb->fb.var.pixclock = 10000; goldfish_fb_probe()
239 fb->fb.var.red.offset = 11; goldfish_fb_probe()
240 fb->fb.var.red.length = 5; goldfish_fb_probe()
241 fb->fb.var.green.offset = 5; goldfish_fb_probe()
242 fb->fb.var.green.length = 6; goldfish_fb_probe()
243 fb->fb.var.blue.offset = 0; goldfish_fb_probe()
244 fb->fb.var.blue.length = 5; goldfish_fb_probe()
259 ret = fb_set_var(&fb->fb, &fb->fb.var); goldfish_fb_probe()
269 goldfish_fb_pan_display(&fb->fb.var, &fb->fb); /* updates base */ goldfish_fb_probe()
297 framesize = fb->fb.var.xres_virtual * fb->fb.var.yres_virtual * 2; goldfish_fb_remove()
H A Dclps711xfb.c55 if (regno >= (1 << info->var.bits_per_pixel)) clps7111fb_setcolreg()
90 clps7111fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) clps7111fb_check_var() argument
92 var->transp.msb_right = 0; clps7111fb_check_var()
93 var->transp.offset = 0; clps7111fb_check_var()
94 var->transp.length = 0; clps7111fb_check_var()
95 var->red.msb_right = 0; clps7111fb_check_var()
96 var->red.offset = 0; clps7111fb_check_var()
97 var->red.length = var->bits_per_pixel; clps7111fb_check_var()
98 var->green = var->red; clps7111fb_check_var()
99 var->blue = var->red; clps7111fb_check_var()
101 if (var->bits_per_pixel > 4) clps7111fb_check_var()
115 switch (info->var.bits_per_pixel) { clps7111fb_set_par()
127 info->fix.line_length = info->var.xres_virtual * info->var.bits_per_pixel / 8; clps7111fb_set_par()
129 lcdcon = (info->var.xres_virtual * info->var.yres_virtual * info->var.bits_per_pixel) / 128 - 1; clps7111fb_set_par()
130 lcdcon |= ((info->var.xres_virtual / 16) - 1) << 13; clps7111fb_set_par()
142 pixclock = 9 * info->var.pixclock / 244140 - 1; clps7111fb_set_par()
145 if (info->var.bits_per_pixel == 4) clps7111fb_set_par()
147 if (info->var.bits_per_pixel >= 2) clps7111fb_set_par()
188 info->var.xres_virtual = 640; clps711x_guess_lcd_params()
189 info->var.yres_virtual = 240; clps711x_guess_lcd_params()
190 info->var.bits_per_pixel = 4; clps711x_guess_lcd_params()
191 info->var.activate = FB_ACTIVATE_NOW; clps711x_guess_lcd_params()
192 info->var.height = -1; clps711x_guess_lcd_params()
193 info->var.width = -1; clps711x_guess_lcd_params()
194 info->var.pixclock = 93006; /* 10.752MHz pixel clock */ clps711x_guess_lcd_params()
209 info->var.bits_per_pixel = 4; clps711x_guess_lcd_params()
213 info->var.bits_per_pixel = 2; clps711x_guess_lcd_params()
217 info->var.bits_per_pixel = 1; clps711x_guess_lcd_params()
224 info->var.xres_virtual = (((lcdcon >> 13) & 0x3f) + 1) * 16; clps711x_guess_lcd_params()
225 info->var.yres_virtual = (((lcdcon & 0x1fff) + 1) * 128) / clps711x_guess_lcd_params()
226 (info->var.xres_virtual * clps711x_guess_lcd_params()
227 info->var.bits_per_pixel); clps711x_guess_lcd_params()
232 info->var.pixclock = (((lcdcon >> 19) & 0x3f) + 1) * 244140 / 9; clps711x_guess_lcd_params()
240 info->var.xres = info->var.xres_virtual; clps711x_guess_lcd_params()
241 info->var.yres = info->var.yres_virtual; clps711x_guess_lcd_params()
242 info->var.grayscale = info->var.bits_per_pixel > 1; clps711x_guess_lcd_params()
244 size = info->var.xres * info->var.yres * info->var.bits_per_pixel / 8; clps711x_guess_lcd_params()
H A Dep93xx-fb.c167 info->var.transp.offset = 0; ep93xxfb_set_pixelmode()
168 info->var.transp.length = 0; ep93xxfb_set_pixelmode()
170 switch (info->var.bits_per_pixel) { ep93xxfb_set_pixelmode()
175 info->var.red.offset = 0; ep93xxfb_set_pixelmode()
176 info->var.red.length = 8; ep93xxfb_set_pixelmode()
177 info->var.green.offset = 0; ep93xxfb_set_pixelmode()
178 info->var.green.length = 8; ep93xxfb_set_pixelmode()
179 info->var.blue.offset = 0; ep93xxfb_set_pixelmode()
180 info->var.blue.length = 8; ep93xxfb_set_pixelmode()
188 info->var.red.offset = 11; ep93xxfb_set_pixelmode()
189 info->var.red.length = 5; ep93xxfb_set_pixelmode()
190 info->var.green.offset = 5; ep93xxfb_set_pixelmode()
191 info->var.green.length = 6; ep93xxfb_set_pixelmode()
192 info->var.blue.offset = 0; ep93xxfb_set_pixelmode()
193 info->var.blue.length = 5; ep93xxfb_set_pixelmode()
201 info->var.red.offset = 16; ep93xxfb_set_pixelmode()
202 info->var.red.length = 8; ep93xxfb_set_pixelmode()
203 info->var.green.offset = 8; ep93xxfb_set_pixelmode()
204 info->var.green.length = 8; ep93xxfb_set_pixelmode()
205 info->var.blue.offset = 0; ep93xxfb_set_pixelmode()
206 info->var.blue.length = 8; ep93xxfb_set_pixelmode()
214 info->var.red.offset = 16; ep93xxfb_set_pixelmode()
215 info->var.red.length = 8; ep93xxfb_set_pixelmode()
216 info->var.green.offset = 8; ep93xxfb_set_pixelmode()
217 info->var.green.length = 8; ep93xxfb_set_pixelmode()
218 info->var.blue.offset = 0; ep93xxfb_set_pixelmode()
219 info->var.blue.length = 8; ep93xxfb_set_pixelmode()
236 vlines_total = info->var.yres + info->var.upper_margin + ep93xxfb_set_timing()
237 info->var.lower_margin + info->var.vsync_len - 1; ep93xxfb_set_timing()
239 hclks_total = info->var.xres + info->var.left_margin + ep93xxfb_set_timing()
240 info->var.right_margin + info->var.hsync_len - 1; ep93xxfb_set_timing()
246 stop = vlines_total - info->var.vsync_len; ep93xxfb_set_timing()
249 start = vlines_total - info->var.vsync_len - info->var.upper_margin; ep93xxfb_set_timing()
250 stop = info->var.lower_margin - 1; ep93xxfb_set_timing()
259 stop = hclks_total - info->var.hsync_len; ep93xxfb_set_timing()
262 start = hclks_total - info->var.hsync_len - info->var.left_margin; ep93xxfb_set_timing()
263 stop = info->var.right_margin - 1; ep93xxfb_set_timing()
278 clk_set_rate(fbi->clk, 1000 * PICOS2KHZ(info->var.pixclock)); ep93xxfb_set_par()
282 info->fix.line_length = info->var.xres_virtual * ep93xxfb_set_par()
283 info->var.bits_per_pixel / 8; ep93xxfb_set_par()
286 ep93xxfb_writel(fbi, info->var.yres - 1, EP93XXFB_SCREEN_LINES); ep93xxfb_set_par()
287 ep93xxfb_writel(fbi, ((info->var.xres * info->var.bits_per_pixel) ep93xxfb_set_par()
294 static int ep93xxfb_check_var(struct fb_var_screeninfo *var, ep93xxfb_check_var() argument
303 var->xres = max_t(unsigned int, var->xres, EP93XXFB_MIN_XRES); ep93xxfb_check_var()
304 var->xres = min_t(unsigned int, var->xres, EP93XXFB_MAX_XRES); ep93xxfb_check_var()
305 var->xres_virtual = max(var->xres_virtual, var->xres); ep93xxfb_check_var()
307 var->yres = max_t(unsigned int, var->yres, EP93XXFB_MIN_YRES); ep93xxfb_check_var()
308 var->yres = min_t(unsigned int, var->yres, EP93XXFB_MAX_YRES); ep93xxfb_check_var()
309 var->yres_virtual = max(var->yres_virtual, var->yres); ep93xxfb_check_var()
391 red = ep93xxfb_convert_color(red, info->var.red.length); ep93xxfb_setcolreg()
392 green = ep93xxfb_convert_color(green, info->var.green.length); ep93xxfb_setcolreg()
393 blue = ep93xxfb_convert_color(blue, info->var.blue.length); ep93xxfb_setcolreg()
395 info->var.transp.length); ep93xxfb_setcolreg()
397 pal[regno] = (red << info->var.red.offset) | ep93xxfb_setcolreg()
398 (green << info->var.green.offset) | ep93xxfb_setcolreg()
399 (blue << info->var.blue.offset) | ep93xxfb_setcolreg()
400 (transp << info->var.transp.offset); ep93xxfb_setcolreg()
544 info->var.activate = FB_ACTIVATE_NOW; ep93xxfb_probe()
545 info->var.vmode = FB_VMODE_NONINTERLACED; ep93xxfb_probe()
552 err = fb_find_mode(&info->var, info, video_mode, ep93xxfb_probe()
567 err = ep93xxfb_check_var(&info->var, info); ep93xxfb_probe()
586 info->var.xres, info->var.yres, info->var.bits_per_pixel); ep93xxfb_probe()
H A Dmacmodes.c209 * mac_vmode_to_var - converts vmode/cmode pair to var structure
212 * @var: frame buffer video mode structure
221 int mac_vmode_to_var(int vmode, int cmode, struct fb_var_screeninfo *var) mac_vmode_to_var() argument
234 memset(var, 0, sizeof(struct fb_var_screeninfo)); mac_vmode_to_var()
237 var->bits_per_pixel = 8; mac_vmode_to_var()
238 var->red.offset = 0; mac_vmode_to_var()
239 var->red.length = 8; mac_vmode_to_var()
240 var->green.offset = 0; mac_vmode_to_var()
241 var->green.length = 8; mac_vmode_to_var()
242 var->blue.offset = 0; mac_vmode_to_var()
243 var->blue.length = 8; mac_vmode_to_var()
247 var->bits_per_pixel = 16; mac_vmode_to_var()
248 var->red.offset = 10; mac_vmode_to_var()
249 var->red.length = 5; mac_vmode_to_var()
250 var->green.offset = 5; mac_vmode_to_var()
251 var->green.length = 5; mac_vmode_to_var()
252 var->blue.offset = 0; mac_vmode_to_var()
253 var->blue.length = 5; mac_vmode_to_var()
257 var->bits_per_pixel = 32; mac_vmode_to_var()
258 var->red.offset = 16; mac_vmode_to_var()
259 var->red.length = 8; mac_vmode_to_var()
260 var->green.offset = 8; mac_vmode_to_var()
261 var->green.length = 8; mac_vmode_to_var()
262 var->blue.offset = 0; mac_vmode_to_var()
263 var->blue.length = 8; mac_vmode_to_var()
264 var->transp.offset = 24; mac_vmode_to_var()
265 var->transp.length = 8; mac_vmode_to_var()
271 var->xres = mode->xres; mac_vmode_to_var()
272 var->yres = mode->yres; mac_vmode_to_var()
273 var->xres_virtual = mode->xres; mac_vmode_to_var()
274 var->yres_virtual = mode->yres; mac_vmode_to_var()
275 var->height = -1; mac_vmode_to_var()
276 var->width = -1; mac_vmode_to_var()
277 var->pixclock = mode->pixclock; mac_vmode_to_var()
278 var->left_margin = mode->left_margin; mac_vmode_to_var()
279 var->right_margin = mode->right_margin; mac_vmode_to_var()
280 var->upper_margin = mode->upper_margin; mac_vmode_to_var()
281 var->lower_margin = mode->lower_margin; mac_vmode_to_var()
282 var->hsync_len = mode->hsync_len; mac_vmode_to_var()
283 var->vsync_len = mode->vsync_len; mac_vmode_to_var()
284 var->sync = mode->sync; mac_vmode_to_var()
285 var->vmode = mode->vmode; mac_vmode_to_var()
291 * mac_var_to_vmode - convert var structure to MacOS vmode/cmode pair
292 * @var: frame buffer video mode structure
303 int mac_var_to_vmode(const struct fb_var_screeninfo *var, int *vmode, mac_var_to_vmode() argument
308 if (var->bits_per_pixel <= 8) mac_var_to_vmode()
310 else if (var->bits_per_pixel <= 16) mac_var_to_vmode()
312 else if (var->bits_per_pixel <= 32) mac_var_to_vmode()
324 if (var->xres > mode->xres || var->yres > mode->yres) mac_var_to_vmode()
326 if (var->xres_virtual > mode->xres || var->yres_virtual > mode->yres) mac_var_to_vmode()
328 if (var->pixclock > mode->pixclock) mac_var_to_vmode()
330 if ((var->vmode & FB_VMODE_MASK) != mode->vmode) mac_var_to_vmode()
344 if (var->pixclock > mode->pixclock) mac_var_to_vmode()
380 * @var: frame buffer user defined part of display
398 int mac_find_mode(struct fb_var_screeninfo *var, struct fb_info *info, mac_find_mode() argument
409 return fb_find_mode(var, info, mode_option, db, dbsize, mac_find_mode()
H A Dvt8500lcdfb.c57 if (info->var.bits_per_pixel <= 8) { vt8500lcd_set_par()
59 info->var.red.offset = 0; vt8500lcd_set_par()
60 info->var.red.length = info->var.bits_per_pixel; vt8500lcd_set_par()
61 info->var.red.msb_right = 0; vt8500lcd_set_par()
63 info->var.green.offset = 0; vt8500lcd_set_par()
64 info->var.green.length = info->var.bits_per_pixel; vt8500lcd_set_par()
65 info->var.green.msb_right = 0; vt8500lcd_set_par()
67 info->var.blue.offset = 0; vt8500lcd_set_par()
68 info->var.blue.length = info->var.bits_per_pixel; vt8500lcd_set_par()
69 info->var.blue.msb_right = 0; vt8500lcd_set_par()
71 info->var.transp.offset = 0; vt8500lcd_set_par()
72 info->var.transp.length = 0; vt8500lcd_set_par()
73 info->var.transp.msb_right = 0; vt8500lcd_set_par()
76 info->fix.line_length = info->var.xres_virtual / vt8500lcd_set_par()
77 (8/info->var.bits_per_pixel); vt8500lcd_set_par()
80 info->var.transp.offset = 0; vt8500lcd_set_par()
81 info->var.transp.length = 0; vt8500lcd_set_par()
82 info->var.transp.msb_right = 0; vt8500lcd_set_par()
84 if (info->var.bits_per_pixel == 16) { vt8500lcd_set_par()
86 info->var.red.offset = 11; vt8500lcd_set_par()
87 info->var.red.length = 5; vt8500lcd_set_par()
88 info->var.red.msb_right = 0; vt8500lcd_set_par()
89 info->var.green.offset = 5; vt8500lcd_set_par()
90 info->var.green.length = 6; vt8500lcd_set_par()
91 info->var.green.msb_right = 0; vt8500lcd_set_par()
92 info->var.blue.offset = 0; vt8500lcd_set_par()
93 info->var.blue.length = 5; vt8500lcd_set_par()
94 info->var.blue.msb_right = 0; vt8500lcd_set_par()
97 info->var.red.offset = info->var.bits_per_pixel vt8500lcd_set_par()
99 info->var.red.length = info->var.bits_per_pixel / 3; vt8500lcd_set_par()
100 info->var.red.msb_right = 0; vt8500lcd_set_par()
101 info->var.green.offset = info->var.bits_per_pixel / 3; vt8500lcd_set_par()
102 info->var.green.length = info->var.bits_per_pixel / 3; vt8500lcd_set_par()
103 info->var.green.msb_right = 0; vt8500lcd_set_par()
104 info->var.blue.offset = 0; vt8500lcd_set_par()
105 info->var.blue.length = info->var.bits_per_pixel / 3; vt8500lcd_set_par()
106 info->var.blue.msb_right = 0; vt8500lcd_set_par()
110 info->fix.line_length = info->var.bits_per_pixel > 16 ? vt8500lcd_set_par()
111 info->var.xres_virtual << 2 : vt8500lcd_set_par()
112 info->var.xres_virtual << 1; vt8500lcd_set_par()
116 if (bpp_values[i] == info->var.bits_per_pixel) vt8500lcd_set_par()
124 writel((((info->var.hsync_len - 1) & 0x3f) << 26) vt8500lcd_set_par()
125 | ((info->var.left_margin & 0xff) << 18) vt8500lcd_set_par()
126 | (((info->var.xres - 1) & 0x3ff) << 8) vt8500lcd_set_par()
127 | (info->var.right_margin & 0xff), fbi->regbase + 0x4); vt8500lcd_set_par()
128 writel((((info->var.vsync_len - 1) & 0x3f) << 26) vt8500lcd_set_par()
129 | ((info->var.upper_margin & 0xff) << 18) vt8500lcd_set_par()
130 | (((info->var.yres - 1) & 0x3ff) << 8) vt8500lcd_set_par()
131 | (info->var.lower_margin & 0xff), fbi->regbase + 0x8); vt8500lcd_set_par()
132 writel((((info->var.yres - 1) & 0x400) << 2) vt8500lcd_set_par()
133 | ((info->var.xres - 1) & 0x400), fbi->regbase + 0x10); vt8500lcd_set_par()
156 if (info->var.grayscale) vt8500lcd_setcolreg()
165 val = chan_to_field(red, &fbi->fb.var.red); vt8500lcd_setcolreg()
166 val |= chan_to_field(green, &fbi->fb.var.green); vt8500lcd_setcolreg()
167 val |= chan_to_field(blue, &fbi->fb.var.blue); vt8500lcd_setcolreg()
208 static int vt8500lcd_pan_display(struct fb_var_screeninfo *var, vt8500lcd_pan_display() argument
211 unsigned pixlen = info->fix.line_length / info->var.xres_virtual; vt8500lcd_pan_display()
212 unsigned off = pixlen * var->xoffset vt8500lcd_pan_display()
213 + info->fix.line_length * var->yoffset; vt8500lcd_pan_display()
217 | (((info->var.xres_virtual - info->var.xres) * pixlen / 4) << 20) vt8500lcd_pan_display()
305 fbi->fb.var.nonstd = 0; vt8500lcd_probe()
306 fbi->fb.var.activate = FB_ACTIVATE_NOW; vt8500lcd_probe()
307 fbi->fb.var.height = -1; vt8500lcd_probe()
308 fbi->fb.var.width = -1; vt8500lcd_probe()
309 fbi->fb.var.vmode = FB_VMODE_NONINTERLACED; vt8500lcd_probe()
405 fb_videomode_to_var(&fbi->fb.var, &of_mode); vt8500lcd_probe()
407 fbi->fb.var.xres_virtual = of_mode.xres; vt8500lcd_probe()
408 fbi->fb.var.yres_virtual = of_mode.yres * 2; vt8500lcd_probe()
409 fbi->fb.var.bits_per_pixel = bpp; vt8500lcd_probe()
H A Datafb.c33 * (var->xoffset was changed even if no set_screen_base avail.)
87 static int atafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info);
93 static int atafb_pan_display(struct fb_var_screeninfo *var,
285 * * checks var and eventually tweaks it to something supported,
287 * int (*fb_check_var)(struct fb_var_screeninfo *var, struct fb_info *info);
289 * * set the video mode according to info->var *
303 * int (*fb_pan_display)(struct fb_var_screeninfo *var, struct fb_info *info);
351 * int (*decode_var)(struct fb_var_screeninfo *var,
353 * Get the video params out of 'var'. If a value doesn't fit, round
359 * int (*encode_var)(struct fb_var_screeninfo *var,
361 * Fill the 'var' structure based on the values in 'par' and maybe
388 int (*decode_var)(struct fb_var_screeninfo *var,
390 int (*encode_var)(struct fb_var_screeninfo *var,
396 int (*pan_display)(struct fb_var_screeninfo *var,
616 static int tt_decode_var(struct fb_var_screeninfo *var, struct atafb_par *par) tt_decode_var() argument
618 int xres = var->xres; tt_decode_var()
619 int yres = var->yres; tt_decode_var()
620 int bpp = var->bits_per_pixel; tt_decode_var()
622 int yres_virtual = var->yres_virtual; tt_decode_var()
662 } else if (var->xres > sttt_xres || var->yres > st_yres) { tt_decode_var()
675 if (var->sync & FB_SYNC_EXT) tt_decode_var()
684 if (var->yoffset + yres > yres_virtual && yres_virtual) tt_decode_var()
687 par->screen_base = screen_base + var->yoffset * linelen; tt_decode_var()
692 static int tt_encode_var(struct fb_var_screeninfo *var, struct atafb_par *par) tt_encode_var() argument
695 memset(var, 0, sizeof(struct fb_var_screeninfo)); tt_encode_var()
696 var->red.offset = 0; tt_encode_var()
697 var->red.length = 4; tt_encode_var()
698 var->red.msb_right = 0; tt_encode_var()
699 var->grayscale = 0; tt_encode_var()
701 var->pixclock = 31041; tt_encode_var()
702 var->left_margin = 120; /* these may be incorrect */ tt_encode_var()
703 var->right_margin = 100; tt_encode_var()
704 var->upper_margin = 8; tt_encode_var()
705 var->lower_margin = 16; tt_encode_var()
706 var->hsync_len = 140; tt_encode_var()
707 var->vsync_len = 30; tt_encode_var()
709 var->height = -1; tt_encode_var()
710 var->width = -1; tt_encode_var()
713 var->sync = 0; tt_encode_var()
715 var->sync = FB_SYNC_EXT; tt_encode_var()
719 var->xres = sttt_xres / 2; tt_encode_var()
720 var->xres_virtual = sttt_xres_virtual / 2; tt_encode_var()
721 var->yres = st_yres / 2; tt_encode_var()
722 var->bits_per_pixel = 4; tt_encode_var()
725 var->xres = sttt_xres; tt_encode_var()
726 var->xres_virtual = sttt_xres_virtual; tt_encode_var()
727 var->yres = st_yres / 2; tt_encode_var()
728 var->bits_per_pixel = 2; tt_encode_var()
731 var->xres = sttt_xres; tt_encode_var()
732 var->xres_virtual = sttt_xres_virtual; tt_encode_var()
733 var->yres = st_yres; tt_encode_var()
734 var->bits_per_pixel = 1; tt_encode_var()
737 var->xres = sttt_xres / 2; tt_encode_var()
738 var->xres_virtual = sttt_xres_virtual / 2; tt_encode_var()
739 var->yres = tt_yres; tt_encode_var()
740 var->bits_per_pixel = 8; tt_encode_var()
743 var->xres = sttt_xres; tt_encode_var()
744 var->xres_virtual = sttt_xres_virtual; tt_encode_var()
745 var->yres = tt_yres; tt_encode_var()
746 var->bits_per_pixel = 4; tt_encode_var()
749 var->red.length = 0; tt_encode_var()
750 var->xres = sttt_xres * 2; tt_encode_var()
751 var->xres_virtual = sttt_xres_virtual * 2; tt_encode_var()
752 var->yres = tt_yres * 2; tt_encode_var()
753 var->bits_per_pixel = 1; tt_encode_var()
756 var->blue = var->green = var->red; tt_encode_var()
757 var->transp.offset = 0; tt_encode_var()
758 var->transp.length = 0; tt_encode_var()
759 var->transp.msb_right = 0; tt_encode_var()
760 linelen = var->xres_virtual * var->bits_per_pixel / 8; tt_encode_var()
762 var->yres_virtual = var->yres; tt_encode_var()
765 var->yres_virtual = par->yres_virtual; tt_encode_var()
768 var->yres_virtual = screen_len / linelen; tt_encode_var()
771 var->yres_virtual = 2 * var->yres; tt_encode_var()
773 var->yres_virtual = var->yres + hwscroll * 16; tt_encode_var()
775 var->xoffset = 0; tt_encode_var()
777 var->yoffset = (par->screen_base - screen_base) / linelen; tt_encode_var()
779 var->yoffset = 0; tt_encode_var()
780 var->nonstd = 0; tt_encode_var()
781 var->activate = 0; tt_encode_var()
782 var->vmode = FB_VMODE_NONINTERLACED; tt_encode_var()
917 static int falcon_decode_var(struct fb_var_screeninfo *var, falcon_decode_var() argument
920 int bpp = var->bits_per_pixel; falcon_decode_var()
921 int xres = var->xres; falcon_decode_var()
922 int yres = var->yres; falcon_decode_var()
923 int xres_virtual = var->xres_virtual; falcon_decode_var()
924 int yres_virtual = var->yres_virtual; falcon_decode_var()
939 Get the video params out of 'var'. If a value doesn't fit, round falcon_decode_var()
956 Currently interlace and doubleline mode in var are ignored. falcon_decode_var()
994 var->xres > myvar->xres || falcon_decode_var()
995 var->yres > myvar->yres) falcon_decode_var()
1049 if (var->pixclock > 1) falcon_decode_var()
1050 var->pixclock -= 1; falcon_decode_var()
1075 if (var->pixclock > f32.t * plen) falcon_decode_var()
1080 if (var->pixclock == 0) { falcon_decode_var()
1089 left_margin = var->left_margin; falcon_decode_var()
1090 right_margin = var->right_margin; falcon_decode_var()
1091 hsync_len = var->hsync_len; falcon_decode_var()
1092 upper_margin = var->upper_margin; falcon_decode_var()
1093 lower_margin = var->lower_margin; falcon_decode_var()
1094 vsync_len = var->vsync_len; falcon_decode_var()
1095 if (var->vmode & FB_VMODE_INTERLACED) { falcon_decode_var()
1099 } else if (var->vmode & FB_VMODE_DOUBLE) { falcon_decode_var()
1109 if (var->pixclock == 0) { falcon_decode_var()
1140 if (f25.t * i >= var->pixclock && falcon_decode_var()
1145 if (f32.t * i >= var->pixclock && falcon_decode_var()
1150 if (fext.t && fext.t * i >= var->pixclock && falcon_decode_var()
1160 left_margin = var->left_margin; falcon_decode_var()
1161 right_margin = var->right_margin; falcon_decode_var()
1162 hsync_len = var->hsync_len; falcon_decode_var()
1163 upper_margin = var->upper_margin; falcon_decode_var()
1164 lower_margin = var->lower_margin; falcon_decode_var()
1165 vsync_len = var->vsync_len; falcon_decode_var()
1167 if (var->vmode & FB_VMODE_INTERLACED) { falcon_decode_var()
1173 } else if (var->vmode & FB_VMODE_DOUBLE) { falcon_decode_var()
1205 if (var->sync & FB_SYNC_HOR_HIGH_ACT) falcon_decode_var()
1207 if (var->sync & FB_SYNC_VERT_HIGH_ACT) falcon_decode_var()
1382 if (var->yoffset + yres > yres_virtual && yres_virtual) falcon_decode_var()
1385 par->screen_base = screen_base + var->yoffset * linelen; falcon_decode_var()
1393 static int falcon_encode_var(struct fb_var_screeninfo *var, falcon_encode_var() argument
1402 memset(var, 0, sizeof(struct fb_var_screeninfo)); falcon_encode_var()
1404 var->pixclock = hw->sync & 0x1 ? fext.t : falcon_encode_var()
1407 var->height = -1; falcon_encode_var()
1408 var->width = -1; falcon_encode_var()
1410 var->sync = 0; falcon_encode_var()
1412 var->sync |= FB_SYNC_HOR_HIGH_ACT; falcon_encode_var()
1414 var->sync |= FB_SYNC_VERT_HIGH_ACT; falcon_encode_var()
1416 var->vmode = FB_VMODE_NONINTERLACED; falcon_encode_var()
1418 var->vmode |= FB_VMODE_INTERLACED; falcon_encode_var()
1420 var->vmode |= FB_VMODE_DOUBLE; falcon_encode_var()
1427 var->yres = hw->vde - hw->vdb; falcon_encode_var()
1428 if (!(var->vmode & FB_VMODE_INTERLACED)) falcon_encode_var()
1429 var->yres >>= 1; falcon_encode_var()
1430 if (var->vmode & FB_VMODE_DOUBLE) falcon_encode_var()
1431 var->yres >>= 1; falcon_encode_var()
1442 var->bits_per_pixel = 1; falcon_encode_var()
1444 var->bits_per_pixel = 16; falcon_encode_var()
1446 var->bits_per_pixel = 8; falcon_encode_var()
1448 var->bits_per_pixel = 4; falcon_encode_var()
1450 var->bits_per_pixel = 2; falcon_encode_var()
1452 var->bits_per_pixel = 1; falcon_encode_var()
1454 var->xres = hw->line_width * 16 / var->bits_per_pixel; falcon_encode_var()
1455 var->xres_virtual = var->xres + hw->line_offset * 16 / var->bits_per_pixel; falcon_encode_var()
1457 var->xres_virtual += 16; falcon_encode_var()
1459 if (var->bits_per_pixel == 16) { falcon_encode_var()
1460 var->red.offset = 11; falcon_encode_var()
1461 var->red.length = 5; falcon_encode_var()
1462 var->red.msb_right = 0; falcon_encode_var()
1463 var->green.offset = 5; falcon_encode_var()
1464 var->green.length = 6; falcon_encode_var()
1465 var->green.msb_right = 0; falcon_encode_var()
1466 var->blue.offset = 0; falcon_encode_var()
1467 var->blue.length = 5; falcon_encode_var()
1468 var->blue.msb_right = 0; falcon_encode_var()
1470 var->red.offset = 0; falcon_encode_var()
1471 var->red.length = hw->ste_mode ? 4 : 6; falcon_encode_var()
1472 if (var->red.length > var->bits_per_pixel) falcon_encode_var()
1473 var->red.length = var->bits_per_pixel; falcon_encode_var()
1474 var->red.msb_right = 0; falcon_encode_var()
1475 var->grayscale = 0; falcon_encode_var()
1476 var->blue = var->green = var->red; falcon_encode_var()
1478 var->transp.offset = 0; falcon_encode_var()
1479 var->transp.length = 0; falcon_encode_var()
1480 var->transp.msb_right = 0; falcon_encode_var()
1482 linelen = var->xres_virtual * var->bits_per_pixel / 8; falcon_encode_var()
1485 var->yres_virtual = par->yres_virtual; falcon_encode_var()
1488 var->yres_virtual = screen_len / linelen; falcon_encode_var()
1491 var->yres_virtual = 2 * var->yres; falcon_encode_var()
1493 var->yres_virtual = var->yres + hwscroll * 16; falcon_encode_var()
1495 var->xoffset = 0; /* TODO change this */ falcon_encode_var()
1505 hde_off = ((128 / var->bits_per_pixel + 2) * plen); falcon_encode_var()
1507 hdb_off = (64 + base_off + (128 / var->bits_per_pixel + 2) * plen) falcon_encode_var()
1510 hdb_off = (base_off + (128 / var->bits_per_pixel + 18) * plen) falcon_encode_var()
1515 var->left_margin = hdb_off + prescale * ((hw->hdb & 0x1ff) - falcon_encode_var()
1518 var->right_margin = prescale * (hw->hht + 2 - hw->hde) - hde_off; falcon_encode_var()
1521 var->right_margin = prescale * (hw->hht + 2 - hw->hbb); falcon_encode_var()
1522 var->hsync_len = prescale * (hw->hht + 2 - hw->hss); falcon_encode_var()
1525 var->upper_margin = hw->vdb / 2; /* round down to full lines */ falcon_encode_var()
1526 var->lower_margin = (hw->vft + 1 - hw->vde + 1) / 2; /* round up */ falcon_encode_var()
1527 var->vsync_len = (hw->vft + 1 - hw->vss + 1) / 2; /* round up */ falcon_encode_var()
1528 if (var->vmode & FB_VMODE_INTERLACED) { falcon_encode_var()
1529 var->upper_margin *= 2; falcon_encode_var()
1530 var->lower_margin *= 2; falcon_encode_var()
1531 var->vsync_len *= 2; falcon_encode_var()
1532 } else if (var->vmode & FB_VMODE_DOUBLE) { falcon_encode_var()
1533 var->upper_margin = (var->upper_margin + 1) / 2; falcon_encode_var()
1534 var->lower_margin = (var->lower_margin + 1) / 2; falcon_encode_var()
1535 var->vsync_len = (var->vsync_len + 1) / 2; falcon_encode_var()
1538 var->pixclock *= plen; falcon_encode_var()
1539 var->left_margin /= plen; falcon_encode_var()
1540 var->right_margin /= plen; falcon_encode_var()
1541 var->hsync_len /= plen; falcon_encode_var()
1543 var->right_margin -= var->hsync_len; falcon_encode_var()
1544 var->lower_margin -= var->vsync_len; falcon_encode_var()
1547 var->yoffset = (par->screen_base - screen_base) / linelen; falcon_encode_var()
1549 var->yoffset = 0; falcon_encode_var()
1550 var->nonstd = 0; /* what is this for? */ falcon_encode_var()
1551 var->activate = 0; falcon_encode_var()
1676 static int falcon_pan_display(struct fb_var_screeninfo *var, falcon_pan_display() argument
1682 int bpp = info->var.bits_per_pixel; falcon_pan_display()
1685 var->xoffset = up(var->xoffset, 32); falcon_pan_display()
1687 par->hw.falcon.xoffset = var->xoffset & 15; falcon_pan_display()
1690 var->xoffset = up(var->xoffset, 2); falcon_pan_display()
1693 (info->var.xres_virtual - info->var.xres) / 16; falcon_pan_display()
1696 xoffset = var->xoffset - par->hw.falcon.xoffset; falcon_pan_display()
1699 (var->yoffset * info->var.xres_virtual + xoffset) * bpp / 8; falcon_pan_display()
1842 static int stste_decode_var(struct fb_var_screeninfo *var, stste_decode_var() argument
1845 int xres = var->xres; stste_decode_var()
1846 int yres = var->yres; stste_decode_var()
1847 int bpp = var->bits_per_pixel; stste_decode_var()
1849 int yres_virtual = var->yres_virtual; stste_decode_var()
1882 if (var->sync & FB_SYNC_EXT) stste_decode_var()
1891 if (var->yoffset + yres > yres_virtual && yres_virtual) stste_decode_var()
1894 par->screen_base = screen_base + var->yoffset * linelen; stste_decode_var()
1899 static int stste_encode_var(struct fb_var_screeninfo *var, stste_encode_var() argument
1903 memset(var, 0, sizeof(struct fb_var_screeninfo)); stste_encode_var()
1904 var->red.offset = 0; stste_encode_var()
1905 var->red.length = ATARIHW_PRESENT(EXTD_SHIFTER) ? 4 : 3; stste_encode_var()
1906 var->red.msb_right = 0; stste_encode_var()
1907 var->grayscale = 0; stste_encode_var()
1909 var->pixclock = 31041; stste_encode_var()
1910 var->left_margin = 120; /* these are incorrect */ stste_encode_var()
1911 var->right_margin = 100; stste_encode_var()
1912 var->upper_margin = 8; stste_encode_var()
1913 var->lower_margin = 16; stste_encode_var()
1914 var->hsync_len = 140; stste_encode_var()
1915 var->vsync_len = 30; stste_encode_var()
1917 var->height = -1; stste_encode_var()
1918 var->width = -1; stste_encode_var()
1921 var->sync = 0; stste_encode_var()
1923 var->sync = FB_SYNC_EXT; stste_encode_var()
1927 var->xres = sttt_xres / 2; stste_encode_var()
1928 var->yres = st_yres / 2; stste_encode_var()
1929 var->bits_per_pixel = 4; stste_encode_var()
1932 var->xres = sttt_xres; stste_encode_var()
1933 var->yres = st_yres / 2; stste_encode_var()
1934 var->bits_per_pixel = 2; stste_encode_var()
1937 var->xres = sttt_xres; stste_encode_var()
1938 var->yres = st_yres; stste_encode_var()
1939 var->bits_per_pixel = 1; stste_encode_var()
1942 var->blue = var->green = var->red; stste_encode_var()
1943 var->transp.offset = 0; stste_encode_var()
1944 var->transp.length = 0; stste_encode_var()
1945 var->transp.msb_right = 0; stste_encode_var()
1946 var->xres_virtual = sttt_xres_virtual; stste_encode_var()
1947 linelen = var->xres_virtual * var->bits_per_pixel / 8; stste_encode_var()
1951 var->yres_virtual = var->yres; stste_encode_var()
1954 var->yres_virtual = par->yres_virtual; stste_encode_var()
1957 var->yres_virtual = screen_len / linelen; stste_encode_var()
1960 var->yres_virtual = 2 * var->yres; stste_encode_var()
1962 var->yres_virtual = var->yres + hwscroll * 16; stste_encode_var()
1964 var->xoffset = 0; stste_encode_var()
1966 var->yoffset = (par->screen_base - screen_base) / linelen; stste_encode_var()
1968 var->yoffset = 0; stste_encode_var()
1969 var->nonstd = 0; stste_encode_var()
1970 var->activate = 0; stste_encode_var()
1971 var->vmode = FB_VMODE_NONINTERLACED; stste_encode_var()
2159 static int ext_decode_var(struct fb_var_screeninfo *var, struct atafb_par *par) ext_decode_var() argument
2163 if (var->bits_per_pixel > myvar->bits_per_pixel || ext_decode_var()
2164 var->xres > myvar->xres || ext_decode_var()
2165 var->xres_virtual > myvar->xres_virtual || ext_decode_var()
2166 var->yres > myvar->yres || ext_decode_var()
2167 var->xoffset > 0 || ext_decode_var()
2168 var->yoffset > 0) ext_decode_var()
2175 static int ext_encode_var(struct fb_var_screeninfo *var, struct atafb_par *par) ext_encode_var() argument
2177 memset(var, 0, sizeof(struct fb_var_screeninfo)); ext_encode_var()
2178 var->red.offset = 0; ext_encode_var()
2179 var->red.length = (external_pmode == -1) ? external_depth / 3 : ext_encode_var()
2181 var->red.msb_right = 0; ext_encode_var()
2182 var->grayscale = 0; ext_encode_var()
2184 var->pixclock = 31041; ext_encode_var()
2185 var->left_margin = 120; /* these are surely incorrect */ ext_encode_var()
2186 var->right_margin = 100; ext_encode_var()
2187 var->upper_margin = 8; ext_encode_var()
2188 var->lower_margin = 16; ext_encode_var()
2189 var->hsync_len = 140; ext_encode_var()
2190 var->vsync_len = 30; ext_encode_var()
2192 var->height = -1; ext_encode_var()
2193 var->width = -1; ext_encode_var()
2195 var->sync = 0; ext_encode_var()
2197 var->xres = external_xres; ext_encode_var()
2198 var->yres = external_yres; ext_encode_var()
2199 var->xres_virtual = external_xres_virtual; ext_encode_var()
2200 var->bits_per_pixel = external_depth; ext_encode_var()
2202 var->blue = var->green = var->red; ext_encode_var()
2203 var->transp.offset = 0; ext_encode_var()
2204 var->transp.length = 0; ext_encode_var()
2205 var->transp.msb_right = 0; ext_encode_var()
2206 var->yres_virtual = var->yres; ext_encode_var()
2207 var->xoffset = 0; ext_encode_var()
2208 var->yoffset = 0; ext_encode_var()
2209 var->nonstd = 0; ext_encode_var()
2210 var->activate = 0; ext_encode_var()
2211 var->vmode = FB_VMODE_NONINTERLACED; ext_encode_var()
2297 static int pan_display(struct fb_var_screeninfo *var, struct fb_info *info) pan_display() argument
2302 (!ATARIHW_PRESENT(EXTD_SHIFTER) && var->xoffset)) pan_display()
2304 var->xoffset = up(var->xoffset, 16); pan_display()
2306 (var->yoffset * info->var.xres_virtual + var->xoffset) pan_display()
2307 * info->var.bits_per_pixel / 8; pan_display()
2387 static int do_fb_set_var(struct fb_var_screeninfo *var, int isactive) do_fb_set_var() argument
2392 err = fbhw->decode_var(var, &par); do_fb_set_var()
2395 activate = var->activate; do_fb_set_var()
2396 if (((var->activate & FB_ACTIVATE_MASK) == FB_ACTIVATE_NOW) && isactive) do_fb_set_var()
2398 fbhw->encode_var(var, &par); do_fb_set_var()
2399 var->activate = activate; do_fb_set_var()
2411 err = fbhw->decode_var(&info->var, &par); atafb_get_fix()
2419 static int atafb_get_var(struct fb_var_screeninfo *var, struct fb_info *info) atafb_get_var() argument
2424 fbhw->encode_var(var, &par); atafb_get_var()
2434 atafb_get_var(&info->var, info); atafb_set_disp()
2453 atafb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) atafb_pan_display() argument
2455 int xoffset = var->xoffset; atafb_pan_display()
2456 int yoffset = var->yoffset; atafb_pan_display()
2459 if (var->vmode & FB_VMODE_YWRAP) { atafb_pan_display()
2460 if (yoffset < 0 || yoffset >= info->var.yres_virtual || xoffset) atafb_pan_display()
2463 if (xoffset + info->var.xres > info->var.xres_virtual || atafb_pan_display()
2464 yoffset + info->var.yres > info->var.yres_virtual) atafb_pan_display()
2469 err = fbhw->pan_display(var, info); atafb_pan_display()
2475 info->var.xoffset = xoffset; atafb_pan_display()
2476 info->var.yoffset = yoffset; atafb_pan_display()
2478 if (var->vmode & FB_VMODE_YWRAP) atafb_pan_display()
2479 info->var.vmode |= FB_VMODE_YWRAP; atafb_pan_display()
2481 info->var.vmode &= ~FB_VMODE_YWRAP; atafb_pan_display()
2511 if (info->var.bits_per_pixel == 16) { atafb_fillrect()
2523 x2 = x2 < info->var.xres_virtual ? x2 : info->var.xres_virtual; atafb_fillrect()
2524 y2 = y2 < info->var.yres_virtual ? y2 : info->var.yres_virtual; atafb_fillrect()
2528 if (info->var.bits_per_pixel == 1) atafb_fillrect()
2531 else if (info->var.bits_per_pixel == 2) atafb_fillrect()
2534 else if (info->var.bits_per_pixel == 4) atafb_fillrect()
2552 if (info->var.bits_per_pixel == 16) { atafb_copyarea()
2563 x2 = x2 < info->var.xres_virtual ? x2 : info->var.xres_virtual; atafb_copyarea()
2564 y2 = y2 < info->var.yres_virtual ? y2 : info->var.yres_virtual; atafb_copyarea()
2576 if (sx + width > info->var.xres_virtual || atafb_copyarea()
2577 sy + height > info->var.yres_virtual) atafb_copyarea()
2586 if (info->var.bits_per_pixel == 1) atafb_copyarea()
2588 else if (info->var.bits_per_pixel == 2) atafb_copyarea()
2590 else if (info->var.bits_per_pixel == 4) atafb_copyarea()
2608 if (info->var.bits_per_pixel == 16) { atafb_imageblit()
2623 x2 = x2 < info->var.xres_virtual ? x2 : info->var.xres_virtual; atafb_imageblit()
2624 y2 = y2 < info->var.yres_virtual ? y2 : info->var.yres_virtual; atafb_imageblit()
2638 if (info->var.bits_per_pixel == 1) atafb_imageblit()
2642 else if (info->var.bits_per_pixel == 2) atafb_imageblit()
2646 else if (info->var.bits_per_pixel == 4) atafb_imageblit()
2660 info->var.bits_per_pixel); atafb_imageblit()
2721 /* check var by decoding var into hw par, rounding if necessary,
2722 * then encoding hw par back into new, validated var */ atafb_check_var()
2723 static int atafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) atafb_check_var() argument
2729 // if ((err = ata_decode_var(var, &par))) atafb_check_var()
2730 err = fbhw->decode_var(var, &par); atafb_check_var()
2735 fbhw->encode_var(var, &par); atafb_check_var()
2739 /* actually set hw par by decoding var, then setting hardware from
2746 fbhw->decode_var(&info->var, par); atafb_set_par()
2775 struct fb_var_screeninfo var; check_default_par() local
2780 var = atafb_predefined[default_par - 1]; check_default_par()
2781 var.activate = FB_ACTIVATE_TEST; check_default_par()
2782 if (do_fb_set_var(&var, 1)) check_default_par()
2787 var = atafb_predefined[detected_mode - 1]; /* autodetect */ check_default_par()
2788 var.activate = FB_ACTIVATE_TEST; check_default_par()
2789 if (!do_fb_set_var(&var, 1)) check_default_par()
2800 var = atafb_predefined[default_par - 1]; check_default_par()
2801 var.activate = FB_ACTIVATE_TEST; check_default_par()
2802 if (!do_fb_set_var(&var,1)) check_default_par()
2806 min_mem = var.xres_virtual * var.yres_virtual * var.bits_per_pixel / 8; check_default_par()
3202 // try to set default (detected; requested) var atafb_init()
3208 // so set sane var first, then call atafb_set_par atafb_init()
3209 atafb_get_var(&fb_info.var, &fb_info); atafb_init()
3216 if (!fb_find_mode(&fb_info.var, &fb_info, mode_option, atafb_modedb, atafb_init()
3218 fb_info.var.bits_per_pixel)) { atafb_init()
3227 fb_alloc_cmap(&(fb_info.cmap), 1 << fb_info.var.bits_per_pixel, 0); atafb_init()
3231 fb_info.var.xres, fb_info.var.yres, fb_info.var.bits_per_pixel); atafb_init()
3232 if ((fb_info.var.xres != fb_info.var.xres_virtual) || atafb_init()
3233 (fb_info.var.yres != fb_info.var.yres_virtual)) atafb_init()
3234 printk(" virtual %dx%d\n", fb_info.var.xres_virtual, atafb_init()
3235 fb_info.var.yres_virtual); atafb_init()
H A Dgrvga.c83 static int grvga_check_var(struct fb_var_screeninfo *var, grvga_check_var() argument
89 if (!var->xres) grvga_check_var()
90 var->xres = 1; grvga_check_var()
91 if (!var->yres) grvga_check_var()
92 var->yres = 1; grvga_check_var()
93 if (var->bits_per_pixel <= 8) grvga_check_var()
94 var->bits_per_pixel = 8; grvga_check_var()
95 else if (var->bits_per_pixel <= 16) grvga_check_var()
96 var->bits_per_pixel = 16; grvga_check_var()
97 else if (var->bits_per_pixel <= 24) grvga_check_var()
98 var->bits_per_pixel = 24; grvga_check_var()
99 else if (var->bits_per_pixel <= 32) grvga_check_var()
100 var->bits_per_pixel = 32; grvga_check_var()
104 var->xres_virtual = var->xres; grvga_check_var()
105 var->yres_virtual = 2*var->yres; grvga_check_var()
108 if ((var->yres_virtual*var->xres_virtual*var->bits_per_pixel/8) > info->fix.smem_len) grvga_check_var()
114 if (var->pixclock == par->regs->clk_vector[i]) grvga_check_var()
122 switch (info->var.bits_per_pixel) { grvga_check_var()
124 var->red = (struct fb_bitfield) {0, 8, 0}; /* offset, length, msb-right */ grvga_check_var()
125 var->green = (struct fb_bitfield) {0, 8, 0}; grvga_check_var()
126 var->blue = (struct fb_bitfield) {0, 8, 0}; grvga_check_var()
127 var->transp = (struct fb_bitfield) {0, 0, 0}; grvga_check_var()
130 var->red = (struct fb_bitfield) {11, 5, 0}; grvga_check_var()
131 var->green = (struct fb_bitfield) {5, 6, 0}; grvga_check_var()
132 var->blue = (struct fb_bitfield) {0, 5, 0}; grvga_check_var()
133 var->transp = (struct fb_bitfield) {0, 0, 0}; grvga_check_var()
137 var->red = (struct fb_bitfield) {16, 8, 0}; grvga_check_var()
138 var->green = (struct fb_bitfield) {8, 8, 0}; grvga_check_var()
139 var->blue = (struct fb_bitfield) {0, 8, 0}; grvga_check_var()
140 var->transp = (struct fb_bitfield) {24, 8, 0}; grvga_check_var()
155 __raw_writel(((info->var.yres - 1) << 16) | (info->var.xres - 1), grvga_set_par()
158 __raw_writel((info->var.lower_margin << 16) | (info->var.right_margin), grvga_set_par()
161 __raw_writel((info->var.vsync_len << 16) | (info->var.hsync_len), grvga_set_par()
164 __raw_writel(((info->var.yres + info->var.lower_margin + info->var.upper_margin + info->var.vsync_len - 1) << 16) | grvga_set_par()
165 (info->var.xres + info->var.right_margin + info->var.left_margin + info->var.hsync_len - 1), grvga_set_par()
168 switch (info->var.bits_per_pixel) { grvga_set_par()
189 info->fix.line_length = (info->var.xres_virtual*info->var.bits_per_pixel)/8; grvga_set_par()
201 if (info->var.grayscale) { grvga_setcolreg()
210 red = CNVT_TOHW(red, info->var.red.length); grvga_setcolreg()
211 green = CNVT_TOHW(green, info->var.green.length); grvga_setcolreg()
212 blue = CNVT_TOHW(blue, info->var.blue.length); grvga_setcolreg()
213 transp = CNVT_TOHW(transp, info->var.transp.length); grvga_setcolreg()
229 v = (red << info->var.red.offset) | grvga_setcolreg()
230 (green << info->var.green.offset) | grvga_setcolreg()
231 (blue << info->var.blue.offset) | grvga_setcolreg()
232 (transp << info->var.transp.offset); grvga_setcolreg()
239 static int grvga_pan_display(struct fb_var_screeninfo *var, grvga_pan_display() argument
246 if (var->xoffset != 0) grvga_pan_display()
249 base_addr = fix->smem_start + (var->yoffset * fix->line_length); grvga_pan_display()
370 if (grvga_parse_custom(this_opt, &info->var) < 0) { grvga_probe()
415 retval = fb_find_mode(&info->var, info, mode_opt, grvga_probe()
424 grvga_mem_size = info->var.xres_virtual * info->var.yres_virtual * info->var.bits_per_pixel/8; grvga_probe()
483 info->node, info->var.xres, info->var.yres, info->var.bits_per_pixel, grvga_probe()
H A Dacornfb.c118 struct fb_var_screeninfo *var = &info->var; acornfb_set_timing() local
126 vidc.h_sync_width = var->hsync_len - 8; acornfb_set_timing()
127 vidc.h_border_start = vidc.h_sync_width + var->left_margin + 8 - 12; acornfb_set_timing()
129 vidc.h_display_end = vidc.h_display_start + var->xres; acornfb_set_timing()
131 vidc.h_cycle = vidc.h_border_end + var->right_margin + 12 - 8; acornfb_set_timing()
133 vidc.v_sync_width = var->vsync_len - 1; acornfb_set_timing()
134 vidc.v_border_start = vidc.v_sync_width + var->upper_margin; acornfb_set_timing()
136 vidc.v_display_end = vidc.v_display_start + var->yres; acornfb_set_timing()
140 vcr = var->vsync_len + var->upper_margin + var->yres + acornfb_set_timing()
141 var->lower_margin; acornfb_set_timing()
143 if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) { acornfb_set_timing()
149 switch (var->bits_per_pixel) { acornfb_set_timing()
159 acornfb_vidc20_find_rates(&vidc, var); acornfb_set_timing()
160 fsize = var->vsync_len + var->upper_margin + var->lower_margin - 1; acornfb_set_timing()
189 if (var->sync & FB_SYNC_COMP_HIGH_ACT) /* should be FB_SYNC_COMP */ acornfb_set_timing()
192 if (var->sync & FB_SYNC_HOR_HIGH_ACT) acornfb_set_timing()
197 if (var->sync & FB_SYNC_VERT_HIGH_ACT) acornfb_set_timing()
205 words_per_line = var->xres * var->bits_per_pixel / 32; acornfb_set_timing()
227 printk(KERN_DEBUG "VIDC registers for %dx%dx%d:\n", var->xres, acornfb_set_timing()
228 var->yres, var->bits_per_pixel); acornfb_set_timing()
280 pseudo_val = regno << info->var.red.offset; acornfb_setcolreg()
281 pseudo_val |= regno << info->var.green.offset; acornfb_setcolreg()
282 pseudo_val |= regno << info->var.blue.offset; acornfb_setcolreg()
294 if (info->var.bits_per_pixel == 16) { acornfb_setcolreg()
320 acornfb_adjust_timing(struct fb_info *info, struct fb_var_screeninfo *var, u_int fontht) acornfb_adjust_timing() argument
325 var->xres = (var->xres + 1) & ~1; acornfb_adjust_timing()
330 var->xres_virtual = var->xres; acornfb_adjust_timing()
331 var->xoffset = 0; acornfb_adjust_timing()
345 font_line_len = var->xres * var->bits_per_pixel * fontht / 8; acornfb_adjust_timing()
346 min_size = var->xres * var->yres * var->bits_per_pixel / 8; acornfb_adjust_timing()
366 if (var->accel_flags & FB_ACCELF_TEXT) { acornfb_adjust_timing()
372 var->yres_virtual = size / (font_line_len / fontht); acornfb_adjust_timing()
374 var->yres_virtual = nr_y; acornfb_adjust_timing()
375 } else if (var->yres_virtual > nr_y) acornfb_adjust_timing()
376 var->yres_virtual = nr_y; acornfb_adjust_timing()
383 if (var->yres > var->yres_virtual) acornfb_adjust_timing()
384 var->yres = var->yres_virtual; acornfb_adjust_timing()
386 if (var->vmode & FB_VMODE_YWRAP) { acornfb_adjust_timing()
387 if (var->yoffset > var->yres_virtual) acornfb_adjust_timing()
388 var->yoffset = var->yres_virtual; acornfb_adjust_timing()
390 if (var->yoffset + var->yres > var->yres_virtual) acornfb_adjust_timing()
391 var->yoffset = var->yres_virtual - var->yres; acornfb_adjust_timing()
395 var->hsync_len = (var->hsync_len + 1) & ~1; acornfb_adjust_timing()
399 if (var->left_margin & 1) { acornfb_adjust_timing()
400 var->left_margin += 1; acornfb_adjust_timing()
401 var->right_margin -= 1; acornfb_adjust_timing()
405 if (var->right_margin & 1) acornfb_adjust_timing()
406 var->right_margin += 1; acornfb_adjust_timing()
409 if (var->vsync_len < 1) acornfb_adjust_timing()
410 var->vsync_len = 1; acornfb_adjust_timing()
416 acornfb_validate_timing(struct fb_var_screeninfo *var, acornfb_validate_timing() argument
428 hs = 1953125000 / var->pixclock; acornfb_validate_timing()
430 (var->xres + var->left_margin + var->right_margin + var->hsync_len); acornfb_validate_timing()
432 (var->yres + var->upper_margin + var->lower_margin + var->vsync_len); acornfb_validate_timing()
439 acornfb_update_dma(struct fb_info *info, struct fb_var_screeninfo *var) acornfb_update_dma() argument
441 u_int off = var->yoffset * info->fix.line_length; acornfb_update_dma()
451 acornfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) acornfb_check_var() argument
461 var->red.msb_right = 0; acornfb_check_var()
462 var->green.msb_right = 0; acornfb_check_var()
463 var->blue.msb_right = 0; acornfb_check_var()
464 var->transp.msb_right = 0; acornfb_check_var()
466 switch (var->bits_per_pixel) { acornfb_check_var()
468 var->red.offset = 0; acornfb_check_var()
469 var->red.length = var->bits_per_pixel; acornfb_check_var()
470 var->green = var->red; acornfb_check_var()
471 var->blue = var->red; acornfb_check_var()
472 var->transp.offset = 0; acornfb_check_var()
473 var->transp.length = 0; acornfb_check_var()
478 var->red.offset = 0; acornfb_check_var()
479 var->red.length = 5; acornfb_check_var()
480 var->green.offset = 5; acornfb_check_var()
481 var->green.length = 5; acornfb_check_var()
482 var->blue.offset = 10; acornfb_check_var()
483 var->blue.length = 5; acornfb_check_var()
484 var->transp.offset = 15; acornfb_check_var()
485 var->transp.length = 1; acornfb_check_var()
489 var->red.offset = 0; acornfb_check_var()
490 var->red.length = 8; acornfb_check_var()
491 var->green.offset = 8; acornfb_check_var()
492 var->green.length = 8; acornfb_check_var()
493 var->blue.offset = 16; acornfb_check_var()
494 var->blue.length = 8; acornfb_check_var()
495 var->transp.offset = 24; acornfb_check_var()
496 var->transp.length = 4; acornfb_check_var()
506 if (!acornfb_valid_pixrate(var)) acornfb_check_var()
513 err = acornfb_adjust_timing(info, var, fontht); acornfb_check_var()
521 return acornfb_validate_timing(var, &info->monspecs); acornfb_check_var()
526 switch (info->var.bits_per_pixel) { acornfb_set_par()
557 info->fix.line_length = (info->var.xres * info->var.bits_per_pixel) / 8; acornfb_set_par()
588 acornfb_update_dma(info, &info->var); acornfb_set_par()
595 acornfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) acornfb_pan_display() argument
597 u_int y_bottom = var->yoffset; acornfb_pan_display()
599 if (!(var->vmode & FB_VMODE_YWRAP)) acornfb_pan_display()
600 y_bottom += info->var.yres; acornfb_pan_display()
602 if (y_bottom > info->var.yres_virtual) acornfb_pan_display()
605 acornfb_update_dma(info, var); acornfb_pan_display()
716 memset(&fb_info.var, 0, sizeof(fb_info.var)); acornfb_init_fbinfo()
719 fb_info.var.red.length = 8; acornfb_init_fbinfo()
720 fb_info.var.transp.length = 4; acornfb_init_fbinfo()
722 fb_info.var.green = fb_info.var.red; acornfb_init_fbinfo()
723 fb_info.var.blue = fb_info.var.red; acornfb_init_fbinfo()
724 fb_info.var.nonstd = 0; acornfb_init_fbinfo()
725 fb_info.var.activate = FB_ACTIVATE_NOW; acornfb_init_fbinfo()
726 fb_info.var.height = -1; acornfb_init_fbinfo()
727 fb_info.var.width = -1; acornfb_init_fbinfo()
728 fb_info.var.vmode = FB_VMODE_NONINTERLACED; acornfb_init_fbinfo()
729 fb_info.var.accel_flags = FB_ACCELF_TEXT; acornfb_init_fbinfo()
794 fb_info.var.width = simple_strtoul(p + 1, &p, 0); acornfb_parse_mon()
799 fb_info.var.height = simple_strtoul(p + 1, NULL, 0); acornfb_parse_mon()
1064 rc = fb_find_mode(&fb_info.var, &fb_info, NULL, modedb, acornfb_probe()
1073 rc = fb_find_mode(&fb_info.var, &fb_info, NULL, NULL, 0, acornfb_probe()
1081 rc = fb_find_mode(&fb_info.var, &fb_info, NULL, modedb, acornfb_probe()
1087 rc = fb_find_mode(&fb_info.var, &fb_info, NULL, NULL, 0, acornfb_probe()
1100 h_sync = 1953125000 / fb_info.var.pixclock; acornfb_probe()
1101 h_sync = h_sync * 512 / (fb_info.var.xres + fb_info.var.left_margin + acornfb_probe()
1102 fb_info.var.right_margin + fb_info.var.hsync_len); acornfb_probe()
1103 v_sync = h_sync / (fb_info.var.yres + fb_info.var.upper_margin + acornfb_probe()
1104 fb_info.var.lower_margin + fb_info.var.vsync_len); acornfb_probe()
1110 VIDC_NAME, fb_info.var.xres, fb_info.var.yres, acornfb_probe()
1119 if (fb_set_var(&fb_info, &fb_info.var)) acornfb_probe()
H A Dnuc900fb.c57 vbaddr2 += info->fix.line_length * info->var.yres; nuc900fb_set_lcdaddr()
88 * Check the video params of 'var'.
90 static int nuc900fb_check_var(struct fb_var_screeninfo *var, nuc900fb_check_var() argument
100 dev_dbg(fbi->dev, "check_var(var=%p, info=%p)\n", var, info); nuc900fb_check_var()
104 if (var->xres == default_display->xres && nuc900fb_check_var()
105 var->yres == default_display->yres && nuc900fb_check_var()
106 var->bits_per_pixel == default_display->bpp) nuc900fb_check_var()
110 if (var->xres == mach_info->displays[i].xres && nuc900fb_check_var()
111 var->yres == mach_info->displays[i].yres && nuc900fb_check_var()
112 var->bits_per_pixel == mach_info->displays[i].bpp) { nuc900fb_check_var()
119 var->xres, var->yres, var->bits_per_pixel); nuc900fb_check_var()
124 var->xres_virtual = display->xres; nuc900fb_check_var()
125 var->yres_virtual = display->yres; nuc900fb_check_var()
126 var->height = display->height; nuc900fb_check_var()
127 var->width = display->width; nuc900fb_check_var()
130 var->pixclock = display->pixclock; nuc900fb_check_var()
131 var->left_margin = display->left_margin; nuc900fb_check_var()
132 var->right_margin = display->right_margin; nuc900fb_check_var()
133 var->upper_margin = display->upper_margin; nuc900fb_check_var()
134 var->lower_margin = display->lower_margin; nuc900fb_check_var()
135 var->vsync_len = display->vsync_len; nuc900fb_check_var()
136 var->hsync_len = display->hsync_len; nuc900fb_check_var()
138 var->transp.offset = 0; nuc900fb_check_var()
139 var->transp.length = 0; nuc900fb_check_var()
147 switch (var->bits_per_pixel) { nuc900fb_check_var()
153 var->red.offset = 0; nuc900fb_check_var()
154 var->red.length = var->bits_per_pixel; nuc900fb_check_var()
155 var->green = var->red; nuc900fb_check_var()
156 var->blue = var->red; nuc900fb_check_var()
159 var->red.length = 4; nuc900fb_check_var()
160 var->green.length = 4; nuc900fb_check_var()
161 var->blue.length = 4; nuc900fb_check_var()
162 var->red.offset = 8; nuc900fb_check_var()
163 var->green.offset = 4; nuc900fb_check_var()
164 var->blue.offset = 0; nuc900fb_check_var()
167 var->red.length = 5; nuc900fb_check_var()
168 var->green.length = 6; nuc900fb_check_var()
169 var->blue.length = 5; nuc900fb_check_var()
170 var->red.offset = 11; nuc900fb_check_var()
171 var->green.offset = 5; nuc900fb_check_var()
172 var->blue.offset = 0; nuc900fb_check_var()
175 var->red.length = 6; nuc900fb_check_var()
176 var->green.length = 6; nuc900fb_check_var()
177 var->blue.length = 6; nuc900fb_check_var()
178 var->red.offset = 12; nuc900fb_check_var()
179 var->green.offset = 6; nuc900fb_check_var()
180 var->blue.offset = 0; nuc900fb_check_var()
183 var->red.length = 8; nuc900fb_check_var()
184 var->green.length = 8; nuc900fb_check_var()
185 var->blue.length = 8; nuc900fb_check_var()
186 var->red.offset = 16; nuc900fb_check_var()
187 var->green.offset = 8; nuc900fb_check_var()
188 var->blue.offset = 0; nuc900fb_check_var()
196 * Calculate lcd register values from var setting & save into hw
201 const struct fb_var_screeninfo *var = &info->var; nuc900fb_calculate_lcd_regs() local
202 int vtt = var->height + var->upper_margin + var->lower_margin; nuc900fb_calculate_lcd_regs()
203 int htt = var->width + var->left_margin + var->right_margin; nuc900fb_calculate_lcd_regs()
204 int hsync = var->width + var->right_margin; nuc900fb_calculate_lcd_regs()
205 int vsync = var->height + var->lower_margin; nuc900fb_calculate_lcd_regs()
209 regs->lcd_crtc_dend = LCM_CRTC_DEND_VDENDVAL(var->height) | nuc900fb_calculate_lcd_regs()
210 LCM_CRTC_DEND_HDENDVAL(var->width); nuc900fb_calculate_lcd_regs()
211 regs->lcd_crtc_hr = LCM_CRTC_HR_EVAL(var->width + 5) | nuc900fb_calculate_lcd_regs()
212 LCM_CRTC_HR_SVAL(var->width + 1); nuc900fb_calculate_lcd_regs()
213 regs->lcd_crtc_hsync = LCM_CRTC_HSYNC_EVAL(hsync + var->hsync_len) | nuc900fb_calculate_lcd_regs()
215 regs->lcd_crtc_vr = LCM_CRTC_VR_EVAL(vsync + var->vsync_len) | nuc900fb_calculate_lcd_regs()
228 struct fb_var_screeninfo *var = &info->var; nuc900fb_activate_var() local
231 clkdiv = nuc900fb_calc_pixclk(fbi, var->pixclock) - 1; nuc900fb_activate_var()
267 struct fb_var_screeninfo *var = &info->var; nuc900fb_set_par() local
269 switch (var->bits_per_pixel) { nuc900fb_set_par()
285 info->fix.line_length = (var->xres_virtual * var->bits_per_pixel) / 8; nuc900fb_set_par()
312 val = chan_to_field(red, &info->var.red); nuc900fb_setcolreg()
313 val |= chan_to_field(green, &info->var.green); nuc900fb_setcolreg()
314 val |= chan_to_field(blue, &info->var.blue); nuc900fb_setcolreg()
582 fbinfo->var.nonstd = 0; nuc900fb_probe()
583 fbinfo->var.activate = FB_ACTIVATE_NOW; nuc900fb_probe()
584 fbinfo->var.accel_flags = 0; nuc900fb_probe()
585 fbinfo->var.vmode = FB_VMODE_NONINTERLACED; nuc900fb_probe()
629 fbinfo->var.xres = display->xres; nuc900fb_probe()
630 fbinfo->var.yres = display->yres; nuc900fb_probe()
631 fbinfo->var.bits_per_pixel = display->bpp; nuc900fb_probe()
635 nuc900fb_check_var(&fbinfo->var, fbinfo); nuc900fb_probe()
H A Dasiliantfb.c92 static int asiliantfb_check_var(struct fb_var_screeninfo *var,
176 unsigned hd = p->var.xres / 8; asiliant_set_timing()
177 unsigned hs = (p->var.xres + p->var.right_margin) / 8; asiliant_set_timing()
178 unsigned he = (p->var.xres + p->var.right_margin + p->var.hsync_len) / 8; asiliant_set_timing()
179 unsigned ht = (p->var.left_margin + p->var.xres + p->var.right_margin + p->var.hsync_len) / 8; asiliant_set_timing()
180 unsigned vd = p->var.yres; asiliant_set_timing()
181 unsigned vs = p->var.yres + p->var.lower_margin; asiliant_set_timing()
182 unsigned ve = p->var.yres + p->var.lower_margin + p->var.vsync_len; asiliant_set_timing()
183 unsigned vt = p->var.upper_margin + p->var.yres + p->var.lower_margin + p->var.vsync_len; asiliant_set_timing()
184 unsigned wd = (p->var.xres_virtual * ((p->var.bits_per_pixel+7)/8)) / 8; asiliant_set_timing()
186 if ((p->var.xres == 640) && (p->var.yres == 480) && (p->var.pixclock == 39722)) { asiliant_set_timing()
218 if (p->var.xres == 640) { asiliant_set_timing()
225 static int asiliantfb_check_var(struct fb_var_screeninfo *var, asiliantfb_check_var() argument
230 ratio = 1000000 / var->pixclock; asiliantfb_check_var()
231 remainder = 1000000 % var->pixclock; asiliantfb_check_var()
232 Ftarget = 1000000 * ratio + (1000000 * remainder) / var->pixclock; asiliantfb_check_var()
240 var->xres_virtual = var->xres; asiliantfb_check_var()
241 var->yres_virtual = var->yres; asiliantfb_check_var()
243 if (var->bits_per_pixel == 24) { asiliantfb_check_var()
244 var->red.offset = 16; asiliantfb_check_var()
245 var->green.offset = 8; asiliantfb_check_var()
246 var->blue.offset = 0; asiliantfb_check_var()
247 var->red.length = var->blue.length = var->green.length = 8; asiliantfb_check_var()
248 } else if (var->bits_per_pixel == 16) { asiliantfb_check_var()
249 switch (var->red.offset) { asiliantfb_check_var()
251 var->green.length = 6; asiliantfb_check_var()
254 var->green.length = 5; asiliantfb_check_var()
259 var->green.offset = 5; asiliantfb_check_var()
260 var->blue.offset = 0; asiliantfb_check_var()
261 var->red.length = var->blue.length = 5; asiliantfb_check_var()
262 } else if (var->bits_per_pixel == 8) { asiliantfb_check_var()
263 var->red.offset = var->green.offset = var->blue.offset = 0; asiliantfb_check_var()
264 var->red.length = var->green.length = var->blue.length = 8; asiliantfb_check_var()
276 asiliant_calc_dclk2(&p->var.pixclock, &dclk2_m, &dclk2_n, &dclk2_div); asiliantfb_set_par()
279 if (p->var.bits_per_pixel == 24) { asiliantfb_set_par()
283 } else if (p->var.bits_per_pixel == 16) { asiliantfb_set_par()
284 if (p->var.red.offset == 11) asiliantfb_set_par()
290 } else if (p->var.bits_per_pixel == 8) { asiliantfb_set_par()
296 p->fix.line_length = p->var.xres * (p->var.bits_per_pixel >> 3); asiliantfb_set_par()
297 p->fix.visual = (p->var.bits_per_pixel == 8) ? FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR; asiliantfb_set_par()
323 switch(p->var.red.offset) { asiliantfb_setcolreg()
513 p->var = asiliantfb_var; init_asiliant()
H A Dhitfb.c134 if (p->var.bits_per_pixel == 16) { hitfb_fillrect()
152 hitfb_accel_bitblt(p->var.bits_per_pixel == 16, area->sx, area->sy, hitfb_copyarea()
157 static int hitfb_pan_display(struct fb_var_screeninfo *var, hitfb_pan_display() argument
160 int xoffset = var->xoffset; hitfb_pan_display()
161 int yoffset = var->yoffset; hitfb_pan_display()
213 switch (info->var.bits_per_pixel) { hitfb_setcolreg()
238 static int hitfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) hitfb_check_var() argument
242 var->xres = info->var.xres; hitfb_check_var()
243 var->xres_virtual = info->var.xres; hitfb_check_var()
244 var->yres = info->var.yres; hitfb_check_var()
246 if ((var->bits_per_pixel != 8) && (var->bits_per_pixel != 16)) hitfb_check_var()
247 var->bits_per_pixel = info->var.bits_per_pixel; hitfb_check_var()
249 if (var->yres_virtual < var->yres) hitfb_check_var()
250 var->yres_virtual = var->yres; hitfb_check_var()
252 maxy = info->fix.smem_len / var->xres; hitfb_check_var()
254 if (var->bits_per_pixel == 16) hitfb_check_var()
257 if (var->yres_virtual > maxy) hitfb_check_var()
258 var->yres_virtual = maxy; hitfb_check_var()
260 var->xoffset = 0; hitfb_check_var()
261 var->yoffset = 0; hitfb_check_var()
263 switch (var->bits_per_pixel) { hitfb_check_var()
265 var->red.offset = 0; hitfb_check_var()
266 var->red.length = 8; hitfb_check_var()
267 var->green.offset = 0; hitfb_check_var()
268 var->green.length = 8; hitfb_check_var()
269 var->blue.offset = 0; hitfb_check_var()
270 var->blue.length = 8; hitfb_check_var()
271 var->transp.offset = 0; hitfb_check_var()
272 var->transp.length = 0; hitfb_check_var()
275 var->red.offset = 11; hitfb_check_var()
276 var->red.length = 5; hitfb_check_var()
277 var->green.offset = 5; hitfb_check_var()
278 var->green.length = 6; hitfb_check_var()
279 var->blue.offset = 0; hitfb_check_var()
280 var->blue.length = 5; hitfb_check_var()
281 var->transp.offset = 0; hitfb_check_var()
282 var->transp.length = 0; hitfb_check_var()
293 switch (info->var.bits_per_pixel) { hitfb_set_par()
295 info->fix.line_length = info->var.xres; hitfb_set_par()
300 info->fix.line_length = info->var.xres*2; hitfb_set_par()
309 ldr3 |= (info->var.bits_per_pixel == 8) ? 4 : 8; hitfb_set_par()
390 info->var = hitfb_var; hitfb_probe()
H A Dpvr2fb.c200 static void set_color_bitfields(struct fb_var_screeninfo *var);
201 static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info);
286 static void set_color_bitfields(struct fb_var_screeninfo *var) set_color_bitfields() argument
288 switch (var->bits_per_pixel) { set_color_bitfields()
291 var->red.offset = 11; var->red.length = 5; set_color_bitfields()
292 var->green.offset = 5; var->green.length = 6; set_color_bitfields()
293 var->blue.offset = 0; var->blue.length = 5; set_color_bitfields()
294 var->transp.offset = 0; var->transp.length = 0; set_color_bitfields()
297 var->red.offset = 16; var->red.length = 8; set_color_bitfields()
298 var->green.offset = 8; var->green.length = 8; set_color_bitfields()
299 var->blue.offset = 0; var->blue.length = 8; set_color_bitfields()
300 var->transp.offset = 0; var->transp.length = 0; set_color_bitfields()
304 var->red.offset = 16; var->red.length = 8; set_color_bitfields()
305 var->green.offset = 8; var->green.length = 8; set_color_bitfields()
306 var->blue.offset = 0; var->blue.length = 8; set_color_bitfields()
307 var->transp.offset = 24; var->transp.length = 8; set_color_bitfields()
327 switch (info->var.bits_per_pixel) { pvr2fb_setcolreg()
346 pr_debug("Invalid bit depth %d?!?\n", info->var.bits_per_pixel); pvr2fb_setcolreg()
359 struct fb_var_screeninfo *var = &info->var; pvr2fb_set_par() local
374 var->vmode &= FB_VMODE_MASK; pvr2fb_set_par()
375 if (var->vmode & FB_VMODE_INTERLACED && video_output != VO_VGA) pvr2fb_set_par()
381 if (var->vmode & FB_VMODE_DOUBLE && video_output == VO_VGA) pvr2fb_set_par()
384 par->hsync_total = var->left_margin + var->xres + var->right_margin + pvr2fb_set_par()
385 var->hsync_len; pvr2fb_set_par()
386 par->vsync_total = var->upper_margin + var->yres + var->lower_margin + pvr2fb_set_par()
387 var->vsync_len; pvr2fb_set_par()
389 if (var->sync & FB_SYNC_BROADCAST) { pvr2fb_set_par()
415 par->diwstart_h = par->borderstart_h + var->left_margin; pvr2fb_set_par()
416 par->diwstart_v = par->borderstart_v + var->upper_margin; pvr2fb_set_par()
417 par->borderstop_h = par->diwstart_h + var->xres + pvr2fb_set_par()
418 var->right_margin; pvr2fb_set_par()
419 par->borderstop_v = par->diwstart_v + var->yres + pvr2fb_set_par()
420 var->lower_margin; pvr2fb_set_par()
424 if (info->var.xres < 640) pvr2fb_set_par()
427 line_length = get_line_length(var->xres_virtual, var->bits_per_pixel); pvr2fb_set_par()
428 par->disp_start = info->fix.smem_start + (line_length * var->yoffset) * line_length; pvr2fb_set_par()
433 static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) pvr2fb_check_var() argument
439 if (var->pixclock != TV_CLK && var->pixclock != VGA_CLK) { pvr2fb_check_var()
440 pr_debug("Invalid pixclock value %d\n", var->pixclock); pvr2fb_check_var()
444 if (var->xres < 320) pvr2fb_check_var()
445 var->xres = 320; pvr2fb_check_var()
446 if (var->yres < 240) pvr2fb_check_var()
447 var->yres = 240; pvr2fb_check_var()
448 if (var->xres_virtual < var->xres) pvr2fb_check_var()
449 var->xres_virtual = var->xres; pvr2fb_check_var()
450 if (var->yres_virtual < var->yres) pvr2fb_check_var()
451 var->yres_virtual = var->yres; pvr2fb_check_var()
453 if (var->bits_per_pixel <= 16) pvr2fb_check_var()
454 var->bits_per_pixel = 16; pvr2fb_check_var()
455 else if (var->bits_per_pixel <= 24) pvr2fb_check_var()
456 var->bits_per_pixel = 24; pvr2fb_check_var()
457 else if (var->bits_per_pixel <= 32) pvr2fb_check_var()
458 var->bits_per_pixel = 32; pvr2fb_check_var()
460 set_color_bitfields(var); pvr2fb_check_var()
462 if (var->vmode & FB_VMODE_YWRAP) { pvr2fb_check_var()
463 if (var->xoffset || var->yoffset < 0 || pvr2fb_check_var()
464 var->yoffset >= var->yres_virtual) { pvr2fb_check_var()
465 var->xoffset = var->yoffset = 0; pvr2fb_check_var()
467 if (var->xoffset > var->xres_virtual - var->xres || pvr2fb_check_var()
468 var->yoffset > var->yres_virtual - var->yres || pvr2fb_check_var()
469 var->xoffset < 0 || var->yoffset < 0) pvr2fb_check_var()
470 var->xoffset = var->yoffset = 0; pvr2fb_check_var()
473 var->xoffset = var->yoffset = 0; pvr2fb_check_var()
480 if (var->yres < 480 && video_output == VO_VGA) pvr2fb_check_var()
481 var->vmode |= FB_VMODE_DOUBLE; pvr2fb_check_var()
484 var->sync |= FB_SYNC_BROADCAST; pvr2fb_check_var()
485 var->vmode |= FB_VMODE_INTERLACED; pvr2fb_check_var()
487 var->sync &= ~FB_SYNC_BROADCAST; pvr2fb_check_var()
488 var->vmode &= ~FB_VMODE_INTERLACED; pvr2fb_check_var()
489 var->vmode |= FB_VMODE_NONINTERLACED; pvr2fb_check_var()
492 if ((var->activate & FB_ACTIVATE_MASK) != FB_ACTIVATE_TEST) { pvr2fb_check_var()
493 var->right_margin = par->borderstop_h - pvr2fb_check_var()
494 (par->diwstart_h + var->xres); pvr2fb_check_var()
495 var->left_margin = par->diwstart_h - par->borderstart_h; pvr2fb_check_var()
496 var->hsync_len = par->borderstart_h + pvr2fb_check_var()
499 var->upper_margin = par->diwstart_v - par->borderstart_v; pvr2fb_check_var()
500 var->lower_margin = par->borderstop_v - pvr2fb_check_var()
501 (par->diwstart_v + var->yres); pvr2fb_check_var()
502 var->vsync_len = par->borderstop_v + pvr2fb_check_var()
506 hsync_total = var->left_margin + var->xres + var->right_margin + pvr2fb_check_var()
507 var->hsync_len; pvr2fb_check_var()
508 vtotal = var->upper_margin + var->yres + var->lower_margin + pvr2fb_check_var()
509 var->vsync_len; pvr2fb_check_var()
511 if (var->sync & FB_SYNC_BROADCAST) { pvr2fb_check_var()
512 if (var->vmode & FB_VMODE_INTERLACED) pvr2fb_check_var()
531 line_length = get_line_length(var->xres_virtual, var->bits_per_pixel); pvr2fb_check_var()
532 if (line_length * var->yres_virtual > info->fix.smem_len) pvr2fb_check_var()
541 struct fb_var_screeninfo *var = &info->var; pvr2_update_display() local
546 get_line_length(var->xoffset+var->xres, var->bits_per_pixel), pvr2_update_display()
559 struct fb_var_screeninfo *var = &info->var; pvr2_init_display() local
561 unsigned int bytesperpixel = var->bits_per_pixel >> 3; pvr2_init_display()
571 diw_height = (par->is_interlaced ? var->yres / 2 : var->yres); pvr2_init_display()
572 diw_width = get_line_length(var->xres, var->bits_per_pixel) / 4; pvr2_init_display()
579 get_line_length(var->xoffset+var->xres, var->bits_per_pixel), pvr2_init_display()
801 if (!fb_find_mode(&fb_info->var, fb_info, mode_option, pvr2_modedb, pvr2fb_common_init()
803 fb_info->var = pvr2_var; pvr2fb_common_init()
812 modememused = get_line_length(fb_info->var.xres_virtual, pvr2fb_common_init()
813 fb_info->var.bits_per_pixel); pvr2fb_common_init()
814 modememused *= fb_info->var.yres_virtual; pvr2fb_common_init()
823 fb_info->var.xres, fb_info->var.yres, pvr2fb_common_init()
824 fb_info->var.bits_per_pixel, pvr2fb_common_init()
825 get_line_length(fb_info->var.xres, fb_info->var.bits_per_pixel), pvr2fb_common_init()
H A Dwm8505fb.c74 writel(info->var.xres, fbi->regbase + WMT_GOVR_XRES); wm8505fb_init_hw()
75 writel(info->var.xres_virtual, fbi->regbase + WMT_GOVR_XRES_VIRTUAL); wm8505fb_init_hw()
90 int h_start = info->var.left_margin; wm8505fb_set_timing()
91 int h_end = h_start + info->var.xres; wm8505fb_set_timing()
92 int h_all = h_end + info->var.right_margin; wm8505fb_set_timing()
93 int h_sync = info->var.hsync_len; wm8505fb_set_timing()
95 int v_start = info->var.upper_margin; wm8505fb_set_timing()
96 int v_end = v_start + info->var.yres; wm8505fb_set_timing()
97 int v_all = v_end + info->var.lower_margin; wm8505fb_set_timing()
98 int v_sync = info->var.vsync_len; wm8505fb_set_timing()
125 if (info->var.bits_per_pixel == 32) { wm8505fb_set_par()
126 info->var.red.offset = 16; wm8505fb_set_par()
127 info->var.red.length = 8; wm8505fb_set_par()
128 info->var.red.msb_right = 0; wm8505fb_set_par()
129 info->var.green.offset = 8; wm8505fb_set_par()
130 info->var.green.length = 8; wm8505fb_set_par()
131 info->var.green.msb_right = 0; wm8505fb_set_par()
132 info->var.blue.offset = 0; wm8505fb_set_par()
133 info->var.blue.length = 8; wm8505fb_set_par()
134 info->var.blue.msb_right = 0; wm8505fb_set_par()
136 info->fix.line_length = info->var.xres_virtual << 2; wm8505fb_set_par()
137 } else if (info->var.bits_per_pixel == 16) { wm8505fb_set_par()
138 info->var.red.offset = 11; wm8505fb_set_par()
139 info->var.red.length = 5; wm8505fb_set_par()
140 info->var.red.msb_right = 0; wm8505fb_set_par()
141 info->var.green.offset = 5; wm8505fb_set_par()
142 info->var.green.length = 6; wm8505fb_set_par()
143 info->var.green.msb_right = 0; wm8505fb_set_par()
144 info->var.blue.offset = 0; wm8505fb_set_par()
145 info->var.blue.length = 5; wm8505fb_set_par()
146 info->var.blue.msb_right = 0; wm8505fb_set_par()
148 info->fix.line_length = info->var.xres_virtual << 1; wm8505fb_set_par()
203 if (info->var.grayscale) wm8505fb_setcolreg()
212 val = chan_to_field(red, &fbi->fb.var.red); wm8505fb_setcolreg()
213 val |= chan_to_field(green, &fbi->fb.var.green); wm8505fb_setcolreg()
214 val |= chan_to_field(blue, &fbi->fb.var.blue); wm8505fb_setcolreg()
225 static int wm8505fb_pan_display(struct fb_var_screeninfo *var, wm8505fb_pan_display() argument
230 writel(var->xoffset, fbi->regbase + WMT_GOVR_XPAN); wm8505fb_pan_display()
231 writel(var->yoffset, fbi->regbase + WMT_GOVR_YPAN); wm8505fb_pan_display()
323 fb_videomode_to_var(&fbi->fb.var, &mode); wm8505fb_probe()
325 fbi->fb.var.nonstd = 0; wm8505fb_probe()
326 fbi->fb.var.activate = FB_ACTIVATE_NOW; wm8505fb_probe()
328 fbi->fb.var.height = -1; wm8505fb_probe()
329 fbi->fb.var.width = -1; wm8505fb_probe()
340 fbi->fb.var.xres_virtual = mode.xres; wm8505fb_probe()
341 fbi->fb.var.yres_virtual = mode.yres * 2; wm8505fb_probe()
342 fbi->fb.var.bits_per_pixel = bpp; wm8505fb_probe()
H A Dgxt4500.c282 static int gxt4500_var_to_par(struct fb_var_screeninfo *var, gxt4500_var_to_par() argument
285 if (var->xres + var->xoffset > var->xres_virtual || gxt4500_var_to_par()
286 var->yres + var->yoffset > var->yres_virtual || gxt4500_var_to_par()
287 var->xres_virtual > 4096) gxt4500_var_to_par()
289 if ((var->vmode & FB_VMODE_MASK) != FB_VMODE_NONINTERLACED) gxt4500_var_to_par()
292 if (calc_pll(var->pixclock, par) < 0) gxt4500_var_to_par()
295 switch (var->bits_per_pixel) { gxt4500_var_to_par()
297 if (var->transp.length) gxt4500_var_to_par()
306 if (var->green.length == 5) gxt4500_var_to_par()
324 static void gxt4500_unpack_pixfmt(struct fb_var_screeninfo *var, gxt4500_unpack_pixfmt() argument
327 var->bits_per_pixel = pixsize[pixfmt] * 8; gxt4500_unpack_pixfmt()
328 var->red = eightbits; gxt4500_unpack_pixfmt()
329 var->green = eightbits; gxt4500_unpack_pixfmt()
330 var->blue = eightbits; gxt4500_unpack_pixfmt()
331 var->transp = nobits; gxt4500_unpack_pixfmt()
335 var->red.length = 5; gxt4500_unpack_pixfmt()
336 var->green.length = 6; gxt4500_unpack_pixfmt()
337 var->blue.length = 5; gxt4500_unpack_pixfmt()
340 var->red.length = 5; gxt4500_unpack_pixfmt()
341 var->green.length = 5; gxt4500_unpack_pixfmt()
342 var->blue.length = 5; gxt4500_unpack_pixfmt()
343 var->transp.length = 1; gxt4500_unpack_pixfmt()
346 var->transp.length = 8; gxt4500_unpack_pixfmt()
350 var->green.offset = var->red.length; gxt4500_unpack_pixfmt()
351 var->blue.offset = var->green.offset + var->green.length; gxt4500_unpack_pixfmt()
352 if (var->transp.length) gxt4500_unpack_pixfmt()
353 var->transp.offset = gxt4500_unpack_pixfmt()
354 var->blue.offset + var->blue.length; gxt4500_unpack_pixfmt()
358 static int gxt4500_check_var(struct fb_var_screeninfo *var, gxt4500_check_var() argument
365 err = gxt4500_var_to_par(var, &par); gxt4500_check_var()
367 var->pixclock = calc_pixclock(&par); gxt4500_check_var()
368 gxt4500_unpack_pixfmt(var, par.pixfmt); gxt4500_check_var()
376 struct fb_var_screeninfo *var = &info->var; gxt4500_set_par() local
385 err = gxt4500_var_to_par(var, par); gxt4500_set_par()
427 htot = var->xres + var->left_margin + var->right_margin + gxt4500_set_par()
428 var->hsync_len; gxt4500_set_par()
430 writereg(par, DTG_HORIZ_DISPLAY, var->xres - 1); gxt4500_set_par()
431 writereg(par, DTG_HSYNC_START, var->xres + var->right_margin - 1); gxt4500_set_par()
433 var->xres + var->right_margin + var->hsync_len - 1); gxt4500_set_par()
435 var->xres + var->right_margin + var->hsync_len - 1); gxt4500_set_par()
437 var->yres + var->upper_margin + var->lower_margin + gxt4500_set_par()
438 var->vsync_len - 1); gxt4500_set_par()
439 writereg(par, DTG_VERT_DISPLAY, var->yres - 1); gxt4500_set_par()
440 writereg(par, DTG_VSYNC_START, var->yres + var->lower_margin - 1); gxt4500_set_par()
442 var->yres + var->lower_margin + var->vsync_len - 1); gxt4500_set_par()
443 prefetch_pix = 3300000 / var->pixclock; gxt4500_set_par()
451 if (var->xres_virtual > 2048) { gxt4500_set_par()
454 } else if (var->xres_virtual > 1024) { gxt4500_set_par()
463 wid_tiles = (var->xres_virtual + 63) >> 6; gxt4500_set_par()
470 writereg(par, REFRESH_START, (var->xoffset << 16) | var->yoffset); gxt4500_set_par()
471 writereg(par, REFRESH_SIZE, (var->xres << 16) | var->yres); gxt4500_set_par()
495 if (var->sync & FB_SYNC_ON_GREEN) gxt4500_set_par()
497 if (!(var->sync & FB_SYNC_HOR_HIGH_ACT)) gxt4500_set_par()
499 if (!(var->sync & FB_SYNC_VERT_HIGH_ACT)) gxt4500_set_par()
546 static int gxt4500_pan_display(struct fb_var_screeninfo *var, gxt4500_pan_display() argument
551 if (var->xoffset & 7) gxt4500_pan_display()
553 if (var->xoffset + info->var.xres > info->var.xres_virtual || gxt4500_pan_display()
554 var->yoffset + info->var.yres > info->var.yres_virtual) gxt4500_pan_display()
557 writereg(par, REFRESH_START, (var->xoffset << 16) | var->yoffset); gxt4500_pan_display()
619 struct fb_var_screeninfo var; gxt4500_probe() local
687 if (!fb_find_mode(&var, info, mode_option, NULL, 0, &defaultmode, 8)) { gxt4500_probe()
691 info->var = var; gxt4500_probe()
H A Dps3fb.c265 const struct fb_var_screeninfo *var) ps3fb_cmp_mode()
271 if (var->xres > vmode->xres || var->yres > vmode->yres || ps3fb_cmp_mode()
272 var->pixclock > vmode->pixclock || ps3fb_cmp_mode()
273 var->hsync_len > vmode->hsync_len || ps3fb_cmp_mode()
274 var->vsync_len > vmode->vsync_len) ps3fb_cmp_mode()
278 if ((var->vmode & FB_VMODE_MASK) != vmode->vmode) ps3fb_cmp_mode()
282 xres = max(var->xres, 1U); ps3fb_cmp_mode()
283 yres = max(var->yres, 1U); ps3fb_cmp_mode()
286 left_margin = max(var->left_margin, vmode->left_margin); ps3fb_cmp_mode()
287 right_margin = max(var->right_margin, vmode->right_margin); ps3fb_cmp_mode()
288 upper_margin = max(var->upper_margin, vmode->upper_margin); ps3fb_cmp_mode()
289 lower_margin = max(var->lower_margin, vmode->lower_margin); ps3fb_cmp_mode()
332 static unsigned int ps3fb_find_mode(struct fb_var_screeninfo *var, ps3fb_find_mode() argument
343 var->left_margin, var->xres, var->right_margin, ps3fb_find_mode()
344 var->upper_margin, var->yres, var->lower_margin); ps3fb_find_mode()
347 diff = ps3fb_cmp_mode(vmode, var); ps3fb_find_mode()
373 if (!var->xres) ps3fb_find_mode()
374 var->xres = 1; ps3fb_find_mode()
375 if (!var->yres) ps3fb_find_mode()
376 var->yres = 1; ps3fb_find_mode()
379 if (var->xres_virtual < var->xres) ps3fb_find_mode()
380 var->xres_virtual = var->xres; ps3fb_find_mode()
381 if (var->yres_virtual < var->yres) ps3fb_find_mode()
382 var->yres_virtual = var->yres; ps3fb_find_mode()
385 if (var->left_margin < vmode->left_margin) ps3fb_find_mode()
386 var->left_margin = vmode->left_margin; ps3fb_find_mode()
387 if (var->right_margin < vmode->right_margin) ps3fb_find_mode()
388 var->right_margin = vmode->right_margin; ps3fb_find_mode()
389 if (var->upper_margin < vmode->upper_margin) ps3fb_find_mode()
390 var->upper_margin = vmode->upper_margin; ps3fb_find_mode()
391 if (var->lower_margin < vmode->lower_margin) ps3fb_find_mode()
392 var->lower_margin = vmode->lower_margin; ps3fb_find_mode()
397 ((long)var->left_margin + (long)var->xres + ps3fb_find_mode()
398 (long)var->right_margin); ps3fb_find_mode()
400 var->left_margin += gap/2; ps3fb_find_mode()
401 var->right_margin += (gap+1)/2; ps3fb_find_mode()
403 var->left_margin, var->xres, var->right_margin); ps3fb_find_mode()
408 ((long)var->upper_margin + (long)var->yres + ps3fb_find_mode()
409 (long)var->lower_margin); ps3fb_find_mode()
411 var->upper_margin += gap/2; ps3fb_find_mode()
412 var->lower_margin += (gap+1)/2; ps3fb_find_mode()
414 var->upper_margin, var->yres, var->lower_margin); ps3fb_find_mode()
418 var->pixclock = vmode->pixclock; ps3fb_find_mode()
419 var->hsync_len = vmode->hsync_len; ps3fb_find_mode()
420 var->vsync_len = vmode->vsync_len; ps3fb_find_mode()
421 var->sync = vmode->sync; ps3fb_find_mode()
424 *xdr_line_length = GPU_ALIGN_UP(var->xres_virtual * BPP); ps3fb_find_mode()
432 if (vmode->xres == var->xres && vmode->yres == var->yres) ps3fb_find_mode()
527 * to hardware, it should only verify and adjust var.
529 * data from it to check this var.
532 static int ps3fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) ps3fb_check_var() argument
537 mode = ps3fb_find_mode(var, &ddr_line_length, &xdr_line_length); ps3fb_check_var()
542 if (var->xres_virtual > xdr_line_length / BPP) { ps3fb_check_var()
548 if (var->xoffset + var->xres > var->xres_virtual || ps3fb_check_var()
549 var->yoffset + var->yres > var->yres_virtual) { ps3fb_check_var()
555 if (var->bits_per_pixel > 32 || var->grayscale || ps3fb_check_var()
556 var->red.offset > 16 || var->green.offset > 8 || ps3fb_check_var()
557 var->blue.offset > 0 || var->transp.offset > 24 || ps3fb_check_var()
558 var->red.length > 8 || var->green.length > 8 || ps3fb_check_var()
559 var->blue.length > 8 || var->transp.length > 8 || ps3fb_check_var()
560 var->red.msb_right || var->green.msb_right || ps3fb_check_var()
561 var->blue.msb_right || var->transp.msb_right || var->nonstd) { ps3fb_check_var()
566 var->bits_per_pixel = 32; ps3fb_check_var()
567 var->red.offset = 16; ps3fb_check_var()
568 var->green.offset = 8; ps3fb_check_var()
569 var->blue.offset = 0; ps3fb_check_var()
570 var->transp.offset = 24; ps3fb_check_var()
571 var->red.length = 8; ps3fb_check_var()
572 var->green.length = 8; ps3fb_check_var()
573 var->blue.length = 8; ps3fb_check_var()
574 var->transp.length = 8; ps3fb_check_var()
575 var->red.msb_right = 0; ps3fb_check_var()
576 var->green.msb_right = 0; ps3fb_check_var()
577 var->blue.msb_right = 0; ps3fb_check_var()
578 var->transp.msb_right = 0; ps3fb_check_var()
581 if (var->rotate) { ps3fb_check_var()
587 if (var->yres_virtual * xdr_line_length > info->fix.smem_len) { ps3fb_check_var()
592 var->height = -1; ps3fb_check_var()
593 var->width = -1; ps3fb_check_var()
610 mode = ps3fb_find_mode(&info->var, &ddr_line_length, &xdr_line_length); ps3fb_set_par()
616 info->fix.xpanstep = info->var.xres_virtual > info->var.xres ? 1 : 0; ps3fb_set_par()
617 info->fix.ypanstep = info->var.yres_virtual > info->var.yres ? 1 : 0; ps3fb_set_par()
622 par->xdr_frame_size = info->var.yres_virtual * xdr_line_length; ps3fb_set_par()
630 par->width = info->var.xres; ps3fb_set_par()
631 par->height = info->var.yres; ps3fb_set_par()
634 ddr_xoff = info->var.left_margin - vmode->left_margin; ps3fb_set_par()
635 ddr_yoff = info->var.upper_margin - vmode->upper_margin; ps3fb_set_par()
640 par->pan_offset = info->var.yoffset * xdr_line_length + ps3fb_set_par()
641 info->var.xoffset * BPP; ps3fb_set_par()
672 * entries in the var structure). Return != 0 for invalid regno.
692 static int ps3fb_pan_display(struct fb_var_screeninfo *var, ps3fb_pan_display() argument
697 par->pan_offset = var->yoffset * info->fix.line_length + ps3fb_pan_display()
698 var->xoffset * BPP; ps3fb_pan_display()
810 struct fb_var_screeninfo var; ps3fb_ioctl() local
824 var = info->var; ps3fb_ioctl()
825 fb_videomode_to_var(&var, vmode); ps3fb_ioctl()
829 var.activate |= FB_ACTIVATE_FORCE; ps3fb_ioctl()
831 retval = fb_set_var(info, &var); ps3fb_ioctl()
851 res.yres = info->var.yres_virtual; ps3fb_ioctl()
852 res.xoff = (res.xres - info->var.xres) / 2; ps3fb_ioctl()
853 res.yoff = (res.yres - info->var.yres) / 2; ps3fb_ioctl()
1153 if (!fb_find_mode(&info->var, info, mode_option, ps3fb_modedb, ps3fb_probe()
264 ps3fb_cmp_mode(const struct fb_videomode *vmode, const struct fb_var_screeninfo *var) ps3fb_cmp_mode() argument
H A Dchipsfb.c43 #define read_ind(num, var, ap, dp) do { \
44 outb((num), (ap)); var = inb((dp)); \
49 #define read_xr(num, var) read_ind(num, var, 0x3d6, 0x3d7)
52 #define read_fr(num, var) read_ind(num, var, 0x3d0, 0x3d1)
55 #define read_cr(num, var) read_ind(num, var, 0x3d4, 0x3d5)
58 #define read_gr(num, var) read_ind(num, var, 0x3ce, 0x3cf)
61 #define read_sr(num, var) read_ind(num, var, 0x3c4, 0x3c5)
66 #define read_ar(num, var) do { \
67 inb(0x3da); read_ind(num, var, 0x3c0, 0x3c1); \
76 static int chipsfb_check_var(struct fb_var_screeninfo *var,
94 static int chipsfb_check_var(struct fb_var_screeninfo *var, chipsfb_check_var() argument
97 if (var->xres > 800 || var->yres > 600 chipsfb_check_var()
98 || var->xres_virtual > 800 || var->yres_virtual > 600 chipsfb_check_var()
99 || (var->bits_per_pixel != 8 && var->bits_per_pixel != 16) chipsfb_check_var()
100 || var->nonstd chipsfb_check_var()
101 || (var->vmode & FB_VMODE_MASK) != FB_VMODE_NONINTERLACED) chipsfb_check_var()
104 var->xres = var->xres_virtual = 800; chipsfb_check_var()
105 var->yres = var->yres_virtual = 600; chipsfb_check_var()
112 if (info->var.bits_per_pixel == 16) { chipsfb_set_par()
121 info->var.red.offset = 10; chipsfb_set_par()
122 info->var.green.offset = 5; chipsfb_set_par()
123 info->var.blue.offset = 0; chipsfb_set_par()
124 info->var.red.length = info->var.green.length = chipsfb_set_par()
125 info->var.blue.length = 5; chipsfb_set_par()
128 /* p->var.bits_per_pixel == 8 */ chipsfb_set_par()
137 info->var.red.offset = info->var.green.offset = chipsfb_set_par()
138 info->var.blue.offset = 0; chipsfb_set_par()
139 info->var.red.length = info->var.green.length = chipsfb_set_par()
140 info->var.blue.length = 8; chipsfb_set_par()
340 p->var = chipsfb_var; init_chips()
H A Damba-clcd.c62 ustart += fb->fb.var.yoffset * fb->fb.fix.line_length; clcdfb_set_start()
63 lstart = ustart + fb->fb.var.yres * fb->fb.fix.line_length / 2; clcdfb_set_start()
129 clcdfb_set_bitfields(struct clcd_fb *fb, struct fb_var_screeninfo *var) clcdfb_set_bitfields() argument
148 memset(&var->transp, 0, sizeof(var->transp)); clcdfb_set_bitfields()
150 var->red.msb_right = 0; clcdfb_set_bitfields()
151 var->green.msb_right = 0; clcdfb_set_bitfields()
152 var->blue.msb_right = 0; clcdfb_set_bitfields()
154 switch (var->bits_per_pixel) { clcdfb_set_bitfields()
166 var->red.length = var->bits_per_pixel; clcdfb_set_bitfields()
167 var->red.offset = 0; clcdfb_set_bitfields()
168 var->green.length = var->bits_per_pixel; clcdfb_set_bitfields()
169 var->green.offset = 0; clcdfb_set_bitfields()
170 var->blue.length = var->bits_per_pixel; clcdfb_set_bitfields()
171 var->blue.offset = 0; clcdfb_set_bitfields()
185 if (var->green.length == 4 && caps & CLCD_CAP_444) clcdfb_set_bitfields()
187 if (var->green.length == 5 && caps & CLCD_CAP_5551) clcdfb_set_bitfields()
189 else if (var->green.length == 6 && caps & CLCD_CAP_565) clcdfb_set_bitfields()
197 var->green.length = 6; clcdfb_set_bitfields()
200 var->green.length = 5; clcdfb_set_bitfields()
203 var->green.length = 4; clcdfb_set_bitfields()
208 if (var->green.length >= 5) { clcdfb_set_bitfields()
209 var->red.length = 5; clcdfb_set_bitfields()
210 var->blue.length = 5; clcdfb_set_bitfields()
212 var->red.length = 4; clcdfb_set_bitfields()
213 var->blue.length = 4; clcdfb_set_bitfields()
224 var->red.length = 8; clcdfb_set_bitfields()
225 var->green.length = 8; clcdfb_set_bitfields()
226 var->blue.length = 8; clcdfb_set_bitfields()
238 if (ret == 0 && var->bits_per_pixel >= 16) { clcdfb_set_bitfields()
241 bgr = caps & CLCD_CAP_BGR && var->blue.offset == 0; clcdfb_set_bitfields()
242 rgb = caps & CLCD_CAP_RGB && var->red.offset == 0; clcdfb_set_bitfields()
253 var->blue.offset = 0; clcdfb_set_bitfields()
254 var->green.offset = var->blue.offset + var->blue.length; clcdfb_set_bitfields()
255 var->red.offset = var->green.offset + var->green.length; clcdfb_set_bitfields()
257 var->red.offset = 0; clcdfb_set_bitfields()
258 var->green.offset = var->red.offset + var->red.length; clcdfb_set_bitfields()
259 var->blue.offset = var->green.offset + var->green.length; clcdfb_set_bitfields()
266 static int clcdfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) clcdfb_check_var() argument
272 ret = fb->board->check(fb, var); clcdfb_check_var()
275 var->xres_virtual * var->bits_per_pixel / 8 * clcdfb_check_var()
276 var->yres_virtual > fb->fb.fix.smem_len) clcdfb_check_var()
280 ret = clcdfb_set_bitfields(fb, var); clcdfb_check_var()
290 fb->fb.fix.line_length = fb->fb.var.xres_virtual * clcdfb_set_par()
291 fb->fb.var.bits_per_pixel / 8; clcdfb_set_par()
293 if (fb->fb.var.bits_per_pixel <= 8) clcdfb_set_par()
347 fb->cmap[regno] = convert_bitfield(transp, &fb->fb.var.transp) | clcdfb_setcolreg()
348 convert_bitfield(blue, &fb->fb.var.blue) | clcdfb_setcolreg()
349 convert_bitfield(green, &fb->fb.var.green) | clcdfb_setcolreg()
350 convert_bitfield(red, &fb->fb.var.red); clcdfb_setcolreg()
486 fb->fb.var.xres = fb->panel->mode.xres; clcdfb_register()
487 fb->fb.var.yres = fb->panel->mode.yres; clcdfb_register()
488 fb->fb.var.xres_virtual = fb->panel->mode.xres; clcdfb_register()
489 fb->fb.var.yres_virtual = fb->panel->mode.yres; clcdfb_register()
490 fb->fb.var.bits_per_pixel = fb->panel->bpp; clcdfb_register()
491 fb->fb.var.grayscale = fb->panel->grayscale; clcdfb_register()
492 fb->fb.var.pixclock = fb->panel->mode.pixclock; clcdfb_register()
493 fb->fb.var.left_margin = fb->panel->mode.left_margin; clcdfb_register()
494 fb->fb.var.right_margin = fb->panel->mode.right_margin; clcdfb_register()
495 fb->fb.var.upper_margin = fb->panel->mode.upper_margin; clcdfb_register()
496 fb->fb.var.lower_margin = fb->panel->mode.lower_margin; clcdfb_register()
497 fb->fb.var.hsync_len = fb->panel->mode.hsync_len; clcdfb_register()
498 fb->fb.var.vsync_len = fb->panel->mode.vsync_len; clcdfb_register()
499 fb->fb.var.sync = fb->panel->mode.sync; clcdfb_register()
500 fb->fb.var.vmode = fb->panel->mode.vmode; clcdfb_register()
501 fb->fb.var.activate = FB_ACTIVATE_NOW; clcdfb_register()
502 fb->fb.var.nonstd = 0; clcdfb_register()
503 fb->fb.var.height = fb->panel->height; clcdfb_register()
504 fb->fb.var.width = fb->panel->width; clcdfb_register()
505 fb->fb.var.accel_flags = 0; clcdfb_register()
517 clcdfb_set_bitfields(fb, &fb->fb.var); clcdfb_register()
531 fb_set_var(&fb->fb, &fb->fb.var); clcdfb_register()
H A Dclps711x-fb.c54 if (regno >= BIT(info->var.bits_per_pixel)) clps711x_fb_setcolreg()
71 static int clps711x_fb_check_var(struct fb_var_screeninfo *var, clps711x_fb_check_var() argument
76 if (var->bits_per_pixel < 1 || clps711x_fb_check_var()
77 var->bits_per_pixel > CLPS711X_FB_BPP_MAX) clps711x_fb_check_var()
80 if (!var->pixclock) clps711x_fb_check_var()
83 val = DIV_ROUND_UP(var->xres, 16) - 1; clps711x_fb_check_var()
87 val = DIV_ROUND_UP(var->yres * var->xres * var->bits_per_pixel, 128); clps711x_fb_check_var()
92 var->transp.msb_right = 0; clps711x_fb_check_var()
93 var->transp.offset = 0; clps711x_fb_check_var()
94 var->transp.length = 0; clps711x_fb_check_var()
95 var->red.msb_right = 0; clps711x_fb_check_var()
96 var->red.offset = 0; clps711x_fb_check_var()
97 var->red.length = var->bits_per_pixel; clps711x_fb_check_var()
98 var->green = var->red; clps711x_fb_check_var()
99 var->blue = var->red; clps711x_fb_check_var()
100 var->grayscale = var->bits_per_pixel > 1; clps711x_fb_check_var()
111 size = (info->var.xres * info->var.yres * info->var.bits_per_pixel) / 8; clps711x_fb_set_par()
115 switch (info->var.bits_per_pixel) { clps711x_fb_set_par()
127 info->fix.line_length = info->var.xres * info->var.bits_per_pixel / 8; clps711x_fb_set_par()
130 lcdcon = (info->var.xres * info->var.yres * clps711x_fb_set_par()
131 info->var.bits_per_pixel) / 128 - 1; clps711x_fb_set_par()
132 lcdcon |= ((info->var.xres / 16) - 1) << 13; clps711x_fb_set_par()
135 pps = clk_get_rate(cfb->clk) / (PICOS2KHZ(info->var.pixclock) * 1000); clps711x_fb_set_par()
140 if (info->var.bits_per_pixel == 4) clps711x_fb_set_par()
142 if (info->var.bits_per_pixel >= 2) clps711x_fb_set_par()
297 &info->var.bits_per_pixel); clps711x_fb_probe()
325 info->var.activate = FB_ACTIVATE_FORCE | FB_ACTIVATE_NOW; clps711x_fb_probe()
326 info->var.height = -1; clps711x_fb_probe()
327 info->var.width = -1; clps711x_fb_probe()
328 info->var.vmode = FB_VMODE_NONINTERLACED; clps711x_fb_probe()
332 fb_videomode_to_var(&info->var, &cfb->mode); clps711x_fb_probe()
338 ret = fb_set_var(info, &info->var); clps711x_fb_probe()
H A Ds3c2410fb.c78 saddr2 += info->fix.line_length * info->var.yres; s3c2410fb_set_lcdaddr()
118 * Get the video params out of 'var'. If a value doesn't fit, round it up,
122 static int s3c2410fb_check_var(struct fb_var_screeninfo *var, s3c2410fb_check_var() argument
133 dprintk("check_var(var=%p, info=%p)\n", var, info); s3c2410fb_check_var()
137 if (var->yres == default_display->yres && s3c2410fb_check_var()
138 var->xres == default_display->xres && s3c2410fb_check_var()
139 var->bits_per_pixel == default_display->bpp) s3c2410fb_check_var()
144 var->yres == mach_info->displays[i].yres && s3c2410fb_check_var()
145 var->xres == mach_info->displays[i].xres && s3c2410fb_check_var()
146 var->bits_per_pixel == mach_info->displays[i].bpp) { s3c2410fb_check_var()
153 var->xres, var->yres, var->bits_per_pixel); s3c2410fb_check_var()
158 var->xres_virtual = display->xres; s3c2410fb_check_var()
159 var->yres_virtual = display->yres; s3c2410fb_check_var()
160 var->height = display->height; s3c2410fb_check_var()
161 var->width = display->width; s3c2410fb_check_var()
164 var->pixclock = display->pixclock; s3c2410fb_check_var()
165 var->left_margin = display->left_margin; s3c2410fb_check_var()
166 var->right_margin = display->right_margin; s3c2410fb_check_var()
167 var->upper_margin = display->upper_margin; s3c2410fb_check_var()
168 var->lower_margin = display->lower_margin; s3c2410fb_check_var()
169 var->vsync_len = display->vsync_len; s3c2410fb_check_var()
170 var->hsync_len = display->hsync_len; s3c2410fb_check_var()
176 var->transp.offset = 0; s3c2410fb_check_var()
177 var->transp.length = 0; s3c2410fb_check_var()
179 switch (var->bits_per_pixel) { s3c2410fb_check_var()
183 var->red.offset = 0; s3c2410fb_check_var()
184 var->red.length = var->bits_per_pixel; s3c2410fb_check_var()
185 var->green = var->red; s3c2410fb_check_var()
186 var->blue = var->red; s3c2410fb_check_var()
191 var->red.length = 3; s3c2410fb_check_var()
192 var->red.offset = 5; s3c2410fb_check_var()
193 var->green.length = 3; s3c2410fb_check_var()
194 var->green.offset = 2; s3c2410fb_check_var()
195 var->blue.length = 2; s3c2410fb_check_var()
196 var->blue.offset = 0; s3c2410fb_check_var()
198 var->red.offset = 0; s3c2410fb_check_var()
199 var->red.length = 8; s3c2410fb_check_var()
200 var->green = var->red; s3c2410fb_check_var()
201 var->blue = var->red; s3c2410fb_check_var()
206 var->red.length = 4; s3c2410fb_check_var()
207 var->red.offset = 8; s3c2410fb_check_var()
208 var->green.length = 4; s3c2410fb_check_var()
209 var->green.offset = 4; s3c2410fb_check_var()
210 var->blue.length = 4; s3c2410fb_check_var()
211 var->blue.offset = 0; s3c2410fb_check_var()
218 var->red.offset = 11; s3c2410fb_check_var()
219 var->green.offset = 5; s3c2410fb_check_var()
220 var->blue.offset = 0; s3c2410fb_check_var()
221 var->red.length = 5; s3c2410fb_check_var()
222 var->green.length = 6; s3c2410fb_check_var()
223 var->blue.length = 5; s3c2410fb_check_var()
226 var->red.offset = 11; s3c2410fb_check_var()
227 var->green.offset = 6; s3c2410fb_check_var()
228 var->blue.offset = 1; s3c2410fb_check_var()
229 var->red.length = 5; s3c2410fb_check_var()
230 var->green.length = 5; s3c2410fb_check_var()
231 var->blue.length = 5; s3c2410fb_check_var()
236 var->red.length = 8; s3c2410fb_check_var()
237 var->red.offset = 16; s3c2410fb_check_var()
238 var->green.length = 8; s3c2410fb_check_var()
239 var->green.offset = 8; s3c2410fb_check_var()
240 var->blue.length = 8; s3c2410fb_check_var()
241 var->blue.offset = 0; s3c2410fb_check_var()
249 * calculate register values from var settings
255 const struct fb_var_screeninfo *var = &info->var; s3c2410fb_calculate_stn_lcd_regs() local
257 int hs = var->xres >> 2; s3c2410fb_calculate_stn_lcd_regs()
258 unsigned wdly = (var->left_margin >> 4) - 1; s3c2410fb_calculate_stn_lcd_regs()
259 unsigned wlh = (var->hsync_len >> 4) - 1; s3c2410fb_calculate_stn_lcd_regs()
264 switch (var->bits_per_pixel) { s3c2410fb_calculate_stn_lcd_regs()
286 var->bits_per_pixel); s3c2410fb_calculate_stn_lcd_regs()
290 var->left_margin, var->right_margin, var->hsync_len); s3c2410fb_calculate_stn_lcd_regs()
292 regs->lcdcon2 = S3C2410_LCDCON2_LINEVAL(var->yres - 1); s3c2410fb_calculate_stn_lcd_regs()
301 S3C2410_LCDCON3_LINEBLANK(var->right_margin / 8) | s3c2410fb_calculate_stn_lcd_regs()
309 * calculate register values from var settings
315 const struct fb_var_screeninfo *var = &info->var; s3c2410fb_calculate_tft_lcd_regs() local
317 switch (var->bits_per_pixel) { s3c2410fb_calculate_tft_lcd_regs()
347 var->bits_per_pixel); s3c2410fb_calculate_tft_lcd_regs()
351 var->upper_margin, var->lower_margin, var->vsync_len); s3c2410fb_calculate_tft_lcd_regs()
354 var->left_margin, var->right_margin, var->hsync_len); s3c2410fb_calculate_tft_lcd_regs()
356 regs->lcdcon2 = S3C2410_LCDCON2_LINEVAL(var->yres - 1) | s3c2410fb_calculate_tft_lcd_regs()
357 S3C2410_LCDCON2_VBPD(var->upper_margin - 1) | s3c2410fb_calculate_tft_lcd_regs()
358 S3C2410_LCDCON2_VFPD(var->lower_margin - 1) | s3c2410fb_calculate_tft_lcd_regs()
359 S3C2410_LCDCON2_VSPW(var->vsync_len - 1); s3c2410fb_calculate_tft_lcd_regs()
361 regs->lcdcon3 = S3C2410_LCDCON3_HBPD(var->right_margin - 1) | s3c2410fb_calculate_tft_lcd_regs()
362 S3C2410_LCDCON3_HFPD(var->left_margin - 1) | s3c2410fb_calculate_tft_lcd_regs()
363 S3C2410_LCDCON3_HOZVAL(var->xres - 1); s3c2410fb_calculate_tft_lcd_regs()
365 regs->lcdcon4 = S3C2410_LCDCON4_HSPW(var->hsync_len - 1); s3c2410fb_calculate_tft_lcd_regs()
378 struct fb_var_screeninfo *var = &info->var; s3c2410fb_activate_var() local
381 clkdiv = DIV_ROUND_UP(s3c2410fb_calc_pixclk(fbi, var->pixclock), 2); s3c2410fb_activate_var()
383 dprintk("%s: var->xres = %d\n", __func__, var->xres); s3c2410fb_activate_var()
384 dprintk("%s: var->yres = %d\n", __func__, var->yres); s3c2410fb_activate_var()
385 dprintk("%s: var->bpp = %d\n", __func__, var->bits_per_pixel); s3c2410fb_activate_var()
430 struct fb_var_screeninfo *var = &info->var; s3c2410fb_set_par() local
432 switch (var->bits_per_pixel) { s3c2410fb_set_par()
446 info->fix.line_length = (var->xres_virtual * var->bits_per_pixel) / 8; s3c2410fb_set_par()
504 val = chan_to_field(red, &info->var.red); s3c2410fb_setcolreg()
505 val |= chan_to_field(green, &info->var.green); s3c2410fb_setcolreg()
506 val |= chan_to_field(blue, &info->var.blue); s3c2410fb_setcolreg()
909 fbinfo->var.nonstd = 0; s3c24xxfb_probe()
910 fbinfo->var.activate = FB_ACTIVATE_NOW; s3c24xxfb_probe()
911 fbinfo->var.accel_flags = 0; s3c24xxfb_probe()
912 fbinfo->var.vmode = FB_VMODE_NONINTERLACED; s3c24xxfb_probe()
963 fbinfo->var.xres = display->xres; s3c24xxfb_probe()
964 fbinfo->var.yres = display->yres; s3c24xxfb_probe()
965 fbinfo->var.bits_per_pixel = display->bpp; s3c24xxfb_probe()
969 s3c2410fb_check_var(&fbinfo->var, fbinfo); s3c24xxfb_probe()
H A Dcyber2000fb.c20 * Note that we now use the new fbcon fix, var and cmap scheme. We do
165 if (!(cfb->fb.var.accel_flags & FB_ACCELF_TEXT)) { cyber2000fb_fillrect()
175 if (cfb->fb.var.bits_per_pixel > 8) cyber2000fb_fillrect()
179 dst = rect->dx + rect->dy * cfb->fb.var.xres_virtual; cyber2000fb_fillrect()
180 if (cfb->fb.var.bits_per_pixel == 24) { cyber2000fb_fillrect()
198 if (!(cfb->fb.var.accel_flags & FB_ACCELF_TEXT)) { cyber2000fb_copyarea()
207 src = region->sx + region->sy * cfb->fb.var.xres_virtual; cyber2000fb_copyarea()
208 dst = region->dx + region->dy * cfb->fb.var.xres_virtual; cyber2000fb_copyarea()
217 src += (region->height - 1) * cfb->fb.var.xres_virtual; cyber2000fb_copyarea()
218 dst += (region->height - 1) * cfb->fb.var.xres_virtual; cyber2000fb_copyarea()
222 if (cfb->fb.var.bits_per_pixel == 24) { cyber2000fb_copyarea()
247 if (!(cfb->fb.var.accel_flags & FB_ACCELF_TEXT)) cyber2000fb_sync()
280 struct fb_var_screeninfo *var = &cfb->fb.var; cyber2000fb_setcolreg() local
330 if (var->green.length == 6 && regno < 64) { cyber2000fb_setcolreg()
349 if (var->green.length >= 5 && regno < 32) { cyber2000fb_setcolreg()
365 if (var->green.length == 4 && regno < 16) { cyber2000fb_setcolreg()
385 pseudo_val = regno << var->red.offset | cyber2000fb_setcolreg()
386 regno << var->green.offset | cyber2000fb_setcolreg()
387 regno << var->blue.offset; cyber2000fb_setcolreg()
401 pseudo_val = convert_bitfield(transp ^ 0xffff, &var->transp); cyber2000fb_setcolreg()
402 pseudo_val |= convert_bitfield(red, &var->red); cyber2000fb_setcolreg()
403 pseudo_val |= convert_bitfield(green, &var->green); cyber2000fb_setcolreg()
404 pseudo_val |= convert_bitfield(blue, &var->blue); cyber2000fb_setcolreg()
541 cyber2000fb_update_start(struct cfb_info *cfb, struct fb_var_screeninfo *var) cyber2000fb_update_start() argument
543 u_int base = var->yoffset * var->xres_virtual + var->xoffset; cyber2000fb_update_start()
545 base *= var->bits_per_pixel; cyber2000fb_update_start()
565 struct fb_var_screeninfo *var) cyber2000fb_decode_crtc()
576 Htotal = var->xres + var->right_margin + cyber2000fb_decode_crtc()
577 var->hsync_len + var->left_margin; cyber2000fb_decode_crtc()
583 hw->crtc[1] = (var->xres >> 3) - 1; cyber2000fb_decode_crtc()
584 hw->crtc[2] = var->xres >> 3; cyber2000fb_decode_crtc()
585 hw->crtc[4] = (var->xres + var->right_margin) >> 3; cyber2000fb_decode_crtc()
592 Hsyncend = (var->xres + var->right_margin + var->hsync_len) >> 3; cyber2000fb_decode_crtc()
597 Vdispend = var->yres - 1; cyber2000fb_decode_crtc()
598 Vsyncstart = var->yres + var->lower_margin; cyber2000fb_decode_crtc()
599 Vsyncend = var->yres + var->lower_margin + var->vsync_len; cyber2000fb_decode_crtc()
600 Vtotal = var->yres + var->lower_margin + var->vsync_len + cyber2000fb_decode_crtc()
601 var->upper_margin - 2; cyber2000fb_decode_crtc()
606 Vblankstart = var->yres + 6; cyber2000fb_decode_crtc()
643 if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) cyber2000fb_decode_crtc()
666 struct fb_var_screeninfo *var) cyber2000fb_decode_clock()
668 u_long pll_ps = var->pixclock; cyber2000fb_decode_clock()
759 cyber2000fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) cyber2000fb_check_var() argument
766 var->transp.msb_right = 0; cyber2000fb_check_var()
767 var->red.msb_right = 0; cyber2000fb_check_var()
768 var->green.msb_right = 0; cyber2000fb_check_var()
769 var->blue.msb_right = 0; cyber2000fb_check_var()
770 var->transp.offset = 0; cyber2000fb_check_var()
771 var->transp.length = 0; cyber2000fb_check_var()
773 switch (var->bits_per_pixel) { cyber2000fb_check_var()
775 var->red.offset = 0; cyber2000fb_check_var()
776 var->red.length = 8; cyber2000fb_check_var()
777 var->green.offset = 0; cyber2000fb_check_var()
778 var->green.length = 8; cyber2000fb_check_var()
779 var->blue.offset = 0; cyber2000fb_check_var()
780 var->blue.length = 8; cyber2000fb_check_var()
784 switch (var->green.length) { cyber2000fb_check_var()
786 var->red.offset = 11; cyber2000fb_check_var()
787 var->red.length = 5; cyber2000fb_check_var()
788 var->green.offset = 5; cyber2000fb_check_var()
789 var->green.length = 6; cyber2000fb_check_var()
790 var->blue.offset = 0; cyber2000fb_check_var()
791 var->blue.length = 5; cyber2000fb_check_var()
796 var->red.offset = 10; cyber2000fb_check_var()
797 var->red.length = 5; cyber2000fb_check_var()
798 var->green.offset = 5; cyber2000fb_check_var()
799 var->green.length = 5; cyber2000fb_check_var()
800 var->blue.offset = 0; cyber2000fb_check_var()
801 var->blue.length = 5; cyber2000fb_check_var()
805 var->transp.offset = 12; cyber2000fb_check_var()
806 var->transp.length = 4; cyber2000fb_check_var()
807 var->red.offset = 8; cyber2000fb_check_var()
808 var->red.length = 4; cyber2000fb_check_var()
809 var->green.offset = 4; cyber2000fb_check_var()
810 var->green.length = 4; cyber2000fb_check_var()
811 var->blue.offset = 0; cyber2000fb_check_var()
812 var->blue.length = 4; cyber2000fb_check_var()
818 var->red.offset = 16; cyber2000fb_check_var()
819 var->red.length = 8; cyber2000fb_check_var()
820 var->green.offset = 8; cyber2000fb_check_var()
821 var->green.length = 8; cyber2000fb_check_var()
822 var->blue.offset = 0; cyber2000fb_check_var()
823 var->blue.length = 8; cyber2000fb_check_var()
827 var->transp.offset = 24; cyber2000fb_check_var()
828 var->transp.length = 8; cyber2000fb_check_var()
829 var->red.offset = 16; cyber2000fb_check_var()
830 var->red.length = 8; cyber2000fb_check_var()
831 var->green.offset = 8; cyber2000fb_check_var()
832 var->green.length = 8; cyber2000fb_check_var()
833 var->blue.offset = 0; cyber2000fb_check_var()
834 var->blue.length = 8; cyber2000fb_check_var()
841 mem = var->xres_virtual * var->yres_virtual * (var->bits_per_pixel / 8); cyber2000fb_check_var()
843 var->yres_virtual = cfb->fb.fix.smem_len * 8 / cyber2000fb_check_var()
844 (var->bits_per_pixel * var->xres_virtual); cyber2000fb_check_var()
846 if (var->yres > var->yres_virtual) cyber2000fb_check_var()
847 var->yres = var->yres_virtual; cyber2000fb_check_var()
848 if (var->xres > var->xres_virtual) cyber2000fb_check_var()
849 var->xres = var->xres_virtual; cyber2000fb_check_var()
851 err = cyber2000fb_decode_clock(&hw, cfb, var); cyber2000fb_check_var()
855 err = cyber2000fb_decode_crtc(&hw, cfb, var); cyber2000fb_check_var()
865 struct fb_var_screeninfo *var = &cfb->fb.var; cyber2000fb_set_par() local
869 hw.width = var->xres_virtual; cyber2000fb_set_par()
872 switch (var->bits_per_pixel) { cyber2000fb_set_par()
883 switch (var->green.length) { cyber2000fb_set_par()
928 BUG_ON(cyber2000fb_decode_clock(&hw, cfb, var) != 0); cyber2000fb_set_par()
929 BUG_ON(cyber2000fb_decode_crtc(&hw, cfb, var) != 0); cyber2000fb_set_par()
937 cfb->fb.fix.line_length = var->xres_virtual * var->bits_per_pixel / 8; cyber2000fb_set_par()
946 mem = cfb->fb.fix.line_length * var->yres_virtual; cyber2000fb_set_par()
955 if (var->bits_per_pixel == 8) cyber2000fb_set_par()
963 cyber2000fb_update_start(cfb, var); cyber2000fb_set_par()
972 cyber2000fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) cyber2000fb_pan_display() argument
976 if (cyber2000fb_update_start(cfb, var)) cyber2000fb_pan_display()
979 cfb->fb.var.xoffset = var->xoffset; cyber2000fb_pan_display()
980 cfb->fb.var.yoffset = var->yoffset; cyber2000fb_pan_display()
982 if (var->vmode & FB_VMODE_YWRAP) { cyber2000fb_pan_display()
983 cfb->fb.var.vmode |= FB_VMODE_YWRAP; cyber2000fb_pan_display()
985 cfb->fb.var.vmode &= ~FB_VMODE_YWRAP; cyber2000fb_pan_display()
1458 cfb->fb.var.nonstd = 0; cyberpro_alloc_fb_info()
1459 cfb->fb.var.activate = FB_ACTIVATE_NOW; cyberpro_alloc_fb_info()
1460 cfb->fb.var.height = -1; cyberpro_alloc_fb_info()
1461 cfb->fb.var.width = -1; cyberpro_alloc_fb_info()
1462 cfb->fb.var.accel_flags = FB_ACCELF_TEXT; cyberpro_alloc_fb_info()
1570 if (!fb_find_mode(&cfb->fb.var, &cfb->fb, NULL, NULL, 0, cyberpro_common_probe()
1576 cfb->fb.var.yres_virtual = cfb->fb.fix.smem_len * 8 / cyberpro_common_probe()
1577 (cfb->fb.var.bits_per_pixel * cfb->fb.var.xres_virtual); cyberpro_common_probe()
1579 if (cfb->fb.var.yres_virtual < cfb->fb.var.yres) cyberpro_common_probe()
1580 cfb->fb.var.yres_virtual = cfb->fb.var.yres; cyberpro_common_probe()
1582 /* fb_set_var(&cfb->fb.var, -1, &cfb->fb); */ cyberpro_common_probe()
1590 h_sync = 1953125000 / cfb->fb.var.pixclock; cyberpro_common_probe()
1591 h_sync = h_sync * 512 / (cfb->fb.var.xres + cfb->fb.var.left_margin + cyberpro_common_probe()
1592 cfb->fb.var.right_margin + cfb->fb.var.hsync_len); cyberpro_common_probe()
1593 v_sync = h_sync / (cfb->fb.var.yres + cfb->fb.var.upper_margin + cyberpro_common_probe()
1594 cfb->fb.var.lower_margin + cfb->fb.var.vsync_len); cyberpro_common_probe()
1598 cfb->fb.var.xres, cfb->fb.var.yres, cyberpro_common_probe()
564 cyber2000fb_decode_crtc(struct par_info *hw, struct cfb_info *cfb, struct fb_var_screeninfo *var) cyber2000fb_decode_crtc() argument
665 cyber2000fb_decode_clock(struct par_info *hw, struct cfb_info *cfb, struct fb_var_screeninfo *var) cyber2000fb_decode_clock() argument
H A Dpm3fb.c85 * to get a fb_var_screeninfo. Otherwise define a default var as well.
180 static inline int pm3fb_depth(const struct fb_var_screeninfo *var) pm3fb_depth() argument
182 if (var->bits_per_pixel == 16) pm3fb_depth()
183 return var->red.length + var->green.length pm3fb_depth()
184 + var->blue.length; pm3fb_depth()
186 return var->bits_per_pixel; pm3fb_depth()
223 const u32 width = (info->var.xres_virtual + 7) & ~7; pm3fb_init_engine()
296 switch (info->var.bits_per_pixel) { pm3fb_init_engine()
317 info->var.bits_per_pixel); pm3fb_init_engine()
345 switch (info->var.bits_per_pixel) { pm3fb_init_engine()
404 vxres = info->var.xres_virtual; pm3fb_fillrect()
405 vyres = info->var.yres_virtual; pm3fb_fillrect()
418 if (info->var.bits_per_pixel == 8) pm3fb_fillrect()
420 if (info->var.bits_per_pixel <= 16) pm3fb_fillrect()
463 vxres = info->var.xres_virtual; pm3fb_copyarea()
464 vyres = info->var.yres_virtual; pm3fb_copyarea()
547 if (info->var.bits_per_pixel == 8) { pm3fb_imageblit()
551 if (info->var.bits_per_pixel <= 16) { pm3fb_imageblit()
648 int x = cursor->image.dx - info->var.xoffset; pm3fb_cursor()
649 int y = cursor->image.dy - info->var.yoffset; pm3fb_cursor()
728 const u32 hsstart = info->var.right_margin; pm3fb_write_mode()
729 const u32 hsend = hsstart + info->var.hsync_len; pm3fb_write_mode()
730 const u32 hbend = hsend + info->var.left_margin; pm3fb_write_mode()
731 const u32 xres = (info->var.xres + 31) & ~31; pm3fb_write_mode()
733 const u32 vsstart = info->var.lower_margin; pm3fb_write_mode()
734 const u32 vsend = vsstart + info->var.vsync_len; pm3fb_write_mode()
735 const u32 vbend = vsend + info->var.upper_margin; pm3fb_write_mode()
736 const u32 vtotal = info->var.yres + vbend; pm3fb_write_mode()
737 const u32 width = (info->var.xres_virtual + 7) & ~7; pm3fb_write_mode()
738 const unsigned bpp = info->var.bits_per_pixel; pm3fb_write_mode()
834 unsigned long pixclock = PICOS2KHZ(info->var.pixclock); pm3fb_write_mode()
863 switch (pm3fb_depth(&info->var)) { pm3fb_write_mode()
918 static int pm3fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) pm3fb_check_var() argument
921 unsigned bpp = var->red.length + var->green.length pm3fb_check_var()
922 + var->blue.length + var->transp.length; pm3fb_check_var()
924 if (bpp != var->bits_per_pixel) { pm3fb_check_var()
927 switch (var->bits_per_pixel) { pm3fb_check_var()
929 var->red.length = 8; pm3fb_check_var()
930 var->green.length = 8; pm3fb_check_var()
931 var->blue.length = 8; pm3fb_check_var()
932 var->red.offset = 0; pm3fb_check_var()
933 var->green.offset = 0; pm3fb_check_var()
934 var->blue.offset = 0; pm3fb_check_var()
935 var->transp.offset = 0; pm3fb_check_var()
936 var->transp.length = 0; pm3fb_check_var()
939 var->red.length = 5; pm3fb_check_var()
940 var->blue.length = 5; pm3fb_check_var()
941 var->green.length = 6; pm3fb_check_var()
942 var->transp.length = 0; pm3fb_check_var()
945 var->red.length = 8; pm3fb_check_var()
946 var->green.length = 8; pm3fb_check_var()
947 var->blue.length = 8; pm3fb_check_var()
948 var->transp.length = 8; pm3fb_check_var()
952 var->bits_per_pixel); pm3fb_check_var()
957 if (var->bits_per_pixel > 8 ) { pm3fb_check_var()
958 var->blue.offset = 0; pm3fb_check_var()
959 var->green.offset = var->blue.length; pm3fb_check_var()
960 var->red.offset = var->green.offset + var->green.length; pm3fb_check_var()
961 var->transp.offset = var->red.offset + var->red.length; pm3fb_check_var()
963 var->height = -1; pm3fb_check_var()
964 var->width = -1; pm3fb_check_var()
966 if (var->xres != var->xres_virtual) { pm3fb_check_var()
972 if (var->yres > var->yres_virtual) { pm3fb_check_var()
978 if (var->xoffset) { pm3fb_check_var()
983 if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) { pm3fb_check_var()
988 var->xres = (var->xres + 31) & ~31; /* could sometimes be 8 */ pm3fb_check_var()
989 lpitch = var->xres * ((var->bits_per_pixel + 7) >> 3); pm3fb_check_var()
991 if (var->xres < 200 || var->xres > 2048) { pm3fb_check_var()
992 DPRINTK("width not supported: %u\n", var->xres); pm3fb_check_var()
996 if (var->yres < 200 || var->yres > 4095) { pm3fb_check_var()
997 DPRINTK("height not supported: %u\n", var->yres); pm3fb_check_var()
1001 if (lpitch * var->yres_virtual > info->fix.smem_len) { pm3fb_check_var()
1003 var->xres, var->yres_virtual, var->bits_per_pixel); pm3fb_check_var()
1007 if (PICOS2KHZ(var->pixclock) > PM3_MAX_PIXCLOCK) { pm3fb_check_var()
1009 PICOS2KHZ(var->pixclock)); pm3fb_check_var()
1013 var->accel_flags = 0; /* Can't mmap if this is on */ pm3fb_check_var()
1016 var->xres, var->yres, var->bits_per_pixel); pm3fb_check_var()
1023 const u32 xres = (info->var.xres + 31) & ~31; pm3fb_set_par()
1024 const unsigned bpp = info->var.bits_per_pixel; pm3fb_set_par()
1026 par->base = pm3fb_shift_bpp(bpp, (info->var.yoffset * xres) pm3fb_set_par()
1027 + info->var.xoffset); pm3fb_set_par()
1030 if (info->var.sync & FB_SYNC_HOR_HIGH_ACT) pm3fb_set_par()
1035 if (info->var.sync & FB_SYNC_VERT_HIGH_ACT) pm3fb_set_par()
1040 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_DOUBLE) pm3fb_set_par()
1043 if ((info->var.activate & FB_ACTIVATE_MASK) == FB_ACTIVATE_NOW) pm3fb_set_par()
1065 info->fix.line_length = ((info->var.xres_virtual + 7) >> 3) * bpp; pm3fb_set_par()
1086 if (info->var.grayscale) pm3fb_setcolreg()
1090 * var->{color}.offset contains start of bitfield pm3fb_setcolreg()
1091 * var->{color}.length contains length of bitfield pm3fb_setcolreg()
1097 * color depth = SUM(var->{color}.length) pm3fb_setcolreg()
1100 * var->{color}.offset is 0 pm3fb_setcolreg()
1101 * var->{color}.length contains width of DAC or the number pm3fb_setcolreg()
1105 * color depth = var->{color}.length pm3fb_setcolreg()
1113 red = CNVT_TOHW(red, info->var.red.length); pm3fb_setcolreg()
1114 green = CNVT_TOHW(green, info->var.green.length); pm3fb_setcolreg()
1115 blue = CNVT_TOHW(blue, info->var.blue.length); pm3fb_setcolreg()
1116 transp = CNVT_TOHW(transp, info->var.transp.length); pm3fb_setcolreg()
1126 v = (red << info->var.red.offset) | pm3fb_setcolreg()
1127 (green << info->var.green.offset) | pm3fb_setcolreg()
1128 (blue << info->var.blue.offset) | pm3fb_setcolreg()
1129 (transp << info->var.transp.offset); pm3fb_setcolreg()
1131 switch (info->var.bits_per_pixel) { pm3fb_setcolreg()
1146 static int pm3fb_pan_display(struct fb_var_screeninfo *var, pm3fb_pan_display() argument
1150 const u32 xres = (info->var.xres + 31) & ~31; pm3fb_pan_display()
1152 par->base = pm3fb_shift_bpp(info->var.bits_per_pixel, pm3fb_pan_display()
1153 (var->yoffset * xres) pm3fb_pan_display()
1154 + var->xoffset); pm3fb_pan_display()
1427 retval = fb_find_mode(&info->var, info, mode_option, NULL, 0, NULL, 8); pm3fb_probe()
1442 pm3fb_check_var(&info->var, info); pm3fb_probe()
H A Dbfin-t350mcqb-fb.c251 static int bfin_t350mcqb_fb_check_var(struct fb_var_screeninfo *var, bfin_t350mcqb_fb_check_var() argument
255 switch (var->bits_per_pixel) { bfin_t350mcqb_fb_check_var()
257 var->red.offset = 0; bfin_t350mcqb_fb_check_var()
258 var->green.offset = 8; bfin_t350mcqb_fb_check_var()
259 var->blue.offset = 16; bfin_t350mcqb_fb_check_var()
260 var->red.length = var->green.length = var->blue.length = 8; bfin_t350mcqb_fb_check_var()
261 var->transp.offset = 0; bfin_t350mcqb_fb_check_var()
262 var->transp.length = 0; bfin_t350mcqb_fb_check_var()
263 var->transp.msb_right = 0; bfin_t350mcqb_fb_check_var()
264 var->red.msb_right = 0; bfin_t350mcqb_fb_check_var()
265 var->green.msb_right = 0; bfin_t350mcqb_fb_check_var()
266 var->blue.msb_right = 0; bfin_t350mcqb_fb_check_var()
270 var->bits_per_pixel); bfin_t350mcqb_fb_check_var()
274 if (info->var.xres != var->xres || info->var.yres != var->yres || bfin_t350mcqb_fb_check_var()
275 info->var.xres_virtual != var->xres_virtual || bfin_t350mcqb_fb_check_var()
276 info->var.yres_virtual != var->yres_virtual) { bfin_t350mcqb_fb_check_var()
278 __func__, var->xres, var->yres); bfin_t350mcqb_fb_check_var()
286 if ((info->fix.line_length * var->yres_virtual) > info->fix.smem_len) { bfin_t350mcqb_fb_check_var()
288 __func__, var->yres_virtual); bfin_t350mcqb_fb_check_var()
310 if (info->var.grayscale) { bfin_t350mcqb_fb_setcolreg()
322 red >>= (16 - info->var.red.length); bfin_t350mcqb_fb_setcolreg()
323 green >>= (16 - info->var.green.length); bfin_t350mcqb_fb_setcolreg()
324 blue >>= (16 - info->var.blue.length); bfin_t350mcqb_fb_setcolreg()
326 value = (red << info->var.red.offset) | bfin_t350mcqb_fb_setcolreg()
327 (green << info->var.green.offset) | bfin_t350mcqb_fb_setcolreg()
328 (blue << info->var.blue.offset); bfin_t350mcqb_fb_setcolreg()
464 fbinfo->var.nonstd = 0; bfin_t350mcqb_probe()
465 fbinfo->var.activate = FB_ACTIVATE_NOW; bfin_t350mcqb_probe()
466 fbinfo->var.height = 53; bfin_t350mcqb_probe()
467 fbinfo->var.width = 70; bfin_t350mcqb_probe()
468 fbinfo->var.accel_flags = 0; bfin_t350mcqb_probe()
469 fbinfo->var.vmode = FB_VMODE_NONINTERLACED; bfin_t350mcqb_probe()
471 fbinfo->var.xres = LCD_X_RES; bfin_t350mcqb_probe()
472 fbinfo->var.xres_virtual = LCD_X_RES; bfin_t350mcqb_probe()
473 fbinfo->var.yres = LCD_Y_RES; bfin_t350mcqb_probe()
474 fbinfo->var.yres_virtual = LCD_Y_RES; bfin_t350mcqb_probe()
475 fbinfo->var.bits_per_pixel = LCD_BPP; bfin_t350mcqb_probe()
477 fbinfo->var.red.offset = 0; bfin_t350mcqb_probe()
478 fbinfo->var.green.offset = 8; bfin_t350mcqb_probe()
479 fbinfo->var.blue.offset = 16; bfin_t350mcqb_probe()
480 fbinfo->var.transp.offset = 0; bfin_t350mcqb_probe()
481 fbinfo->var.red.length = 8; bfin_t350mcqb_probe()
482 fbinfo->var.green.length = 8; bfin_t350mcqb_probe()
483 fbinfo->var.blue.length = 8; bfin_t350mcqb_probe()
484 fbinfo->var.transp.length = 0; bfin_t350mcqb_probe()
487 fbinfo->fix.line_length = fbinfo->var.xres_virtual * bfin_t350mcqb_probe()
488 fbinfo->var.bits_per_pixel / 8; bfin_t350mcqb_probe()
H A Dpmag-aa-fb.c52 static int aafb_set_var(struct fb_var_screeninfo *var, int con,
130 c->x = x - disp->var.xoffset; aafbcon_cursor()
131 c->y = y - disp->var.yoffset; aafbcon_cursor()
251 aafb_set_var(&disp->var, con, &info->info); aafb_set_disp()
321 static void aafb_encode_var(struct fb_var_screeninfo *var, aafb_encode_var() argument
324 var->xres = 1280; aafb_encode_var()
325 var->yres = 1024; aafb_encode_var()
326 var->xres_virtual = 2048; aafb_encode_var()
327 var->yres_virtual = 1024; aafb_encode_var()
328 var->xoffset = 0; aafb_encode_var()
329 var->yoffset = 0; aafb_encode_var()
330 var->bits_per_pixel = 8; aafb_encode_var()
331 var->grayscale = 1; aafb_encode_var()
332 var->red.offset = 0; aafb_encode_var()
333 var->red.length = 0; aafb_encode_var()
334 var->red.msb_right = 0; aafb_encode_var()
335 var->green.offset = 0; aafb_encode_var()
336 var->green.length = 1; aafb_encode_var()
337 var->green.msb_right = 0; aafb_encode_var()
338 var->blue.offset = 0; aafb_encode_var()
339 var->blue.length = 0; aafb_encode_var()
340 var->blue.msb_right = 0; aafb_encode_var()
341 var->transp.offset = 0; aafb_encode_var()
342 var->transp.length = 0; aafb_encode_var()
343 var->transp.msb_right = 0; aafb_encode_var()
344 var->nonstd = 0; aafb_encode_var()
345 var->activate &= ~FB_ACTIVATE_MASK & FB_ACTIVATE_NOW; aafb_encode_var()
346 var->accel_flags = 0; aafb_encode_var()
347 var->sync = FB_SYNC_ON_GREEN; aafb_encode_var()
348 var->vmode &= ~FB_VMODE_MASK & FB_VMODE_NONINTERLACED; aafb_encode_var()
351 static int aafb_get_var(struct fb_var_screeninfo *var, int con, aafb_get_var() argument
357 memset(var, 0, sizeof(struct fb_var_screeninfo)); aafb_get_var()
359 aafb_encode_var(var, &par); aafb_get_var()
361 *var = info->var; aafb_get_var()
366 static int aafb_set_var(struct fb_var_screeninfo *var, int con, aafb_set_var() argument
372 aafb_encode_var(var, &par); aafb_set_var()
373 info->var = *var; aafb_set_var()
H A Di740fb.c402 static int i740fb_decode_var(const struct fb_var_screeninfo *var, i740fb_decode_var() argument
406 * Get the video params out of 'var'. i740fb_decode_var()
418 var->xres, var->yres, var->xres_virtual, var->xres_virtual); i740fb_decode_var()
420 var->xoffset, var->yoffset, var->bits_per_pixel, i740fb_decode_var()
421 var->grayscale); i740fb_decode_var()
423 var->activate, var->nonstd, var->vmode); i740fb_decode_var()
425 var->pixclock, var->hsync_len, var->vsync_len); i740fb_decode_var()
427 var->left_margin, var->right_margin, var->upper_margin, i740fb_decode_var()
428 var->lower_margin); i740fb_decode_var()
431 bpp = var->bits_per_pixel; i740fb_decode_var()
435 if ((1000000 / var->pixclock) > DACSPEED8) { i740fb_decode_var()
437 1000000 / var->pixclock, DACSPEED8); i740fb_decode_var()
444 if ((1000000 / var->pixclock) > DACSPEED16) { i740fb_decode_var()
446 1000000 / var->pixclock, DACSPEED16); i740fb_decode_var()
453 if ((1000000 / var->pixclock) > dacspeed24) { i740fb_decode_var()
455 1000000 / var->pixclock, dacspeed24); i740fb_decode_var()
461 if ((1000000 / var->pixclock) > DACSPEED32) { i740fb_decode_var()
463 1000000 / var->pixclock, DACSPEED32); i740fb_decode_var()
471 xres = ALIGN(var->xres, 8); i740fb_decode_var()
472 vxres = ALIGN(var->xres_virtual, 16); i740fb_decode_var()
476 xoffset = ALIGN(var->xoffset, 8); i740fb_decode_var()
480 left = ALIGN(var->left_margin, 8); i740fb_decode_var()
481 right = ALIGN(var->right_margin, 8); i740fb_decode_var()
482 hslen = ALIGN(var->hsync_len, 8); i740fb_decode_var()
484 yres = var->yres; i740fb_decode_var()
485 vyres = var->yres_virtual; i740fb_decode_var()
489 yoffset = var->yoffset; i740fb_decode_var()
493 lower = var->lower_margin; i740fb_decode_var()
494 vslen = var->vsync_len; i740fb_decode_var()
495 upper = var->upper_margin; i740fb_decode_var()
529 if (var->vmode & FB_VMODE_DOUBLE) i740fb_decode_var()
571 if (var->sync & FB_SYNC_HOR_HIGH_ACT) i740fb_decode_var()
573 if (var->sync & FB_SYNC_VERT_HIGH_ACT) i740fb_decode_var()
601 par->pixelpipe_cfg1 = (var->green.length == 6) ? i740fb_decode_var()
655 i740_calc_vclk((((u32)1e9) / var->pixclock) * (u32)(1e3), par); i740fb_decode_var()
662 i740_calc_fifo(par, 1000000 / var->pixclock, bpp); i740fb_decode_var()
667 static int i740fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) i740fb_check_var() argument
669 switch (var->bits_per_pixel) { i740fb_check_var()
671 var->red.offset = var->green.offset = var->blue.offset = 0; i740fb_check_var()
672 var->red.length = var->green.length = var->blue.length = 8; i740fb_check_var()
675 switch (var->green.length) { i740fb_check_var()
678 var->red.offset = 10; i740fb_check_var()
679 var->green.offset = 5; i740fb_check_var()
680 var->blue.offset = 0; i740fb_check_var()
681 var->red.length = 5; i740fb_check_var()
682 var->green.length = 5; i740fb_check_var()
683 var->blue.length = 5; i740fb_check_var()
686 var->red.offset = 11; i740fb_check_var()
687 var->green.offset = 5; i740fb_check_var()
688 var->blue.offset = 0; i740fb_check_var()
689 var->red.length = var->blue.length = 5; i740fb_check_var()
694 var->red.offset = 16; i740fb_check_var()
695 var->green.offset = 8; i740fb_check_var()
696 var->blue.offset = 0; i740fb_check_var()
697 var->red.length = var->green.length = var->blue.length = 8; i740fb_check_var()
700 var->transp.offset = 24; i740fb_check_var()
701 var->red.offset = 16; i740fb_check_var()
702 var->green.offset = 8; i740fb_check_var()
703 var->blue.offset = 0; i740fb_check_var()
704 var->transp.length = 8; i740fb_check_var()
705 var->red.length = var->green.length = var->blue.length = 8; i740fb_check_var()
711 if (var->xres > var->xres_virtual) i740fb_check_var()
712 var->xres_virtual = var->xres; i740fb_check_var()
714 if (var->yres > var->yres_virtual) i740fb_check_var()
715 var->yres_virtual = var->yres; i740fb_check_var()
718 info->monspecs.dclkmax && fb_validate_mode(var, info) < 0) i740fb_check_var()
748 i = i740fb_decode_var(&info->var, par, info); i740fb_set_par()
860 info->var.xres_virtual * info->var.bits_per_pixel / 8; i740fb_set_par()
861 if (info->var.bits_per_pixel == 8) i740fb_set_par()
876 regno, red, green, blue, transp, info->var.bits_per_pixel); i740fb_setcolreg()
890 r = (red >> (16 - info->var.red.length)) i740fb_setcolreg()
891 << info->var.red.offset; i740fb_setcolreg()
892 b = (blue >> (16 - info->var.blue.length)) i740fb_setcolreg()
893 << info->var.blue.offset; i740fb_setcolreg()
894 g = (green >> (16 - info->var.green.length)) i740fb_setcolreg()
895 << info->var.green.offset; i740fb_setcolreg()
905 static int i740fb_pan_display(struct fb_var_screeninfo *var, i740fb_pan_display() argument
909 u32 base = (var->yoffset * info->var.xres_virtual i740fb_pan_display()
910 + (var->xoffset & ~7)) >> 2; i740fb_pan_display()
913 var->xoffset, var->yoffset, base); i740fb_pan_display()
915 switch (info->var.bits_per_pixel) { i740fb_pan_display()
1026 info->var.activate = FB_ACTIVATE_NOW; i740fb_probe()
1027 info->var.bits_per_pixel = 8; i740fb_probe()
1099 fb_videomode_to_var(&info->var, m); i740fb_probe()
1100 /* fill all other info->var's fields */ i740fb_probe()
1101 if (!i740fb_check_var(&info->var, info)) i740fb_probe()
1112 ret = fb_find_mode(&info->var, info, mode_option, i740fb_probe()
1115 NULL, info->var.bits_per_pixel); i740fb_probe()
1127 info->var.yres_virtual = info->fix.smem_len * 8 / i740fb_probe()
1128 (info->var.bits_per_pixel * info->var.xres_virtual); i740fb_probe()
H A Datmel_lcdfb.c153 struct fb_var_screeninfo *var, atmel_lcdfb_update_dma2d()
165 struct fb_var_screeninfo *var, atmel_lcdfb_update_dma2d()
171 pixeloff = (var->xoffset * info->var.bits_per_pixel) & 0x1f; atmel_lcdfb_update_dma2d()
173 dma2dcfg = (info->var.xres_virtual - info->var.xres) atmel_lcdfb_update_dma2d()
174 * info->var.bits_per_pixel / 8; atmel_lcdfb_update_dma2d()
397 struct fb_var_screeninfo *var) atmel_lcdfb_update_dma()
403 dma_addr = (fix->smem_start + var->yoffset * fix->line_length atmel_lcdfb_update_dma()
404 + var->xoffset * info->var.bits_per_pixel / 8); atmel_lcdfb_update_dma()
411 atmel_lcdfb_update_dma2d(sinfo, var, info); atmel_lcdfb_update_dma()
432 struct fb_var_screeninfo *var = &info->var; atmel_lcdfb_alloc_video_memory() local
435 smem_len = (var->xres_virtual * var->yres_virtual atmel_lcdfb_alloc_video_memory()
436 * ((var->bits_per_pixel + 7) / 8)); atmel_lcdfb_alloc_video_memory()
451 static const struct fb_videomode *atmel_lcdfb_choose_mode(struct fb_var_screeninfo *var, atmel_lcdfb_choose_mode() argument
457 fb_var_to_videomode(&varfbmode, var); atmel_lcdfb_choose_mode()
460 fb_videomode_to_var(var, fbmode); atmel_lcdfb_choose_mode()
466 * atmel_lcdfb_check_var - Validates a var passed in.
467 * @var: frame buffer variable screen structure
471 * var passed in. This function does not alter the hardware
473 * struct atmel_lcdfb_info do not change. This includes the var
477 * this. If the var passed in is slightly off by what the
478 * hardware can support then we alter the var PASSED in to what
483 * needed. In this case the driver would just provide a var that
488 static int atmel_lcdfb_check_var(struct fb_var_screeninfo *var, atmel_lcdfb_check_var() argument
500 if (!(var->pixclock && var->bits_per_pixel)) { atmel_lcdfb_check_var()
502 if (!atmel_lcdfb_choose_mode(var, info)) { atmel_lcdfb_check_var()
508 dev_dbg(dev, " resolution: %ux%u\n", var->xres, var->yres); atmel_lcdfb_check_var()
509 dev_dbg(dev, " pixclk: %lu KHz\n", PICOS2KHZ(var->pixclock)); atmel_lcdfb_check_var()
510 dev_dbg(dev, " bpp: %u\n", var->bits_per_pixel); atmel_lcdfb_check_var()
513 if (PICOS2KHZ(var->pixclock) > clk_value_khz) { atmel_lcdfb_check_var()
514 dev_err(dev, "%lu KHz pixel clock is too fast\n", PICOS2KHZ(var->pixclock)); atmel_lcdfb_check_var()
519 if (var->xres > var->xres_virtual) atmel_lcdfb_check_var()
520 var->xres_virtual = var->xres; atmel_lcdfb_check_var()
522 if (var->yres > var->yres_virtual) atmel_lcdfb_check_var()
523 var->yres_virtual = var->yres; atmel_lcdfb_check_var()
526 var->xres = (var->xres + 3) & ~3UL; atmel_lcdfb_check_var()
527 var->xres_virtual = (var->xres_virtual + 3) & ~3UL; atmel_lcdfb_check_var()
529 var->red.msb_right = var->green.msb_right = var->blue.msb_right = 0; atmel_lcdfb_check_var()
530 var->transp.msb_right = 0; atmel_lcdfb_check_var()
531 var->transp.offset = var->transp.length = 0; atmel_lcdfb_check_var()
532 var->xoffset = var->yoffset = 0; atmel_lcdfb_check_var()
535 unsigned int smem_len = (var->xres_virtual * var->yres_virtual atmel_lcdfb_check_var()
536 * ((var->bits_per_pixel + 7) / 8)); atmel_lcdfb_check_var()
545 var->vsync_len = min_t(u32, var->vsync_len, atmel_lcdfb_check_var()
547 var->upper_margin = min_t(u32, var->upper_margin, atmel_lcdfb_check_var()
549 var->lower_margin = min_t(u32, var->lower_margin, atmel_lcdfb_check_var()
551 var->right_margin = min_t(u32, var->right_margin, atmel_lcdfb_check_var()
553 var->hsync_len = min_t(u32, var->hsync_len, atmel_lcdfb_check_var()
555 var->left_margin = min_t(u32, var->left_margin, atmel_lcdfb_check_var()
559 var->vsync_len = max_t(u32, var->vsync_len, 1); atmel_lcdfb_check_var()
560 var->right_margin = max_t(u32, var->right_margin, 1); atmel_lcdfb_check_var()
561 var->hsync_len = max_t(u32, var->hsync_len, 1); atmel_lcdfb_check_var()
562 var->left_margin = max_t(u32, var->left_margin, 1); atmel_lcdfb_check_var()
564 switch (var->bits_per_pixel) { atmel_lcdfb_check_var()
569 var->red.offset = var->green.offset = var->blue.offset = 0; atmel_lcdfb_check_var()
570 var->red.length = var->green.length = var->blue.length atmel_lcdfb_check_var()
571 = var->bits_per_pixel; atmel_lcdfb_check_var()
576 var->green.length = 5; atmel_lcdfb_check_var()
578 var->green.length = 6; atmel_lcdfb_check_var()
582 var->red.offset = var->green.length + 5; atmel_lcdfb_check_var()
583 var->blue.offset = 0; atmel_lcdfb_check_var()
586 var->red.offset = 0; atmel_lcdfb_check_var()
587 var->blue.offset = var->green.length + 5; atmel_lcdfb_check_var()
589 var->green.offset = 5; atmel_lcdfb_check_var()
590 var->red.length = var->blue.length = 5; atmel_lcdfb_check_var()
593 var->transp.offset = 24; atmel_lcdfb_check_var()
594 var->transp.length = 8; atmel_lcdfb_check_var()
599 var->red.offset = 16; atmel_lcdfb_check_var()
600 var->blue.offset = 0; atmel_lcdfb_check_var()
603 var->red.offset = 0; atmel_lcdfb_check_var()
604 var->blue.offset = 16; atmel_lcdfb_check_var()
606 var->green.offset = 8; atmel_lcdfb_check_var()
607 var->red.length = var->green.length = var->blue.length = 8; atmel_lcdfb_check_var()
611 var->bits_per_pixel); atmel_lcdfb_check_var()
636 * not alter var in fb_info since we are using that data. This
637 * means we depend on the data in var inside fb_info to be
657 info->var.xres, info->var.yres, atmel_lcdfb_set_par()
658 info->var.xres_virtual, info->var.yres_virtual); atmel_lcdfb_set_par()
662 if (info->var.bits_per_pixel == 1) atmel_lcdfb_set_par()
664 else if (info->var.bits_per_pixel <= 8) atmel_lcdfb_set_par()
669 bits_per_line = info->var.xres_virtual * info->var.bits_per_pixel; atmel_lcdfb_set_par()
674 atmel_lcdfb_update_dma(info, &info->var); atmel_lcdfb_set_par()
677 value = (info->var.yres * info->var.xres * info->var.bits_per_pixel) / 32; atmel_lcdfb_set_par()
689 value = DIV_ROUND_UP(clk_value_khz, PICOS2KHZ(info->var.pixclock)); atmel_lcdfb_set_par()
700 info->var.pixclock = atmel_lcdfb_set_par()
703 PICOS2KHZ(info->var.pixclock)); atmel_lcdfb_set_par()
710 if (!(info->var.sync & FB_SYNC_HOR_HIGH_ACT)) atmel_lcdfb_set_par()
712 if (!(info->var.sync & FB_SYNC_VERT_HIGH_ACT)) atmel_lcdfb_set_par()
715 switch (info->var.bits_per_pixel) { atmel_lcdfb_set_par()
730 value = (info->var.vsync_len - 1) << ATMEL_LCDC_VPW_OFFSET; atmel_lcdfb_set_par()
731 value |= info->var.upper_margin << ATMEL_LCDC_VBP_OFFSET; atmel_lcdfb_set_par()
732 value |= info->var.lower_margin; atmel_lcdfb_set_par()
737 value = (info->var.right_margin - 1) << ATMEL_LCDC_HFP_OFFSET; atmel_lcdfb_set_par()
738 value |= (info->var.hsync_len - 1) << ATMEL_LCDC_HPW_OFFSET; atmel_lcdfb_set_par()
739 value |= (info->var.left_margin - 1); atmel_lcdfb_set_par()
744 hozval_linesz = compute_hozval(sinfo, info->var.xres); atmel_lcdfb_set_par()
748 value |= info->var.yres - 1; atmel_lcdfb_set_par()
817 if (info->var.grayscale) atmel_lcdfb_setcolreg()
826 val = chan_to_field(red, &info->var.red); atmel_lcdfb_setcolreg()
827 val |= chan_to_field(green, &info->var.green); atmel_lcdfb_setcolreg()
828 val |= chan_to_field(blue, &info->var.blue); atmel_lcdfb_setcolreg()
878 static int atmel_lcdfb_pan_display(struct fb_var_screeninfo *var, atmel_lcdfb_pan_display() argument
883 atmel_lcdfb_update_dma(info, var); atmel_lcdfb_pan_display()
955 info->var.activate |= FB_ACTIVATE_FORCE | FB_ACTIVATE_NOW; atmel_lcdfb_init_fbinfo()
1030 struct fb_var_screeninfo *var = &info->var; atmel_lcdfb_of_init() local
1051 ret = of_property_read_u32(display_np, "bits-per-pixel", &var->bits_per_pixel); atmel_lcdfb_of_init()
1203 info->var.bits_per_pixel = pdata->default_bpp ? pdata->default_bpp : 16; atmel_lcdfb_probe()
1239 fb_videomode_to_var(&info->var, &modelist->mode); atmel_lcdfb_probe()
1241 atmel_lcdfb_check_var(&info->var, info); atmel_lcdfb_probe()
152 atmel_lcdfb_update_dma2d(struct atmel_lcdfb_info *sinfo, struct fb_var_screeninfo *var, struct fb_info *info) atmel_lcdfb_update_dma2d() argument
164 atmel_lcdfb_update_dma2d(struct atmel_lcdfb_info *sinfo, struct fb_var_screeninfo *var, struct fb_info *info) atmel_lcdfb_update_dma2d() argument
396 atmel_lcdfb_update_dma(struct fb_info *info, struct fb_var_screeninfo *var) atmel_lcdfb_update_dma() argument
H A Dpxafb.c81 static int pxafb_activate_var(struct fb_var_screeninfo *var,
85 struct fb_var_screeninfo *var, int branch);
147 if (fbi->fb.var.grayscale) { pxafb_setpalettereg()
206 if (fbi->fb.var.grayscale) pxafb_setcolreg()
219 val = chan_to_field(red, &fbi->fb.var.red); pxafb_setcolreg()
220 val |= chan_to_field(green, &fbi->fb.var.green); pxafb_setcolreg()
221 val |= chan_to_field(blue, &fbi->fb.var.blue); pxafb_setcolreg()
238 static inline int var_to_depth(struct fb_var_screeninfo *var) var_to_depth() argument
240 return var->red.length + var->green.length + var_to_depth()
241 var->blue.length + var->transp.length; var_to_depth()
245 static int pxafb_var_to_bpp(struct fb_var_screeninfo *var) pxafb_var_to_bpp() argument
249 switch (var->bits_per_pixel) { pxafb_var_to_bpp()
256 switch (var_to_depth(var)) { pxafb_var_to_bpp()
263 switch (var_to_depth(var)) { pxafb_var_to_bpp()
284 static uint32_t pxafb_var_to_lccr3(struct fb_var_screeninfo *var) pxafb_var_to_lccr3() argument
286 int bpp = pxafb_var_to_bpp(var); pxafb_var_to_lccr3()
294 switch (var_to_depth(var)) { pxafb_var_to_lccr3()
295 case 16: lccr3 |= var->transp.length ? LCCR3_PDFOR_3 : 0; break; pxafb_var_to_lccr3()
297 case 24: lccr3 |= var->transp.length ? LCCR3_PDFOR_2 : LCCR3_PDFOR_3; pxafb_var_to_lccr3()
315 * var->bits_per_pixel and given depth
317 static void pxafb_set_pixfmt(struct fb_var_screeninfo *var, int depth) pxafb_set_pixfmt() argument
320 depth = var->bits_per_pixel; pxafb_set_pixfmt()
322 if (var->bits_per_pixel < 16) { pxafb_set_pixfmt()
324 var->red.offset = 0; var->red.length = 8; pxafb_set_pixfmt()
325 var->green.offset = 0; var->green.length = 8; pxafb_set_pixfmt()
326 var->blue.offset = 0; var->blue.length = 8; pxafb_set_pixfmt()
327 var->transp.offset = 0; var->transp.length = 8; pxafb_set_pixfmt()
331 case 16: var->transp.length ? pxafb_set_pixfmt()
332 SET_PIXFMT(var, 5, 5, 5, 1) : /* RGBT555 */ pxafb_set_pixfmt()
333 SET_PIXFMT(var, 5, 6, 5, 0); break; /* RGB565 */ pxafb_set_pixfmt()
334 case 18: SET_PIXFMT(var, 6, 6, 6, 0); break; /* RGB666 */ pxafb_set_pixfmt()
335 case 19: SET_PIXFMT(var, 6, 6, 6, 1); break; /* RGBT666 */ pxafb_set_pixfmt()
336 case 24: var->transp.length ? pxafb_set_pixfmt()
337 SET_PIXFMT(var, 8, 8, 7, 1) : /* RGBT887 */ pxafb_set_pixfmt()
338 SET_PIXFMT(var, 8, 8, 8, 0); break; /* RGB888 */ pxafb_set_pixfmt()
339 case 25: SET_PIXFMT(var, 8, 8, 8, 1); break; /* RGBT888 */ pxafb_set_pixfmt()
350 static unsigned int pxafb_display_dma_period(struct fb_var_screeninfo *var) pxafb_display_dma_period() argument
356 return var->pixclock * 8 * 16 / var->bits_per_pixel; pxafb_display_dma_period()
365 struct fb_var_screeninfo *var) pxafb_getmode()
373 if (modelist[i].xres >= var->xres && pxafb_getmode()
374 modelist[i].yres >= var->yres && pxafb_getmode()
377 modelist[i].bpp >= var->bits_per_pixel) { pxafb_getmode()
387 static void pxafb_setmode(struct fb_var_screeninfo *var, pxafb_setmode() argument
390 var->xres = mode->xres; pxafb_setmode()
391 var->yres = mode->yres; pxafb_setmode()
392 var->bits_per_pixel = mode->bpp; pxafb_setmode()
393 var->pixclock = mode->pixclock; pxafb_setmode()
394 var->hsync_len = mode->hsync_len; pxafb_setmode()
395 var->left_margin = mode->left_margin; pxafb_setmode()
396 var->right_margin = mode->right_margin; pxafb_setmode()
397 var->vsync_len = mode->vsync_len; pxafb_setmode()
398 var->upper_margin = mode->upper_margin; pxafb_setmode()
399 var->lower_margin = mode->lower_margin; pxafb_setmode()
400 var->sync = mode->sync; pxafb_setmode()
401 var->grayscale = mode->cmap_greyscale; pxafb_setmode()
402 var->transp.length = mode->transparency; pxafb_setmode()
405 pxafb_set_pixfmt(var, mode->depth); pxafb_setmode()
409 struct fb_var_screeninfo *var) pxafb_adjust_timing()
413 var->xres = max_t(int, var->xres, MIN_XRES); pxafb_adjust_timing()
414 var->yres = max_t(int, var->yres, MIN_YRES); pxafb_adjust_timing()
417 clamp_val(var->hsync_len, 1, 64); pxafb_adjust_timing()
418 clamp_val(var->vsync_len, 1, 64); pxafb_adjust_timing()
419 clamp_val(var->left_margin, 1, 255); pxafb_adjust_timing()
420 clamp_val(var->right_margin, 1, 255); pxafb_adjust_timing()
421 clamp_val(var->upper_margin, 1, 255); pxafb_adjust_timing()
422 clamp_val(var->lower_margin, 1, 255); pxafb_adjust_timing()
426 line_length = var->xres * var->bits_per_pixel / 8; pxafb_adjust_timing()
428 var->xres = line_length * 8 / var->bits_per_pixel; pxafb_adjust_timing()
431 var->xres_virtual = var->xres; pxafb_adjust_timing()
433 if (var->accel_flags & FB_ACCELF_TEXT) pxafb_adjust_timing()
434 var->yres_virtual = fbi->fb.fix.smem_len / line_length; pxafb_adjust_timing()
436 var->yres_virtual = max(var->yres_virtual, var->yres); pxafb_adjust_timing()
439 if (var->xres > MAX_XRES || var->yres > MAX_YRES) pxafb_adjust_timing()
442 if (var->yres > var->yres_virtual) pxafb_adjust_timing()
450 * Get the video params out of 'var'. If a value doesn't fit, round it up,
457 static int pxafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) pxafb_check_var() argument
466 mode = pxafb_getmode(inf, var); pxafb_check_var()
469 pxafb_setmode(var, mode); pxafb_check_var()
473 err = pxafb_var_to_bpp(var); pxafb_check_var()
477 pxafb_set_pixfmt(var, var_to_depth(var)); pxafb_check_var()
479 err = pxafb_adjust_timing(fbi, var); pxafb_check_var()
485 pxafb_display_dma_period(var)); pxafb_check_var()
498 struct fb_var_screeninfo *var = &info->var; pxafb_set_par() local
500 if (var->bits_per_pixel >= 16) pxafb_set_par()
513 fbi->fb.fix.line_length = var->xres_virtual * pxafb_set_par()
514 var->bits_per_pixel / 8; pxafb_set_par()
515 if (var->bits_per_pixel >= 16) pxafb_set_par()
518 fbi->palette_size = var->bits_per_pixel == 1 ? pxafb_set_par()
519 4 : 1 << var->bits_per_pixel; pxafb_set_par()
523 if (fbi->fb.var.bits_per_pixel >= 16) pxafb_set_par()
526 fb_alloc_cmap(&fbi->fb.cmap, 1<<fbi->fb.var.bits_per_pixel, 0); pxafb_set_par()
528 pxafb_activate_var(var, fbi); pxafb_set_par()
533 static int pxafb_pan_display(struct fb_var_screeninfo *var, pxafb_pan_display() argument
546 memcpy(&newvar, &fbi->fb.var, sizeof(newvar)); pxafb_pan_display()
547 newvar.xoffset = var->xoffset; pxafb_pan_display()
548 newvar.yoffset = var->yoffset; pxafb_pan_display()
550 newvar.vmode |= var->vmode & FB_VMODE_YWRAP; pxafb_pan_display()
611 int size = ofb->fb.fix.line_length * ofb->fb.var.yres_virtual; overlay1fb_setup()
652 int size, div = 1, pfor = NONSTD_TO_PFOR(ofb->fb.var.nonstd); overlay2fb_setup()
656 size = ofb->fb.fix.line_length * ofb->fb.var.yres_virtual; overlay2fb_setup()
659 size = ofb->fb.var.xres_virtual * ofb->fb.var.yres_virtual; overlay2fb_setup()
675 int pfor = NONSTD_TO_PFOR(ofb->fb.var.nonstd); overlay2fb_enable()
750 ofb->fb.var.height = -1; overlayfb_release()
751 ofb->fb.var.width = -1; overlayfb_release()
752 ofb->fb.var.xres = ofb->fb.var.xres_virtual = 0; overlayfb_release()
753 ofb->fb.var.yres = ofb->fb.var.yres_virtual = 0; overlayfb_release()
760 static int overlayfb_check_var(struct fb_var_screeninfo *var, overlayfb_check_var() argument
764 struct fb_var_screeninfo *base_var = &ofb->fbi->fb.var; overlayfb_check_var()
767 xpos = NONSTD_TO_XPOS(var->nonstd); overlayfb_check_var()
768 ypos = NONSTD_TO_YPOS(var->nonstd); overlayfb_check_var()
769 pfor = NONSTD_TO_PFOR(var->nonstd); overlayfb_check_var()
771 bpp = pxafb_var_to_bpp(var); overlayfb_check_var()
782 bpp = pxafb_var_to_bpp(var); overlayfb_check_var()
786 pxafb_set_pixfmt(var, var_to_depth(var)); overlayfb_check_var()
801 var->xres = roundup(var->xres * bpp, 32) / bpp; overlayfb_check_var()
803 if ((xpos + var->xres > base_var->xres) || overlayfb_check_var()
804 (ypos + var->yres > base_var->yres)) overlayfb_check_var()
807 var->xres_virtual = var->xres; overlayfb_check_var()
808 var->yres_virtual = max(var->yres, var->yres_virtual); overlayfb_check_var()
814 struct fb_var_screeninfo *var = &ofb->fb.var; overlayfb_check_video_memory() local
815 int pfor = NONSTD_TO_PFOR(var->nonstd); overlayfb_check_video_memory()
819 case OVERLAY_FORMAT_RGB: bpp = var->bits_per_pixel; break; overlayfb_check_video_memory()
826 ofb->fb.fix.line_length = var->xres_virtual * bpp / 8; overlayfb_check_video_memory()
828 size = PAGE_ALIGN(ofb->fb.fix.line_length * var->yres_virtual); overlayfb_check_video_memory()
840 struct fb_var_screeninfo *var = &info->var; overlayfb_set_par() local
847 bpp = pxafb_var_to_bpp(var); overlayfb_set_par()
848 xpos = NONSTD_TO_XPOS(var->nonstd); overlayfb_set_par()
849 ypos = NONSTD_TO_YPOS(var->nonstd); overlayfb_set_par()
850 pfor = NONSTD_TO_PFOR(var->nonstd); overlayfb_set_par()
852 ofb->control[0] = OVLxC1_PPL(var->xres) | OVLxC1_LPO(var->yres) | overlayfb_set_par()
881 ofb->fb.var.activate = FB_ACTIVATE_NOW; init_pxafb_overlay()
882 ofb->fb.var.height = -1; init_pxafb_overlay()
883 ofb->fb.var.width = -1; init_pxafb_overlay()
884 ofb->fb.var.vmode = FB_VMODE_NONINTERLACED; init_pxafb_overlay()
1040 if ((pcd == 0) || (fbi->fb.var.hsync_len == 0)) { set_hsync_time()
1045 htime = clk_get_rate(fbi->clk) / (pcd * fbi->fb.var.hsync_len); set_hsync_time()
1105 struct fb_var_screeninfo *var, setup_base_frame()
1109 int nbytes, dma, pal, bpp = var->bits_per_pixel; setup_base_frame()
1115 nbytes = fix->line_length * var->yres; setup_base_frame()
1116 offset = fix->line_length * var->yoffset + fbi->video_mem_phys; setup_base_frame()
1231 struct fb_var_screeninfo *var) setup_smart_timing()
1244 LCCR1_DisWdth(var->xres) | setup_smart_timing()
1249 fbi->reg_lccr2 = LCCR2_DisHght(var->yres); setup_smart_timing()
1251 fbi->reg_lccr3 |= (var->sync & FB_SYNC_HOR_HIGH_ACT) ? LCCR3_HSP : 0; setup_smart_timing()
1252 fbi->reg_lccr3 |= (var->sync & FB_SYNC_VERT_HIGH_ACT) ? LCCR3_VSP : 0; setup_smart_timing()
1320 struct fb_var_screeninfo *var) setup_parallel_timing()
1322 unsigned int lines_per_panel, pcd = get_pcd(fbi, var->pixclock); setup_parallel_timing()
1325 LCCR1_DisWdth(var->xres) + setup_parallel_timing()
1326 LCCR1_HorSnchWdth(var->hsync_len) + setup_parallel_timing()
1327 LCCR1_BegLnDel(var->left_margin) + setup_parallel_timing()
1328 LCCR1_EndLnDel(var->right_margin); setup_parallel_timing()
1334 lines_per_panel = var->yres; setup_parallel_timing()
1340 LCCR2_VrtSnchWdth(var->vsync_len) + setup_parallel_timing()
1341 LCCR2_BegFrmDel(var->upper_margin) + setup_parallel_timing()
1342 LCCR2_EndFrmDel(var->lower_margin); setup_parallel_timing()
1345 (var->sync & FB_SYNC_HOR_HIGH_ACT ? setup_parallel_timing()
1347 (var->sync & FB_SYNC_VERT_HIGH_ACT ? setup_parallel_timing()
1358 * Configures LCD Controller based on entries in var parameter.
1361 static int pxafb_activate_var(struct fb_var_screeninfo *var, pxafb_activate_var() argument
1371 setup_smart_timing(fbi, var); pxafb_activate_var()
1374 setup_parallel_timing(fbi, var); pxafb_activate_var()
1376 setup_base_frame(fbi, var, 0); pxafb_activate_var()
1382 fbi->reg_lccr3 |= pxafb_var_to_lccr3(var); pxafb_activate_var()
1424 fbi->lcd_power(on, &fbi->fb.var); __pxafb_lcd_power()
1652 pcd = get_pcd(fbi, fbi->fb.var.pixclock); pxafb_freq_transition()
1666 struct fb_var_screeninfo *var = &fbi->fb.var; pxafb_freq_policy() local
1673 "new clock %d kHz\n", pxafb_display_dma_period(var), pxafb_freq_policy()
1774 pxafb_setmode(&fbi->fb.var, &inf->modes[0]); pxafb_decode_mach_info()
1821 fbi->fb.var.nonstd = 0; pxafb_init_fbinfo()
1822 fbi->fb.var.activate = FB_ACTIVATE_NOW; pxafb_init_fbinfo()
1823 fbi->fb.var.height = -1; pxafb_init_fbinfo()
1824 fbi->fb.var.width = -1; pxafb_init_fbinfo()
1825 fbi->fb.var.accel_flags = FB_ACCELF_TEXT; pxafb_init_fbinfo()
1826 fbi->fb.var.vmode = FB_VMODE_NONINTERLACED; pxafb_init_fbinfo()
2204 ret = pxafb_check_var(&fbi->fb.var, &fbi->fb); pxafb_probe()
364 pxafb_getmode(struct pxafb_mach_info *mach, struct fb_var_screeninfo *var) pxafb_getmode() argument
408 pxafb_adjust_timing(struct pxafb_info *fbi, struct fb_var_screeninfo *var) pxafb_adjust_timing() argument
1104 setup_base_frame(struct pxafb_info *fbi, struct fb_var_screeninfo *var, int branch) setup_base_frame() argument
1230 setup_smart_timing(struct pxafb_info *fbi, struct fb_var_screeninfo *var) setup_smart_timing() argument
1319 setup_parallel_timing(struct pxafb_info *fbi, struct fb_var_screeninfo *var) setup_parallel_timing() argument
H A Dbfin-lq035q1-fb.c444 static int bfin_lq035q1_fb_check_var(struct fb_var_screeninfo *var, bfin_lq035q1_fb_check_var() argument
449 if (var->bits_per_pixel == fbi->lcd_bpp) { bfin_lq035q1_fb_check_var()
450 var->red.offset = info->var.red.offset; bfin_lq035q1_fb_check_var()
451 var->green.offset = info->var.green.offset; bfin_lq035q1_fb_check_var()
452 var->blue.offset = info->var.blue.offset; bfin_lq035q1_fb_check_var()
453 var->red.length = info->var.red.length; bfin_lq035q1_fb_check_var()
454 var->green.length = info->var.green.length; bfin_lq035q1_fb_check_var()
455 var->blue.length = info->var.blue.length; bfin_lq035q1_fb_check_var()
456 var->transp.offset = 0; bfin_lq035q1_fb_check_var()
457 var->transp.length = 0; bfin_lq035q1_fb_check_var()
458 var->transp.msb_right = 0; bfin_lq035q1_fb_check_var()
459 var->red.msb_right = 0; bfin_lq035q1_fb_check_var()
460 var->green.msb_right = 0; bfin_lq035q1_fb_check_var()
461 var->blue.msb_right = 0; bfin_lq035q1_fb_check_var()
464 var->bits_per_pixel); bfin_lq035q1_fb_check_var()
468 if (info->var.xres != var->xres || info->var.yres != var->yres || bfin_lq035q1_fb_check_var()
469 info->var.xres_virtual != var->xres_virtual || bfin_lq035q1_fb_check_var()
470 info->var.yres_virtual != var->yres_virtual) { bfin_lq035q1_fb_check_var()
472 __func__, var->xres, var->yres); bfin_lq035q1_fb_check_var()
480 if ((info->fix.line_length * var->yres_virtual) > info->fix.smem_len) { bfin_lq035q1_fb_check_var()
482 __func__, var->yres_virtual); bfin_lq035q1_fb_check_var()
505 if (info->var.grayscale) { bfin_lq035q1_fb_setcolreg()
517 red >>= (16 - info->var.red.length); bfin_lq035q1_fb_setcolreg()
518 green >>= (16 - info->var.green.length); bfin_lq035q1_fb_setcolreg()
519 blue >>= (16 - info->var.blue.length); bfin_lq035q1_fb_setcolreg()
521 value = (red << info->var.red.offset) | bfin_lq035q1_fb_setcolreg()
522 (green << info->var.green.offset) | bfin_lq035q1_fb_setcolreg()
523 (blue << info->var.blue.offset); bfin_lq035q1_fb_setcolreg()
609 fbinfo->var.nonstd = 0; bfin_lq035q1_probe()
610 fbinfo->var.activate = FB_ACTIVATE_NOW; bfin_lq035q1_probe()
611 fbinfo->var.height = -1; bfin_lq035q1_probe()
612 fbinfo->var.width = -1; bfin_lq035q1_probe()
613 fbinfo->var.accel_flags = 0; bfin_lq035q1_probe()
614 fbinfo->var.vmode = FB_VMODE_NONINTERLACED; bfin_lq035q1_probe()
616 fbinfo->var.xres = LCD_X_RES; bfin_lq035q1_probe()
617 fbinfo->var.xres_virtual = LCD_X_RES; bfin_lq035q1_probe()
618 fbinfo->var.yres = LCD_Y_RES; bfin_lq035q1_probe()
619 fbinfo->var.yres_virtual = LCD_Y_RES; bfin_lq035q1_probe()
620 fbinfo->var.bits_per_pixel = info->lcd_bpp; bfin_lq035q1_probe()
624 fbinfo->var.red.offset = 0; bfin_lq035q1_probe()
625 fbinfo->var.green.offset = 8; bfin_lq035q1_probe()
626 fbinfo->var.blue.offset = 16; bfin_lq035q1_probe()
628 fbinfo->var.red.offset = 0; bfin_lq035q1_probe()
629 fbinfo->var.green.offset = 5; bfin_lq035q1_probe()
630 fbinfo->var.blue.offset = 11; bfin_lq035q1_probe()
634 fbinfo->var.red.offset = 16; bfin_lq035q1_probe()
635 fbinfo->var.green.offset = 8; bfin_lq035q1_probe()
636 fbinfo->var.blue.offset = 0; bfin_lq035q1_probe()
638 fbinfo->var.red.offset = 11; bfin_lq035q1_probe()
639 fbinfo->var.green.offset = 5; bfin_lq035q1_probe()
640 fbinfo->var.blue.offset = 0; bfin_lq035q1_probe()
644 fbinfo->var.transp.offset = 0; bfin_lq035q1_probe()
647 fbinfo->var.red.length = 8; bfin_lq035q1_probe()
648 fbinfo->var.green.length = 8; bfin_lq035q1_probe()
649 fbinfo->var.blue.length = 8; bfin_lq035q1_probe()
651 fbinfo->var.red.length = 5; bfin_lq035q1_probe()
652 fbinfo->var.green.length = 6; bfin_lq035q1_probe()
653 fbinfo->var.blue.length = 5; bfin_lq035q1_probe()
656 fbinfo->var.transp.length = 0; bfin_lq035q1_probe()
663 fbinfo->fix.line_length = fbinfo->var.xres_virtual * bfin_lq035q1_probe()
664 fbinfo->var.bits_per_pixel / 8; bfin_lq035q1_probe()
H A Doffb.c97 * entries in the var structure). Return != 0 for invalid regno.
107 u32 cr = red >> (16 - info->var.red.length); offb_setcolreg()
108 u32 cg = green >> (16 - info->var.green.length); offb_setcolreg()
109 u32 cb = blue >> (16 - info->var.blue.length); offb_setcolreg()
115 value = (cr << info->var.red.offset) | offb_setcolreg()
116 (cg << info->var.green.offset) | offb_setcolreg()
117 (cb << info->var.blue.offset); offb_setcolreg()
118 if (info->var.transp.length > 0) { offb_setcolreg()
119 u32 mask = (1 << info->var.transp.length) - 1; offb_setcolreg()
120 mask <<= info->var.transp.offset; offb_setcolreg()
399 struct fb_var_screeninfo *var; offb_init_fb() local
423 var = &info->var; offb_init_fb()
430 var->xres = var->xres_virtual = width; offb_init_fb()
431 var->yres = var->yres_virtual = height; offb_init_fb()
445 var->xoffset = var->yoffset = 0; offb_init_fb()
448 var->bits_per_pixel = 8; offb_init_fb()
449 var->red.offset = 0; offb_init_fb()
450 var->red.length = 8; offb_init_fb()
451 var->green.offset = 0; offb_init_fb()
452 var->green.length = 8; offb_init_fb()
453 var->blue.offset = 0; offb_init_fb()
454 var->blue.length = 8; offb_init_fb()
455 var->transp.offset = 0; offb_init_fb()
456 var->transp.length = 0; offb_init_fb()
459 var->bits_per_pixel = 16; offb_init_fb()
460 var->red.offset = 10; offb_init_fb()
461 var->red.length = 5; offb_init_fb()
462 var->green.offset = 5; offb_init_fb()
463 var->green.length = 5; offb_init_fb()
464 var->blue.offset = 0; offb_init_fb()
465 var->blue.length = 5; offb_init_fb()
466 var->transp.offset = 0; offb_init_fb()
467 var->transp.length = 0; offb_init_fb()
470 var->bits_per_pixel = 16; offb_init_fb()
471 var->red.offset = 11; offb_init_fb()
472 var->red.length = 5; offb_init_fb()
473 var->green.offset = 5; offb_init_fb()
474 var->green.length = 6; offb_init_fb()
475 var->blue.offset = 0; offb_init_fb()
476 var->blue.length = 5; offb_init_fb()
477 var->transp.offset = 0; offb_init_fb()
478 var->transp.length = 0; offb_init_fb()
481 var->bits_per_pixel = 32; offb_init_fb()
482 var->red.offset = 16; offb_init_fb()
483 var->red.length = 8; offb_init_fb()
484 var->green.offset = 8; offb_init_fb()
485 var->green.length = 8; offb_init_fb()
486 var->blue.offset = 0; offb_init_fb()
487 var->blue.length = 8; offb_init_fb()
488 var->transp.offset = 24; offb_init_fb()
489 var->transp.length = 8; offb_init_fb()
492 var->red.msb_right = var->green.msb_right = var->blue.msb_right = offb_init_fb()
493 var->transp.msb_right = 0; offb_init_fb()
494 var->grayscale = 0; offb_init_fb()
495 var->nonstd = 0; offb_init_fb()
496 var->activate = 0; offb_init_fb()
497 var->height = var->width = -1; offb_init_fb()
498 var->pixclock = 10000; offb_init_fb()
499 var->left_margin = var->right_margin = 16; offb_init_fb()
500 var->upper_margin = var->lower_margin = 16; offb_init_fb()
501 var->hsync_len = var->vsync_len = 8; offb_init_fb()
502 var->sync = 0; offb_init_fb()
503 var->vmode = FB_VMODE_NONINTERLACED; offb_init_fb()
H A Dgbefb.c39 struct fb_var_screeninfo var; member in struct:gbefb_par
464 static int compute_gbe_timing(struct fb_var_screeninfo *var, compute_gbe_timing() argument
489 error = var->pixclock - pixclock; compute_gbe_timing()
514 timing->width = var->xres; compute_gbe_timing()
515 timing->height = var->yres; compute_gbe_timing()
521 timing->htotal = var->left_margin + var->xres + compute_gbe_timing()
522 var->right_margin + var->hsync_len; compute_gbe_timing()
523 timing->vtotal = var->upper_margin + var->yres + compute_gbe_timing()
524 var->lower_margin + var->vsync_len; compute_gbe_timing()
527 timing->hblank_start = var->xres; compute_gbe_timing()
528 timing->vblank_start = var->yres; compute_gbe_timing()
530 timing->hsync_start = var->xres + var->right_margin + 1; compute_gbe_timing()
531 timing->hsync_end = timing->hsync_start + var->hsync_len; compute_gbe_timing()
533 timing->vsync_start = var->yres + var->lower_margin + 1; compute_gbe_timing()
534 timing->vsync_end = timing->vsync_start + var->vsync_len; compute_gbe_timing()
659 compute_gbe_timing(&info->var, &par->timing); gbefb_set_par()
661 bytesPerPixel = info->var.bits_per_pixel / 8; gbefb_set_par()
662 info->fix.line_length = info->var.xres_virtual * bytesPerPixel; gbefb_set_par()
827 struct fb_var_screeninfo *var) gbefb_encode_fix()
836 switch (var->bits_per_pixel) { gbefb_encode_fix()
847 fix->line_length = var->xres_virtual * var->bits_per_pixel / 8; gbefb_encode_fix()
855 * entries in the var structure). Return != 0 for invalid regno.
870 if (info->var.bits_per_pixel <= 8) { gbefb_setcolreg()
883 switch (info->var.bits_per_pixel) { gbefb_setcolreg()
890 (red << info->var.red.offset) | gbefb_setcolreg()
891 (green << info->var.green.offset) | gbefb_setcolreg()
892 (blue << info->var.blue.offset); gbefb_setcolreg()
896 (red << info->var.red.offset) | gbefb_setcolreg()
897 (green << info->var.green.offset) | gbefb_setcolreg()
898 (blue << info->var.blue.offset); gbefb_setcolreg()
907 * Check video mode validity, eventually modify var to best match.
909 static int gbefb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) gbefb_check_var() argument
916 if (var->bits_per_pixel <= 8) gbefb_check_var()
917 var->bits_per_pixel = 8; gbefb_check_var()
918 else if (var->bits_per_pixel <= 16) gbefb_check_var()
919 var->bits_per_pixel = 16; gbefb_check_var()
920 else if (var->bits_per_pixel <= 32) gbefb_check_var()
921 var->bits_per_pixel = 32; gbefb_check_var()
927 if ((var->xres * var->yres * var->bits_per_pixel) & 4095) gbefb_check_var()
930 var->grayscale = 0; /* No grayscale for now */ gbefb_check_var()
932 ret = compute_gbe_timing(var, &timing); gbefb_check_var()
933 var->pixclock = ret; gbefb_check_var()
938 if (var->xres > var->xres_virtual || (!ywrap && !ypan)) gbefb_check_var()
939 var->xres_virtual = var->xres; gbefb_check_var()
940 if (var->yres > var->yres_virtual || (!ywrap && !ypan)) gbefb_check_var()
941 var->yres_virtual = var->yres; gbefb_check_var()
943 if (var->vmode & FB_VMODE_CONUPDATE) { gbefb_check_var()
944 var->vmode |= FB_VMODE_YWRAP; gbefb_check_var()
945 var->xoffset = info->var.xoffset; gbefb_check_var()
946 var->yoffset = info->var.yoffset; gbefb_check_var()
950 var->grayscale = 0; gbefb_check_var()
953 line_length = var->xres_virtual * var->bits_per_pixel / 8; gbefb_check_var()
954 if (line_length * var->yres_virtual > gbe_mem_size) gbefb_check_var()
957 switch (var->bits_per_pixel) { gbefb_check_var()
959 var->red.offset = 0; gbefb_check_var()
960 var->red.length = 8; gbefb_check_var()
961 var->green.offset = 0; gbefb_check_var()
962 var->green.length = 8; gbefb_check_var()
963 var->blue.offset = 0; gbefb_check_var()
964 var->blue.length = 8; gbefb_check_var()
965 var->transp.offset = 0; gbefb_check_var()
966 var->transp.length = 0; gbefb_check_var()
969 var->red.offset = 10; gbefb_check_var()
970 var->red.length = 5; gbefb_check_var()
971 var->green.offset = 5; gbefb_check_var()
972 var->green.length = 5; gbefb_check_var()
973 var->blue.offset = 0; gbefb_check_var()
974 var->blue.length = 5; gbefb_check_var()
975 var->transp.offset = 0; gbefb_check_var()
976 var->transp.length = 0; gbefb_check_var()
979 var->red.offset = 24; gbefb_check_var()
980 var->red.length = 8; gbefb_check_var()
981 var->green.offset = 16; gbefb_check_var()
982 var->green.length = 8; gbefb_check_var()
983 var->blue.offset = 8; gbefb_check_var()
984 var->blue.length = 8; gbefb_check_var()
985 var->transp.offset = 0; gbefb_check_var()
986 var->transp.length = 8; gbefb_check_var()
989 var->red.msb_right = 0; gbefb_check_var()
990 var->green.msb_right = 0; gbefb_check_var()
991 var->blue.msb_right = 0; gbefb_check_var()
992 var->transp.msb_right = 0; gbefb_check_var()
994 var->left_margin = timing.htotal - timing.hsync_end; gbefb_check_var()
995 var->right_margin = timing.hsync_start - timing.width; gbefb_check_var()
996 var->upper_margin = timing.vtotal - timing.vsync_end; gbefb_check_var()
997 var->lower_margin = timing.vsync_start - timing.height; gbefb_check_var()
998 var->hsync_len = timing.hsync_end - timing.hsync_start; gbefb_check_var()
999 var->vsync_len = timing.vsync_end - timing.vsync_start; gbefb_check_var()
1220 if (fb_find_mode(&par->var, info, mode_option, NULL, 0, gbefb_probe()
1222 par->var = *default_var; gbefb_probe()
1223 info->var = par->var; gbefb_probe()
1224 gbefb_check_var(&par->var, info); gbefb_probe()
1225 gbefb_encode_fix(&info->fix, &info->var); gbefb_probe()
826 gbefb_encode_fix(struct fb_fix_screeninfo *fix, struct fb_var_screeninfo *var) gbefb_encode_fix() argument
H A Dsunxvr1000.c72 struct fb_var_screeninfo *var = &info->var; gfb_set_fbinfo() local
91 var->xres = gp->width; gfb_set_fbinfo()
92 var->yres = gp->height; gfb_set_fbinfo()
93 var->xres_virtual = var->xres; gfb_set_fbinfo()
94 var->yres_virtual = var->yres; gfb_set_fbinfo()
95 var->bits_per_pixel = gp->depth; gfb_set_fbinfo()
97 var->red.offset = 0; gfb_set_fbinfo()
98 var->red.length = 8; gfb_set_fbinfo()
99 var->green.offset = 8; gfb_set_fbinfo()
100 var->green.length = 8; gfb_set_fbinfo()
101 var->blue.offset = 16; gfb_set_fbinfo()
102 var->blue.length = 8; gfb_set_fbinfo()
103 var->transp.offset = 0; gfb_set_fbinfo()
104 var->transp.length = 0; gfb_set_fbinfo()
H A Dsunxvr2500.c76 struct fb_var_screeninfo *var = &info->var; s3d_set_fbinfo() local
95 var->xres = sp->width; s3d_set_fbinfo()
96 var->yres = sp->height; s3d_set_fbinfo()
97 var->xres_virtual = var->xres; s3d_set_fbinfo()
98 var->yres_virtual = var->yres; s3d_set_fbinfo()
99 var->bits_per_pixel = sp->depth; s3d_set_fbinfo()
101 var->red.offset = 8; s3d_set_fbinfo()
102 var->red.length = 8; s3d_set_fbinfo()
103 var->green.offset = 16; s3d_set_fbinfo()
104 var->green.length = 8; s3d_set_fbinfo()
105 var->blue.offset = 24; s3d_set_fbinfo()
106 var->blue.length = 8; s3d_set_fbinfo()
107 var->transp.offset = 0; s3d_set_fbinfo()
108 var->transp.length = 0; s3d_set_fbinfo()
H A Dda8xx-fb.c620 if (info->var.bits_per_pixel > 16 && lcd_revision == LCD_VERSION_1) fb_setcolreg()
625 red = CNVT_TOHW(red, info->var.red.length); fb_setcolreg()
626 green = CNVT_TOHW(green, info->var.green.length); fb_setcolreg()
627 blue = CNVT_TOHW(blue, info->var.blue.length); fb_setcolreg()
630 switch (info->var.bits_per_pixel) { fb_setcolreg()
635 if (info->var.grayscale) { fb_setcolreg()
676 v = (red << info->var.red.offset) | fb_setcolreg()
677 (green << info->var.green.offset) | fb_setcolreg()
678 (blue << info->var.blue.offset); fb_setcolreg()
951 static int fb_check_var(struct fb_var_screeninfo *var, fb_check_var() argument
956 int bpp = var->bits_per_pixel >> 3; fb_check_var()
957 unsigned long line_size = var->xres_virtual * bpp; fb_check_var()
959 if (var->bits_per_pixel > 16 && lcd_revision == LCD_VERSION_1) fb_check_var()
962 switch (var->bits_per_pixel) { fb_check_var()
965 var->red.offset = 0; fb_check_var()
966 var->red.length = 8; fb_check_var()
967 var->green.offset = 0; fb_check_var()
968 var->green.length = 8; fb_check_var()
969 var->blue.offset = 0; fb_check_var()
970 var->blue.length = 8; fb_check_var()
971 var->transp.offset = 0; fb_check_var()
972 var->transp.length = 0; fb_check_var()
973 var->nonstd = 0; fb_check_var()
976 var->red.offset = 0; fb_check_var()
977 var->red.length = 4; fb_check_var()
978 var->green.offset = 0; fb_check_var()
979 var->green.length = 4; fb_check_var()
980 var->blue.offset = 0; fb_check_var()
981 var->blue.length = 4; fb_check_var()
982 var->transp.offset = 0; fb_check_var()
983 var->transp.length = 0; fb_check_var()
984 var->nonstd = FB_NONSTD_REV_PIX_IN_B; fb_check_var()
987 var->red.offset = 11; fb_check_var()
988 var->red.length = 5; fb_check_var()
989 var->green.offset = 5; fb_check_var()
990 var->green.length = 6; fb_check_var()
991 var->blue.offset = 0; fb_check_var()
992 var->blue.length = 5; fb_check_var()
993 var->transp.offset = 0; fb_check_var()
994 var->transp.length = 0; fb_check_var()
995 var->nonstd = 0; fb_check_var()
998 var->red.offset = 16; fb_check_var()
999 var->red.length = 8; fb_check_var()
1000 var->green.offset = 8; fb_check_var()
1001 var->green.length = 8; fb_check_var()
1002 var->blue.offset = 0; fb_check_var()
1003 var->blue.length = 8; fb_check_var()
1004 var->nonstd = 0; fb_check_var()
1007 var->transp.offset = 24; fb_check_var()
1008 var->transp.length = 8; fb_check_var()
1009 var->red.offset = 16; fb_check_var()
1010 var->red.length = 8; fb_check_var()
1011 var->green.offset = 8; fb_check_var()
1012 var->green.length = 8; fb_check_var()
1013 var->blue.offset = 0; fb_check_var()
1014 var->blue.length = 8; fb_check_var()
1015 var->nonstd = 0; fb_check_var()
1021 var->red.msb_right = 0; fb_check_var()
1022 var->green.msb_right = 0; fb_check_var()
1023 var->blue.msb_right = 0; fb_check_var()
1024 var->transp.msb_right = 0; fb_check_var()
1026 if (line_size * var->yres_virtual > par->vram_size) fb_check_var()
1027 var->yres_virtual = par->vram_size / line_size; fb_check_var()
1029 if (var->yres > var->yres_virtual) fb_check_var()
1030 var->yres = var->yres_virtual; fb_check_var()
1032 if (var->xres > var->xres_virtual) fb_check_var()
1033 var->xres = var->xres_virtual; fb_check_var()
1035 if (var->xres + var->xoffset > var->xres_virtual) fb_check_var()
1036 var->xoffset = var->xres_virtual - var->xres; fb_check_var()
1037 if (var->yres + var->yoffset > var->yres_virtual) fb_check_var()
1038 var->yoffset = var->yres_virtual - var->yres; fb_check_var()
1040 var->pixclock = da8xx_fb_round_clk(par, var->pixclock); fb_check_var()
1219 static int da8xx_pan_display(struct fb_var_screeninfo *var, da8xx_pan_display() argument
1230 if (var->xoffset != fbi->var.xoffset || da8xx_pan_display()
1231 var->yoffset != fbi->var.yoffset) { da8xx_pan_display()
1232 memcpy(&new_var, &fbi->var, sizeof(new_var)); da8xx_pan_display()
1233 new_var.xoffset = var->xoffset; da8xx_pan_display()
1234 new_var.yoffset = var->yoffset; da8xx_pan_display()
1238 memcpy(&fbi->var, &new_var, sizeof(new_var)); da8xx_pan_display()
1242 new_var.xoffset * fbi->var.bits_per_pixel / 8; da8xx_pan_display()
1243 end = start + fbi->var.yres * fix->line_length - 1; da8xx_pan_display()
1276 fb_var_to_videomode(&par->mode, &info->var); da8xxfb_set_par()
1278 par->cfg.bpp = info->var.bits_per_pixel; da8xxfb_set_par()
1291 info->var.yoffset * info->fix.line_length + da8xxfb_set_par()
1292 info->var.xoffset * info->var.bits_per_pixel / 8; da8xxfb_set_par()
1294 info->var.yres * info->fix.line_length - 1; da8xxfb_set_par()
1473 da8xx_fb_info->var = da8xx_fb_var; fb_probe()
1476 da8xx_fb_info->fix.visual = (da8xx_fb_info->var.bits_per_pixel <= 8) ? fb_probe()
H A Dpm2fb.c559 * pm2fb_check_var - Optional function. Validates a var passed in.
560 * @var: frame buffer variable screen structure
564 * var passed in.
568 static int pm2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) pm2fb_check_var() argument
572 if (var->bits_per_pixel != 8 && var->bits_per_pixel != 16 && pm2fb_check_var()
573 var->bits_per_pixel != 24 && var->bits_per_pixel != 32) { pm2fb_check_var()
574 DPRINTK("depth not supported: %u\n", var->bits_per_pixel); pm2fb_check_var()
578 if (var->xres != var->xres_virtual) { pm2fb_check_var()
584 if (var->yres > var->yres_virtual) { pm2fb_check_var()
591 if (var->yres_virtual > 2047) { pm2fb_check_var()
592 var->yres_virtual = 2047; pm2fb_check_var()
595 if (var->xoffset) { pm2fb_check_var()
600 if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) { pm2fb_check_var()
605 var->xres = (var->xres + 15) & ~15; /* could sometimes be 8 */ pm2fb_check_var()
606 lpitch = var->xres * ((var->bits_per_pixel + 7) >> 3); pm2fb_check_var()
608 if (var->xres < 320 || var->xres > 1600) { pm2fb_check_var()
609 DPRINTK("width not supported: %u\n", var->xres); pm2fb_check_var()
613 if (var->yres < 200 || var->yres > 1200) { pm2fb_check_var()
614 DPRINTK("height not supported: %u\n", var->yres); pm2fb_check_var()
618 if (lpitch * var->yres_virtual > info->fix.smem_len) { pm2fb_check_var()
620 var->xres, var->yres_virtual, var->bits_per_pixel); pm2fb_check_var()
624 if (PICOS2KHZ(var->pixclock) > PM2_MAX_PIXCLOCK) { pm2fb_check_var()
626 PICOS2KHZ(var->pixclock)); pm2fb_check_var()
630 var->transp.offset = 0; pm2fb_check_var()
631 var->transp.length = 0; pm2fb_check_var()
632 switch (var->bits_per_pixel) { pm2fb_check_var()
634 var->red.length = 8; pm2fb_check_var()
635 var->green.length = 8; pm2fb_check_var()
636 var->blue.length = 8; pm2fb_check_var()
639 var->red.offset = 11; pm2fb_check_var()
640 var->red.length = 5; pm2fb_check_var()
641 var->green.offset = 5; pm2fb_check_var()
642 var->green.length = 6; pm2fb_check_var()
643 var->blue.offset = 0; pm2fb_check_var()
644 var->blue.length = 5; pm2fb_check_var()
647 var->transp.offset = 24; pm2fb_check_var()
648 var->transp.length = 8; pm2fb_check_var()
649 var->red.offset = 16; pm2fb_check_var()
650 var->green.offset = 8; pm2fb_check_var()
651 var->blue.offset = 0; pm2fb_check_var()
652 var->red.length = 8; pm2fb_check_var()
653 var->green.length = 8; pm2fb_check_var()
654 var->blue.length = 8; pm2fb_check_var()
658 var->red.offset = 0; pm2fb_check_var()
659 var->blue.offset = 16; pm2fb_check_var()
661 var->red.offset = 16; pm2fb_check_var()
662 var->blue.offset = 0; pm2fb_check_var()
664 var->green.offset = 8; pm2fb_check_var()
665 var->red.length = 8; pm2fb_check_var()
666 var->green.length = 8; pm2fb_check_var()
667 var->blue.length = 8; pm2fb_check_var()
670 var->height = -1; pm2fb_check_var()
671 var->width = -1; pm2fb_check_var()
673 var->accel_flags = 0; /* Can't mmap if this is on */ pm2fb_check_var()
676 var->xres, var->yres, var->bits_per_pixel); pm2fb_check_var()
691 u32 width = (info->var.xres_virtual + 7) & ~7; pm2fb_set_par()
692 u32 height = info->var.yres_virtual; pm2fb_set_par()
693 u32 depth = (info->var.bits_per_pixel + 7) & ~7; pm2fb_set_par()
704 u32 xres = (info->var.xres + 31) & ~31; pm2fb_set_par()
716 pixclock = PICOS2KHZ(info->var.pixclock); pm2fb_set_par()
722 hsstart = to3264(info->var.right_margin, depth, data64); pm2fb_set_par()
723 hsend = hsstart + to3264(info->var.hsync_len, depth, data64); pm2fb_set_par()
724 hbend = hsend + to3264(info->var.left_margin, depth, data64); pm2fb_set_par()
726 vsstart = (info->var.lower_margin) pm2fb_set_par()
727 ? info->var.lower_margin - 1 pm2fb_set_par()
729 vsend = info->var.lower_margin + info->var.vsync_len - 1; pm2fb_set_par()
730 vbend = info->var.lower_margin + info->var.vsync_len + pm2fb_set_par()
731 info->var.upper_margin; pm2fb_set_par()
732 vtotal = info->var.yres + vbend - 1; pm2fb_set_par()
734 base = to3264(info->var.yoffset * xres + info->var.xoffset, depth, 1); pm2fb_set_par()
738 if (info->var.sync & FB_SYNC_HOR_HIGH_ACT) { pm2fb_set_par()
747 if (info->var.sync & FB_SYNC_VERT_HIGH_ACT) { pm2fb_set_par()
756 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) { pm2fb_set_par()
760 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_DOUBLE) pm2fb_set_par()
762 if ((info->var.activate & FB_ACTIVATE_MASK) == FB_ACTIVATE_NOW) pm2fb_set_par()
768 info->fix.line_length = info->var.xres * depth / 8; pm2fb_set_par()
852 info->var.xres, info->var.yres, info->var.bits_per_pixel); pm2fb_set_par()
885 if (info->var.grayscale) pm2fb_setcolreg()
889 * var->{color}.offset contains start of bitfield pm2fb_setcolreg()
890 * var->{color}.length contains length of bitfield pm2fb_setcolreg()
898 * var->{color}.offset is 0 pm2fb_setcolreg()
899 * var->{color}.length contains width of DAC pm2fb_setcolreg()
904 * var->{color}.offset contains start of bitfield pm2fb_setcolreg()
905 * var->{color}.length contains length of bitfield pm2fb_setcolreg()
915 red = CNVT_TOHW(red, info->var.red.length); pm2fb_setcolreg()
916 green = CNVT_TOHW(green, info->var.green.length); pm2fb_setcolreg()
917 blue = CNVT_TOHW(blue, info->var.blue.length); pm2fb_setcolreg()
918 transp = CNVT_TOHW(transp, info->var.transp.length); pm2fb_setcolreg()
938 v = (red << info->var.red.offset) | pm2fb_setcolreg()
939 (green << info->var.green.offset) | pm2fb_setcolreg()
940 (blue << info->var.blue.offset) | pm2fb_setcolreg()
941 (transp << info->var.transp.offset); pm2fb_setcolreg()
943 switch (info->var.bits_per_pixel) { pm2fb_setcolreg()
961 * @var: frame buffer variable screen structure
965 * `xoffset' and `yoffset' fields of the `var' structure.
971 static int pm2fb_pan_display(struct fb_var_screeninfo *var, pm2fb_pan_display() argument
976 u32 depth = (info->var.bits_per_pixel + 7) & ~7; pm2fb_pan_display()
977 u32 xres = (info->var.xres + 31) & ~31; pm2fb_pan_display()
980 base = to3264(var->yoffset * xres + var->xoffset, depth, 1); pm2fb_pan_display()
1067 vxres = info->var.xres_virtual; pm2fb_fillrect()
1068 vyres = info->var.yres_virtual; pm2fb_fillrect()
1081 if (info->var.bits_per_pixel == 8) pm2fb_fillrect()
1083 if (info->var.bits_per_pixel <= 16) pm2fb_fillrect()
1090 if (info->var.bits_per_pixel != 24) { pm2fb_fillrect()
1124 vxres = info->var.xres_virtual; pm2fb_copyarea()
1125 vyres = info->var.yres_virtual; pm2fb_copyarea()
1161 u32 xres = (info->var.xres + 31) & ~31; pm2fb_imageblit()
1185 if (info->var.bits_per_pixel == 8) { pm2fb_imageblit()
1189 if (info->var.bits_per_pixel <= 16) { pm2fb_imageblit()
1209 if (info->var.bits_per_pixel == 24) { pm2fb_imageblit()
1268 int x = cursor->image.dx - info->var.xoffset; pm2vfb_cursor()
1269 int y = cursor->image.dy - info->var.yoffset; pm2vfb_cursor()
1397 int x = cursor->image.dx - info->var.xoffset + 63; pm2fb_cursor()
1398 int y = cursor->image.dy - info->var.yoffset + 63; pm2fb_cursor()
1685 err = fb_find_mode(&info->var, info, mode_option, NULL, 0, NULL, 8); pm2fb_probe()
1687 info->var = pm2fb_var; pm2fb_probe()
H A Dimxfb.c244 static int imxfb_activate_var(struct fb_var_screeninfo *var,
295 if (info->var.grayscale) imxfb_setcolreg()
308 val = chan_to_field(red, &info->var.red); imxfb_setcolreg()
309 val |= chan_to_field(green, &info->var.green); imxfb_setcolreg()
310 val |= chan_to_field(blue, &info->var.blue); imxfb_setcolreg()
347 static int imxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) imxfb_check_var() argument
356 if (var->xres < MIN_XRES) imxfb_check_var()
357 var->xres = MIN_XRES; imxfb_check_var()
358 if (var->yres < MIN_YRES) imxfb_check_var()
359 var->yres = MIN_YRES; imxfb_check_var()
365 var->xres = imxfb_mode->mode.xres; imxfb_check_var()
366 var->yres = imxfb_mode->mode.yres; imxfb_check_var()
367 var->bits_per_pixel = imxfb_mode->bpp; imxfb_check_var()
368 var->pixclock = imxfb_mode->mode.pixclock; imxfb_check_var()
369 var->hsync_len = imxfb_mode->mode.hsync_len; imxfb_check_var()
370 var->left_margin = imxfb_mode->mode.left_margin; imxfb_check_var()
371 var->right_margin = imxfb_mode->mode.right_margin; imxfb_check_var()
372 var->vsync_len = imxfb_mode->mode.vsync_len; imxfb_check_var()
373 var->upper_margin = imxfb_mode->mode.upper_margin; imxfb_check_var()
374 var->lower_margin = imxfb_mode->mode.lower_margin; imxfb_check_var()
375 var->sync = imxfb_mode->mode.sync; imxfb_check_var()
376 var->xres_virtual = max(var->xres_virtual, var->xres); imxfb_check_var()
377 var->yres_virtual = max(var->yres_virtual, var->yres); imxfb_check_var()
379 pr_debug("var->bits_per_pixel=%d\n", var->bits_per_pixel); imxfb_check_var()
383 tmp = var->pixclock * (unsigned long long)lcd_clk; imxfb_check_var()
398 switch (var->bits_per_pixel) { imxfb_check_var()
430 var->red = rgb->red; imxfb_check_var()
431 var->green = rgb->green; imxfb_check_var()
432 var->blue = rgb->blue; imxfb_check_var()
433 var->transp = rgb->transp; imxfb_check_var()
436 var->red.length, var->green.length, var->blue.length, imxfb_check_var()
437 var->transp.length); imxfb_check_var()
440 var->red.offset, var->green.offset, var->blue.offset, imxfb_check_var()
441 var->transp.offset); imxfb_check_var()
453 struct fb_var_screeninfo *var = &info->var; imxfb_set_par() local
455 if (var->bits_per_pixel == 16 || var->bits_per_pixel == 32) imxfb_set_par()
468 info->fix.line_length = var->xres_virtual * var->bits_per_pixel / 8; imxfb_set_par()
469 fbi->palette_size = var->bits_per_pixel == 8 ? 256 : 16; imxfb_set_par()
471 imxfb_activate_var(var, info); imxfb_set_par()
554 * Configures LCD Controller based on entries in var parameter. Settings are
557 static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *info) imxfb_activate_var() argument
562 pr_debug("var: xres=%d hslen=%d lm=%d rm=%d\n", imxfb_activate_var()
563 var->xres, var->hsync_len, imxfb_activate_var()
564 var->left_margin, var->right_margin); imxfb_activate_var()
565 pr_debug("var: yres=%d vslen=%d um=%d bm=%d\n", imxfb_activate_var()
566 var->yres, var->vsync_len, imxfb_activate_var()
567 var->upper_margin, var->lower_margin); imxfb_activate_var()
570 if (var->xres < 16 || var->xres > 1024) imxfb_activate_var()
572 info->fix.id, var->xres); imxfb_activate_var()
573 if (var->hsync_len < 1 || var->hsync_len > 64) imxfb_activate_var()
575 info->fix.id, var->hsync_len); imxfb_activate_var()
576 if (var->left_margin > 255) imxfb_activate_var()
578 info->fix.id, var->left_margin); imxfb_activate_var()
579 if (var->right_margin > 255) imxfb_activate_var()
581 info->fix.id, var->right_margin); imxfb_activate_var()
582 if (var->yres < 1 || var->yres > ymax_mask) imxfb_activate_var()
584 info->fix.id, var->yres); imxfb_activate_var()
585 if (var->vsync_len > 100) imxfb_activate_var()
587 info->fix.id, var->vsync_len); imxfb_activate_var()
588 if (var->upper_margin > 63) imxfb_activate_var()
590 info->fix.id, var->upper_margin); imxfb_activate_var()
591 if (var->lower_margin > 255) imxfb_activate_var()
593 info->fix.id, var->lower_margin); imxfb_activate_var()
597 writel(VPW_VPW(var->xres * var->bits_per_pixel / 8 / 4), imxfb_activate_var()
600 writel(HCR_H_WIDTH(var->hsync_len - 1) | imxfb_activate_var()
601 HCR_H_WAIT_1(var->right_margin - 1) | imxfb_activate_var()
602 HCR_H_WAIT_2(var->left_margin - 3), imxfb_activate_var()
605 writel(VCR_V_WIDTH(var->vsync_len) | imxfb_activate_var()
606 VCR_V_WAIT_1(var->lower_margin) | imxfb_activate_var()
607 VCR_V_WAIT_2(var->upper_margin), imxfb_activate_var()
610 writel(SIZE_XMAX(var->xres) | (var->yres & ymax_mask), imxfb_activate_var()
651 info->var.nonstd = 0; imxfb_init_fbinfo()
652 info->var.activate = FB_ACTIVATE_NOW; imxfb_init_fbinfo()
653 info->var.height = -1; imxfb_init_fbinfo()
654 info->var.width = -1; imxfb_init_fbinfo()
655 info->var.accel_flags = 0; imxfb_init_fbinfo()
656 info->var.vmode = FB_VMODE_NONINTERLACED; imxfb_init_fbinfo()
667 info->var.grayscale = of_property_read_bool(np, imxfb_init_fbinfo()
951 imxfb_check_var(&info->var, info); imxfb_probe()
953 ret = fb_alloc_cmap(&info->cmap, 1 << info->var.bits_per_pixel, 0); imxfb_probe()
H A Dmx3fb.c273 struct fb_var_screeninfo cur_var; /* current var info */
744 struct fb_var_screeninfo *var = &fbi->var; mx3fb_set_fix() local
748 fix->line_length = var->xres_virtual * var->bits_per_pixel / 8; mx3fb_set_fix()
779 struct fb_var_screeninfo new_var = fbi->var; mx3fb_must_set_par()
781 if ((fbi->var.activate & FB_ACTIVATE_FORCE) && mx3fb_must_set_par()
782 (fbi->var.activate & FB_ACTIVATE_MASK) == FB_ACTIVATE_NOW) mx3fb_must_set_par()
812 mem_len = fbi->var.yres_virtual * fbi->fix.line_length; __set_par()
831 if (fbi->var.sync & FB_SYNC_HOR_HIGH_ACT) __set_par()
833 if (fbi->var.sync & FB_SYNC_VERT_HIGH_ACT) __set_par()
835 if (fbi->var.sync & FB_SYNC_CLK_INVERT) __set_par()
837 if (fbi->var.sync & FB_SYNC_DATA_INVERT) __set_par()
839 if (fbi->var.sync & FB_SYNC_OE_ACT_HIGH) __set_par()
841 if (fbi->var.sync & FB_SYNC_CLK_IDLE_EN) __set_par()
843 if (fbi->var.sync & FB_SYNC_CLK_SEL_EN) __set_par()
845 if (fbi->var.sync & FB_SYNC_SHARP_MODE) __set_par()
849 (u32) (PICOS2KHZ(fbi->var.pixclock) * 1000UL)); __set_par()
852 (PICOS2KHZ(fbi->var.pixclock)) * 1000UL, __set_par()
853 fbi->var.xres, fbi->var.yres, __set_par()
854 fbi->var.left_margin, __set_par()
855 fbi->var.hsync_len, __set_par()
856 fbi->var.right_margin + __set_par()
857 fbi->var.hsync_len, __set_par()
858 fbi->var.upper_margin, __set_par()
859 fbi->var.vsync_len, __set_par()
860 fbi->var.lower_margin + __set_par()
861 fbi->var.vsync_len, sig_cfg) != 0) { __set_par()
872 video->out_pixel_fmt = bpp_to_pixfmt(fbi->var.bits_per_pixel); __set_par()
873 video->out_width = fbi->var.xres; __set_par()
874 video->out_height = fbi->var.yres; __set_par()
875 video->out_stride = fbi->var.xres_virtual; __set_par()
893 mx3_fbi->cur_var = fbi->var; __set_par()
925 * @var: framebuffer variable parameters
928 static int mx3fb_check_var(struct fb_var_screeninfo *var, struct fb_info *fbi) mx3fb_check_var() argument
936 if (var->xres_virtual < var->xres) mx3fb_check_var()
937 var->xres_virtual = var->xres; mx3fb_check_var()
938 if (var->yres_virtual < var->yres) mx3fb_check_var()
939 var->yres_virtual = var->yres; mx3fb_check_var()
941 if ((var->bits_per_pixel != 32) && (var->bits_per_pixel != 24) && mx3fb_check_var()
942 (var->bits_per_pixel != 16)) mx3fb_check_var()
943 var->bits_per_pixel = default_bpp; mx3fb_check_var()
945 switch (var->bits_per_pixel) { mx3fb_check_var()
947 var->red.length = 5; mx3fb_check_var()
948 var->red.offset = 11; mx3fb_check_var()
949 var->red.msb_right = 0; mx3fb_check_var()
951 var->green.length = 6; mx3fb_check_var()
952 var->green.offset = 5; mx3fb_check_var()
953 var->green.msb_right = 0; mx3fb_check_var()
955 var->blue.length = 5; mx3fb_check_var()
956 var->blue.offset = 0; mx3fb_check_var()
957 var->blue.msb_right = 0; mx3fb_check_var()
959 var->transp.length = 0; mx3fb_check_var()
960 var->transp.offset = 0; mx3fb_check_var()
961 var->transp.msb_right = 0; mx3fb_check_var()
964 var->red.length = 8; mx3fb_check_var()
965 var->red.offset = 16; mx3fb_check_var()
966 var->red.msb_right = 0; mx3fb_check_var()
968 var->green.length = 8; mx3fb_check_var()
969 var->green.offset = 8; mx3fb_check_var()
970 var->green.msb_right = 0; mx3fb_check_var()
972 var->blue.length = 8; mx3fb_check_var()
973 var->blue.offset = 0; mx3fb_check_var()
974 var->blue.msb_right = 0; mx3fb_check_var()
976 var->transp.length = 0; mx3fb_check_var()
977 var->transp.offset = 0; mx3fb_check_var()
978 var->transp.msb_right = 0; mx3fb_check_var()
981 var->red.length = 8; mx3fb_check_var()
982 var->red.offset = 16; mx3fb_check_var()
983 var->red.msb_right = 0; mx3fb_check_var()
985 var->green.length = 8; mx3fb_check_var()
986 var->green.offset = 8; mx3fb_check_var()
987 var->green.msb_right = 0; mx3fb_check_var()
989 var->blue.length = 8; mx3fb_check_var()
990 var->blue.offset = 0; mx3fb_check_var()
991 var->blue.msb_right = 0; mx3fb_check_var()
993 var->transp.length = 8; mx3fb_check_var()
994 var->transp.offset = 24; mx3fb_check_var()
995 var->transp.msb_right = 0; mx3fb_check_var()
999 if (var->pixclock < 1000) { mx3fb_check_var()
1000 htotal = var->xres + var->right_margin + var->hsync_len + mx3fb_check_var()
1001 var->left_margin; mx3fb_check_var()
1002 vtotal = var->yres + var->lower_margin + var->vsync_len + mx3fb_check_var()
1003 var->upper_margin; mx3fb_check_var()
1004 var->pixclock = (vtotal * htotal * 6UL) / 100UL; mx3fb_check_var()
1005 var->pixclock = KHZ2PICOS(var->pixclock); mx3fb_check_var()
1007 var->pixclock); mx3fb_check_var()
1010 var->height = -1; mx3fb_check_var()
1011 var->width = -1; mx3fb_check_var()
1012 var->grayscale = 0; mx3fb_check_var()
1015 var->sync |= mx3_fbi->cur_var.sync; mx3fb_check_var()
1016 mx3_fbi->cur_var.sync |= var->sync; mx3fb_check_var()
1043 if (fbi->var.grayscale) mx3fb_setcolreg()
1055 val = chan_to_field(red, &fbi->var.red); mx3fb_setcolreg()
1056 val |= chan_to_field(green, &fbi->var.green); mx3fb_setcolreg()
1057 val |= chan_to_field(blue, &fbi->var.blue); mx3fb_setcolreg()
1131 * @var: variable screen buffer information.
1136 static int mx3fb_pan_display(struct fb_var_screeninfo *var, mx3fb_pan_display() argument
1152 if (var->xoffset > 0) { mx3fb_pan_display()
1157 if (mx3_fbi->cur_var.xoffset == var->xoffset && mx3fb_pan_display()
1158 mx3_fbi->cur_var.yoffset == var->yoffset) mx3fb_pan_display()
1161 y_bottom = var->yoffset; mx3fb_pan_display()
1163 if (!(var->vmode & FB_VMODE_YWRAP)) mx3fb_pan_display()
1164 y_bottom += fbi->var.yres; mx3fb_pan_display()
1166 if (y_bottom > fbi->var.yres_virtual) mx3fb_pan_display()
1171 offset = var->yoffset * fbi->fix.line_length mx3fb_pan_display()
1172 + var->xoffset * (fbi->var.bits_per_pixel / 8); mx3fb_pan_display()
1233 fbi->var.xoffset = var->xoffset; mx3fb_pan_display()
1234 fbi->var.yoffset = var->yoffset; mx3fb_pan_display()
1236 if (var->vmode & FB_VMODE_YWRAP) mx3fb_pan_display()
1237 fbi->var.vmode |= FB_VMODE_YWRAP; mx3fb_pan_display()
1239 fbi->var.vmode &= ~FB_VMODE_YWRAP; mx3fb_pan_display()
1241 mx3_fbi->cur_var = fbi->var; mx3fb_pan_display()
1411 fbi->var.activate = FB_ACTIVATE_NOW; mx3fb_init_fbinfo()
1472 if (!fb_find_mode(&fbi->var, fbi, fb_mode, mode, init_fb_chan()
1481 fbi->var.yres_virtual = fbi->var.yres * 2; init_fb_chan()
H A Dtdfxfb.c454 static int tdfxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) tdfxfb_check_var() argument
459 if (var->bits_per_pixel != 8 && var->bits_per_pixel != 16 && tdfxfb_check_var()
460 var->bits_per_pixel != 24 && var->bits_per_pixel != 32) { tdfxfb_check_var()
461 DPRINTK("depth not supported: %u\n", var->bits_per_pixel); tdfxfb_check_var()
465 if (var->xres != var->xres_virtual) tdfxfb_check_var()
466 var->xres_virtual = var->xres; tdfxfb_check_var()
468 if (var->yres > var->yres_virtual) tdfxfb_check_var()
469 var->yres_virtual = var->yres; tdfxfb_check_var()
471 if (var->xoffset) { tdfxfb_check_var()
475 var->yoffset = 0; tdfxfb_check_var()
483 if (((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) && tdfxfb_check_var()
490 info->monspecs.dclkmax && fb_validate_mode(var, info) < 0) { tdfxfb_check_var()
495 var->xres = (var->xres + 15) & ~15; /* could sometimes be 8 */ tdfxfb_check_var()
496 lpitch = var->xres * ((var->bits_per_pixel + 7) >> 3); tdfxfb_check_var()
498 if (var->xres < 320 || var->xres > 2048) { tdfxfb_check_var()
499 DPRINTK("width not supported: %u\n", var->xres); tdfxfb_check_var()
503 if (var->yres < 200 || var->yres > 2048) { tdfxfb_check_var()
504 DPRINTK("height not supported: %u\n", var->yres); tdfxfb_check_var()
508 if (lpitch * var->yres_virtual > info->fix.smem_len) { tdfxfb_check_var()
509 var->yres_virtual = info->fix.smem_len / lpitch; tdfxfb_check_var()
510 if (var->yres_virtual < var->yres) { tdfxfb_check_var()
512 var->xres, var->yres_virtual, tdfxfb_check_var()
513 var->bits_per_pixel); tdfxfb_check_var()
518 if (PICOS2KHZ(var->pixclock) > par->max_pixclock) { tdfxfb_check_var()
520 PICOS2KHZ(var->pixclock)); tdfxfb_check_var()
524 var->transp.offset = 0; tdfxfb_check_var()
525 var->transp.length = 0; tdfxfb_check_var()
526 switch (var->bits_per_pixel) { tdfxfb_check_var()
528 var->red.length = 8; tdfxfb_check_var()
529 var->red.offset = 0; tdfxfb_check_var()
530 var->green = var->red; tdfxfb_check_var()
531 var->blue = var->red; tdfxfb_check_var()
534 var->red.offset = 11; tdfxfb_check_var()
535 var->red.length = 5; tdfxfb_check_var()
536 var->green.offset = 5; tdfxfb_check_var()
537 var->green.length = 6; tdfxfb_check_var()
538 var->blue.offset = 0; tdfxfb_check_var()
539 var->blue.length = 5; tdfxfb_check_var()
542 var->transp.offset = 24; tdfxfb_check_var()
543 var->transp.length = 8; tdfxfb_check_var()
545 var->red.offset = 16; tdfxfb_check_var()
546 var->green.offset = 8; tdfxfb_check_var()
547 var->blue.offset = 0; tdfxfb_check_var()
548 var->red.length = var->green.length = var->blue.length = 8; tdfxfb_check_var()
551 var->width = -1; tdfxfb_check_var()
552 var->height = -1; tdfxfb_check_var()
554 var->accel_flags = FB_ACCELF_TEXT; tdfxfb_check_var()
557 var->xres, var->yres, var->bits_per_pixel); tdfxfb_check_var()
564 u32 hdispend = info->var.xres; tdfxfb_set_par()
565 u32 hsyncsta = hdispend + info->var.right_margin; tdfxfb_set_par()
566 u32 hsyncend = hsyncsta + info->var.hsync_len; tdfxfb_set_par()
567 u32 htotal = hsyncend + info->var.left_margin; tdfxfb_set_par()
573 u32 cpp = (info->var.bits_per_pixel + 7) >> 3; tdfxfb_set_par()
583 freq = PICOS2KHZ(info->var.pixclock); tdfxfb_set_par()
605 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_DOUBLE) { tdfxfb_set_par()
606 vd = (info->var.yres << 1) - 1; tdfxfb_set_par()
607 vs = vd + (info->var.lower_margin << 1); tdfxfb_set_par()
608 ve = vs + (info->var.vsync_len << 1); tdfxfb_set_par()
609 vt = ve + (info->var.upper_margin << 1) - 1; tdfxfb_set_par()
610 reg.screensize = info->var.xres | (info->var.yres << 13); tdfxfb_set_par()
614 vd = info->var.yres - 1; tdfxfb_set_par()
615 vs = vd + info->var.lower_margin; tdfxfb_set_par()
616 ve = vs + info->var.vsync_len; tdfxfb_set_par()
617 vt = ve + info->var.upper_margin - 1; tdfxfb_set_par()
618 reg.screensize = info->var.xres | (info->var.yres << 12); tdfxfb_set_par()
626 (info->var.xres < 400 ? 0xa0 : tdfxfb_set_par()
627 info->var.xres < 480 ? 0x60 : tdfxfb_set_par()
628 info->var.xres < 768 ? 0xe0 : 0x20); tdfxfb_set_par()
711 reg.stride = info->var.xres * cpp; tdfxfb_set_par()
712 reg.startaddr = info->var.yoffset * reg.stride tdfxfb_set_par()
713 + info->var.xoffset * cpp; tdfxfb_set_par()
721 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) tdfxfb_set_par()
726 switch (info->var.bits_per_pixel) { tdfxfb_set_par()
746 info->fix.visual = (info->var.bits_per_pixel == 8) tdfxfb_set_par()
750 info->var.xres, info->var.yres, info->var.bits_per_pixel); tdfxfb_set_par()
768 if (info->var.grayscale) { tdfxfb_setcolreg()
785 rgbcol = (CNVT_TOHW(red, info->var.red.length) << tdfxfb_setcolreg()
786 info->var.red.offset) | tdfxfb_setcolreg()
787 (CNVT_TOHW(green, info->var.green.length) << tdfxfb_setcolreg()
788 info->var.green.offset) | tdfxfb_setcolreg()
789 (CNVT_TOHW(blue, info->var.blue.length) << tdfxfb_setcolreg()
790 info->var.blue.offset) | tdfxfb_setcolreg()
791 (CNVT_TOHW(transp, info->var.transp.length) << tdfxfb_setcolreg()
792 info->var.transp.offset); tdfxfb_setcolreg()
798 DPRINTK("bad depth %u\n", info->var.bits_per_pixel); tdfxfb_setcolreg()
841 * Set the starting position of the visible screen to var->yoffset
843 static int tdfxfb_pan_display(struct fb_var_screeninfo *var, tdfxfb_pan_display() argument
847 u32 addr = var->yoffset * info->fix.line_length; tdfxfb_pan_display()
849 if (nopan || var->xoffset) tdfxfb_pan_display()
866 u32 bpp = info->var.bits_per_pixel; tdfxfb_fillrect()
910 u32 bpp = info->var.bits_per_pixel; tdfxfb_copyarea()
969 u32 bpp = info->var.bits_per_pixel; tdfxfb_imageblit()
1106 int y = cursor->image.dy - info->var.yoffset; tdfxfb_cursor()
1501 info->var.bits_per_pixel = 8; tdfxfb_probe()
1517 fb_videomode_to_var(&info->var, m); tdfxfb_probe()
1518 /* fill all other info->var's fields */ tdfxfb_probe()
1519 if (tdfxfb_check_var(&info->var, info) < 0) tdfxfb_probe()
1520 info->var = tdfx_var; tdfxfb_probe()
1531 err = fb_find_mode(&info->var, info, mode_option, tdfxfb_probe()
1533 NULL, info->var.bits_per_pixel); tdfxfb_probe()
1535 info->var = tdfx_var; tdfxfb_probe()
1544 lpitch = info->var.xres_virtual * ((info->var.bits_per_pixel + 7) >> 3); tdfxfb_probe()
1545 info->var.yres_virtual = info->fix.smem_len / lpitch; tdfxfb_probe()
1546 if (info->var.yres_virtual < info->var.yres) tdfxfb_probe()
H A Dimsttfb.c748 set_offset (struct fb_var_screeninfo *var, struct fb_info *info) set_offset() argument
751 __u32 off = var->yoffset * (info->fix.line_length >> 3) set_offset()
752 + ((var->xoffset * (info->var.bits_per_pixel >> 3)) >> 3); set_offset()
783 imsttfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) imsttfb_check_var() argument
785 if ((var->bits_per_pixel != 8 && var->bits_per_pixel != 16 imsttfb_check_var()
786 && var->bits_per_pixel != 24 && var->bits_per_pixel != 32) imsttfb_check_var()
787 || var->xres_virtual < var->xres || var->yres_virtual < var->yres imsttfb_check_var()
788 || var->nonstd imsttfb_check_var()
789 || (var->vmode & FB_VMODE_MASK) != FB_VMODE_NONINTERLACED) imsttfb_check_var()
792 if ((var->xres * var->yres) * (var->bits_per_pixel >> 3) > info->fix.smem_len imsttfb_check_var()
793 || (var->xres_virtual * var->yres_virtual) * (var->bits_per_pixel >> 3) > info->fix.smem_len) imsttfb_check_var()
796 switch (var->bits_per_pixel) { imsttfb_check_var()
798 var->red.offset = 0; imsttfb_check_var()
799 var->red.length = 8; imsttfb_check_var()
800 var->green.offset = 0; imsttfb_check_var()
801 var->green.length = 8; imsttfb_check_var()
802 var->blue.offset = 0; imsttfb_check_var()
803 var->blue.length = 8; imsttfb_check_var()
804 var->transp.offset = 0; imsttfb_check_var()
805 var->transp.length = 0; imsttfb_check_var()
808 if (var->green.length != 6) imsttfb_check_var()
809 var->red.offset = 10; imsttfb_check_var()
810 var->red.length = 5; imsttfb_check_var()
811 var->green.offset = 5; imsttfb_check_var()
812 if (var->green.length != 6) imsttfb_check_var()
813 var->green.length = 5; imsttfb_check_var()
814 var->blue.offset = 0; imsttfb_check_var()
815 var->blue.length = 5; imsttfb_check_var()
816 var->transp.offset = 0; imsttfb_check_var()
817 var->transp.length = 0; imsttfb_check_var()
820 var->red.offset = 16; imsttfb_check_var()
821 var->red.length = 8; imsttfb_check_var()
822 var->green.offset = 8; imsttfb_check_var()
823 var->green.length = 8; imsttfb_check_var()
824 var->blue.offset = 0; imsttfb_check_var()
825 var->blue.length = 8; imsttfb_check_var()
826 var->transp.offset = 0; imsttfb_check_var()
827 var->transp.length = 0; imsttfb_check_var()
830 var->red.offset = 16; imsttfb_check_var()
831 var->red.length = 8; imsttfb_check_var()
832 var->green.offset = 8; imsttfb_check_var()
833 var->green.length = 8; imsttfb_check_var()
834 var->blue.offset = 0; imsttfb_check_var()
835 var->blue.length = 8; imsttfb_check_var()
836 var->transp.offset = 24; imsttfb_check_var()
837 var->transp.length = 8; imsttfb_check_var()
841 if (var->yres == var->yres_virtual) { imsttfb_check_var()
843 var->yres_virtual = ((vram << 3) / var->bits_per_pixel) / var->xres_virtual; imsttfb_check_var()
844 if (var->yres_virtual < var->yres) imsttfb_check_var()
845 var->yres_virtual = var->yres; imsttfb_check_var()
848 var->red.msb_right = 0; imsttfb_check_var()
849 var->green.msb_right = 0; imsttfb_check_var()
850 var->blue.msb_right = 0; imsttfb_check_var()
851 var->transp.msb_right = 0; imsttfb_check_var()
852 var->height = -1; imsttfb_check_var()
853 var->width = -1; imsttfb_check_var()
854 var->vmode = FB_VMODE_NONINTERLACED; imsttfb_check_var()
855 var->left_margin = var->right_margin = 16; imsttfb_check_var()
856 var->upper_margin = var->lower_margin = 16; imsttfb_check_var()
857 var->hsync_len = var->vsync_len = 8; imsttfb_check_var()
866 if (!compute_imstt_regvals(par, info->var.xres, info->var.yres)) imsttfb_set_par()
869 if (info->var.green.length == 6) imsttfb_set_par()
873 set_imstt_regvals(info, info->var.bits_per_pixel); imsttfb_set_par()
874 info->var.pixclock = 1000000 / getclkMHz(par); imsttfb_set_par()
883 u_int bpp = info->var.bits_per_pixel; imsttfb_setcolreg()
907 (regno << (info->var.green.length == imsttfb_setcolreg()
924 imsttfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) imsttfb_pan_display() argument
926 if (var->xoffset + info->var.xres > info->var.xres_virtual imsttfb_pan_display()
927 || var->yoffset + info->var.yres > info->var.yres_virtual) imsttfb_pan_display()
930 info->var.xoffset = var->xoffset; imsttfb_pan_display()
931 info->var.yoffset = var->yoffset; imsttfb_pan_display()
932 set_offset(var, info); imsttfb_pan_display()
1000 Bpp = info->var.bits_per_pixel >> 3, imsttfb_fillrect()
1041 Bpp = info->var.bits_per_pixel >> 3, imsttfb_copyarea()
1210 xx = cursor->image.dx - info->var.xoffset;
1211 yy = cursor->image.dy - info->var.yoffset;
1408 if (mac_vmode_to_var(vmode, cmode, &info->var)) { init_imstt()
1409 info->var.xres = info->var.xres_virtual = INIT_XRES; init_imstt()
1410 info->var.yres = info->var.yres_virtual = INIT_YRES; init_imstt()
1411 info->var.bits_per_pixel = INIT_BPP; init_imstt()
1415 info->var.xres = info->var.xres_virtual = INIT_XRES; init_imstt()
1416 info->var.yres = info->var.yres_virtual = INIT_YRES; init_imstt()
1417 info->var.bits_per_pixel = INIT_BPP; init_imstt()
1420 if ((info->var.xres * info->var.yres) * (info->var.bits_per_pixel >> 3) > info->fix.smem_len init_imstt()
1421 || !(compute_imstt_regvals(par, info->var.xres, info->var.yres))) { init_imstt()
1422 printk("imsttfb: %ux%ux%u not supported\n", info->var.xres, info->var.yres, info->var.bits_per_pixel); init_imstt()
1431 info->fix.visual = info->var.bits_per_pixel == 8 ? FB_VISUAL_PSEUDOCOLOR init_imstt()
1433 info->fix.line_length = info->var.xres * (info->var.bits_per_pixel >> 3); init_imstt()
1438 info->var.accel_flags = FB_ACCELF_TEXT; init_imstt()
1442 if (info->var.green.length == 6) init_imstt()
1446 set_imstt_regvals(info, info->var.bits_per_pixel); init_imstt()
1448 info->var.pixclock = 1000000 / getclkMHz(par); init_imstt()
H A Dsa1100fb.c219 static int sa1100fb_activate_var(struct fb_var_screeninfo *var, struct sa1100fb_info *);
257 static inline u_int palette_pbs(struct fb_var_screeninfo *var) palette_pbs() argument
260 switch (var->bits_per_pixel) { palette_pbs()
282 val |= palette_pbs(&fbi->fb.var); sa1100fb_setpalettereg()
315 if (fbi->fb.var.grayscale) sa1100fb_setcolreg()
328 val = chan_to_field(red, &fbi->fb.var.red); sa1100fb_setcolreg()
329 val |= chan_to_field(green, &fbi->fb.var.green); sa1100fb_setcolreg()
330 val |= chan_to_field(blue, &fbi->fb.var.blue); sa1100fb_setcolreg()
353 static inline unsigned int sa1100fb_display_dma_period(struct fb_var_screeninfo *var) sa1100fb_display_dma_period() argument
359 return var->pixclock * 8 * 16 / var->bits_per_pixel; sa1100fb_display_dma_period()
370 sa1100fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) sa1100fb_check_var() argument
376 if (var->xres < MIN_XRES) sa1100fb_check_var()
377 var->xres = MIN_XRES; sa1100fb_check_var()
378 if (var->yres < MIN_YRES) sa1100fb_check_var()
379 var->yres = MIN_YRES; sa1100fb_check_var()
380 if (var->xres > fbi->inf->xres) sa1100fb_check_var()
381 var->xres = fbi->inf->xres; sa1100fb_check_var()
382 if (var->yres > fbi->inf->yres) sa1100fb_check_var()
383 var->yres = fbi->inf->yres; sa1100fb_check_var()
384 var->xres_virtual = max(var->xres_virtual, var->xres); sa1100fb_check_var()
385 var->yres_virtual = max(var->yres_virtual, var->yres); sa1100fb_check_var()
387 dev_dbg(fbi->dev, "var->bits_per_pixel=%d\n", var->bits_per_pixel); sa1100fb_check_var()
388 switch (var->bits_per_pixel) { sa1100fb_check_var()
406 var->red = fbi->rgb[rgbidx]->red; sa1100fb_check_var()
407 var->green = fbi->rgb[rgbidx]->green; sa1100fb_check_var()
408 var->blue = fbi->rgb[rgbidx]->blue; sa1100fb_check_var()
409 var->transp = fbi->rgb[rgbidx]->transp; sa1100fb_check_var()
412 var->red.length, var->green.length, var->blue.length, sa1100fb_check_var()
413 var->transp.length); sa1100fb_check_var()
416 var->red.offset, var->green.offset, var->blue.offset, sa1100fb_check_var()
417 var->transp.offset); sa1100fb_check_var()
421 sa1100fb_display_dma_period(var), sa1100fb_check_var()
442 struct fb_var_screeninfo *var = &info->var; sa1100fb_set_par() local
447 if (var->bits_per_pixel == 16) sa1100fb_set_par()
460 fbi->fb.fix.line_length = var->xres_virtual * sa1100fb_set_par()
461 var->bits_per_pixel / 8; sa1100fb_set_par()
462 fbi->palette_size = var->bits_per_pixel == 8 ? 256 : 16; sa1100fb_set_par()
475 sa1100fb_activate_var(var, fbi); sa1100fb_set_par()
490 if (!kspc && (fbi->fb.var.bits_per_pixel == 16 || fbi->inf->cmap_static))
609 * Configures LCD Controller based on entries in var parameter. Settings are
612 static int sa1100fb_activate_var(struct fb_var_screeninfo *var, struct sa1100fb_info *fbi) sa1100fb_activate_var() argument
620 dev_dbg(fbi->dev, "var: xres=%d hslen=%d lm=%d rm=%d\n", sa1100fb_activate_var()
621 var->xres, var->hsync_len, sa1100fb_activate_var()
622 var->left_margin, var->right_margin); sa1100fb_activate_var()
623 dev_dbg(fbi->dev, "var: yres=%d vslen=%d um=%d bm=%d\n", sa1100fb_activate_var()
624 var->yres, var->vsync_len, sa1100fb_activate_var()
625 var->upper_margin, var->lower_margin); sa1100fb_activate_var()
628 if (var->xres < 16 || var->xres > 1024) sa1100fb_activate_var()
630 fbi->fb.fix.id, var->xres); sa1100fb_activate_var()
631 if (var->hsync_len < 1 || var->hsync_len > 64) sa1100fb_activate_var()
633 fbi->fb.fix.id, var->hsync_len); sa1100fb_activate_var()
634 if (var->left_margin < 1 || var->left_margin > 255) sa1100fb_activate_var()
636 fbi->fb.fix.id, var->left_margin); sa1100fb_activate_var()
637 if (var->right_margin < 1 || var->right_margin > 255) sa1100fb_activate_var()
639 fbi->fb.fix.id, var->right_margin); sa1100fb_activate_var()
640 if (var->yres < 1 || var->yres > 1024) sa1100fb_activate_var()
642 fbi->fb.fix.id, var->yres); sa1100fb_activate_var()
643 if (var->vsync_len < 1 || var->vsync_len > 64) sa1100fb_activate_var()
645 fbi->fb.fix.id, var->vsync_len); sa1100fb_activate_var()
646 if (var->upper_margin < 0 || var->upper_margin > 255) sa1100fb_activate_var()
648 fbi->fb.fix.id, var->upper_margin); sa1100fb_activate_var()
649 if (var->lower_margin < 0 || var->lower_margin > 255) sa1100fb_activate_var()
651 fbi->fb.fix.id, var->lower_margin); sa1100fb_activate_var()
659 LCCR1_DisWdth(var->xres) + sa1100fb_activate_var()
660 LCCR1_HorSnchWdth(var->hsync_len) + sa1100fb_activate_var()
661 LCCR1_BegLnDel(var->left_margin) + sa1100fb_activate_var()
662 LCCR1_EndLnDel(var->right_margin); sa1100fb_activate_var()
668 yres = var->yres; sa1100fb_activate_var()
674 LCCR2_VrtSnchWdth(var->vsync_len) + sa1100fb_activate_var()
675 LCCR2_BegFrmDel(var->upper_margin) + sa1100fb_activate_var()
676 LCCR2_EndFrmDel(var->lower_margin); sa1100fb_activate_var()
678 pcd = get_pcd(fbi, var->pixclock); sa1100fb_activate_var()
680 (var->sync & FB_SYNC_HOR_HIGH_ACT ? LCCR3_HorSnchH : LCCR3_HorSnchL) | sa1100fb_activate_var()
681 (var->sync & FB_SYNC_VERT_HIGH_ACT ? LCCR3_VrtSnchH : LCCR3_VrtSnchL); sa1100fb_activate_var()
688 half_screen_size = var->bits_per_pixel; sa1100fb_activate_var()
689 half_screen_size = half_screen_size * var->xres * var->yres / 16; sa1100fb_activate_var()
759 if (fbi->fb.var.bits_per_pixel > 8 || sa1100fb_setup_gpio()
790 fbi->palette_cpu[0] |= palette_pbs(&fbi->fb.var); sa1100fb_enable_controller()
996 period = sa1100fb_display_dma_period(&disp->var); sa1100fb_min_dma_period()
1006 return sa1100fb_display_dma_period(&fbi->fb.var); sa1100fb_min_dma_period()
1028 pcd = get_pcd(fbi, fbi->fb.var.pixclock); sa1100fb_freq_transition()
1153 fbi->fb.var.nonstd = 0; sa1100fb_init_fbinfo()
1154 fbi->fb.var.activate = FB_ACTIVATE_NOW; sa1100fb_init_fbinfo()
1155 fbi->fb.var.height = -1; sa1100fb_init_fbinfo()
1156 fbi->fb.var.width = -1; sa1100fb_init_fbinfo()
1157 fbi->fb.var.accel_flags = 0; sa1100fb_init_fbinfo()
1158 fbi->fb.var.vmode = FB_VMODE_NONINTERLACED; sa1100fb_init_fbinfo()
1179 fbi->fb.var.xres = inf->xres; sa1100fb_init_fbinfo()
1180 fbi->fb.var.xres_virtual = inf->xres; sa1100fb_init_fbinfo()
1181 fbi->fb.var.yres = inf->yres; sa1100fb_init_fbinfo()
1182 fbi->fb.var.yres_virtual = inf->yres; sa1100fb_init_fbinfo()
1183 fbi->fb.var.bits_per_pixel = inf->bpp; sa1100fb_init_fbinfo()
1184 fbi->fb.var.pixclock = inf->pixclock; sa1100fb_init_fbinfo()
1185 fbi->fb.var.hsync_len = inf->hsync_len; sa1100fb_init_fbinfo()
1186 fbi->fb.var.left_margin = inf->left_margin; sa1100fb_init_fbinfo()
1187 fbi->fb.var.right_margin = inf->right_margin; sa1100fb_init_fbinfo()
1188 fbi->fb.var.vsync_len = inf->vsync_len; sa1100fb_init_fbinfo()
1189 fbi->fb.var.upper_margin = inf->upper_margin; sa1100fb_init_fbinfo()
1190 fbi->fb.var.lower_margin = inf->lower_margin; sa1100fb_init_fbinfo()
1191 fbi->fb.var.sync = inf->sync; sa1100fb_init_fbinfo()
1192 fbi->fb.var.grayscale = inf->cmap_greyscale; sa1100fb_init_fbinfo()
1268 sa1100fb_check_var(&fbi->fb.var, &fbi->fb); sa1100fb_probe()
H A Dfsl-diu-fb.c620 static void adjust_aoi_size_position(struct fb_var_screeninfo *var, adjust_aoi_size_position() argument
630 base_plane_width = data->fsl_diu_info[0].var.xres; adjust_aoi_size_position()
631 base_plane_height = data->fsl_diu_info[0].var.yres; adjust_aoi_size_position()
648 if (var->xres > base_plane_width) adjust_aoi_size_position()
649 var->xres = base_plane_width; adjust_aoi_size_position()
650 if ((mfbi->x_aoi_d + var->xres) > base_plane_width) adjust_aoi_size_position()
651 mfbi->x_aoi_d = base_plane_width - var->xres; adjust_aoi_size_position()
657 if (var->yres > available_height) adjust_aoi_size_position()
658 var->yres = available_height; adjust_aoi_size_position()
659 if ((mfbi->y_aoi_d + var->yres) > available_height) adjust_aoi_size_position()
660 mfbi->y_aoi_d = available_height - var->yres; adjust_aoi_size_position()
665 upper_aoi_height = data->fsl_diu_info[index-1].var.yres; adjust_aoi_size_position()
668 if (var->xres > base_plane_width) adjust_aoi_size_position()
669 var->xres = base_plane_width; adjust_aoi_size_position()
670 if ((mfbi->x_aoi_d + var->xres) > base_plane_width) adjust_aoi_size_position()
671 mfbi->x_aoi_d = base_plane_width - var->xres; adjust_aoi_size_position()
681 if (var->yres > available_height) adjust_aoi_size_position()
682 var->yres = available_height; adjust_aoi_size_position()
683 if ((mfbi->y_aoi_d + var->yres) > base_plane_height) adjust_aoi_size_position()
684 mfbi->y_aoi_d = base_plane_height - var->yres; adjust_aoi_size_position()
689 * Checks to see if the hardware supports the state requested by var passed
690 * in. This function does not alter the hardware state! If the var passed in
691 * is slightly off by what the hardware can support then we alter the var
695 static int fsl_diu_check_var(struct fb_var_screeninfo *var, fsl_diu_check_var() argument
698 if (var->xres_virtual < var->xres) fsl_diu_check_var()
699 var->xres_virtual = var->xres; fsl_diu_check_var()
700 if (var->yres_virtual < var->yres) fsl_diu_check_var()
701 var->yres_virtual = var->yres; fsl_diu_check_var()
703 if (var->xoffset < 0) fsl_diu_check_var()
704 var->xoffset = 0; fsl_diu_check_var()
706 if (var->yoffset < 0) fsl_diu_check_var()
707 var->yoffset = 0; fsl_diu_check_var()
709 if (var->xoffset + info->var.xres > info->var.xres_virtual) fsl_diu_check_var()
710 var->xoffset = info->var.xres_virtual - info->var.xres; fsl_diu_check_var()
712 if (var->yoffset + info->var.yres > info->var.yres_virtual) fsl_diu_check_var()
713 var->yoffset = info->var.yres_virtual - info->var.yres; fsl_diu_check_var()
715 if ((var->bits_per_pixel != 32) && (var->bits_per_pixel != 24) && fsl_diu_check_var()
716 (var->bits_per_pixel != 16)) fsl_diu_check_var()
717 var->bits_per_pixel = default_bpp; fsl_diu_check_var()
719 switch (var->bits_per_pixel) { fsl_diu_check_var()
721 var->red.length = 5; fsl_diu_check_var()
722 var->red.offset = 11; fsl_diu_check_var()
723 var->red.msb_right = 0; fsl_diu_check_var()
725 var->green.length = 6; fsl_diu_check_var()
726 var->green.offset = 5; fsl_diu_check_var()
727 var->green.msb_right = 0; fsl_diu_check_var()
729 var->blue.length = 5; fsl_diu_check_var()
730 var->blue.offset = 0; fsl_diu_check_var()
731 var->blue.msb_right = 0; fsl_diu_check_var()
733 var->transp.length = 0; fsl_diu_check_var()
734 var->transp.offset = 0; fsl_diu_check_var()
735 var->transp.msb_right = 0; fsl_diu_check_var()
738 var->red.length = 8; fsl_diu_check_var()
739 var->red.offset = 0; fsl_diu_check_var()
740 var->red.msb_right = 0; fsl_diu_check_var()
742 var->green.length = 8; fsl_diu_check_var()
743 var->green.offset = 8; fsl_diu_check_var()
744 var->green.msb_right = 0; fsl_diu_check_var()
746 var->blue.length = 8; fsl_diu_check_var()
747 var->blue.offset = 16; fsl_diu_check_var()
748 var->blue.msb_right = 0; fsl_diu_check_var()
750 var->transp.length = 0; fsl_diu_check_var()
751 var->transp.offset = 0; fsl_diu_check_var()
752 var->transp.msb_right = 0; fsl_diu_check_var()
755 var->red.length = 8; fsl_diu_check_var()
756 var->red.offset = 16; fsl_diu_check_var()
757 var->red.msb_right = 0; fsl_diu_check_var()
759 var->green.length = 8; fsl_diu_check_var()
760 var->green.offset = 8; fsl_diu_check_var()
761 var->green.msb_right = 0; fsl_diu_check_var()
763 var->blue.length = 8; fsl_diu_check_var()
764 var->blue.offset = 0; fsl_diu_check_var()
765 var->blue.msb_right = 0; fsl_diu_check_var()
767 var->transp.length = 8; fsl_diu_check_var()
768 var->transp.offset = 24; fsl_diu_check_var()
769 var->transp.msb_right = 0; fsl_diu_check_var()
774 var->height = -1; fsl_diu_check_var()
775 var->width = -1; fsl_diu_check_var()
776 var->grayscale = 0; fsl_diu_check_var()
779 var->sync |= var->nonstd; fsl_diu_check_var()
780 var->nonstd |= var->sync; fsl_diu_check_var()
782 adjust_aoi_size_position(var, info); fsl_diu_check_var()
789 struct fb_var_screeninfo *var = &info->var; set_fix() local
793 fix->line_length = var->xres_virtual * var->bits_per_pixel / 8; set_fix()
803 struct fb_var_screeninfo *var = &info->var; update_lcdc() local
834 out_be32(&hw->disp_size, (var->yres << 16) | var->xres); update_lcdc()
837 temp = var->left_margin << 22 | /* BP_H */ update_lcdc()
838 var->hsync_len << 11 | /* PW_H */ update_lcdc()
839 var->right_margin; /* FP_H */ update_lcdc()
843 temp = var->upper_margin << 22 | /* BP_V */ update_lcdc()
844 var->vsync_len << 11 | /* PW_V */ update_lcdc()
845 var->lower_margin; /* FP_V */ update_lcdc()
849 diu_ops.set_pixel_clock(var->pixclock); update_lcdc()
872 u32 smem_len = info->fix.line_length * info->var.yres_virtual; map_video_memory()
911 struct fb_var_screeninfo *var = &info->var; fsl_diu_set_aoi() local
916 ad->offset_xyi = cpu_to_le32((var->yoffset << 16) | var->xoffset); fsl_diu_set_aoi()
1050 yy = (cursor->image.dy - info->var.yoffset) & 0x7ff; fsl_diu_cursor()
1051 xx = (cursor->image.dx - info->var.xoffset) & 0x7ff; fsl_diu_cursor()
1127 * in fb_info. It does not alter var in fb_info since we are using that
1128 * data. This means we depend on the data in var inside fb_info to be
1135 struct fb_var_screeninfo *var = &info->var; fsl_diu_set_par() local
1145 len = info->var.yres_virtual * info->fix.line_length; fsl_diu_set_par()
1160 var->bits_per_pixel); fsl_diu_set_par()
1162 ad->pix_fmt = fsl_diu_get_pixel_format(var->bits_per_pixel); fsl_diu_set_par()
1165 ad->src_size_g_alpha = cpu_to_le32((var->yres_virtual << 12) | fsl_diu_set_par()
1166 var->xres_virtual) | mfbi->g_alpha; fsl_diu_set_par()
1168 ad->aoi_size = cpu_to_le32((var->yres << 16) | var->xres); fsl_diu_set_par()
1169 ad->offset_xyi = cpu_to_le32((var->yoffset << 16) | var->xoffset); fsl_diu_set_par()
1210 if (info->var.grayscale) fsl_diu_setcolreg()
1223 red = CNVT_TOHW(red, info->var.red.length); fsl_diu_setcolreg()
1224 green = CNVT_TOHW(green, info->var.green.length); fsl_diu_setcolreg()
1225 blue = CNVT_TOHW(blue, info->var.blue.length); fsl_diu_setcolreg()
1226 transp = CNVT_TOHW(transp, info->var.transp.length); fsl_diu_setcolreg()
1228 v = (red << info->var.red.offset) | fsl_diu_setcolreg()
1229 (green << info->var.green.offset) | fsl_diu_setcolreg()
1230 (blue << info->var.blue.offset) | fsl_diu_setcolreg()
1231 (transp << info->var.transp.offset); fsl_diu_setcolreg()
1244 * 'xoffset' and 'yoffset' fields of the 'var' structure. If the values
1247 static int fsl_diu_pan_display(struct fb_var_screeninfo *var, fsl_diu_pan_display() argument
1250 if ((info->var.xoffset == var->xoffset) && fsl_diu_pan_display()
1251 (info->var.yoffset == var->yoffset)) fsl_diu_pan_display()
1254 if (var->xoffset < 0 || var->yoffset < 0 fsl_diu_pan_display()
1255 || var->xoffset + info->var.xres > info->var.xres_virtual fsl_diu_pan_display()
1256 || var->yoffset + info->var.yres > info->var.yres_virtual) fsl_diu_pan_display()
1259 info->var.xoffset = var->xoffset; fsl_diu_pan_display()
1260 info->var.yoffset = var->yoffset; fsl_diu_pan_display()
1262 if (var->vmode & FB_VMODE_YWRAP) fsl_diu_pan_display()
1263 info->var.vmode |= FB_VMODE_YWRAP; fsl_diu_pan_display()
1265 info->var.vmode &= ~FB_VMODE_YWRAP; fsl_diu_pan_display()
1315 fsl_diu_check_var(&info->var, info); fsl_diu_ioctl()
1413 fsl_diu_check_var(&info->var, info); fsl_diu_open()
1482 info->var.activate = FB_ACTIVATE_NOW; install_fb()
1506 rc = fb_find_mode(&info->var, info, aoi_mode, db, dbsize, NULL, install_fb()
1520 rc = fb_find_mode(&info->var, info, aoi_mode, fsl_diu_mode_db, install_fb()
1546 info->var.bits_per_pixel = default_bpp; install_fb()
1547 fb_videomode_to_var(&info->var, modedb); install_fb()
1550 if (fsl_diu_check_var(&info->var, info)) { install_fb()
H A Dbf54x-lq043fb.c329 static int bfin_bf54x_fb_check_var(struct fb_var_screeninfo *var, bfin_bf54x_fb_check_var() argument
333 switch (var->bits_per_pixel) { bfin_bf54x_fb_check_var()
335 var->red.offset = 16; bfin_bf54x_fb_check_var()
336 var->green.offset = 8; bfin_bf54x_fb_check_var()
337 var->blue.offset = 0; bfin_bf54x_fb_check_var()
338 var->red.length = var->green.length = var->blue.length = 8; bfin_bf54x_fb_check_var()
339 var->transp.offset = 0; bfin_bf54x_fb_check_var()
340 var->transp.length = 0; bfin_bf54x_fb_check_var()
341 var->transp.msb_right = 0; bfin_bf54x_fb_check_var()
342 var->red.msb_right = 0; bfin_bf54x_fb_check_var()
343 var->green.msb_right = 0; bfin_bf54x_fb_check_var()
344 var->blue.msb_right = 0; bfin_bf54x_fb_check_var()
348 var->bits_per_pixel); bfin_bf54x_fb_check_var()
352 if (info->var.xres != var->xres || info->var.yres != var->yres || bfin_bf54x_fb_check_var()
353 info->var.xres_virtual != var->xres_virtual || bfin_bf54x_fb_check_var()
354 info->var.yres_virtual != var->yres_virtual) { bfin_bf54x_fb_check_var()
356 __func__, var->xres, var->yres); bfin_bf54x_fb_check_var()
364 if ((info->fix.line_length * var->yres_virtual) > info->fix.smem_len) { bfin_bf54x_fb_check_var()
366 __func__, var->yres_virtual); bfin_bf54x_fb_check_var()
388 if (info->var.grayscale) { bfin_bf54x_fb_setcolreg()
400 red >>= (16 - info->var.red.length); bfin_bf54x_fb_setcolreg()
401 green >>= (16 - info->var.green.length); bfin_bf54x_fb_setcolreg()
402 blue >>= (16 - info->var.blue.length); bfin_bf54x_fb_setcolreg()
404 value = (red << info->var.red.offset) | bfin_bf54x_fb_setcolreg()
405 (green << info->var.green.offset) | bfin_bf54x_fb_setcolreg()
406 (blue << info->var.blue.offset); bfin_bf54x_fb_setcolreg()
551 fbinfo->var.nonstd = 0; bfin_bf54x_probe()
552 fbinfo->var.activate = FB_ACTIVATE_NOW; bfin_bf54x_probe()
553 fbinfo->var.height = info->mach_info->height; bfin_bf54x_probe()
554 fbinfo->var.width = info->mach_info->width; bfin_bf54x_probe()
555 fbinfo->var.accel_flags = 0; bfin_bf54x_probe()
556 fbinfo->var.vmode = FB_VMODE_NONINTERLACED; bfin_bf54x_probe()
561 fbinfo->var.xres = info->mach_info->xres.defval; bfin_bf54x_probe()
562 fbinfo->var.xres_virtual = info->mach_info->xres.defval; bfin_bf54x_probe()
563 fbinfo->var.yres = info->mach_info->yres.defval; bfin_bf54x_probe()
564 fbinfo->var.yres_virtual = info->mach_info->yres.defval; bfin_bf54x_probe()
565 fbinfo->var.bits_per_pixel = info->mach_info->bpp.defval; bfin_bf54x_probe()
567 fbinfo->var.upper_margin = 0; bfin_bf54x_probe()
568 fbinfo->var.lower_margin = 0; bfin_bf54x_probe()
569 fbinfo->var.vsync_len = 0; bfin_bf54x_probe()
571 fbinfo->var.left_margin = 0; bfin_bf54x_probe()
572 fbinfo->var.right_margin = 0; bfin_bf54x_probe()
573 fbinfo->var.hsync_len = 0; bfin_bf54x_probe()
575 fbinfo->var.red.offset = 16; bfin_bf54x_probe()
576 fbinfo->var.green.offset = 8; bfin_bf54x_probe()
577 fbinfo->var.blue.offset = 0; bfin_bf54x_probe()
578 fbinfo->var.transp.offset = 0; bfin_bf54x_probe()
579 fbinfo->var.red.length = 8; bfin_bf54x_probe()
580 fbinfo->var.green.length = 8; bfin_bf54x_probe()
581 fbinfo->var.blue.length = 8; bfin_bf54x_probe()
582 fbinfo->var.transp.length = 0; bfin_bf54x_probe()
586 fbinfo->fix.line_length = fbinfo->var.xres_virtual * bfin_bf54x_probe()
587 fbinfo->var.bits_per_pixel / 8; bfin_bf54x_probe()
H A Dneofb.c260 static int vgaHWInit(const struct fb_var_screeninfo *var, vgaHWInit() argument
263 int hsync_end = var->xres + var->right_margin + var->hsync_len; vgaHWInit()
264 int htotal = (hsync_end + var->left_margin) >> 3; vgaHWInit()
265 int vsync_start = var->yres + var->lower_margin; vgaHWInit()
266 int vsync_end = vsync_start + var->vsync_len; vgaHWInit()
267 int vtotal = vsync_end + var->upper_margin; vgaHWInit()
271 if (!(var->sync & FB_SYNC_HOR_HIGH_ACT)) vgaHWInit()
274 if (!(var->sync & FB_SYNC_VERT_HIGH_ACT)) vgaHWInit()
290 par->CRTC[1] = (var->xres >> 3) - 1; vgaHWInit()
291 par->CRTC[2] = (var->xres >> 3) - 1; vgaHWInit()
293 par->CRTC[4] = ((var->xres + var->right_margin) >> 3); vgaHWInit()
298 | (((var->yres - 1) & 0x100) >> 7) vgaHWInit()
300 | (((var->yres - 1) & 0x100) >> 5) vgaHWInit()
302 | (((var->yres - 1) & 0x200) >> 3) vgaHWInit()
305 par->CRTC[9] = (((var->yres - 1) & 0x200) >> 4) | 0x40; vgaHWInit()
307 if (var->vmode & FB_VMODE_DOUBLE) vgaHWInit()
318 par->CRTC[18] = (var->yres - 1) & 0xFF; vgaHWInit()
319 par->CRTC[19] = var->xres_virtual >> 4; vgaHWInit()
321 par->CRTC[21] = (var->yres - 1) & 0xFF; vgaHWInit()
520 struct fb_var_screeninfo *var) neo2200_accel_init()
528 switch (var->bits_per_pixel) { neo2200_accel_init()
531 pitch = var->xres_virtual; neo2200_accel_init()
536 pitch = var->xres_virtual * 2; neo2200_accel_init()
540 pitch = var->xres_virtual * 3; neo2200_accel_init()
586 neofb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) neofb_check_var() argument
594 if (PICOS2KHZ(var->pixclock) > par->maxClock) neofb_check_var()
599 ((var->xres > par->NeoPanelWidth) || neofb_check_var()
600 (var->yres > par->NeoPanelHeight))) { neofb_check_var()
603 var->xres, var->yres, par->NeoPanelWidth, neofb_check_var()
612 switch (var->xres) { neofb_check_var()
614 if (var->yres == 1024) neofb_check_var()
618 if (var->yres == 768) neofb_check_var()
622 if (var->yres == (par->libretto ? 480 : 600)) neofb_check_var()
626 if (var->yres == 480) neofb_check_var()
635 var->xres, var->yres); neofb_check_var()
639 var->red.msb_right = 0; neofb_check_var()
640 var->green.msb_right = 0; neofb_check_var()
641 var->blue.msb_right = 0; neofb_check_var()
642 var->transp.msb_right = 0; neofb_check_var()
644 var->transp.offset = 0; neofb_check_var()
645 var->transp.length = 0; neofb_check_var()
646 switch (var->bits_per_pixel) { neofb_check_var()
648 var->red.offset = 0; neofb_check_var()
649 var->red.length = 8; neofb_check_var()
650 var->green.offset = 0; neofb_check_var()
651 var->green.length = 8; neofb_check_var()
652 var->blue.offset = 0; neofb_check_var()
653 var->blue.length = 8; neofb_check_var()
657 var->red.offset = 11; neofb_check_var()
658 var->red.length = 5; neofb_check_var()
659 var->green.offset = 5; neofb_check_var()
660 var->green.length = 6; neofb_check_var()
661 var->blue.offset = 0; neofb_check_var()
662 var->blue.length = 5; neofb_check_var()
666 var->red.offset = 16; neofb_check_var()
667 var->red.length = 8; neofb_check_var()
668 var->green.offset = 8; neofb_check_var()
669 var->green.length = 8; neofb_check_var()
670 var->blue.offset = 0; neofb_check_var()
671 var->blue.length = 8; neofb_check_var()
676 var->transp.offset = 24; neofb_check_var()
677 var->transp.length = 8; neofb_check_var()
678 var->red.offset = 16; neofb_check_var()
679 var->red.length = 8; neofb_check_var()
680 var->green.offset = 8; neofb_check_var()
681 var->green.length = 8; neofb_check_var()
682 var->blue.offset = 0; neofb_check_var()
683 var->blue.length = 8; neofb_check_var()
688 var->bits_per_pixel); neofb_check_var()
696 if (var->xres_virtual < var->xres) neofb_check_var()
697 var->xres_virtual = var->xres; neofb_check_var()
699 memlen = var->xres_virtual * var->bits_per_pixel * var->yres_virtual >> 3; neofb_check_var()
702 var->yres_virtual = vramlen * 8 / (var->xres_virtual * neofb_check_var()
703 var->bits_per_pixel); neofb_check_var()
704 memlen = var->xres_virtual * var->bits_per_pixel * neofb_check_var()
705 var->yres_virtual / 8; neofb_check_var()
710 if (var->yres_virtual < var->yres) neofb_check_var()
711 var->yres = var->yres_virtual; neofb_check_var()
712 if (var->xoffset + var->xres > var->xres_virtual) neofb_check_var()
713 var->xoffset = var->xres_virtual - var->xres; neofb_check_var()
714 if (var->yoffset + var->yres > var->yres_virtual) neofb_check_var()
715 var->yoffset = var->yres_virtual - var->yres; neofb_check_var()
717 var->nonstd = 0; neofb_check_var()
718 var->height = -1; neofb_check_var()
719 var->width = -1; neofb_check_var()
721 if (var->bits_per_pixel >= 24 || !par->neo2200) neofb_check_var()
722 var->accel_flags &= ~FB_ACCELF_TEXT; neofb_check_var()
741 vsync_start = info->var.yres + info->var.lower_margin; neofb_set_par()
742 vtotal = vsync_start + info->var.vsync_len + info->var.upper_margin; neofb_set_par()
749 if (vgaHWInit(&info->var, par)) neofb_set_par()
758 switch (info->var.bits_per_pixel) { neofb_set_par()
760 par->CRTC[0x13] = info->var.xres_virtual >> 3; neofb_set_par()
761 par->ExtCRTOffset = info->var.xres_virtual >> 11; neofb_set_par()
765 par->CRTC[0x13] = info->var.xres_virtual >> 2; neofb_set_par()
766 par->ExtCRTOffset = info->var.xres_virtual >> 10; neofb_set_par()
770 par->CRTC[0x13] = (info->var.xres_virtual * 3) >> 3; neofb_set_par()
771 par->ExtCRTOffset = (info->var.xres_virtual * 3) >> 11; neofb_set_par()
776 par->CRTC[0x13] = info->var.xres_virtual >> 1; neofb_set_par()
777 par->ExtCRTOffset = info->var.xres_virtual >> 9; neofb_set_par()
789 | (((info->var.yres - 1) & 0x400) >> 9) neofb_set_par()
818 switch (info->var.xres) { neofb_set_par()
858 (info->var.xres != par->NeoPanelWidth)) { neofb_set_par()
859 switch (info->var.xres) { neofb_set_par()
892 if (info->var.xres == par->NeoPanelWidth) { neofb_set_par()
905 info->var.xres) >> 4) - 1; neofb_set_par()
908 info->var.yres) >> 1) - 2; neofb_set_par()
915 switch (info->var.xres) { neofb_set_par()
945 neoFindMode(info->var.xres, info->var.yres, neofb_set_par()
946 info->var.bits_per_pixel); neofb_set_par()
952 neoCalcVCLK(info, par, PICOS2KHZ(info->var.pixclock)); neofb_set_par()
1019 switch (info->var.bits_per_pixel) { neofb_set_par()
1159 info->var.xres_virtual * (info->var.bits_per_pixel >> 3); neofb_set_par()
1166 neo2200_accel_init(info, &info->var); neofb_set_par()
1177 static int neofb_pan_display(struct fb_var_screeninfo *var, neofb_pan_display() argument
1187 Base = (var->yoffset * info->var.xres_virtual + var->xoffset) >> 2; neofb_pan_display()
1188 Base *= (info->var.bits_per_pixel + 7) / 8; neofb_pan_display()
1217 if (fb->var.bits_per_pixel <= 8) { neofb_setcolreg()
1224 switch (fb->var.bits_per_pixel) { neofb_setcolreg()
1371 dst = rect->dx + rect->dy * info->var.xres_virtual; neo2200_fillrect()
1383 switch (info->var.bits_per_pixel) { neo2200_fillrect()
1394 writel(dst * ((info->var.bits_per_pixel + 7) >> 3), neo2200_fillrect()
1419 src = sx * (info->var.bits_per_pixel >> 3) + sy*info->fix.line_length; neo2200_copyarea()
1420 dst = dx * (info->var.bits_per_pixel >> 3) + dy*info->fix.line_length; neo2200_copyarea()
1449 if (info->var.bits_per_pixel == 24 && image->width < 16) { neo2200_imageblit()
1459 } else if (image->depth == info->var.bits_per_pixel) { neo2200_imageblit()
1468 switch (info->var.bits_per_pixel) { neo2200_imageblit()
1489 writel(((image->dx & 0xffff) * (info->var.bits_per_pixel >> 3) + neo2200_imageblit()
2075 if (!fb_find_mode(&info->var, info, mode_option, NULL, 0, neofb_probe()
2088 h_sync = 1953125000 / info->var.pixclock; neofb_probe()
2090 h_sync * 512 / (info->var.xres + info->var.left_margin + neofb_probe()
2091 info->var.right_margin + info->var.hsync_len); neofb_probe()
2093 h_sync / (info->var.yres + info->var.upper_margin + neofb_probe()
2094 info->var.lower_margin + info->var.vsync_len); neofb_probe()
2098 info->fix.smem_len >> 10, info->var.xres, neofb_probe()
2099 info->var.yres, h_sync / 1000, h_sync % 1000, v_sync); neofb_probe()
519 neo2200_accel_init(struct fb_info *info, struct fb_var_screeninfo *var) neo2200_accel_init() argument
H A Dsm501fb.c120 static inline int h_total(struct fb_var_screeninfo *var) h_total() argument
122 return var->xres + var->left_margin + h_total()
123 var->right_margin + var->hsync_len; h_total()
126 static inline int v_total(struct fb_var_screeninfo *var) v_total() argument
128 return var->yres + var->upper_margin + v_total()
129 var->lower_margin + var->vsync_len; v_total()
296 static int sm501fb_check_var(struct fb_var_screeninfo *var, sm501fb_check_var() argument
305 if (var->hsync_len > 255 || var->vsync_len > 63) sm501fb_check_var()
309 if ((var->xres + var->right_margin) > 4096) sm501fb_check_var()
313 if ((var->yres + var->lower_margin) > 2048) sm501fb_check_var()
318 if (h_total(var) > 4096 || v_total(var) > 2048) sm501fb_check_var()
323 tmp = (var->xres * var->bits_per_pixel) / 8; sm501fb_check_var()
329 if (var->xres_virtual > 4096 || var->yres_virtual > 2048) sm501fb_check_var()
334 if (var->bits_per_pixel <= 8) sm501fb_check_var()
335 var->bits_per_pixel = 8; sm501fb_check_var()
336 else if (var->bits_per_pixel <= 16) sm501fb_check_var()
337 var->bits_per_pixel = 16; sm501fb_check_var()
338 else if (var->bits_per_pixel == 24) sm501fb_check_var()
339 var->bits_per_pixel = 32; sm501fb_check_var()
342 switch(var->bits_per_pixel) { sm501fb_check_var()
344 var->red.length = var->bits_per_pixel; sm501fb_check_var()
345 var->red.offset = 0; sm501fb_check_var()
346 var->green.length = var->bits_per_pixel; sm501fb_check_var()
347 var->green.offset = 0; sm501fb_check_var()
348 var->blue.length = var->bits_per_pixel; sm501fb_check_var()
349 var->blue.offset = 0; sm501fb_check_var()
350 var->transp.length = 0; sm501fb_check_var()
351 var->transp.offset = 0; sm501fb_check_var()
357 var->blue.offset = 11; sm501fb_check_var()
358 var->green.offset = 5; sm501fb_check_var()
359 var->red.offset = 0; sm501fb_check_var()
361 var->red.offset = 11; sm501fb_check_var()
362 var->green.offset = 5; sm501fb_check_var()
363 var->blue.offset = 0; sm501fb_check_var()
365 var->transp.offset = 0; sm501fb_check_var()
367 var->red.length = 5; sm501fb_check_var()
368 var->green.length = 6; sm501fb_check_var()
369 var->blue.length = 5; sm501fb_check_var()
370 var->transp.length = 0; sm501fb_check_var()
375 var->transp.offset = 0; sm501fb_check_var()
376 var->red.offset = 8; sm501fb_check_var()
377 var->green.offset = 16; sm501fb_check_var()
378 var->blue.offset = 24; sm501fb_check_var()
380 var->transp.offset = 24; sm501fb_check_var()
381 var->red.offset = 16; sm501fb_check_var()
382 var->green.offset = 8; sm501fb_check_var()
383 var->blue.offset = 0; sm501fb_check_var()
386 var->red.length = 8; sm501fb_check_var()
387 var->green.length = 8; sm501fb_check_var()
388 var->blue.length = 8; sm501fb_check_var()
389 var->transp.length = 0; sm501fb_check_var()
406 static int sm501fb_check_var_crt(struct fb_var_screeninfo *var, sm501fb_check_var_crt() argument
409 return sm501fb_check_var(var, info); sm501fb_check_var_crt()
418 static int sm501fb_check_var_pnl(struct fb_var_screeninfo *var, sm501fb_check_var_pnl() argument
421 return sm501fb_check_var(var, info); sm501fb_check_var_pnl()
430 struct fb_var_screeninfo *var) sm501fb_set_par_common()
442 __func__, var->xres, var->yres, var->bits_per_pixel, sm501fb_set_par_common()
443 var->xres_virtual, var->yres_virtual); sm501fb_set_par_common()
464 switch (var->bits_per_pixel) { sm501fb_set_par_common()
479 info->fix.line_length = (var->xres_virtual * var->bits_per_pixel)/8; sm501fb_set_par_common()
480 smem_len = info->fix.line_length * var->yres_virtual; sm501fb_set_par_common()
505 pixclock = sm501fb_ps_to_hz(var->pixclock); sm501fb_set_par_common()
511 var->pixclock = sm501fb_hz_to_ps(sm501pixclock); sm501fb_set_par_common()
515 __func__, var->pixclock, pixclock, sm501pixclock, sm501fb_set_par_common()
527 struct fb_var_screeninfo *var) sm501fb_set_par_geometry()
542 reg |= ((var->xres * var->bits_per_pixel)/8) << 16; sm501fb_set_par_geometry()
549 reg = (h_total(var) - 1) << 16; sm501fb_set_par_geometry()
550 reg |= (var->xres - 1); sm501fb_set_par_geometry()
556 reg = var->hsync_len << 16; sm501fb_set_par_geometry()
557 reg |= var->xres + var->right_margin - 1; sm501fb_set_par_geometry()
563 reg = (v_total(var) - 1) << 16; sm501fb_set_par_geometry()
564 reg |= (var->yres - 1); sm501fb_set_par_geometry()
569 reg = var->vsync_len << 16; sm501fb_set_par_geometry()
570 reg |= var->yres + var->lower_margin - 1; sm501fb_set_par_geometry()
580 static int sm501fb_pan_crt(struct fb_var_screeninfo *var, sm501fb_pan_crt() argument
585 unsigned int bytes_pixel = info->var.bits_per_pixel / 8; sm501fb_pan_crt()
589 xoffs = var->xoffset * bytes_pixel; sm501fb_pan_crt()
598 var->yoffset * info->fix.line_length); sm501fb_pan_crt()
610 static int sm501fb_pan_pnl(struct fb_var_screeninfo *var, sm501fb_pan_pnl() argument
617 reg = var->xoffset | (info->var.xres_virtual << 16); sm501fb_pan_pnl()
620 reg = var->yoffset | (info->var.yres_virtual << 16); sm501fb_pan_pnl()
636 struct fb_var_screeninfo *var = &info->var; sm501fb_set_par_crt() local
658 if ((var->sync & FB_SYNC_HOR_HIGH_ACT) == 0) sm501fb_set_par_crt()
661 if ((var->sync & FB_SYNC_VERT_HIGH_ACT) == 0) sm501fb_set_par_crt()
672 ret = sm501fb_set_par_common(info, var); sm501fb_set_par_crt()
678 sm501fb_pan_crt(var, info); sm501fb_set_par_crt()
679 sm501fb_set_par_geometry(info, var); sm501fb_set_par_crt()
683 switch(var->bits_per_pixel) { sm501fb_set_par_crt()
806 struct fb_var_screeninfo *var = &info->var; sm501fb_set_par_pnl() local
815 ret = sm501fb_set_par_common(info, var); sm501fb_set_par_pnl()
819 sm501fb_pan_pnl(var, info); sm501fb_set_par_pnl()
820 sm501fb_set_par_geometry(info, var); sm501fb_set_par_pnl()
839 switch(var->bits_per_pixel) { sm501fb_set_par_pnl()
864 reg = var->xres - 1; sm501fb_set_par_pnl()
865 reg |= (var->yres - 1) << 16; sm501fb_set_par_pnl()
874 if ((var->sync & FB_SYNC_HOR_HIGH_ACT) == 0) sm501fb_set_par_pnl()
877 if ((var->sync & FB_SYNC_VERT_HIGH_ACT) == 0) sm501fb_set_par_pnl()
935 val = chan_to_field(red, &info->var.red); sm501fb_setcolreg()
936 val |= chan_to_field(green, &info->var.green); sm501fb_setcolreg()
937 val |= chan_to_field(blue, &info->var.blue); sm501fb_setcolreg()
1309 if ((sx >= info->var.xres_virtual) || sm501fb_copyarea()
1310 (sy >= info->var.yres_virtual)) sm501fb_copyarea()
1313 if ((sx + width) >= info->var.xres_virtual) sm501fb_copyarea()
1314 width = info->var.xres_virtual - sx - 1; sm501fb_copyarea()
1315 if ((sy + height) >= info->var.yres_virtual) sm501fb_copyarea()
1316 height = info->var.yres_virtual - sy - 1; sm501fb_copyarea()
1319 if ((dx >= info->var.xres_virtual) || sm501fb_copyarea()
1320 (dy >= info->var.yres_virtual)) sm501fb_copyarea()
1323 if ((dx + width) >= info->var.xres_virtual) sm501fb_copyarea()
1324 width = info->var.xres_virtual - dx - 1; sm501fb_copyarea()
1325 if ((dy + height) >= info->var.yres_virtual) sm501fb_copyarea()
1326 height = info->var.yres_virtual - dy - 1; sm501fb_copyarea()
1345 smc501_writel((info->var.xres << 16) | info->var.xres, sm501fb_copyarea()
1349 smc501_writel((info->var.xres_virtual << 16) | info->var.xres_virtual, sm501fb_copyarea()
1353 switch (info->var.bits_per_pixel) { sm501fb_copyarea()
1388 if ((rect->dx >= info->var.xres_virtual) || sm501fb_fillrect()
1389 (rect->dy >= info->var.yres_virtual)) sm501fb_fillrect()
1392 if ((rect->dx + width) >= info->var.xres_virtual) sm501fb_fillrect()
1393 width = info->var.xres_virtual - rect->dx - 1; sm501fb_fillrect()
1394 if ((rect->dy + height) >= info->var.yres_virtual) sm501fb_fillrect()
1395 height = info->var.yres_virtual - rect->dy - 1; sm501fb_fillrect()
1406 smc501_writel((info->var.xres << 16) | info->var.xres, sm501fb_fillrect()
1410 smc501_writel((info->var.xres_virtual << 16) | info->var.xres_virtual, sm501fb_fillrect()
1414 switch (info->var.bits_per_pixel) { sm501fb_fillrect()
1751 fb->var.nonstd = 0; sm501fb_init_fb()
1752 fb->var.activate = FB_ACTIVATE_NOW; sm501fb_init_fb()
1753 fb->var.accel_flags = 0; sm501fb_init_fb()
1754 fb->var.vmode = FB_VMODE_NONINTERLACED; sm501fb_init_fb()
1755 fb->var.bits_per_pixel = 16; sm501fb_init_fb()
1770 fb_videomode_to_var(&fb->var, pd->def_mode); sm501fb_init_fb()
1772 fb->var.bits_per_pixel = pd->def_bpp ? pd->def_bpp : 8; sm501fb_init_fb()
1773 fb->var.xres_virtual = fb->var.xres; sm501fb_init_fb()
1774 fb->var.yres_virtual = fb->var.yres; sm501fb_init_fb()
1777 ret = fb_find_mode(&fb->var, fb, fb_mode, sm501fb_init_fb()
1784 ret = fb_find_mode(&fb->var, fb, sm501fb_init_fb()
1819 ret = (fb->fbops->fb_check_var)(&fb->var, fb); sm501fb_init_fb()
429 sm501fb_set_par_common(struct fb_info *info, struct fb_var_screeninfo *var) sm501fb_set_par_common() argument
526 sm501fb_set_par_geometry(struct fb_info *info, struct fb_var_screeninfo *var) sm501fb_set_par_geometry() argument
H A Dcontrolfb.c126 static int controlfb_pan_display(struct fb_var_screeninfo *var,
134 static int controlfb_check_var (struct fb_var_screeninfo *var, struct fb_info *info);
146 static int control_var_to_par(struct fb_var_screeninfo *var,
149 struct fb_var_screeninfo *var);
201 * Checks a var structure
203 static int controlfb_check_var (struct fb_var_screeninfo *var, struct fb_info *info) controlfb_check_var() argument
208 err = control_var_to_par(var, &par, info); controlfb_check_var()
211 control_par_to_var(&par, var); controlfb_check_var()
217 * Applies current var to display
226 if((err = control_var_to_par(&info->var, &par, info))) { controlfb_set_par()
244 * Set screen start address according to var offset values
258 static int controlfb_pan_display(struct fb_var_screeninfo *var, controlfb_pan_display() argument
270 xoffset = (var->xoffset + hstep) & ~hstep; controlfb_pan_display()
273 var->yoffset+par->yres > par->vyres) controlfb_pan_display()
276 set_screen_start(xoffset, var->yoffset, p); controlfb_pan_display()
298 if (info->var.accel_flags) controlfb_mmap()
408 struct fb_var_screeninfo var; init_control() local
450 /* Setup default var */ init_control()
451 if (mac_vmode_to_var(vmode, cmode, &var) < 0) { init_control()
457 if (mac_vmode_to_var(vmode, cmode, &var) < 0) { init_control()
465 vyres = (p->total_vram - CTRLFB_OFF) / (var.xres << cmode); init_control()
466 if (vyres > var.yres) init_control()
467 var.yres_virtual = vyres; init_control()
469 /* Apply default var */ init_control()
470 var.activate = FB_ACTIVATE_NOW; init_control()
471 rc = fb_set_var(&p->info, &var); init_control()
829 * This routine takes a user-supplied var, and picks the best vmode/cmode
833 static int control_var_to_par(struct fb_var_screeninfo *var, control_var_to_par() argument
844 switch (var->bits_per_pixel) { control_var_to_par()
890 par->xres = (var->xres + hstep) & ~hstep; control_var_to_par()
891 par->vxres = (var->xres_virtual + hstep) & ~hstep; control_var_to_par()
892 par->xoffset = (var->xoffset + hstep) & ~hstep; control_var_to_par()
897 par->yres = var->yres; control_var_to_par()
898 par->vyres = var->yres_virtual; control_var_to_par()
899 par->yoffset = var->yoffset; control_var_to_par()
903 par->sync = var->sync; control_var_to_par()
913 pixclock = (var->pixclock < CONTROL_PIXCLOCK_MIN)? CONTROL_PIXCLOCK_MIN: control_var_to_par()
914 var->pixclock; control_var_to_par()
918 hperiod = ((var->left_margin + par->xres + var->right_margin control_var_to_par()
919 + var->hsync_len) >> 1) - 2; control_var_to_par()
921 hsblank = hssync - (var->right_margin >> 1); control_var_to_par()
922 hesync = (var->hsync_len >> 1) - 1; control_var_to_par()
923 heblank = (var->left_margin >> 1) + hesync; control_var_to_par()
925 heq = var->hsync_len >> 2; control_var_to_par()
928 vperiod = (var->vsync_len + var->lower_margin + par->yres control_var_to_par()
929 + var->upper_margin) << 1; control_var_to_par()
931 vesync = (var->vsync_len << 1) - vperiod + vssync; control_var_to_par()
932 veblank = (var->upper_margin << 1) + vesync; control_var_to_par()
933 vsblank = vssync - (var->lower_margin << 1); control_var_to_par()
959 if (mac_var_to_vmode(var, &par->vmode, &cmode)) control_var_to_par()
970 static void control_par_to_var(struct fb_par_control *par, struct fb_var_screeninfo *var) control_par_to_var() argument
976 memset(var, 0, sizeof(*var)); control_par_to_var()
977 var->xres = par->xres; control_par_to_var()
978 var->yres = par->yres; control_par_to_var()
979 var->xres_virtual = par->vxres; control_par_to_var()
980 var->yres_virtual = par->vyres; control_par_to_var()
981 var->xoffset = par->xoffset; control_par_to_var()
982 var->yoffset = par->yoffset; control_par_to_var()
987 var->bits_per_pixel = 8; control_par_to_var()
988 var->red.length = 8; control_par_to_var()
989 var->green.length = 8; control_par_to_var()
990 var->blue.length = 8; control_par_to_var()
993 var->bits_per_pixel = 16; control_par_to_var()
994 var->red.offset = 10; control_par_to_var()
995 var->red.length = 5; control_par_to_var()
996 var->green.offset = 5; control_par_to_var()
997 var->green.length = 5; control_par_to_var()
998 var->blue.length = 5; control_par_to_var()
1001 var->bits_per_pixel = 32; control_par_to_var()
1002 var->red.offset = 16; control_par_to_var()
1003 var->red.length = 8; control_par_to_var()
1004 var->green.offset = 8; control_par_to_var()
1005 var->green.length = 8; control_par_to_var()
1006 var->blue.length = 8; control_par_to_var()
1007 var->transp.offset = 24; control_par_to_var()
1008 var->transp.length = 8; control_par_to_var()
1011 var->height = -1; control_par_to_var()
1012 var->width = -1; control_par_to_var()
1013 var->vmode = FB_VMODE_NONINTERLACED; control_par_to_var()
1015 var->left_margin = (rv->heblank - rv->hesync) << 1; control_par_to_var()
1016 var->right_margin = (rv->hssync - rv->hsblank) << 1; control_par_to_var()
1017 var->hsync_len = (rv->hperiod + 2 - rv->hssync + rv->hesync) << 1; control_par_to_var()
1019 var->upper_margin = (rv->veblank - rv->vesync) >> 1; control_par_to_var()
1020 var->lower_margin = (rv->vssync - rv->vsblank) >> 1; control_par_to_var()
1021 var->vsync_len = (rv->vperiod - rv->vssync + rv->vesync) >> 1; control_par_to_var()
1023 var->sync = par->sync; control_par_to_var()
1032 var->pixclock = CONTROL_PIXCLOCK_BASE * par->regvals.clock_params[0]; control_par_to_var()
1033 var->pixclock /= par->regvals.clock_params[1]; control_par_to_var()
1034 var->pixclock >>= par->regvals.clock_params[2]; control_par_to_var()
H A Dau1100fb.c135 * Set hardware with var settings. This will enable the controller with a specific
147 /* Update var-dependent FB info */ au1100fb_setmode()
149 if (info->var.bits_per_pixel <= 8) { au1100fb_setmode()
151 info->var.red.offset = 0; au1100fb_setmode()
152 info->var.red.length = info->var.bits_per_pixel; au1100fb_setmode()
153 info->var.red.msb_right = 0; au1100fb_setmode()
155 info->var.green.offset = 0; au1100fb_setmode()
156 info->var.green.length = info->var.bits_per_pixel; au1100fb_setmode()
157 info->var.green.msb_right = 0; au1100fb_setmode()
159 info->var.blue.offset = 0; au1100fb_setmode()
160 info->var.blue.length = info->var.bits_per_pixel; au1100fb_setmode()
161 info->var.blue.msb_right = 0; au1100fb_setmode()
163 info->var.transp.offset = 0; au1100fb_setmode()
164 info->var.transp.length = 0; au1100fb_setmode()
165 info->var.transp.msb_right = 0; au1100fb_setmode()
168 info->fix.line_length = info->var.xres_virtual / au1100fb_setmode()
169 (8/info->var.bits_per_pixel); au1100fb_setmode()
173 info->var.red = rgb_bitfields[index][0]; au1100fb_setmode()
174 info->var.green = rgb_bitfields[index][1]; au1100fb_setmode()
175 info->var.blue = rgb_bitfields[index][2]; au1100fb_setmode()
176 info->var.transp = rgb_bitfields[index][3]; au1100fb_setmode()
179 info->fix.line_length = info->var.xres_virtual << 1; /* depth=16 */ au1100fb_setmode()
184 info->fix.line_length = info->var.xres_virtual / 8; au1100fb_setmode()
187 info->screen_size = info->fix.line_length * info->var.yres_virtual; au1100fb_setmode()
188 info->var.rotate = ((fbdev->panel->control_base&LCD_CONTROL_SM_MASK) \ au1100fb_setmode()
203 if (info->var.yres_virtual >= (info->var.yres << 1)) { au1100fb_setmode()
206 (info->var.yres_virtual >> 1))); au1100fb_setmode()
213 if (!info->var.rotate || (info->var.rotate == 180)) { au1100fb_setmode()
214 words *= info->var.yres_virtual; au1100fb_setmode()
215 if (info->var.rotate /* 180 */) { au1100fb_setmode()
247 if (fbi->var.grayscale) { au1100fb_fb_setcolreg()
260 red >>= (16 - fbi->var.red.length); au1100fb_fb_setcolreg()
261 green >>= (16 - fbi->var.green.length); au1100fb_fb_setcolreg()
262 blue >>= (16 - fbi->var.blue.length); au1100fb_fb_setcolreg()
264 value = (red << fbi->var.red.offset) | au1100fb_fb_setcolreg()
265 (green << fbi->var.green.offset)| au1100fb_fb_setcolreg()
266 (blue << fbi->var.blue.offset); au1100fb_fb_setcolreg()
294 int au1100fb_fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *fbi) au1100fb_fb_pan_display() argument
301 print_dbg("fb_pan_display %p %p", var, fbi); au1100fb_fb_pan_display()
303 if (!var || !fbdev) { au1100fb_fb_pan_display()
307 if (var->xoffset - fbi->var.xoffset) { au1100fb_fb_pan_display()
312 print_dbg("fb_pan_display 2 %p %p", var, fbi); au1100fb_fb_pan_display()
313 dy = var->yoffset - fbi->var.yoffset; au1100fb_fb_pan_display()
332 print_dbg("fb_pan_display 3 %p %p", var, fbi); au1100fb_fb_pan_display()
517 /* load the panel info into the var struct */ au1100fb_drv_probe()
539 fbdev->info.var = au1100fb_var; au1100fb_drv_probe()
H A Dvga16fb.c188 struct fb_var_screeninfo *var) vga16fb_pan_var()
193 xoffset = var->xoffset; vga16fb_pan_var()
194 if (info->var.bits_per_pixel == 8) { vga16fb_pan_var()
195 pos = (info->var.xres_virtual * var->yoffset + xoffset) >> 2; vga16fb_pan_var()
198 pos = (info->var.xres_virtual * (var->yoffset / fh) + xoffset) >> 3; vga16fb_pan_var()
200 if (info->var.nonstd) vga16fb_pan_var()
202 pos = (info->var.xres_virtual * var->yoffset + xoffset) >> 3; vga16fb_pan_var()
210 if (info->var.bits_per_pixel == 8) vga16fb_pan_var()
220 if (info->var.bits_per_pixel == 4) { vga16fb_update_fix()
221 if (info->var.nonstd) { vga16fb_update_fix()
223 info->fix.line_length = info->var.xres_virtual / 2; vga16fb_update_fix()
227 info->fix.line_length = info->var.xres_virtual / 8; vga16fb_update_fix()
229 } else if (info->var.bits_per_pixel == 0) { vga16fb_update_fix()
232 info->fix.line_length = info->var.xres_virtual / 4; vga16fb_update_fix()
234 if (info->var.nonstd) { vga16fb_update_fix()
237 info->fix.line_length = info->var.xres_virtual / 4; vga16fb_update_fix()
240 info->fix.line_length = info->var.xres_virtual; vga16fb_update_fix()
312 static int vga16fb_check_var(struct fb_var_screeninfo *var, vga16fb_check_var() argument
327 if (var->bits_per_pixel == 4) { vga16fb_check_var()
328 if (var->nonstd) { vga16fb_check_var()
340 } else if (var->bits_per_pixel == 8) { vga16fb_check_var()
344 if (var->nonstd) { vga16fb_check_var()
354 xres = (var->xres + 7) & ~7; vga16fb_check_var()
355 vxres = (var->xres_virtual + 0xF) & ~0xF; vga16fb_check_var()
356 xoffset = (var->xoffset + 7) & ~7; vga16fb_check_var()
357 left = (var->left_margin + 7) & ~7; vga16fb_check_var()
358 right = (var->right_margin + 7) & ~7; vga16fb_check_var()
359 hslen = (var->hsync_len + 7) & ~7; vga16fb_check_var()
366 var->xres = xres; vga16fb_check_var()
367 var->right_margin = right; vga16fb_check_var()
368 var->hsync_len = hslen; vga16fb_check_var()
369 var->left_margin = left; vga16fb_check_var()
370 var->xres_virtual = vxres; vga16fb_check_var()
371 var->xoffset = xoffset; vga16fb_check_var()
397 yres = var->yres; vga16fb_check_var()
398 lower = var->lower_margin; vga16fb_check_var()
399 vslen = var->vsync_len; vga16fb_check_var()
400 upper = var->upper_margin; vga16fb_check_var()
401 vyres = var->yres_virtual; vga16fb_check_var()
402 yoffset = var->yoffset; vga16fb_check_var()
413 var->yres = yres; vga16fb_check_var()
414 var->lower_margin = lower; vga16fb_check_var()
415 var->vsync_len = vslen; vga16fb_check_var()
416 var->upper_margin = upper; vga16fb_check_var()
417 var->yres_virtual = vyres; vga16fb_check_var()
418 var->yoffset = yoffset; vga16fb_check_var()
420 if (var->vmode & FB_VMODE_DOUBLE) { vga16fb_check_var()
446 if (var->vmode & FB_VMODE_DOUBLE) vga16fb_check_var()
491 if (var->sync & FB_SYNC_HOR_HIGH_ACT) vga16fb_check_var()
493 if (var->sync & FB_SYNC_VERT_HIGH_ACT) vga16fb_check_var()
500 vga16fb_clock_chip(par, var->pixclock, info, 1, 2); vga16fb_check_var()
503 vga16fb_clock_chip(par, var->pixclock, info, 1, 1); vga16fb_check_var()
505 var->red.offset = var->green.offset = var->blue.offset = vga16fb_check_var()
506 var->transp.offset = 0; vga16fb_check_var()
507 var->red.length = var->green.length = var->blue.length = vga16fb_check_var()
509 var->transp.length = 0; vga16fb_check_var()
510 var->activate = FB_ACTIVATE_NOW; vga16fb_check_var()
511 var->height = -1; vga16fb_check_var()
512 var->width = -1; vga16fb_check_var()
513 var->accel_flags = 0; vga16fb_check_var()
568 atc[VGA_ATC_PEL] = (info->var.xoffset & 3) << 1; vga16fb_set_par()
570 atc[VGA_ATC_PEL] = info->var.xoffset & 7; vga16fb_set_par()
668 * (according to the entries in the `var' structure). Return vga16fb_setcolreg()
675 gray = info->var.grayscale; vga16fb_setcolreg()
688 static int vga16fb_pan_display(struct fb_var_screeninfo *var, vga16fb_pan_display() argument
691 vga16fb_pan_var(info, var); vga16fb_pan_display()
886 vxres = info->var.xres_virtual; vga16fb_fillrect()
887 vyres = info->var.yres_virtual; vga16fb_fillrect()
1019 vxres = info->var.xres_virtual; vga16fb_copyarea()
1020 vyres = info->var.yres_virtual; vga16fb_copyarea()
1348 info->var = vga16fb_defined; vga16fb_probe()
1355 i = (info->var.bits_per_pixel == 8) ? 256 : 16; vga16fb_probe()
1363 if (vga16fb_check_var(&info->var, info)) { vga16fb_probe()
187 vga16fb_pan_var(struct fb_info *info, struct fb_var_screeninfo *var) vga16fb_pan_var() argument
H A Dvt8623fb.c236 if ((info->var.bits_per_pixel == 4) && (image->depth == 1) vt8623fb_imageblit()
248 if ((info->var.bits_per_pixel == 4) vt8623fb_fillrect()
330 static int vt8623fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) vt8623fb_check_var() argument
335 rv = svga_match_format (vt8623fb_formats, var, NULL); vt8623fb_check_var()
343 if (var->xres > var->xres_virtual) vt8623fb_check_var()
344 var->xres_virtual = var->xres; vt8623fb_check_var()
346 if (var->yres > var->yres_virtual) vt8623fb_check_var()
347 var->yres_virtual = var->yres; vt8623fb_check_var()
351 var->xres_virtual = (var->xres_virtual+step) & ~step; vt8623fb_check_var()
354 mem = ((var->bits_per_pixel * var->xres_virtual) >> 3) * var->yres_virtual; vt8623fb_check_var()
363 if ((var->bits_per_pixel == 0) && (mem > (256*1024))) vt8623fb_check_var()
370 rv = svga_check_timings (&vt8623_timing_regs, var, info->node); vt8623fb_check_var()
378 if (var->vmode & FB_VMODE_INTERLACED) vt8623fb_check_var()
389 u32 bpp = info->var.bits_per_pixel; vt8623fb_set_par()
393 info->fix.line_length = (info->var.xres_virtual * bpp) / 8; vt8623fb_set_par()
402 offset_value = (info->var.xres_virtual * bpp) / 64; vt8623fb_set_par()
403 fetch_value = ((info->var.xres * bpp) / 128) + 4; vt8623fb_set_par()
406 fetch_value = (info->var.xres / 8) + 8; /* + 0 is OK */ vt8623fb_set_par()
408 screen_size = info->var.yres_virtual * info->fix.line_length; vt8623fb_set_par()
420 offset_value = info->var.xres_virtual / 16; vt8623fb_set_par()
421 fetch_value = (info->var.xres / 8) + 8; vt8623fb_set_par()
422 screen_size = (info->var.xres_virtual * info->var.yres_virtual) / 64; vt8623fb_set_par()
425 info->var.xoffset = 0; vt8623fb_set_par()
426 info->var.yoffset = 0; vt8623fb_set_par()
427 info->var.activate = FB_ACTIVATE_NOW; vt8623fb_set_par()
454 if (info->var.vmode & FB_VMODE_DOUBLE) vt8623fb_set_par()
476 mode = svga_match_format(vt8623fb_formats, &(info->var), &(info->fix)); vt8623fb_set_par()
512 vt8623_set_pixclock(info, info->var.pixclock); vt8623fb_set_par()
513 svga_set_timings(par->state.vgabase, &vt8623_timing_regs, &(info->var), 1, 1, vt8623fb_set_par()
514 (info->var.vmode & FB_VMODE_DOUBLE) ? 2 : 1, 1, vt8623fb_set_par()
531 switch (fb->var.bits_per_pixel) { vt8623fb_setcolreg()
557 if (fb->var.green.length == 5) vt8623fb_setcolreg()
560 else if (fb->var.green.length == 6) vt8623fb_setcolreg()
619 static int vt8623fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) vt8623fb_pan_display() argument
625 if (info->var.bits_per_pixel == 0) { vt8623fb_pan_display()
626 offset = (var->yoffset / 16) * info->var.xres_virtual vt8623fb_pan_display()
627 + var->xoffset; vt8623fb_pan_display()
630 offset = (var->yoffset * info->fix.line_length) + vt8623fb_pan_display()
631 (var->xoffset * info->var.bits_per_pixel / 8); vt8623fb_pan_display()
632 offset = offset >> ((info->var.bits_per_pixel == 4) ? 2 : 1); vt8623fb_pan_display()
758 rc = fb_find_mode(&(info->var), info, mode_option, NULL, 0, NULL, 8); vt8623_pci_probe()
H A Ds3c-fb.c236 * @var: The screen information to verify.
242 static int s3c_fb_check_var(struct fb_var_screeninfo *var, s3c_fb_check_var() argument
250 var->xres_virtual = max(var->xres_virtual, var->xres); s3c_fb_check_var()
251 var->yres_virtual = max(var->yres_virtual, var->yres); s3c_fb_check_var()
253 if (!s3c_fb_validate_win_bpp(win, var->bits_per_pixel)) { s3c_fb_check_var()
255 win->index, var->bits_per_pixel); s3c_fb_check_var()
260 var->transp.offset = 0; s3c_fb_check_var()
261 var->transp.length = 0; s3c_fb_check_var()
263 switch (var->bits_per_pixel) { s3c_fb_check_var()
270 var->red.offset = 5; s3c_fb_check_var()
271 var->green.offset = 2; s3c_fb_check_var()
272 var->blue.offset = 0; s3c_fb_check_var()
273 var->red.length = 2; s3c_fb_check_var()
274 var->green.length = 3; s3c_fb_check_var()
275 var->blue.length = 2; s3c_fb_check_var()
276 var->transp.offset = 7; s3c_fb_check_var()
277 var->transp.length = 1; s3c_fb_check_var()
279 var->red.offset = 0; s3c_fb_check_var()
280 var->red.length = var->bits_per_pixel; s3c_fb_check_var()
281 var->green = var->red; s3c_fb_check_var()
282 var->blue = var->red; s3c_fb_check_var()
288 var->transp.offset = 18; s3c_fb_check_var()
289 var->transp.length = 1; s3c_fb_check_var()
292 var->bits_per_pixel = 32; s3c_fb_check_var()
295 var->red.offset = 12; s3c_fb_check_var()
296 var->green.offset = 6; s3c_fb_check_var()
297 var->blue.offset = 0; s3c_fb_check_var()
298 var->red.length = 6; s3c_fb_check_var()
299 var->green.length = 6; s3c_fb_check_var()
300 var->blue.length = 6; s3c_fb_check_var()
305 var->red.offset = 11; s3c_fb_check_var()
306 var->green.offset = 5; s3c_fb_check_var()
307 var->blue.offset = 0; s3c_fb_check_var()
308 var->red.length = 5; s3c_fb_check_var()
309 var->green.length = 6; s3c_fb_check_var()
310 var->blue.length = 5; s3c_fb_check_var()
316 var->transp.length = var->bits_per_pixel - 24; s3c_fb_check_var()
317 var->transp.offset = 24; s3c_fb_check_var()
321 var->bits_per_pixel = 32; s3c_fb_check_var()
322 var->red.offset = 16; s3c_fb_check_var()
323 var->red.length = 8; s3c_fb_check_var()
324 var->green.offset = 8; s3c_fb_check_var()
325 var->green.length = 8; s3c_fb_check_var()
326 var->blue.offset = 0; s3c_fb_check_var()
327 var->blue.length = 8; s3c_fb_check_var()
490 struct fb_var_screeninfo *var = &info->var; s3c_fb_set_par() local
506 switch (var->bits_per_pixel) { s3c_fb_set_par()
527 info->fix.line_length = (var->xres_virtual * var->bits_per_pixel) / 8; s3c_fb_set_par()
529 info->fix.xpanstep = info->var.xres_virtual > info->var.xres ? 1 : 0; s3c_fb_set_par()
530 info->fix.ypanstep = info->var.yres_virtual > info->var.yres ? 1 : 0; s3c_fb_set_par()
545 data = info->fix.smem_start + info->fix.line_length * var->yres; s3c_fb_set_par()
548 pagewidth = (var->xres * var->bits_per_pixel) >> 3; s3c_fb_set_par()
561 data = VIDOSDxB_BOTRIGHT_X(s3c_fb_align_word(var->bits_per_pixel, s3c_fb_set_par()
562 var->xres - 1)) | s3c_fb_set_par()
563 VIDOSDxB_BOTRIGHT_Y(var->yres - 1) | s3c_fb_set_par()
564 VIDOSDxB_BOTRIGHT_X_E(s3c_fb_align_word(var->bits_per_pixel, s3c_fb_set_par()
565 var->xres - 1)) | s3c_fb_set_par()
566 VIDOSDxB_BOTRIGHT_Y_E(var->yres - 1); s3c_fb_set_par()
570 data = var->xres * var->yres; s3c_fb_set_par()
593 switch (var->bits_per_pixel) { s3c_fb_set_par()
610 if (var->transp.length != 0) s3c_fb_set_par()
618 if (var->transp.length != 0) s3c_fb_set_par()
627 if (var->red.length == 6) { s3c_fb_set_par()
628 if (var->transp.length != 0) s3c_fb_set_par()
632 } else if (var->transp.length == 1) s3c_fb_set_par()
635 else if ((var->transp.length == 4) || s3c_fb_set_par()
636 (var->transp.length == 8)) s3c_fb_set_par()
671 if (var->transp.length > 4) s3c_fb_set_par()
762 val = chan_to_field(red, &info->var.red); s3c_fb_setcolreg()
763 val |= chan_to_field(green, &info->var.green); s3c_fb_setcolreg()
764 val |= chan_to_field(blue, &info->var.blue); s3c_fb_setcolreg()
864 * @var: The screen information to verify.
867 static int s3c_fb_pan_display(struct fb_var_screeninfo *var, s3c_fb_pan_display() argument
878 start_boff = var->yoffset * info->fix.line_length; s3c_fb_pan_display()
880 if (info->var.bits_per_pixel >= 8) { s3c_fb_pan_display()
881 start_boff += var->xoffset * (info->var.bits_per_pixel >> 3); s3c_fb_pan_display()
883 switch (info->var.bits_per_pixel) { s3c_fb_pan_display()
885 start_boff += var->xoffset >> 1; s3c_fb_pan_display()
888 start_boff += var->xoffset >> 2; s3c_fb_pan_display()
891 start_boff += var->xoffset >> 3; s3c_fb_pan_display()
900 end_boff = start_boff + info->var.yres * info->fix.line_length; s3c_fb_pan_display()
1177 struct fb_var_screeninfo *var; s3c_fb_probe_win() local
1207 var = &fbinfo->var; s3c_fb_probe_win()
1244 fb_videomode_to_var(&fbinfo->var, &initmode); s3c_fb_probe_win()
1248 fbinfo->var.activate = FB_ACTIVATE_NOW; s3c_fb_probe_win()
1249 fbinfo->var.vmode = FB_VMODE_NONINTERLACED; s3c_fb_probe_win()
1250 fbinfo->var.bits_per_pixel = windata->default_bpp; s3c_fb_probe_win()
1257 ret = s3c_fb_check_var(&fbinfo->var, fbinfo); s3c_fb_probe_win()
H A Djz4740_fb.c251 color = jzfb_convert_color_to_hw(red, &fb->var.red); jzfb_setcolreg()
252 color |= jzfb_convert_color_to_hw(green, &fb->var.green); jzfb_setcolreg()
253 color |= jzfb_convert_color_to_hw(blue, &fb->var.blue); jzfb_setcolreg()
254 color |= jzfb_convert_color_to_hw(transp, &fb->var.transp); jzfb_setcolreg()
275 struct fb_var_screeninfo *var) jzfb_get_mode()
281 if (mode->xres == var->xres && mode->yres == var->yres) jzfb_get_mode()
288 static int jzfb_check_var(struct fb_var_screeninfo *var, struct fb_info *fb) jzfb_check_var() argument
293 if (var->bits_per_pixel != jzfb_get_controller_bpp(jzfb) && jzfb_check_var()
294 var->bits_per_pixel != jzfb->pdata->bpp) jzfb_check_var()
297 mode = jzfb_get_mode(jzfb, var); jzfb_check_var()
301 fb_videomode_to_var(var, mode); jzfb_check_var()
307 var->red.offset = 10; jzfb_check_var()
308 var->red.length = 5; jzfb_check_var()
309 var->green.offset = 6; jzfb_check_var()
310 var->green.length = 5; jzfb_check_var()
311 var->blue.offset = 0; jzfb_check_var()
312 var->blue.length = 5; jzfb_check_var()
315 var->red.offset = 11; jzfb_check_var()
316 var->red.length = 5; jzfb_check_var()
317 var->green.offset = 5; jzfb_check_var()
318 var->green.length = 6; jzfb_check_var()
319 var->blue.offset = 0; jzfb_check_var()
320 var->blue.length = 5; jzfb_check_var()
323 var->red.offset = 16; jzfb_check_var()
324 var->red.length = 6; jzfb_check_var()
325 var->green.offset = 8; jzfb_check_var()
326 var->green.length = 6; jzfb_check_var()
327 var->blue.offset = 0; jzfb_check_var()
328 var->blue.length = 6; jzfb_check_var()
329 var->bits_per_pixel = 32; jzfb_check_var()
333 var->transp.offset = 24; jzfb_check_var()
334 var->transp.length = 8; jzfb_check_var()
335 var->red.offset = 16; jzfb_check_var()
336 var->red.length = 8; jzfb_check_var()
337 var->green.offset = 8; jzfb_check_var()
338 var->green.length = 8; jzfb_check_var()
339 var->blue.offset = 0; jzfb_check_var()
340 var->blue.length = 8; jzfb_check_var()
341 var->bits_per_pixel = 32; jzfb_check_var()
354 struct fb_var_screeninfo *var = &info->var; jzfb_set_par() local
363 mode = jzfb_get_mode(jzfb, var); jzfb_set_par()
675 fb_videomode_to_var(&fb->var, pdata->modes); jzfb_probe()
676 fb->var.bits_per_pixel = pdata->bpp; jzfb_probe()
677 jzfb_check_var(&fb->var, fb); jzfb_probe()
686 fb->fix.line_length = fb->var.bits_per_pixel * fb->var.xres / 8; jzfb_probe()
690 fb->fix.smem_len = fb->fix.line_length * fb->var.yres; jzfb_probe()
274 jzfb_get_mode(struct jzfb *jzfb, struct fb_var_screeninfo *var) jzfb_get_mode() argument
H A Dsstfb.c67 * SST_DEBUG_VAR : debug display/var structs
341 * sstfb_check_var - Optional function. Validates a var passed in.
342 * @var: frame buffer variable screen structure
349 static int sstfb_check_var(struct fb_var_screeninfo *var, sstfb_check_var() argument
353 int hSyncOff = var->xres + var->right_margin + var->left_margin; sstfb_check_var()
354 int vSyncOff = var->yres + var->lower_margin + var->upper_margin; sstfb_check_var()
355 int vBackPorch = var->left_margin, yDim = var->yres; sstfb_check_var()
356 int vSyncOn = var->vsync_len; sstfb_check_var()
360 if (sst_calc_pll(PICOS2KHZ(var->pixclock), &freq, &par->pll)) { sstfb_check_var()
362 PICOS2KHZ(var->pixclock)); sstfb_check_var()
365 var->pixclock = KHZ2PICOS(freq); sstfb_check_var()
367 if (var->vmode & FB_VMODE_INTERLACED) sstfb_check_var()
369 if (var->vmode & FB_VMODE_DOUBLE) { sstfb_check_var()
376 switch (var->bits_per_pixel) { sstfb_check_var()
378 var->bits_per_pixel = 16; sstfb_check_var()
381 printk(KERN_ERR "sstfb: Unsupported bpp %d\n", var->bits_per_pixel); sstfb_check_var()
386 if (var->xres <= 1 || yDim <= 0 || var->hsync_len <= 1 || sstfb_check_var()
387 hSyncOff <= 1 || var->left_margin <= 2 || vSyncOn <= 0 || sstfb_check_var()
394 tiles_in_X = (var->xres + 63 ) / 64 * 2; sstfb_check_var()
396 if (var->xres > POW2(11) || yDim >= POW2(11)) { sstfb_check_var()
398 var->xres, var->yres); sstfb_check_var()
402 if (var->hsync_len > POW2(9) || hSyncOff > POW2(11) || sstfb_check_var()
403 var->left_margin - 2 >= POW2(9) || vSyncOn >= POW2(13) || sstfb_check_var()
411 tiles_in_X = (var->xres + 63 ) / 64; sstfb_check_var()
413 if (var->vmode) { sstfb_check_var()
415 var->vmode); sstfb_check_var()
418 if (var->xres > POW2(10) || var->yres >= POW2(10)) { sstfb_check_var()
420 var->xres, var->yres); sstfb_check_var()
423 if (var->hsync_len > POW2(8) || hSyncOff - 1 > POW2(10) || sstfb_check_var()
424 var->left_margin - 2 >= POW2(8) || vSyncOn >= POW2(12) || sstfb_check_var()
435 * ((var->bits_per_pixel == 16) ? 2 : 4); sstfb_check_var()
442 var->sync &= (FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT); sstfb_check_var()
443 var->vmode &= (FB_VMODE_INTERLACED | FB_VMODE_DOUBLE); sstfb_check_var()
444 var->xoffset = 0; sstfb_check_var()
445 var->yoffset = 0; sstfb_check_var()
446 var->height = -1; sstfb_check_var()
447 var->width = -1; sstfb_check_var()
452 /* var->{red|green|blue}.msb_right = 0; */ sstfb_check_var()
454 switch (var->bits_per_pixel) { sstfb_check_var()
456 var->red.length = 5; sstfb_check_var()
457 var->green.length = 6; sstfb_check_var()
458 var->blue.length = 5; sstfb_check_var()
459 var->transp.length = 0; sstfb_check_var()
461 var->red.offset = 11; sstfb_check_var()
462 var->green.offset = 5; sstfb_check_var()
463 var->blue.offset = 0; sstfb_check_var()
464 var->transp.offset = 0; sstfb_check_var()
484 par->hSyncOff = info->var.xres + info->var.right_margin + info->var.left_margin; sstfb_set_par()
486 par->yDim = info->var.yres; sstfb_set_par()
487 par->vSyncOn = info->var.vsync_len; sstfb_set_par()
488 par->vSyncOff = info->var.yres + info->var.lower_margin + info->var.upper_margin; sstfb_set_par()
489 par->vBackPorch = info->var.upper_margin; sstfb_set_par()
492 sst_calc_pll(PICOS2KHZ(info->var.pixclock), &freq, &par->pll); sstfb_set_par()
494 if (info->var.vmode & FB_VMODE_INTERLACED) sstfb_set_par()
496 if (info->var.vmode & FB_VMODE_DOUBLE) { sstfb_set_par()
506 par->tiles_in_X = (info->var.xres + 63 ) / 64 * 2; sstfb_set_par()
509 par->tiles_in_X = (info->var.xres + 63 ) / 64; sstfb_set_par()
514 info->var.hsync_len, par->hSyncOff, sstfb_set_par()
518 info->var.left_margin, info->var.upper_margin, sstfb_set_par()
519 info->var.xres, info->var.yres, PICOS2KHZ(info->var.pixclock)); sstfb_set_par()
531 sst_write(BACKPORCH, par->vBackPorch << 16 | (info->var.left_margin - 2)); sstfb_set_par()
532 sst_write(VIDEODIMENSIONS, par->yDim << 16 | (info->var.xres - 1)); sstfb_set_par()
533 sst_write(HSYNC, (par->hSyncOff - 1) << 16 | (info->var.hsync_len - 1)); sstfb_set_par()
543 par->dac_sw.set_vidmod(info, info->var.bits_per_pixel); sstfb_set_par()
586 switch (info->var.bits_per_pixel) { sstfb_set_par()
597 if (info->var.vmode & FB_VMODE_INTERLACED) sstfb_set_par()
599 if (info->var.vmode & FB_VMODE_DOUBLE) sstfb_set_par()
601 if (info->var.sync & FB_SYNC_HOR_HIGH_ACT) sstfb_set_par()
603 if (info->var.sync & FB_SYNC_VERT_HIGH_ACT) sstfb_set_par()
616 switch (info->var.bits_per_pixel) { sstfb_set_par()
645 info->var.xres - 1, par->yDim - 1); sstfb_set_par()
647 sst_write(CLIP_LEFT_RIGHT, info->var.xres); sstfb_set_par()
678 red >>= (16 - info->var.red.length); sstfb_setcolreg()
679 green >>= (16 - info->var.green.length); sstfb_setcolreg()
680 blue >>= (16 - info->var.blue.length); sstfb_setcolreg()
681 transp >>= (16 - info->var.transp.length); sstfb_setcolreg()
682 col = (red << info->var.red.offset) sstfb_setcolreg()
683 | (green << info->var.green.offset) sstfb_setcolreg()
684 | (blue << info->var.blue.offset) sstfb_setcolreg()
685 | (transp << info->var.transp.offset); sstfb_setcolreg()
805 sst_write(BLTCLIPX, info->var.xres);
806 sst_write(BLTCLIPY, info->var.yres);
1410 fb_find_mode(&info->var, info, mode_option, NULL, 0, NULL, 16); sstfb_probe()
1412 if (sstfb_check_var(&info->var, info)) { sstfb_probe()
H A Dwmt_ge_rops.c62 pat = pixel_to_pat(p->var.bits_per_pixel, fg); wmt_ge_fillrect()
67 writel(p->var.bits_per_pixel == 32 ? 3 : wmt_ge_fillrect()
68 (p->var.bits_per_pixel == 8 ? 0 : 1), regbase + GE_DEPTH_OFF); wmt_ge_fillrect()
69 writel(p->var.bits_per_pixel == 15 ? 1 : 0, regbase + GE_HIGHCOLOR_OFF); wmt_ge_fillrect()
71 writel(p->var.xres_virtual - 1, regbase + GE_DESTDISPW_OFF); wmt_ge_fillrect()
72 writel(p->var.yres_virtual - 1, regbase + GE_DESTDISPH_OFF); wmt_ge_fillrect()
93 writel(p->var.bits_per_pixel > 16 ? 3 : wmt_ge_copyarea()
94 (p->var.bits_per_pixel > 8 ? 1 : 0), regbase + GE_DEPTH_OFF); wmt_ge_copyarea()
97 writel(p->var.xres_virtual - 1, regbase + GE_SRCDISPW_OFF); wmt_ge_copyarea()
98 writel(p->var.yres_virtual - 1, regbase + GE_SRCDISPH_OFF); wmt_ge_copyarea()
105 writel(p->var.xres_virtual - 1, regbase + GE_DESTDISPW_OFF); wmt_ge_copyarea()
106 writel(p->var.yres_virtual - 1, regbase + GE_DESTDISPH_OFF); wmt_ge_copyarea()
H A Damifb.c1118 * Get the video params out of `var'. If a value doesn't fit, round
1122 static int ami_decode_var(struct fb_var_screeninfo *var, struct amifb_par *par, ami_decode_var() argument
1134 if (var->pixclock <= pixclock[clk_shift]) ami_decode_var()
1146 if ((par->xres = var->xres) < 64) ami_decode_var()
1148 if ((par->yres = var->yres) < 64) ami_decode_var()
1150 if ((par->vxres = var->xres_virtual) < par->xres) ami_decode_var()
1152 if ((par->vyres = var->yres_virtual) < par->yres) ami_decode_var()
1155 par->bpp = var->bits_per_pixel; ami_decode_var()
1156 if (!var->nonstd) { ami_decode_var()
1167 } else if (var->nonstd == FB_NONSTD_HAM) { ami_decode_var()
1188 par->vmode = var->vmode | FB_VMODE_SMOOTH_XPAN; ami_decode_var()
1216 par->htotal = down8((var->left_margin + par->xres + var->right_margin + ami_decode_var()
1217 var->hsync_len) << clk_shift); ami_decode_var()
1219 down2(((var->upper_margin + par->yres + var->lower_margin + ami_decode_var()
1220 var->vsync_len) << line_shift) + 1); ami_decode_var()
1226 if (var->sync & FB_SYNC_BROADCAST) { ami_decode_var()
1228 ((var->right_margin - var->hsync_len) << clk_shift); ami_decode_var()
1230 par->diwstop_h += mod4(var->hsync_len); ami_decode_var()
1236 ((var->lower_margin - var->vsync_len) << line_shift); ami_decode_var()
1326 par->hsstrt = var->right_margin << clk_shift; ami_decode_var()
1327 par->hsstop = (var->right_margin + var->hsync_len) << clk_shift; ami_decode_var()
1337 par->vsstrt = var->lower_margin << line_shift; ami_decode_var()
1338 par->vsstop = (var->lower_margin + var->vsync_len) << line_shift; ami_decode_var()
1357 if (var->sync & FB_SYNC_HOR_HIGH_ACT) ami_decode_var()
1359 if (var->sync & FB_SYNC_VERT_HIGH_ACT) ami_decode_var()
1361 if (var->sync & FB_SYNC_COMP_HIGH_ACT) ami_decode_var()
1465 if (var->nonstd == FB_NONSTD_HAM) ami_decode_var()
1467 if (var->sync & FB_SYNC_EXT) ami_decode_var()
1483 if (!((par->vmode ^ var->vmode) & FB_VMODE_YWRAP)) { ami_decode_var()
1484 par->xoffset = var->xoffset; ami_decode_var()
1485 par->yoffset = var->yoffset; ami_decode_var()
1507 * Fill the `var' structure based on the values in `par' and maybe
1511 static void ami_encode_var(struct fb_var_screeninfo *var, ami_encode_var() argument
1516 memset(var, 0, sizeof(struct fb_var_screeninfo)); ami_encode_var()
1521 var->xres = par->xres; ami_encode_var()
1522 var->yres = par->yres; ami_encode_var()
1523 var->xres_virtual = par->vxres; ami_encode_var()
1524 var->yres_virtual = par->vyres; ami_encode_var()
1525 var->xoffset = par->xoffset; ami_encode_var()
1526 var->yoffset = par->yoffset; ami_encode_var()
1528 var->bits_per_pixel = par->bpp; ami_encode_var()
1529 var->grayscale = 0; ami_encode_var()
1531 var->red.offset = 0; ami_encode_var()
1532 var->red.msb_right = 0; ami_encode_var()
1533 var->red.length = par->bpp; ami_encode_var()
1535 var->red.length -= 2; ami_encode_var()
1536 var->blue = var->green = var->red; ami_encode_var()
1537 var->transp.offset = 0; ami_encode_var()
1538 var->transp.length = 0; ami_encode_var()
1539 var->transp.msb_right = 0; ami_encode_var()
1542 var->nonstd = FB_NONSTD_HAM; ami_encode_var()
1544 var->nonstd = 0; ami_encode_var()
1545 var->activate = 0; ami_encode_var()
1547 var->height = -1; ami_encode_var()
1548 var->width = -1; ami_encode_var()
1550 var->pixclock = pixclock[clk_shift]; ami_encode_var()
1553 var->vmode = FB_VMODE_DOUBLE; ami_encode_var()
1555 var->vmode = FB_VMODE_INTERLACED; ami_encode_var()
1557 var->vmode = FB_VMODE_NONINTERLACED; ami_encode_var()
1560 var->hsync_len = (par->hsstop - par->hsstrt)>>clk_shift; ami_encode_var()
1561 var->right_margin = par->hsstrt>>clk_shift; ami_encode_var()
1562 var->left_margin = (par->htotal>>clk_shift) - var->xres - var->right_margin - var->hsync_len; ami_encode_var()
1563 var->vsync_len = (par->vsstop - par->vsstrt)>>line_shift; ami_encode_var()
1564 var->lower_margin = par->vsstrt>>line_shift; ami_encode_var()
1565 var->upper_margin = (par->vtotal>>line_shift) - var->yres - var->lower_margin - var->vsync_len; ami_encode_var()
1566 var->sync = 0; ami_encode_var()
1568 var->sync |= FB_SYNC_HOR_HIGH_ACT; ami_encode_var()
1570 var->sync |= FB_SYNC_VERT_HIGH_ACT; ami_encode_var()
1572 var->sync |= FB_SYNC_COMP_HIGH_ACT; ami_encode_var()
1574 var->sync = FB_SYNC_BROADCAST; ami_encode_var()
1575 var->hsync_len = (152>>clk_shift) + mod4(par->diwstop_h); ami_encode_var()
1576 var->right_margin = ((par->htotal - down4(par->diwstop_h))>>clk_shift) + var->hsync_len; ami_encode_var()
1577 var->left_margin = (par->htotal>>clk_shift) - var->xres - var->right_margin - var->hsync_len; ami_encode_var()
1578 var->vsync_len = 4>>line_shift; ami_encode_var()
1579 var->lower_margin = ((par->vtotal - par->diwstop_v)>>line_shift) + var->vsync_len; ami_encode_var()
1580 var->upper_margin = (((par->vtotal - 2)>>line_shift) + 1) - var->yres - ami_encode_var()
1581 var->lower_margin - var->vsync_len; ami_encode_var()
1585 var->sync |= FB_SYNC_EXT; ami_encode_var()
1587 var->vmode |= FB_VMODE_YWRAP; ami_encode_var()
1662 * in `var'.
1665 static void ami_pan_var(struct fb_var_screeninfo *var, struct fb_info *info) ami_pan_var() argument
1669 par->xoffset = var->xoffset; ami_pan_var()
1670 par->yoffset = var->yoffset; ami_pan_var()
1671 if (var->vmode & FB_VMODE_YWRAP) ami_pan_var()
1837 static int ami_get_var_cursorinfo(struct fb_var_cursorinfo *var, ami_get_var_cursorinfo() argument
1853 alloc = var->height * var->width; ami_get_var_cursorinfo()
1854 var->height = par->crsr.height; ami_get_var_cursorinfo()
1855 var->width = par->crsr.width; ami_get_var_cursorinfo()
1856 var->xspot = par->crsr.spot_x; ami_get_var_cursorinfo()
1857 var->yspot = par->crsr.spot_y; ami_get_var_cursorinfo()
1858 if (size > var->height * var->width) ami_get_var_cursorinfo()
1868 for (height = (short)var->height - 1; height >= 0; height--) { ami_get_var_cursorinfo()
1870 for (width = (short)var->width - 1; width >= 0; width--) { ami_get_var_cursorinfo()
1913 static int ami_set_var_cursorinfo(struct fb_var_cursorinfo *var, ami_set_var_cursorinfo() argument
1926 if (!var->width) ami_set_var_cursorinfo()
1928 else if (var->width <= 16) ami_set_var_cursorinfo()
1930 else if (var->width <= 32) ami_set_var_cursorinfo()
1932 else if (var->width <= 64) ami_set_var_cursorinfo()
1938 if (!var->height) ami_set_var_cursorinfo()
1940 if (!access_ok(VERIFY_READ, data, var->width * var->height)) ami_set_var_cursorinfo()
1946 if (((var->height + 4) << fmode << 2) > SPRITEMEMSIZE) ami_set_var_cursorinfo()
1948 memset(lspr, 0, (var->height + 4) << fmode << 2); ami_set_var_cursorinfo()
1949 shfsprite += ((var->height + 5)&-2) << fmode; ami_set_var_cursorinfo()
1952 if (((var->height + 2) << fmode << 2) > SPRITEMEMSIZE) ami_set_var_cursorinfo()
1954 memset(lspr, 0, (var->height + 2) << fmode << 2); ami_set_var_cursorinfo()
1957 for (height = (short)var->height - 1; height >= 0; height--) { ami_set_var_cursorinfo()
1959 for (width = (short)var->width - 1; width >= 0; width--) { ami_set_var_cursorinfo()
2018 par->crsr.height = var->height; ami_set_var_cursorinfo()
2019 par->crsr.width = var->width; ami_set_var_cursorinfo()
2020 par->crsr.spot_x = var->xspot; ami_set_var_cursorinfo()
2021 par->crsr.spot_y = var->yspot; ami_set_var_cursorinfo()
2375 static int amifb_check_var(struct fb_var_screeninfo *var, amifb_check_var() argument
2382 err = ami_decode_var(var, &par, info); amifb_check_var()
2387 ami_encode_var(var, &par); amifb_check_var()
2401 error = ami_decode_var(&info->var, par, info); amifb_set_par()
2446 * entries in the var structure). Return != 0 for invalid regno.
2538 static int amifb_pan_display(struct fb_var_screeninfo *var, amifb_pan_display() argument
2541 if (var->vmode & FB_VMODE_YWRAP) { amifb_pan_display()
2542 if (var->yoffset < 0 || amifb_pan_display()
2543 var->yoffset >= info->var.yres_virtual || var->xoffset) amifb_pan_display()
2550 if (var->xoffset + info->var.xres > amifb_pan_display()
2551 upx(16 << maxfmode, info->var.xres_virtual) || amifb_pan_display()
2552 var->yoffset + info->var.yres > info->var.yres_virtual) amifb_pan_display()
2555 ami_pan_var(var, info); amifb_pan_display()
2556 info->var.xoffset = var->xoffset; amifb_pan_display()
2557 info->var.yoffset = var->yoffset; amifb_pan_display()
2558 if (var->vmode & FB_VMODE_YWRAP) amifb_pan_display()
2559 info->var.vmode |= FB_VMODE_YWRAP; amifb_pan_display()
2561 info->var.vmode &= ~FB_VMODE_YWRAP; amifb_pan_display()
3183 x2 = x2 < info->var.xres_virtual ? x2 : info->var.xres_virtual; amifb_fillrect()
3184 y2 = y2 < info->var.yres_virtual ? y2 : info->var.yres_virtual; amifb_fillrect()
3195 fill_one_line(info->var.bits_per_pixel, amifb_fillrect()
3201 xor_one_line(info->var.bits_per_pixel, par->next_plane, amifb_fillrect()
3259 x2 = x2 < info->var.xres_virtual ? x2 : info->var.xres_virtual; amifb_copyarea()
3260 y2 = y2 < info->var.yres_virtual ? y2 : info->var.yres_virtual; amifb_copyarea()
3272 if (sx + width > info->var.xres_virtual || amifb_copyarea()
3273 sy + height > info->var.yres_virtual) amifb_copyarea()
3292 copy_one_line_rev(info->var.bits_per_pixel, amifb_copyarea()
3298 copy_one_line(info->var.bits_per_pixel, amifb_copyarea()
3356 x2 = x2 < info->var.xres_virtual ? x2 : info->var.xres_virtual; amifb_imageblit()
3357 y2 = y2 < info->var.yres_virtual ? y2 : info->var.yres_virtual; amifb_imageblit()
3369 expand_one_line(info->var.bits_per_pixel, amifb_imageblit()
3379 image->width, info->var.bits_per_pixel); amifb_imageblit()
3393 struct fb_var_cursorinfo var; amifb_ioctl() member in union:__anon10487
3408 i = ami_get_var_cursorinfo(&crsr.var, amifb_ioctl()
3413 return copy_to_user(argp, &crsr.var, amifb_ioctl()
3414 sizeof(crsr.var)) ? -EFAULT : 0; amifb_ioctl()
3417 if (copy_from_user(&crsr.var, argp, sizeof(crsr.var))) amifb_ioctl()
3419 return ami_set_var_cursorinfo(&crsr.var, amifb_ioctl()
3677 if (!fb_find_mode(&info->var, info, mode_option, ami_modedb, amifb_probe()
3735 err = fb_alloc_cmap(&info->cmap, 1 << info->var.bits_per_pixel, 0); amifb_probe()
H A Dbfin_adv7393fb.c456 fbdev->info.var = bfin_adv7393_fb_defined; bfin_adv7393_fb_probe()
574 bfin_adv7393_fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) bfin_adv7393_fb_check_var() argument
577 switch (var->bits_per_pixel) { bfin_adv7393_fb_check_var()
579 var->red.offset = info->var.red.offset; bfin_adv7393_fb_check_var()
580 var->green.offset = info->var.green.offset; bfin_adv7393_fb_check_var()
581 var->blue.offset = info->var.blue.offset; bfin_adv7393_fb_check_var()
582 var->red.length = info->var.red.length; bfin_adv7393_fb_check_var()
583 var->green.length = info->var.green.length; bfin_adv7393_fb_check_var()
584 var->blue.length = info->var.blue.length; bfin_adv7393_fb_check_var()
585 var->transp.offset = 0; bfin_adv7393_fb_check_var()
586 var->transp.length = 0; bfin_adv7393_fb_check_var()
587 var->transp.msb_right = 0; bfin_adv7393_fb_check_var()
588 var->red.msb_right = 0; bfin_adv7393_fb_check_var()
589 var->green.msb_right = 0; bfin_adv7393_fb_check_var()
590 var->blue.msb_right = 0; bfin_adv7393_fb_check_var()
594 var->bits_per_pixel); bfin_adv7393_fb_check_var()
598 if (info->var.xres != var->xres || bfin_adv7393_fb_check_var()
599 info->var.yres != var->yres || bfin_adv7393_fb_check_var()
600 info->var.xres_virtual != var->xres_virtual || bfin_adv7393_fb_check_var()
601 info->var.yres_virtual != var->yres_virtual) { bfin_adv7393_fb_check_var()
603 __func__, var->xres, var->yres); bfin_adv7393_fb_check_var()
611 if ((info->fix.line_length * var->yres_virtual) > info->fix.smem_len) { bfin_adv7393_fb_check_var()
613 __func__, var->yres_virtual); bfin_adv7393_fb_check_var()
621 bfin_adv7393_fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) bfin_adv7393_fb_pan_display() argument
627 if (!var || !info) bfin_adv7393_fb_pan_display()
630 if (var->xoffset - info->var.xoffset) { bfin_adv7393_fb_pan_display()
634 dy = var->yoffset - info->var.yoffset; bfin_adv7393_fb_pan_display()
692 if (info->var.grayscale) bfin_adv7393_fb_setcolreg()
702 red >>= (16 - info->var.red.length); bfin_adv7393_fb_setcolreg()
703 green >>= (16 - info->var.green.length); bfin_adv7393_fb_setcolreg()
704 blue >>= (16 - info->var.blue.length); bfin_adv7393_fb_setcolreg()
706 value = (red << info->var.red.offset) | bfin_adv7393_fb_setcolreg()
707 (green << info->var.green.offset)| bfin_adv7393_fb_setcolreg()
708 (blue << info->var.blue.offset); bfin_adv7393_fb_setcolreg()
H A Dauo_k190x.c75 static inline int rgb565_to_gray4(u16 data, struct fb_var_screeninfo *var) rgb565_to_gray4() argument
77 return ((((data & 0xF800) >> var->red.offset) * 77 + rgb565_to_gray4()
78 ((data & 0x07E0) >> (var->green.offset + 1)) * 151 + rgb565_to_gray4()
79 ((data & 0x1F) >> var->blue.offset) * 28) >> 8 >> 1); rgb565_to_gray4()
85 struct fb_var_screeninfo *var = &par->info->var; auok190x_issue_pixels_rgb565() local
99 tmp = (rgb565_to_gray4(data[4*i], var) & 0x000F); auok190x_issue_pixels_rgb565()
100 tmp |= (rgb565_to_gray4(data[4*i+1], var) << 4) & 0x00F0; auok190x_issue_pixels_rgb565()
101 tmp |= (rgb565_to_gray4(data[4*i+2], var) << 8) & 0x0F00; auok190x_issue_pixels_rgb565()
102 tmp |= (rgb565_to_gray4(data[4*i+3], var) << 12) & 0xF000; auok190x_issue_pixels_rgb565()
148 if (info->var.bits_per_pixel == 8 && info->var.grayscale) auok190x_issue_pixels()
150 else if (info->var.bits_per_pixel == 16) auok190x_issue_pixels()
154 info->var.bits_per_pixel, info->var.grayscale); auok190x_issue_pixels()
293 u16 yres = info->var.yres; auok190xfb_dpy_deferred_io()
441 static int auok190xfb_check_var(struct fb_var_screeninfo *var, auok190xfb_check_var() argument
453 if (var->bits_per_pixel == 8 && var->grayscale == 1) { auok190xfb_check_var()
457 var->red.length = 8; auok190xfb_check_var()
458 var->red.offset = 0; auok190xfb_check_var()
459 var->red.msb_right = 0; auok190xfb_check_var()
461 var->green.length = 8; auok190xfb_check_var()
462 var->green.offset = 0; auok190xfb_check_var()
463 var->green.msb_right = 0; auok190xfb_check_var()
465 var->blue.length = 8; auok190xfb_check_var()
466 var->blue.offset = 0; auok190xfb_check_var()
467 var->blue.msb_right = 0; auok190xfb_check_var()
469 var->transp.length = 0; auok190xfb_check_var()
470 var->transp.offset = 0; auok190xfb_check_var()
471 var->transp.msb_right = 0; auok190xfb_check_var()
472 } else if (var->bits_per_pixel == 16) { auok190xfb_check_var()
473 var->red.length = 5; auok190xfb_check_var()
474 var->red.offset = 11; auok190xfb_check_var()
475 var->red.msb_right = 0; auok190xfb_check_var()
477 var->green.length = 6; auok190xfb_check_var()
478 var->green.offset = 5; auok190xfb_check_var()
479 var->green.msb_right = 0; auok190xfb_check_var()
481 var->blue.length = 5; auok190xfb_check_var()
482 var->blue.offset = 0; auok190xfb_check_var()
483 var->blue.msb_right = 0; auok190xfb_check_var()
485 var->transp.length = 0; auok190xfb_check_var()
486 var->transp.offset = 0; auok190xfb_check_var()
487 var->transp.msb_right = 0; auok190xfb_check_var()
490 info->var.bits_per_pixel, info->var.grayscale); auok190xfb_check_var()
498 switch (var->rotate) { auok190xfb_check_var()
501 var->xres = panel->w; auok190xfb_check_var()
502 var->yres = panel->h; auok190xfb_check_var()
506 var->xres = panel->h; auok190xfb_check_var()
507 var->yres = panel->w; auok190xfb_check_var()
514 var->xres_virtual = var->xres; auok190xfb_check_var()
515 var->yres_virtual = var->yres; auok190xfb_check_var()
521 size = var->xres_virtual * var->yres_virtual * var->bits_per_pixel / 8; auok190xfb_check_var()
534 struct fb_var_screeninfo *var = &info->var; auok190xfb_set_fix() local
536 fix->line_length = var->xres_virtual * var->bits_per_pixel / 8; auok190xfb_set_fix()
540 fix->visual = (var->grayscale) ? FB_VISUAL_STATIC_PSEUDOCOLOR auok190xfb_set_fix()
553 par->rotation = info->var.rotate; auok190xfb_set_par()
1047 /* initialise fix, var, resolution and rotation */ auok190x_common_probe()
1050 info->var.bits_per_pixel = 8; auok190x_common_probe()
1051 info->var.grayscale = 1; auok190x_common_probe()
1074 ret = auok190xfb_check_var(&info->var, info); auok190x_common_probe()
1122 info->node, info->var.xres, info->var.yres, auok190x_common_probe()
H A Dtridentfb.c504 if (info->var.bits_per_pixel == 8) { tridentfb_fillrect()
526 if (info->var.bits_per_pixel == 8) { tridentfb_imageblit()
864 /* See if we can handle the video mode described in var */ tridentfb_check_var()
865 static int tridentfb_check_var(struct fb_var_screeninfo *var, tridentfb_check_var() argument
869 int bpp = var->bits_per_pixel; tridentfb_check_var()
876 bpp = var->bits_per_pixel = 32; tridentfb_check_var()
882 if (par->flatpanel && nativex && var->xres > nativex) tridentfb_check_var()
885 var->xres = (var->xres + 7) & ~0x7; tridentfb_check_var()
886 if (var->xres > var->xres_virtual) tridentfb_check_var()
887 var->xres_virtual = var->xres; tridentfb_check_var()
888 if (var->yres > var->yres_virtual) tridentfb_check_var()
889 var->yres_virtual = var->yres; tridentfb_check_var()
890 if (var->xres_virtual > 4095 || var->yres > 2048) tridentfb_check_var()
893 if (var->yres_virtual > 0xffff) tridentfb_check_var()
895 line_length = var->xres_virtual * bpp / 8; tridentfb_check_var()
901 var->xres_virtual = 512 * 8 / bpp; tridentfb_check_var()
903 var->xres_virtual = 1024 * 8 / bpp; tridentfb_check_var()
905 var->xres_virtual = 2048 * 8 / bpp; tridentfb_check_var()
907 var->xres_virtual = 4096 * 8 / bpp; tridentfb_check_var()
909 var->xres_virtual = 8192 * 8 / bpp; tridentfb_check_var()
913 line_length = var->xres_virtual * bpp / 8; tridentfb_check_var()
917 if (line_length * (var->yres_virtual - var->yres) > (4 << 20)) tridentfb_check_var()
918 var->yres_virtual = ((4 << 20) / line_length) + var->yres; tridentfb_check_var()
920 if (line_length * var->yres_virtual > info->fix.smem_len) tridentfb_check_var()
925 var->red.offset = 0; tridentfb_check_var()
926 var->red.length = 8; tridentfb_check_var()
927 var->green = var->red; tridentfb_check_var()
928 var->blue = var->red; tridentfb_check_var()
931 var->red.offset = 11; tridentfb_check_var()
932 var->green.offset = 5; tridentfb_check_var()
933 var->blue.offset = 0; tridentfb_check_var()
934 var->red.length = 5; tridentfb_check_var()
935 var->green.length = 6; tridentfb_check_var()
936 var->blue.length = 5; tridentfb_check_var()
939 var->red.offset = 16; tridentfb_check_var()
940 var->green.offset = 8; tridentfb_check_var()
941 var->blue.offset = 0; tridentfb_check_var()
942 var->red.length = 8; tridentfb_check_var()
943 var->green.length = 8; tridentfb_check_var()
944 var->blue.length = 8; tridentfb_check_var()
973 if (PICOS2KHZ(var->pixclock) > ramdac) tridentfb_check_var()
983 static int tridentfb_pan_display(struct fb_var_screeninfo *var, tridentfb_pan_display() argument
990 offset = (var->xoffset + (var->yoffset * info->var.xres_virtual)) tridentfb_pan_display()
991 * info->var.bits_per_pixel / 32; tridentfb_pan_display()
1013 struct fb_var_screeninfo *var = &info->var; tridentfb_set_par() local
1014 int bpp = var->bits_per_pixel; tridentfb_set_par()
1019 hdispend = var->xres / 8 - 1; tridentfb_set_par()
1020 hsyncstart = (var->xres + var->right_margin) / 8; tridentfb_set_par()
1021 hsyncend = (var->xres + var->right_margin + var->hsync_len) / 8; tridentfb_set_par()
1022 htotal = (var->xres + var->left_margin + var->right_margin + tridentfb_set_par()
1023 var->hsync_len) / 8 - 5; tridentfb_set_par()
1027 vdispend = var->yres - 1; tridentfb_set_par()
1028 vsyncstart = var->yres + var->lower_margin; tridentfb_set_par()
1029 vsyncend = vsyncstart + var->vsync_len; tridentfb_set_par()
1030 vtotal = var->upper_margin + vsyncend - 2; tridentfb_set_par()
1034 if (info->var.vmode & FB_VMODE_INTERLACED) { tridentfb_set_par()
1047 if (var->sync & FB_SYNC_HOR_HIGH_ACT) tridentfb_set_par()
1049 if (var->sync & FB_SYNC_VERT_HIGH_ACT) tridentfb_set_par()
1052 if (par->flatpanel && var->xres < nativex) { tridentfb_set_par()
1117 //FIXME if (info->var.vmode & FB_VMODE_DOUBLE) tmp |= 0x80; /* double scan for 200 line modes */ tridentfb_set_par()
1126 tmp = (info->var.vmode & FB_VMODE_INTERLACED) ? 0x84 : 0x80; tridentfb_set_par()
1130 if (info->var.vmode & FB_VMODE_INTERLACED) tridentfb_set_par()
1176 vclk = PICOS2KHZ(info->var.pixclock); tridentfb_set_par()
1223 set_number_of_lines(par, info->var.yres); tridentfb_set_par()
1224 info->fix.line_length = info->var.xres_virtual * bpp / 8; tridentfb_set_par()
1228 par->init_accel(par, info->var.xres_virtual, bpp); tridentfb_set_par()
1241 int bpp = info->var.bits_per_pixel; tridentfb_setcolreg()
1508 if (!fb_find_mode(&info->var, info, trident_pci_probe()
1517 info->var.activate |= FB_ACTIVATE_NOW; trident_pci_probe()
1526 info->node, info->fix.id, info->var.xres, trident_pci_probe()
1527 info->var.yres, info->var.bits_per_pixel); trident_pci_probe()
H A Dxen-fbfront.c197 if (y2 >= fb_info->var.yres) list_for_each_entry()
198 y2 = fb_info->var.yres - 1; list_for_each_entry()
204 xenfb_refresh(info, 0, miny, fb_info->var.xres, maxy - miny + 1);
222 red = CNVT_TOHW(red, info->var.red.length); xenfb_setcolreg()
223 green = CNVT_TOHW(green, info->var.green.length); xenfb_setcolreg()
224 blue = CNVT_TOHW(blue, info->var.blue.length); xenfb_setcolreg()
225 transp = CNVT_TOHW(transp, info->var.transp.length); xenfb_setcolreg()
228 v = (red << info->var.red.offset) | xenfb_setcolreg()
229 (green << info->var.green.offset) | xenfb_setcolreg()
230 (blue << info->var.blue.offset); xenfb_setcolreg()
232 switch (info->var.bits_per_pixel) { xenfb_setcolreg()
279 xenfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) xenfb_check_var() argument
287 if (var->xres == video[KPARAM_WIDTH] && xenfb_check_var()
288 var->yres == video[KPARAM_HEIGHT] && xenfb_check_var()
289 var->bits_per_pixel == xenfb_info->page->depth) { xenfb_check_var()
296 if (var->xres > video[KPARAM_WIDTH] || var->yres > video[KPARAM_HEIGHT]) xenfb_check_var()
299 required_mem_len = var->xres * var->yres * xenfb_info->page->depth / 8; xenfb_check_var()
300 if (var->bits_per_pixel == xenfb_info->page->depth && xenfb_check_var()
301 var->xres <= info->fix.line_length / (XENFB_DEPTH / 8) && xenfb_check_var()
303 var->xres_virtual = var->xres; xenfb_check_var()
304 var->yres_virtual = var->yres; xenfb_check_var()
319 xenfb_info->resize.width = info->var.xres; xenfb_set_par()
320 xenfb_info->resize.height = info->var.yres; xenfb_set_par()
322 xenfb_info->resize.depth = info->var.bits_per_pixel; xenfb_set_par()
426 fb_info->var.xres_virtual = fb_info->var.xres = video[KPARAM_WIDTH]; xenfb_probe()
427 fb_info->var.yres_virtual = fb_info->var.yres = video[KPARAM_HEIGHT]; xenfb_probe()
428 fb_info->var.bits_per_pixel = XENFB_DEPTH; xenfb_probe()
430 fb_info->var.red = (struct fb_bitfield){16, 8, 0}; xenfb_probe()
431 fb_info->var.green = (struct fb_bitfield){8, 8, 0}; xenfb_probe()
432 fb_info->var.blue = (struct fb_bitfield){0, 8, 0}; xenfb_probe()
434 fb_info->var.activate = FB_ACTIVATE_NOW; xenfb_probe()
435 fb_info->var.height = -1; xenfb_probe()
436 fb_info->var.width = -1; xenfb_probe()
437 fb_info->var.vmode = FB_VMODE_NONINTERLACED; xenfb_probe()
440 fb_info->fix.line_length = fb_info->var.xres * XENFB_DEPTH / 8; xenfb_probe()
557 info->page->width = fb_info->var.xres; xenfb_init_shared_page()
558 info->page->height = fb_info->var.yres; xenfb_init_shared_page()
559 info->page->depth = fb_info->var.bits_per_pixel; xenfb_init_shared_page()
H A Duvesafb.c270 static void uvesafb_setup_var(struct fb_var_screeninfo *var, uvesafb_setup_var() argument
275 var->vmode = FB_VMODE_NONINTERLACED; uvesafb_setup_var()
276 var->sync = FB_SYNC_VERT_HIGH_ACT; uvesafb_setup_var()
278 var->xres = mode->x_res; uvesafb_setup_var()
279 var->yres = mode->y_res; uvesafb_setup_var()
280 var->xres_virtual = mode->x_res; uvesafb_setup_var()
281 var->yres_virtual = (par->ypan) ? uvesafb_setup_var()
284 var->xoffset = 0; uvesafb_setup_var()
285 var->yoffset = 0; uvesafb_setup_var()
286 var->bits_per_pixel = mode->bits_per_pixel; uvesafb_setup_var()
288 if (var->bits_per_pixel == 15) uvesafb_setup_var()
289 var->bits_per_pixel = 16; uvesafb_setup_var()
291 if (var->bits_per_pixel > 8) { uvesafb_setup_var()
292 var->red.offset = mode->red_off; uvesafb_setup_var()
293 var->red.length = mode->red_len; uvesafb_setup_var()
294 var->green.offset = mode->green_off; uvesafb_setup_var()
295 var->green.length = mode->green_len; uvesafb_setup_var()
296 var->blue.offset = mode->blue_off; uvesafb_setup_var()
297 var->blue.length = mode->blue_len; uvesafb_setup_var()
298 var->transp.offset = mode->rsvd_off; uvesafb_setup_var()
299 var->transp.length = mode->rsvd_len; uvesafb_setup_var()
301 var->red.offset = 0; uvesafb_setup_var()
302 var->green.offset = 0; uvesafb_setup_var()
303 var->blue.offset = 0; uvesafb_setup_var()
304 var->transp.offset = 0; uvesafb_setup_var()
306 var->red.length = 8; uvesafb_setup_var()
307 var->green.length = 8; uvesafb_setup_var()
308 var->blue.length = 8; uvesafb_setup_var()
309 var->transp.length = 0; uvesafb_setup_var()
605 fb_videomode_to_var(&info->var, mode); uvesafb_is_valid_mode()
606 if (fb_validate_mode(&info->var, info)) uvesafb_is_valid_mode()
732 struct fb_var_screeninfo var; uvesafb_vbe_getmonspecs() local
737 memset(&var, 0, sizeof(var)); uvesafb_vbe_getmonspecs()
739 var.xres = mode->x_res; uvesafb_vbe_getmonspecs()
740 var.yres = mode->y_res; uvesafb_vbe_getmonspecs()
742 fb_get_mode(FB_VSYNCTIMINGS | FB_IGNOREMON, 60, &var, info); uvesafb_vbe_getmonspecs()
743 fb_var_to_videomode(&vmode, &var); uvesafb_vbe_getmonspecs()
850 uvesafb_setup_var(&info->var, info, uvesafb_vbe_init_mode()
853 &info->var, info); uvesafb_vbe_init_mode()
858 info->var.pixclock = 0; uvesafb_vbe_init_mode()
888 i = fb_find_mode(&info->var, info, mode_option, mode, i, uvesafb_vbe_init_mode()
896 info->var.xres = 640; uvesafb_vbe_init_mode()
897 info->var.yres = 480; uvesafb_vbe_init_mode()
899 fb_find_best_mode(&info->var, &info->modelist); uvesafb_vbe_init_mode()
902 fb_videomode_to_var(&info->var, mode); uvesafb_vbe_init_mode()
905 uvesafb_setup_var(&info->var, info, uvesafb_vbe_init_mode()
908 &info->var, info); uvesafb_vbe_init_mode()
915 modeid = uvesafb_vbe_find_mode(par, info->var.xres, info->var.yres, uvesafb_vbe_init_mode()
916 info->var.bits_per_pixel, UVESAFB_EXACT_RES); uvesafb_vbe_init_mode()
921 uvesafb_setup_var(&info->var, info, &par->vbe_modes[modeid]); uvesafb_vbe_init_mode()
930 &info->var, info); uvesafb_vbe_init_mode()
1011 if (info->var.bits_per_pixel == 8) { uvesafb_setcolreg()
1019 switch (info->var.bits_per_pixel) { uvesafb_setcolreg()
1021 if (info->var.red.offset == 10) { uvesafb_setcolreg()
1042 (red << info->var.red.offset) | uvesafb_setcolreg()
1043 (green << info->var.green.offset) | uvesafb_setcolreg()
1044 (blue << info->var.blue.offset); uvesafb_setcolreg()
1057 if (info->var.bits_per_pixel == 8) { uvesafb_setcmap()
1089 static int uvesafb_pan_display(struct fb_var_screeninfo *var, uvesafb_pan_display() argument
1096 offset = (var->yoffset * info->fix.line_length + var->xoffset) / 4; uvesafb_pan_display()
1232 int i, err = 0, depth = info->var.bits_per_pixel; uvesafb_set_par()
1235 depth = info->var.red.length + info->var.green.length + uvesafb_set_par()
1236 info->var.blue.length; uvesafb_set_par()
1238 i = uvesafb_vbe_find_mode(par, info->var.xres, info->var.yres, depth, uvesafb_set_par()
1253 info->var.pixclock != 0) { uvesafb_set_par()
1261 crtc->horiz_start = info->var.xres + info->var.right_margin; uvesafb_set_par()
1262 crtc->horiz_end = crtc->horiz_start + info->var.hsync_len; uvesafb_set_par()
1263 crtc->horiz_total = crtc->horiz_end + info->var.left_margin; uvesafb_set_par()
1265 crtc->vert_start = info->var.yres + info->var.lower_margin; uvesafb_set_par()
1266 crtc->vert_end = crtc->vert_start + info->var.vsync_len; uvesafb_set_par()
1267 crtc->vert_total = crtc->vert_end + info->var.upper_margin; uvesafb_set_par()
1269 crtc->pixel_clock = PICOS2KHZ(info->var.pixclock) * 1000; uvesafb_set_par()
1273 if (info->var.vmode & FB_VMODE_DOUBLE) uvesafb_set_par()
1275 if (info->var.vmode & FB_VMODE_INTERLACED) uvesafb_set_par()
1277 if (!(info->var.sync & FB_SYNC_HOR_HIGH_ACT)) uvesafb_set_par()
1279 if (!(info->var.sync & FB_SYNC_VERT_HIGH_ACT)) uvesafb_set_par()
1302 info->var.pixclock = 0; uvesafb_set_par()
1329 info->fix.visual = (info->var.bits_per_pixel == 8) ? uvesafb_set_par()
1340 static void uvesafb_check_limits(struct fb_var_screeninfo *var, uvesafb_check_limits() argument
1350 if (!var->pixclock) uvesafb_check_limits()
1354 fb_get_mode(FB_VSYNCTIMINGS | FB_IGNOREMON, 60, var, info); uvesafb_check_limits()
1358 if (!fb_validate_mode(var, info)) uvesafb_check_limits()
1361 mode = fb_find_best_mode(var, &info->modelist); uvesafb_check_limits()
1363 if (mode->xres == var->xres && mode->yres == var->yres && uvesafb_check_limits()
1365 fb_videomode_to_var(var, mode); uvesafb_check_limits()
1370 if (info->monspecs.gtf && !fb_get_mode(FB_MAXTIMINGS, 0, var, info)) uvesafb_check_limits()
1373 var->pixclock = 0; uvesafb_check_limits()
1376 static int uvesafb_check_var(struct fb_var_screeninfo *var, uvesafb_check_var() argument
1382 int depth = var->red.length + var->green.length + var->blue.length; uvesafb_check_var()
1389 if (depth == 0 || abs(depth - var->bits_per_pixel) >= 8) uvesafb_check_var()
1390 depth = var->bits_per_pixel; uvesafb_check_var()
1392 match = uvesafb_vbe_find_mode(par, var->xres, var->yres, depth, uvesafb_check_var()
1398 uvesafb_setup_var(var, info, mode); uvesafb_check_var()
1405 if (var->yres * mode->bytes_per_scan_line > info->fix.smem_len uvesafb_check_var()
1409 if ((var->vmode & FB_VMODE_DOUBLE) && uvesafb_check_var()
1411 var->vmode &= ~FB_VMODE_DOUBLE; uvesafb_check_var()
1413 if ((var->vmode & FB_VMODE_INTERLACED) && uvesafb_check_var()
1415 var->vmode &= ~FB_VMODE_INTERLACED; uvesafb_check_var()
1417 uvesafb_check_limits(var, info); uvesafb_check_var()
1419 var->xres_virtual = var->xres; uvesafb_check_var()
1420 var->yres_virtual = (par->ypan) ? uvesafb_check_var()
1422 var->yres; uvesafb_check_var()
1476 size_vmode = info->var.yres * mode->bytes_per_scan_line; uvesafb_init_info()
1509 info->var.yres_virtual = info->fix.smem_len / uvesafb_init_info()
1512 if (par->ypan && info->var.yres_virtual > info->var.yres) { uvesafb_init_info()
1517 info->var.yres_virtual); uvesafb_init_info()
1520 info->var.yres_virtual = info->var.yres; uvesafb_init_info()
H A Dsh7760fb.c111 red >>= 16 - info->var.red.length; sh7760_setcolreg()
112 green >>= 16 - info->var.green.length; sh7760_setcolreg()
113 blue >>= 16 - info->var.blue.length; sh7760_setcolreg()
114 transp >>= 16 - info->var.transp.length; sh7760_setcolreg()
116 palette[regno] = (red << info->var.red.offset) | sh7760_setcolreg()
117 (green << info->var.green.offset) | sh7760_setcolreg()
118 (blue << info->var.blue.offset) | sh7760_setcolreg()
119 (transp << info->var.transp.offset); sh7760_setcolreg()
168 static int sh7760fb_check_var(struct fb_var_screeninfo *var, sh7760fb_check_var() argument
180 var->bits_per_pixel = bpp; sh7760fb_check_var()
182 if ((var->grayscale) && (var->bits_per_pixel == 1)) sh7760fb_check_var()
184 else if (var->bits_per_pixel >= 15) sh7760fb_check_var()
328 sh7760fb_check_var(&info->var, info); sh7760fb_set_par()
396 vram = info->var.xres * info->var.yres; sh7760fb_alloc_mem()
397 if (info->var.grayscale) { sh7760fb_alloc_mem()
488 fb_videomode_to_var(&info->var, par->pd->def_mode); sh7760fb_probe()
499 info->var.red.offset = 11; sh7760fb_probe()
500 info->var.red.length = 5; sh7760fb_probe()
501 info->var.red.msb_right = 0; sh7760fb_probe()
503 info->var.green.offset = 5; sh7760fb_probe()
504 info->var.green.length = 6; sh7760fb_probe()
505 info->var.green.msb_right = 0; sh7760fb_probe()
507 info->var.blue.offset = 0; sh7760fb_probe()
508 info->var.blue.length = 5; sh7760fb_probe()
509 info->var.blue.msb_right = 0; sh7760fb_probe()
511 info->var.transp.offset = 0; sh7760fb_probe()
512 info->var.transp.length = 0; sh7760fb_probe()
513 info->var.transp.msb_right = 0; sh7760fb_probe()
H A Dsimplefb.c52 u32 cr = red >> (16 - info->var.red.length); simplefb_setcolreg()
53 u32 cg = green >> (16 - info->var.green.length); simplefb_setcolreg()
54 u32 cb = blue >> (16 - info->var.blue.length); simplefb_setcolreg()
60 value = (cr << info->var.red.offset) | simplefb_setcolreg()
61 (cg << info->var.green.offset) | simplefb_setcolreg()
62 (cb << info->var.blue.offset); simplefb_setcolreg()
63 if (info->var.transp.length > 0) { simplefb_setcolreg()
64 u32 mask = (1 << info->var.transp.length) - 1; simplefb_setcolreg()
65 mask <<= info->var.transp.offset; simplefb_setcolreg()
309 info->var = simplefb_var; simplefb_probe()
310 info->var.xres = params.width; simplefb_probe()
311 info->var.yres = params.height; simplefb_probe()
312 info->var.xres_virtual = params.width; simplefb_probe()
313 info->var.yres_virtual = params.height; simplefb_probe()
314 info->var.bits_per_pixel = params.format->bits_per_pixel; simplefb_probe()
315 info->var.red = params.format->red; simplefb_probe()
316 info->var.green = params.format->green; simplefb_probe()
317 info->var.blue = params.format->blue; simplefb_probe()
318 info->var.transp = params.format->transp; simplefb_probe()
347 info->var.xres, info->var.yres, simplefb_probe()
348 info->var.bits_per_pixel, info->fix.line_length); simplefb_probe()
H A Dsh_mobile_lcdcfb.c562 static int sh_mobile_lcdc_check_var(struct fb_var_screeninfo *var,
571 struct fb_var_screeninfo var; sh_mobile_lcdc_display_notify() local
590 info->var.width = ch->display.width; sh_mobile_lcdc_display_notify()
591 info->var.height = ch->display.height; sh_mobile_lcdc_display_notify()
616 fb_videomode_to_var(&var, mode); sh_mobile_lcdc_display_notify()
617 var.bits_per_pixel = info->var.bits_per_pixel; sh_mobile_lcdc_display_notify()
618 var.grayscale = info->var.grayscale; sh_mobile_lcdc_display_notify()
619 ret = sh_mobile_lcdc_check_var(&var, info); sh_mobile_lcdc_display_notify()
699 static int sh_mobile_format_fourcc(const struct fb_var_screeninfo *var) sh_mobile_format_fourcc() argument
701 if (var->grayscale > 1) sh_mobile_format_fourcc()
702 return var->grayscale; sh_mobile_format_fourcc()
704 switch (var->bits_per_pixel) { sh_mobile_format_fourcc()
716 static int sh_mobile_format_is_fourcc(const struct fb_var_screeninfo *var) sh_mobile_format_is_fourcc() argument
718 return var->grayscale > 1; sh_mobile_format_is_fourcc()
816 const struct fb_var_screeninfo *var = &ch->info->var; sh_mobile_lcdc_geometry() local
822 tmp |= (var->sync & FB_SYNC_VERT_HIGH_ACT) ? 0 : LDMT1R_VPOL; sh_mobile_lcdc_geometry()
823 tmp |= (var->sync & FB_SYNC_HOR_HIGH_ACT) ? 0 : LDMT1R_HPOL; sh_mobile_lcdc_geometry()
1247 static int __sh_mobile_lcdc_check_var(struct fb_var_screeninfo *var, __sh_mobile_lcdc_check_var() argument
1250 if (var->xres > MAX_XRES || var->yres > MAX_YRES) __sh_mobile_lcdc_check_var()
1256 if (var->xres_virtual < var->xres) __sh_mobile_lcdc_check_var()
1257 var->xres_virtual = var->xres; __sh_mobile_lcdc_check_var()
1258 if (var->yres_virtual < var->yres) __sh_mobile_lcdc_check_var()
1259 var->yres_virtual = var->yres; __sh_mobile_lcdc_check_var()
1261 if (sh_mobile_format_is_fourcc(var)) { __sh_mobile_lcdc_check_var()
1264 format = sh_mobile_format_info(var->grayscale); __sh_mobile_lcdc_check_var()
1267 var->bits_per_pixel = format->bpp; __sh_mobile_lcdc_check_var()
1273 var->colorspace = V4L2_COLORSPACE_SRGB; __sh_mobile_lcdc_check_var()
1274 else if (var->colorspace != V4L2_COLORSPACE_REC709) __sh_mobile_lcdc_check_var()
1275 var->colorspace = V4L2_COLORSPACE_JPEG; __sh_mobile_lcdc_check_var()
1277 if (var->bits_per_pixel <= 16) { /* RGB 565 */ __sh_mobile_lcdc_check_var()
1278 var->bits_per_pixel = 16; __sh_mobile_lcdc_check_var()
1279 var->red.offset = 11; __sh_mobile_lcdc_check_var()
1280 var->red.length = 5; __sh_mobile_lcdc_check_var()
1281 var->green.offset = 5; __sh_mobile_lcdc_check_var()
1282 var->green.length = 6; __sh_mobile_lcdc_check_var()
1283 var->blue.offset = 0; __sh_mobile_lcdc_check_var()
1284 var->blue.length = 5; __sh_mobile_lcdc_check_var()
1285 var->transp.offset = 0; __sh_mobile_lcdc_check_var()
1286 var->transp.length = 0; __sh_mobile_lcdc_check_var()
1287 } else if (var->bits_per_pixel <= 24) { /* RGB 888 */ __sh_mobile_lcdc_check_var()
1288 var->bits_per_pixel = 24; __sh_mobile_lcdc_check_var()
1289 var->red.offset = 16; __sh_mobile_lcdc_check_var()
1290 var->red.length = 8; __sh_mobile_lcdc_check_var()
1291 var->green.offset = 8; __sh_mobile_lcdc_check_var()
1292 var->green.length = 8; __sh_mobile_lcdc_check_var()
1293 var->blue.offset = 0; __sh_mobile_lcdc_check_var()
1294 var->blue.length = 8; __sh_mobile_lcdc_check_var()
1295 var->transp.offset = 0; __sh_mobile_lcdc_check_var()
1296 var->transp.length = 0; __sh_mobile_lcdc_check_var()
1297 } else if (var->bits_per_pixel <= 32) { /* RGBA 888 */ __sh_mobile_lcdc_check_var()
1298 var->bits_per_pixel = 32; __sh_mobile_lcdc_check_var()
1299 var->red.offset = 16; __sh_mobile_lcdc_check_var()
1300 var->red.length = 8; __sh_mobile_lcdc_check_var()
1301 var->green.offset = 8; __sh_mobile_lcdc_check_var()
1302 var->green.length = 8; __sh_mobile_lcdc_check_var()
1303 var->blue.offset = 0; __sh_mobile_lcdc_check_var()
1304 var->blue.length = 8; __sh_mobile_lcdc_check_var()
1305 var->transp.offset = 24; __sh_mobile_lcdc_check_var()
1306 var->transp.length = 8; __sh_mobile_lcdc_check_var()
1310 var->red.msb_right = 0; __sh_mobile_lcdc_check_var()
1311 var->green.msb_right = 0; __sh_mobile_lcdc_check_var()
1312 var->blue.msb_right = 0; __sh_mobile_lcdc_check_var()
1313 var->transp.msb_right = 0; __sh_mobile_lcdc_check_var()
1317 if (var->xres_virtual * var->yres_virtual * var->bits_per_pixel / 8 > __sh_mobile_lcdc_check_var()
1506 static int sh_mobile_lcdc_overlay_pan(struct fb_var_screeninfo *var, sh_mobile_lcdc_overlay_pan() argument
1516 y_offset = (var->yoffset * ovl->xres_virtual + var->xoffset) sh_mobile_lcdc_overlay_pan()
1523 y_offset = var->yoffset * ovl->xres_virtual + var->xoffset; sh_mobile_lcdc_overlay_pan()
1524 c_offset = var->yoffset / ysub * ovl->xres_virtual * 2 / xsub sh_mobile_lcdc_overlay_pan()
1525 + var->xoffset * 2 / xsub; sh_mobile_lcdc_overlay_pan()
1568 static int sh_mobile_lcdc_overlay_check_var(struct fb_var_screeninfo *var, sh_mobile_lcdc_overlay_check_var() argument
1571 return __sh_mobile_lcdc_check_var(var, info); sh_mobile_lcdc_overlay_check_var()
1579 sh_mobile_format_info(sh_mobile_format_fourcc(&info->var)); sh_mobile_lcdc_overlay_set_par()
1581 ovl->xres = info->var.xres; sh_mobile_lcdc_overlay_set_par()
1582 ovl->xres_virtual = info->var.xres_virtual; sh_mobile_lcdc_overlay_set_par()
1583 ovl->yres = info->var.yres; sh_mobile_lcdc_overlay_set_par()
1584 ovl->yres_virtual = info->var.yres_virtual; sh_mobile_lcdc_overlay_set_par()
1587 ovl->pitch = info->var.xres_virtual; sh_mobile_lcdc_overlay_set_par()
1589 ovl->pitch = info->var.xres_virtual * ovl->format->bpp / 8; sh_mobile_lcdc_overlay_set_par()
1595 if (sh_mobile_format_is_fourcc(&info->var)) { sh_mobile_lcdc_overlay_set_par()
1671 dev_name(lcdc->dev), ovl->index, info->var.xres, sh_mobile_lcdc_overlay_fb_register()
1672 info->var.yres, info->var.bits_per_pixel); sh_mobile_lcdc_overlay_fb_register()
1698 struct fb_var_screeninfo *var; sh_mobile_lcdc_overlay_fb_init() local
1741 var = &info->var; sh_mobile_lcdc_overlay_fb_init()
1742 memset(var, 0, sizeof(*var)); sh_mobile_lcdc_overlay_fb_init()
1743 var->xres = ovl->xres; sh_mobile_lcdc_overlay_fb_init()
1744 var->yres = ovl->yres; sh_mobile_lcdc_overlay_fb_init()
1745 var->xres_virtual = ovl->xres_virtual; sh_mobile_lcdc_overlay_fb_init()
1746 var->yres_virtual = ovl->yres_virtual; sh_mobile_lcdc_overlay_fb_init()
1747 var->activate = FB_ACTIVATE_NOW; sh_mobile_lcdc_overlay_fb_init()
1753 var->bits_per_pixel = ovl->format->bpp; sh_mobile_lcdc_overlay_fb_init()
1755 var->grayscale = ovl->format->fourcc; sh_mobile_lcdc_overlay_fb_init()
1757 return sh_mobile_lcdc_overlay_check_var(var, info); sh_mobile_lcdc_overlay_fb_init()
1775 red >>= 16 - info->var.red.length; sh_mobile_lcdc_setcolreg()
1776 green >>= 16 - info->var.green.length; sh_mobile_lcdc_setcolreg()
1777 blue >>= 16 - info->var.blue.length; sh_mobile_lcdc_setcolreg()
1778 transp >>= 16 - info->var.transp.length; sh_mobile_lcdc_setcolreg()
1780 palette[regno] = (red << info->var.red.offset) | sh_mobile_lcdc_setcolreg()
1781 (green << info->var.green.offset) | sh_mobile_lcdc_setcolreg()
1782 (blue << info->var.blue.offset) | sh_mobile_lcdc_setcolreg()
1783 (transp << info->var.transp.offset); sh_mobile_lcdc_setcolreg()
1820 static int sh_mobile_lcdc_pan(struct fb_var_screeninfo *var, sh_mobile_lcdc_pan() argument
1831 y_offset = (var->yoffset * ch->xres_virtual + var->xoffset) sh_mobile_lcdc_pan()
1838 y_offset = var->yoffset * ch->xres_virtual + var->xoffset; sh_mobile_lcdc_pan()
1839 c_offset = var->yoffset / ysub * ch->xres_virtual * 2 / xsub sh_mobile_lcdc_pan()
1840 + var->xoffset * 2 / xsub; sh_mobile_lcdc_pan()
1900 struct fb_var_screeninfo var; sh_mobile_fb_reconfig() local
1909 fb_var_to_videomode(&mode, &info->var); sh_mobile_fb_reconfig()
1915 var = info->var; sh_mobile_fb_reconfig()
1916 fb_videomode_to_var(&var, &ch->display.mode); sh_mobile_fb_reconfig()
1917 var.width = ch->display.width; sh_mobile_fb_reconfig()
1918 var.height = ch->display.height; sh_mobile_fb_reconfig()
1919 var.activate = FB_ACTIVATE_NOW; sh_mobile_fb_reconfig()
1921 if (fb_set_var(info, &var) < 0) sh_mobile_fb_reconfig()
1973 static int sh_mobile_lcdc_check_var(struct fb_var_screeninfo *var, sh_mobile_lcdc_check_var() argument
1994 if (var->xres > mode->xres || var->yres > mode->yres) sh_mobile_lcdc_check_var()
1997 dist = var->xres * var->yres + mode->xres * mode->yres sh_mobile_lcdc_check_var()
1998 - 2 * min(var->xres, mode->xres) sh_mobile_lcdc_check_var()
1999 * min(var->yres, mode->yres); sh_mobile_lcdc_check_var()
2013 var->xres = best_xres; sh_mobile_lcdc_check_var()
2014 var->yres = best_yres; sh_mobile_lcdc_check_var()
2017 ret = __sh_mobile_lcdc_check_var(var, info); sh_mobile_lcdc_check_var()
2023 p->forced_fourcc != sh_mobile_format_fourcc(var)) sh_mobile_lcdc_check_var()
2036 ch->format = sh_mobile_format_info(sh_mobile_format_fourcc(&info->var)); sh_mobile_lcdc_set_par()
2037 ch->colorspace = info->var.colorspace; sh_mobile_lcdc_set_par()
2039 ch->xres = info->var.xres; sh_mobile_lcdc_set_par()
2040 ch->xres_virtual = info->var.xres_virtual; sh_mobile_lcdc_set_par()
2041 ch->yres = info->var.yres; sh_mobile_lcdc_set_par()
2042 ch->yres_virtual = info->var.yres_virtual; sh_mobile_lcdc_set_par()
2045 ch->pitch = info->var.xres_virtual; sh_mobile_lcdc_set_par()
2047 ch->pitch = info->var.xres_virtual * ch->format->bpp / 8; sh_mobile_lcdc_set_par()
2055 if (sh_mobile_format_is_fourcc(&info->var)) { sh_mobile_lcdc_set_par()
2166 "mainlcd" : "sublcd", info->var.xres, info->var.yres, sh_mobile_lcdc_channel_fb_register()
2167 info->var.bits_per_pixel); sh_mobile_lcdc_channel_fb_register()
2196 struct fb_var_screeninfo *var; sh_mobile_lcdc_channel_fb_init() local
2251 var = &info->var; sh_mobile_lcdc_channel_fb_init()
2252 fb_videomode_to_var(var, modes); sh_mobile_lcdc_channel_fb_init()
2253 var->width = ch->display.width; sh_mobile_lcdc_channel_fb_init()
2254 var->height = ch->display.height; sh_mobile_lcdc_channel_fb_init()
2255 var->xres_virtual = ch->xres_virtual; sh_mobile_lcdc_channel_fb_init()
2256 var->yres_virtual = ch->yres_virtual; sh_mobile_lcdc_channel_fb_init()
2257 var->activate = FB_ACTIVATE_NOW; sh_mobile_lcdc_channel_fb_init()
2263 var->bits_per_pixel = ch->format->bpp; sh_mobile_lcdc_channel_fb_init()
2265 var->grayscale = ch->format->fourcc; sh_mobile_lcdc_channel_fb_init()
2267 ret = sh_mobile_lcdc_check_var(var, info); sh_mobile_lcdc_channel_fb_init()
H A Dbf537-lq035.c511 static int bfin_lq035_fb_check_var(struct fb_var_screeninfo *var, bfin_lq035_fb_check_var() argument
514 switch (var->bits_per_pixel) { bfin_lq035_fb_check_var()
516 var->red.offset = info->var.red.offset; bfin_lq035_fb_check_var()
517 var->green.offset = info->var.green.offset; bfin_lq035_fb_check_var()
518 var->blue.offset = info->var.blue.offset; bfin_lq035_fb_check_var()
519 var->red.length = info->var.red.length; bfin_lq035_fb_check_var()
520 var->green.length = info->var.green.length; bfin_lq035_fb_check_var()
521 var->blue.length = info->var.blue.length; bfin_lq035_fb_check_var()
522 var->transp.offset = 0; bfin_lq035_fb_check_var()
523 var->transp.length = 0; bfin_lq035_fb_check_var()
524 var->transp.msb_right = 0; bfin_lq035_fb_check_var()
525 var->red.msb_right = 0; bfin_lq035_fb_check_var()
526 var->green.msb_right = 0; bfin_lq035_fb_check_var()
527 var->blue.msb_right = 0; bfin_lq035_fb_check_var()
531 var->bits_per_pixel); bfin_lq035_fb_check_var()
535 if (info->var.xres != var->xres || bfin_lq035_fb_check_var()
536 info->var.yres != var->yres || bfin_lq035_fb_check_var()
537 info->var.xres_virtual != var->xres_virtual || bfin_lq035_fb_check_var()
538 info->var.yres_virtual != var->yres_virtual) { bfin_lq035_fb_check_var()
540 __func__, var->xres, var->yres); bfin_lq035_fb_check_var()
548 if ((info->fix.line_length * var->yres_virtual) > info->fix.smem_len) { bfin_lq035_fb_check_var()
550 __func__, var->yres_virtual); bfin_lq035_fb_check_var()
594 if (info->var.grayscale) bfin_lq035_fb_setcolreg()
605 red >>= (16 - info->var.red.length); bfin_lq035_fb_setcolreg()
606 green >>= (16 - info->var.green.length); bfin_lq035_fb_setcolreg()
607 blue >>= (16 - info->var.blue.length); bfin_lq035_fb_setcolreg()
609 value = (red << info->var.red.offset) | bfin_lq035_fb_setcolreg()
610 (green << info->var.green.offset)| bfin_lq035_fb_setcolreg()
611 (blue << info->var.blue.offset); bfin_lq035_fb_setcolreg()
757 bfin_lq035_fb.var = bfin_lq035_fb_defined; bfin_lq035_probe()
H A Dmxsfb.c269 static int mxsfb_check_var(struct fb_var_screeninfo *var, mxsfb_check_var() argument
275 if (var->xres < MIN_XRES) mxsfb_check_var()
276 var->xres = MIN_XRES; mxsfb_check_var()
277 if (var->yres < MIN_YRES) mxsfb_check_var()
278 var->yres = MIN_YRES; mxsfb_check_var()
280 var->xres_virtual = var->xres; mxsfb_check_var()
282 var->yres_virtual = var->yres; mxsfb_check_var()
284 switch (var->bits_per_pixel) { mxsfb_check_var()
303 pr_err("Unsupported colour depth: %u\n", var->bits_per_pixel); mxsfb_check_var()
311 var->red = rgb[RED]; mxsfb_check_var()
312 var->green = rgb[GREEN]; mxsfb_check_var()
313 var->blue = rgb[BLUE]; mxsfb_check_var()
314 var->transp = rgb[TRANSP]; mxsfb_check_var()
351 clk_set_rate(host->clk, PICOS2KHZ(fb_info->var.pixclock) * 1000U); mxsfb_enable_controller()
417 line_size = fb_info->var.xres * (fb_info->var.bits_per_pixel >> 3); mxsfb_set_par()
418 fb_size = fb_info->var.yres_virtual * line_size; mxsfb_set_par()
443 switch (fb_info->var.bits_per_pixel) { mxsfb_set_par()
470 fb_info->var.bits_per_pixel); mxsfb_set_par()
476 writel(TRANSFER_COUNT_SET_VCOUNT(fb_info->var.yres) | mxsfb_set_par()
477 TRANSFER_COUNT_SET_HCOUNT(fb_info->var.xres), mxsfb_set_par()
483 VDCTRL0_SET_VSYNC_PULSE_WIDTH(fb_info->var.vsync_len); mxsfb_set_par()
484 if (fb_info->var.sync & FB_SYNC_HOR_HIGH_ACT) mxsfb_set_par()
486 if (fb_info->var.sync & FB_SYNC_VERT_HIGH_ACT) mxsfb_set_par()
496 writel(fb_info->var.upper_margin + fb_info->var.vsync_len + mxsfb_set_par()
497 fb_info->var.lower_margin + fb_info->var.yres, mxsfb_set_par()
501 writel(set_hsync_pulse_width(host, fb_info->var.hsync_len) | mxsfb_set_par()
502 VDCTRL2_SET_HSYNC_PERIOD(fb_info->var.left_margin + mxsfb_set_par()
503 fb_info->var.hsync_len + fb_info->var.right_margin + mxsfb_set_par()
504 fb_info->var.xres), mxsfb_set_par()
507 writel(SET_HOR_WAIT_CNT(fb_info->var.left_margin + mxsfb_set_par()
508 fb_info->var.hsync_len) | mxsfb_set_par()
509 SET_VERT_WAIT_CNT(fb_info->var.upper_margin + mxsfb_set_par()
510 fb_info->var.vsync_len), mxsfb_set_par()
513 vdctrl4 = SET_DOTCLK_H_VALID_DATA_CNT(fb_info->var.xres); mxsfb_set_par()
519 fb_info->fix.line_length * fb_info->var.yoffset, mxsfb_set_par()
540 if (fb_info->var.grayscale) mxsfb_setcolreg()
553 val = chan_to_field(red, &fb_info->var.red); mxsfb_setcolreg()
554 val |= chan_to_field(green, &fb_info->var.green); mxsfb_setcolreg()
555 val |= chan_to_field(blue, &fb_info->var.blue); mxsfb_setcolreg()
591 static int mxsfb_pan_display(struct fb_var_screeninfo *var, mxsfb_pan_display() argument
597 if (var->xoffset != 0) mxsfb_pan_display()
600 offset = fb_info->fix.line_length * var->yoffset; mxsfb_pan_display()
667 fb_info->var.bits_per_pixel = bits_per_pixel; mxsfb_restore_mode()
733 struct fb_var_screeninfo *var = &fb_info->var; mxsfb_init_fbinfo_dt() local
773 &var->bits_per_pixel); mxsfb_init_fbinfo_dt()
804 struct fb_var_screeninfo *var = &fb_info->var; mxsfb_init_fbinfo() local
821 var->nonstd = 0; mxsfb_init_fbinfo()
822 var->activate = FB_ACTIVATE_NOW; mxsfb_init_fbinfo()
823 var->accel_flags = 0; mxsfb_init_fbinfo()
824 var->vmode = FB_VMODE_NONINTERLACED; mxsfb_init_fbinfo()
938 fb_videomode_to_var(&fb_info->var, mode); mxsfb_probe()
941 mxsfb_check_var(&fb_info->var, fb_info); mxsfb_probe()
H A Dcirrusfb.c376 static int cirrusfb_pan_display(struct fb_var_screeninfo *var,
473 static int cirrusfb_check_pixclock(const struct fb_var_screeninfo *var, cirrusfb_check_pixclock() argument
479 unsigned maxclockidx = var->bits_per_pixel >> 3; cirrusfb_check_pixclock()
482 freq = PICOS2KHZ(var->pixclock); cirrusfb_check_pixclock()
501 if (var->bits_per_pixel == 8) { cirrusfb_check_pixclock()
523 var->bits_per_pixel == 16) { cirrusfb_check_pixclock()
530 static int cirrusfb_check_var(struct fb_var_screeninfo *var, cirrusfb_check_var() argument
535 unsigned pixels = info->screen_size * 8 / var->bits_per_pixel; cirrusfb_check_var()
538 switch (var->bits_per_pixel) { cirrusfb_check_var()
540 var->red.offset = 0; cirrusfb_check_var()
541 var->red.length = 1; cirrusfb_check_var()
542 var->green = var->red; cirrusfb_check_var()
543 var->blue = var->red; cirrusfb_check_var()
547 var->red.offset = 0; cirrusfb_check_var()
548 var->red.length = 8; cirrusfb_check_var()
549 var->green = var->red; cirrusfb_check_var()
550 var->blue = var->red; cirrusfb_check_var()
554 var->red.offset = 11; cirrusfb_check_var()
555 var->green.offset = 5; cirrusfb_check_var()
556 var->blue.offset = 0; cirrusfb_check_var()
557 var->red.length = 5; cirrusfb_check_var()
558 var->green.length = 6; cirrusfb_check_var()
559 var->blue.length = 5; cirrusfb_check_var()
563 var->red.offset = 16; cirrusfb_check_var()
564 var->green.offset = 8; cirrusfb_check_var()
565 var->blue.offset = 0; cirrusfb_check_var()
566 var->red.length = 8; cirrusfb_check_var()
567 var->green.length = 8; cirrusfb_check_var()
568 var->blue.length = 8; cirrusfb_check_var()
573 "Unsupported bpp size: %d\n", var->bits_per_pixel); cirrusfb_check_var()
577 if (var->xres_virtual < var->xres) cirrusfb_check_var()
578 var->xres_virtual = var->xres; cirrusfb_check_var()
580 if (var->yres_virtual == -1) { cirrusfb_check_var()
581 var->yres_virtual = pixels / var->xres_virtual; cirrusfb_check_var()
585 var->xres_virtual, var->yres_virtual); cirrusfb_check_var()
587 if (var->yres_virtual < var->yres) cirrusfb_check_var()
588 var->yres_virtual = var->yres; cirrusfb_check_var()
590 if (var->xres_virtual * var->yres_virtual > pixels) { cirrusfb_check_var()
593 var->xres_virtual, var->yres_virtual, cirrusfb_check_var()
594 var->bits_per_pixel); cirrusfb_check_var()
599 if (var->xoffset > var->xres_virtual - var->xres) cirrusfb_check_var()
600 var->xoffset = var->xres_virtual - var->xres - 1; cirrusfb_check_var()
601 if (var->yoffset > var->yres_virtual - var->yres) cirrusfb_check_var()
602 var->yoffset = var->yres_virtual - var->yres - 1; cirrusfb_check_var()
604 var->red.msb_right = cirrusfb_check_var()
605 var->green.msb_right = cirrusfb_check_var()
606 var->blue.msb_right = cirrusfb_check_var()
607 var->transp.offset = cirrusfb_check_var()
608 var->transp.length = cirrusfb_check_var()
609 var->transp.msb_right = 0; cirrusfb_check_var()
611 yres = var->yres; cirrusfb_check_var()
612 if (var->vmode & FB_VMODE_DOUBLE) cirrusfb_check_var()
614 else if (var->vmode & FB_VMODE_INTERLACED) cirrusfb_check_var()
623 if (cirrusfb_check_pixclock(var, info)) cirrusfb_check_var()
627 var->accel_flags = FB_ACCELF_TEXT; cirrusfb_check_var()
661 struct fb_var_screeninfo *var = &info->var; cirrusfb_set_par_foo() local
673 var->xres, var->yres, var->bits_per_pixel); cirrusfb_set_par_foo()
675 switch (var->bits_per_pixel) { cirrusfb_set_par_foo()
677 info->fix.line_length = var->xres_virtual / 8; cirrusfb_set_par_foo()
682 info->fix.line_length = var->xres_virtual; cirrusfb_set_par_foo()
688 info->fix.line_length = var->xres_virtual * cirrusfb_set_par_foo()
689 var->bits_per_pixel >> 3; cirrusfb_set_par_foo()
699 hsyncstart = var->xres + var->right_margin; cirrusfb_set_par_foo()
700 hsyncend = hsyncstart + var->hsync_len; cirrusfb_set_par_foo()
701 htotal = (hsyncend + var->left_margin) / 8; cirrusfb_set_par_foo()
702 hdispend = var->xres / 8; cirrusfb_set_par_foo()
706 vdispend = var->yres; cirrusfb_set_par_foo()
707 vsyncstart = vdispend + var->lower_margin; cirrusfb_set_par_foo()
708 vsyncend = vsyncstart + var->vsync_len; cirrusfb_set_par_foo()
709 vtotal = vsyncend + var->upper_margin; cirrusfb_set_par_foo()
711 if (var->vmode & FB_VMODE_DOUBLE) { cirrusfb_set_par_foo()
716 } else if (var->vmode & FB_VMODE_INTERLACED) { cirrusfb_set_par_foo()
757 dev_dbg(info->device, "CRT2: %d\n", var->xres / 8); cirrusfb_set_par_foo()
758 vga_wcrt(regbase, VGA_CRTC_H_BLANK_START, var->xres / 8); cirrusfb_set_par_foo()
798 if (var->vmode & FB_VMODE_DOUBLE) cirrusfb_set_par_foo()
822 if (var->vmode & FB_VMODE_INTERLACED) cirrusfb_set_par_foo()
836 freq = PICOS2KHZ(var->pixclock); cirrusfb_set_par_foo()
837 if (var->bits_per_pixel == 24) cirrusfb_set_par_foo()
914 if (var->vmode & FB_VMODE_INTERLACED) cirrusfb_set_par_foo()
922 if (var->sync & FB_SYNC_HOR_HIGH_ACT) cirrusfb_set_par_foo()
924 if (var->sync & FB_SYNC_VERT_HIGH_ACT) cirrusfb_set_par_foo()
940 if (var->bits_per_pixel == 1) { cirrusfb_set_par_foo()
1017 else if (var->bits_per_pixel == 8) { cirrusfb_set_par_foo()
1086 else if (var->bits_per_pixel == 16) { cirrusfb_set_par_foo()
1145 else if (var->bits_per_pixel == 24) { cirrusfb_set_par_foo()
1202 var->bits_per_pixel); cirrusfb_set_par_foo()
1254 if (var->vmode & FB_VMODE_CLOCK_HALVE) cirrusfb_set_par_foo()
1287 red >>= (16 - info->var.red.length); cirrusfb_setcolreg()
1288 green >>= (16 - info->var.green.length); cirrusfb_setcolreg()
1289 blue >>= (16 - info->var.blue.length); cirrusfb_setcolreg()
1293 v = (red << info->var.red.offset) | cirrusfb_setcolreg()
1294 (green << info->var.green.offset) | cirrusfb_setcolreg()
1295 (blue << info->var.blue.offset); cirrusfb_setcolreg()
1301 if (info->var.bits_per_pixel == 8) cirrusfb_setcolreg()
1313 static int cirrusfb_pan_display(struct fb_var_screeninfo *var, cirrusfb_pan_display() argument
1323 if (var->vmode & FB_VMODE_YWRAP) cirrusfb_pan_display()
1326 xoffset = var->xoffset * info->var.bits_per_pixel / 8; cirrusfb_pan_display()
1328 base = var->yoffset * info->fix.line_length + xoffset; cirrusfb_pan_display()
1330 if (info->var.bits_per_pixel == 1) { cirrusfb_pan_display()
1332 xpix = (unsigned char) (var->xoffset % 8); cirrusfb_pan_display()
1371 if (info->var.bits_per_pixel == 1) cirrusfb_pan_display()
1734 int m = info->var.bits_per_pixel; cirrusfb_fillrect()
1745 vxres = info->var.xres_virtual; cirrusfb_fillrect()
1746 vyres = info->var.yres_virtual; cirrusfb_fillrect()
1760 info->var.bits_per_pixel, cirrusfb_fillrect()
1773 int m = info->var.bits_per_pixel; cirrusfb_copyarea()
1782 vxres = info->var.xres_virtual; cirrusfb_copyarea()
1783 vyres = info->var.yres_virtual; cirrusfb_copyarea()
1800 cirrusfb_BitBLT(cinfo->regbase, info->var.bits_per_pixel, cirrusfb_copyarea()
1812 unsigned char op = (info->var.bits_per_pixel == 24) ? 0xc : 0x4; cirrusfb_imageblit()
1824 int m = info->var.bits_per_pixel; cirrusfb_imageblit()
1827 if (info->var.bits_per_pixel == 8) { cirrusfb_imageblit()
1834 if (info->var.bits_per_pixel == 24) { cirrusfb_imageblit()
1837 info->var.bits_per_pixel, cirrusfb_imageblit()
1845 info->var.bits_per_pixel, cirrusfb_imageblit()
1975 struct fb_var_screeninfo *var = &info->var; cirrusfb_set_fbinfo() local
1993 if (var->bits_per_pixel == 16) cirrusfb_set_fbinfo()
1995 if (var->bits_per_pixel == 32) cirrusfb_set_fbinfo()
2006 if (var->bits_per_pixel == 1) cirrusfb_set_fbinfo()
2034 err = fb_find_mode(&info->var, info, mode_option, NULL, 0, NULL, 8); cirrusfb_register()
2041 info->var.activate = FB_ACTIVATE_NOW; cirrusfb_register()
2043 err = cirrusfb_check_var(&info->var, info); cirrusfb_register()
2047 "choking on default var... umm, no good.\n"); cirrusfb_register()
H A Dhyperv_fb.c279 msg.situ.video_output[0].depth_bits = info->var.bits_per_pixel; synthvid_send_situ()
280 msg.situ.video_output[0].width_pixels = info->var.xres; synthvid_send_situ()
281 msg.situ.video_output[0].height_pixels = info->var.yres; synthvid_send_situ()
338 msg.dirt.rect[0].x2 = info->var.xres; synthvid_update()
339 msg.dirt.rect[0].y2 = info->var.yres; synthvid_update()
558 static int hvfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) hvfb_check_var() argument
560 if (var->xres < HVFB_WIDTH_MIN || var->yres < HVFB_HEIGHT_MIN || hvfb_check_var()
561 var->xres > screen_width || var->yres > screen_height || hvfb_check_var()
562 var->bits_per_pixel != screen_depth) hvfb_check_var()
565 var->xres_virtual = var->xres; hvfb_check_var()
566 var->yres_virtual = var->yres; hvfb_check_var()
592 pal[regno] = chan_to_field(red, &info->var.red) hvfb_setcolreg()
593 | chan_to_field(green, &info->var.green) hvfb_setcolreg()
594 | chan_to_field(blue, &info->var.blue) hvfb_setcolreg()
595 | chan_to_field(transp, &info->var.transp); hvfb_setcolreg()
811 info->var.xres_virtual = info->var.xres = screen_width; hvfb_probe()
812 info->var.yres_virtual = info->var.yres = screen_height; hvfb_probe()
813 info->var.bits_per_pixel = screen_depth; hvfb_probe()
815 if (info->var.bits_per_pixel == 16) { hvfb_probe()
816 info->var.red = (struct fb_bitfield){11, 5, 0}; hvfb_probe()
817 info->var.green = (struct fb_bitfield){5, 6, 0}; hvfb_probe()
818 info->var.blue = (struct fb_bitfield){0, 5, 0}; hvfb_probe()
819 info->var.transp = (struct fb_bitfield){0, 0, 0}; hvfb_probe()
821 info->var.red = (struct fb_bitfield){16, 8, 0}; hvfb_probe()
822 info->var.green = (struct fb_bitfield){8, 8, 0}; hvfb_probe()
823 info->var.blue = (struct fb_bitfield){0, 8, 0}; hvfb_probe()
824 info->var.transp = (struct fb_bitfield){24, 8, 0}; hvfb_probe()
827 info->var.activate = FB_ACTIVATE_NOW; hvfb_probe()
828 info->var.height = -1; hvfb_probe()
829 info->var.width = -1; hvfb_probe()
830 info->var.vmode = FB_VMODE_NONINTERLACED; hvfb_probe()
H A Darkfb.c275 if ((info->var.bits_per_pixel == 4) && (image->depth == 1) arkfb_imageblit()
287 if ((info->var.bits_per_pixel == 4) arkfb_fillrect()
576 /* Validate passed in var */
578 static int arkfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) arkfb_check_var() argument
583 rv = svga_match_format (arkfb_formats, var, NULL); arkfb_check_var()
591 if (var->xres > var->xres_virtual) arkfb_check_var()
592 var->xres_virtual = var->xres; arkfb_check_var()
594 if (var->yres > var->yres_virtual) arkfb_check_var()
595 var->yres_virtual = var->yres; arkfb_check_var()
599 var->xres_virtual = (var->xres_virtual+step) & ~step; arkfb_check_var()
603 mem = ((var->bits_per_pixel * var->xres_virtual) >> 3) * var->yres_virtual; arkfb_check_var()
611 rv = svga_check_timings (&ark_timing_regs, var, info->node); arkfb_check_var()
619 if (var->vmode & FB_VMODE_INTERLACED) arkfb_check_var()
631 u32 bpp = info->var.bits_per_pixel; arkfb_set_par()
636 info->fix.line_length = (info->var.xres_virtual * bpp) / 8; arkfb_set_par()
645 offset_value = (info->var.xres_virtual * bpp) / 64; arkfb_set_par()
646 screen_size = info->var.yres_virtual * info->fix.line_length; arkfb_set_par()
658 offset_value = info->var.xres_virtual / 16; arkfb_set_par()
659 screen_size = (info->var.xres_virtual * info->var.yres_virtual) / 64; arkfb_set_par()
662 info->var.xoffset = 0; arkfb_set_par()
663 info->var.yoffset = 0; arkfb_set_par()
664 info->var.activate = FB_ACTIVATE_NOW; arkfb_set_par()
702 if (info->var.vmode & FB_VMODE_DOUBLE) arkfb_set_par()
707 if (info->var.vmode & FB_VMODE_INTERLACED) arkfb_set_par()
714 mode = svga_match_format(arkfb_formats, &(info->var), &(info->fix)); arkfb_set_par()
747 if (info->var.pixclock > 20000) { arkfb_set_par()
794 ark_set_pixclock(info, (hdiv * info->var.pixclock) / hmul); arkfb_set_par()
795 svga_set_timings(par->state.vgabase, &ark_timing_regs, &(info->var), hmul, hdiv, arkfb_set_par()
796 (info->var.vmode & FB_VMODE_DOUBLE) ? 2 : 1, arkfb_set_par()
797 (info->var.vmode & FB_VMODE_INTERLACED) ? 2 : 1, arkfb_set_par()
801 value = info->var.xres + info->var.left_margin + info->var.right_margin + info->var.hsync_len; arkfb_set_par()
818 switch (fb->var.bits_per_pixel) { arkfb_setcolreg()
824 if ((fb->var.bits_per_pixel == 4) && arkfb_setcolreg()
825 (fb->var.nonstd == 0)) { arkfb_setcolreg()
850 if (fb->var.green.length == 5) arkfb_setcolreg()
853 else if (fb->var.green.length == 6) arkfb_setcolreg()
905 static int arkfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) arkfb_pan_display() argument
911 if (info->var.bits_per_pixel == 0) { arkfb_pan_display()
912 offset = (var->yoffset / 16) * (info->var.xres_virtual / 2) arkfb_pan_display()
913 + (var->xoffset / 2); arkfb_pan_display()
916 offset = (var->yoffset * info->fix.line_length) + arkfb_pan_display()
917 (var->xoffset * info->var.bits_per_pixel / 8); arkfb_pan_display()
918 offset = offset >> ((info->var.bits_per_pixel == 4) ? 2 : 3); arkfb_pan_display()
1036 rc = fb_find_mode(&(info->var), info, mode_option, NULL, 0, NULL, 8); ark_pci_probe()
H A Dbw2.c241 info->var.xres = info->var.xres_virtual = 1600; bw2_do_default_mode()
242 info->var.yres = info->var.yres_virtual = 1280; bw2_do_default_mode()
294 sbusfb_fill_var(&info->var, dp, 1); bw2_probe()
296 info->var.xres); bw2_probe()
298 info->var.red.length = info->var.green.length = bw2_probe()
299 info->var.blue.length = info->var.bits_per_pixel; bw2_probe()
300 info->var.red.offset = info->var.green.offset = bw2_probe()
301 info->var.blue.offset = 0; bw2_probe()
314 info->fix.smem_len = PAGE_ALIGN(linebytes * info->var.yres); bw2_probe()
H A Ds3fb.c444 if ((info->var.bits_per_pixel == 4) && (image->depth == 1) s3fb_imageblit()
456 if ((info->var.bits_per_pixel == 4) s3fb_fillrect()
555 /* Validate passed in var */
557 static int s3fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) s3fb_check_var() argument
564 rv = svga_match_format (s3fb_formats, var, NULL); s3fb_check_var()
577 if (var->xres > var->xres_virtual) s3fb_check_var()
578 var->xres_virtual = var->xres; s3fb_check_var()
580 if (var->yres > var->yres_virtual) s3fb_check_var()
581 var->yres_virtual = var->yres; s3fb_check_var()
585 var->xres_virtual = (var->xres_virtual+step) & ~step; s3fb_check_var()
588 mem = ((var->bits_per_pixel * var->xres_virtual) >> 3) * var->yres_virtual; s3fb_check_var()
595 rv = svga_check_timings (&s3_timing_regs, var, info->node); s3fb_check_var()
601 rv = svga_compute_pll(&s3_pll, PICOS2KHZ(var->pixclock), &m, &n, &r, s3fb_check_var()
617 u32 bpp = info->var.bits_per_pixel; s3fb_set_par()
622 info->fix.line_length = (info->var.xres_virtual * bpp) / 8; s3fb_set_par()
631 offset_value = (info->var.xres_virtual * bpp) / 64; s3fb_set_par()
632 screen_size = info->var.yres_virtual * info->fix.line_length; s3fb_set_par()
644 offset_value = info->var.xres_virtual / 16; s3fb_set_par()
645 screen_size = (info->var.xres_virtual * info->var.yres_virtual) / 64; s3fb_set_par()
648 info->var.xoffset = 0; s3fb_set_par()
649 info->var.yoffset = 0; s3fb_set_par()
650 info->var.activate = FB_ACTIVATE_NOW; s3fb_set_par()
706 if (info->var.vmode & FB_VMODE_DOUBLE) s3fb_set_par()
711 if (info->var.vmode & FB_VMODE_INTERLACED) s3fb_set_par()
721 mode = svga_match_format(s3fb_formats, &(info->var), &(info->fix)); s3fb_set_par()
747 dbytes = info->var.xres * ((bpp+7)/8); s3fb_set_par()
810 if (info->var.pixclock > 20000 || s3fb_set_par()
826 if (info->var.pixclock > 20000) s3fb_set_par()
832 if (info->var.pixclock > 8695) { s3fb_set_par()
854 if (info->var.pixclock > 20000) s3fb_set_par()
860 if (info->var.pixclock > 8695) { s3fb_set_par()
899 s3_set_pixclock(info, info->var.pixclock); s3fb_set_par()
900 svga_set_timings(par->state.vgabase, &s3_timing_regs, &(info->var), hmul, 1, s3fb_set_par()
901 (info->var.vmode & FB_VMODE_DOUBLE) ? 2 : 1, s3fb_set_par()
902 (info->var.vmode & FB_VMODE_INTERLACED) ? 2 : 1, s3fb_set_par()
906 htotal = info->var.xres + info->var.left_margin + info->var.right_margin + info->var.hsync_len; s3fb_set_par()
911 hsstart = ((info->var.xres + info->var.right_margin) * hmul) / 8; s3fb_set_par()
929 switch (fb->var.bits_per_pixel) { s3fb_setcolreg()
935 if ((fb->var.bits_per_pixel == 4) && s3fb_setcolreg()
936 (fb->var.nonstd == 0)) { s3fb_setcolreg()
961 if (fb->var.green.length == 5) s3fb_setcolreg()
964 else if (fb->var.green.length == 6) s3fb_setcolreg()
1025 static int s3fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) s3fb_pan_display() argument
1031 if (info->var.bits_per_pixel == 0) { s3fb_pan_display()
1032 offset = (var->yoffset / 16) * (info->var.xres_virtual / 2) s3fb_pan_display()
1033 + (var->xoffset / 2); s3fb_pan_display()
1036 offset = (var->yoffset * info->fix.line_length) + s3fb_pan_display()
1037 (var->xoffset * info->var.bits_per_pixel / 8); s3fb_pan_display()
1275 info->var.bits_per_pixel = 8; s3_pci_probe()
1304 fb_videomode_to_var(&info->var, m); s3_pci_probe()
1305 /* fill all other info->var's fields */ s3_pci_probe()
1306 if (s3fb_check_var(&info->var, info) == 0) s3_pci_probe()
1318 rc = fb_find_mode(&info->var, info, mode_option, s3_pci_probe()
1320 NULL, info->var.bits_per_pixel); s3_pci_probe()
1334 info->var.yres_virtual = info->fix.smem_len * 8 / s3_pci_probe()
1335 (info->var.bits_per_pixel * info->var.xres_virtual); s3_pci_probe()
1336 if (info->var.yres_virtual < info->var.yres) { s3_pci_probe()
H A Ds1d13xxxfb.c170 info->var.red.length = 4; s1d13xxxfb_setup_pseudocolour()
171 info->var.green.length = 4; s1d13xxxfb_setup_pseudocolour()
172 info->var.blue.length = 4; s1d13xxxfb_setup_pseudocolour()
179 info->var.bits_per_pixel = 16; s1d13xxxfb_setup_truecolour()
181 info->var.red.length = 5; s1d13xxxfb_setup_truecolour()
182 info->var.red.offset = 11; s1d13xxxfb_setup_truecolour()
184 info->var.green.length = 6; s1d13xxxfb_setup_truecolour()
185 info->var.green.offset = 5; s1d13xxxfb_setup_truecolour()
187 info->var.blue.length = 5; s1d13xxxfb_setup_truecolour()
188 info->var.blue.offset = 0; s1d13xxxfb_setup_truecolour()
197 * fb_fix_screeninfo stored in fb_info. It doesn't not alter var in
199 * data in var inside fb_info to be supported by the hardware.
211 dbg("s1d13xxxfb_set_par: bpp=%d\n", info->var.bits_per_pixel); s1d13xxxfb_set_par()
220 switch (info->var.bits_per_pixel) { s1d13xxxfb_set_par()
249 info->fix.line_length = info->var.xres * info->var.bits_per_pixel; s1d13xxxfb_set_par()
283 if (info->var.grayscale) s1d13xxxfb_setcolreg()
293 pseudo_val = (red >> 11) << info->var.red.offset; s1d13xxxfb_setcolreg()
294 pseudo_val |= (green >> 10) << info->var.green.offset; s1d13xxxfb_setcolreg()
295 pseudo_val |= (blue >> 11) << info->var.blue.offset; s1d13xxxfb_setcolreg()
370 * @var: frame buffer variable screen structure
374 * `yoffset' field of the `var' structure (`xoffset' not yet supported).
380 s1d13xxxfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) s1d13xxxfb_pan_display() argument
385 if (var->xoffset != 0) /* not yet ... */ s1d13xxxfb_pan_display()
388 if (var->yoffset + info->var.yres > info->var.yres_virtual) s1d13xxxfb_pan_display()
391 start = (info->fix.line_length >> 1) * var->yoffset; s1d13xxxfb_pan_display()
457 bpp = (info->var.bits_per_pixel >> 3); s1d13xxxfb_bitblt_copyarea()
458 stride = bpp * info->var.xres; s1d13xxxfb_bitblt_copyarea()
539 u16 bpp = (info->var.bits_per_pixel >> 3); s1d13xxxfb_bitblt_solidfill()
545 screen_stride = (bpp * info->var.xres); s1d13xxxfb_bitblt_solidfill()
556 info->var.xres, info->var.yres, s1d13xxxfb_bitblt_solidfill()
557 info->var.bits_per_pixel); s1d13xxxfb_bitblt_solidfill()
594 s1d13xxxfb_writereg(info->par, S1DREG_BBLT_CTL1, (info->var.bits_per_pixel >> 4)); s1d13xxxfb_bitblt_solidfill()
647 struct fb_var_screeninfo *var = &info->var; s1d13xxxfb_fetch_hw_state() local
678 var->bits_per_pixel = 8; s1d13xxxfb_fetch_hw_state()
679 var->red.offset = var->green.offset = var->blue.offset = 0; s1d13xxxfb_fetch_hw_state()
680 var->red.length = var->green.length = var->blue.length = 8; s1d13xxxfb_fetch_hw_state()
712 xres_virtual = offset * 16 / var->bits_per_pixel; s1d13xxxfb_fetch_hw_state()
715 var->xres = xres; s1d13xxxfb_fetch_hw_state()
716 var->yres = yres; s1d13xxxfb_fetch_hw_state()
717 var->xres_virtual = xres_virtual; s1d13xxxfb_fetch_hw_state()
718 var->yres_virtual = yres_virtual; s1d13xxxfb_fetch_hw_state()
719 var->xoffset = var->yoffset = 0; s1d13xxxfb_fetch_hw_state()
723 var->grayscale = !is_color; s1d13xxxfb_fetch_hw_state()
725 var->activate = FB_ACTIVATE_NOW; s1d13xxxfb_fetch_hw_state()
729 var->bits_per_pixel, lcd_bpp, crt_enabled, lcd_enabled); s1d13xxxfb_fetch_hw_state()
H A Dplatinumfb.c83 static int platinumfb_check_var (struct fb_var_screeninfo *var, struct fb_info *info);
93 static int platinum_var_to_par(struct fb_var_screeninfo *var,
113 * Checks a var structure
115 static int platinumfb_check_var (struct fb_var_screeninfo *var, struct fb_info *info) platinumfb_check_var() argument
117 return platinum_var_to_par(var, info->par, 1); platinumfb_check_var()
121 * Applies current var to display
129 if((err = platinum_var_to_par(&info->var, pinfo, 0))) { platinumfb_set_par()
345 struct fb_var_screeninfo var; platinum_init_fb() local
378 /* Setup default var */ platinum_init_fb()
379 if (mac_vmode_to_var(default_vmode, default_cmode, &var) < 0) { platinum_init_fb()
385 if (mac_vmode_to_var(default_vmode, default_cmode, &var) < 0) { platinum_init_fb()
394 /* Apply default var */ platinum_init_fb()
395 info->var = var; platinum_init_fb()
396 var.activate = FB_ACTIVATE_NOW; platinum_init_fb()
397 rc = fb_set_var(info, &var); platinum_init_fb()
443 * This routine takes a user-supplied var, and picks the best vmode/cmode from it.
444 * It also updates the var structure to the actual mode data obtained
446 static int platinum_var_to_par(struct fb_var_screeninfo *var, platinum_var_to_par() argument
452 if (mac_var_to_vmode(var, &vmode, &cmode) != 0) { platinum_var_to_par()
454 printk(KERN_ERR "platinum_var_to_par: var->xres = %d\n", var->xres); platinum_var_to_par()
455 printk(KERN_ERR "platinum_var_to_par: var->yres = %d\n", var->yres); platinum_var_to_par()
456 printk(KERN_ERR "platinum_var_to_par: var->xres_virtual = %d\n", var->xres_virtual); platinum_var_to_par()
457 printk(KERN_ERR "platinum_var_to_par: var->yres_virtual = %d\n", var->yres_virtual); platinum_var_to_par()
458 printk(KERN_ERR "platinum_var_to_par: var->bits_per_pixel = %d\n", var->bits_per_pixel); platinum_var_to_par()
459 printk(KERN_ERR "platinum_var_to_par: var->pixclock = %d\n", var->pixclock); platinum_var_to_par()
460 printk(KERN_ERR "platinum_var_to_par: var->vmode = %d\n", var->vmode); platinum_var_to_par()
474 if (mac_vmode_to_var(vmode, cmode, var)) platinum_var_to_par()
H A Dvalkyriefb.c109 static int valkyriefb_check_var(struct fb_var_screeninfo *var,
118 static int valkyrie_var_to_par(struct fb_var_screeninfo *var,
136 /* Sets the video mode according to info->var */ valkyriefb_set_par()
146 if ((err = valkyrie_var_to_par(&info->var, par, info))) valkyriefb_set_par()
169 struct fb_var_screeninfo *var) valkyrie_par_to_var()
171 return mac_vmode_to_var(par->vmode, par->cmode, var); valkyrie_par_to_var()
175 valkyriefb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) valkyriefb_check_var() argument
180 if ((err = valkyrie_var_to_par(var, &par, info))) valkyriefb_check_var()
182 valkyrie_par_to_var(&par, var); valkyriefb_check_var()
385 mac_vmode_to_var(default_vmode, default_cmode, &p->info.var); valkyriefb_init()
441 * This routine takes a user-supplied var,
466 static int valkyrie_var_to_par(struct fb_var_screeninfo *var, valkyrie_var_to_par() argument
474 if (mac_var_to_vmode(var, &vmode, &cmode) != 0) { valkyrie_var_to_par()
476 var->xres, var->yres, var->bits_per_pixel); valkyrie_var_to_par()
491 if (var->xres_virtual > var->xres || var->yres_virtual > var->yres valkyrie_var_to_par()
492 || var->xoffset != 0 || var->yoffset != 0) { valkyrie_var_to_par()
512 par->xres = var->xres; valkyrie_var_to_par()
513 par->yres = var->yres; valkyrie_var_to_par()
168 valkyrie_par_to_var(struct fb_par_valkyrie *par, struct fb_var_screeninfo *var) valkyrie_par_to_var() argument
H A Dsunxvr500.c199 struct fb_var_screeninfo *var = &info->var; e3d_set_fbinfo() local
218 var->xres = ep->width; e3d_set_fbinfo()
219 var->yres = ep->height; e3d_set_fbinfo()
220 var->xres_virtual = var->xres; e3d_set_fbinfo()
221 var->yres_virtual = var->yres; e3d_set_fbinfo()
222 var->bits_per_pixel = ep->depth; e3d_set_fbinfo()
224 var->red.offset = 8; e3d_set_fbinfo()
225 var->red.length = 8; e3d_set_fbinfo()
226 var->green.offset = 16; e3d_set_fbinfo()
227 var->green.length = 8; e3d_set_fbinfo()
228 var->blue.offset = 24; e3d_set_fbinfo()
229 var->blue.length = 8; e3d_set_fbinfo()
230 var->transp.offset = 0; e3d_set_fbinfo()
231 var->transp.length = 0; e3d_set_fbinfo()
H A Dcarminefb.c127 static int carmine_find_mode(const struct fb_var_screeninfo *var) carmine_find_mode() argument
132 if (car_modes[i].hdp == var->xres && carmine_find_mode()
133 car_modes[i].vdp == var->yres) carmine_find_mode()
178 static int carmine_check_var(struct fb_var_screeninfo *var, carmine_check_var() argument
183 ret = carmine_find_mode(var); carmine_check_var()
187 if (var->grayscale || var->rotate || var->nonstd) carmine_check_var()
190 var->xres_virtual = var->xres; carmine_check_var()
191 var->yres_virtual = var->yres; carmine_check_var()
193 var->bits_per_pixel = 32; carmine_check_var()
196 var->transp.offset = 24; carmine_check_var()
197 var->red.offset = 0; carmine_check_var()
198 var->green.offset = 8; carmine_check_var()
199 var->blue.offset = 16; carmine_check_var()
201 var->transp.offset = 24; carmine_check_var()
202 var->red.offset = 16; carmine_check_var()
203 var->green.offset = 8; carmine_check_var()
204 var->blue.offset = 0; carmine_check_var()
207 var->red.length = 8; carmine_check_var()
208 var->green.length = 8; carmine_check_var()
209 var->blue.length = 8; carmine_check_var()
210 var->transp.length = 8; carmine_check_var()
212 var->red.msb_right = 0; carmine_check_var()
213 var->green.msb_right = 0; carmine_check_var()
214 var->blue.msb_right = 0; carmine_check_var()
215 var->transp.msb_right = 0; carmine_check_var()
412 ret = carmine_find_mode(&info->var); carmine_set_par()
426 info->fix.line_length = info->var.xres * info->var.bits_per_pixel / 8; carmine_set_par()
573 ret = fb_find_mode(&info->var, info, fb_mode_str, carmine_modedb, alloc_carmine_fb()
H A Dstifb.c209 if (fb->info.var.bits_per_pixel == 32) SETUP_FB()
215 if (fb->info.var.bits_per_pixel == 32) SETUP_FB()
253 if (fb->info.var.bits_per_pixel == 32) { FINISH_IMAGE_COLORMAP_ACCESS()
499 SET_ATTR_SIZE(fb, fb->info.var.xres, fb->info.var.yres); ngleSetupAttrPlanes()
522 for (y = 0; y < fb->info.var.yres; ++y) rattlerSetupPlanes()
524 0xff, fb->info.var.xres * fb->info.var.bits_per_pixel/8); rattlerSetupPlanes()
564 if (fb->var.bits_per_pixel == 8) {
603 if (fb->info.var.bits_per_pixel == 8) setHyperLutBltCtl()
684 packed_len = (fb->info.var.xres << 16) | fb->info.var.yres; ngleResetAttrPlanes()
734 packed_len = (fb->info.var.xres << 16) | fb->info.var.yres; ngleClearOverlayPlanes()
756 if (fb->info.var.bits_per_pixel == 32) hyperResetPlanes()
886 hyperbowl = (fb->info.var.bits_per_pixel == 32) ? SETUP_HCRX()
935 if (unlikely(fb->info.var.grayscale)) { stifb_setcolreg()
947 struct fb_var_screeninfo *var = &fb->info.var; stifb_setcolreg() local
950 regno << var->red.offset | stifb_setcolreg()
951 regno << var->green.offset | stifb_setcolreg()
952 regno << var->blue.offset; stifb_setcolreg()
1043 if (fb->info.var.bits_per_pixel == 32) stifb_init_display()
1053 if (fb->info.var.bits_per_pixel == 32) stifb_init_display()
1084 struct fb_var_screeninfo *var; stifb_init_fb() local
1101 var = &info->var; stifb_init_fb()
1154 var->grayscale = 1; stifb_init_fb()
1161 var->grayscale = 1; stifb_init_fb()
1233 var->red.length = var->green.length = var->blue.length = 1; stifb_init_fb()
1238 var->red.length = var->green.length = var->blue.length = 8; stifb_init_fb()
1243 var->red.length = var->green.length = var->blue.length = var->transp.length = 8; stifb_init_fb()
1244 var->blue.offset = 0; stifb_init_fb()
1245 var->green.offset = 8; stifb_init_fb()
1246 var->red.offset = 16; stifb_init_fb()
1247 var->transp.offset = 24; stifb_init_fb()
1253 var->xres = var->xres_virtual = xres; stifb_init_fb()
1254 var->yres = var->yres_virtual = yres; stifb_init_fb()
1255 var->bits_per_pixel = bpp; stifb_init_fb()
1288 var->xres, stifb_init_fb()
1289 var->yres, stifb_init_fb()
1290 var->bits_per_pixel, stifb_init_fb()
H A Dmacmodes.h54 struct fb_var_screeninfo *var);
55 extern int mac_var_to_vmode(const struct fb_var_screeninfo *var, int *vmode,
58 extern int mac_find_mode(struct fb_var_screeninfo *var,
H A Dsbuslib.c19 void sbusfb_fill_var(struct fb_var_screeninfo *var, struct device_node *dp, sbusfb_fill_var() argument
22 memset(var, 0, sizeof(*var)); sbusfb_fill_var()
24 var->xres = of_getintprop_default(dp, "width", 1152); sbusfb_fill_var()
25 var->yres = of_getintprop_default(dp, "height", 900); sbusfb_fill_var()
26 var->xres_virtual = var->xres; sbusfb_fill_var()
27 var->yres_virtual = var->yres; sbusfb_fill_var()
28 var->bits_per_pixel = bpp; sbusfb_fill_var()
108 __put_user(info->var.yres, &f->fb_height) || sbusfb_ioctl_helper()
109 __put_user(info->var.xres, &f->fb_width) || sbusfb_ioctl_helper()
H A Dleo.c218 par->extent = ((info->var.xres - 1) | leo_switch_from_graph()
219 ((info->var.yres - 1) << 16)); leo_switch_from_graph()
229 sbus_writel((info->var.xres-1) | ((info->var.yres-1) << 11), leo_switch_from_graph()
250 static int leo_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) leo_pan_display() argument
257 if (var->xoffset || var->yoffset || var->vmode) leo_pan_display()
520 static void leo_fixup_var_rgb(struct fb_var_screeninfo *var) leo_fixup_var_rgb() argument
522 var->red.offset = 0; leo_fixup_var_rgb()
523 var->red.length = 8; leo_fixup_var_rgb()
524 var->green.offset = 8; leo_fixup_var_rgb()
525 var->green.length = 8; leo_fixup_var_rgb()
526 var->blue.offset = 16; leo_fixup_var_rgb()
527 var->blue.length = 8; leo_fixup_var_rgb()
528 var->transp.offset = 0; leo_fixup_var_rgb()
529 var->transp.length = 0; leo_fixup_var_rgb()
569 sbusfb_fill_var(&info->var, dp, 32); leo_probe()
570 leo_fixup_var_rgb(&info->var); leo_probe()
573 info->var.xres); leo_probe()
574 info->fix.smem_len = PAGE_ALIGN(linebytes * info->var.yres); leo_probe()
H A Dtgafb.c56 static int tgafb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info);
160 * tgafb_check_var - Optional function. Validates a var passed in.
161 * @var: frame buffer variable screen structure
165 tgafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) tgafb_check_var() argument
170 if (var->bits_per_pixel != 8) tgafb_check_var()
173 if (var->bits_per_pixel != 32) tgafb_check_var()
176 var->red.length = var->green.length = var->blue.length = 8; tgafb_check_var()
177 if (var->bits_per_pixel == 32) { tgafb_check_var()
178 var->red.offset = 16; tgafb_check_var()
179 var->green.offset = 8; tgafb_check_var()
180 var->blue.offset = 0; tgafb_check_var()
183 if (var->xres_virtual != var->xres || var->yres_virtual != var->yres) tgafb_check_var()
185 if (var->xres * var->yres * (var->bits_per_pixel >> 3) > info->fix.smem_len) tgafb_check_var()
187 if (var->nonstd) tgafb_check_var()
189 if (1000000000 / var->pixclock > TGA_PLL_MAX_FREQ) tgafb_check_var()
191 if ((var->vmode & FB_VMODE_MASK) != FB_VMODE_NONINTERLACED) tgafb_check_var()
196 if (var->xres * (par->tga_type == TGA_TYPE_8PLANE ? 1 : 4) % 8) tgafb_check_var()
242 htimings = (((info->var.xres/4) & TGA_HORIZ_ACT_LSB)
243 | (((info->var.xres/4) & 0x600 << 19) & TGA_HORIZ_ACT_MSB));
244 vtimings = (info->var.yres & TGA_VERT_ACTIVE);
245 htimings |= ((info->var.right_margin/4) << 9) & TGA_HORIZ_FP;
246 vtimings |= (info->var.lower_margin << 11) & TGA_VERT_FP;
247 htimings |= ((info->var.hsync_len/4) << 14) & TGA_HORIZ_SYNC;
248 vtimings |= (info->var.vsync_len << 16) & TGA_VERT_SYNC;
249 htimings |= ((info->var.left_margin/4) << 21) & TGA_HORIZ_BP;
250 vtimings |= (info->var.upper_margin << 22) & TGA_VERT_BP;
252 if (info->var.sync & FB_SYNC_HOR_HIGH_ACT)
254 if (info->var.sync & FB_SYNC_VERT_HIGH_ACT)
260 par->sync_on_green = !!(info->var.sync & FB_SYNC_ON_GREEN);
263 par->xres = info->var.xres;
264 par->yres = info->var.yres;
265 par->pll_freq = pll_freq = 1000000000 / info->var.pixclock;
266 par->bits_per_pixel = info->var.bits_per_pixel;
630 is8bpp = info->var.bits_per_pixel == 8; tgafb_mono_imageblit()
636 vxres = info->var.xres_virtual; tgafb_mono_imageblit()
637 vyres = info->var.yres_virtual; tgafb_mono_imageblit()
846 vxres = info->var.xres_virtual; tgafb_clut_imageblit()
847 vyres = info->var.yres_virtual; tgafb_clut_imageblit()
885 unsigned int is8bpp = info->var.bits_per_pixel == 8; tgafb_imageblit()
897 if (image->depth == info->var.bits_per_pixel) { tgafb_imageblit()
923 int is8bpp = info->var.bits_per_pixel == 8; tgafb_fillrect()
933 vxres = info->var.xres_virtual; tgafb_fillrect()
934 vyres = info->var.yres_virtual; tgafb_fillrect()
1262 vxres = info->var.xres_virtual; tgafb_copyarea()
1263 vyres = info->var.yres_virtual; tgafb_copyarea()
1280 bpp = info->var.bits_per_pixel; tgafb_copyarea()
1368 info->var.red.length = 8; tgafb_init_fix()
1369 info->var.green.length = 8; tgafb_init_fix()
1370 info->var.blue.length = 8; tgafb_init_fix()
1371 info->var.red.offset = 16; tgafb_init_fix()
1372 info->var.green.offset = 8; tgafb_init_fix()
1373 info->var.blue.offset = 0; tgafb_init_fix()
1377 static int tgafb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) tgafb_pan_display() argument
1480 ret = fb_find_mode(&info->var, info, tgafb_register()
H A Dpmagb-b-fb.c154 info->var.xres = ((sfb_read(par, SFB_REG_VID_HOR) >> pmagbbfb_screen_setup()
156 info->var.xres_virtual = info->var.xres; pmagbbfb_screen_setup()
157 info->var.yres = (sfb_read(par, SFB_REG_VID_VER) >> pmagbbfb_screen_setup()
159 info->var.yres_virtual = info->var.yres; pmagbbfb_screen_setup()
160 info->var.left_margin = ((sfb_read(par, SFB_REG_VID_HOR) >> pmagbbfb_screen_setup()
163 info->var.right_margin = ((sfb_read(par, SFB_REG_VID_HOR) >> pmagbbfb_screen_setup()
166 info->var.upper_margin = (sfb_read(par, SFB_REG_VID_VER) >> pmagbbfb_screen_setup()
168 info->var.lower_margin = (sfb_read(par, SFB_REG_VID_VER) >> pmagbbfb_screen_setup()
170 info->var.hsync_len = ((sfb_read(par, SFB_REG_VID_HOR) >> pmagbbfb_screen_setup()
173 info->var.vsync_len = (sfb_read(par, SFB_REG_VID_VER) >> pmagbbfb_screen_setup()
176 info->fix.line_length = info->var.xres; pmagbbfb_screen_setup()
243 info->var.pixclock = par->osc1 ? pmagbbfb_osc_setup()
277 info->var = pmagbbfb_defined; pmagbbfb_probe()
H A Dsmscufx.c661 static int ufx_set_vid_mode(struct ufx_data *dev, struct fb_var_screeninfo *var) ufx_set_vid_mode() argument
680 status = ufx_config_pix_clk(dev, var->pixclock); ufx_set_vid_mode()
687 h_total = var->xres + var->right_margin + var->hsync_len + var->left_margin; ufx_set_vid_mode()
688 h_active = var->xres; ufx_set_vid_mode()
689 h_blank_start = var->xres + var->right_margin; ufx_set_vid_mode()
690 h_blank_end = var->xres + var->right_margin + var->hsync_len; ufx_set_vid_mode()
691 h_sync_start = var->xres + var->right_margin; ufx_set_vid_mode()
692 h_sync_end = var->xres + var->right_margin + var->hsync_len; ufx_set_vid_mode()
707 v_total = var->upper_margin + var->yres + var->lower_margin + var->vsync_len; ufx_set_vid_mode()
708 v_active = var->yres; ufx_set_vid_mode()
709 v_blank_start = var->yres + var->lower_margin; ufx_set_vid_mode()
710 v_blank_end = var->yres + var->lower_margin + var->vsync_len; ufx_set_vid_mode()
711 v_sync_start = var->yres + var->lower_margin; ufx_set_vid_mode()
712 v_sync_end = var->yres + var->lower_margin + var->vsync_len; ufx_set_vid_mode()
733 temp = var->xres * var->yres * 2; ufx_set_vid_mode()
750 if (var->sync & FB_SYNC_HOR_HIGH_ACT) ufx_set_vid_mode()
753 if (var->sync & FB_SYNC_VERT_HIGH_ACT) ufx_set_vid_mode()
838 cmd[10] = cpu_to_le16(0x4000 | dev->info->var.xres); ufx_raw_rect()
841 cmd[11] = cpu_to_le16(dev->info->var.yres); ufx_raw_rect()
859 (x + width > dev->info->var.xres) || ufx_handle_damage()
860 (y + height > dev->info->var.yres)) ufx_handle_damage()
912 (u32)info->var.yres); ufx_ops_write()
914 ufx_handle_damage(dev, 0, start, info->var.xres, lines); ufx_ops_write()
976 const int width = dev->info->var.xres; ufx_dpy_deferred_io()
979 height = min(height, (int)(dev->info->var.yres - y)); ufx_dpy_deferred_io()
981 BUG_ON(y >= dev->info->var.yres); ufx_dpy_deferred_io()
982 BUG_ON((y + height) > dev->info->var.yres); ufx_dpy_deferred_io()
1021 if (area->x > info->var.xres) ufx_ops_ioctl()
1022 area->x = info->var.xres; ufx_ops_ioctl()
1027 if (area->y > info->var.yres) ufx_ops_ioctl()
1028 area->y = info->var.yres; ufx_ops_ioctl()
1047 if (info->var.red.offset == 10) { ufx_ops_setcolreg()
1210 static void ufx_var_color_format(struct fb_var_screeninfo *var) ufx_var_color_format() argument
1216 var->bits_per_pixel = 16; ufx_var_color_format()
1217 var->red = red; ufx_var_color_format()
1218 var->green = green; ufx_var_color_format()
1219 var->blue = blue; ufx_var_color_format()
1222 static int ufx_ops_check_var(struct fb_var_screeninfo *var, ufx_ops_check_var() argument
1228 if ((var->xres * var->yres * 2) > info->fix.smem_len) ufx_ops_check_var()
1231 /* set device-specific elements of var unrelated to mode */ ufx_ops_check_var()
1232 ufx_var_color_format(var); ufx_ops_check_var()
1234 fb_var_to_videomode(&mode, var); ufx_ops_check_var()
1249 pr_debug("set_par mode %dx%d", info->var.xres, info->var.yres); ufx_ops_set_par()
1250 result = ufx_set_vid_mode(dev, &info->var); ufx_ops_set_par()
1258 ufx_handle_damage(dev, 0, 0, info->var.xres, info->var.yres); ufx_ops_set_par()
1272 ufx_set_vid_mode(dev, &info->var); ufx_ops_blank()
1305 new_len = info->fix.line_length * info->var.yres; ufx_realloc_framebuffer()
1596 fb_videomode_to_var(&info->var, default_vmode); ufx_setup_modes()
1597 ufx_var_color_format(&info->var); ufx_setup_modes()
1601 info->fix.line_length = info->var.xres * ufx_setup_modes()
1602 (info->var.bits_per_pixel / 8); ufx_setup_modes()
1720 dev_dbg(dev->gdev, "checking var"); ufx_usb_probe()
1721 retval = ufx_ops_check_var(&info->var, info); ufx_usb_probe()
1734 info->var.xres, info->var.yres, info->fix.smem_len >> 10); ufx_usb_probe()
H A Dcg3.c259 static void cg3_rdi_maybe_fixup_var(struct fb_var_screeninfo *var, cg3_rdi_maybe_fixup_var() argument
272 if (var->xres != ww || cg3_rdi_maybe_fixup_var()
273 var->yres != hh) { cg3_rdi_maybe_fixup_var()
274 var->xres = var->xres_virtual = ww; cg3_rdi_maybe_fixup_var()
275 var->yres = var->yres_virtual = hh; cg3_rdi_maybe_fixup_var()
368 sbusfb_fill_var(&info->var, dp, 8); cg3_probe()
369 info->var.red.length = 8; cg3_probe()
370 info->var.green.length = 8; cg3_probe()
371 info->var.blue.length = 8; cg3_probe()
375 cg3_rdi_maybe_fixup_var(&info->var, dp); cg3_probe()
378 info->var.xres); cg3_probe()
379 info->fix.smem_len = PAGE_ALIGN(linebytes * info->var.yres); cg3_probe()
H A Dhgafb.c407 * @var:contains new xoffset, yoffset and vmode values
411 * flag in @var. If input parameters are correct it calls hga_pan() to
412 * program the hardware. @info->var is updated to the new values.
416 static int hgafb_pan_display(struct fb_var_screeninfo *var, hgafb_pan_display() argument
419 if (var->vmode & FB_VMODE_YWRAP) { hgafb_pan_display()
420 if (var->yoffset >= info->var.yres_virtual || hgafb_pan_display()
421 var->xoffset) hgafb_pan_display()
424 if (var->xoffset + info->var.xres > info->var.xres_virtual hgafb_pan_display()
425 || var->yoffset + info->var.yres > info->var.yres_virtual hgafb_pan_display()
426 || var->yoffset % 8) hgafb_pan_display()
430 hga_pan(var->xoffset, var->yoffset); hgafb_pan_display()
572 info->var = hga_default_var; hgafb_probe()
H A Dg364fb.c106 static int g364fb_pan_display(struct fb_var_screeninfo *var,
138 info->var.yoffset); g364fb_cursor()
149 static int g364fb_pan_display(struct fb_var_screeninfo *var, g364fb_pan_display() argument
152 if (var->xoffset || g364fb_pan_display()
153 var->yoffset + info->var.yres > info->var.yres_virtual) g364fb_pan_display()
156 *(unsigned int *) TOP_REG = var->yoffset * info->var.xres; g364fb_pan_display()
243 fb_info.var = fb_var; g364fb_init()
H A Dw100fb.c207 if (info->var.grayscale) w100fb_setcolreg()
466 * Get the video params out of 'var'. If a value doesn't fit, round it up,
469 static int w100fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) w100fb_check_var() argument
473 if(!w100fb_get_mode(par, &var->xres, &var->yres, 1)) w100fb_check_var()
476 if (par->mach->mem && ((var->xres*var->yres*BITS_PER_PIXEL/8) > (par->mach->mem->size+1))) w100fb_check_var()
479 if (!par->mach->mem && ((var->xres*var->yres*BITS_PER_PIXEL/8) > (MEM_INT_SIZE+1))) w100fb_check_var()
482 var->xres_virtual = max(var->xres_virtual, var->xres); w100fb_check_var()
483 var->yres_virtual = max(var->yres_virtual, var->yres); w100fb_check_var()
485 if (var->bits_per_pixel > BITS_PER_PIXEL) w100fb_check_var()
488 var->bits_per_pixel = BITS_PER_PIXEL; w100fb_check_var()
490 var->red.offset = 11; w100fb_check_var()
491 var->red.length = 5; w100fb_check_var()
492 var->green.offset = 5; w100fb_check_var()
493 var->green.length = 6; w100fb_check_var()
494 var->blue.offset = 0; w100fb_check_var()
495 var->blue.length = 5; w100fb_check_var()
496 var->transp.offset = var->transp.length = 0; w100fb_check_var()
498 var->nonstd = 0; w100fb_check_var()
499 var->height = -1; w100fb_check_var()
500 var->width = -1; w100fb_check_var()
501 var->vmode = FB_VMODE_NONINTERLACED; w100fb_check_var()
502 var->sync = 0; w100fb_check_var()
503 var->pixclock = 0x04; /* 171521; */ w100fb_check_var()
512 * by looking at the values in info.var
518 if (par->xres != info->var.xres || par->yres != info->var.yres) { w100fb_set_par()
519 par->xres = info->var.xres; w100fb_set_par()
520 par->yres = info->var.yres; w100fb_set_par()
724 info->var.xres = par->mode->yres; w100fb_probe()
725 info->var.yres = par->mode->xres; w100fb_probe()
728 info->var.xres = par->mode->xres; w100fb_probe()
729 info->var.yres = par->mode->yres; w100fb_probe()
737 info->var.xres_virtual = info->var.xres; w100fb_probe()
738 info->var.yres_virtual = info->var.yres; w100fb_probe()
739 info->var.pixclock = 0x04; /* 171521; */ w100fb_probe()
740 info->var.sync = 0; w100fb_probe()
741 info->var.grayscale = 0; w100fb_probe()
742 info->var.xoffset = info->var.yoffset = 0; w100fb_probe()
743 info->var.accel_flags = 0; w100fb_probe()
744 info->var.activate = FB_ACTIVATE_NOW; w100fb_probe()
748 if (w100fb_check_var(&info->var, info) < 0) { w100fb_probe()
H A Dskeletonfb.c34 * need for get_fix and get_var. Once all drivers use the fix, var, and cmap
85 * to get a fb_var_screeninfo. Otherwise define a default var as well.
106 * This allows when one display changes it video resolution (info->var)
175 * xxxfb_check_var - Optional function. Validates a var passed in.
176 * @var: frame buffer variable screen structure
180 * var passed in. This function does not alter the hardware state!!!
182 * not change. This includes the var inside of struct fb_info.
185 * modedb.c is a example of this. If the var passed in is slightly
186 * off by what the hardware can support then we alter the var PASSED in
197 * a copy of the currently working var (info->var). Better is to not
199 * of the current var for you.
201 * Note: This is the only function where the contents of var can be
204 * of var, then you are doing something wrong. Note also that the
205 * contents of info->var must be left untouched at all times after
210 static int xxxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) xxxfb_check_var() argument
222 * fb_fix_screeninfo stored in fb_info. It doesn't not alter var in
224 * data in var inside fb_info to be supported by the hardware.
230 * the contents of var is always valid.
241 * static int xxxfb_check_var(struct fb_var_screeninfo *var,
244 * *var = info->var;
295 if (info->var.grayscale) { xxxfb_setcolreg()
301 * var->{color}.offset contains start of bitfield xxxfb_setcolreg()
302 * var->{color}.length contains length of bitfield xxxfb_setcolreg()
308 * color depth = SUM(var->{color}.length) xxxfb_setcolreg()
311 * var->{color}.offset is 0 unless the palette index takes less than xxxfb_setcolreg()
314 * var->{color}.length is set so that 1 << length is the number of xxxfb_setcolreg()
318 * color depth = var->{color}.length xxxfb_setcolreg()
325 * var->{color}.offset is 0 xxxfb_setcolreg()
326 * white = (1 << var->{color}.length) - 1, black = 0 xxxfb_setcolreg()
333 * var->{color}.offset contains start of bitfield xxxfb_setcolreg()
334 * var->{color}.length contains length of bitfield xxxfb_setcolreg()
340 * color depth = SUM(var->{color}.length}) xxxfb_setcolreg()
363 red = CNVT_TOHW(red, info->var.red.length); xxxfb_setcolreg()
364 green = CNVT_TOHW(green, info->var.green.length); xxxfb_setcolreg()
365 blue = CNVT_TOHW(blue, info->var.blue.length); xxxfb_setcolreg()
366 transp = CNVT_TOHW(transp, info->var.transp.length); xxxfb_setcolreg()
402 v = (red << info->var.red.offset) | xxxfb_setcolreg()
403 (green << info->var.green.offset) | xxxfb_setcolreg()
404 (blue << info->var.blue.offset) | xxxfb_setcolreg()
405 (transp << info->var.transp.offset); xxxfb_setcolreg()
416 * @var: frame buffer variable screen structure
420 * `xoffset' and `yoffset' fields of the `var' structure.
425 static int xxxfb_pan_display(struct fb_var_screeninfo *var, xxxfb_pan_display() argument
792 retval = fb_find_mode(&info->var, info, mode_option, NULL, 0, NULL, 8); xxxfb_probe()
805 info->var = xxxfb_var; xxxfb_probe()
810 xxxfb_check_var(&info->var, info); xxxfb_probe()
H A Dsbuslib.h14 extern void sbusfb_fill_var(struct fb_var_screeninfo *var,
H A Dau1200fb.c1004 /* Update var-dependent FB info */ au1200fb_update_fbinfo()
1006 if (fbi->var.bits_per_pixel <= 8) { au1200fb_update_fbinfo()
1009 fbi->fix.line_length = fbi->var.xres_virtual / au1200fb_update_fbinfo()
1010 (8/fbi->var.bits_per_pixel); au1200fb_update_fbinfo()
1014 fbi->fix.line_length = fbi->var.xres_virtual * (fbi->var.bits_per_pixel / 8); au1200fb_update_fbinfo()
1019 fbi->fix.line_length = fbi->var.xres_virtual / 8; au1200fb_update_fbinfo()
1022 fbi->screen_size = fbi->fix.line_length * fbi->var.yres_virtual; au1200fb_update_fbinfo()
1024 print_dbg("bits_per_pixel: %d\n", fbi->var.bits_per_pixel); au1200fb_update_fbinfo()
1032 * Validate var settings with hardware restrictions and modify it if necessary
1034 static int au1200fb_fb_check_var(struct fb_var_screeninfo *var, au1200fb_fb_check_var() argument
1045 var->xres = win->w[plane].xres; au1200fb_fb_check_var()
1046 var->yres = win->w[plane].yres; au1200fb_fb_check_var()
1049 var->xres_virtual = var->xres; au1200fb_fb_check_var()
1050 var->yres_virtual = var->yres; au1200fb_fb_check_var()
1052 var->bits_per_pixel = winbpp(win->w[plane].mode_winctrl1); au1200fb_fb_check_var()
1054 screen_size = var->xres_virtual * var->yres_virtual; au1200fb_fb_check_var()
1055 if (var->bits_per_pixel > 8) screen_size *= (var->bits_per_pixel / 8); au1200fb_fb_check_var()
1056 else screen_size /= (8/var->bits_per_pixel); au1200fb_fb_check_var()
1065 pixclock = max((u32)(PICOS2KHZ(var->pixclock) * 1000), fbi->monspecs.dclkmin); au1200fb_fb_check_var()
1073 var->pixclock = KHZ2PICOS(pixclock/1000); au1200fb_fb_check_var()
1081 var->pixclock = KHZ2PICOS(6000); au1200fb_fb_check_var()
1084 var->pixclock = KHZ2PICOS(12000); au1200fb_fb_check_var()
1089 switch (var->bits_per_pixel) { au1200fb_fb_check_var()
1096 var->red = rgb_bitfields[idx][0]; au1200fb_fb_check_var()
1097 var->green = rgb_bitfields[idx][1]; au1200fb_fb_check_var()
1098 var->blue = rgb_bitfields[idx][2]; au1200fb_fb_check_var()
1099 var->transp = rgb_bitfields[idx][3]; au1200fb_fb_check_var()
1109 var->red = rgb_bitfields[idx][0]; au1200fb_fb_check_var()
1110 var->green = rgb_bitfields[idx][1]; au1200fb_fb_check_var()
1111 var->blue = rgb_bitfields[idx][2]; au1200fb_fb_check_var()
1112 var->transp = rgb_bitfields[idx][3]; au1200fb_fb_check_var()
1116 print_dbg("Unsupported depth %dbpp", var->bits_per_pixel); au1200fb_fb_check_var()
1124 * Set hardware with var settings. This will enable the controller with a
1149 if (fbi->var.grayscale) { au1200fb_fb_setcolreg()
1162 red >>= (16 - fbi->var.red.length); au1200fb_fb_setcolreg()
1163 green >>= (16 - fbi->var.green.length); au1200fb_fb_setcolreg()
1164 blue >>= (16 - fbi->var.blue.length); au1200fb_fb_setcolreg()
1166 value = (red << fbi->var.red.offset) | au1200fb_fb_setcolreg()
1167 (green << fbi->var.green.offset)| au1200fb_fb_setcolreg()
1168 (blue << fbi->var.blue.offset); au1200fb_fb_setcolreg()
1534 * panel list. Note that after this call, var data will be set */ au1200fb_init_fbinfo()
1535 if (!fb_find_mode(&fbi->var, au1200fb_init_fbinfo()
H A Dtmiofb.c558 tmiofb_find_mode(struct fb_info *info, struct fb_var_screeninfo *var) tmiofb_find_mode() argument
567 if (mode->xres >= var->xres && mode->yres >= var->yres tmiofb_find_mode()
576 static int tmiofb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) tmiofb_check_var() argument
582 mode = tmiofb_find_mode(info, var); tmiofb_check_var()
583 if (!mode || var->bits_per_pixel > 16) tmiofb_check_var()
586 fb_videomode_to_var(var, mode); tmiofb_check_var()
588 var->xres_virtual = mode->xres; tmiofb_check_var()
589 var->yres_virtual = info->screen_size / (mode->xres * 2); tmiofb_check_var()
591 if (var->yres_virtual < var->yres) tmiofb_check_var()
594 var->xoffset = 0; tmiofb_check_var()
595 var->yoffset = 0; tmiofb_check_var()
596 var->bits_per_pixel = 16; tmiofb_check_var()
597 var->grayscale = 0; tmiofb_check_var()
598 var->red.offset = 11; tmiofb_check_var()
599 var->red.length = 5; tmiofb_check_var()
600 var->green.offset = 5; tmiofb_check_var()
601 var->green.length = 6; tmiofb_check_var()
602 var->blue.offset = 0; tmiofb_check_var()
603 var->blue.length = 5; tmiofb_check_var()
604 var->transp.offset = 0; tmiofb_check_var()
605 var->transp.length = 0; tmiofb_check_var()
606 var->nonstd = 0; tmiofb_check_var()
607 var->height = data->height; /* mm */ tmiofb_check_var()
608 var->width = data->width; /* mm */ tmiofb_check_var()
609 var->rotate = 0; tmiofb_check_var()
615 struct fb_var_screeninfo *var = &info->var; tmiofb_set_par() local
618 mode = tmiofb_find_mode(info, var); tmiofb_set_par()
624 var->bits_per_pixel / 8; tmiofb_set_par()
759 retval = fb_find_mode(&info->var, info, mode_option, tmiofb_probe()
/linux-4.1.27/drivers/video/fbdev/core/
H A Dsvgalib.c170 void svga_dump_var(struct fb_var_screeninfo *var, int node)
172 pr_debug("fb%d: var.vmode : 0x%X\n", node, var->vmode);
173 pr_debug("fb%d: var.xres : %d\n", node, var->xres);
174 pr_debug("fb%d: var.yres : %d\n", node, var->yres);
175 pr_debug("fb%d: var.bits_per_pixel: %d\n", node, var->bits_per_pixel);
176 pr_debug("fb%d: var.xres_virtual : %d\n", node, var->xres_virtual);
177 pr_debug("fb%d: var.yres_virtual : %d\n", node, var->yres_virtual);
178 pr_debug("fb%d: var.left_margin : %d\n", node, var->left_margin);
179 pr_debug("fb%d: var.right_margin : %d\n", node, var->right_margin);
180 pr_debug("fb%d: var.upper_margin : %d\n", node, var->upper_margin);
181 pr_debug("fb%d: var.lower_margin : %d\n", node, var->lower_margin);
182 pr_debug("fb%d: var.hsync_len : %d\n", node, var->hsync_len);
183 pr_debug("fb%d: var.vsync_len : %d\n", node, var->vsync_len);
184 pr_debug("fb%d: var.sync : 0x%X\n", node, var->sync);
185 pr_debug("fb%d: var.pixclock : %d\n\n", node, var->pixclock);
223 int rowstride = colstride * (info->var.xres_virtual / 8); svga_tilecopy()
260 int rowstride = colstride * (info->var.xres_virtual / 8); svga_tilefill()
281 int rowstride = colstride * (info->var.xres_virtual / 8); svga_tileblit()
306 u16 pos = cursor->sx + (info->var.xoffset / 8) svga_tilecursor()
307 + (cursor->sy + (info->var.yoffset / 16)) svga_tilecursor()
308 * (info->var.xres_virtual / 8); svga_tilecursor()
352 struct fb_var_screeninfo *var) svga_get_caps()
354 if (var->bits_per_pixel == 0) { svga_get_caps()
360 caps->x = (var->bits_per_pixel == 4) ? 1 << (8 - 1) : ~(u32)0; svga_get_caps()
443 int svga_check_timings(const struct svga_timing_regs *tm, struct fb_var_screeninfo *var, int node) svga_check_timings() argument
447 var->xres = (var->xres+7)&~7; svga_check_timings()
448 var->left_margin = (var->left_margin+7)&~7; svga_check_timings()
449 var->right_margin = (var->right_margin+7)&~7; svga_check_timings()
450 var->hsync_len = (var->hsync_len+7)&~7; svga_check_timings()
453 value = var->xres + var->left_margin + var->right_margin + var->hsync_len; svga_check_timings()
458 value = var->xres; svga_check_timings()
465 value = var->xres + var->right_margin; svga_check_timings()
470 value = var->left_margin + var->right_margin + var->hsync_len; svga_check_timings()
475 value = var->hsync_len; svga_check_timings()
480 value = var->yres + var->upper_margin + var->lower_margin + var->vsync_len; svga_check_timings()
485 value = var->yres; svga_check_timings()
492 value = var->yres + var->lower_margin; svga_check_timings()
497 value = var->upper_margin + var->lower_margin + var->vsync_len; svga_check_timings()
502 value = var->vsync_len; svga_check_timings()
511 struct fb_var_screeninfo *var, svga_set_timings()
517 value = var->xres + var->left_margin + var->right_margin + var->hsync_len; svga_set_timings()
522 value = var->xres; svga_set_timings()
527 value = var->xres; svga_set_timings()
532 value = var->xres + var->left_margin + var->right_margin + var->hsync_len; svga_set_timings()
537 value = var->xres + var->right_margin; svga_set_timings()
542 value = var->xres + var->right_margin + var->hsync_len; svga_set_timings()
547 value = var->yres + var->upper_margin + var->lower_margin + var->vsync_len; svga_set_timings()
552 value = var->yres; svga_set_timings()
557 value = var->yres; svga_set_timings()
562 value = var->yres + var->upper_margin + var->lower_margin + var->vsync_len; svga_set_timings()
567 value = var->yres + var->lower_margin; svga_set_timings()
572 value = var->yres + var->lower_margin + var->vsync_len; svga_set_timings()
580 if (var->sync & FB_SYNC_HOR_HIGH_ACT) { svga_set_timings()
587 if (var->sync & FB_SYNC_VERT_HIGH_ACT) { svga_set_timings()
602 struct fb_var_screeninfo *var) match_format()
609 if ((var->bits_per_pixel == frm->bits_per_pixel) && match_format()
610 (var->red.length <= frm->red.length) && match_format()
611 (var->green.length <= frm->green.length) && match_format()
612 (var->blue.length <= frm->blue.length) && match_format()
613 (var->transp.length <= frm->transp.length) && match_format()
614 (var->nonstd == frm->nonstd)) match_format()
616 if (var->bits_per_pixel == frm->bits_per_pixel) match_format()
625 struct fb_var_screeninfo *var, svga_match_format()
628 int i = match_format(frm, var); svga_match_format()
631 var->bits_per_pixel = frm[i].bits_per_pixel; svga_match_format()
632 var->red = frm[i].red; svga_match_format()
633 var->green = frm[i].green; svga_match_format()
634 var->blue = frm[i].blue; svga_match_format()
635 var->transp = frm[i].transp; svga_match_format()
636 var->nonstd = frm[i].nonstd; svga_match_format()
351 svga_get_caps(struct fb_info *info, struct fb_blit_caps *caps, struct fb_var_screeninfo *var) svga_get_caps() argument
510 svga_set_timings(void __iomem *regbase, const struct svga_timing_regs *tm, struct fb_var_screeninfo *var, u32 hmul, u32 hdiv, u32 vmul, u32 vdiv, u32 hborder, int node) svga_set_timings() argument
601 match_format(const struct svga_fb_format *frm, struct fb_var_screeninfo *var) match_format() argument
624 svga_match_format(const struct svga_fb_format *frm, struct fb_var_screeninfo *var, struct fb_fix_screeninfo *fix) svga_match_format() argument
H A Dfbmem.c92 int fb_get_color_depth(struct fb_var_screeninfo *var, fb_get_color_depth() argument
101 if (var->green.length == var->blue.length && fb_get_color_depth()
102 var->green.length == var->red.length && fb_get_color_depth()
103 var->green.offset == var->blue.offset && fb_get_color_depth()
104 var->green.offset == var->red.offset) fb_get_color_depth()
105 depth = var->green.length; fb_get_color_depth()
107 depth = var->green.length + var->red.length + fb_get_color_depth()
108 var->blue.length; fb_get_color_depth()
247 redmask = mask[info->var.red.length < 8 ? info->var.red.length : 8]; fb_set_logo_truepalette()
248 greenmask = mask[info->var.green.length < 8 ? info->var.green.length : 8]; fb_set_logo_truepalette()
249 bluemask = mask[info->var.blue.length < 8 ? info->var.blue.length : 8]; fb_set_logo_truepalette()
250 redshift = info->var.red.offset - (8 - info->var.red.length); fb_set_logo_truepalette()
251 greenshift = info->var.green.offset - (8 - info->var.green.length); fb_set_logo_truepalette()
252 blueshift = info->var.blue.offset - (8 - info->var.blue.length); fb_set_logo_truepalette()
269 redshift = info->var.red.offset; fb_set_logo_directpalette()
270 greenshift = info->var.green.offset; fb_set_logo_directpalette()
271 blueshift = info->var.blue.offset; fb_set_logo_directpalette()
286 switch (fb_get_color_depth(&info->var, &info->fix)) { fb_set_logo()
300 fg = ~((u8) (0xfff << info->var.green.length)); fb_set_logo()
398 image->dx = info->var.xres - image->width - image->dx; fb_rotate_logo()
399 image->dy = info->var.yres - image->height - image->dy; fb_rotate_logo()
408 image->dx = info->var.xres - image->width - tmp; fb_rotate_logo()
417 image->dy = info->var.yres - image->height - tmp; fb_rotate_logo()
430 x < num && image->dx + image->width <= info->var.xres; fb_do_show_logo()
442 x < num && image->dy + image->height <= info->var.yres; fb_do_show_logo()
597 int depth = fb_get_color_depth(&info->var, &info->fix); fb_prepare_logo()
607 depth = info->var.blue.length; fb_prepare_logo()
608 if (info->var.red.length < depth) fb_prepare_logo()
609 depth = info->var.red.length; fb_prepare_logo()
610 if (info->var.green.length < depth) fb_prepare_logo()
611 depth = info->var.green.length; fb_prepare_logo()
627 yres = info->var.yres; fb_prepare_logo()
629 yres = info->var.xres; fb_prepare_logo()
884 fb_pan_display(struct fb_info *info, struct fb_var_screeninfo *var) fb_pan_display() argument
887 unsigned int yres = info->var.yres; fb_pan_display()
890 if (var->yoffset > 0) { fb_pan_display()
891 if (var->vmode & FB_VMODE_YWRAP) { fb_pan_display()
892 if (!fix->ywrapstep || (var->yoffset % fix->ywrapstep)) fb_pan_display()
896 } else if (!fix->ypanstep || (var->yoffset % fix->ypanstep)) fb_pan_display()
900 if (var->xoffset > 0 && (!fix->xpanstep || fb_pan_display()
901 (var->xoffset % fix->xpanstep))) fb_pan_display()
905 var->yoffset > info->var.yres_virtual - yres || fb_pan_display()
906 var->xoffset > info->var.xres_virtual - info->var.xres) fb_pan_display()
909 if ((err = info->fbops->fb_pan_display(var, info))) fb_pan_display()
911 info->var.xoffset = var->xoffset; fb_pan_display()
912 info->var.yoffset = var->yoffset; fb_pan_display()
913 if (var->vmode & FB_VMODE_YWRAP) fb_pan_display()
914 info->var.vmode |= FB_VMODE_YWRAP; fb_pan_display()
916 info->var.vmode &= ~FB_VMODE_YWRAP; fb_pan_display()
921 static int fb_check_caps(struct fb_info *info, struct fb_var_screeninfo *var, fb_check_caps() argument
934 info->fbops->fb_get_caps(info, &fbcaps, var); fb_check_caps()
945 fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var) fb_set_var() argument
950 if (var->activate & FB_ACTIVATE_INV_MODE) { fb_set_var()
953 fb_var_to_videomode(&mode1, var); fb_set_var()
954 fb_var_to_videomode(&mode2, &info->var); fb_set_var()
955 /* make sure we don't delete the videomode of current var */ fb_set_var()
974 if ((var->activate & FB_ACTIVATE_FORCE) || fb_set_var()
975 memcmp(&info->var, var, sizeof(struct fb_var_screeninfo))) { fb_set_var()
976 u32 activate = var->activate; fb_set_var()
982 var->grayscale > 1) { fb_set_var()
983 if (var->red.offset || var->green.offset || fb_set_var()
984 var->blue.offset || var->transp.offset || fb_set_var()
985 var->red.length || var->green.length || fb_set_var()
986 var->blue.length || var->transp.length || fb_set_var()
987 var->red.msb_right || var->green.msb_right || fb_set_var()
988 var->blue.msb_right || var->transp.msb_right) fb_set_var()
993 *var = info->var; fb_set_var()
997 ret = info->fbops->fb_check_var(var, info); fb_set_var()
1002 if ((var->activate & FB_ACTIVATE_MASK) == FB_ACTIVATE_NOW) { fb_set_var()
1007 ret = fb_check_caps(info, var, activate); fb_set_var()
1013 old_var = info->var; fb_set_var()
1014 info->var = *var; fb_set_var()
1020 info->var = old_var; fb_set_var()
1028 fb_pan_display(info, &info->var); fb_set_var()
1030 fb_var_to_videomode(&mode, &info->var); fb_set_var()
1091 struct fb_var_screeninfo var; do_fb_ioctl() local
1104 var = info->var; do_fb_ioctl()
1107 ret = copy_to_user(argp, &var, sizeof(var)) ? -EFAULT : 0; do_fb_ioctl()
1110 if (copy_from_user(&var, argp, sizeof(var))) do_fb_ioctl()
1118 ret = fb_set_var(info, &var); do_fb_ioctl()
1122 if (!ret && copy_to_user(argp, &var, sizeof(var))) do_fb_ioctl()
1148 if (copy_from_user(&var, argp, sizeof(var))) do_fb_ioctl()
1155 ret = fb_pan_display(info, &var); do_fb_ioctl()
1158 if (ret == 0 && copy_to_user(argp, &var, sizeof(var))) do_fb_ioctl()
1421 if (info->var.accel_flags) { fb_mmap()
1673 fb_var_to_videomode(&mode, &fb_info->var); do_register_framebuffer()
1882 struct fb_var_screeninfo var = info->var; fb_new_modelist() local
1891 fb_videomode_to_var(&var, m); fb_new_modelist()
1892 var.activate = FB_ACTIVATE_TEST; fb_new_modelist()
1893 err = fb_set_var(info, &var); fb_new_modelist()
1894 fb_var_to_videomode(&mode, &var); fb_new_modelist()
H A Dmodedb.c588 * @var: frame buffer user defined part of display
599 static int fb_try_mode(struct fb_var_screeninfo *var, struct fb_info *info, fb_try_mode() argument
607 var->xres = mode->xres; fb_try_mode()
608 var->yres = mode->yres; fb_try_mode()
609 var->xres_virtual = mode->xres; fb_try_mode()
610 var->yres_virtual = mode->yres; fb_try_mode()
611 var->xoffset = 0; fb_try_mode()
612 var->yoffset = 0; fb_try_mode()
613 var->bits_per_pixel = bpp; fb_try_mode()
614 var->activate |= FB_ACTIVATE_TEST; fb_try_mode()
615 var->pixclock = mode->pixclock; fb_try_mode()
616 var->left_margin = mode->left_margin; fb_try_mode()
617 var->right_margin = mode->right_margin; fb_try_mode()
618 var->upper_margin = mode->upper_margin; fb_try_mode()
619 var->lower_margin = mode->lower_margin; fb_try_mode()
620 var->hsync_len = mode->hsync_len; fb_try_mode()
621 var->vsync_len = mode->vsync_len; fb_try_mode()
622 var->sync = mode->sync; fb_try_mode()
623 var->vmode = mode->vmode; fb_try_mode()
625 err = info->fbops->fb_check_var(var, info); fb_try_mode()
626 var->activate &= ~FB_ACTIVATE_TEST; fb_try_mode()
632 * @var: frame buffer user defined part of display
663 * NOTE: The passed struct @var is _not_ cleared! This allows you
672 int fb_find_mode(struct fb_var_screeninfo *var, fb_find_mode() argument
786 if (!ret && !fb_try_mode(var, info, &cvt_mode, bpp)) { fb_find_mode()
821 !fb_try_mode(var, info, &db[i], bpp)) { fb_find_mode()
832 fb_try_mode(var, info, &db[best], bpp); fb_find_mode()
841 if (!fb_try_mode(var, info, &db[i], bpp)) { fb_find_mode()
859 fb_try_mode(var, info, &db[best], bpp); fb_find_mode()
865 if (!fb_try_mode(var, info, default_mode, default_bpp)) fb_find_mode()
870 if (!fb_try_mode(var, info, &db[i], default_bpp)) fb_find_mode()
880 * @var: pointer to struct fb_var_screeninfo
883 const struct fb_var_screeninfo *var) fb_var_to_videomode()
888 mode->xres = var->xres; fb_var_to_videomode()
889 mode->yres = var->yres; fb_var_to_videomode()
890 mode->pixclock = var->pixclock; fb_var_to_videomode()
891 mode->hsync_len = var->hsync_len; fb_var_to_videomode()
892 mode->vsync_len = var->vsync_len; fb_var_to_videomode()
893 mode->left_margin = var->left_margin; fb_var_to_videomode()
894 mode->right_margin = var->right_margin; fb_var_to_videomode()
895 mode->upper_margin = var->upper_margin; fb_var_to_videomode()
896 mode->lower_margin = var->lower_margin; fb_var_to_videomode()
897 mode->sync = var->sync; fb_var_to_videomode()
898 mode->vmode = var->vmode & FB_VMODE_MASK; fb_var_to_videomode()
902 if (!var->pixclock) fb_var_to_videomode()
905 pixclock = PICOS2KHZ(var->pixclock) * 1000; fb_var_to_videomode()
907 htotal = var->xres + var->right_margin + var->hsync_len + fb_var_to_videomode()
908 var->left_margin; fb_var_to_videomode()
909 vtotal = var->yres + var->lower_margin + var->vsync_len + fb_var_to_videomode()
910 var->upper_margin; fb_var_to_videomode()
912 if (var->vmode & FB_VMODE_INTERLACED) fb_var_to_videomode()
914 if (var->vmode & FB_VMODE_DOUBLE) fb_var_to_videomode()
923 * @var: pointer to struct fb_var_screeninfo
926 void fb_videomode_to_var(struct fb_var_screeninfo *var, fb_videomode_to_var() argument
929 var->xres = mode->xres; fb_videomode_to_var()
930 var->yres = mode->yres; fb_videomode_to_var()
931 var->xres_virtual = mode->xres; fb_videomode_to_var()
932 var->yres_virtual = mode->yres; fb_videomode_to_var()
933 var->xoffset = 0; fb_videomode_to_var()
934 var->yoffset = 0; fb_videomode_to_var()
935 var->pixclock = mode->pixclock; fb_videomode_to_var()
936 var->left_margin = mode->left_margin; fb_videomode_to_var()
937 var->right_margin = mode->right_margin; fb_videomode_to_var()
938 var->upper_margin = mode->upper_margin; fb_videomode_to_var()
939 var->lower_margin = mode->lower_margin; fb_videomode_to_var()
940 var->hsync_len = mode->hsync_len; fb_videomode_to_var()
941 var->vsync_len = mode->vsync_len; fb_videomode_to_var()
942 var->sync = mode->sync; fb_videomode_to_var()
943 var->vmode = mode->vmode & FB_VMODE_MASK; fb_videomode_to_var()
972 * @var: pointer to struct fb_var_screeninfo
984 * var->xres and var->yres. If more than 1 videomode is found, will return
987 const struct fb_videomode *fb_find_best_mode(const struct fb_var_screeninfo *var, fb_find_best_mode() argument
1001 if (mode->xres >= var->xres && mode->yres >= var->yres) { list_for_each()
1002 d = (mode->xres - var->xres) + list_for_each()
1003 (mode->yres - var->yres); list_for_each()
1058 * fb_match_mode - find a videomode which exactly matches the timings in var
1059 * @var: pointer to struct fb_var_screeninfo
1065 const struct fb_videomode *fb_match_mode(const struct fb_var_screeninfo *var, fb_match_mode() argument
1072 fb_var_to_videomode(&mode, var); list_for_each()
1211 struct fb_var_screeninfo var; local
1213 memset(&var, 0, sizeof(struct fb_var_screeninfo));
1214 var.xres = (specs->max_x * 7200)/254;
1215 var.yres = (specs->max_y * 7200)/254;
1216 m = fb_find_best_mode(&var, head);
882 fb_var_to_videomode(struct fb_videomode *mode, const struct fb_var_screeninfo *var) fb_var_to_videomode() argument
H A Dfbsysfs.c90 static int activate(struct fb_info *fb_info, struct fb_var_screeninfo *var) activate() argument
94 var->activate |= FB_ACTIVATE_FORCE; activate()
97 err = fb_set_var(fb_info, var); activate()
132 struct fb_var_screeninfo var; store_mode() local
139 memset(&var, 0, sizeof(var)); store_mode()
147 var = fb_info->var; store_mode()
148 fb_videomode_to_var(&var, mode); store_mode()
149 if ((err = activate(fb_info, &var))) store_mode()
223 struct fb_var_screeninfo var; store_bpp() local
227 var = fb_info->var; store_bpp()
228 var.bits_per_pixel = simple_strtoul(buf, last, 0); store_bpp()
229 if ((err = activate(fb_info, &var))) store_bpp()
238 return snprintf(buf, PAGE_SIZE, "%d\n", fb_info->var.bits_per_pixel); show_bpp()
246 struct fb_var_screeninfo var; store_rotate() local
250 var = fb_info->var; store_rotate()
251 var.rotate = simple_strtoul(buf, last, 0); store_rotate()
253 if ((err = activate(fb_info, &var))) store_rotate()
265 return snprintf(buf, PAGE_SIZE, "%d\n", fb_info->var.rotate); show_rotate()
273 struct fb_var_screeninfo var; store_virtual() local
277 var = fb_info->var; store_virtual()
278 var.xres_virtual = simple_strtoul(buf, &last, 0); store_virtual()
282 var.yres_virtual = simple_strtoul(last, &last, 0); store_virtual()
284 if ((err = activate(fb_info, &var))) store_virtual()
293 return snprintf(buf, PAGE_SIZE, "%d,%d\n", fb_info->var.xres_virtual, show_virtual()
294 fb_info->var.yres_virtual); show_virtual()
364 struct fb_var_screeninfo var; store_pan() local
368 var = fb_info->var; store_pan()
369 var.xoffset = simple_strtoul(buf, &last, 0); store_pan()
373 var.yoffset = simple_strtoul(last, &last, 0); store_pan()
376 err = fb_pan_display(fb_info, &var); store_pan()
388 return snprintf(buf, PAGE_SIZE, "%d,%d\n", fb_info->var.xoffset, show_pan()
389 fb_info->var.yoffset); show_pan()
H A Dfbmon.c384 struct fb_var_screeninfo *var; calc_mode_timings() local
386 var = kzalloc(sizeof(struct fb_var_screeninfo), GFP_KERNEL); calc_mode_timings()
388 if (var) { calc_mode_timings()
389 var->xres = xres; calc_mode_timings()
390 var->yres = yres; calc_mode_timings()
392 refresh, var, NULL); calc_mode_timings()
395 mode->pixclock = var->pixclock; calc_mode_timings()
397 mode->left_margin = var->left_margin; calc_mode_timings()
398 mode->right_margin = var->right_margin; calc_mode_timings()
399 mode->upper_margin = var->upper_margin; calc_mode_timings()
400 mode->lower_margin = var->lower_margin; calc_mode_timings()
401 mode->hsync_len = var->hsync_len; calc_mode_timings()
402 mode->vsync_len = var->vsync_len; calc_mode_timings()
405 kfree(var); calc_mode_timings()
893 int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var) fb_parse_edid() argument
898 if (edid == NULL || var == NULL) fb_parse_edid()
911 var->xres = var->xres_virtual = H_ACTIVE; fb_parse_edid()
912 var->yres = var->yres_virtual = V_ACTIVE; fb_parse_edid()
913 var->height = var->width = 0; fb_parse_edid()
914 var->right_margin = H_SYNC_OFFSET; fb_parse_edid()
915 var->left_margin = (H_ACTIVE + H_BLANKING) - fb_parse_edid()
917 var->upper_margin = V_BLANKING - V_SYNC_OFFSET - fb_parse_edid()
919 var->lower_margin = V_SYNC_OFFSET; fb_parse_edid()
920 var->hsync_len = H_SYNC_WIDTH; fb_parse_edid()
921 var->vsync_len = V_SYNC_WIDTH; fb_parse_edid()
922 var->pixclock = PIXEL_CLOCK; fb_parse_edid()
923 var->pixclock /= 1000; fb_parse_edid()
924 var->pixclock = KHZ2PICOS(var->pixclock); fb_parse_edid()
927 var->sync |= FB_SYNC_HOR_HIGH_ACT; fb_parse_edid()
929 var->sync |= FB_SYNC_VERT_HIGH_ACT; fb_parse_edid()
1277 * @var: pointer to fb_var_screeninfo
1290 * ignored and @var will be filled with the calculated timings.
1304 int fb_get_mode(int flags, u32 val, struct fb_var_screeninfo *var, struct fb_info *info) fb_get_mode() argument
1337 timings->hactive = var->xres; fb_get_mode()
1338 timings->vactive = var->yres; fb_get_mode()
1339 if (var->vmode & FB_VMODE_INTERLACED) { fb_get_mode()
1343 if (var->vmode & FB_VMODE_DOUBLE) { fb_get_mode()
1384 var->pixclock = KHZ2PICOS(timings->dclk/1000); fb_get_mode()
1385 var->hsync_len = (timings->htotal * 8)/100; fb_get_mode()
1386 var->right_margin = (timings->hblank/2) - var->hsync_len; fb_get_mode()
1387 var->left_margin = timings->hblank - var->right_margin - fb_get_mode()
1388 var->hsync_len; fb_get_mode()
1389 var->vsync_len = (3 * interlace)/dscan; fb_get_mode()
1390 var->lower_margin = (1 * interlace)/dscan; fb_get_mode()
1391 var->upper_margin = (timings->vblank * interlace)/dscan - fb_get_mode()
1392 (var->vsync_len + var->lower_margin); fb_get_mode()
1491 int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var) fb_parse_edid() argument
1505 int fb_get_mode(int flags, u32 val, struct fb_var_screeninfo *var, fb_get_mode() argument
1513 * fb_validate_mode - validates var against monitor capabilities
1514 * @var: pointer to fb_var_screeninfo
1524 int fb_validate_mode(const struct fb_var_screeninfo *var, struct fb_info *info) fb_validate_mode() argument
1550 if (!var->pixclock) fb_validate_mode()
1552 pixclock = PICOS2KHZ(var->pixclock) * 1000; fb_validate_mode()
1554 htotal = var->xres + var->right_margin + var->hsync_len + fb_validate_mode()
1555 var->left_margin; fb_validate_mode()
1556 vtotal = var->yres + var->lower_margin + var->vsync_len + fb_validate_mode()
1557 var->upper_margin; fb_validate_mode()
1559 if (var->vmode & FB_VMODE_INTERLACED) fb_validate_mode()
1561 if (var->vmode & FB_VMODE_DOUBLE) fb_validate_mode()
/linux-4.1.27/include/linux/amba/
H A Dclcd.h133 * Optional. Check whether the var structure is acceptable
136 int (*check)(struct clcd_fb *fb, struct fb_var_screeninfo *var);
139 * Compulsory. Decode fb->fb.var into regs->*. In the case of
191 struct fb_var_screeninfo *var = &fb->fb.var; clcdfb_decode() local
197 val = ((var->xres / 16) - 1) << 2; clcdfb_decode()
198 val |= (var->hsync_len - 1) << 8; clcdfb_decode()
199 val |= (var->right_margin - 1) << 16; clcdfb_decode()
200 val |= (var->left_margin - 1) << 24; clcdfb_decode()
203 val = var->yres; clcdfb_decode()
207 val |= (var->vsync_len - 1) << 10; clcdfb_decode()
208 val |= var->lower_margin << 16; clcdfb_decode()
209 val |= var->upper_margin << 24; clcdfb_decode()
213 val |= var->sync & FB_SYNC_HOR_HIGH_ACT ? 0 : TIM2_IHS; clcdfb_decode()
214 val |= var->sync & FB_SYNC_VERT_HIGH_ACT ? 0 : TIM2_IVS; clcdfb_decode()
216 cpl = var->xres_virtual; clcdfb_decode()
219 else if (!var->grayscale) /* STN color */ clcdfb_decode()
231 if (var->grayscale) clcdfb_decode()
235 var->bits_per_pixel >= 16) { clcdfb_decode()
240 if (var->red.offset == 0) clcdfb_decode()
246 switch (var->bits_per_pixel) { clcdfb_decode()
266 var->green.length == 5) clcdfb_decode()
268 else if (var->green.length == 6) clcdfb_decode()
279 regs->pixclock = var->pixclock; clcdfb_decode()
282 static inline int clcdfb_check(struct clcd_fb *fb, struct fb_var_screeninfo *var) clcdfb_check() argument
284 var->xres_virtual = var->xres = (var->xres + 15) & ~15; clcdfb_check()
285 var->yres_virtual = var->yres = (var->yres + 1) & ~1; clcdfb_check()
287 #define CHECK(e,l,h) (var->e < l || var->e > h) clcdfb_check()
291 var->xres > 4096 || clcdfb_check()
292 var->lower_margin > 255 || /* back porch */ clcdfb_check()
293 var->upper_margin > 255 || /* front porch */ clcdfb_check()
294 var->vsync_len > 32 || clcdfb_check()
295 var->yres > 1024) clcdfb_check()
306 if (var->grayscale != fb->fb.var.grayscale || clcdfb_check()
307 (var->vmode & FB_VMODE_MASK) != FB_VMODE_NONINTERLACED) clcdfb_check()
310 #define CHECK(e) (var->e != fb->fb.var.e) clcdfb_check()
326 var->nonstd = 0; clcdfb_check()
327 var->accel_flags = 0; clcdfb_check()
/linux-4.1.27/arch/ia64/include/asm/
H A Dpercpu.h12 # define THIS_CPU(var) (var) /* use this to mark accesses to per-CPU variables... */
38 * remapping, it is different from the canonical address returned by this_cpu_ptr(&var)!
42 #define __ia64_per_cpu_var(var) (*({ \
43 __verify_pcpu_ptr(&(var)); \
44 ((typeof(var) __kernel __force *)&(var)); \
/linux-4.1.27/drivers/video/fbdev/omap2/omapfb/
H A Domapfb-main.c67 struct fb_var_screeninfo *var = &fbi->var; draw_pixel() local
70 const unsigned bytespp = var->bits_per_pixel >> 3; draw_pixel()
77 if (var->bits_per_pixel == 16) { draw_pixel()
86 } else if (var->bits_per_pixel == 24) { draw_pixel()
93 } else if (var->bits_per_pixel == 32) { draw_pixel()
102 struct fb_var_screeninfo *var = &fbi->var; fill_fb() local
103 const short w = var->xres_virtual; fill_fb()
104 const short h = var->yres_virtual; fill_fb()
136 if (var->bits_per_pixel == 16) { fill_fb()
283 static bool cmp_var_to_colormode(struct fb_var_screeninfo *var, cmp_var_to_colormode() argument
286 if (var->bits_per_pixel == 0 || cmp_var_to_colormode()
287 var->red.length == 0 || cmp_var_to_colormode()
288 var->blue.length == 0 || cmp_var_to_colormode()
289 var->green.length == 0) cmp_var_to_colormode()
292 return var->bits_per_pixel == color->bits_per_pixel && cmp_var_to_colormode()
293 cmp_component(&var->red, &color->red) && cmp_var_to_colormode()
294 cmp_component(&var->green, &color->green) && cmp_var_to_colormode()
295 cmp_component(&var->blue, &color->blue) && cmp_var_to_colormode()
296 cmp_component(&var->transp, &color->transp); cmp_var_to_colormode()
299 static void assign_colormode_to_var(struct fb_var_screeninfo *var, assign_colormode_to_var() argument
302 var->bits_per_pixel = color->bits_per_pixel; assign_colormode_to_var()
303 var->nonstd = color->nonstd; assign_colormode_to_var()
304 var->red = color->red; assign_colormode_to_var()
305 var->green = color->green; assign_colormode_to_var()
306 var->blue = color->blue; assign_colormode_to_var()
307 var->transp = color->transp; assign_colormode_to_var()
310 static int fb_mode_to_dss_mode(struct fb_var_screeninfo *var, fb_mode_to_dss_mode() argument
317 if (var->nonstd) { fb_mode_to_dss_mode()
320 if (var->nonstd == m->nonstd) { fb_mode_to_dss_mode()
321 assign_colormode_to_var(var, m); fb_mode_to_dss_mode()
333 if (cmp_var_to_colormode(var, m)) { fb_mode_to_dss_mode()
334 assign_colormode_to_var(var, m); fb_mode_to_dss_mode()
342 switch (var->bits_per_pixel) { fb_mode_to_dss_mode()
374 assign_colormode_to_var(var, m); fb_mode_to_dss_mode()
383 static int check_fb_res_bounds(struct fb_var_screeninfo *var) check_fb_res_bounds() argument
391 if (var->xres_virtual == 0) check_fb_res_bounds()
392 var->xres_virtual = var->xres; check_fb_res_bounds()
394 if (var->yres_virtual == 0) check_fb_res_bounds()
395 var->yres_virtual = var->yres; check_fb_res_bounds()
397 if (var->xres_virtual < xres_min || var->yres_virtual < yres_min) check_fb_res_bounds()
400 if (var->xres < xres_min) check_fb_res_bounds()
401 var->xres = xres_min; check_fb_res_bounds()
402 if (var->yres < yres_min) check_fb_res_bounds()
403 var->yres = yres_min; check_fb_res_bounds()
404 if (var->xres > xres_max) check_fb_res_bounds()
405 var->xres = xres_max; check_fb_res_bounds()
406 if (var->yres > yres_max) check_fb_res_bounds()
407 var->yres = yres_max; check_fb_res_bounds()
409 if (var->xres > var->xres_virtual) check_fb_res_bounds()
410 var->xres = var->xres_virtual; check_fb_res_bounds()
411 if (var->yres > var->yres_virtual) check_fb_res_bounds()
412 var->yres = var->yres_virtual; check_fb_res_bounds()
418 struct fb_var_screeninfo *var) shrink_height()
421 var->yres_virtual = max_frame_size / shrink_height()
422 (var->xres_virtual * var->bits_per_pixel >> 3); shrink_height()
424 if (var->yres_virtual < OMAPFB_PLANE_YRES_MIN) shrink_height()
425 var->yres_virtual = OMAPFB_PLANE_YRES_MIN; shrink_height()
427 if (var->yres > var->yres_virtual) shrink_height()
428 var->yres = var->yres_virtual; shrink_height()
432 struct fb_var_screeninfo *var) shrink_width()
435 var->xres_virtual = max_frame_size / var->yres_virtual / shrink_width()
436 (var->bits_per_pixel >> 3); shrink_width()
438 if (var->xres_virtual < OMAPFB_PLANE_XRES_MIN) shrink_width()
439 var->xres_virtual = OMAPFB_PLANE_XRES_MIN; shrink_width()
441 if (var->xres > var->xres_virtual) shrink_width()
442 var->xres = var->xres_virtual; shrink_width()
446 const struct fb_var_screeninfo *var) check_vrfb_fb_size()
448 unsigned long min_phys_size = omap_vrfb_min_phys_size(var->xres_virtual, check_vrfb_fb_size()
449 var->yres_virtual, var->bits_per_pixel >> 3); check_vrfb_fb_size()
455 struct fb_var_screeninfo *var) check_fb_size()
458 int bytespp = var->bits_per_pixel >> 3; check_fb_size()
459 unsigned long line_size = var->xres_virtual * bytespp; check_fb_size()
463 if (check_vrfb_fb_size(max_frame_size, var)) check_fb_size()
465 max_frame_size, var->xres_virtual, bytespp) * check_fb_size()
466 line_size, var); check_fb_size()
468 if (check_vrfb_fb_size(max_frame_size, var)) { check_fb_size()
478 if (line_size * var->yres_virtual > max_frame_size) check_fb_size()
479 shrink_height(max_frame_size, var); check_fb_size()
481 if (line_size * var->yres_virtual > max_frame_size) { check_fb_size()
482 shrink_width(max_frame_size, var); check_fb_size()
483 line_size = var->xres_virtual * bytespp; check_fb_size()
486 if (line_size * var->yres_virtual > max_frame_size) { check_fb_size()
506 struct fb_var_screeninfo *var = &fbi->var; setup_vrfb_rotation() local
519 r = fb_mode_to_dss_mode(var, &mode); setup_vrfb_rotation()
523 bytespp = var->bits_per_pixel >> 3; setup_vrfb_rotation()
538 else if (vrfb->xres != var->xres_virtual || setup_vrfb_rotation()
539 vrfb->yres != var->yres_virtual) setup_vrfb_rotation()
555 var->xres_virtual, setup_vrfb_rotation()
556 var->yres_virtual, setup_vrfb_rotation()
560 r = omap_vrfb_map_angle(vrfb, var->yres_virtual, 0); setup_vrfb_rotation()
569 switch (var->nonstd) { setup_vrfb_rotation()
573 (OMAP_VRFB_LINE_LEN * var->bits_per_pixel) >> 2; setup_vrfb_rotation()
577 (OMAP_VRFB_LINE_LEN * var->bits_per_pixel) >> 3; setup_vrfb_rotation()
581 fix->smem_len = var->yres_virtual * fix->line_length; setup_vrfb_rotation()
587 struct fb_var_screeninfo *var) dss_mode_to_fb_mode()
594 assign_colormode_to_var(var, mode); dss_mode_to_fb_mode()
604 struct fb_var_screeninfo *var = &fbi->var; set_fb_fix() local
615 switch (var->nonstd) { set_fb_fix()
619 (OMAP_VRFB_LINE_LEN * var->bits_per_pixel) >> 2; set_fb_fix()
623 (OMAP_VRFB_LINE_LEN * var->bits_per_pixel) >> 3; set_fb_fix()
627 fix->smem_len = var->yres_virtual * fix->line_length; set_fb_fix()
630 (var->xres_virtual * var->bits_per_pixel) >> 3; set_fb_fix()
638 if (var->nonstd) set_fb_fix()
641 switch (var->bits_per_pixel) { set_fb_fix()
664 /* check new var and possibly modify it to be ok */ check_fb_var()
665 int check_fb_var(struct fb_info *fbi, struct fb_var_screeninfo *var) check_fb_var() argument
677 r = fb_mode_to_dss_mode(var, &mode); check_fb_var()
679 DBG("cannot convert var to omap dss mode\n"); check_fb_var()
690 if (var->rotate > 3) check_fb_var()
693 if (check_fb_res_bounds(var)) check_fb_var()
697 if (ofbi->region->size != 0 && check_fb_size(ofbi, var)) check_fb_var()
700 if (var->xres + var->xoffset > var->xres_virtual) check_fb_var()
701 var->xoffset = var->xres_virtual - var->xres; check_fb_var()
702 if (var->yres + var->yoffset > var->yres_virtual) check_fb_var()
703 var->yoffset = var->yres_virtual - var->yres; check_fb_var()
706 var->xres, var->yres, check_fb_var()
707 var->xres_virtual, var->yres_virtual); check_fb_var()
712 var->width = DIV_ROUND_CLOSEST(w, 1000); check_fb_var()
713 var->height = DIV_ROUND_CLOSEST(h, 1000); check_fb_var()
715 var->height = -1; check_fb_var()
716 var->width = -1; check_fb_var()
719 var->grayscale = 0; check_fb_var()
726 var->pixclock = timings.pixelclock != 0 ? check_fb_var()
729 var->left_margin = timings.hbp; check_fb_var()
730 var->right_margin = timings.hfp; check_fb_var()
731 var->upper_margin = timings.vbp; check_fb_var()
732 var->lower_margin = timings.vfp; check_fb_var()
733 var->hsync_len = timings.hsw; check_fb_var()
734 var->vsync_len = timings.vsw; check_fb_var()
735 var->sync |= timings.hsync_level == OMAPDSS_SIG_ACTIVE_HIGH ? check_fb_var()
737 var->sync |= timings.vsync_level == OMAPDSS_SIG_ACTIVE_HIGH ? check_fb_var()
739 var->vmode = timings.interlace ? check_fb_var()
742 var->pixclock = 0; check_fb_var()
743 var->left_margin = 0; check_fb_var()
744 var->right_margin = 0; check_fb_var()
745 var->upper_margin = 0; check_fb_var()
746 var->lower_margin = 0; check_fb_var()
747 var->hsync_len = 0; check_fb_var()
748 var->vsync_len = 0; check_fb_var()
749 var->sync = 0; check_fb_var()
750 var->vmode = FB_VMODE_NONINTERLACED; check_fb_var()
771 static unsigned calc_rotation_offset_dma(const struct fb_var_screeninfo *var, calc_rotation_offset_dma() argument
776 offset = var->yoffset * fix->line_length + calc_rotation_offset_dma()
777 var->xoffset * (var->bits_per_pixel >> 3); calc_rotation_offset_dma()
782 static unsigned calc_rotation_offset_vrfb(const struct fb_var_screeninfo *var, calc_rotation_offset_vrfb() argument
788 offset = (var->yres_virtual - var->yres) * calc_rotation_offset_vrfb()
791 offset = (var->yres_virtual - var->yres) * calc_rotation_offset_vrfb()
792 (var->bits_per_pixel >> 3); calc_rotation_offset_vrfb()
797 offset += var->yoffset * fix->line_length + calc_rotation_offset_vrfb()
798 var->xoffset * (var->bits_per_pixel >> 3); calc_rotation_offset_vrfb()
800 offset -= var->yoffset * fix->line_length + calc_rotation_offset_vrfb()
801 var->xoffset * (var->bits_per_pixel >> 3); calc_rotation_offset_vrfb()
803 offset -= var->xoffset * fix->line_length + calc_rotation_offset_vrfb()
804 var->yoffset * (var->bits_per_pixel >> 3); calc_rotation_offset_vrfb()
806 offset += var->xoffset * fix->line_length + calc_rotation_offset_vrfb()
807 var->yoffset * (var->bits_per_pixel >> 3); calc_rotation_offset_vrfb()
813 const struct fb_var_screeninfo *var, omapfb_calc_addr()
826 offset = calc_rotation_offset_vrfb(var, fix, rotation); omapfb_calc_addr()
828 offset = calc_rotation_offset_dma(var, fix, rotation); omapfb_calc_addr()
834 var->xoffset, var->yoffset, offset); omapfb_calc_addr()
847 struct fb_var_screeninfo *var = &fbi->var; omapfb_setup_overlay() local
855 int rotation = var->rotate; omapfb_setup_overlay()
872 xres = var->yres; omapfb_setup_overlay()
873 yres = var->xres; omapfb_setup_overlay()
875 xres = var->xres; omapfb_setup_overlay()
876 yres = var->yres; omapfb_setup_overlay()
880 omapfb_calc_addr(ofbi, var, fix, rotation, &data_start_p); omapfb_setup_overlay()
882 r = fb_mode_to_dss_mode(var, &mode); omapfb_setup_overlay()
888 switch (var->nonstd) { omapfb_setup_overlay()
893 / (var->bits_per_pixel >> 2); omapfb_setup_overlay()
897 screen_width = fix->line_length / (var->bits_per_pixel >> 3); omapfb_setup_overlay()
935 /* apply var to the overlay */ omapfb_apply_changes()
940 struct fb_var_screeninfo *var = &fbi->var; omapfb_apply_changes() local
967 int rotation = (var->rotate + ofbi->rotation[i]) % 4; omapfb_apply_changes()
970 outw = var->yres; omapfb_apply_changes()
971 outh = var->xres; omapfb_apply_changes()
973 outw = var->xres; omapfb_apply_changes()
974 outh = var->yres; omapfb_apply_changes()
1006 /* checks var and eventually tweaks it to something supported,
1008 static int omapfb_check_var(struct fb_var_screeninfo *var, struct fb_info *fbi) omapfb_check_var() argument
1017 r = check_fb_var(fbi, var); omapfb_check_var()
1024 /* set the video mode according to info->var */ omapfb_set_par()
1048 static int omapfb_pan_display(struct fb_var_screeninfo *var, omapfb_pan_display() argument
1057 if (var->xoffset == fbi->var.xoffset && omapfb_pan_display()
1058 var->yoffset == fbi->var.yoffset) omapfb_pan_display()
1061 new_var = fbi->var; omapfb_pan_display()
1062 new_var.xoffset = var->xoffset; omapfb_pan_display()
1063 new_var.yoffset = var->yoffset; omapfb_pan_display()
1065 fbi->var = new_var; omapfb_pan_display()
1146 struct fb_var_screeninfo *var = &fbi->var; _setcolreg() local
1179 pal = ((red >> (16 - var->red.length)) << _setcolreg()
1180 var->red.offset) | _setcolreg()
1181 ((green >> (16 - var->green.length)) << _setcolreg()
1182 var->green.offset) | _setcolreg()
1183 (blue >> (16 - var->blue.length)); _setcolreg()
1346 memset(&fbi->var, 0, sizeof(fbi->var)); clear_fb_info()
1585 .width = fbi->var.xres_virtual, omapfb_clear_fb()
1586 .height = fbi->var.yres_virtual, omapfb_clear_fb()
1648 memcpy(&new_var, &fbi->var, sizeof(new_var)); omapfb_realloc_fbmem()
1652 memcpy(&fbi->var, &new_var, sizeof(fbi->var)); omapfb_realloc_fbmem()
1740 /* initialize fb_info, var, fix to something sane based on the display */ omapfb_fb_init()
1743 struct fb_var_screeninfo *var = &fbi->var; omapfb_fb_init() local
1757 var->nonstd = 0; omapfb_fb_init()
1758 var->bits_per_pixel = 0; omapfb_fb_init()
1760 var->rotate = def_rotate; omapfb_fb_init()
1764 int rotation = (var->rotate + ofbi->rotation[0]) % 4; omapfb_fb_init()
1770 var->xres = h; omapfb_fb_init()
1771 var->yres = w; omapfb_fb_init()
1773 var->xres = w; omapfb_fb_init()
1774 var->yres = h; omapfb_fb_init()
1777 var->xres_virtual = var->xres; omapfb_fb_init()
1778 var->yres_virtual = var->yres; omapfb_fb_init()
1780 if (!var->bits_per_pixel) { omapfb_fb_init()
1783 var->bits_per_pixel = 16; omapfb_fb_init()
1786 var->bits_per_pixel = 32; omapfb_fb_init()
1796 var->xres = 320; omapfb_fb_init()
1797 var->yres = 240; omapfb_fb_init()
1798 var->xres_virtual = var->xres; omapfb_fb_init()
1799 var->yres_virtual = var->yres; omapfb_fb_init()
1800 if (!var->bits_per_pixel) omapfb_fb_init()
1801 var->bits_per_pixel = 16; omapfb_fb_init()
1804 r = check_fb_var(fbi, var); omapfb_fb_init()
2021 struct fb_var_screeninfo *var; omapfb_mode_to_timings() local
2038 * that we need fb_info and var, so we create dummy ones */ omapfb_mode_to_timings()
2042 var = NULL; omapfb_mode_to_timings()
2051 var = kzalloc(sizeof(*var), GFP_KERNEL); omapfb_mode_to_timings()
2052 if (var == NULL) { omapfb_mode_to_timings()
2065 r = fb_find_mode(var, fbi, mode_str, NULL, 0, NULL, 24); omapfb_mode_to_timings()
2079 timings->pixelclock = PICOS2KHZ(var->pixclock) * 1000; omapfb_mode_to_timings()
2080 timings->hbp = var->left_margin; omapfb_mode_to_timings()
2081 timings->hfp = var->right_margin; omapfb_mode_to_timings()
2082 timings->vbp = var->upper_margin; omapfb_mode_to_timings()
2083 timings->vfp = var->lower_margin; omapfb_mode_to_timings()
2084 timings->hsw = var->hsync_len; omapfb_mode_to_timings()
2085 timings->vsw = var->vsync_len; omapfb_mode_to_timings()
2086 timings->x_res = var->xres; omapfb_mode_to_timings()
2087 timings->y_res = var->yres; omapfb_mode_to_timings()
2088 timings->hsync_level = var->sync & FB_SYNC_HOR_HIGH_ACT ? omapfb_mode_to_timings()
2091 timings->vsync_level = var->sync & FB_SYNC_VERT_HIGH_ACT ? omapfb_mode_to_timings()
2094 timings->interlace = var->vmode & FB_VMODE_INTERLACED; omapfb_mode_to_timings()
2096 switch (var->bits_per_pixel) { omapfb_mode_to_timings()
2111 kfree(var); omapfb_mode_to_timings()
417 shrink_height(unsigned long max_frame_size, struct fb_var_screeninfo *var) shrink_height() argument
431 shrink_width(unsigned long max_frame_size, struct fb_var_screeninfo *var) shrink_width() argument
445 check_vrfb_fb_size(unsigned long region_size, const struct fb_var_screeninfo *var) check_vrfb_fb_size() argument
454 check_fb_size(const struct omapfb_info *ofbi, struct fb_var_screeninfo *var) check_fb_size() argument
586 dss_mode_to_fb_mode(enum omap_color_mode dssmode, struct fb_var_screeninfo *var) dss_mode_to_fb_mode() argument
812 omapfb_calc_addr(const struct omapfb_info *ofbi, const struct fb_var_screeninfo *var, const struct fb_fix_screeninfo *fix, int rotation, u32 *paddr) omapfb_calc_addr() argument
/linux-4.1.27/drivers/video/fbdev/i810/
H A Di810_gtf.c116 * i810fb_encode_registers - encode @var to hardware register values round_off_yres()
117 * @var: pointer to var structure round_off_yres()
121 * Timing values in @var will be converted to appropriate round_off_yres()
124 void i810fb_encode_registers(const struct fb_var_screeninfo *var, i810fb_encode_registers() argument
133 n = ((xres + var->right_margin + var->hsync_len + i810fb_encode_registers()
134 var->left_margin) >> 3) - 5; i810fb_encode_registers()
142 blank_e = (xres + var->right_margin + var->hsync_len + i810fb_encode_registers()
143 var->left_margin) >> 3; i810fb_encode_registers()
154 par->regs.cr04 = (u8) ((xres + var->right_margin) >> 3); i810fb_encode_registers()
155 par->regs.cr05 |= (u8) (((xres + var->right_margin + i810fb_encode_registers()
156 var->hsync_len) >> 3) & 0x1F); i810fb_encode_registers()
160 n = yres + var->lower_margin + var->vsync_len + var->upper_margin - 2; i810fb_encode_registers()
165 n = yres + var->lower_margin; i810fb_encode_registers()
169 par->regs.cr11 |= (u8) ((yres + var->lower_margin + i810fb_encode_registers()
170 var->vsync_len) & 0x0F); i810fb_encode_registers()
178 blank_e = yres + var->lower_margin + var->vsync_len + i810fb_encode_registers()
179 var->upper_margin; i810fb_encode_registers()
190 if (!(var->sync & FB_SYNC_HOR_HIGH_ACT)) i810fb_encode_registers()
192 if (!(var->sync & FB_SYNC_VERT_HIGH_ACT)) i810fb_encode_registers()
197 if (var->vmode & FB_VMODE_INTERLACED) i810fb_encode_registers()
198 par->interlace = (1 << 7) | ((u8) (var->yres >> 4)); i810fb_encode_registers()
202 if (var->vmode & FB_VMODE_DOUBLE) i810fb_encode_registers()
206 par->ovract = ((var->xres + var->right_margin + var->hsync_len + i810fb_encode_registers()
207 var->left_margin - 32) | ((var->xres - 32) << 16)); i810fb_encode_registers()
210 void i810fb_fill_var_timings(struct fb_var_screeninfo *var) { } i810fb_fill_var_timings() argument
214 * @var: pointer to fb_var_screeninfo i810fb_fill_var_timings()
224 u32 i810_get_watermark(const struct fb_var_screeninfo *var, i810_get_watermark() argument
231 switch (var->bits_per_pixel) { i810_get_watermark()
246 switch(var->bits_per_pixel) { i810_get_watermark()
262 pixclock = 1000000/var->pixclock; i810_get_watermark()
H A Di810_main.c93 static int i810fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info);
863 * @var: pointer to fb_var_screeninfo structure
866 * @var contains user-defined information for the mode to be set.
870 static void i810_round_off(struct fb_var_screeninfo *var) i810_round_off() argument
878 xres = var->xres; i810_round_off()
879 yres = var->yres; i810_round_off()
880 vxres = var->xres_virtual; i810_round_off()
881 vyres = var->yres_virtual; i810_round_off()
883 var->bits_per_pixel += 7; i810_round_off()
884 var->bits_per_pixel &= ~7; i810_round_off()
886 if (var->bits_per_pixel < 8) i810_round_off()
887 var->bits_per_pixel = 8; i810_round_off()
888 if (var->bits_per_pixel > 32) i810_round_off()
889 var->bits_per_pixel = 32; i810_round_off()
910 if (var->bits_per_pixel == 32) i810_round_off()
911 var->accel_flags = 0; i810_round_off()
914 var->left_margin = (var->left_margin + 4) & ~7; i810_round_off()
915 var->right_margin = (var->right_margin + 4) & ~7; i810_round_off()
916 var->hsync_len = (var->hsync_len + 4) & ~7; i810_round_off()
918 if (var->vmode & FB_VMODE_INTERLACED) { i810_round_off()
919 if (!((yres + var->upper_margin + var->vsync_len + i810_round_off()
920 var->lower_margin) & 1)) i810_round_off()
921 var->upper_margin++; i810_round_off()
924 var->xres = xres; i810_round_off()
925 var->yres = yres; i810_round_off()
926 var->xres_virtual = vxres; i810_round_off()
927 var->yres_virtual = vyres; i810_round_off()
932 * @var: pointer to fb_var_screeninfo
939 static void set_color_bitfields(struct fb_var_screeninfo *var) set_color_bitfields() argument
941 switch (var->bits_per_pixel) { set_color_bitfields()
943 var->red.offset = 0; set_color_bitfields()
944 var->red.length = 8; set_color_bitfields()
945 var->green.offset = 0; set_color_bitfields()
946 var->green.length = 8; set_color_bitfields()
947 var->blue.offset = 0; set_color_bitfields()
948 var->blue.length = 8; set_color_bitfields()
949 var->transp.offset = 0; set_color_bitfields()
950 var->transp.length = 0; set_color_bitfields()
953 var->green.length = (var->green.length == 5) ? 5 : 6; set_color_bitfields()
954 var->red.length = 5; set_color_bitfields()
955 var->blue.length = 5; set_color_bitfields()
956 var->transp.length = 6 - var->green.length; set_color_bitfields()
957 var->blue.offset = 0; set_color_bitfields()
958 var->green.offset = 5; set_color_bitfields()
959 var->red.offset = 5 + var->green.length; set_color_bitfields()
960 var->transp.offset = (5 + var->red.offset) & 15; set_color_bitfields()
964 var->red.offset = 16; set_color_bitfields()
965 var->red.length = 8; set_color_bitfields()
966 var->green.offset = 8; set_color_bitfields()
967 var->green.length = 8; set_color_bitfields()
968 var->blue.offset = 0; set_color_bitfields()
969 var->blue.length = 8; set_color_bitfields()
970 var->transp.length = var->bits_per_pixel - 24; set_color_bitfields()
971 var->transp.offset = (var->transp.length) ? 24 : 0; set_color_bitfields()
974 var->red.msb_right = 0; set_color_bitfields()
975 var->green.msb_right = 0; set_color_bitfields()
976 var->blue.msb_right = 0; set_color_bitfields()
977 var->transp.msb_right = 0; set_color_bitfields()
981 * i810_check_params - check if contents in var are valid
982 * @var: pointer to fb_var_screeninfo
990 static int i810_check_params(struct fb_var_screeninfo *var, i810_check_params() argument
995 u32 vyres = var->yres_virtual, vxres = var->xres_virtual; i810_check_params()
1000 line_length = get_line_length(par, vxres, var->bits_per_pixel); i810_check_params()
1005 if (vyres < var->yres) { i810_check_params()
1006 vyres = info->var.yres; i810_check_params()
1008 vxres /= var->bits_per_pixel >> 3; i810_check_params()
1010 var->bits_per_pixel); i810_check_params()
1011 vidmem = line_length * info->var.yres; i810_check_params()
1012 if (vxres < var->xres) { i810_check_params()
1017 var->bits_per_pixel); i810_check_params()
1023 var->xres_virtual = vxres; i810_check_params()
1024 var->yres_virtual = vyres; i810_check_params()
1029 switch (var->bits_per_pixel) { i810_check_params()
1044 if (!fb_validate_mode(var, info)) i810_check_params()
1049 !fb_get_mode(FB_MAXTIMINGS, 0, var, info)) i810_check_params()
1055 mode = fb_find_best_mode(var, &info->modelist); i810_check_params()
1057 fb_videomode_to_var(var, mode); i810_check_params()
1063 if (fb_get_mode(FB_MAXTIMINGS, 0, var, info)) { i810_check_params()
1102 switch (info->var.bits_per_pixel) { encode_fix()
1109 if (info->var.nonstd) encode_fix()
1127 * decode_var - modify par according to contents of var
1128 * @var: pointer to fb_var_screeninfo
1132 * Based on the contents of @var, @par will be dynamically filled up.
1135 static void decode_var(const struct fb_var_screeninfo *var, decode_var() argument
1140 xres = var->xres; decode_var()
1141 yres = var->yres; decode_var()
1142 vxres = var->xres_virtual; decode_var()
1143 vyres = var->yres_virtual; decode_var()
1145 switch (var->bits_per_pixel) { decode_var()
1153 if (var->green.length == 5) decode_var()
1174 if (var->nonstd && var->bits_per_pixel != 8) decode_var()
1177 i810_calc_dclk(var->pixclock, &par->regs.M, decode_var()
1179 i810fb_encode_registers(var, par, xres, yres); decode_var()
1181 par->watermark = i810_get_watermark(var, par); decode_var()
1182 par->pitch = get_line_length(par, vxres, var->bits_per_pixel); decode_var()
1206 if ((info->var.green.length == 5 && regno > 31) || i810fb_getcolreg()
1207 (info->var.green.length == 6 && regno > 63)) i810fb_getcolreg()
1215 info->var.green.length == 5) i810fb_getcolreg()
1219 info->var.green.length == 6) { i810fb_getcolreg()
1292 if ((info->var.green.length == 5 && regno > 31) || i810fb_setcolreg()
1293 (info->var.green.length == 6 && regno > 63)) i810fb_setcolreg()
1297 if (info->var.grayscale) i810fb_setcolreg()
1305 info->var.green.length == 5) { i810fb_setcolreg()
1310 info->var.green.length == 6) { i810fb_setcolreg()
1331 switch (info->var.bits_per_pixel) { i810fb_setcolreg()
1334 if (info->var.green.length == 5) i810fb_setcolreg()
1343 if (info->var.green.length == 5) { i810fb_setcolreg()
1375 static int i810fb_pan_display(struct fb_var_screeninfo *var, i810fb_pan_display() argument
1381 total = var->xoffset * par->depth + i810fb_pan_display()
1382 var->yoffset * info->fix.line_length; i810fb_pan_display()
1437 decode_var(&info->var, par); i810fb_set_par()
1442 if (info->var.accel_flags && !(par->dev_flags & LOCKUP)) { i810fb_set_par()
1454 static int i810fb_check_var(struct fb_var_screeninfo *var, i810fb_check_var() argument
1460 var->vmode &= ~FB_VMODE_MASK; i810fb_check_var()
1461 var->vmode |= FB_VMODE_NONINTERLACED; i810fb_check_var()
1463 if (var->vmode & FB_VMODE_DOUBLE) { i810fb_check_var()
1464 var->vmode &= ~FB_VMODE_MASK; i810fb_check_var()
1465 var->vmode |= FB_VMODE_NONINTERLACED; i810fb_check_var()
1468 i810_round_off(var); i810fb_check_var()
1469 if ((err = i810_check_params(var, info))) i810fb_check_var()
1472 i810fb_fill_var_timings(var); i810fb_check_var()
1473 set_color_bitfields(var); i810fb_check_var()
1498 tmp = (cursor->image.dx - info->var.xoffset) & 0xffff; i810fb_cursor()
1499 tmp |= (cursor->image.dy - info->var.yoffset) << 16; i810fb_cursor()
1786 info->var.xres = xres; i810_init_defaults()
1788 info->var.xres = 640; i810_init_defaults()
1791 info->var.yres = yres; i810_init_defaults()
1793 info->var.yres = 480; i810_init_defaults()
1796 vyres = (vram << 20)/(info->var.xres*bpp >> 3); i810_init_defaults()
1798 info->var.yres_virtual = vyres; i810_init_defaults()
1799 info->var.bits_per_pixel = bpp; i810_init_defaults()
1802 info->var.nonstd = 1; i810_init_defaults()
1805 info->var.accel_flags = 1; i810_init_defaults()
1896 struct fb_var_screeninfo var; i810fb_find_init_mode() local
1907 var = info->var; i810fb_find_init_mode()
1931 if ((m = fb_find_best_mode(&var, &info->modelist))) { i810fb_find_init_mode()
1943 fb_videomode_to_var(&var, &mode); i810fb_find_init_mode()
1947 fb_find_mode(&var, info, mode_option, specs->modedb, i810fb_find_init_mode()
1949 info->var.bits_per_pixel); i810fb_find_init_mode()
1951 info->var = var; i810fb_find_init_mode()
2052 if ((err = info->fbops->fb_check_var(&info->var, info))) { i810fb_init_pci()
2057 fb_var_to_videomode(&mode, &info->var); i810fb_init_pci()
2070 pixclock = 1000000000/(info->var.pixclock); i810fb_init_pci()
2072 hfreq = pixclock/(info->var.xres + info->var.left_margin + i810fb_init_pci()
2073 info->var.hsync_len + info->var.right_margin); i810fb_init_pci()
2074 vfreq = hfreq/(info->var.yres + info->var.upper_margin + i810fb_init_pci()
2075 info->var.vsync_len + info->var.lower_margin); i810fb_init_pci()
2086 info->monspecs.vfmax, info->var.xres, i810fb_init_pci()
2087 info->var.yres, info->var.bits_per_pixel, vfreq); i810fb_init_pci()
H A Di810_dvt.c233 void i810fb_encode_registers(const struct fb_var_screeninfo *var, i810fb_encode_registers() argument
241 par->ovract = ((xres + var->right_margin + var->hsync_len + i810fb_encode_registers()
242 var->left_margin - 32) | ((xres - 32) << 16)); i810fb_encode_registers()
245 void i810fb_fill_var_timings(struct fb_var_screeninfo *var) i810fb_fill_var_timings() argument
250 xres = var->xres; i810fb_fill_var_timings()
251 yres = var->yres; i810fb_fill_var_timings()
253 pixclock = 1000000000 / var->pixclock; i810fb_fill_var_timings()
259 var->pixclock = 1000000000 / std_modes[mode].pixclock; i810fb_fill_var_timings()
260 var->right_margin = (std_modes[mode].cr04 << 3) - xres; i810fb_fill_var_timings()
261 var->hsync_len = ((std_modes[mode].cr05 & 0x1F) - i810fb_fill_var_timings()
263 var->left_margin = (total - (xres + var->right_margin + i810fb_fill_var_timings()
264 var->hsync_len)); i810fb_fill_var_timings()
265 var->sync = FB_SYNC_ON_GREEN; i810fb_fill_var_timings()
267 var->sync |= FB_SYNC_HOR_HIGH_ACT; i810fb_fill_var_timings()
269 var->sync |= FB_SYNC_VERT_HIGH_ACT; i810fb_fill_var_timings()
272 var->lower_margin = (std_modes[mode].cr10 | i810fb_fill_var_timings()
274 var->vsync_len = (std_modes[mode].cr11 & 0x0F) - i810fb_fill_var_timings()
275 (var->lower_margin & 0x0F); i810fb_fill_var_timings()
276 var->upper_margin = total - (yres + var->lower_margin + var->vsync_len); i810fb_fill_var_timings()
279 u32 i810_get_watermark(struct fb_var_screeninfo *var, i810_get_watermark() argument
286 switch (var->bits_per_pixel) { i810_get_watermark()
298 switch (var->bits_per_pixel) { i810_get_watermark()
H A Di810_main.h20 extern u32 i810_get_watermark (const struct fb_var_screeninfo *var,
22 extern void i810fb_encode_registers(const struct fb_var_screeninfo *var,
24 extern void i810fb_fill_var_timings(struct fb_var_screeninfo *var);
/linux-4.1.27/drivers/video/fbdev/kyro/
H A Dfbdev.c317 info->var.bits_per_pixel, kyro_dev_video_mode_set()
318 info->var.xres, info->var.yres, kyro_dev_video_mode_set()
330 deviceInfo.ulNextFreeVidMem = info->var.xres * info->var.yres * kyro_dev_video_mode_set()
331 info->var.bits_per_pixel; kyro_dev_video_mode_set()
398 static int kyrofb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) kyrofb_check_var() argument
402 if (var->bits_per_pixel != 16 && var->bits_per_pixel != 32) { kyrofb_check_var()
403 printk(KERN_WARNING "kyrofb: depth not supported: %u\n", var->bits_per_pixel); kyrofb_check_var()
407 switch (var->bits_per_pixel) { kyrofb_check_var()
409 var->red.offset = 11; kyrofb_check_var()
410 var->red.length = 5; kyrofb_check_var()
411 var->green.offset = 5; kyrofb_check_var()
412 var->green.length = 6; kyrofb_check_var()
413 var->blue.length = 5; kyrofb_check_var()
416 var->transp.offset = 24; kyrofb_check_var()
417 var->red.offset = 16; kyrofb_check_var()
418 var->green.offset = 8; kyrofb_check_var()
419 var->blue.offset = 0; kyrofb_check_var()
421 var->red.length = 8; kyrofb_check_var()
422 var->green.length = 8; kyrofb_check_var()
423 var->blue.length = 8; kyrofb_check_var()
424 var->transp.length = 8; kyrofb_check_var()
429 var->height = var->width = -1; kyrofb_check_var()
443 // var->pixclock = 1000000000 / (par->PIXCLK / 10); kyrofb_check_var()
452 * override any of the var settings that we've already parsed kyrofb_check_var()
455 if ((var->activate & FB_ACTIVATE_MASK) == FB_ACTIVATE_TEST) kyrofb_check_var()
458 var->left_margin = par->HBP; kyrofb_check_var()
459 var->hsync_len = par->HST; kyrofb_check_var()
460 var->right_margin = par->HFP; kyrofb_check_var()
462 var->upper_margin = par->VBP; kyrofb_check_var()
463 var->vsync_len = par->VST; kyrofb_check_var()
464 var->lower_margin = par->VFP; kyrofb_check_var()
467 var->sync |= FB_SYNC_HOR_HIGH_ACT; kyrofb_check_var()
469 var->sync |= FB_SYNC_VERT_HIGH_ACT; kyrofb_check_var()
481 par->XRES = info->var.xres; kyrofb_set_par()
482 par->YRES = info->var.yres; kyrofb_set_par()
485 par->PIXDEPTH = info->var.bits_per_pixel; kyrofb_set_par()
489 lineclock = (info->var.pixclock * (info->var.xres + kyrofb_set_par()
490 info->var.right_margin + kyrofb_set_par()
491 info->var.hsync_len + kyrofb_set_par()
492 info->var.left_margin)) / 1000; kyrofb_set_par()
496 frameclock = lineclock * (info->var.yres + kyrofb_set_par()
497 info->var.lower_margin + kyrofb_set_par()
498 info->var.vsync_len + kyrofb_set_par()
499 info->var.upper_margin); kyrofb_set_par()
504 par->PIXCLK = ((1000000000 + (info->var.pixclock / 2)) kyrofb_set_par()
505 / info->var.pixclock) * 10; kyrofb_set_par()
508 par->HFP = info->var.right_margin; kyrofb_set_par()
509 par->HST = info->var.hsync_len; kyrofb_set_par()
510 par->HBP = info->var.left_margin; kyrofb_set_par()
514 par->VFP = info->var.lower_margin; kyrofb_set_par()
515 par->VST = info->var.vsync_len; kyrofb_set_par()
516 par->VBP = info->var.upper_margin; kyrofb_set_par()
519 par->HSP = (info->var.sync & FB_SYNC_HOR_HIGH_ACT) ? 1 : 0; kyrofb_set_par()
520 par->VSP = (info->var.sync & FB_SYNC_VERT_HIGH_ACT) ? 1 : 0; kyrofb_set_par()
540 switch (info->var.bits_per_pixel) { kyrofb_setcolreg()
720 if (!fb_find_mode(&info->var, info, mode_option, kyro_modedb, kyrofb_probe()
722 info->var = kyro_var; kyrofb_probe()
727 kyrofb_check_var(&info->var, info); kyrofb_probe()
729 size = get_line_length(info->var.xres_virtual, kyrofb_probe()
730 info->var.bits_per_pixel); kyrofb_probe()
731 size *= info->var.yres_virtual; kyrofb_probe()
740 info->var.xres, info->var.yres, info->var.bits_per_pixel, kyrofb_probe()
/linux-4.1.27/drivers/staging/xgifb/
H A DXGI_main_26.c617 struct fb_var_screeninfo *var) XGIfb_bpp_to_var()
619 switch (var->bits_per_pixel) { XGIfb_bpp_to_var()
621 var->red.offset = var->green.offset = var->blue.offset = 0; XGIfb_bpp_to_var()
622 var->red.length = var->green.length = var->blue.length = 6; XGIfb_bpp_to_var()
626 var->red.offset = 11; XGIfb_bpp_to_var()
627 var->red.length = 5; XGIfb_bpp_to_var()
628 var->green.offset = 5; XGIfb_bpp_to_var()
629 var->green.length = 6; XGIfb_bpp_to_var()
630 var->blue.offset = 0; XGIfb_bpp_to_var()
631 var->blue.length = 5; XGIfb_bpp_to_var()
632 var->transp.offset = 0; XGIfb_bpp_to_var()
633 var->transp.length = 0; XGIfb_bpp_to_var()
637 var->red.offset = 16; XGIfb_bpp_to_var()
638 var->red.length = 8; XGIfb_bpp_to_var()
639 var->green.offset = 8; XGIfb_bpp_to_var()
640 var->green.length = 8; XGIfb_bpp_to_var()
641 var->blue.offset = 0; XGIfb_bpp_to_var()
642 var->blue.length = 8; XGIfb_bpp_to_var()
643 var->transp.offset = 24; XGIfb_bpp_to_var()
644 var->transp.length = 8; XGIfb_bpp_to_var()
924 static int XGIfb_do_set_var(struct fb_var_screeninfo *var, int isactive, XGIfb_do_set_var() argument
929 unsigned int htotal = var->left_margin + var->xres + var->right_margin XGIfb_do_set_var()
930 + var->hsync_len; XGIfb_do_set_var()
931 unsigned int vtotal = var->upper_margin + var->yres + var->lower_margin XGIfb_do_set_var()
932 + var->vsync_len; XGIfb_do_set_var()
940 info->var.xres_virtual = var->xres_virtual; XGIfb_do_set_var()
941 info->var.yres_virtual = var->yres_virtual; XGIfb_do_set_var()
942 info->var.bits_per_pixel = var->bits_per_pixel; XGIfb_do_set_var()
944 if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_NONINTERLACED) XGIfb_do_set_var()
946 else if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_DOUBLE) XGIfb_do_set_var()
950 pr_debug("Invalid 'var' information\n"); XGIfb_do_set_var()
952 } pr_debug("var->pixclock=%d, htotal=%d, vtotal=%d\n", XGIfb_do_set_var()
953 var->pixclock, htotal, vtotal); XGIfb_do_set_var()
955 if (var->pixclock) { XGIfb_do_set_var()
956 drate = 1000000000 / var->pixclock; XGIfb_do_set_var()
965 var->xres, XGIfb_do_set_var()
966 var->yres, XGIfb_do_set_var()
967 var->bits_per_pixel, XGIfb_do_set_var()
974 (XGIbios_mode[xgifb_info->mode_idx].xres <= var->xres)) { XGIfb_do_set_var()
975 if ((XGIbios_mode[xgifb_info->mode_idx].xres == var->xres) && XGIfb_do_set_var()
976 (XGIbios_mode[xgifb_info->mode_idx].yres == var->yres) && XGIfb_do_set_var()
978 == var->bits_per_pixel)) { XGIfb_do_set_var()
993 var->xres, var->yres, var->bits_per_pixel); XGIfb_do_set_var()
1014 info->fix.line_length = (info->var.xres_virtual XGIfb_do_set_var()
1015 * info->var.bits_per_pixel) >> 6; XGIfb_do_set_var()
1033 xgifb_info->video_vwidth = info->var.xres_virtual; XGIfb_do_set_var()
1036 xgifb_info->video_vheight = info->var.yres_virtual; XGIfb_do_set_var()
1040 xgifb_info->video_linelength = info->var.xres_virtual XGIfb_do_set_var()
1077 XGIfb_bpp_to_var(xgifb_info, var); /*update ARGB info*/ XGIfb_do_set_var()
1083 static int XGIfb_pan_var(struct fb_var_screeninfo *var, struct fb_info *info) XGIfb_pan_var() argument
1088 base = var->yoffset * info->var.xres_virtual + var->xoffset; XGIfb_pan_var()
1091 switch (info->var.bits_per_pixel) { XGIfb_pan_var()
1135 static int XGIfb_get_cmap_len(const struct fb_var_screeninfo *var) XGIfb_get_cmap_len() argument
1137 return (var->bits_per_pixel == 8) ? 256 : 16; XGIfb_get_cmap_len()
1145 if (regno >= XGIfb_get_cmap_len(&info->var)) XGIfb_setcolreg()
1148 switch (info->var.bits_per_pixel) { XGIfb_setcolreg()
1221 err = XGIfb_do_set_var(&info->var, 1, info); XGIfb_set_par()
1228 static int XGIfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) XGIfb_check_var() argument
1231 unsigned int htotal = var->left_margin + var->xres + var->right_margin XGIfb_check_var()
1232 + var->hsync_len; XGIfb_check_var()
1238 if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_NONINTERLACED) { XGIfb_check_var()
1239 vtotal = var->upper_margin + var->yres + var->lower_margin XGIfb_check_var()
1240 + var->vsync_len; XGIfb_check_var()
1242 } else if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_DOUBLE) { XGIfb_check_var()
1243 vtotal = var->upper_margin + var->yres + var->lower_margin XGIfb_check_var()
1244 + var->vsync_len; XGIfb_check_var()
1246 } else if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) { XGIfb_check_var()
1247 vtotal = var->upper_margin + (var->yres / 2) XGIfb_check_var()
1248 + var->lower_margin + var->vsync_len; XGIfb_check_var()
1250 vtotal = var->upper_margin + var->yres + var->lower_margin XGIfb_check_var()
1251 + var->vsync_len; XGIfb_check_var()
1258 if (var->pixclock && htotal && vtotal) { XGIfb_check_var()
1259 drate = 1000000000 / var->pixclock; XGIfb_check_var()
1266 __func__, var->pixclock, htotal, vtotal, XGIfb_check_var()
1273 if ((var->xres == 1024) && (var->yres == 600)) XGIfb_check_var()
1278 (XGIbios_mode[search_idx].xres <= var->xres)) { XGIfb_check_var()
1279 if ((XGIbios_mode[search_idx].xres == var->xres) && XGIfb_check_var()
1280 (XGIbios_mode[search_idx].yres == var->yres) && XGIfb_check_var()
1281 (XGIbios_mode[search_idx].bpp == var->bits_per_pixel)) { XGIfb_check_var()
1293 var->xres, var->yres, var->bits_per_pixel); XGIfb_check_var()
1296 if ((var->xres <= XGIbios_mode[search_idx].xres) && XGIfb_check_var()
1297 (var->yres <= XGIbios_mode[search_idx].yres) && XGIfb_check_var()
1298 (var->bits_per_pixel == XGIfb_check_var()
1309 var->xres = XGIbios_mode[search_idx].xres; XGIfb_check_var()
1310 var->yres = XGIbios_mode[search_idx].yres; XGIfb_check_var()
1312 var->xres, var->yres, var->bits_per_pixel); XGIfb_check_var()
1316 var->xres, var->yres, var->bits_per_pixel); XGIfb_check_var()
1322 XGIfb_bpp_to_var(xgifb_info, var); XGIfb_check_var()
1325 if (var->xres != var->xres_virtual) XGIfb_check_var()
1326 var->xres_virtual = var->xres; XGIfb_check_var()
1327 if (var->yres != var->yres_virtual) XGIfb_check_var()
1328 var->yres_virtual = var->yres; XGIfb_check_var()
1332 if (var->xoffset > var->xres_virtual - var->xres) XGIfb_check_var()
1333 var->xoffset = var->xres_virtual - var->xres - 1; XGIfb_check_var()
1335 if (var->yoffset > var->yres_virtual - var->yres) XGIfb_check_var()
1336 var->yoffset = var->yres_virtual - var->yres - 1; XGIfb_check_var()
1339 var->red.msb_right = XGIfb_check_var()
1340 var->green.msb_right = XGIfb_check_var()
1341 var->blue.msb_right = XGIfb_check_var()
1342 var->transp.offset = var->transp.length = var->transp.msb_right = 0; XGIfb_check_var()
1347 static int XGIfb_pan_display(struct fb_var_screeninfo *var, XGIfb_pan_display() argument
1352 if (var->xoffset > (info->var.xres_virtual - info->var.xres)) XGIfb_pan_display()
1354 if (var->yoffset > (info->var.yres_virtual - info->var.yres)) XGIfb_pan_display()
1357 if (var->vmode & FB_VMODE_YWRAP) { XGIfb_pan_display()
1358 if (var->yoffset >= info->var.yres_virtual || var->xoffset) XGIfb_pan_display()
1360 } else if (var->xoffset + info->var.xres > info->var.xres_virtual XGIfb_pan_display()
1361 || var->yoffset + info->var.yres XGIfb_pan_display()
1362 > info->var.yres_virtual) { XGIfb_pan_display()
1365 err = XGIfb_pan_var(var, info); XGIfb_pan_display()
1369 info->var.xoffset = var->xoffset; XGIfb_pan_display()
1370 info->var.yoffset = var->yoffset; XGIfb_pan_display()
1371 if (var->vmode & FB_VMODE_YWRAP) XGIfb_pan_display()
1372 info->var.vmode |= FB_VMODE_YWRAP; XGIfb_pan_display()
1374 info->var.vmode &= ~FB_VMODE_YWRAP; XGIfb_pan_display()
1965 fb_info->var.red.length = 8; xgifb_probe()
1966 fb_info->var.green.length = 8; xgifb_probe()
1967 fb_info->var.blue.length = 8; xgifb_probe()
1968 fb_info->var.activate = FB_ACTIVATE_NOW; xgifb_probe()
1969 fb_info->var.height = -1; xgifb_probe()
1970 fb_info->var.width = -1; xgifb_probe()
1971 fb_info->var.vmode = FB_VMODE_NONINTERLACED; xgifb_probe()
1972 fb_info->var.xres = xgifb_info->video_width; xgifb_probe()
1973 fb_info->var.xres_virtual = xgifb_info->video_width; xgifb_probe()
1974 fb_info->var.yres = xgifb_info->video_height; xgifb_probe()
1975 fb_info->var.yres_virtual = xgifb_info->video_height; xgifb_probe()
1976 fb_info->var.bits_per_pixel = xgifb_info->video_bpp; xgifb_probe()
1978 XGIfb_bpp_to_var(xgifb_info, &fb_info->var); xgifb_probe()
1980 fb_info->var.pixclock = (u32) (1000000000 / xgifb_probe()
1987 &fb_info->var.left_margin, xgifb_probe()
1988 &fb_info->var.right_margin, xgifb_probe()
1989 &fb_info->var.upper_margin, xgifb_probe()
1990 &fb_info->var.lower_margin, xgifb_probe()
1991 &fb_info->var.hsync_len, xgifb_probe()
1992 &fb_info->var.vsync_len, xgifb_probe()
1993 &fb_info->var.sync, xgifb_probe()
1994 &fb_info->var.vmode)) { xgifb_probe()
1996 if ((fb_info->var.vmode & FB_VMODE_MASK) == xgifb_probe()
1998 fb_info->var.yres <<= 1; xgifb_probe()
1999 fb_info->var.yres_virtual <<= 1; xgifb_probe()
2000 } else if ((fb_info->var.vmode & FB_VMODE_MASK) == xgifb_probe()
2002 fb_info->var.pixclock >>= 1; xgifb_probe()
2003 fb_info->var.yres >>= 1; xgifb_probe()
2004 fb_info->var.yres_virtual >>= 1; xgifb_probe()
616 XGIfb_bpp_to_var(struct xgifb_video_info *xgifb_info, struct fb_var_screeninfo *var) XGIfb_bpp_to_var() argument
/linux-4.1.27/drivers/media/pci/ivtv/
H A Divtvfb.c514 static int ivtvfb_set_var(struct ivtv *itv, struct fb_var_screeninfo *var) ivtvfb_set_var() argument
524 if (var->nonstd) /* YUV */ ivtvfb_set_var()
530 switch (var->bits_per_pixel) { ivtvfb_set_var()
538 switch (var->green.length) { ivtvfb_set_var()
563 oi->bits_per_pixel = var->bits_per_pixel; ivtvfb_set_var()
564 oi->bytes_per_pixel = var->bits_per_pixel / 8; ivtvfb_set_var()
567 switch (var->vmode & FB_VMODE_MASK) { ivtvfb_set_var()
582 ivtv_osd.pixel_stride = var->xres_virtual; ivtvfb_set_var()
583 ivtv_osd.lines = var->yres_virtual; ivtvfb_set_var()
590 ivtv_window.width = var->xres; ivtvfb_set_var()
591 ivtv_window.height = var->yres; ivtvfb_set_var()
594 if (!var->upper_margin) ivtvfb_set_var()
595 var->upper_margin++; ivtvfb_set_var()
596 if (!var->left_margin) ivtvfb_set_var()
597 var->left_margin++; ivtvfb_set_var()
598 ivtv_window.top = var->upper_margin - 1; ivtvfb_set_var()
599 ivtv_window.left = var->left_margin - 1; ivtvfb_set_var()
611 memcpy(&oi->fbvar_cur, var, sizeof(oi->fbvar_cur)); ivtvfb_set_var()
614 var->xres, var->yres, ivtvfb_set_var()
615 var->xres_virtual, var->yres_virtual, ivtvfb_set_var()
616 var->bits_per_pixel); ivtvfb_set_var()
619 var->left_margin, var->upper_margin); ivtvfb_set_var()
622 (var->vmode & FB_VMODE_MASK) == FB_VMODE_NONINTERLACED ? "on" : "off"); ivtvfb_set_var()
623 IVTVFB_DEBUG_INFO("Color space: %s\n", var->nonstd ? "YUV" : "RGB"); ivtvfb_set_var()
650 static int _ivtvfb_check_var(struct fb_var_screeninfo *var, struct ivtv *itv) _ivtvfb_check_var() argument
672 if (var->bits_per_pixel == 8 || var->bits_per_pixel == 32) { _ivtvfb_check_var()
673 var->transp.offset = 24; _ivtvfb_check_var()
674 var->transp.length = 8; _ivtvfb_check_var()
675 var->red.offset = 16; _ivtvfb_check_var()
676 var->red.length = 8; _ivtvfb_check_var()
677 var->green.offset = 8; _ivtvfb_check_var()
678 var->green.length = 8; _ivtvfb_check_var()
679 var->blue.offset = 0; _ivtvfb_check_var()
680 var->blue.length = 8; _ivtvfb_check_var()
682 else if (var->bits_per_pixel == 16) { _ivtvfb_check_var()
684 switch (var->green.length) { _ivtvfb_check_var()
686 var->red.offset = 8; _ivtvfb_check_var()
687 var->red.length = 4; _ivtvfb_check_var()
688 var->green.offset = 4; _ivtvfb_check_var()
689 var->green.length = 4; _ivtvfb_check_var()
690 var->blue.offset = 0; _ivtvfb_check_var()
691 var->blue.length = 4; _ivtvfb_check_var()
692 var->transp.offset = 12; _ivtvfb_check_var()
693 var->transp.length = 1; _ivtvfb_check_var()
696 var->red.offset = 10; _ivtvfb_check_var()
697 var->red.length = 5; _ivtvfb_check_var()
698 var->green.offset = 5; _ivtvfb_check_var()
699 var->green.length = 5; _ivtvfb_check_var()
700 var->blue.offset = 0; _ivtvfb_check_var()
701 var->blue.length = 5; _ivtvfb_check_var()
702 var->transp.offset = 15; _ivtvfb_check_var()
703 var->transp.length = 1; _ivtvfb_check_var()
706 var->red.offset = 11; _ivtvfb_check_var()
707 var->red.length = 5; _ivtvfb_check_var()
708 var->green.offset = 5; _ivtvfb_check_var()
709 var->green.length = 6; _ivtvfb_check_var()
710 var->blue.offset = 0; _ivtvfb_check_var()
711 var->blue.length = 5; _ivtvfb_check_var()
712 var->transp.offset = 0; _ivtvfb_check_var()
713 var->transp.length = 0; _ivtvfb_check_var()
718 IVTVFB_DEBUG_WARN("Invalid colour mode: %d\n", var->bits_per_pixel); _ivtvfb_check_var()
723 if (var->xres > IVTV_OSD_MAX_WIDTH || var->yres > osd_height_limit) { _ivtvfb_check_var()
725 var->xres, var->yres); _ivtvfb_check_var()
730 if (var->xres_virtual > 4095 / (var->bits_per_pixel / 8) || _ivtvfb_check_var()
731 var->xres_virtual * var->yres_virtual * (var->bits_per_pixel / 8) > oi->video_buffer_size || _ivtvfb_check_var()
732 var->xres_virtual < var->xres || _ivtvfb_check_var()
733 var->yres_virtual < var->yres) { _ivtvfb_check_var()
735 var->xres_virtual, var->yres_virtual); _ivtvfb_check_var()
740 if (var->bits_per_pixel == 8) { _ivtvfb_check_var()
742 if (var->xres & 3) { _ivtvfb_check_var()
743 IVTVFB_DEBUG_WARN("Invalid resolution for 8bpp: %d\n", var->xres); _ivtvfb_check_var()
746 if (var->xres_virtual & 3) { _ivtvfb_check_var()
747 IVTVFB_DEBUG_WARN("Invalid virtual resolution for 8bpp: %d)\n", var->xres_virtual); _ivtvfb_check_var()
751 else if (var->bits_per_pixel == 16) { _ivtvfb_check_var()
753 if (var->xres & 1) { _ivtvfb_check_var()
754 IVTVFB_DEBUG_WARN("Invalid resolution for 16bpp: %d\n", var->xres); _ivtvfb_check_var()
757 if (var->xres_virtual & 1) { _ivtvfb_check_var()
758 IVTVFB_DEBUG_WARN("Invalid virtual resolution for 16bpp: %d)\n", var->xres_virtual); _ivtvfb_check_var()
764 if (var->xoffset >= var->xres_virtual || var->yoffset >= var->yres_virtual) { _ivtvfb_check_var()
766 var->xoffset, var->xres_virtual, var->yoffset, var->yres_virtual); _ivtvfb_check_var()
771 if (var->nonstd > 1) { _ivtvfb_check_var()
772 IVTVFB_DEBUG_WARN("Invalid nonstd % d\n", var->nonstd); _ivtvfb_check_var()
777 if (((var->vmode & FB_VMODE_MASK) != FB_VMODE_NONINTERLACED) && _ivtvfb_check_var()
778 ((var->vmode & FB_VMODE_MASK) != FB_VMODE_INTERLACED)) { _ivtvfb_check_var()
779 IVTVFB_DEBUG_WARN("Invalid video mode: %d\n", var->vmode & FB_VMODE_MASK); _ivtvfb_check_var()
787 if (var->left_margin + var->xres > IVTV_OSD_MAX_WIDTH + 1) _ivtvfb_check_var()
788 var->left_margin = 1 + ((IVTV_OSD_MAX_WIDTH - var->xres) / 2); _ivtvfb_check_var()
790 if (var->upper_margin + var->yres > (itv->is_out_50hz ? 577 : 481)) _ivtvfb_check_var()
791 var->upper_margin = 1 + (((itv->is_out_50hz ? 576 : 480) - _ivtvfb_check_var()
792 var->yres) / 2); _ivtvfb_check_var()
795 var->right_margin = hlimit - var->left_margin - var->xres; _ivtvfb_check_var()
796 var->lower_margin = vlimit - var->upper_margin - var->yres; _ivtvfb_check_var()
799 var->hsync_len = 24; _ivtvfb_check_var()
800 var->vsync_len = 2; _ivtvfb_check_var()
805 if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_NONINTERLACED) _ivtvfb_check_var()
806 var->pixclock = pixclock / 2; _ivtvfb_check_var()
808 var->pixclock = pixclock; _ivtvfb_check_var()
810 itv->osd_rect.width = var->xres; _ivtvfb_check_var()
811 itv->osd_rect.height = var->yres; _ivtvfb_check_var()
814 var->xres, var->yres, _ivtvfb_check_var()
815 var->xres_virtual, var->yres_virtual, _ivtvfb_check_var()
816 var->bits_per_pixel); _ivtvfb_check_var()
819 var->left_margin, var->upper_margin); _ivtvfb_check_var()
822 (var->vmode & FB_VMODE_MASK) == FB_VMODE_NONINTERLACED ? "on" : "off"); _ivtvfb_check_var()
823 IVTVFB_DEBUG_INFO("Color space: %s\n", var->nonstd ? "YUV" : "RGB"); _ivtvfb_check_var()
827 static int ivtvfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) ivtvfb_check_var() argument
831 return _ivtvfb_check_var(var, itv); ivtvfb_check_var()
834 static int ivtvfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) ivtvfb_pan_display() argument
839 if (var->yoffset + info->var.yres > info->var.yres_virtual || ivtvfb_pan_display()
840 var->xoffset + info->var.xres > info->var.xres_virtual) ivtvfb_pan_display()
843 osd_pan_index = var->yoffset * info->fix.line_length ivtvfb_pan_display()
844 + var->xoffset * info->var.bits_per_pixel / 8; ivtvfb_pan_display()
848 itv->yuv_info.osd_x_pan = var->xoffset; ivtvfb_pan_display()
849 itv->yuv_info.osd_y_pan = var->yoffset; ivtvfb_pan_display()
864 rc = ivtvfb_set_var(itv, &info->var); ivtvfb_set_par()
865 ivtvfb_pan_display(&info->var, info); ivtvfb_set_par()
882 if (info->var.bits_per_pixel <= 8) { ivtvfb_setcolreg()
892 if (info->var.bits_per_pixel == 16) { ivtvfb_setcolreg()
893 switch (info->var.green.length) { ivtvfb_setcolreg()
1068 oi->ivtvfb_info.var = oi->ivtvfb_defined; ivtvfb_init_vidmode()
/linux-4.1.27/drivers/video/fbdev/nvidia/
H A Dnvidia.c306 int i, depth = fb_get_color_depth(&info->var, &info->fix); nvidia_calc_regs()
307 int h_display = info->var.xres / 8 - 1; nvidia_calc_regs()
308 int h_start = (info->var.xres + info->var.right_margin) / 8 - 1; nvidia_calc_regs()
309 int h_end = (info->var.xres + info->var.right_margin + nvidia_calc_regs()
310 info->var.hsync_len) / 8 - 1; nvidia_calc_regs()
311 int h_total = (info->var.xres + info->var.right_margin + nvidia_calc_regs()
312 info->var.hsync_len + info->var.left_margin) / 8 - 5; nvidia_calc_regs()
315 int v_display = info->var.yres - 1; nvidia_calc_regs()
316 int v_start = info->var.yres + info->var.lower_margin - 1; nvidia_calc_regs()
317 int v_end = (info->var.yres + info->var.lower_margin + nvidia_calc_regs()
318 info->var.vsync_len) - 1; nvidia_calc_regs()
319 int v_total = (info->var.yres + info->var.lower_margin + nvidia_calc_regs()
320 info->var.vsync_len + info->var.upper_margin) - 2; nvidia_calc_regs()
328 if (info->var.vmode & FB_VMODE_INTERLACED) nvidia_calc_regs()
359 | ((info->var.vmode & FB_VMODE_DOUBLE) ? 0x80 : 0x00); nvidia_calc_regs()
363 state->crtc[0x13] = ((info->var.xres_virtual / 8) * nvidia_calc_regs()
364 (info->var.bits_per_pixel / 8)); nvidia_calc_regs()
389 if (info->var.vmode & FB_VMODE_INTERLACED) { nvidia_calc_regs()
410 if (info->var.sync & FB_SYNC_HOR_HIGH_ACT) nvidia_calc_regs()
414 if (info->var.sync & FB_SYNC_VERT_HIGH_ACT) nvidia_calc_regs()
419 NVCalcStateExt(par, state, i, info->var.xres_virtual, nvidia_calc_regs()
420 info->var.xres, info->var.yres_virtual, nvidia_calc_regs()
421 1000000000 / info->var.pixclock, info->var.vmode); nvidia_calc_regs()
427 if (!par->fpScaler || (par->fpWidth <= info->var.xres) nvidia_calc_regs()
428 || (par->fpHeight <= info->var.yres)) { nvidia_calc_regs()
467 if (info->var.vmode & FB_VMODE_DOUBLE) nvidia_calc_regs()
494 state->displayV = info->var.xres; nvidia_calc_regs()
557 yy = cursor->image.dy - info->var.yoffset; nvidiafb_cursor()
558 xx = cursor->image.dx - info->var.xoffset; nvidiafb_cursor()
635 info->fix.visual = (info->var.bits_per_pixel == 8) ? nvidiafb_set_par()
665 info->fix.line_length = (info->var.xres_virtual * nvidiafb_set_par()
666 info->var.bits_per_pixel) >> 3; nvidiafb_set_par()
667 if (info->var.accel_flags) { nvidiafb_set_par()
693 info->var.xres, info->var.yres, nvidiafb_set_par()
694 info->var.bits_per_pixel, info->fix.line_length); nvidiafb_set_par()
710 if (regno >= (1 << info->var.green.length)) nvidiafb_setcolreg()
713 if (info->var.grayscale) { nvidiafb_setcolreg()
720 (regno << info->var.red.offset) | nvidiafb_setcolreg()
721 (regno << info->var.green.offset) | nvidiafb_setcolreg()
722 (regno << info->var.blue.offset); nvidiafb_setcolreg()
725 switch (info->var.bits_per_pixel) { nvidiafb_setcolreg()
731 if (info->var.green.length == 5) { nvidiafb_setcolreg()
766 static int nvidiafb_check_var(struct fb_var_screeninfo *var, nvidiafb_check_var() argument
775 var->transp.offset = 0; nvidiafb_check_var()
776 var->transp.length = 0; nvidiafb_check_var()
778 var->xres &= ~7; nvidiafb_check_var()
780 if (var->bits_per_pixel <= 8) nvidiafb_check_var()
781 var->bits_per_pixel = 8; nvidiafb_check_var()
782 else if (var->bits_per_pixel <= 16) nvidiafb_check_var()
783 var->bits_per_pixel = 16; nvidiafb_check_var()
785 var->bits_per_pixel = 32; nvidiafb_check_var()
787 switch (var->bits_per_pixel) { nvidiafb_check_var()
789 var->red.offset = 0; nvidiafb_check_var()
790 var->red.length = 8; nvidiafb_check_var()
791 var->green.offset = 0; nvidiafb_check_var()
792 var->green.length = 8; nvidiafb_check_var()
793 var->blue.offset = 0; nvidiafb_check_var()
794 var->blue.length = 8; nvidiafb_check_var()
795 var->transp.offset = 0; nvidiafb_check_var()
796 var->transp.length = 0; nvidiafb_check_var()
799 var->green.length = (var->green.length < 6) ? 5 : 6; nvidiafb_check_var()
800 var->red.length = 5; nvidiafb_check_var()
801 var->blue.length = 5; nvidiafb_check_var()
802 var->transp.length = 6 - var->green.length; nvidiafb_check_var()
803 var->blue.offset = 0; nvidiafb_check_var()
804 var->green.offset = 5; nvidiafb_check_var()
805 var->red.offset = 5 + var->green.length; nvidiafb_check_var()
806 var->transp.offset = (5 + var->red.offset) & 15; nvidiafb_check_var()
809 var->red.offset = 16; nvidiafb_check_var()
810 var->red.length = 8; nvidiafb_check_var()
811 var->green.offset = 8; nvidiafb_check_var()
812 var->green.length = 8; nvidiafb_check_var()
813 var->blue.offset = 0; nvidiafb_check_var()
814 var->blue.length = 8; nvidiafb_check_var()
815 var->transp.length = 8; nvidiafb_check_var()
816 var->transp.offset = 24; nvidiafb_check_var()
820 var->red.msb_right = 0; nvidiafb_check_var()
821 var->green.msb_right = 0; nvidiafb_check_var()
822 var->blue.msb_right = 0; nvidiafb_check_var()
823 var->transp.msb_right = 0; nvidiafb_check_var()
826 !info->monspecs.dclkmax || !fb_validate_mode(var, info)) nvidiafb_check_var()
831 if (!fb_get_mode(FB_MAXTIMINGS, 0, var, info)) nvidiafb_check_var()
838 mode = fb_find_best_mode(var, &info->modelist); nvidiafb_check_var()
840 fb_videomode_to_var(var, mode); nvidiafb_check_var()
853 if (par->fpWidth && par->fpHeight && (par->fpWidth < var->xres || nvidiafb_check_var()
854 par->fpHeight < var->yres)) { nvidiafb_check_var()
857 var->xres = par->fpWidth; nvidiafb_check_var()
858 var->yres = par->fpHeight; nvidiafb_check_var()
860 mode = fb_find_best_mode(var, &info->modelist); nvidiafb_check_var()
867 fb_videomode_to_var(var, mode); nvidiafb_check_var()
870 if (var->yres_virtual < var->yres) nvidiafb_check_var()
871 var->yres_virtual = var->yres; nvidiafb_check_var()
873 if (var->xres_virtual < var->xres) nvidiafb_check_var()
874 var->xres_virtual = var->xres; nvidiafb_check_var()
876 var->xres_virtual = (var->xres_virtual + 63) & ~63; nvidiafb_check_var()
879 pitch = ((var->xres_virtual * var->bits_per_pixel) + 7) / 8; nvidiafb_check_var()
880 memlen = pitch * var->yres_virtual; nvidiafb_check_var()
883 var->yres_virtual = vramlen / pitch; nvidiafb_check_var()
885 if (var->yres_virtual < var->yres) { nvidiafb_check_var()
886 var->yres_virtual = var->yres; nvidiafb_check_var()
887 var->xres_virtual = vramlen / var->yres_virtual; nvidiafb_check_var()
888 var->xres_virtual /= var->bits_per_pixel / 8; nvidiafb_check_var()
889 var->xres_virtual &= ~63; nvidiafb_check_var()
890 pitch = (var->xres_virtual * nvidiafb_check_var()
891 var->bits_per_pixel + 7) / 8; nvidiafb_check_var()
892 memlen = pitch * var->yres; nvidiafb_check_var()
894 if (var->xres_virtual < var->xres) { nvidiafb_check_var()
898 memlen, var->xres_virtual, nvidiafb_check_var()
899 var->yres_virtual, var->bits_per_pixel); nvidiafb_check_var()
905 if (var->accel_flags) { nvidiafb_check_var()
906 if (var->yres_virtual > 0x7fff) nvidiafb_check_var()
907 var->yres_virtual = 0x7fff; nvidiafb_check_var()
908 if (var->xres_virtual > 0x7fff) nvidiafb_check_var()
909 var->xres_virtual = 0x7fff; nvidiafb_check_var()
912 var->xres_virtual &= ~63; nvidiafb_check_var()
919 static int nvidiafb_pan_display(struct fb_var_screeninfo *var, nvidiafb_pan_display() argument
925 total = var->yoffset * info->fix.line_length + var->xoffset; nvidiafb_pan_display()
1153 info->var = nvidiafb_default_var; nvidia_set_fbinfo()
1154 info->fix.visual = (info->var.bits_per_pixel == 8) ? nvidia_set_fbinfo()
1162 lpitch = info->var.xres_virtual * nvidia_set_fbinfo()
1163 ((info->var.bits_per_pixel + 7) >> 3); nvidia_set_fbinfo()
1164 info->var.yres_virtual = info->screen_size / lpitch; nvidia_set_fbinfo()
1175 info->var.accel_flags = (!noaccel); nvidia_set_fbinfo()
1197 return nvidiafb_check_var(&info->var, info); nvidia_set_fbinfo()
/linux-4.1.27/drivers/video/fbdev/matrox/
H A Dmatroxfb_crtc2.c37 if (m2info->fbcon.var.grayscale) { matroxfb_dh_setcolreg()
41 red = CNVT_TOHW(red, m2info->fbcon.var.red.length); matroxfb_dh_setcolreg()
42 green = CNVT_TOHW(green, m2info->fbcon.var.green.length); matroxfb_dh_setcolreg()
43 blue = CNVT_TOHW(blue, m2info->fbcon.var.blue.length); matroxfb_dh_setcolreg()
44 transp = CNVT_TOHW(transp, m2info->fbcon.var.transp.length); matroxfb_dh_setcolreg()
46 col = (red << m2info->fbcon.var.red.offset) | matroxfb_dh_setcolreg()
47 (green << m2info->fbcon.var.green.offset) | matroxfb_dh_setcolreg()
48 (blue << m2info->fbcon.var.blue.offset) | matroxfb_dh_setcolreg()
49 (transp << m2info->fbcon.var.transp.offset); matroxfb_dh_setcolreg()
51 switch (m2info->fbcon.var.bits_per_pixel) { matroxfb_dh_setcolreg()
122 u_int32_t linelen = m2info->fbcon.var.xres_virtual * (m2info->fbcon.var.bits_per_pixel >> 3); matroxfb_dh_restore()
168 struct fb_var_screeninfo* var) { matroxfb_dh_pan_var()
174 m2info->fbcon.var.xoffset = var->xoffset; matroxfb_dh_pan_var()
175 m2info->fbcon.var.yoffset = var->yoffset; matroxfb_dh_pan_var()
176 pixelsize = m2info->fbcon.var.bits_per_pixel >> 3; matroxfb_dh_pan_var()
177 linelen = m2info->fbcon.var.xres_virtual * pixelsize; matroxfb_dh_pan_var()
178 pos = m2info->fbcon.var.yoffset * linelen + m2info->fbcon.var.xoffset * pixelsize; matroxfb_dh_pan_var()
189 struct fb_var_screeninfo* var, matroxfb_dh_decode_var()
197 switch (var->bits_per_pixel) { matroxfb_dh_decode_var()
205 if (var->yres_virtual < var->yres) matroxfb_dh_decode_var()
206 var->yres_virtual = var->yres; matroxfb_dh_decode_var()
207 if (var->xres_virtual < var->xres) matroxfb_dh_decode_var()
208 var->xres_virtual = var->xres; matroxfb_dh_decode_var()
209 var->xres_virtual = (var->xres_virtual + mask) & ~mask; matroxfb_dh_decode_var()
210 if (var->yres_virtual > 32767) matroxfb_dh_decode_var()
212 memlen = var->xres_virtual * var->yres_virtual * (var->bits_per_pixel >> 3); matroxfb_dh_decode_var()
215 if (var->xoffset + var->xres > var->xres_virtual) matroxfb_dh_decode_var()
216 var->xoffset = var->xres_virtual - var->xres; matroxfb_dh_decode_var()
217 if (var->yoffset + var->yres > var->yres_virtual) matroxfb_dh_decode_var()
218 var->yoffset = var->yres_virtual - var->yres; matroxfb_dh_decode_var()
220 var->xres &= ~7; matroxfb_dh_decode_var()
221 var->left_margin &= ~7; matroxfb_dh_decode_var()
222 var->right_margin &= ~7; matroxfb_dh_decode_var()
223 var->hsync_len &= ~7; matroxfb_dh_decode_var()
225 *mode = var->bits_per_pixel; matroxfb_dh_decode_var()
226 if (var->bits_per_pixel == 16) { matroxfb_dh_decode_var()
227 if (var->green.length == 5) { matroxfb_dh_decode_var()
228 var->red.offset = 10; matroxfb_dh_decode_var()
229 var->red.length = 5; matroxfb_dh_decode_var()
230 var->green.offset = 5; matroxfb_dh_decode_var()
231 var->green.length = 5; matroxfb_dh_decode_var()
232 var->blue.offset = 0; matroxfb_dh_decode_var()
233 var->blue.length = 5; matroxfb_dh_decode_var()
234 var->transp.offset = 15; matroxfb_dh_decode_var()
235 var->transp.length = 1; matroxfb_dh_decode_var()
238 var->red.offset = 11; matroxfb_dh_decode_var()
239 var->red.length = 5; matroxfb_dh_decode_var()
240 var->green.offset = 5; matroxfb_dh_decode_var()
241 var->green.length = 6; matroxfb_dh_decode_var()
242 var->blue.offset = 0; matroxfb_dh_decode_var()
243 var->blue.length = 5; matroxfb_dh_decode_var()
244 var->transp.offset = 0; matroxfb_dh_decode_var()
245 var->transp.length = 0; matroxfb_dh_decode_var()
248 var->red.offset = 16; matroxfb_dh_decode_var()
249 var->red.length = 8; matroxfb_dh_decode_var()
250 var->green.offset = 8; matroxfb_dh_decode_var()
251 var->green.length = 8; matroxfb_dh_decode_var()
252 var->blue.offset = 0; matroxfb_dh_decode_var()
253 var->blue.length = 8; matroxfb_dh_decode_var()
254 var->transp.offset = 24; matroxfb_dh_decode_var()
255 var->transp.length = 8; matroxfb_dh_decode_var()
313 static int matroxfb_dh_check_var(struct fb_var_screeninfo* var, struct fb_info* info) { matroxfb_dh_check_var() argument
319 return matroxfb_dh_decode_var(m2info, var, &visual, &cmap_len, &mode); matroxfb_dh_check_var()
329 struct fb_var_screeninfo* var = &info->var; matroxfb_dh_set_par() local
332 if ((err = matroxfb_dh_decode_var(m2info, var, &visual, &cmap_len, &mode)) != 0) matroxfb_dh_set_par()
340 m2info->fbcon.fix.line_length = (var->xres_virtual * var->bits_per_pixel) >> 3; matroxfb_dh_set_par()
348 matroxfb_var2my(&m2info->fbcon.var, &mt); matroxfb_dh_set_par()
353 pos = (m2info->fbcon.var.yoffset * m2info->fbcon.var.xres_virtual + m2info->fbcon.var.xoffset) * m2info->fbcon.var.bits_per_pixel >> 3; matroxfb_dh_set_par()
395 static int matroxfb_dh_pan_display(struct fb_var_screeninfo* var, struct fb_info* info) { matroxfb_dh_pan_display() argument
397 matroxfb_dh_pan_var(m2info, var); matroxfb_dh_pan_display()
411 if (vblank->vcount >= m2info->fbcon.var.yres) matroxfb_dh_get_vblank()
167 matroxfb_dh_pan_var(struct matroxfb_dh_fb_info* m2info, struct fb_var_screeninfo* var) matroxfb_dh_pan_var() argument
188 matroxfb_dh_decode_var(struct matroxfb_dh_fb_info* m2info, struct fb_var_screeninfo* var, int *visual, int *video_cmap_len, int *mode) matroxfb_dh_decode_var() argument
H A Dmatroxfb_base.c160 if (info && (info->fbcon.var.bits_per_pixel == minfo->fbcon.var.bits_per_pixel) update_crtc2()
161 && (info->fbcon.var.xres_virtual == minfo->fbcon.var.xres_virtual) update_crtc2()
162 && (info->fbcon.var.green.length == minfo->fbcon.var.green.length) update_crtc2()
164 switch (minfo->fbcon.var.bits_per_pixel) { update_crtc2()
170 mga_outl(0x3C28, pos + minfo->fbcon.var.xres_virtual * minfo->fbcon.var.bits_per_pixel / 8); update_crtc2()
307 struct fb_var_screeninfo *var) matrox_pan_var()
322 minfo->fbcon.var.xoffset = var->xoffset; matrox_pan_var()
323 minfo->fbcon.var.yoffset = var->yoffset; matrox_pan_var()
324 pos = (minfo->fbcon.var.yoffset * minfo->fbcon.var.xres_virtual + minfo->fbcon.var.xoffset) * minfo->curr.final_bppShift / 32; matrox_pan_var()
332 vbl = (var->activate & FB_ACTIVATE_VBL) && (matroxfb_enable_irq(minfo, 0) == 0); matrox_pan_var()
421 static int matroxfb_pan_display(struct fb_var_screeninfo *var, matroxfb_pan_display() argument
427 matrox_pan_var(minfo, var); matroxfb_pan_display()
508 static int matroxfb_get_cmap_len(struct fb_var_screeninfo *var) { matroxfb_get_cmap_len() argument
512 switch (var->bits_per_pixel) { DBG()
531 struct fb_var_screeninfo *var, int *visual, matroxfb_decode_var()
553 unsigned int bpp = var->bits_per_pixel; matroxfb_decode_var()
570 if (var->yres_virtual < var->yres)
571 var->yres_virtual = var->yres;
572 if (var->xres_virtual < var->xres)
573 var->xres_virtual = var->xres;
575 var->xres_virtual = matroxfb_pitch_adjust(minfo, var->xres_virtual, bpp);
576 memlen = var->xres_virtual * bpp * var->yres_virtual / 8;
578 var->yres_virtual = vramlen * 8 / (var->xres_virtual * bpp);
579 memlen = var->xres_virtual * bpp * var->yres_virtual / 8;
589 unsigned int m1 = linelen = var->xres_virtual * bpp / 8;
604 if (var->yres_virtual > max_yres)
605 var->yres_virtual = max_yres;
609 if (var->yres_virtual > 32767)
610 var->yres_virtual = 32767;
613 if (var->yres_virtual < var->yres)
614 var->yres = var->yres_virtual;
615 if (var->xres_virtual < var->xres)
616 var->xres = var->xres_virtual;
617 if (var->xoffset + var->xres > var->xres_virtual)
618 var->xoffset = var->xres_virtual - var->xres;
619 if (var->yoffset + var->yres > var->yres_virtual)
620 var->yoffset = var->yres_virtual - var->yres;
622 if (bpp == 16 && var->green.length == 5) {
628 var->clr.offset = rgbt->clr.offset;\
629 var->clr.length = rgbt->clr.length
640 var->transp.length, var->red.length, var->green.length, var->blue.length,
641 var->transp.offset, var->red.offset, var->green.offset, var->blue.offset);
643 *video_cmap_len = matroxfb_get_cmap_len(var);
644 dprintk(KERN_INFO "requested %d*%d/%dbpp (%d*%d)\n", var->xres, var->yres, var->bits_per_pixel,
645 var->xres_virtual, var->yres_virtual);
660 * (according to the entries in the `var' structure). Return matroxfb_setcolreg()
667 if (minfo->fbcon.var.grayscale) { matroxfb_setcolreg()
672 red = CNVT_TOHW(red, minfo->fbcon.var.red.length); matroxfb_setcolreg()
673 green = CNVT_TOHW(green, minfo->fbcon.var.green.length); matroxfb_setcolreg()
674 blue = CNVT_TOHW(blue, minfo->fbcon.var.blue.length); matroxfb_setcolreg()
675 transp = CNVT_TOHW(transp, minfo->fbcon.var.transp.length); matroxfb_setcolreg()
677 switch (minfo->fbcon.var.bits_per_pixel) { matroxfb_setcolreg()
690 (red << minfo->fbcon.var.red.offset) | matroxfb_setcolreg()
691 (green << minfo->fbcon.var.green.offset) | matroxfb_setcolreg()
692 (blue << minfo->fbcon.var.blue.offset) | matroxfb_setcolreg()
693 (transp << minfo->fbcon.var.transp.offset); /* for 1:5:5:5 */ matroxfb_setcolreg()
702 (red << minfo->fbcon.var.red.offset) | matroxfb_setcolreg()
703 (green << minfo->fbcon.var.green.offset) | matroxfb_setcolreg()
704 (blue << minfo->fbcon.var.blue.offset) | matroxfb_setcolreg()
705 (transp << minfo->fbcon.var.transp.offset); /* 8:8:8:8 */ matroxfb_setcolreg()
737 static int matroxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) matroxfb_check_var() argument
748 if ((err = matroxfb_decode_var(minfo, var, &visual, &cmap_len, &ydstorg)) != 0) matroxfb_check_var()
759 struct fb_var_screeninfo *var; matroxfb_set_par() local
768 var = &info->var;
769 if ((err = matroxfb_decode_var(minfo, var, &visual, &cmap_len, &ydstorg)) != 0)
776 minfo->fbcon.fix.line_length = (var->xres_virtual * var->bits_per_pixel) >> 3;
784 if (var->bits_per_pixel == 4)
787 minfo->curr.ydstorg.pixels = (ydstorg * 8) / var->bits_per_pixel;
788 minfo->curr.final_bppShift = matroxfb_get_final_bppShift(minfo, var->bits_per_pixel);
793 matroxfb_var2my(var, &mt);
796 switch (var->bits_per_pixel) {
817 pos = (var->yoffset * var->xres_virtual + var->xoffset) * minfo->curr.final_bppShift / 32;
865 if (vblank->vcount >= minfo->fbcon.var.yres) matroxfb_get_vblank()
1886 struct fb_var_screeninfo var; initMatrox2() local
1895 if (!mac_vmode_to_var(default_vmode, default_cmode, &var)) { initMatrox2()
1896 var.accel_flags = vesafb_defined.accel_flags; initMatrox2()
1897 var.xoffset = var.yoffset = 0; initMatrox2()
1899 vesafb_defined = var; initMatrox2()
1915 /* And put it into "current" var. Do NOT program hardware yet, or we'll not take over initMatrox2()
1919 minfo->fbcon.var = vesafb_defined; initMatrox2()
1941 /* We have to use FB_ACTIVATE_FORCE, as we had to put vesafb_defined to the fbcon.var initMatrox2()
306 matrox_pan_var(struct matrox_fb_info *minfo, struct fb_var_screeninfo *var) matrox_pan_var() argument
530 matroxfb_decode_var(const struct matrox_fb_info *minfo, struct fb_var_screeninfo *var, int *visual, int *video_cmap_len, unsigned int* ydstorg) matroxfb_decode_var() argument
/linux-4.1.27/drivers/video/fbdev/geode/
H A Dgxfb_core.c139 static int gxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) gxfb_check_var() argument
141 if (var->xres > 1600 || var->yres > 1200) gxfb_check_var()
143 if ((var->xres > 1280 || var->yres > 1024) && var->bits_per_pixel > 16) gxfb_check_var()
146 if (var->bits_per_pixel == 32) { gxfb_check_var()
147 var->red.offset = 16; var->red.length = 8; gxfb_check_var()
148 var->green.offset = 8; var->green.length = 8; gxfb_check_var()
149 var->blue.offset = 0; var->blue.length = 8; gxfb_check_var()
150 } else if (var->bits_per_pixel == 16) { gxfb_check_var()
151 var->red.offset = 11; var->red.length = 5; gxfb_check_var()
152 var->green.offset = 5; var->green.length = 6; gxfb_check_var()
153 var->blue.offset = 0; var->blue.length = 5; gxfb_check_var()
154 } else if (var->bits_per_pixel == 8) { gxfb_check_var()
155 var->red.offset = 0; var->red.length = 8; gxfb_check_var()
156 var->green.offset = 0; var->green.length = 8; gxfb_check_var()
157 var->blue.offset = 0; var->blue.length = 8; gxfb_check_var()
160 var->transp.offset = 0; var->transp.length = 0; gxfb_check_var()
163 if (gx_line_delta(var->xres, var->bits_per_pixel) * var->yres > info->fix.smem_len) gxfb_check_var()
173 if (info->var.bits_per_pixel > 8) gxfb_set_par()
178 info->fix.line_length = gx_line_delta(info->var.xres, info->var.bits_per_pixel); gxfb_set_par()
196 if (info->var.grayscale) { gxfb_setcolreg()
209 v = chan_to_field(red, &info->var.red); gxfb_setcolreg()
210 v |= chan_to_field(green, &info->var.green); gxfb_setcolreg()
211 v |= chan_to_field(blue, &info->var.blue); gxfb_setcolreg()
315 info->var.nonstd = 0; gxfb_init_fbinfo()
316 info->var.activate = FB_ACTIVATE_NOW; gxfb_init_fbinfo()
317 info->var.height = -1; gxfb_init_fbinfo()
318 info->var.width = -1; gxfb_init_fbinfo()
319 info->var.accel_flags = 0; gxfb_init_fbinfo()
320 info->var.vmode = FB_VMODE_NONINTERLACED; gxfb_init_fbinfo()
328 info->var.grayscale = 0; gxfb_init_fbinfo()
404 ret = fb_find_mode(&info->var, info, mode_option, gxfb_probe()
416 gxfb_check_var(&info->var, info); gxfb_probe()
H A Dgx1fb_core.c100 static int gx1fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) gx1fb_check_var() argument
105 if (var->xres > 1280 || var->yres > 1024) gx1fb_check_var()
108 if (par->panel_x && (var->xres > par->panel_x || var->yres > par->panel_y)) gx1fb_check_var()
112 if (var->bits_per_pixel == 16) { gx1fb_check_var()
113 var->red.offset = 11; var->red.length = 5; gx1fb_check_var()
114 var->green.offset = 5; var->green.length = 6; gx1fb_check_var()
115 var->blue.offset = 0; var->blue.length = 5; gx1fb_check_var()
116 var->transp.offset = 0; var->transp.length = 0; gx1fb_check_var()
117 } else if (var->bits_per_pixel == 8) { gx1fb_check_var()
118 var->red.offset = 0; var->red.length = 8; gx1fb_check_var()
119 var->green.offset = 0; var->green.length = 8; gx1fb_check_var()
120 var->blue.offset = 0; var->blue.length = 8; gx1fb_check_var()
121 var->transp.offset = 0; var->transp.length = 0; gx1fb_check_var()
126 if (gx1_line_delta(var->xres, var->bits_per_pixel) * var->yres > info->fix.smem_len) gx1fb_check_var()
138 if (info->var.bits_per_pixel == 16) gx1fb_set_par()
143 info->fix.line_length = gx1_line_delta(info->var.xres, info->var.bits_per_pixel); gx1fb_set_par()
163 if (info->var.grayscale) { gx1fb_setcolreg()
176 v = chan_to_field(red, &info->var.red); gx1fb_setcolreg()
177 v |= chan_to_field(green, &info->var.green); gx1fb_setcolreg()
178 v |= chan_to_field(blue, &info->var.blue); gx1fb_setcolreg()
292 info->var.nonstd = 0; gx1fb_init_fbinfo()
293 info->var.activate = FB_ACTIVATE_NOW; gx1fb_init_fbinfo()
294 info->var.height = -1; gx1fb_init_fbinfo()
295 info->var.width = -1; gx1fb_init_fbinfo()
296 info->var.accel_flags = 0; gx1fb_init_fbinfo()
297 info->var.vmode = FB_VMODE_NONINTERLACED; gx1fb_init_fbinfo()
305 info->var.grayscale = 0; gx1fb_init_fbinfo()
341 ret = fb_find_mode(&info->var, info, mode_option, gx1fb_probe()
352 gx1fb_check_var(&info->var, info); gx1fb_probe()
H A Dlxfb_core.c248 static int lxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) lxfb_check_var() argument
250 if (var->xres > 1920 || var->yres > 1440) lxfb_check_var()
253 if (var->bits_per_pixel == 32) { lxfb_check_var()
254 var->red.offset = 16; var->red.length = 8; lxfb_check_var()
255 var->green.offset = 8; var->green.length = 8; lxfb_check_var()
256 var->blue.offset = 0; var->blue.length = 8; lxfb_check_var()
257 } else if (var->bits_per_pixel == 16) { lxfb_check_var()
258 var->red.offset = 11; var->red.length = 5; lxfb_check_var()
259 var->green.offset = 5; var->green.length = 6; lxfb_check_var()
260 var->blue.offset = 0; var->blue.length = 5; lxfb_check_var()
261 } else if (var->bits_per_pixel == 8) { lxfb_check_var()
262 var->red.offset = 0; var->red.length = 8; lxfb_check_var()
263 var->green.offset = 0; var->green.length = 8; lxfb_check_var()
264 var->blue.offset = 0; var->blue.length = 8; lxfb_check_var()
268 var->transp.offset = 0; var->transp.length = 0; lxfb_check_var()
271 if ((lx_get_pitch(var->xres, var->bits_per_pixel) * var->yres) lxfb_check_var()
280 if (info->var.bits_per_pixel > 8) lxfb_set_par()
285 info->fix.line_length = lx_get_pitch(info->var.xres, lxfb_set_par()
286 info->var.bits_per_pixel); lxfb_set_par()
303 if (info->var.grayscale) { lxfb_setcolreg()
316 v = chan_to_field(red, &info->var.red); lxfb_setcolreg()
317 v |= chan_to_field(green, &info->var.green); lxfb_setcolreg()
318 v |= chan_to_field(blue, &info->var.blue); lxfb_setcolreg()
436 info->var.nonstd = 0; lxfb_init_fbinfo()
437 info->var.activate = FB_ACTIVATE_NOW; lxfb_init_fbinfo()
438 info->var.height = -1; lxfb_init_fbinfo()
439 info->var.width = -1; lxfb_init_fbinfo()
440 info->var.accel_flags = 0; lxfb_init_fbinfo()
441 info->var.vmode = FB_VMODE_NONINTERLACED; lxfb_init_fbinfo()
454 info->var.grayscale = 0; lxfb_init_fbinfo()
531 ret = fb_find_mode(&info->var, info, mode_option, lxfb_probe()
548 lxfb_check_var(&info->var, info); lxfb_probe()
H A Ddisplay_gx.c108 ((info->var.xres * info->var.bits_per_pixel/8) >> 3) + 2); gx_set_mode()
116 switch (info->var.bits_per_pixel) { gx_set_mode()
133 hactive = info->var.xres; gx_set_mode()
135 hsyncstart = hblankstart + info->var.right_margin; gx_set_mode()
136 hsyncend = hsyncstart + info->var.hsync_len; gx_set_mode()
137 hblankend = hsyncend + info->var.left_margin; gx_set_mode()
140 vactive = info->var.yres; gx_set_mode()
142 vsyncstart = vblankstart + info->var.lower_margin; gx_set_mode()
143 vsyncend = vsyncstart + info->var.vsync_len; gx_set_mode()
144 vblankend = vsyncend + info->var.upper_margin; gx_set_mode()
H A Ddisplay_gx1.c139 writel(((info->var.xres * info->var.bits_per_pixel/8) >> 3) + 2, gx1_set_mode()
144 if (info->var.bits_per_pixel == 8) ocfg |= DC_OCFG_8BPP; gx1_set_mode()
151 hactive = info->var.xres; gx1_set_mode()
153 hsyncstart = hblankstart + info->var.right_margin; gx1_set_mode()
154 hsyncend = hsyncstart + info->var.hsync_len; gx1_set_mode()
155 hblankend = hsyncend + info->var.left_margin; gx1_set_mode()
158 vactive = info->var.yres; gx1_set_mode()
160 vsyncstart = vblankstart + info->var.lower_margin; gx1_set_mode()
161 vsyncend = vsyncstart + info->var.vsync_len; gx1_set_mode()
162 vblankend = vsyncend + info->var.upper_margin; gx1_set_mode()
H A Dvideo_cs5530.c81 min = cs5530_pll_table[0].pixclock - info->var.pixclock; cs5530_set_dclk_frequency()
84 diff = cs5530_pll_table[i].pixclock - info->var.pixclock; cs5530_set_dclk_frequency()
129 if (info->var.sync & FB_SYNC_HOR_HIGH_ACT) cs5530_configure_display()
131 if (info->var.sync & FB_SYNC_VERT_HIGH_ACT) cs5530_configure_display()
/linux-4.1.27/drivers/gpu/drm/vmwgfx/
H A Dvmwgfx_fb.c95 static int vmw_fb_check_var(struct fb_var_screeninfo *var, vmw_fb_check_var() argument
98 int depth = var->bits_per_pixel; vmw_fb_check_var()
102 switch (var->bits_per_pixel) { vmw_fb_check_var()
104 depth = (var->transp.length > 0) ? 32 : 24; vmw_fb_check_var()
107 DRM_ERROR("Bad bpp %u.\n", var->bits_per_pixel); vmw_fb_check_var()
113 var->red.offset = 16; vmw_fb_check_var()
114 var->green.offset = 8; vmw_fb_check_var()
115 var->blue.offset = 0; vmw_fb_check_var()
116 var->red.length = 8; vmw_fb_check_var()
117 var->green.length = 8; vmw_fb_check_var()
118 var->blue.length = 8; vmw_fb_check_var()
119 var->transp.length = 0; vmw_fb_check_var()
120 var->transp.offset = 0; vmw_fb_check_var()
123 var->red.offset = 16; vmw_fb_check_var()
124 var->green.offset = 8; vmw_fb_check_var()
125 var->blue.offset = 0; vmw_fb_check_var()
126 var->red.length = 8; vmw_fb_check_var()
127 var->green.length = 8; vmw_fb_check_var()
128 var->blue.length = 8; vmw_fb_check_var()
129 var->transp.length = 8; vmw_fb_check_var()
130 var->transp.offset = 24; vmw_fb_check_var()
138 (var->xoffset != 0 || var->yoffset != 0)) { vmw_fb_check_var()
143 if ((var->xoffset + var->xres) > par->max_width || vmw_fb_check_var()
144 (var->yoffset + var->yres) > par->max_height) { vmw_fb_check_var()
150 var->xres * var->bits_per_pixel/8, vmw_fb_check_var()
151 var->yoffset + var->yres)) { vmw_fb_check_var()
165 info->fix.line_length = info->var.xres * info->var.bits_per_pixel/8; vmw_fb_set_par()
167 ret = vmw_kms_write_svga(vmw_priv, info->var.xres, info->var.yres, vmw_fb_set_par()
178 vmw_write(vmw_priv, SVGA_REG_DISPLAY_POSITION_X, info->var.xoffset); vmw_fb_set_par()
179 vmw_write(vmw_priv, SVGA_REG_DISPLAY_POSITION_Y, info->var.yoffset); vmw_fb_set_par()
180 vmw_write(vmw_priv, SVGA_REG_DISPLAY_WIDTH, info->var.xres); vmw_fb_set_par()
181 vmw_write(vmw_priv, SVGA_REG_DISPLAY_HEIGHT, info->var.yres); vmw_fb_set_par()
193 static int vmw_fb_pan_display(struct fb_var_screeninfo *var, vmw_fb_pan_display() argument
233 w = min(par->dirty.x2, info->var.xres) - x; vmw_fb_dirty_flush()
234 h = min(par->dirty.y2, info->var.yres) - y; vmw_fb_dirty_flush()
319 par->dirty.x2 = info->var.xres;
477 * Fixed and var vmw_fb_init()
500 info->var.red.offset = 16; vmw_fb_init()
501 info->var.green.offset = 8; vmw_fb_init()
502 info->var.blue.offset = 0; vmw_fb_init()
503 info->var.red.length = 8; vmw_fb_init()
504 info->var.green.length = 8; vmw_fb_init()
505 info->var.blue.length = 8; vmw_fb_init()
506 info->var.transp.offset = 0; vmw_fb_init()
507 info->var.transp.length = 0; vmw_fb_init()
509 info->var.xres_virtual = fb_width; vmw_fb_init()
510 info->var.yres_virtual = fb_height; vmw_fb_init()
511 info->var.bits_per_pixel = par->bpp; vmw_fb_init()
512 info->var.xoffset = 0; vmw_fb_init()
513 info->var.yoffset = 0; vmw_fb_init()
514 info->var.activate = FB_ACTIVATE_NOW; vmw_fb_init()
515 info->var.height = -1; vmw_fb_init()
516 info->var.width = -1; vmw_fb_init()
518 info->var.xres = initial_width; vmw_fb_init()
519 info->var.yres = initial_height; vmw_fb_init()
655 vmw_fb_dirty_mark(par, 0, 0, info->var.xres, info->var.yres); vmw_fb_on()
/linux-4.1.27/fs/efivarfs/
H A Dinode.c108 struct efivar_entry *var; efivarfs_create() local
115 var = kzalloc(sizeof(struct efivar_entry), GFP_KERNEL); efivarfs_create()
116 if (!var) efivarfs_create()
123 &var->var.VendorGuid); efivarfs_create()
125 if (efivar_variable_is_removable(var->var.VendorGuid, efivarfs_create()
136 var->var.VariableName[i] = dentry->d_name.name[i]; efivarfs_create()
138 var->var.VariableName[i] = '\0'; efivarfs_create()
140 inode->i_private = var; efivarfs_create()
142 efivar_entry_add(var, &efivarfs_list); efivarfs_create()
147 kfree(var); efivarfs_create()
156 struct efivar_entry *var = d_inode(dentry)->i_private; efivarfs_unlink() local
158 if (efivar_entry_delete(var)) efivarfs_unlink()
H A Dfile.c20 struct efivar_entry *var = file->private_data; efivarfs_file_write() local
41 bytes = efivar_entry_set_get_size(var, attributes, &datasize, efivarfs_file_write()
70 struct efivar_entry *var = file->private_data; efivarfs_file_read() local
77 err = efivar_entry_size(var, &datasize); efivarfs_file_read()
93 size = efivar_entry_get(var, &attributes, &datasize, efivarfs_file_read()
/linux-4.1.27/drivers/md/bcache/
H A Dsysfs.h56 #define sysfs_print(file, var) \
59 return snprint(buf, PAGE_SIZE, var); \
71 #define var_printf(_var, fmt) sysfs_printf(_var, fmt, var(_var))
72 #define var_print(_var) sysfs_print(_var, var(_var))
73 #define var_hprint(_var) sysfs_hprint(_var, var(_var))
75 #define sysfs_strtoul(file, var) \
78 return strtoul_safe(buf, var) ?: (ssize_t) size; \
81 #define sysfs_strtoul_clamp(file, var, min, max) \
84 return strtoul_safe_clamp(buf, var, min, max) \
104 #define sysfs_hatoi(file, var) \
107 return strtoi_h(buf, &var) ?: (ssize_t) size; \
H A Dstats.c56 #define var(stat) (s->stat >> 16) SHOW() macro
63 DIV_SAFE(var(cache_hits) * 100, SHOW()
64 var(cache_hits) + var(cache_misses))); SHOW()
68 sysfs_hprint(bypassed, var(sectors_bypassed) << 9); SHOW()
69 #undef var SHOW() macro
H A Dutil.h338 #define strtoul_safe(cp, var) \
343 var = _v; \
347 #define strtoul_safe_clamp(cp, var, min, max) \
352 var = clamp_t(typeof(var), _v, min, max); \
356 #define snprint(buf, size, var) \
358 __builtin_types_compatible_p(typeof(var), int) \
360 __builtin_types_compatible_p(typeof(var), unsigned) \
362 __builtin_types_compatible_p(typeof(var), long) \
364 __builtin_types_compatible_p(typeof(var), unsigned long)\
366 __builtin_types_compatible_p(typeof(var), int64_t) \
368 __builtin_types_compatible_p(typeof(var), uint64_t) \
370 __builtin_types_compatible_p(typeof(var), const char *) \
371 ? "%s\n" : "%i\n", var)
/linux-4.1.27/drivers/video/fbdev/mb862xx/
H A Dmb862xxfbdrv.c46 static inline int h_total(struct fb_var_screeninfo *var) h_total() argument
48 return var->xres + var->left_margin + h_total()
49 var->right_margin + var->hsync_len; h_total()
52 static inline int v_total(struct fb_var_screeninfo *var) v_total() argument
54 return var->yres + var->upper_margin + v_total()
55 var->lower_margin + var->vsync_len; v_total()
58 static inline int hsp(struct fb_var_screeninfo *var) hsp() argument
60 return var->xres + var->right_margin - 1; hsp()
63 static inline int vsp(struct fb_var_screeninfo *var) vsp() argument
65 return var->yres + var->lower_margin - 1; vsp()
68 static inline int d_pitch(struct fb_var_screeninfo *var) d_pitch() argument
70 return var->xres * var->bits_per_pixel / 8; d_pitch()
91 val = chan_to_field(red, &info->var.red); mb862xxfb_setcolreg()
92 val |= chan_to_field(green, &info->var.green); mb862xxfb_setcolreg()
93 val |= chan_to_field(blue, &info->var.blue); mb862xxfb_setcolreg()
111 static int mb862xxfb_check_var(struct fb_var_screeninfo *var, mb862xxfb_check_var() argument
120 if (var->hsync_len > 255 || var->vsync_len > 255) mb862xxfb_check_var()
123 if ((var->xres + var->right_margin) >= 4096) mb862xxfb_check_var()
126 if ((var->yres + var->lower_margin) > 4096) mb862xxfb_check_var()
129 if (h_total(var) > 4096 || v_total(var) > 4096) mb862xxfb_check_var()
132 if (var->xres_virtual > 4096 || var->yres_virtual > 4096) mb862xxfb_check_var()
135 if (var->bits_per_pixel <= 8) mb862xxfb_check_var()
136 var->bits_per_pixel = 8; mb862xxfb_check_var()
137 else if (var->bits_per_pixel <= 16) mb862xxfb_check_var()
138 var->bits_per_pixel = 16; mb862xxfb_check_var()
139 else if (var->bits_per_pixel <= 32) mb862xxfb_check_var()
140 var->bits_per_pixel = 32; mb862xxfb_check_var()
146 if (d_pitch(&fbi->var) % GC_L0M_L0W_UNIT) { mb862xxfb_check_var()
149 var->bits_per_pixel = 0; mb862xxfb_check_var()
151 var->bits_per_pixel += 8; mb862xxfb_check_var()
152 r = d_pitch(&fbi->var) % GC_L0M_L0W_UNIT; mb862xxfb_check_var()
153 } while (r && var->bits_per_pixel <= 32); mb862xxfb_check_var()
155 if (d_pitch(&fbi->var) % GC_L0M_L0W_UNIT) mb862xxfb_check_var()
160 tmp = (var->xres * var->bits_per_pixel) / 8; mb862xxfb_check_var()
165 switch (var->bits_per_pixel) { mb862xxfb_check_var()
167 var->red.length = var->bits_per_pixel; mb862xxfb_check_var()
168 var->green.length = var->bits_per_pixel; mb862xxfb_check_var()
169 var->blue.length = var->bits_per_pixel; mb862xxfb_check_var()
170 var->red.offset = 0; mb862xxfb_check_var()
171 var->green.offset = 0; mb862xxfb_check_var()
172 var->blue.offset = 0; mb862xxfb_check_var()
173 var->transp.length = 0; mb862xxfb_check_var()
176 var->red.length = 5; mb862xxfb_check_var()
177 var->green.length = 5; mb862xxfb_check_var()
178 var->blue.length = 5; mb862xxfb_check_var()
179 var->red.offset = 10; mb862xxfb_check_var()
180 var->green.offset = 5; mb862xxfb_check_var()
181 var->blue.offset = 0; mb862xxfb_check_var()
182 var->transp.length = 0; mb862xxfb_check_var()
186 var->transp.length = 8; mb862xxfb_check_var()
187 var->red.length = 8; mb862xxfb_check_var()
188 var->green.length = 8; mb862xxfb_check_var()
189 var->blue.length = 8; mb862xxfb_check_var()
190 var->transp.offset = 24; mb862xxfb_check_var()
191 var->red.offset = 16; mb862xxfb_check_var()
192 var->green.offset = 8; mb862xxfb_check_var()
193 var->blue.offset = 0; mb862xxfb_check_var()
211 mb862xxfb_init_accel(fbi, fbi->var.xres); mb862xxfb_set_par()
222 sc = par->refclk / (1000000 / fbi->var.pixclock) - 1; mb862xxfb_set_par()
230 reg = pack(d_pitch(&fbi->var) / GC_L0M_L0W_UNIT, mb862xxfb_set_par()
231 (fbi->var.yres - 1)); mb862xxfb_set_par()
232 if (fbi->var.bits_per_pixel == 16) mb862xxfb_set_par()
236 if (fbi->var.bits_per_pixel == 32) { mb862xxfb_set_par()
241 reg = pack(fbi->var.yres - 1, fbi->var.xres); mb862xxfb_set_par()
255 reg = pack(fbi->var.xres - 1, fbi->var.xres - 1); mb862xxfb_set_par()
257 reg = pack((fbi->var.yres - 1), vsp(&fbi->var)); mb862xxfb_set_par()
259 reg = ((fbi->var.vsync_len - 1) << 24) | mb862xxfb_set_par()
260 pack((fbi->var.hsync_len - 1), hsp(&fbi->var)); mb862xxfb_set_par()
262 outreg(disp, GC_HTP, pack(h_total(&fbi->var) - 1, 0)); mb862xxfb_set_par()
263 outreg(disp, GC_VTR, pack(v_total(&fbi->var) - 1, 0)); mb862xxfb_set_par()
273 static int mb862xxfb_pan(struct fb_var_screeninfo *var, mb862xxfb_pan() argument
279 reg = pack(var->yoffset, var->xoffset); mb862xxfb_pan()
282 reg = pack(info->var.yres_virtual, info->var.xres_virtual); mb862xxfb_pan()
452 fbi->var.pixclock = (sc * 1000000) / par->refclk; mb862xxfb_init_fbinfo()
453 fbi->var.xres = (inreg(disp, GC_HDB_HDP) & 0x0fff) + 1; mb862xxfb_init_fbinfo()
455 fbi->var.yres = ((reg >> 16) & 0x0fff) + 1; mb862xxfb_init_fbinfo()
457 fbi->var.xres_virtual = fbi->var.xres; mb862xxfb_init_fbinfo()
458 fbi->var.yres_virtual = fbi->var.yres; mb862xxfb_init_fbinfo()
461 fbi->var.bits_per_pixel = 32; mb862xxfb_init_fbinfo()
465 fbi->var.bits_per_pixel = 16; mb862xxfb_init_fbinfo()
467 fbi->var.bits_per_pixel = 8; mb862xxfb_init_fbinfo()
470 fbi->var.hsync_len = ((reg & 0xff0000) >> 16) + 1; mb862xxfb_init_fbinfo()
471 fbi->var.vsync_len = ((reg & 0x3f000000) >> 24) + 1; mb862xxfb_init_fbinfo()
474 fbi->var.right_margin = hsp - fbi->var.xres; mb862xxfb_init_fbinfo()
475 fbi->var.left_margin = ht - hsp - fbi->var.hsync_len; mb862xxfb_init_fbinfo()
477 fbi->var.lower_margin = vsp - fbi->var.yres; mb862xxfb_init_fbinfo()
478 fbi->var.upper_margin = vt - vsp - fbi->var.vsync_len; mb862xxfb_init_fbinfo()
481 fb_videomode_to_var(&fbi->var, (struct fb_videomode *)mode); mb862xxfb_init_fbinfo()
482 fbi->var.bits_per_pixel = mode->def_bpp ? mode->def_bpp : 8; mb862xxfb_init_fbinfo()
486 ret = fb_find_mode(&fbi->var, fbi, "640x480-16@60", mb862xxfb_init_fbinfo()
495 fbi->var.xoffset = 0; mb862xxfb_init_fbinfo()
496 fbi->var.yoffset = 0; mb862xxfb_init_fbinfo()
497 fbi->var.grayscale = 0; mb862xxfb_init_fbinfo()
498 fbi->var.nonstd = 0; mb862xxfb_init_fbinfo()
499 fbi->var.height = -1; mb862xxfb_init_fbinfo()
500 fbi->var.width = -1; mb862xxfb_init_fbinfo()
501 fbi->var.accel_flags = 0; mb862xxfb_init_fbinfo()
502 fbi->var.vmode = FB_VMODE_NONINTERLACED; mb862xxfb_init_fbinfo()
503 fbi->var.activate = FB_ACTIVATE_NOW; mb862xxfb_init_fbinfo()
512 if ((fbi->fbops->fb_check_var)(&fbi->var, fbi)) mb862xxfb_init_fbinfo()
515 fbi->fix.visual = fbi->var.bits_per_pixel == 8 ? mb862xxfb_init_fbinfo()
517 fbi->fix.line_length = (fbi->var.xres_virtual * mb862xxfb_init_fbinfo()
518 fbi->var.bits_per_pixel) / 8; mb862xxfb_init_fbinfo()
519 fbi->fix.smem_len = fbi->fix.line_length * fbi->var.yres_virtual; mb862xxfb_init_fbinfo()
535 stride = par->l1_cfg.sw * (fbi->var.bits_per_pixel / 8); mb862xxfb_init_fbinfo()
/linux-4.1.27/drivers/media/platform/vivid/
H A Dvivid-osd.c108 static int vivid_fb_set_var(struct vivid_dev *dev, struct fb_var_screeninfo *var) vivid_fb_set_var() argument
112 if (var->bits_per_pixel != 16) { vivid_fb_set_var()
116 dev->display_byte_stride = var->xres * dev->bytes_per_pixel; vivid_fb_set_var()
141 static int _vivid_fb_check_var(struct fb_var_screeninfo *var, struct vivid_dev *dev) _vivid_fb_check_var() argument
145 var->bits_per_pixel = 16; _vivid_fb_check_var()
146 if (var->green.length == 5) { _vivid_fb_check_var()
147 var->red.offset = 10; _vivid_fb_check_var()
148 var->red.length = 5; _vivid_fb_check_var()
149 var->green.offset = 5; _vivid_fb_check_var()
150 var->green.length = 5; _vivid_fb_check_var()
151 var->blue.offset = 0; _vivid_fb_check_var()
152 var->blue.length = 5; _vivid_fb_check_var()
153 var->transp.offset = 15; _vivid_fb_check_var()
154 var->transp.length = 1; _vivid_fb_check_var()
156 var->red.offset = 11; _vivid_fb_check_var()
157 var->red.length = 5; _vivid_fb_check_var()
158 var->green.offset = 5; _vivid_fb_check_var()
159 var->green.length = 6; _vivid_fb_check_var()
160 var->blue.offset = 0; _vivid_fb_check_var()
161 var->blue.length = 5; _vivid_fb_check_var()
162 var->transp.offset = 0; _vivid_fb_check_var()
163 var->transp.length = 0; _vivid_fb_check_var()
165 var->xoffset = var->yoffset = 0; _vivid_fb_check_var()
166 var->left_margin = var->upper_margin = 0; _vivid_fb_check_var()
167 var->nonstd = 0; _vivid_fb_check_var()
169 var->vmode &= ~FB_VMODE_MASK; _vivid_fb_check_var()
170 var->vmode = FB_VMODE_NONINTERLACED; _vivid_fb_check_var()
173 var->hsync_len = 24; _vivid_fb_check_var()
174 var->vsync_len = 2; _vivid_fb_check_var()
175 var->pixclock = 84316; _vivid_fb_check_var()
176 var->right_margin = 776; _vivid_fb_check_var()
177 var->lower_margin = 591; _vivid_fb_check_var()
181 static int vivid_fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) vivid_fb_check_var() argument
186 return _vivid_fb_check_var(var, dev); vivid_fb_check_var()
189 static int vivid_fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) vivid_fb_pan_display() argument
201 rc = vivid_fb_set_var(dev, &info->var); vivid_fb_set_par()
221 if (info->var.bits_per_pixel == 16) { vivid_fb_setcolreg()
222 switch (info->var.green.length) { vivid_fb_setcolreg()
328 dev->fb_info.var = dev->fb_defined; vivid_fb_init_vidmode()
/linux-4.1.27/drivers/staging/sm7xxfb/
H A Dsm7xxfb.c259 if (sfb->fb.var.bits_per_pixel == 16) { smtc_setcolreg()
262 val = chan_to_field(red, &sfb->fb.var.red); smtc_setcolreg()
263 val |= chan_to_field(green, &sfb->fb.var.green); smtc_setcolreg()
264 val |= chan_to_field(blue, &sfb->fb.var.blue); smtc_setcolreg()
277 val = chan_to_field(red, &sfb->fb.var.red); smtc_setcolreg()
278 val |= chan_to_field(green, &sfb->fb.var.green); smtc_setcolreg()
279 val |= chan_to_field(blue, &sfb->fb.var.blue); smtc_setcolreg()
475 "sfb->width=%d sfb->height=%d sfb->fb.var.bits_per_pixel=%d sfb->hz=%d\n", sm7xx_set_timing()
476 sfb->width, sfb->height, sfb->fb.var.bits_per_pixel, sfb->hz); sm7xx_set_timing()
481 vgamode[j].bpp == sfb->fb.var.bits_per_pixel && sm7xx_set_timing()
554 (sfb->width * sfb->fb.var.bits_per_pixel) / 64; sm7xx_set_timing()
555 switch (sfb->fb.var.bits_per_pixel) { sm7xx_set_timing()
586 switch (sfb->fb.var.bits_per_pixel) { smtcfb_setmode()
589 sfb->fb.fix.line_length = sfb->fb.var.xres * 4; smtcfb_setmode()
590 sfb->fb.var.red.length = 8; smtcfb_setmode()
591 sfb->fb.var.green.length = 8; smtcfb_setmode()
592 sfb->fb.var.blue.length = 8; smtcfb_setmode()
593 sfb->fb.var.red.offset = 16; smtcfb_setmode()
594 sfb->fb.var.green.offset = 8; smtcfb_setmode()
595 sfb->fb.var.blue.offset = 0; smtcfb_setmode()
599 sfb->fb.fix.line_length = sfb->fb.var.xres * 3; smtcfb_setmode()
600 sfb->fb.var.red.length = 8; smtcfb_setmode()
601 sfb->fb.var.green.length = 8; smtcfb_setmode()
602 sfb->fb.var.blue.length = 8; smtcfb_setmode()
603 sfb->fb.var.red.offset = 16; smtcfb_setmode()
604 sfb->fb.var.green.offset = 8; smtcfb_setmode()
605 sfb->fb.var.blue.offset = 0; smtcfb_setmode()
609 sfb->fb.fix.line_length = sfb->fb.var.xres; smtcfb_setmode()
610 sfb->fb.var.red.length = 3; smtcfb_setmode()
611 sfb->fb.var.green.length = 3; smtcfb_setmode()
612 sfb->fb.var.blue.length = 2; smtcfb_setmode()
613 sfb->fb.var.red.offset = 5; smtcfb_setmode()
614 sfb->fb.var.green.offset = 2; smtcfb_setmode()
615 sfb->fb.var.blue.offset = 0; smtcfb_setmode()
620 sfb->fb.fix.line_length = sfb->fb.var.xres * 2; smtcfb_setmode()
621 sfb->fb.var.red.length = 5; smtcfb_setmode()
622 sfb->fb.var.green.length = 6; smtcfb_setmode()
623 sfb->fb.var.blue.length = 5; smtcfb_setmode()
624 sfb->fb.var.red.offset = 11; smtcfb_setmode()
625 sfb->fb.var.green.offset = 5; smtcfb_setmode()
626 sfb->fb.var.blue.offset = 0; smtcfb_setmode()
630 sfb->width = sfb->fb.var.xres; smtcfb_setmode()
631 sfb->height = sfb->fb.var.yres; smtcfb_setmode()
636 static int smtc_check_var(struct fb_var_screeninfo *var, struct fb_info *info) smtc_check_var() argument
639 if (var->xres_virtual < var->xres) smtc_check_var()
640 var->xres_virtual = var->xres; smtc_check_var()
642 if (var->yres_virtual < var->yres) smtc_check_var()
643 var->yres_virtual = var->yres; smtc_check_var()
646 if ((var->bits_per_pixel != 8) && (var->bits_per_pixel != 16) && smtc_check_var()
647 (var->bits_per_pixel != 24) && (var->bits_per_pixel != 32)) smtc_check_var()
648 var->bits_per_pixel = 16; smtc_check_var()
692 sfb->fb.var = smtcfb_var; smtc_alloc_fb_info()
727 if (sfb->fb.var.bits_per_pixel == 32) smtc_map_smem()
802 sfb->fb.var.xres = smtc_scr_info.lfb_width; smtcfb_pci_probe()
803 sfb->fb.var.yres = smtc_scr_info.lfb_height; smtcfb_pci_probe()
804 sfb->fb.var.bits_per_pixel = smtc_scr_info.lfb_depth; smtcfb_pci_probe()
807 sfb->fb.var.xres = SCREEN_X_RES; smtcfb_pci_probe()
808 sfb->fb.var.yres = SCREEN_Y_RES; smtcfb_pci_probe()
809 sfb->fb.var.bits_per_pixel = SCREEN_BPP; smtcfb_pci_probe()
813 if (sfb->fb.var.bits_per_pixel == 24) smtcfb_pci_probe()
814 sfb->fb.var.bits_per_pixel = (smtc_scr_info.lfb_depth = 32); smtcfb_pci_probe()
836 if (sfb->fb.var.bits_per_pixel == 32) { smtcfb_pci_probe()
857 if (sfb->fb.var.bits_per_pixel == 32) smtcfb_pci_probe()
883 if (15 == sfb->fb.var.bits_per_pixel) smtcfb_pci_probe()
884 sfb->fb.var.bits_per_pixel = 16; smtcfb_pci_probe()
886 sfb->fb.var.xres_virtual = sfb->fb.var.xres; smtcfb_pci_probe()
887 sfb->fb.var.yres_virtual = sfb->fb.var.yres; smtcfb_pci_probe()
900 sfb->chip_id, sfb->chip_rev_id, sfb->fb.var.xres, smtcfb_pci_probe()
901 sfb->fb.var.yres, sfb->fb.var.bits_per_pixel); smtcfb_pci_probe()
992 if (sfb->fb.var.bits_per_pixel == 32) smtcfb_pci_resume()
/linux-4.1.27/drivers/video/fbdev/omap/
H A Domapfb_main.c198 struct fb_var_screeninfo *var = &fbi->var; ctrl_change_mode() local
200 offset = var->yoffset * fbi->fix.line_length + ctrl_change_mode()
201 var->xoffset * var->bits_per_pixel / 8; ctrl_change_mode()
206 offset, var->xres_virtual, ctrl_change_mode()
208 var->xres, var->yres, plane->color_mode); ctrl_change_mode()
213 r = fbdev->ctrl->set_rotate(var->rotate); ctrl_change_mode()
220 var->xres, var->yres, ctrl_change_mode()
257 struct fb_var_screeninfo *var = &info->var; _setcolreg() local
286 pal = ((red >> (16 - var->red.length)) << _setcolreg()
287 var->red.offset) | _setcolreg()
288 ((green >> (16 - var->green.length)) << _setcolreg()
289 var->green.offset) | _setcolreg()
290 (blue >> (16 - var->blue.length)); _setcolreg()
384 * When calling this fb_info.var must be set up already.
389 struct fb_var_screeninfo *var = &fbi->var; set_fb_fix() local
408 bpp = var->bits_per_pixel; set_fb_fix()
409 if (var->nonstd) set_fb_fix()
411 else switch (var->bits_per_pixel) { set_fb_fix()
426 fix->line_length = var->xres_virtual * bpp / 8; set_fb_fix()
430 struct fb_var_screeninfo *var) set_color_mode()
432 switch (var->nonstd) { set_color_mode()
436 var->bits_per_pixel = 16; set_color_mode()
437 plane->color_mode = var->nonstd; set_color_mode()
440 var->bits_per_pixel = 12; set_color_mode()
441 plane->color_mode = var->nonstd; set_color_mode()
444 var->bits_per_pixel = 16; set_color_mode()
445 plane->color_mode = var->nonstd; set_color_mode()
451 switch (var->bits_per_pixel) { set_color_mode()
465 var->bits_per_pixel = 16; set_color_mode()
478 * Check the values in var against our capabilities and in case of out of
482 struct fb_var_screeninfo *var) set_fb_var()
493 if (set_color_mode(plane, var) < 0) set_fb_var()
496 bpp = var->bits_per_pixel; set_fb_var()
500 switch (var->rotate) { set_fb_var()
508 var->xres = panel->x_res; set_fb_var()
509 var->yres = panel->y_res; set_fb_var()
519 var->xres = panel->y_res; set_fb_var()
520 var->yres = panel->x_res; set_fb_var()
527 if (var->xres < xres_min) set_fb_var()
528 var->xres = xres_min; set_fb_var()
529 if (var->yres < yres_min) set_fb_var()
530 var->yres = yres_min; set_fb_var()
531 if (var->xres > xres_max) set_fb_var()
532 var->xres = xres_max; set_fb_var()
533 if (var->yres > yres_max) set_fb_var()
534 var->yres = yres_max; set_fb_var()
536 if (var->xres_virtual < var->xres) set_fb_var()
537 var->xres_virtual = var->xres; set_fb_var()
538 if (var->yres_virtual < var->yres) set_fb_var()
539 var->yres_virtual = var->yres; set_fb_var()
541 line_size = var->xres_virtual * bpp / 8; set_fb_var()
542 if (line_size * var->yres_virtual > max_frame_size) { set_fb_var()
544 line_size = max_frame_size / var->yres_virtual; set_fb_var()
545 var->xres_virtual = line_size * 8 / bpp; set_fb_var()
546 if (var->xres_virtual < var->xres) { set_fb_var()
548 var->xres_virtual = var->xres; set_fb_var()
549 line_size = var->xres * bpp / 8; set_fb_var()
550 var->yres_virtual = max_frame_size / line_size; set_fb_var()
553 if (var->xres_virtual < var->xres) set_fb_var()
554 var->xres = var->xres_virtual; set_fb_var()
555 if (var->yres_virtual < var->yres) set_fb_var()
556 var->yres = var->yres_virtual; set_fb_var()
557 if (var->xres < xres_min || var->yres < yres_min) set_fb_var()
560 if (var->xres + var->xoffset > var->xres_virtual) set_fb_var()
561 var->xoffset = var->xres_virtual - var->xres; set_fb_var()
562 if (var->yres + var->yoffset > var->yres_virtual) set_fb_var()
563 var->yoffset = var->yres_virtual - var->yres; set_fb_var()
566 var->red.offset = 8; var->red.length = 4; set_fb_var()
567 var->red.msb_right = 0; set_fb_var()
568 var->green.offset = 4; var->green.length = 4; set_fb_var()
569 var->green.msb_right = 0; set_fb_var()
570 var->blue.offset = 0; var->blue.length = 4; set_fb_var()
571 var->blue.msb_right = 0; set_fb_var()
573 var->red.offset = 11; var->red.length = 5; set_fb_var()
574 var->red.msb_right = 0; set_fb_var()
575 var->green.offset = 5; var->green.length = 6; set_fb_var()
576 var->green.msb_right = 0; set_fb_var()
577 var->blue.offset = 0; var->blue.length = 5; set_fb_var()
578 var->blue.msb_right = 0; set_fb_var()
581 var->height = -1; set_fb_var()
582 var->width = -1; set_fb_var()
583 var->grayscale = 0; set_fb_var()
586 var->pixclock = 10000000 / (panel->pixel_clock / 100); set_fb_var()
587 var->left_margin = panel->hfp; set_fb_var()
588 var->right_margin = panel->hbp; set_fb_var()
589 var->upper_margin = panel->vfp; set_fb_var()
590 var->lower_margin = panel->vbp; set_fb_var()
591 var->hsync_len = panel->hsw; set_fb_var()
592 var->vsync_len = panel->vsw; set_fb_var()
595 var->vmode = FB_VMODE_NONINTERLACED; set_fb_var()
596 var->sync = 0; set_fb_var()
609 if (rotate != fbi->var.rotate) { omapfb_rotate()
612 memcpy(new_var, &fbi->var, sizeof(*new_var)); omapfb_rotate()
615 memcmp(new_var, &fbi->var, sizeof(*new_var))) { omapfb_rotate()
616 memcpy(&fbi->var, new_var, sizeof(*new_var)); omapfb_rotate()
627 static int omapfb_pan_display(struct fb_var_screeninfo *var, omapfb_pan_display() argument
635 if (var->xoffset != fbi->var.xoffset || omapfb_pan_display()
636 var->yoffset != fbi->var.yoffset) { omapfb_pan_display()
639 memcpy(new_var, &fbi->var, sizeof(*new_var)); omapfb_pan_display()
640 new_var->xoffset = var->xoffset; omapfb_pan_display()
641 new_var->yoffset = var->yoffset; omapfb_pan_display()
645 memcpy(&fbi->var, new_var, sizeof(*new_var)); omapfb_pan_display()
675 * Check values in var, try to adjust them in case of out of bound values if
678 static int omapfb_check_var(struct fb_var_screeninfo *var, struct fb_info *fbi) omapfb_check_var() argument
687 r = set_fb_var(fbi, var); omapfb_check_var()
719 struct fb_var_screeninfo *var = &fbi->var; omapfb_update_window_async() local
721 switch (var->rotate) { omapfb_update_window_async()
785 win.width = fbi->var.xres; omapfb_update_full_screen()
786 win.height = fbi->var.yres; omapfb_update_full_screen()
789 win.out_width = fbi->var.xres; omapfb_update_full_screen()
790 win.out_height = fbi->var.yres; omapfb_update_full_screen()
883 memcpy(new_var, &fbi->var, sizeof(*new_var)); omapfb_setup_mem()
903 memcpy(&fbi->var, new_var, sizeof(fbi->var)); omapfb_setup_mem()
909 * screen parameters in var / fix are invalid. omapfb_setup_mem()
1484 struct fb_var_screeninfo *var = &info->var; fbinfo_init() local
1495 var->accel_flags = def_accel ? FB_ACCELF_TEXT : 0; fbinfo_init()
1496 var->xres = def_vxres; fbinfo_init()
1497 var->yres = def_vyres; fbinfo_init()
1498 var->xres_virtual = def_vxres; fbinfo_init()
1499 var->yres_virtual = def_vyres; fbinfo_init()
1500 var->rotate = def_rotate; fbinfo_init()
1501 var->bits_per_pixel = fbdev->panel->bpp; fbinfo_init()
1503 set_fb_var(info, var); fbinfo_init()
1558 plane->info.out_width = fbi->var.xres; planes_init()
1559 plane->info.out_height = fbi->var.yres; planes_init()
429 set_color_mode(struct omapfb_plane_struct *plane, struct fb_var_screeninfo *var) set_color_mode() argument
481 set_fb_var(struct fb_info *fbi, struct fb_var_screeninfo *var) set_fb_var() argument
/linux-4.1.27/drivers/staging/sm750fb/
H A Dsm750.c47 /* common var for all device */
153 fbcursor->image.dx - info->var.xoffset, lynxfb_ops_cursor()
154 fbcursor->image.dy - info->var.yoffset); lynxfb_ops_cursor()
203 Bpp = info->var.bits_per_pixel >> 3; lynxfb_ops_fillrect()
238 Bpp = info->var.bits_per_pixel >> 3; lynxfb_ops_copyarea()
269 Bpp = info->var.bits_per_pixel >> 3; lynxfb_ops_imageblit()
301 static int lynxfb_ops_pan_display(struct fb_var_screeninfo *var, lynxfb_ops_pan_display() argument
315 ret = crtc->proc_panDisplay(crtc, var, info); lynxfb_ops_pan_display()
326 struct fb_var_screeninfo *var; lynxfb_ops_set_par() local
339 var = &info->var; lynxfb_ops_set_par()
343 line_length = var->xres_virtual * var->bits_per_pixel / 8; lynxfb_ops_set_par()
348 /* var->red,green,blue,transp are need to be set by driver lynxfb_ops_set_par()
352 switch (var->bits_per_pixel) { lynxfb_ops_set_par()
355 var->red.offset = 0; lynxfb_ops_set_par()
356 var->red.length = 8; lynxfb_ops_set_par()
357 var->green.offset = 0; lynxfb_ops_set_par()
358 var->green.length = 8; lynxfb_ops_set_par()
359 var->blue.offset = 0; lynxfb_ops_set_par()
360 var->blue.length = 8; lynxfb_ops_set_par()
361 var->transp.length = 0; lynxfb_ops_set_par()
362 var->transp.offset = 0; lynxfb_ops_set_par()
365 var->red.offset = 11; lynxfb_ops_set_par()
366 var->red.length = 5; lynxfb_ops_set_par()
367 var->green.offset = 5; lynxfb_ops_set_par()
368 var->green.length = 6; lynxfb_ops_set_par()
369 var->blue.offset = 0; lynxfb_ops_set_par()
370 var->blue.length = 5; lynxfb_ops_set_par()
371 var->transp.length = 0; lynxfb_ops_set_par()
372 var->transp.offset = 0; lynxfb_ops_set_par()
377 var->red.offset = 16; lynxfb_ops_set_par()
378 var->red.length = 8; lynxfb_ops_set_par()
379 var->green.offset = 8; lynxfb_ops_set_par()
380 var->green.length = 8; lynxfb_ops_set_par()
381 var->blue.offset = 0; lynxfb_ops_set_par()
382 var->blue.length = 8; lynxfb_ops_set_par()
389 var->height = var->width = -1; lynxfb_ops_set_par()
390 var->accel_flags = 0;/*FB_ACCELF_TEXT;*/ lynxfb_ops_set_par()
396 ret = crtc->proc_setMode(crtc, var, fix); lynxfb_ops_set_par()
398 ret = output->proc_setMode(output, var, fix); lynxfb_ops_set_par()
532 static int lynxfb_ops_check_var(struct fb_var_screeninfo *var, lynxfb_ops_check_var() argument
549 pr_debug("check var:%dx%d-%d\n", lynxfb_ops_check_var()
550 var->xres, lynxfb_ops_check_var()
551 var->yres, lynxfb_ops_check_var()
552 var->bits_per_pixel); lynxfb_ops_check_var()
555 switch (var->bits_per_pixel) { lynxfb_ops_check_var()
562 pr_err("bpp %d not supported\n", var->bits_per_pixel); lynxfb_ops_check_var()
567 switch (var->bits_per_pixel) { lynxfb_ops_check_var()
570 var->red.offset = 0; lynxfb_ops_check_var()
571 var->red.length = 8; lynxfb_ops_check_var()
572 var->green.offset = 0; lynxfb_ops_check_var()
573 var->green.length = 8; lynxfb_ops_check_var()
574 var->blue.offset = 0; lynxfb_ops_check_var()
575 var->blue.length = 8; lynxfb_ops_check_var()
576 var->transp.length = 0; lynxfb_ops_check_var()
577 var->transp.offset = 0; lynxfb_ops_check_var()
580 var->red.offset = 11; lynxfb_ops_check_var()
581 var->red.length = 5; lynxfb_ops_check_var()
582 var->green.offset = 5; lynxfb_ops_check_var()
583 var->green.length = 6; lynxfb_ops_check_var()
584 var->blue.offset = 0; lynxfb_ops_check_var()
585 var->blue.length = 5; lynxfb_ops_check_var()
586 var->transp.length = 0; lynxfb_ops_check_var()
587 var->transp.offset = 0; lynxfb_ops_check_var()
592 var->red.offset = 16; lynxfb_ops_check_var()
593 var->red.length = 8; lynxfb_ops_check_var()
594 var->green.offset = 8; lynxfb_ops_check_var()
595 var->green.length = 8; lynxfb_ops_check_var()
596 var->blue.offset = 0; lynxfb_ops_check_var()
597 var->blue.length = 8; lynxfb_ops_check_var()
604 var->height = var->width = -1; lynxfb_ops_check_var()
605 var->accel_flags = 0;/* FB_ACCELF_TEXT; */ lynxfb_ops_check_var()
608 request = var->xres_virtual * (var->bits_per_pixel >> 3); lynxfb_ops_check_var()
612 request = request * var->yres_virtual; lynxfb_ops_check_var()
618 ret = output->proc_checkMode(output, var); lynxfb_ops_check_var()
620 ret = crtc->proc_checkMode(crtc, var); lynxfb_ops_check_var()
635 struct fb_var_screeninfo *var; lynxfb_ops_setcolreg() local
640 var = &info->var; lynxfb_ops_setcolreg()
648 if (info->var.grayscale) lynxfb_ops_setcolreg()
651 if (var->bits_per_pixel == 8 && lynxfb_ops_setcolreg()
664 if (var->bits_per_pixel == 16 || lynxfb_ops_setcolreg()
665 var->bits_per_pixel == 32 || lynxfb_ops_setcolreg()
666 var->bits_per_pixel == 24) { lynxfb_ops_setcolreg()
667 val = chan_to_field(red, &var->red); lynxfb_ops_setcolreg()
668 val |= chan_to_field(green, &var->green); lynxfb_ops_setcolreg()
669 val |= chan_to_field(blue, &var->blue); lynxfb_ops_setcolreg()
798 struct fb_var_screeninfo *var; lynxfb_set_fbinfo() local
823 var = &info->var; lynxfb_set_fbinfo()
876 ret = fb_find_mode(var, info, g_fbmode[index], lynxfb_set_fbinfo()
901 /* some member of info->var had been set by fb_find_mode */ lynxfb_set_fbinfo()
903 pr_info("Member of info->var is :\n\ lynxfb_set_fbinfo()
912 var->xres, lynxfb_set_fbinfo()
913 var->yres, lynxfb_set_fbinfo()
914 var->xres_virtual, lynxfb_set_fbinfo()
915 var->yres_virtual, lynxfb_set_fbinfo()
916 var->xoffset, lynxfb_set_fbinfo()
917 var->yoffset, lynxfb_set_fbinfo()
918 var->bits_per_pixel); lynxfb_set_fbinfo()
925 (var->xres_virtual * var->bits_per_pixel/8)); lynxfb_set_fbinfo()
930 info->screen_size = line_length * var->yres_virtual; lynxfb_set_fbinfo()
960 switch (var->bits_per_pixel) { lynxfb_set_fbinfo()
970 /* set var */ lynxfb_set_fbinfo()
971 var->activate = FB_ACTIVATE_NOW; lynxfb_set_fbinfo()
972 var->accel_flags = 0; lynxfb_set_fbinfo()
973 var->vmode = FB_VMODE_NONINTERLACED; lynxfb_set_fbinfo()
992 lynxfb_ops_check_var(var, info); lynxfb_set_fbinfo()
H A Dsm750_hw.c214 int hw_sm750_output_checkMode(struct lynxfb_output* output, struct fb_var_screeninfo* var) hw_sm750_output_checkMode() argument
222 struct fb_var_screeninfo* var, struct fb_fix_screeninfo* fix) hw_sm750_output_setMode()
268 int hw_sm750_crtc_checkMode(struct lynxfb_crtc* crtc, struct fb_var_screeninfo* var) hw_sm750_crtc_checkMode() argument
275 switch (var->bits_per_pixel){ hw_sm750_crtc_checkMode()
295 set the controller's mode for @crtc charged with @var and @fix parameters
298 struct fb_var_screeninfo* var, hw_sm750_crtc_setMode()
315 switch(var->bits_per_pixel){ hw_sm750_crtc_setMode()
332 // modparm.pixel_clock = PS_TO_HZ(var->pixclock); hw_sm750_crtc_setMode()
333 modparm.pixel_clock = ps_to_hz(var->pixclock); hw_sm750_crtc_setMode()
334 modparm.vertical_sync_polarity = (var->sync & FB_SYNC_HOR_HIGH_ACT) ? POS:NEG; hw_sm750_crtc_setMode()
335 modparm.horizontal_sync_polarity = (var->sync & FB_SYNC_VERT_HIGH_ACT) ? POS:NEG; hw_sm750_crtc_setMode()
336 modparm.clock_phase_polarity = (var->sync& FB_SYNC_COMP_HIGH_ACT) ? POS:NEG; hw_sm750_crtc_setMode()
337 modparm.horizontal_display_end = var->xres; hw_sm750_crtc_setMode()
338 modparm.horizontal_sync_width = var->hsync_len; hw_sm750_crtc_setMode()
339 modparm.horizontal_sync_start = var->xres + var->right_margin; hw_sm750_crtc_setMode()
340 modparm.horizontal_total = var->xres + var->left_margin + var->right_margin + var->hsync_len; hw_sm750_crtc_setMode()
341 modparm.vertical_display_end = var->yres; hw_sm750_crtc_setMode()
342 modparm.vertical_sync_height = var->vsync_len; hw_sm750_crtc_setMode()
343 modparm.vertical_sync_start = var->yres + var->lower_margin; hw_sm750_crtc_setMode()
344 modparm.vertical_total = var->yres + var->upper_margin + var->lower_margin + var->vsync_len; hw_sm750_crtc_setMode()
366 reg = var->xres * (var->bits_per_pixel >> 3); hw_sm750_crtc_setMode()
375 FIELD_VALUE(0, PANEL_WINDOW_WIDTH, WIDTH, var->xres -1)| hw_sm750_crtc_setMode()
376 FIELD_VALUE(0, PANEL_WINDOW_WIDTH, X, var->xoffset)); hw_sm750_crtc_setMode()
379 FIELD_VALUE(0, PANEL_WINDOW_HEIGHT, HEIGHT, var->yres_virtual - 1)| hw_sm750_crtc_setMode()
380 FIELD_VALUE(0, PANEL_WINDOW_HEIGHT, Y, var->yoffset)); hw_sm750_crtc_setMode()
385 FIELD_VALUE(0, PANEL_PLANE_BR, BOTTOM, var->yres - 1)| hw_sm750_crtc_setMode()
386 FIELD_VALUE(0, PANEL_PLANE_BR,RIGHT, var->xres - 1)); hw_sm750_crtc_setMode()
393 (var->bits_per_pixel >> 4) hw_sm750_crtc_setMode()
398 reg = var->xres * (var->bits_per_pixel >> 3); hw_sm750_crtc_setMode()
408 reg = FIELD_VALUE(reg, CRT_DISPLAY_CTRL, FORMAT, var->bits_per_pixel >> 4); hw_sm750_crtc_setMode()
618 const struct fb_var_screeninfo *var, hw_sm750_pan_display()
623 if ((var->xoffset + var->xres > var->xres_virtual) || hw_sm750_pan_display()
624 (var->yoffset + var->yres > var->yres_virtual)) { hw_sm750_pan_display()
628 total = var->yoffset * info->fix.line_length + hw_sm750_pan_display()
629 ((var->xoffset * var->bits_per_pixel) >> 3); hw_sm750_pan_display()
221 hw_sm750_output_setMode(struct lynxfb_output* output, struct fb_var_screeninfo* var, struct fb_fix_screeninfo* fix) hw_sm750_output_setMode() argument
297 hw_sm750_crtc_setMode(struct lynxfb_crtc* crtc, struct fb_var_screeninfo* var, struct fb_fix_screeninfo* fix) hw_sm750_crtc_setMode() argument
617 hw_sm750_pan_display(struct lynxfb_crtc *crtc, const struct fb_var_screeninfo *var, const struct fb_info *info) hw_sm750_pan_display() argument
/linux-4.1.27/drivers/video/fbdev/mbx/
H A Dmbxfb.c182 static int mbxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) mbxfb_check_var() argument
186 var->pixclock = mbxfb_get_pixclock(var->pixclock, &div); mbxfb_check_var()
188 if (var->xres < MIN_XRES) mbxfb_check_var()
189 var->xres = MIN_XRES; mbxfb_check_var()
190 if (var->yres < MIN_YRES) mbxfb_check_var()
191 var->yres = MIN_YRES; mbxfb_check_var()
192 if (var->xres > MAX_XRES) mbxfb_check_var()
194 if (var->yres > MAX_YRES) mbxfb_check_var()
196 var->xres_virtual = max(var->xres_virtual, var->xres); mbxfb_check_var()
197 var->yres_virtual = max(var->yres_virtual, var->yres); mbxfb_check_var()
199 switch (var->bits_per_pixel) { mbxfb_check_var()
204 var->green.length = (var->green.length == 5) ? 5 : 6; mbxfb_check_var()
205 var->red.length = 5; mbxfb_check_var()
206 var->blue.length = 5; mbxfb_check_var()
207 var->transp.length = 6 - var->green.length; mbxfb_check_var()
208 var->blue.offset = 0; mbxfb_check_var()
209 var->green.offset = 5; mbxfb_check_var()
210 var->red.offset = 5 + var->green.length; mbxfb_check_var()
211 var->transp.offset = (5 + var->red.offset) & 15; mbxfb_check_var()
215 var->red.offset = 16; mbxfb_check_var()
216 var->red.length = 8; mbxfb_check_var()
217 var->green.offset = 8; mbxfb_check_var()
218 var->green.length = 8; mbxfb_check_var()
219 var->blue.offset = 0; mbxfb_check_var()
220 var->blue.length = 8; mbxfb_check_var()
221 var->transp.length = var->bits_per_pixel - 24; mbxfb_check_var()
222 var->transp.offset = (var->transp.length) ? 24 : 0; mbxfb_check_var()
225 var->red.msb_right = 0; mbxfb_check_var()
226 var->green.msb_right = 0; mbxfb_check_var()
227 var->blue.msb_right = 0; mbxfb_check_var()
228 var->transp.msb_right = 0; mbxfb_check_var()
235 struct fb_var_screeninfo *var = &info->var; mbxfb_set_par() local
242 info->fix.line_length = var->xres_virtual * var->bits_per_pixel / 8; mbxfb_set_par()
247 if (info->var.bits_per_pixel == 8) { mbxfb_set_par()
254 switch (info->var.bits_per_pixel) { mbxfb_set_par()
256 if (info->var.green.length == 5) mbxfb_set_par()
272 gsctrl |= Gsctrl_Width(info->var.xres) | mbxfb_set_par()
273 Gsctrl_Height(info->var.yres); mbxfb_set_par()
277 gsadr |= Gsadr_Srcstride(info->var.xres * info->var.bits_per_pixel / mbxfb_set_par()
282 var->pixclock = mbxfb_get_pixclock(info->var.pixclock, &div); mbxfb_set_par()
287 hbps = var->hsync_len; mbxfb_set_par()
288 has = hbps + var->left_margin; mbxfb_set_par()
289 hfps = has + var->xres; mbxfb_set_par()
290 ht = hfps + var->right_margin; mbxfb_set_par()
292 vbps = var->vsync_len; mbxfb_set_par()
293 vas = vbps + var->upper_margin; mbxfb_set_par()
294 vfps = vas + var->yres; mbxfb_set_par()
295 vt = vfps + var->lower_margin; mbxfb_set_par()
755 gsctrl = GSCTRL_GAMMA_EN | Gsctrl_Width(fbi->var.xres) | setup_graphics()
756 Gsctrl_Height(fbi->var.yres); setup_graphics()
757 switch (fbi->var.bits_per_pixel) { setup_graphics()
759 if (fbi->var.green.length == 5) setup_graphics()
789 if (fbi->var.sync & FB_SYNC_HOR_HIGH_ACT) setup_display()
791 if (fbi->var.sync & FB_SYNC_VERT_HIGH_ACT) setup_display()
965 fbi->var = mbxfb_default; mbxfb_probe()
/linux-4.1.27/drivers/dma/bestcomm/
H A Data.c27 /* Task image/var/inc */
61 struct bcom_ata_var *var; bcom_ata_init() local
75 var = (struct bcom_ata_var *) bcom_task_var(tsk->tasknum); bcom_ata_init()
83 var->enable = bcom_eng->regs_base + bcom_ata_init()
85 var->bd_base = tsk->bd_pa; bcom_ata_init()
86 var->bd_last = tsk->bd_pa + ((tsk->num_bd-1) * tsk->bd_size); bcom_ata_init()
87 var->bd_start = tsk->bd_pa; bcom_ata_init()
88 var->buffer_size = maxbufsize; bcom_ata_init()
133 struct bcom_ata_var *var; bcom_ata_reset_bd() local
141 var = (struct bcom_ata_var *) bcom_task_var(tsk->tasknum); bcom_ata_reset_bd()
142 var->bd_start = var->bd_base; bcom_ata_reset_bd()
H A Dfec.c25 /* Task image/var/inc */
114 struct bcom_fec_rx_var *var; bcom_fec_rx_reset() local
121 var = (struct bcom_fec_rx_var *) bcom_task_var(tsk->tasknum); bcom_fec_rx_reset()
127 var->enable = bcom_eng->regs_base + bcom_fec_rx_reset()
129 var->fifo = (u32) priv->fifo; bcom_fec_rx_reset()
130 var->bd_base = tsk->bd_pa; bcom_fec_rx_reset()
131 var->bd_last = tsk->bd_pa + ((tsk->num_bd-1) * tsk->bd_size); bcom_fec_rx_reset()
132 var->bd_start = tsk->bd_pa; bcom_fec_rx_reset()
133 var->buffer_size = priv->maxbufsize; bcom_fec_rx_reset()
215 struct bcom_fec_tx_var *var; bcom_fec_tx_reset() local
222 var = (struct bcom_fec_tx_var *) bcom_task_var(tsk->tasknum); bcom_fec_tx_reset()
228 var->enable = bcom_eng->regs_base + bcom_fec_tx_reset()
230 var->fifo = (u32) priv->fifo; bcom_fec_tx_reset()
231 var->DRD = bcom_sram_va2pa(self_modified_drd(tsk->tasknum)); bcom_fec_tx_reset()
232 var->bd_base = tsk->bd_pa; bcom_fec_tx_reset()
233 var->bd_last = tsk->bd_pa + ((tsk->num_bd-1) * tsk->bd_size); bcom_fec_tx_reset()
234 var->bd_start = tsk->bd_pa; bcom_fec_tx_reset()
H A Dgen_bd.c30 /* Task image/var/inc */
121 struct bcom_gen_bd_rx_var *var; bcom_gen_bd_rx_reset() local
128 var = (struct bcom_gen_bd_rx_var *) bcom_task_var(tsk->tasknum); bcom_gen_bd_rx_reset()
134 var->enable = bcom_eng->regs_base + bcom_gen_bd_rx_reset()
136 var->fifo = (u32) priv->fifo; bcom_gen_bd_rx_reset()
137 var->bd_base = tsk->bd_pa; bcom_gen_bd_rx_reset()
138 var->bd_last = tsk->bd_pa + ((tsk->num_bd-1) * tsk->bd_size); bcom_gen_bd_rx_reset()
139 var->bd_start = tsk->bd_pa; bcom_gen_bd_rx_reset()
140 var->buffer_size = priv->maxbufsize; bcom_gen_bd_rx_reset()
205 struct bcom_gen_bd_tx_var *var; bcom_gen_bd_tx_reset() local
212 var = (struct bcom_gen_bd_tx_var *) bcom_task_var(tsk->tasknum); bcom_gen_bd_tx_reset()
218 var->enable = bcom_eng->regs_base + bcom_gen_bd_tx_reset()
220 var->fifo = (u32) priv->fifo; bcom_gen_bd_tx_reset()
221 var->bd_base = tsk->bd_pa; bcom_gen_bd_tx_reset()
222 var->bd_last = tsk->bd_pa + ((tsk->num_bd-1) * tsk->bd_size); bcom_gen_bd_tx_reset()
223 var->bd_start = tsk->bd_pa; bcom_gen_bd_tx_reset()
/linux-4.1.27/tools/perf/util/
H A Ddebug.c25 static int _eprintf(int level, int var, const char *fmt, va_list args) _eprintf() argument
29 if (var >= level) { _eprintf()
39 int eprintf(int level, int var, const char *fmt, ...) eprintf() argument
45 ret = _eprintf(level, var, fmt, args); eprintf()
66 int eprintf_time(int level, int var, u64 t, const char *fmt, ...) eprintf_time() argument
71 if (var >= level) { eprintf_time()
157 struct debug_variable *var = &debug_variables[0]; perf_debug_option() local
165 while (var->name) { perf_debug_option()
166 if (!strcmp(s, var->name)) perf_debug_option()
168 var++; perf_debug_option()
171 if (!var->name) { perf_debug_option()
186 *var->ptr = v; perf_debug_option()
H A Dconfig.c218 static char var[MAXNAME]; perf_parse_file() local
255 baselen = get_base_var(var); perf_parse_file()
258 var[baselen++] = '.'; perf_parse_file()
259 var[baselen] = 0; perf_parse_file()
264 var[baselen] = tolower(c); perf_parse_file()
271 if (get_value(fn, data, var, baselen+1) < 0) { perf_parse_file()
379 static int perf_default_core_config(const char *var __maybe_unused, perf_default_core_config()
386 static int perf_ui_config(const char *var, const char *value) perf_ui_config() argument
389 if (!strcmp(var, "ui.show-headers")) { perf_ui_config()
390 symbol_conf.show_hist_headers = perf_config_bool(var, value); perf_ui_config()
396 int perf_default_config(const char *var, const char *value, perf_default_config() argument
399 if (!prefixcmp(var, "core.")) perf_default_config()
400 return perf_default_core_config(var, value); perf_default_config()
402 if (!prefixcmp(var, "hist.")) perf_default_config()
403 return perf_hist_config(var, value); perf_default_config()
405 if (!prefixcmp(var, "ui.")) perf_default_config()
406 return perf_ui_config(var, value); perf_default_config()
408 if (!prefixcmp(var, "call-graph.")) perf_default_config()
409 return perf_callchain_config(var, value); perf_default_config()
507 * get a boolean value (i.e. "[my] var" means "true").
509 int config_error_nonbool(const char *var) config_error_nonbool() argument
511 return error("Missing value for '%s'", var); config_error_nonbool()
518 static int buildid_dir_command_config(const char *var, const char *value, buildid_dir_command_config() argument
525 if (!strcmp(var, "buildid.dir")) { buildid_dir_command_config()
526 v = perf_config_dirname(var, value); buildid_dir_command_config()
H A Ddebug.h35 #define pr_time_N(n, var, t, fmt, ...) \
36 eprintf_time(n, var, t, fmt, ##__VA_ARGS__)
51 int eprintf(int level, int var, const char *fmt, ...) __attribute__((format(printf, 3, 4)));
52 int eprintf_time(int level, int var, u64 t, const char *fmt, ...) __attribute__((format(printf, 4, 5)));
H A Dparse-options.h204 #define OPT__VERBOSE(var) OPT_BOOLEAN('v', "verbose", (var), "be verbose")
205 #define OPT__QUIET(var) OPT_BOOLEAN('q', "quiet", (var), "be quiet")
206 #define OPT__VERBOSITY(var) \
207 { OPTION_CALLBACK, 'v', "verbose", (var), NULL, "be more verbose", \
209 { OPTION_CALLBACK, 'q', "quiet", (var), NULL, "be more quiet", \
211 #define OPT__DRY_RUN(var) OPT_BOOLEAN('n', "dry-run", (var), "dry run")
212 #define OPT__ABBREV(var) \
213 { OPTION_CALLBACK, 0, "abbrev", (var), "n", \
H A Dcolor.c8 int perf_config_colorbool(const char *var, const char *value, int stdout_is_tty) perf_config_colorbool() argument
20 if (!perf_config_bool(var, value)) perf_config_colorbool()
35 int perf_color_default_config(const char *var, const char *value, void *cb) perf_color_default_config() argument
37 if (!strcmp(var, "color.ui")) { perf_color_default_config()
38 perf_use_color_default = perf_config_colorbool(var, value, -1); perf_color_default_config()
42 return perf_default_config(var, value, cb); perf_color_default_config()
H A Dcolor.h30 int perf_color_default_config(const char *var, const char *value, void *cb);
32 int perf_config_colorbool(const char *var, const char *value, int stdout_is_tty);
/linux-4.1.27/drivers/firmware/efi/
H A Defivars.c125 struct efi_variable *var = &entry->var; efivar_guid_read() local
131 efi_guid_to_str(&var->VendorGuid, str); efivar_guid_read()
141 struct efi_variable *var = &entry->var; efivar_attr_read() local
147 var->DataSize = 1024; efivar_attr_read()
148 if (efivar_entry_get(entry, &var->Attributes, &var->DataSize, var->Data)) efivar_attr_read()
151 if (var->Attributes & EFI_VARIABLE_NON_VOLATILE) efivar_attr_read()
153 if (var->Attributes & EFI_VARIABLE_BOOTSERVICE_ACCESS) efivar_attr_read()
155 if (var->Attributes & EFI_VARIABLE_RUNTIME_ACCESS) efivar_attr_read()
157 if (var->Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) efivar_attr_read()
159 if (var->Attributes & EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) efivar_attr_read()
162 if (var->Attributes & efivar_attr_read()
166 if (var->Attributes & EFI_VARIABLE_APPEND_WRITE) efivar_attr_read()
174 struct efi_variable *var = &entry->var; efivar_size_read() local
180 var->DataSize = 1024; efivar_size_read()
181 if (efivar_entry_get(entry, &var->Attributes, &var->DataSize, var->Data)) efivar_size_read()
184 str += sprintf(str, "0x%lx\n", var->DataSize); efivar_size_read()
191 struct efi_variable *var = &entry->var; efivar_data_read() local
196 var->DataSize = 1024; efivar_data_read()
197 if (efivar_entry_get(entry, &var->Attributes, &var->DataSize, var->Data)) efivar_data_read()
200 memcpy(buf, var->Data, var->DataSize); efivar_data_read()
201 return var->DataSize; efivar_data_read()
205 sanity_check(struct efi_variable *var, efi_char16_t *name, efi_guid_t vendor, sanity_check() argument
212 if (memcmp(name, var->VariableName, sizeof(var->VariableName)) || sanity_check()
213 efi_guidcmp(vendor, var->VendorGuid)) { sanity_check()
258 struct efi_variable *new_var, *var = &entry->var; efivar_store_raw() local
279 err = sanity_check(var, name, vendor, size, attributes, data); efivar_store_raw()
283 copy_out_compat(&entry->var, compat); efivar_store_raw()
296 err = sanity_check(var, name, vendor, size, attributes, data); efivar_store_raw()
300 memcpy(&entry->var, new_var, count); efivar_store_raw()
315 struct efi_variable *var = &entry->var; efivar_show_raw() local
322 var->DataSize = 1024; efivar_show_raw()
323 if (efivar_entry_get(entry, &entry->var.Attributes, efivar_show_raw()
324 &entry->var.DataSize, entry->var.Data)) efivar_show_raw()
331 memcpy(compat->VariableName, var->VariableName, efivar_show_raw()
333 memcpy(compat->Data, var->Data, sizeof(compat->Data)); efivar_show_raw()
335 compat->VendorGuid = var->VendorGuid; efivar_show_raw()
336 compat->DataSize = var->DataSize; efivar_show_raw()
337 compat->Attributes = var->Attributes; efivar_show_raw()
339 size = sizeof(*var); efivar_show_raw()
340 memcpy(buf, var, size); efivar_show_raw()
353 struct efivar_entry *var = to_efivar_entry(kobj); efivar_attr_show() local
361 ret = efivar_attr->show(var, buf); efivar_attr_show()
369 struct efivar_entry *var = to_efivar_entry(kobj); efivar_attr_store() local
377 ret = efivar_attr->store(var, buf, count); efivar_attr_store()
389 struct efivar_entry *var = container_of(kobj, struct efivar_entry, kobj); efivar_release() local
390 kfree(var); efivar_release()
461 copy_out_compat(&new_entry->var, compat); efivar_create()
463 memcpy(&new_entry->var, new_var, sizeof(*new_var)); efivar_create()
547 efi_char16_t *variable_name = new_var->var.VariableName; efivar_create_sysfs_entry()
566 efi_guid_to_str(&new_var->var.VendorGuid, efivar_create_sysfs_entry()
646 memcpy(entry->var.VariableName, name, name_size); efivar_update_sysfs_entry()
647 memcpy(&(entry->var.VendorGuid), &vendor, sizeof(efi_guid_t)); efivar_update_sysfs_entry()
683 memcpy(entry->var.VariableName, name, name_size); efivars_sysfs_callback()
684 memcpy(&(entry->var.VendorGuid), &vendor, sizeof(efi_guid_t)); efivars_sysfs_callback()
H A Defi-pstore.c56 if (efi_guidcmp(entry->var.VendorGuid, vendor)) efi_pstore_read_func()
60 name[i] = entry->var.VariableName[i]; efi_pstore_read_func()
94 entry->var.DataSize = 1024; efi_pstore_read_func()
95 __efivar_entry_get(entry, &entry->var.Attributes, efi_pstore_read_func()
96 &entry->var.DataSize, entry->var.Data); efi_pstore_read_func()
97 size = entry->var.DataSize; efi_pstore_read_func()
98 memcpy(*cb_data->buf, entry->var.Data, efi_pstore_read_func()
286 if (efi_guidcmp(entry->var.VendorGuid, vendor)) efi_pstore_erase_func()
289 if (ucs2_strncmp(entry->var.VariableName, efi_pstore_erase_func()
301 if (ucs2_strncmp(entry->var.VariableName, efi_name_old, efi_pstore_erase_func()
/linux-4.1.27/drivers/video/fbdev/vermilion/
H A Dvermilion.c417 static void vmlfb_set_pref_pixel_format(struct fb_var_screeninfo *var) vmlfb_set_pref_pixel_format() argument
419 switch (var->bits_per_pixel) { vmlfb_set_pref_pixel_format()
421 var->blue.offset = 0; vmlfb_set_pref_pixel_format()
422 var->blue.length = 5; vmlfb_set_pref_pixel_format()
423 var->green.offset = 5; vmlfb_set_pref_pixel_format()
424 var->green.length = 5; vmlfb_set_pref_pixel_format()
425 var->red.offset = 10; vmlfb_set_pref_pixel_format()
426 var->red.length = 5; vmlfb_set_pref_pixel_format()
427 var->transp.offset = 15; vmlfb_set_pref_pixel_format()
428 var->transp.length = 1; vmlfb_set_pref_pixel_format()
431 var->blue.offset = 0; vmlfb_set_pref_pixel_format()
432 var->blue.length = 8; vmlfb_set_pref_pixel_format()
433 var->green.offset = 8; vmlfb_set_pref_pixel_format()
434 var->green.length = 8; vmlfb_set_pref_pixel_format()
435 var->red.offset = 16; vmlfb_set_pref_pixel_format()
436 var->red.length = 8; vmlfb_set_pref_pixel_format()
437 var->transp.offset = 24; vmlfb_set_pref_pixel_format()
438 var->transp.length = 0; vmlfb_set_pref_pixel_format()
444 var->blue.msb_right = var->green.msb_right = vmlfb_set_pref_pixel_format()
445 var->red.msb_right = var->transp.msb_right = 0; vmlfb_set_pref_pixel_format()
519 info->var.grayscale = 0; vml_pci_probe()
520 info->var.bits_per_pixel = 16; vml_pci_probe()
521 vmlfb_set_pref_pixel_format(&info->var); vml_pci_probe()
524 (&info->var, info, vml_default_mode, NULL, 0, &defaultmode, 16)) { vml_pci_probe()
597 static int vmlfb_check_var_locked(struct fb_var_screeninfo *var, vmlfb_check_var_locked() argument
607 v = *var; vmlfb_check_var_locked()
608 clock = PICOS2KHZ(var->pixclock); vmlfb_check_var_locked()
631 if (var->xres > VML_MAX_XRES || var->yres > VML_MAX_YRES) { vmlfb_check_var_locked()
635 if (var->xres_virtual > VML_MAX_XRES_VIRTUAL) { vmlfb_check_var_locked()
649 var->bits_per_pixel); vmlfb_check_var_locked()
653 pitch = ALIGN((var->xres * var->bits_per_pixel) >> 3, 0x40); vmlfb_check_var_locked()
654 mem = pitch * var->yres_virtual; vmlfb_check_var_locked()
661 if (var->blue.offset != 0 || vmlfb_check_var_locked()
662 var->blue.length != 5 || vmlfb_check_var_locked()
663 var->green.offset != 5 || vmlfb_check_var_locked()
664 var->green.length != 5 || vmlfb_check_var_locked()
665 var->red.offset != 10 || vmlfb_check_var_locked()
666 var->red.length != 5 || vmlfb_check_var_locked()
667 var->transp.offset != 15 || var->transp.length != 1) { vmlfb_check_var_locked()
672 if (var->blue.offset != 0 || vmlfb_check_var_locked()
673 var->blue.length != 8 || vmlfb_check_var_locked()
674 var->green.offset != 8 || vmlfb_check_var_locked()
675 var->green.length != 8 || vmlfb_check_var_locked()
676 var->red.offset != 16 || vmlfb_check_var_locked()
677 var->red.length != 8 || vmlfb_check_var_locked()
678 (var->transp.length != 0 && var->transp.length != 8) || vmlfb_check_var_locked()
679 (var->transp.length == 8 && var->transp.offset != 24)) { vmlfb_check_var_locked()
687 *var = v; vmlfb_check_var_locked()
692 static int vmlfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) vmlfb_check_var() argument
698 ret = vmlfb_check_var_locked(var, vinfo); vmlfb_check_var()
780 struct fb_var_screeninfo *var = &info->var; vmlfb_set_par_locked() local
786 vinfo->bytes_per_pixel = var->bits_per_pixel >> 3; vmlfb_set_par_locked()
787 vinfo->stride = ALIGN(var->xres_virtual * vinfo->bytes_per_pixel, 0x40); vmlfb_set_par_locked()
794 var->xres + var->right_margin + var->hsync_len + var->left_margin; vmlfb_set_par_locked()
795 hactive = var->xres; vmlfb_set_par_locked()
796 hblank_start = var->xres; vmlfb_set_par_locked()
798 hsync_start = hactive + var->right_margin; vmlfb_set_par_locked()
799 hsync_end = hsync_start + var->hsync_len; vmlfb_set_par_locked()
802 var->yres + var->lower_margin + var->vsync_len + var->upper_margin; vmlfb_set_par_locked()
803 vactive = var->yres; vmlfb_set_par_locked()
804 vblank_start = var->yres; vmlfb_set_par_locked()
806 vsync_start = vactive + var->lower_margin; vmlfb_set_par_locked()
807 vsync_end = vsync_start + var->vsync_len; vmlfb_set_par_locked()
810 clock = PICOS2KHZ(var->pixclock); vmlfb_set_par_locked()
821 switch (var->bits_per_pixel) { vmlfb_set_par_locked()
826 if (var->transp.length == 8) vmlfb_set_par_locked()
855 ((var->yres - 1) << 16) | (var->xres - 1)); vmlfb_set_par_locked()
861 ((var->xres - 1) << 16) | (var->yres - 1)); vmlfb_set_par_locked()
869 var->yoffset * vinfo->stride + vmlfb_set_par_locked()
870 var->xoffset * vinfo->bytes_per_pixel); vmlfb_set_par_locked()
948 static int vmlfb_pan_display(struct fb_var_screeninfo *var, vmlfb_pan_display() argument
956 var->yoffset * vinfo->stride + vmlfb_pan_display()
957 var->xoffset * vinfo->bytes_per_pixel); vmlfb_pan_display()
972 if (info->var.grayscale) { vmlfb_setcolreg()
979 red = VML_TOHW(red, info->var.red.length); vmlfb_setcolreg()
980 blue = VML_TOHW(blue, info->var.blue.length); vmlfb_setcolreg()
981 green = VML_TOHW(green, info->var.green.length); vmlfb_setcolreg()
982 transp = VML_TOHW(transp, info->var.transp.length); vmlfb_setcolreg()
984 v = (red << info->var.red.offset) | vmlfb_setcolreg()
985 (green << info->var.green.offset) | vmlfb_setcolreg()
986 (blue << info->var.blue.offset) | vmlfb_setcolreg()
987 (transp << info->var.transp.offset); vmlfb_setcolreg()
989 switch (info->var.bits_per_pixel) { vmlfb_setcolreg()
1110 if (!vmlfb_check_var_locked(&entry->info.var, entry)) { vmlfb_register_subsys()
1121 save_activate = entry->info.var.activate; vmlfb_register_subsys()
1122 entry->info.var.bits_per_pixel = 16; vmlfb_register_subsys()
1123 vmlfb_set_pref_pixel_format(&entry->info.var); vmlfb_register_subsys()
1124 if (fb_find_mode(&entry->info.var, vmlfb_register_subsys()
1127 entry->info.var.activate |= vmlfb_register_subsys()
1129 fb_set_var(&entry->info, &entry->info.var); vmlfb_register_subsys()
1134 entry->info.var.activate = save_activate; vmlfb_register_subsys()
/linux-4.1.27/drivers/video/fbdev/riva/
H A Dfbdev.c690 bpp = info->var.bits_per_pixel; riva_load_video_mode()
691 if (bpp == 16 && info->var.green.length == 5) riva_load_video_mode()
693 width = info->var.xres_virtual; riva_load_video_mode()
694 hDisplaySize = info->var.xres; riva_load_video_mode()
696 hStart = (hDisplaySize + info->var.right_margin) / 8 - 1; riva_load_video_mode()
697 hEnd = (hDisplaySize + info->var.right_margin + riva_load_video_mode()
698 info->var.hsync_len) / 8 - 1; riva_load_video_mode()
699 hTotal = (hDisplaySize + info->var.right_margin + riva_load_video_mode()
700 info->var.hsync_len + info->var.left_margin) / 8 - 5; riva_load_video_mode()
704 height = info->var.yres_virtual; riva_load_video_mode()
705 vDisplay = info->var.yres - 1; riva_load_video_mode()
706 vStart = info->var.yres + info->var.lower_margin - 1; riva_load_video_mode()
707 vEnd = info->var.yres + info->var.lower_margin + riva_load_video_mode()
708 info->var.vsync_len - 1; riva_load_video_mode()
709 vTotal = info->var.yres + info->var.lower_margin + riva_load_video_mode()
710 info->var.vsync_len + info->var.upper_margin + 2; riva_load_video_mode()
713 dotClock = 1000000000 / info->var.pixclock; riva_load_video_mode()
717 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) riva_load_video_mode()
769 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) { riva_load_video_mode()
779 if (info->var.sync & FB_SYNC_HOR_HIGH_ACT) riva_load_video_mode()
783 if (info->var.sync & FB_SYNC_VERT_HIGH_ACT) riva_load_video_mode()
831 static void riva_update_var(struct fb_var_screeninfo *var, riva_update_var() argument
835 var->xres = var->xres_virtual = modedb->xres; riva_update_var()
836 var->yres = modedb->yres; riva_update_var()
837 if (var->yres_virtual < var->yres) riva_update_var()
838 var->yres_virtual = var->yres; riva_update_var()
839 var->xoffset = var->yoffset = 0; riva_update_var()
840 var->pixclock = modedb->pixclock; riva_update_var()
841 var->left_margin = modedb->left_margin; riva_update_var()
842 var->right_margin = modedb->right_margin; riva_update_var()
843 var->upper_margin = modedb->upper_margin; riva_update_var()
844 var->lower_margin = modedb->lower_margin; riva_update_var()
845 var->hsync_len = modedb->hsync_len; riva_update_var()
846 var->vsync_len = modedb->vsync_len; riva_update_var()
847 var->sync = modedb->sync; riva_update_var()
848 var->vmode = modedb->vmode; riva_update_var()
855 * @var:
870 struct fb_var_screeninfo *var, rivafb_do_maximize()
887 if (var->xres_virtual == -1 && var->yres_virtual == -1) { rivafb_do_maximize()
901 var->xres_virtual = modes[i].xres; rivafb_do_maximize()
902 var->yres_virtual = modes[i].yres; rivafb_do_maximize()
906 var->xres_virtual, var->yres_virtual); rivafb_do_maximize()
907 } else if (var->xres_virtual == -1) { rivafb_do_maximize()
908 var->xres_virtual = (info->fix.smem_len * den / rivafb_do_maximize()
909 (nom * var->yres_virtual)) & ~15; rivafb_do_maximize()
911 "setting virtual X resolution to %d\n", var->xres_virtual); rivafb_do_maximize()
912 } else if (var->yres_virtual == -1) { rivafb_do_maximize()
913 var->xres_virtual = (var->xres_virtual + 15) & ~15; rivafb_do_maximize()
914 var->yres_virtual = info->fix.smem_len * den / rivafb_do_maximize()
915 (nom * var->xres_virtual); rivafb_do_maximize()
917 "setting virtual Y resolution to %d\n", var->yres_virtual); rivafb_do_maximize()
919 var->xres_virtual = (var->xres_virtual + 15) & ~15; rivafb_do_maximize()
920 if (var->xres_virtual * nom / den * var->yres_virtual > info->fix.smem_len) { rivafb_do_maximize()
923 var->xres, var->yres, var->bits_per_pixel); rivafb_do_maximize()
929 if (var->xres_virtual * nom / den >= 8192) { rivafb_do_maximize()
932 var->xres_virtual, 8192 * den / nom - 16); rivafb_do_maximize()
933 var->xres_virtual = 8192 * den / nom - 16; rivafb_do_maximize()
936 if (var->xres_virtual < var->xres) { rivafb_do_maximize()
938 "virtual X resolution (%d) is smaller than real\n", var->xres_virtual); rivafb_do_maximize()
942 if (var->yres_virtual < var->yres) { rivafb_do_maximize()
944 "virtual Y resolution (%d) is smaller than real\n", var->yres_virtual); rivafb_do_maximize()
947 if (var->yres_virtual > 0x7fff/nom) rivafb_do_maximize()
948 var->yres_virtual = 0x7fff/nom; rivafb_do_maximize()
949 if (var->xres_virtual > 0x7fff/nom) rivafb_do_maximize()
950 var->xres_virtual = 0x7fff/nom; rivafb_do_maximize()
990 (info->var.xres_virtual & 0xffff) | riva_setup_accel()
991 (info->var.yres_virtual << 16)); riva_setup_accel()
998 * @var: standard kernel fb changeable data
1009 static int riva_get_cmap_len(const struct fb_var_screeninfo *var) riva_get_cmap_len() argument
1013 switch (var->green.length) { riva_get_cmap_len()
1088 static int rivafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) rivafb_check_var() argument
1096 switch (var->bits_per_pixel) { rivafb_check_var()
1098 var->red.offset = var->green.offset = var->blue.offset = 0; rivafb_check_var()
1099 var->red.length = var->green.length = var->blue.length = 8; rivafb_check_var()
1100 var->bits_per_pixel = 8; rivafb_check_var()
1104 var->green.length = 5; rivafb_check_var()
1107 var->bits_per_pixel = 16; rivafb_check_var()
1110 var->green.length = 5; rivafb_check_var()
1111 if (var->green.length == 5) { rivafb_check_var()
1113 var->red.offset = 10; rivafb_check_var()
1114 var->green.offset = 5; rivafb_check_var()
1115 var->blue.offset = 0; rivafb_check_var()
1116 var->red.length = 5; rivafb_check_var()
1117 var->green.length = 5; rivafb_check_var()
1118 var->blue.length = 5; rivafb_check_var()
1121 var->red.offset = 11; rivafb_check_var()
1122 var->green.offset = 5; rivafb_check_var()
1123 var->blue.offset = 0; rivafb_check_var()
1124 var->red.length = 5; rivafb_check_var()
1125 var->green.length = 6; rivafb_check_var()
1126 var->blue.length = 5; rivafb_check_var()
1132 var->red.length = var->green.length = var->blue.length = 8; rivafb_check_var()
1133 var->bits_per_pixel = 32; rivafb_check_var()
1134 var->red.offset = 16; rivafb_check_var()
1135 var->green.offset = 8; rivafb_check_var()
1136 var->blue.offset = 0; rivafb_check_var()
1143 var->xres, var->yres, var->bits_per_pixel); rivafb_check_var()
1150 !info->monspecs.dclkmax || !fb_validate_mode(var, info)) rivafb_check_var()
1156 if (!fb_get_mode(FB_MAXTIMINGS, 0, var, info)) rivafb_check_var()
1161 mode = fb_find_best_mode(var, &info->modelist); rivafb_check_var()
1163 riva_update_var(var, mode); rivafb_check_var()
1171 if (var->xres_virtual < var->xres) rivafb_check_var()
1172 var->xres_virtual = var->xres; rivafb_check_var()
1173 if (var->yres_virtual <= var->yres) rivafb_check_var()
1174 var->yres_virtual = -1; rivafb_check_var()
1175 if (rivafb_do_maximize(info, var, nom, den) < 0) rivafb_check_var()
1179 if (var->xoffset > var->xres_virtual - var->xres) rivafb_check_var()
1180 var->xoffset = var->xres_virtual - var->xres - 1; rivafb_check_var()
1182 if (var->yoffset > var->yres_virtual - var->yres) rivafb_check_var()
1183 var->yoffset = var->yres_virtual - var->yres - 1; rivafb_check_var()
1185 var->red.msb_right = rivafb_check_var()
1186 var->green.msb_right = rivafb_check_var()
1187 var->blue.msb_right = rivafb_check_var()
1188 var->transp.offset = var->transp.length = var->transp.msb_right = 0; rivafb_check_var()
1209 info->fix.line_length = (info->var.xres_virtual * (info->var.bits_per_pixel >> 3)); rivafb_set_par()
1210 info->fix.visual = (info->var.bits_per_pixel == 8) ? rivafb_set_par()
1225 * @var: standard kernel fb changeable data
1231 * `xoffset' and `yoffset' fields of the `var' structure.
1236 static int rivafb_pan_display(struct fb_var_screeninfo *var, rivafb_pan_display() argument
1243 base = var->yoffset * info->fix.line_length + var->xoffset; rivafb_pan_display()
1312 if (regno >= riva_get_cmap_len(&info->var)) rivafb_setcolreg()
1315 if (info->var.grayscale) { rivafb_setcolreg()
1323 (regno << info->var.red.offset) | rivafb_setcolreg()
1324 (regno << info->var.green.offset) | rivafb_setcolreg()
1325 (regno << info->var.blue.offset); rivafb_setcolreg()
1331 switch (info->var.bits_per_pixel) { rivafb_setcolreg()
1346 switch (info->var.bits_per_pixel) { rivafb_setcolreg()
1352 if (info->var.green.length == 5) { rivafb_setcolreg()
1405 if (info->var.bits_per_pixel == 8) rivafb_fillrect()
1510 switch (info->var.bits_per_pixel) { rivafb_imageblit()
1524 if (info->var.green.length == 6) rivafb_imageblit()
1605 yy = cursor->image.dy - info->var.yoffset; rivafb_cursor()
1606 xx = cursor->image.dx - info->var.xoffset; rivafb_cursor()
1716 info->var = rivafb_default_var; riva_set_fbinfo()
1717 info->fix.visual = (info->var.bits_per_pixel == 8) ? riva_set_fbinfo()
1722 cmap_len = riva_get_cmap_len(&info->var); riva_set_fbinfo()
1729 info->var.yres_virtual = -1; riva_set_fbinfo()
1731 return (rivafb_check_var(&info->var, info)); riva_set_fbinfo()
1769 struct fb_var_screeninfo var; riva_get_EDID_i2c() local
1778 if (par->EDID && !fb_parse_edid(par->EDID, &var)) { riva_get_EDID_i2c()
1789 static void riva_update_default_var(struct fb_var_screeninfo *var, riva_update_default_var() argument
1798 fb_find_mode(var, info, mode_option, riva_update_default_var()
1815 var->bits_per_pixel = 8; riva_update_default_var()
1816 riva_update_var(var, &modedb); riva_update_default_var()
1841 struct fb_var_screeninfo *var = &rivafb_default_var; riva_get_edidinfo() local
1847 riva_update_default_var(var, info); riva_get_edidinfo()
869 rivafb_do_maximize(struct fb_info *info, struct fb_var_screeninfo *var, int nom, int den) rivafb_do_maximize() argument
/linux-4.1.27/drivers/video/fbdev/intelfb/
H A Dintelfbdrv.c137 struct fb_var_screeninfo *var);
140 static int intelfb_check_var(struct fb_var_screeninfo *var,
148 static int intelfb_pan_display(struct fb_var_screeninfo *var,
940 int __inline__ intelfb_var_to_depth(const struct fb_var_screeninfo *var) intelfb_var_to_depth() argument
943 var->bits_per_pixel, var->green.length); intelfb_var_to_depth()
945 switch (var->bits_per_pixel) { intelfb_var_to_depth()
947 return (var->green.length == 6) ? 16 : 15; intelfb_var_to_depth()
951 return var->bits_per_pixel; intelfb_var_to_depth()
956 static __inline__ int var_to_refresh(const struct fb_var_screeninfo *var) var_to_refresh() argument
958 int xtot = var->xres + var->left_margin + var->right_margin + var_to_refresh()
959 var->hsync_len; var_to_refresh()
960 int ytot = var->yres + var->upper_margin + var->lower_margin + var_to_refresh()
961 var->vsync_len; var_to_refresh()
963 return (1000000000 / var->pixclock * 1000 + 500) / xtot / ytot; var_to_refresh()
972 struct fb_var_screeninfo *var; get_initial_mode() local
982 var = &dinfo->initial_var; get_initial_mode()
983 memset(var, 0, sizeof(*var)); get_initial_mode()
984 var->xres = screen_info.lfb_width; get_initial_mode()
985 var->yres = screen_info.lfb_height; get_initial_mode()
986 var->bits_per_pixel = screen_info.lfb_depth; get_initial_mode()
989 var->bits_per_pixel = 16; get_initial_mode()
992 var->bits_per_pixel = 32; get_initial_mode()
1001 var->xres, var->yres, var->bits_per_pixel, get_initial_mode()
1005 var->left_margin = (var->xres / 8) & 0xf8; get_initial_mode()
1006 var->right_margin = 32; get_initial_mode()
1007 var->upper_margin = 16; get_initial_mode()
1008 var->lower_margin = 4; get_initial_mode()
1009 var->hsync_len = (var->xres / 8) & 0xf8; get_initial_mode()
1010 var->vsync_len = 4; get_initial_mode()
1012 xtot = var->xres + var->left_margin + get_initial_mode()
1013 var->right_margin + var->hsync_len; get_initial_mode()
1014 ytot = var->yres + var->upper_margin + get_initial_mode()
1015 var->lower_margin + var->vsync_len; get_initial_mode()
1016 var->pixclock = 10000000 / xtot * 1000 / ytot * 100 / 60; get_initial_mode()
1018 var->height = -1; get_initial_mode()
1019 var->width = -1; get_initial_mode()
1021 if (var->bits_per_pixel > 8) { get_initial_mode()
1022 var->red.offset = screen_info.red_pos; get_initial_mode()
1023 var->red.length = screen_info.red_size; get_initial_mode()
1024 var->green.offset = screen_info.green_pos; get_initial_mode()
1025 var->green.length = screen_info.green_size; get_initial_mode()
1026 var->blue.offset = screen_info.blue_pos; get_initial_mode()
1027 var->blue.length = screen_info.blue_size; get_initial_mode()
1028 var->transp.offset = screen_info.rsvd_pos; get_initial_mode()
1029 var->transp.length = screen_info.rsvd_size; get_initial_mode()
1031 var->red.length = 8; get_initial_mode()
1032 var->green.length = 8; get_initial_mode()
1033 var->blue.length = 8; get_initial_mode()
1039 struct fb_var_screeninfo *var; intelfb_init_var() local
1044 var = &dinfo->info->var; intelfb_init_var()
1046 memcpy(var, &dinfo->initial_var, intelfb_init_var()
1066 msrc = fb_find_mode(var, dinfo->info, mode, intelfb_init_var()
1075 msrc = fb_find_mode(var, dinfo->info, mode, intelfb_init_var()
1085 msrc = fb_find_mode(var, dinfo->info, PREFERRED_MODE, intelfb_init_var()
1094 INF_MSG("Initial video mode is %dx%d-%d@%d.\n", var->xres, var->yres, intelfb_init_var()
1095 var->bits_per_pixel, var_to_refresh(var)); intelfb_init_var()
1101 var->xres_virtual = var->xres; intelfb_init_var()
1102 var->yres_virtual = intelfb_init_var()
1103 dinfo->fb.size / 2 / (var->bits_per_pixel * var->xres); intelfb_init_var()
1104 if (var->yres_virtual < var->yres) intelfb_init_var()
1105 var->yres_virtual = var->yres; intelfb_init_var()
1107 var->yres_virtual = var->yres; intelfb_init_var()
1111 var->accel_flags |= FB_ACCELF_TEXT; intelfb_init_var()
1113 var->accel_flags &= ~FB_ACCELF_TEXT; intelfb_init_var()
1148 update_dinfo(dinfo, &info->var); intelfb_set_fbinfo()
1155 struct fb_var_screeninfo *var) update_dinfo()
1159 dinfo->bpp = var->bits_per_pixel; update_dinfo()
1160 dinfo->depth = intelfb_var_to_depth(var); update_dinfo()
1161 dinfo->xres = var->xres; update_dinfo()
1162 dinfo->yres = var->xres; update_dinfo()
1163 dinfo->pixclock = var->pixclock; update_dinfo()
1171 dinfo->pitch = var->xres_virtual; update_dinfo()
1175 dinfo->pitch = var->xres_virtual * 2; update_dinfo()
1179 dinfo->pitch = var->xres_virtual * 4; update_dinfo()
1227 static int intelfb_check_var(struct fb_var_screeninfo *var, intelfb_check_var() argument
1244 DBG_MSG("intelfb_check_var: accel_flags is %d\n", var->accel_flags); intelfb_check_var()
1249 if (intelfbhw_validate_mode(dinfo, var) != 0) intelfb_check_var()
1252 v = *var; intelfb_check_var()
1273 change_var = ((info->var.xres != var->xres) || intelfb_check_var()
1274 (info->var.yres != var->yres) || intelfb_check_var()
1275 (info->var.xres_virtual != var->xres_virtual) || intelfb_check_var()
1276 (info->var.yres_virtual != var->yres_virtual) || intelfb_check_var()
1277 (info->var.bits_per_pixel != var->bits_per_pixel) || intelfb_check_var()
1278 memcmp(&info->var.red, &var->red, sizeof(var->red)) || intelfb_check_var()
1279 memcmp(&info->var.green, &var->green, intelfb_check_var()
1280 sizeof(var->green)) || intelfb_check_var()
1281 memcmp(&info->var.blue, &var->blue, sizeof(var->blue))); intelfb_check_var()
1285 var->yres_virtual > dinfo->initial_var.yres_virtual || intelfb_check_var()
1286 var->yres_virtual < dinfo->initial_var.yres || intelfb_check_var()
1287 var->xoffset || var->nonstd)) { intelfb_check_var()
1347 *var = v; intelfb_check_var()
1366 DBG_MSG("intelfb_set_par (%dx%d-%d)\n", info->var.xres, intelfb_set_par()
1367 info->var.yres, info->var.bits_per_pixel); intelfb_set_par()
1380 if (intelfbhw_mode_to_hw(dinfo, hw, &info->var)) intelfb_set_par()
1390 update_dinfo(dinfo, &info->var); intelfb_set_par()
1395 intelfb_pan_display(&info->var, info); intelfb_set_par()
1464 static int intelfb_pan_display(struct fb_var_screeninfo *var, intelfb_pan_display() argument
1467 intelfbhw_pan_display(var, info); intelfb_pan_display()
1520 dinfo->pitch, info->var.bits_per_pixel, intelfb_fillrect()
1540 dinfo->pitch, info->var.bits_per_pixel); intelfb_copyarea()
1570 dinfo->pitch, info->var.bits_per_pixel)) { intelfb_imageblit()
1626 dx = cursor->image.dx - info->var.xoffset; intelfb_cursor()
1627 dy = cursor->image.dy - info->var.yoffset; intelfb_cursor()
1154 update_dinfo(struct intelfb_info *dinfo, struct fb_var_screeninfo *var) update_dinfo() argument
H A Dintelfbhw.c312 struct fb_var_screeninfo *var) intelfbhw_validate_mode()
321 bytes_per_pixel = var->bits_per_pixel / 8; intelfbhw_validate_mode()
326 tmp = var->yres_virtual * var->xres_virtual * bytes_per_pixel; intelfbhw_validate_mode()
335 if (var->xres - 1 > HACTIVE_MASK) { intelfbhw_validate_mode()
337 var->xres, HACTIVE_MASK + 1); intelfbhw_validate_mode()
340 if (var->yres - 1 > VACTIVE_MASK) { intelfbhw_validate_mode()
342 var->yres, VACTIVE_MASK + 1); intelfbhw_validate_mode()
345 if (var->xres < 4) { intelfbhw_validate_mode()
346 WRN_MSG("X resolution too small (%d vs 4).\n", var->xres); intelfbhw_validate_mode()
349 if (var->yres < 4) { intelfbhw_validate_mode()
350 WRN_MSG("Y resolution too small (%d vs 4).\n", var->yres); intelfbhw_validate_mode()
355 if (var->vmode & FB_VMODE_DOUBLE) { intelfbhw_validate_mode()
360 if ((var->vmode & FB_VMODE_INTERLACED) && (var->yres & 1)) { intelfbhw_validate_mode()
366 tmp = 1000000000 / var->pixclock; intelfbhw_validate_mode()
381 int intelfbhw_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) intelfbhw_pan_display() argument
390 xoffset = ROUND_DOWN_TO(var->xoffset, 8); intelfbhw_pan_display()
391 yoffset = var->yoffset; intelfbhw_pan_display()
393 if ((xoffset + info->var.xres > info->var.xres_virtual) || intelfbhw_pan_display()
394 (yoffset + info->var.yres > info->var.yres_virtual)) intelfbhw_pan_display()
398 (xoffset * info->var.bits_per_pixel) / 8; intelfbhw_pan_display()
403 if ((var->activate & FB_ACTIVATE_VBL) && intelfbhw_pan_display()
1045 struct fb_var_screeninfo *var) intelfbhw_mode_to_hw()
1092 hsync_pol = (var->sync & FB_SYNC_HOR_HIGH_ACT) ? intelfbhw_mode_to_hw()
1094 vsync_pol = (var->sync & FB_SYNC_VERT_HIGH_ACT) ? intelfbhw_mode_to_hw()
1116 clock_target = 1000000000 / var->pixclock; intelfbhw_mode_to_hw()
1158 switch (intelfb_var_to_depth(var)) { intelfbhw_mode_to_hw()
1176 hactive = var->xres; intelfbhw_mode_to_hw()
1177 hsync_start = hactive + var->right_margin; intelfbhw_mode_to_hw()
1178 hsync_end = hsync_start + var->hsync_len; intelfbhw_mode_to_hw()
1179 htotal = hsync_end + var->left_margin; intelfbhw_mode_to_hw()
1187 vactive = var->yres; intelfbhw_mode_to_hw()
1188 if (var->vmode & FB_VMODE_INTERLACED) intelfbhw_mode_to_hw()
1190 vsync_start = vactive + var->lower_margin; intelfbhw_mode_to_hw()
1191 vsync_end = vsync_start + var->vsync_len; intelfbhw_mode_to_hw()
1192 vtotal = vsync_end + var->upper_margin; intelfbhw_mode_to_hw()
1254 hw->disp_a_base = hw->disp_a_stride * var->yoffset + intelfbhw_mode_to_hw()
1255 var->xoffset * var->bits_per_pixel / 8; intelfbhw_mode_to_hw()
1271 if (var->vmode & FB_VMODE_INTERLACED) intelfbhw_mode_to_hw()
1432 switch (dinfo->info->var.vmode & (FB_VMODE_INTERLACED | intelfbhw_program_mode()
2016 if (dinfo->info->var.vmode & FB_VMODE_INTERLACED) intelfbhw_irq()
2059 if (dinfo->info->var.vmode & FB_VMODE_INTERLACED) intelfbhw_enable_irq()
311 intelfbhw_validate_mode(struct intelfb_info *dinfo, struct fb_var_screeninfo *var) intelfbhw_validate_mode() argument
1043 intelfbhw_mode_to_hw(struct intelfb_info *dinfo, struct intelfb_hwstate *hw, struct fb_var_screeninfo *var) intelfbhw_mode_to_hw() argument
/linux-4.1.27/drivers/net/wireless/brcm80211/brcmsmac/
H A Dtypes.h173 #define NREV_IS(var, val) \
174 (NCONF_HAS(val) && (NCONF_IS(val) || ((var) == (val))))
176 #define NREV_GE(var, val) \
177 (NCONF_GE(val) && (!NCONF_LT(val) || ((var) >= (val))))
179 #define NREV_GT(var, val) \
180 (NCONF_GT(val) && (!NCONF_LE(val) || ((var) > (val))))
182 #define NREV_LT(var, val) \
183 (NCONF_LT(val) && (!NCONF_GE(val) || ((var) < (val))))
185 #define NREV_LE(var, val) \
186 (NCONF_LE(val) && (!NCONF_GT(val) || ((var) <= (val))))
188 #define LCNREV_IS(var, val) \
189 (LCNCONF_HAS(val) && (LCNCONF_IS(val) || ((var) == (val))))
191 #define LCNREV_GE(var, val) \
192 (LCNCONF_GE(val) && (!LCNCONF_LT(val) || ((var) >= (val))))
194 #define LCNREV_GT(var, val) \
195 (LCNCONF_GT(val) && (!LCNCONF_LE(val) || ((var) > (val))))
197 #define LCNREV_LT(var, val) \
198 (LCNCONF_LT(val) && (!LCNCONF_GE(val) || ((var) < (val))))
200 #define LCNREV_LE(var, val) \
201 (LCNCONF_LE(val) && (!LCNCONF_GT(val) || ((var) <= (val))))
203 #define D11REV_IS(var, val) \
204 (D11CONF_HAS(val) && (D11CONF_IS(val) || ((var) == (val))))
206 #define D11REV_GE(var, val) \
207 (D11CONF_GE(val) && (!D11CONF_LT(val) || ((var) >= (val))))
209 #define D11REV_GT(var, val) \
210 (D11CONF_GT(val) && (!D11CONF_LE(val) || ((var) > (val))))
212 #define D11REV_LT(var, val) \
213 (D11CONF_LT(val) && (!D11CONF_GE(val) || ((var) < (val))))
215 #define D11REV_LE(var, val) \
216 (D11CONF_LE(val) && (!D11CONF_GT(val) || ((var) <= (val))))
218 #define PHYTYPE_IS(var, val)\
219 (PHYCONF_HAS(val) && (PHYCONF_IS(val) || ((var) == (val))))
235 /* Last but not least: shorter wlc-specific var checks */
/linux-4.1.27/drivers/gpu/drm/nouveau/include/nvkm/core/
H A Dengctx.h7 #define NV_ENGCTX_(eng,var) (NV_ENGCTX_CLASS | ((var) << 8) | (eng))
8 #define NV_ENGCTX(name,var) NV_ENGCTX_(NVDEV_ENGINE_##name, (var))
H A Dengine.h5 #define NV_ENGINE_(eng,var) (NV_ENGINE_CLASS | ((var) << 8) | (eng))
6 #define NV_ENGINE(name,var) NV_ENGINE_(NVDEV_ENGINE_##name, (var))
H A Dsubdev.h6 #define NV_SUBDEV_(sub,var) (NV_SUBDEV_CLASS | ((var) << 8) | (sub))
7 #define NV_SUBDEV(name,var) NV_SUBDEV_(NVDEV_SUBDEV_##name, (var))
/linux-4.1.27/drivers/gpu/drm/
H A Ddrm_fb_helper.c701 red >>= (16 - info->var.red.length); setcolreg()
702 green >>= (16 - info->var.green.length); setcolreg()
703 blue >>= (16 - info->var.blue.length); setcolreg()
704 value = (red << info->var.red.offset) | setcolreg()
705 (green << info->var.green.offset) | setcolreg()
706 (blue << info->var.blue.offset); setcolreg()
707 if (info->var.transp.length > 0) { setcolreg()
708 u32 mask = (1 << info->var.transp.length) - 1; setcolreg()
709 mask <<= info->var.transp.offset; setcolreg()
817 * @var: screeninfo to check
820 int drm_fb_helper_check_var(struct fb_var_screeninfo *var, drm_fb_helper_check_var() argument
827 if (var->pixclock != 0 || in_dbg_master()) drm_fb_helper_check_var()
831 if (var->bits_per_pixel > fb->bits_per_pixel || drm_fb_helper_check_var()
832 var->xres > fb->width || var->yres > fb->height || drm_fb_helper_check_var()
833 var->xres_virtual > fb->width || var->yres_virtual > fb->height) { drm_fb_helper_check_var()
836 var->xres, var->yres, var->bits_per_pixel, drm_fb_helper_check_var()
837 var->xres_virtual, var->yres_virtual, drm_fb_helper_check_var()
842 switch (var->bits_per_pixel) { drm_fb_helper_check_var()
844 depth = (var->green.length == 6) ? 16 : 15; drm_fb_helper_check_var()
847 depth = (var->transp.length > 0) ? 32 : 24; drm_fb_helper_check_var()
850 depth = var->bits_per_pixel; drm_fb_helper_check_var()
856 var->red.offset = 0; drm_fb_helper_check_var()
857 var->green.offset = 0; drm_fb_helper_check_var()
858 var->blue.offset = 0; drm_fb_helper_check_var()
859 var->red.length = 8; drm_fb_helper_check_var()
860 var->green.length = 8; drm_fb_helper_check_var()
861 var->blue.length = 8; drm_fb_helper_check_var()
862 var->transp.length = 0; drm_fb_helper_check_var()
863 var->transp.offset = 0; drm_fb_helper_check_var()
866 var->red.offset = 10; drm_fb_helper_check_var()
867 var->green.offset = 5; drm_fb_helper_check_var()
868 var->blue.offset = 0; drm_fb_helper_check_var()
869 var->red.length = 5; drm_fb_helper_check_var()
870 var->green.length = 5; drm_fb_helper_check_var()
871 var->blue.length = 5; drm_fb_helper_check_var()
872 var->transp.length = 1; drm_fb_helper_check_var()
873 var->transp.offset = 15; drm_fb_helper_check_var()
876 var->red.offset = 11; drm_fb_helper_check_var()
877 var->green.offset = 5; drm_fb_helper_check_var()
878 var->blue.offset = 0; drm_fb_helper_check_var()
879 var->red.length = 5; drm_fb_helper_check_var()
880 var->green.length = 6; drm_fb_helper_check_var()
881 var->blue.length = 5; drm_fb_helper_check_var()
882 var->transp.length = 0; drm_fb_helper_check_var()
883 var->transp.offset = 0; drm_fb_helper_check_var()
886 var->red.offset = 16; drm_fb_helper_check_var()
887 var->green.offset = 8; drm_fb_helper_check_var()
888 var->blue.offset = 0; drm_fb_helper_check_var()
889 var->red.length = 8; drm_fb_helper_check_var()
890 var->green.length = 8; drm_fb_helper_check_var()
891 var->blue.length = 8; drm_fb_helper_check_var()
892 var->transp.length = 0; drm_fb_helper_check_var()
893 var->transp.offset = 0; drm_fb_helper_check_var()
896 var->red.offset = 16; drm_fb_helper_check_var()
897 var->green.offset = 8; drm_fb_helper_check_var()
898 var->blue.offset = 0; drm_fb_helper_check_var()
899 var->red.length = 8; drm_fb_helper_check_var()
900 var->green.length = 8; drm_fb_helper_check_var()
901 var->blue.length = 8; drm_fb_helper_check_var()
902 var->transp.length = 8; drm_fb_helper_check_var()
903 var->transp.offset = 24; drm_fb_helper_check_var()
923 struct fb_var_screeninfo *var = &info->var; drm_fb_helper_set_par() local
925 if (var->pixclock != 0) { drm_fb_helper_set_par()
938 * @var: updated screen information
941 int drm_fb_helper_pan_display(struct fb_var_screeninfo *var, drm_fb_helper_pan_display() argument
961 modeset->x = var->xoffset; drm_fb_helper_pan_display()
962 modeset->y = var->yoffset; drm_fb_helper_pan_display()
967 info->var.xoffset = var->xoffset; drm_fb_helper_pan_display()
968 info->var.yoffset = var->yoffset; drm_fb_helper_pan_display()
1105 info->var.pixclock = 0; drm_fb_helper_single_fb_probe()
1177 info->var.xres_virtual = fb->width; drm_fb_helper_fill_var()
1178 info->var.yres_virtual = fb->height; drm_fb_helper_fill_var()
1179 info->var.bits_per_pixel = fb->bits_per_pixel; drm_fb_helper_fill_var()
1180 info->var.accel_flags = FB_ACCELF_TEXT; drm_fb_helper_fill_var()
1181 info->var.xoffset = 0; drm_fb_helper_fill_var()
1182 info->var.yoffset = 0; drm_fb_helper_fill_var()
1183 info->var.activate = FB_ACTIVATE_NOW; drm_fb_helper_fill_var()
1184 info->var.height = -1; drm_fb_helper_fill_var()
1185 info->var.width = -1; drm_fb_helper_fill_var()
1189 info->var.red.offset = 0; drm_fb_helper_fill_var()
1190 info->var.green.offset = 0; drm_fb_helper_fill_var()
1191 info->var.blue.offset = 0; drm_fb_helper_fill_var()
1192 info->var.red.length = 8; /* 8bit DAC */ drm_fb_helper_fill_var()
1193 info->var.green.length = 8; drm_fb_helper_fill_var()
1194 info->var.blue.length = 8; drm_fb_helper_fill_var()
1195 info->var.transp.offset = 0; drm_fb_helper_fill_var()
1196 info->var.transp.length = 0; drm_fb_helper_fill_var()
1199 info->var.red.offset = 10; drm_fb_helper_fill_var()
1200 info->var.green.offset = 5; drm_fb_helper_fill_var()
1201 info->var.blue.offset = 0; drm_fb_helper_fill_var()
1202 info->var.red.length = 5; drm_fb_helper_fill_var()
1203 info->var.green.length = 5; drm_fb_helper_fill_var()
1204 info->var.blue.length = 5; drm_fb_helper_fill_var()
1205 info->var.transp.offset = 15; drm_fb_helper_fill_var()
1206 info->var.transp.length = 1; drm_fb_helper_fill_var()
1209 info->var.red.offset = 11; drm_fb_helper_fill_var()
1210 info->var.green.offset = 5; drm_fb_helper_fill_var()
1211 info->var.blue.offset = 0; drm_fb_helper_fill_var()
1212 info->var.red.length = 5; drm_fb_helper_fill_var()
1213 info->var.green.length = 6; drm_fb_helper_fill_var()
1214 info->var.blue.length = 5; drm_fb_helper_fill_var()
1215 info->var.transp.offset = 0; drm_fb_helper_fill_var()
1218 info->var.red.offset = 16; drm_fb_helper_fill_var()
1219 info->var.green.offset = 8; drm_fb_helper_fill_var()
1220 info->var.blue.offset = 0; drm_fb_helper_fill_var()
1221 info->var.red.length = 8; drm_fb_helper_fill_var()
1222 info->var.green.length = 8; drm_fb_helper_fill_var()
1223 info->var.blue.length = 8; drm_fb_helper_fill_var()
1224 info->var.transp.offset = 0; drm_fb_helper_fill_var()
1225 info->var.transp.length = 0; drm_fb_helper_fill_var()
1228 info->var.red.offset = 16; drm_fb_helper_fill_var()
1229 info->var.green.offset = 8; drm_fb_helper_fill_var()
1230 info->var.blue.offset = 0; drm_fb_helper_fill_var()
1231 info->var.red.length = 8; drm_fb_helper_fill_var()
1232 info->var.green.length = 8; drm_fb_helper_fill_var()
1233 info->var.blue.length = 8; drm_fb_helper_fill_var()
1234 info->var.transp.offset = 24; drm_fb_helper_fill_var()
1235 info->var.transp.length = 8; drm_fb_helper_fill_var()
1241 info->var.xres = fb_width; drm_fb_helper_fill_var()
1242 info->var.yres = fb_height; drm_fb_helper_fill_var()
/linux-4.1.27/drivers/video/fbdev/savage/
H A Dsavagefb_driver.c148 static void vgaHWInit(struct fb_var_screeninfo *var, vgaHWInit() argument
204 reg->CRTC[0x13] = var->xres_virtual >> 4; vgaHWInit()
849 static void savage_update_var(struct fb_var_screeninfo *var, savage_update_var() argument
852 var->xres = var->xres_virtual = modedb->xres; savage_update_var()
853 var->yres = modedb->yres; savage_update_var()
854 if (var->yres_virtual < var->yres) savage_update_var()
855 var->yres_virtual = var->yres; savage_update_var()
856 var->xoffset = var->yoffset = 0; savage_update_var()
857 var->pixclock = modedb->pixclock; savage_update_var()
858 var->left_margin = modedb->left_margin; savage_update_var()
859 var->right_margin = modedb->right_margin; savage_update_var()
860 var->upper_margin = modedb->upper_margin; savage_update_var()
861 var->lower_margin = modedb->lower_margin; savage_update_var()
862 var->hsync_len = modedb->hsync_len; savage_update_var()
863 var->vsync_len = modedb->vsync_len; savage_update_var()
864 var->sync = modedb->sync; savage_update_var()
865 var->vmode = modedb->vmode; savage_update_var()
868 static int savagefb_check_var(struct fb_var_screeninfo *var, savagefb_check_var() argument
876 var->transp.offset = 0; savagefb_check_var()
877 var->transp.length = 0; savagefb_check_var()
878 switch (var->bits_per_pixel) { savagefb_check_var()
880 var->red.offset = var->green.offset = savagefb_check_var()
881 var->blue.offset = 0; savagefb_check_var()
882 var->red.length = var->green.length = savagefb_check_var()
883 var->blue.length = var->bits_per_pixel; savagefb_check_var()
886 var->red.offset = 11; savagefb_check_var()
887 var->red.length = 5; savagefb_check_var()
888 var->green.offset = 5; savagefb_check_var()
889 var->green.length = 6; savagefb_check_var()
890 var->blue.offset = 0; savagefb_check_var()
891 var->blue.length = 5; savagefb_check_var()
894 var->transp.offset = 24; savagefb_check_var()
895 var->transp.length = 8; savagefb_check_var()
896 var->red.offset = 16; savagefb_check_var()
897 var->red.length = 8; savagefb_check_var()
898 var->green.offset = 8; savagefb_check_var()
899 var->green.length = 8; savagefb_check_var()
900 var->blue.offset = 0; savagefb_check_var()
901 var->blue.length = 8; savagefb_check_var()
909 !info->monspecs.dclkmax || !fb_validate_mode(var, info)) savagefb_check_var()
914 if (!fb_get_mode(FB_MAXTIMINGS, 0, var, info)) savagefb_check_var()
921 mode = fb_find_best_mode(var, &info->modelist); savagefb_check_var()
923 savage_update_var(var, mode); savagefb_check_var()
933 (var->xres > par->SavagePanelWidth || savagefb_check_var()
934 var->yres > par->SavagePanelHeight)) { savagefb_check_var()
936 "(%dx%d)\n", var->xres, var->yres, savagefb_check_var()
942 if (var->yres_virtual < var->yres) savagefb_check_var()
943 var->yres_virtual = var->yres; savagefb_check_var()
944 if (var->xres_virtual < var->xres) savagefb_check_var()
945 var->xres_virtual = var->xres; savagefb_check_var()
949 memlen = var->xres_virtual * var->bits_per_pixel * savagefb_check_var()
950 var->yres_virtual / 8; savagefb_check_var()
952 var->yres_virtual = vramlen * 8 / savagefb_check_var()
953 (var->xres_virtual * var->bits_per_pixel); savagefb_check_var()
954 memlen = var->xres_virtual * var->bits_per_pixel * savagefb_check_var()
955 var->yres_virtual / 8; savagefb_check_var()
960 if (var->yres_virtual < var->yres) savagefb_check_var()
961 var->yres = var->yres_virtual; savagefb_check_var()
962 if (var->xres_virtual < var->xres) savagefb_check_var()
963 var->xres = var->xres_virtual; savagefb_check_var()
964 if (var->xoffset + var->xres > var->xres_virtual) savagefb_check_var()
965 var->xoffset = var->xres_virtual - var->xres; savagefb_check_var()
966 if (var->yoffset + var->yres > var->yres_virtual) savagefb_check_var()
967 var->yoffset = var->yres_virtual - var->yres; savagefb_check_var()
973 static int savagefb_decode_var(struct fb_var_screeninfo *var, savagefb_decode_var() argument
981 unsigned int pixclock = var->pixclock; savagefb_decode_var()
990 timings.dblscan = var->vmode & FB_VMODE_DOUBLE; savagefb_decode_var()
991 timings.interlaced = var->vmode & FB_VMODE_INTERLACED; savagefb_decode_var()
992 timings.HDisplay = var->xres; savagefb_decode_var()
993 timings.HSyncStart = timings.HDisplay + var->right_margin; savagefb_decode_var()
994 timings.HSyncEnd = timings.HSyncStart + var->hsync_len; savagefb_decode_var()
995 timings.HTotal = timings.HSyncEnd + var->left_margin; savagefb_decode_var()
996 timings.VDisplay = var->yres; savagefb_decode_var()
997 timings.VSyncStart = timings.VDisplay + var->lower_margin; savagefb_decode_var()
998 timings.VSyncEnd = timings.VSyncStart + var->vsync_len; savagefb_decode_var()
999 timings.VTotal = timings.VSyncEnd + var->upper_margin; savagefb_decode_var()
1000 timings.sync = var->sync; savagefb_decode_var()
1003 par->depth = var->bits_per_pixel; savagefb_decode_var()
1004 par->vwidth = var->xres_virtual; savagefb_decode_var()
1006 if (var->bits_per_pixel == 16 && par->chip == S3_SAVAGE3D) { savagefb_decode_var()
1017 vgaHWInit(var, par, &timings, reg); savagefb_decode_var()
1024 switch(var->bits_per_pixel) { savagefb_decode_var()
1102 if (var->bits_per_pixel < 24) savagefb_decode_var()
1143 width = (var->xres_virtual * ((var->bits_per_pixel+7) / 8)) >> 3; savagefb_decode_var()
1151 if (var->bits_per_pixel <= 8) savagefb_decode_var()
1153 else if (var->bits_per_pixel <= 16) savagefb_decode_var()
1158 if (var->xres_virtual <= 640) savagefb_decode_var()
1160 else if (var->xres_virtual == 800) savagefb_decode_var()
1162 else if (var->xres_virtual == 1024) savagefb_decode_var()
1164 else if (var->xres_virtual == 1152) savagefb_decode_var()
1166 else if (var->xres_virtual == 1280) savagefb_decode_var()
1168 else if (var->xres_virtual == 1600) savagefb_decode_var()
1221 switch (info->var.bits_per_pixel) { savagefb_setcolreg()
1491 info->fix.line_length = info->var.xres_virtual * savagefb_set_fix()
1492 info->var.bits_per_pixel / 8; savagefb_set_fix()
1494 if (info->var.bits_per_pixel == 8) { savagefb_set_fix()
1507 struct fb_var_screeninfo *var = &info->var; savagefb_set_par() local
1511 err = savagefb_decode_var(var, par, &par->state); savagefb_set_par()
1516 if (var->bits_per_pixel > 24) savagefb_set_par()
1518 else if (var->bits_per_pixel >= 24) savagefb_set_par()
1520 else if ((var->bits_per_pixel > 8) && (var->bits_per_pixel < 24)) savagefb_set_par()
1522 else if (var->bits_per_pixel <= 8) savagefb_set_par()
1542 static int savagefb_pan_display(struct fb_var_screeninfo *var, savagefb_pan_display() argument
1548 base = (var->yoffset * info->fix.line_length savagefb_pan_display()
1549 + (var->xoffset & ~1) * ((info->var.bits_per_pixel+7) / 8)) >> 2; savagefb_pan_display()
2143 info->var.nonstd = 0; savage_init_fb_info()
2144 info->var.activate = FB_ACTIVATE_NOW; savage_init_fb_info()
2145 info->var.width = -1; savage_init_fb_info()
2146 info->var.height = -1; savage_init_fb_info()
2147 info->var.accel_flags = 0; savage_init_fb_info()
2233 info->var = savagefb_var800x600x8; savagefb_probe()
2246 else if (fb_find_mode(&info->var, info, NULL, NULL, 0, savagefb_probe()
2248 info->var = savagefb_var800x600x8; savagefb_probe()
2252 fb_find_mode(&info->var, info, mode_option, savagefb_probe()
2259 savage_update_var(&info->var, mode); savagefb_probe()
2263 lpitch = info->var.xres_virtual*((info->var.bits_per_pixel + 7) >> 3); savagefb_probe()
2264 info->var.yres_virtual = info->fix.smem_len/lpitch; savagefb_probe()
2266 if (info->var.yres_virtual < info->var.yres) { savagefb_probe()
2276 if (info->var.yres_virtual > 0x1000) savagefb_probe()
2277 info->var.yres_virtual = 0x1000; savagefb_probe()
2279 if (info->var.xres_virtual > 0x1000) savagefb_probe()
2280 info->var.xres_virtual = 0x1000; savagefb_probe()
2282 savagefb_check_var(&info->var, info); savagefb_probe()
2291 h_sync = 1953125000 / info->var.pixclock; savagefb_probe()
2292 h_sync = h_sync * 512 / (info->var.xres + info->var.left_margin + savagefb_probe()
2293 info->var.right_margin + savagefb_probe()
2294 info->var.hsync_len); savagefb_probe()
2295 v_sync = h_sync / (info->var.yres + info->var.upper_margin + savagefb_probe()
2296 info->var.lower_margin + info->var.vsync_len); savagefb_probe()
2301 info->var.xres, info->var.yres, savagefb_probe()
/linux-4.1.27/arch/arm/mach-rpc/include/mach/
H A Dacornfb.h13 #define acornfb_bandwidth(var) ((var)->pixclock * 8 / (var)->bits_per_pixel)
16 acornfb_valid_pixrate(struct fb_var_screeninfo *var) acornfb_valid_pixrate() argument
20 if (!var->pixclock) acornfb_valid_pixrate()
35 return acornfb_bandwidth(var) >= limit; acornfb_valid_pixrate()
83 struct fb_var_screeninfo *var) acornfb_vidc20_find_rates()
88 div = var->pixclock / 9090; /*9921*/ acornfb_vidc20_find_rates()
122 unsigned long bandwidth = acornfb_bandwidth(var); acornfb_vidc20_find_rates()
136 vidc->pll_ctl = acornfb_vidc20_find_pll(var->pixclock / div); acornfb_vidc20_find_rates()
82 acornfb_vidc20_find_rates(struct vidc_timing *vidc, struct fb_var_screeninfo *var) acornfb_vidc20_find_rates() argument
/linux-4.1.27/drivers/staging/speakup/
H A Dvarhandlers.c86 void speakup_register_var(struct var_t *var) speakup_register_var() argument
92 BUG_ON(!var || var->var_id < 0 || var->var_id >= MAXVARS); speakup_register_var()
100 p_header = var_ptrs[var->var_id]; speakup_register_var()
103 p_header->data = var; speakup_register_var()
176 int spk_set_num_var(int input, struct st_var_header *var, int how) spk_set_num_var() argument
180 int *p_val = var->p_val; spk_set_num_var()
184 struct var_t *var_data = var->data; spk_set_num_var()
211 if (var->var_type == VAR_TIME && p_val != NULL) { spk_set_num_var()
217 if (var->var_id == PUNC_LEVEL) { spk_set_num_var()
224 if (var->var_id < FIRST_SYNTH_VAR || synth == NULL) spk_set_num_var()
227 int status = synth->synth_adjust(var); spk_set_num_var()
233 if (var->var_id == PITCH) spk_set_num_var()
246 int spk_set_string_var(const char *page, struct st_var_header *var, int len) spk_set_string_var() argument
248 struct var_t *var_data = var->data; spk_set_string_var()
257 if (!var->p_val) spk_set_string_var()
258 var->p_val = var_data->u.s.default_val; spk_set_string_var()
259 if (var->p_val != var_data->u.s.default_val) spk_set_string_var()
260 strcpy((char *)var->p_val, var_data->u.s.default_val); spk_set_string_var()
262 } else if (var->p_val) spk_set_string_var()
263 strcpy((char *)var->p_val, page); spk_set_string_var()
H A Dspeakup_soft.c161 struct var_t *var; get_initstring() local
165 var = synth_soft.vars; get_initstring()
166 while (var->var_id != MAXVARS) { get_initstring()
167 if (var->var_id != CAPS_START && var->var_id != CAPS_STOP get_initstring()
168 && var->var_id != DIRECT) get_initstring()
169 cp = cp + sprintf(cp, var->u.n.synth_fmt, get_initstring()
170 var->u.n.value); get_initstring()
171 var++; get_initstring()
H A Dsynth.c382 struct var_t *var; do_synth_init() local
404 for (var = synth->vars; do_synth_init()
405 (var->var_id >= 0) && (var->var_id < MAXVARS); var++) do_synth_init()
406 speakup_register_var(var); do_synth_init()
421 struct var_t *var; synth_release() local
433 for (var = synth->vars; var->var_id != MAXVARS; var++) synth_release()
434 speakup_unregister_var(var->var_id); synth_release()
/linux-4.1.27/drivers/spi/
H A Dspi-st-ssc4.c215 u32 spi_st_clk, sscbrg, var; spi_st_setup() local
260 var = readl_relaxed(spi_st->base + SSC_CTL); spi_st_setup()
261 var |= SSC_CTL_MS; spi_st_setup()
264 var |= SSC_CTL_PO; spi_st_setup()
266 var &= ~SSC_CTL_PO; spi_st_setup()
269 var |= SSC_CTL_PH; spi_st_setup()
271 var &= ~SSC_CTL_PH; spi_st_setup()
274 var |= SSC_CTL_HB; spi_st_setup()
276 var &= ~SSC_CTL_HB; spi_st_setup()
279 var |= SSC_CTL_LPB; spi_st_setup()
281 var &= ~SSC_CTL_LPB; spi_st_setup()
283 var &= ~SSC_CTL_DATA_WIDTH_MSK; spi_st_setup()
284 var |= (spi->bits_per_word - 1); spi_st_setup()
286 var |= SSC_CTL_EN_TX_FIFO | SSC_CTL_EN_RX_FIFO; spi_st_setup()
287 var |= SSC_CTL_EN; spi_st_setup()
289 writel_relaxed(var, spi_st->base + SSC_CTL); spi_st_setup()
329 u32 var; spi_st_probe() local
367 var = readw_relaxed(spi_st->base + SSC_CTL); spi_st_probe()
368 var |= SSC_CTL_SR; spi_st_probe()
369 writel_relaxed(var, spi_st->base + SSC_CTL); spi_st_probe()
372 var = readl_relaxed(spi_st->base + SSC_CTL); spi_st_probe()
373 var &= ~SSC_CTL_SR; spi_st_probe()
374 writel_relaxed(var, spi_st->base + SSC_CTL); spi_st_probe()
377 var = readl_relaxed(spi_st->base + SSC_CTL); spi_st_probe()
378 var &= ~SSC_CTL_MS; spi_st_probe()
379 writel_relaxed(var, spi_st->base + SSC_CTL); spi_st_probe()
/linux-4.1.27/drivers/video/fbdev/msm/
H A Dmsm_fb.c254 if (left == 0 && top == 0 && eright == info->var.xres && msmfb_pan_update()
255 ebottom == info->var.yres) { msmfb_pan_update()
324 static int msmfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) msmfb_check_var() argument
326 if ((var->xres != info->var.xres) || msmfb_check_var()
327 (var->yres != info->var.yres) || msmfb_check_var()
328 (var->xres_virtual != info->var.xres_virtual) || msmfb_check_var()
329 (var->yres_virtual != info->var.yres_virtual) || msmfb_check_var()
330 (var->xoffset != info->var.xoffset) || msmfb_check_var()
331 (var->bits_per_pixel != info->var.bits_per_pixel) || msmfb_check_var()
332 (var->grayscale != info->var.grayscale)) msmfb_check_var()
337 int msmfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) msmfb_pan_display() argument
344 (var->reserved[0] == 0x54445055)) { msmfb_pan_display()
345 msmfb_pan_update(info, var->reserved[1] & 0xffff, msmfb_pan_display()
346 var->reserved[1] >> 16, msmfb_pan_display()
347 var->reserved[2] & 0xffff, msmfb_pan_display()
348 var->reserved[2] >> 16, var->yoffset, 1); msmfb_pan_display()
350 msmfb_pan_update(info, 0, 0, info->var.xres, info->var.yres, msmfb_pan_display()
351 var->yoffset, 1); msmfb_pan_display()
459 fb_info->var.xres = msmfb->xres; setup_fb_info()
460 fb_info->var.yres = msmfb->yres; setup_fb_info()
461 fb_info->var.width = msmfb->panel->fb_data->width; setup_fb_info()
462 fb_info->var.height = msmfb->panel->fb_data->height; setup_fb_info()
463 fb_info->var.xres_virtual = msmfb->xres; setup_fb_info()
464 fb_info->var.yres_virtual = msmfb->yres * 2; setup_fb_info()
465 fb_info->var.bits_per_pixel = BITS_PER_PIXEL; setup_fb_info()
466 fb_info->var.accel_flags = 0; setup_fb_info()
468 fb_info->var.yoffset = 0; setup_fb_info()
483 fb_info->var.reserved[0] = 0x54445055; setup_fb_info()
484 fb_info->var.reserved[1] = 0; setup_fb_info()
485 fb_info->var.reserved[2] = (uint16_t)msmfb->xres | setup_fb_info()
489 fb_info->var.red.offset = 11; setup_fb_info()
490 fb_info->var.red.length = 5; setup_fb_info()
491 fb_info->var.red.msb_right = 0; setup_fb_info()
492 fb_info->var.green.offset = 5; setup_fb_info()
493 fb_info->var.green.length = 6; setup_fb_info()
494 fb_info->var.green.msb_right = 0; setup_fb_info()
495 fb_info->var.blue.offset = 0; setup_fb_info()
496 fb_info->var.blue.length = 5; setup_fb_info()
497 fb_info->var.blue.msb_right = 0; setup_fb_info()
573 msmfb->fb->var.bits_per_pixel*msmfb->xres, msmfb_probe()
/linux-4.1.27/drivers/video/fbdev/sis/
H A Dinitextlfb.c38 unsigned char rateindex, struct fb_var_screeninfo *var);
46 int xres, int yres, struct fb_var_screeninfo *var, bool writeres);
95 unsigned char rateindex, struct fb_var_screeninfo *var) sisfb_mode_rate_to_ddata()
132 var, false); sisfb_mode_rate_to_ddata() local
135 var->sync &= ~FB_SYNC_VERT_HIGH_ACT; sisfb_mode_rate_to_ddata()
137 var->sync |= FB_SYNC_VERT_HIGH_ACT; sisfb_mode_rate_to_ddata()
140 var->sync &= ~FB_SYNC_HOR_HIGH_ACT; sisfb_mode_rate_to_ddata()
142 var->sync |= FB_SYNC_HOR_HIGH_ACT; sisfb_mode_rate_to_ddata()
144 var->vmode = FB_VMODE_NONINTERLACED; sisfb_mode_rate_to_ddata()
146 var->vmode = FB_VMODE_INTERLACED; sisfb_mode_rate_to_ddata()
153 var->vmode = FB_VMODE_DOUBLE; sisfb_mode_rate_to_ddata()
161 if((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) { sisfb_mode_rate_to_ddata()
163 var->upper_margin <<= 1; sisfb_mode_rate_to_ddata()
164 var->lower_margin <<= 1; sisfb_mode_rate_to_ddata()
165 var->vsync_len <<= 1; sisfb_mode_rate_to_ddata()
167 } else if((var->vmode & FB_VMODE_MASK) == FB_VMODE_DOUBLE) { sisfb_mode_rate_to_ddata()
168 var->upper_margin >>= 1; sisfb_mode_rate_to_ddata()
169 var->lower_margin >>= 1; sisfb_mode_rate_to_ddata()
170 var->vsync_len >>= 1; sisfb_mode_rate_to_ddata()
94 sisfb_mode_rate_to_ddata(struct SiS_Private *SiS_Pr, unsigned char modeno, unsigned char rateindex, struct fb_var_screeninfo *var) sisfb_mode_rate_to_ddata() argument
/linux-4.1.27/samples/kobject/
H A Dkobject-example.c59 int var; b_show() local
62 var = baz; b_show()
64 var = bar; b_show()
65 return sprintf(buf, "%d\n", var); b_show()
71 int var, ret; b_store() local
73 ret = kstrtoint(buf, 10, &var); b_store()
78 baz = var; b_store()
80 bar = var; b_store()
H A Dkset-example.c143 int var; b_show() local
146 var = foo_obj->baz; b_show()
148 var = foo_obj->bar; b_show()
149 return sprintf(buf, "%d\n", var); b_show()
155 int var, ret; b_store() local
157 ret = kstrtoint(buf, 10, &var); b_store()
162 foo_obj->baz = var; b_store()
164 foo_obj->bar = var; b_store()
/linux-4.1.27/include/linux/byteorder/
H A Dgeneric.h143 static inline void le16_add_cpu(__le16 *var, u16 val) le16_add_cpu() argument
145 *var = cpu_to_le16(le16_to_cpu(*var) + val); le16_add_cpu()
148 static inline void le32_add_cpu(__le32 *var, u32 val) le32_add_cpu() argument
150 *var = cpu_to_le32(le32_to_cpu(*var) + val); le32_add_cpu()
153 static inline void le64_add_cpu(__le64 *var, u64 val) le64_add_cpu() argument
155 *var = cpu_to_le64(le64_to_cpu(*var) + val); le64_add_cpu()
158 static inline void be16_add_cpu(__be16 *var, u16 val) be16_add_cpu() argument
160 *var = cpu_to_be16(be16_to_cpu(*var) + val); be16_add_cpu()
163 static inline void be32_add_cpu(__be32 *var, u32 val) be32_add_cpu() argument
165 *var = cpu_to_be32(be32_to_cpu(*var) + val); be32_add_cpu()
168 static inline void be64_add_cpu(__be64 *var, u64 val) be64_add_cpu() argument
170 *var = cpu_to_be64(be64_to_cpu(*var) + val); be64_add_cpu()
/linux-4.1.27/drivers/video/fbdev/via/
H A Dviafbdev.c56 static int viafb_pan_display(struct fb_var_screeninfo *var,
88 static void viafb_fill_var_color_info(struct fb_var_screeninfo *var, u8 depth) viafb_fill_var_color_info() argument
90 var->grayscale = 0; viafb_fill_var_color_info()
91 var->red.msb_right = 0; viafb_fill_var_color_info()
92 var->green.msb_right = 0; viafb_fill_var_color_info()
93 var->blue.msb_right = 0; viafb_fill_var_color_info()
94 var->transp.offset = 0; viafb_fill_var_color_info()
95 var->transp.length = 0; viafb_fill_var_color_info()
96 var->transp.msb_right = 0; viafb_fill_var_color_info()
97 var->nonstd = 0; viafb_fill_var_color_info()
100 var->bits_per_pixel = 8; viafb_fill_var_color_info()
101 var->red.offset = 0; viafb_fill_var_color_info()
102 var->green.offset = 0; viafb_fill_var_color_info()
103 var->blue.offset = 0; viafb_fill_var_color_info()
104 var->red.length = 8; viafb_fill_var_color_info()
105 var->green.length = 8; viafb_fill_var_color_info()
106 var->blue.length = 8; viafb_fill_var_color_info()
109 var->bits_per_pixel = 16; viafb_fill_var_color_info()
110 var->red.offset = 10; viafb_fill_var_color_info()
111 var->green.offset = 5; viafb_fill_var_color_info()
112 var->blue.offset = 0; viafb_fill_var_color_info()
113 var->red.length = 5; viafb_fill_var_color_info()
114 var->green.length = 5; viafb_fill_var_color_info()
115 var->blue.length = 5; viafb_fill_var_color_info()
118 var->bits_per_pixel = 16; viafb_fill_var_color_info()
119 var->red.offset = 11; viafb_fill_var_color_info()
120 var->green.offset = 5; viafb_fill_var_color_info()
121 var->blue.offset = 0; viafb_fill_var_color_info()
122 var->red.length = 5; viafb_fill_var_color_info()
123 var->green.length = 6; viafb_fill_var_color_info()
124 var->blue.length = 5; viafb_fill_var_color_info()
127 var->bits_per_pixel = 32; viafb_fill_var_color_info()
128 var->red.offset = 16; viafb_fill_var_color_info()
129 var->green.offset = 8; viafb_fill_var_color_info()
130 var->blue.offset = 0; viafb_fill_var_color_info()
131 var->red.length = 8; viafb_fill_var_color_info()
132 var->green.length = 8; viafb_fill_var_color_info()
133 var->blue.length = 8; viafb_fill_var_color_info()
136 var->bits_per_pixel = 32; viafb_fill_var_color_info()
137 var->red.offset = 20; viafb_fill_var_color_info()
138 var->green.offset = 10; viafb_fill_var_color_info()
139 var->blue.offset = 0; viafb_fill_var_color_info()
140 var->red.length = 10; viafb_fill_var_color_info()
141 var->green.length = 10; viafb_fill_var_color_info()
142 var->blue.length = 10; viafb_fill_var_color_info()
149 u32 bpp = info->var.bits_per_pixel; viafb_update_fix()
153 info->fix.line_length = ALIGN(info->var.xres_virtual * bpp / 8, viafb_update_fix()
188 static inline int get_var_refresh(struct fb_var_screeninfo *var) get_var_refresh() argument
192 htotal = var->left_margin + var->xres + var->right_margin get_var_refresh()
193 + var->hsync_len; get_var_refresh()
194 vtotal = var->upper_margin + var->yres + var->lower_margin get_var_refresh()
195 + var->vsync_len; get_var_refresh()
196 return PICOS2KHZ(var->pixclock) * 1000 / (htotal * vtotal); get_var_refresh()
199 static int viafb_check_var(struct fb_var_screeninfo *var, viafb_check_var() argument
209 if (var->vmode & FB_VMODE_INTERLACED || var->vmode & FB_VMODE_DOUBLE) viafb_check_var()
215 if (!viafb_get_best_mode(var->xres, var->yres, 60)) { viafb_check_var()
218 var->xres, var->yres, var->bits_per_pixel); viafb_check_var()
222 depth = fb_get_color_depth(var, &info->fix); viafb_check_var()
224 depth = var->bits_per_pixel; viafb_check_var()
241 viafb_fill_var_color_info(var, depth); viafb_check_var()
242 if (var->xres_virtual < var->xres) viafb_check_var()
243 var->xres_virtual = var->xres; viafb_check_var()
245 line = ALIGN(var->xres_virtual * var->bits_per_pixel / 8, viafb_check_var()
247 if (line > VIA_PITCH_MAX || line * var->yres_virtual > ppar->memsize) viafb_check_var()
250 /* Based on var passed in to calculate the refresh, viafb_check_var()
253 refresh = viafb_get_refresh(var->xres, var->yres, viafb_check_var()
254 get_var_refresh(var)); viafb_check_var()
256 /* Adjust var according to our driver's own table */ viafb_check_var()
257 viafb_fill_var_timing_info(var, viafb_check_var()
258 viafb_get_best_mode(var->xres, var->yres, refresh)); viafb_check_var()
259 if (var->accel_flags & FB_ACCELF_TEXT && viafb_check_var()
261 var->accel_flags = 0; viafb_check_var()
273 viapar->depth = fb_get_color_depth(&info->var, &info->fix); viafb_set_par()
274 viafb_update_device_setting(viafbinfo->var.xres, viafbinfo->var.yres, viafb_set_par()
275 viafbinfo->var.bits_per_pixel, 0); viafb_set_par()
278 viafb_update_device_setting(viafbinfo1->var.xres, viafb_set_par()
279 viafbinfo1->var.yres, viafbinfo1->var.bits_per_pixel, viafb_set_par()
290 refresh = get_var_refresh(&info->var); viafb_set_par()
292 viafb_bpp1 = info->var.bits_per_pixel; viafb_set_par()
295 viafb_bpp = info->var.bits_per_pixel; viafb_set_par()
299 if (info->var.accel_flags & FB_ACCELF_TEXT) viafb_set_par()
304 viafb_pan_display(&info->var, info); viafb_set_par()
331 r = (red >> (16 - info->var.red.length)) viafb_setcolreg()
332 << info->var.red.offset; viafb_setcolreg()
333 b = (blue >> (16 - info->var.blue.length)) viafb_setcolreg()
334 << info->var.blue.offset; viafb_setcolreg()
335 g = (green >> (16 - info->var.green.length)) viafb_setcolreg()
336 << info->var.green.offset; viafb_setcolreg()
343 static int viafb_pan_display(struct fb_var_screeninfo *var, viafb_pan_display() argument
348 + var->yoffset * info->fix.line_length viafb_pan_display()
349 + var->xoffset * info->var.bits_per_pixel / 8; viafb_pan_display()
427 return put_user(viafb_ioctl_hotplug(info->var.xres, viafb_ioctl()
428 info->var.yres, viafb_ioctl()
429 info->var.bits_per_pixel), argp); viafb_ioctl()
443 u.viamode.virtual_xres_sec = viafb_dual_fb ? viafbinfo1->var.xres_virtual : viafbinfo->var.xres_virtual; viafb_ioctl()
444 u.viamode.virtual_yres_sec = viafb_dual_fb ? viafbinfo1->var.yres_virtual : viafbinfo->var.yres_virtual; viafb_ioctl()
579 viafb_lcd_get_support_expand_state(info->var.xres, viafb_ioctl()
580 info->var.yres); viafb_ioctl()
706 rect->width, rect->height, info->var.bits_per_pixel, viafb_fillrect()
728 area->width, area->height, info->var.bits_per_pixel, viafb_copyarea()
765 image->width, image->height, info->var.bits_per_pixel, viafb_imageblit()
795 yy = cursor->image.dy - info->var.yoffset; viafb_cursor()
796 xx = cursor->image.dx - info->var.xoffset; viafb_cursor()
1845 viafbinfo->var = default_var; via_fb_pci_probe()
1887 viafbinfo1->var = default_var; via_fb_pci_probe()
1889 viaparinfo1->depth = fb_get_color_depth(&viafbinfo1->var, via_fb_pci_probe()
1893 viafb_check_var(&viafbinfo->var, viafbinfo); via_fb_pci_probe()
1895 viaparinfo->depth = fb_get_color_depth(&viafbinfo->var, via_fb_pci_probe()
H A Dhw.c1470 struct via_display_timing var_to_timing(const struct fb_var_screeninfo *var, var_to_timing() argument
1474 u16 dx = (var->xres - cxres) / 2, dy = (var->yres - cyres) / 2; var_to_timing()
1477 timing.hor_sync_start = timing.hor_addr + var->right_margin + dx; var_to_timing()
1478 timing.hor_sync_end = timing.hor_sync_start + var->hsync_len; var_to_timing()
1479 timing.hor_total = timing.hor_sync_end + var->left_margin + dx; var_to_timing()
1483 timing.ver_sync_start = timing.ver_addr + var->lower_margin + dy; var_to_timing()
1484 timing.ver_sync_end = timing.ver_sync_start + var->vsync_len; var_to_timing()
1485 timing.ver_total = timing.ver_sync_end + var->upper_margin + dy; var_to_timing()
1491 void viafb_fill_crtc_timing(const struct fb_var_screeninfo *var, viafb_fill_crtc_timing() argument
1494 struct via_display_timing crt_reg = var_to_timing(var, viafb_fill_crtc_timing()
1495 cxres ? cxres : var->xres, cyres ? cyres : var->yres); viafb_fill_crtc_timing()
1502 viafb_load_fetch_count_reg(var->xres, var->bits_per_pixel / 8, iga); viafb_fill_crtc_timing()
1505 viafb_load_FIFO_reg(iga, var->xres, var->yres); viafb_fill_crtc_timing()
1507 viafb_set_vclock(PICOS2KHZ(var->pixclock) * 1000, iga); viafb_fill_crtc_timing()
1748 static u8 get_sync(struct fb_var_screeninfo *var) get_sync() argument
1752 if (!(var->sync & FB_SYNC_HOR_HIGH_ACT)) get_sync()
1754 if (!(var->sync & FB_SYNC_VERT_HIGH_ACT)) get_sync()
1853 && viafbinfo->var.xres == 1024 && viafbinfo->var.yres == 768) { viafb_setmode()
1881 var2 = viafbinfo1->var; viafb_setmode()
1885 cxres = viafbinfo->var.xres; viafb_setmode()
1886 cyres = viafbinfo->var.yres; viafb_setmode()
1887 var2.bits_per_pixel = viafbinfo->var.bits_per_pixel; viafb_setmode()
1896 viafb_fill_crtc_timing(&viafbinfo->var, 0, 0, viafb_setmode()
1903 if (viafbinfo->var.xres % 8) { viafb_setmode()
1916 viafb_dvi_set_mode(&viafbinfo->var, 0, 0, viafb_setmode()
1932 viafb_lcd_set_mode(&viafbinfo->var, 0, 0, viafb_setmode()
1949 viafb_lcd_set_mode(&viafbinfo->var, 0, 0, viafb_setmode()
1961 viafb_hotplug_Xres = viafbinfo->var.xres; viafb_setmode()
1962 viafb_hotplug_Yres = viafbinfo->var.yres; viafb_setmode()
1963 viafb_hotplug_bpp = viafbinfo->var.bits_per_pixel; viafb_setmode()
1973 via_set_sync_polarity(devices, get_sync(&viafbinfo->var)); viafb_setmode()
1976 get_sync(&viafbinfo->var)); viafb_setmode()
2121 void viafb_fill_var_timing_info(struct fb_var_screeninfo *var, viafb_fill_var_timing_info() argument
2124 var->pixclock = mode->pixclock; viafb_fill_var_timing_info()
2125 var->xres = mode->xres; viafb_fill_var_timing_info()
2126 var->yres = mode->yres; viafb_fill_var_timing_info()
2127 var->left_margin = mode->left_margin; viafb_fill_var_timing_info()
2128 var->right_margin = mode->right_margin; viafb_fill_var_timing_info()
2129 var->hsync_len = mode->hsync_len; viafb_fill_var_timing_info()
2130 var->upper_margin = mode->upper_margin; viafb_fill_var_timing_info()
2131 var->lower_margin = mode->lower_margin; viafb_fill_var_timing_info()
2132 var->vsync_len = mode->vsync_len; viafb_fill_var_timing_info()
2133 var->sync = mode->sync; viafb_fill_var_timing_info()
/linux-4.1.27/drivers/video/fbdev/aty/
H A Dradeon_monitor.c687 static void radeon_var_to_panel_info(struct radeonfb_info *rinfo, struct fb_var_screeninfo *var) radeon_var_to_panel_info() argument
689 rinfo->panel_info.xres = var->xres; radeon_var_to_panel_info()
690 rinfo->panel_info.yres = var->yres; radeon_var_to_panel_info()
691 rinfo->panel_info.clock = 100000000 / var->pixclock; radeon_var_to_panel_info()
692 rinfo->panel_info.hOver_plus = var->right_margin; radeon_var_to_panel_info()
693 rinfo->panel_info.hSync_width = var->hsync_len; radeon_var_to_panel_info()
694 rinfo->panel_info.hblank = var->left_margin + radeon_var_to_panel_info()
695 (var->right_margin + var->hsync_len); radeon_var_to_panel_info()
696 rinfo->panel_info.vOver_plus = var->lower_margin; radeon_var_to_panel_info()
697 rinfo->panel_info.vSync_width = var->vsync_len; radeon_var_to_panel_info()
698 rinfo->panel_info.vblank = var->upper_margin + radeon_var_to_panel_info()
699 (var->lower_margin + var->vsync_len); radeon_var_to_panel_info()
701 (var->sync & FB_SYNC_HOR_HIGH_ACT) != 0; radeon_var_to_panel_info()
703 (var->sync & FB_SYNC_VERT_HIGH_ACT) != 0; radeon_var_to_panel_info()
713 static void radeon_videomode_to_var(struct fb_var_screeninfo *var, radeon_videomode_to_var() argument
716 var->xres = mode->xres; radeon_videomode_to_var()
717 var->yres = mode->yres; radeon_videomode_to_var()
718 var->xres_virtual = mode->xres; radeon_videomode_to_var()
719 var->yres_virtual = mode->yres; radeon_videomode_to_var()
720 var->xoffset = 0; radeon_videomode_to_var()
721 var->yoffset = 0; radeon_videomode_to_var()
722 var->pixclock = mode->pixclock; radeon_videomode_to_var()
723 var->left_margin = mode->left_margin; radeon_videomode_to_var()
724 var->right_margin = mode->right_margin; radeon_videomode_to_var()
725 var->upper_margin = mode->upper_margin; radeon_videomode_to_var()
726 var->lower_margin = mode->lower_margin; radeon_videomode_to_var()
727 var->hsync_len = mode->hsync_len; radeon_videomode_to_var()
728 var->vsync_len = mode->vsync_len; radeon_videomode_to_var()
729 var->sync = mode->sync; radeon_videomode_to_var()
730 var->vmode = mode->vmode; radeon_videomode_to_var()
762 * Fill default var first radeon_check_modes()
764 info->var = radeonfb_default_var; radeon_check_modes()
780 struct fb_var_screeninfo var; radeon_check_modes() local
782 if (fb_parse_edid(rinfo->mon1_EDID, &var) == 0) { radeon_check_modes()
783 if (var.xres >= rinfo->panel_info.xres && radeon_check_modes()
784 var.yres >= rinfo->panel_info.yres) radeon_check_modes()
785 radeon_var_to_panel_info(rinfo, &var); radeon_check_modes()
799 struct fb_var_screeninfo *var = &info->var; radeon_check_modes() local
802 var->xres = rinfo->panel_info.xres; radeon_check_modes()
803 var->yres = rinfo->panel_info.yres; radeon_check_modes()
804 var->xres_virtual = rinfo->panel_info.xres; radeon_check_modes()
805 var->yres_virtual = rinfo->panel_info.yres; radeon_check_modes()
806 var->xoffset = var->yoffset = 0; radeon_check_modes()
807 var->bits_per_pixel = 8; radeon_check_modes()
808 var->pixclock = 100000000 / rinfo->panel_info.clock; radeon_check_modes()
809 var->left_margin = (rinfo->panel_info.hblank - rinfo->panel_info.hOver_plus radeon_check_modes()
811 var->right_margin = rinfo->panel_info.hOver_plus; radeon_check_modes()
812 var->upper_margin = (rinfo->panel_info.vblank - rinfo->panel_info.vOver_plus radeon_check_modes()
814 var->lower_margin = rinfo->panel_info.vOver_plus; radeon_check_modes()
815 var->hsync_len = rinfo->panel_info.hSync_width; radeon_check_modes()
816 var->vsync_len = rinfo->panel_info.vSync_width; radeon_check_modes()
817 var->sync = 0; radeon_check_modes()
819 var->sync |= FB_SYNC_HOR_HIGH_ACT; radeon_check_modes()
821 var->sync |= FB_SYNC_VERT_HIGH_ACT; radeon_check_modes()
822 var->vmode = 0; radeon_check_modes()
866 if (fb_find_mode(&info->var, info, modename, radeon_check_modes()
873 radeon_var_to_panel_info(rinfo, &info->var); radeon_check_modes()
881 if (fb_find_mode(&info->var, info, mode_option, radeon_check_modes()
896 if (fb_find_mode(&info->var, info, "800x600@60", radeon_check_modes()
925 info->var.bits_per_pixel = 8; radeon_check_modes()
926 radeon_videomode_to_var(&info->var, modedb); radeon_check_modes()
935 fb_var_to_videomode(&mode, &info->var); radeon_check_modes()
952 static int radeon_compare_modes(const struct fb_var_screeninfo *var, radeon_compare_modes() argument
957 distance = mode->yres - var->yres; radeon_compare_modes()
958 distance += (mode->xres - var->xres)/2; radeon_compare_modes()
H A Daty128fb.c480 static int aty128fb_check_var(struct fb_var_screeninfo *var,
485 static int aty128fb_pan_display(struct fb_var_screeninfo *var,
495 static int aty128_encode_var(struct fb_var_screeninfo *var,
497 static int aty128_decode_var(struct fb_var_screeninfo *var,
1053 static int aty128_var_to_crtc(const struct fb_var_screeninfo *var, aty128_var_to_crtc() argument
1065 xres = var->xres; aty128_var_to_crtc()
1066 yres = var->yres; aty128_var_to_crtc()
1067 vxres = var->xres_virtual; aty128_var_to_crtc()
1068 vyres = var->yres_virtual; aty128_var_to_crtc()
1069 xoffset = var->xoffset; aty128_var_to_crtc()
1070 yoffset = var->yoffset; aty128_var_to_crtc()
1071 bpp = var->bits_per_pixel; aty128_var_to_crtc()
1072 left = var->left_margin; aty128_var_to_crtc()
1073 right = var->right_margin; aty128_var_to_crtc()
1074 upper = var->upper_margin; aty128_var_to_crtc()
1075 lower = var->lower_margin; aty128_var_to_crtc()
1076 hslen = var->hsync_len; aty128_var_to_crtc()
1077 vslen = var->vsync_len; aty128_var_to_crtc()
1078 sync = var->sync; aty128_var_to_crtc()
1079 vmode = var->vmode; aty128_var_to_crtc()
1084 depth = (var->green.length == 6) ? 16 : 15; aty128_var_to_crtc()
1165 if ((var->activate & FB_ACTIVATE_MASK) == FB_ACTIVATE_NOW) aty128_var_to_crtc()
1181 static int aty128_pix_width_to_var(int pix_width, struct fb_var_screeninfo *var) aty128_pix_width_to_var() argument
1185 var->red.msb_right = 0; aty128_pix_width_to_var()
1186 var->green.msb_right = 0; aty128_pix_width_to_var()
1187 var->blue.offset = 0; aty128_pix_width_to_var()
1188 var->blue.msb_right = 0; aty128_pix_width_to_var()
1189 var->transp.offset = 0; aty128_pix_width_to_var()
1190 var->transp.length = 0; aty128_pix_width_to_var()
1191 var->transp.msb_right = 0; aty128_pix_width_to_var()
1194 var->bits_per_pixel = 8; aty128_pix_width_to_var()
1195 var->red.offset = 0; aty128_pix_width_to_var()
1196 var->red.length = 8; aty128_pix_width_to_var()
1197 var->green.offset = 0; aty128_pix_width_to_var()
1198 var->green.length = 8; aty128_pix_width_to_var()
1199 var->blue.length = 8; aty128_pix_width_to_var()
1202 var->bits_per_pixel = 16; aty128_pix_width_to_var()
1203 var->red.offset = 10; aty128_pix_width_to_var()
1204 var->red.length = 5; aty128_pix_width_to_var()
1205 var->green.offset = 5; aty128_pix_width_to_var()
1206 var->green.length = 5; aty128_pix_width_to_var()
1207 var->blue.length = 5; aty128_pix_width_to_var()
1210 var->bits_per_pixel = 16; aty128_pix_width_to_var()
1211 var->red.offset = 11; aty128_pix_width_to_var()
1212 var->red.length = 5; aty128_pix_width_to_var()
1213 var->green.offset = 5; aty128_pix_width_to_var()
1214 var->green.length = 6; aty128_pix_width_to_var()
1215 var->blue.length = 5; aty128_pix_width_to_var()
1218 var->bits_per_pixel = 24; aty128_pix_width_to_var()
1219 var->red.offset = 16; aty128_pix_width_to_var()
1220 var->red.length = 8; aty128_pix_width_to_var()
1221 var->green.offset = 8; aty128_pix_width_to_var()
1222 var->green.length = 8; aty128_pix_width_to_var()
1223 var->blue.length = 8; aty128_pix_width_to_var()
1226 var->bits_per_pixel = 32; aty128_pix_width_to_var()
1227 var->red.offset = 16; aty128_pix_width_to_var()
1228 var->red.length = 8; aty128_pix_width_to_var()
1229 var->green.offset = 8; aty128_pix_width_to_var()
1230 var->green.length = 8; aty128_pix_width_to_var()
1231 var->blue.length = 8; aty128_pix_width_to_var()
1232 var->transp.offset = 24; aty128_pix_width_to_var()
1233 var->transp.length = 8; aty128_pix_width_to_var()
1245 struct fb_var_screeninfo *var) aty128_crtc_to_var()
1280 aty128_pix_width_to_var(pix_width, var); aty128_crtc_to_var()
1282 var->xres = xres; aty128_crtc_to_var()
1283 var->yres = yres; aty128_crtc_to_var()
1284 var->xres_virtual = crtc->vxres; aty128_crtc_to_var()
1285 var->yres_virtual = crtc->vyres; aty128_crtc_to_var()
1286 var->xoffset = crtc->xoffset; aty128_crtc_to_var()
1287 var->yoffset = crtc->yoffset; aty128_crtc_to_var()
1288 var->left_margin = left; aty128_crtc_to_var()
1289 var->right_margin = right; aty128_crtc_to_var()
1290 var->upper_margin = upper; aty128_crtc_to_var()
1291 var->lower_margin = lower; aty128_crtc_to_var()
1292 var->hsync_len = hslen; aty128_crtc_to_var()
1293 var->vsync_len = vslen; aty128_crtc_to_var()
1294 var->sync = sync; aty128_crtc_to_var()
1295 var->vmode = FB_VMODE_NONINTERLACED; aty128_crtc_to_var()
1427 struct fb_var_screeninfo *var) aty128_pll_to_var()
1429 var->pixclock = 100000000 / pll->vclk; aty128_pll_to_var()
1509 if ((err = aty128_decode_var(&info->var, par)) != 0) aty128fb_set_par()
1573 static int aty128_decode_var(struct fb_var_screeninfo *var, aty128_decode_var() argument
1581 if ((err = aty128_var_to_crtc(var, &crtc, par))) aty128_decode_var()
1584 if ((err = aty128_var_to_pll(var->pixclock, &pll, par))) aty128_decode_var()
1593 par->accel_flags = var->accel_flags; aty128_decode_var()
1599 static int aty128_encode_var(struct fb_var_screeninfo *var, aty128_encode_var() argument
1604 if ((err = aty128_crtc_to_var(&par->crtc, var))) aty128_encode_var()
1607 if ((err = aty128_pll_to_var(&par->pll, var))) aty128_encode_var()
1610 var->nonstd = 0; aty128_encode_var()
1611 var->activate = 0; aty128_encode_var()
1613 var->height = -1; aty128_encode_var()
1614 var->width = -1; aty128_encode_var()
1615 var->accel_flags = par->accel_flags; aty128_encode_var()
1621 static int aty128fb_check_var(struct fb_var_screeninfo *var, aty128fb_check_var() argument
1628 if ((err = aty128_decode_var(var, &par)) != 0) aty128fb_check_var()
1630 aty128_encode_var(var, &par); aty128fb_check_var()
1638 static int aty128fb_pan_display(struct fb_var_screeninfo *var, aty128fb_pan_display() argument
1649 xoffset = (var->xoffset +7) & ~7; aty128fb_pan_display()
1650 yoffset = var->yoffset; aty128fb_pan_display()
1938 struct fb_var_screeninfo var; aty128_init() local
1971 var = default_var; aty128_init()
1989 if (!mac_find_mode(&var, info, mode_option, 8)) aty128_init()
1990 var = default_var; aty128_init()
2025 if (mac_vmode_to_var(default_vmode, default_cmode, &var)) aty128_init()
2026 var = default_var; aty128_init()
2032 if (fb_find_mode(&var, info, mode_option, NULL, aty128_init()
2034 var = default_var; aty128_init()
2037 var.accel_flags &= ~FB_ACCELF_TEXT; aty128_init()
2038 // var.accel_flags |= FB_ACCELF_TEXT;/* FIXME Will add accel later */ aty128_init()
2040 if (aty128fb_check_var(&var, info)) { aty128_init()
2056 info->var = var; aty128_init()
2059 var.activate = FB_ACTIVATE_NOW; aty128_init()
2275 * entries in the var structure). Return != 0 for invalid regno.
2564 fb_pan_display(info, &info->var); aty128_do_resume()
1244 aty128_crtc_to_var(const struct aty128_crtc *crtc, struct fb_var_screeninfo *var) aty128_crtc_to_var() argument
1426 aty128_pll_to_var(const struct aty128_pll *pll, struct fb_var_screeninfo *var) aty128_pll_to_var() argument
H A Datyfb_base.c118 if (!(var->activate & FB_ACTIVATE_TEST)) \
124 if (!(var->activate & FB_ACTIVATE_TEST)) \
232 static int atyfb_check_var(struct fb_var_screeninfo *var,
237 static int atyfb_pan_display(struct fb_var_screeninfo *var,
256 const struct fb_var_screeninfo *var,
259 struct fb_var_screeninfo *var);
568 static u32 atyfb_get_pixclock(struct fb_var_screeninfo *var, atyfb_get_pixclock() argument
571 u32 pixclock = var->pixclock; atyfb_get_pixclock()
578 par->pll.ct.xres = var->xres; atyfb_get_pixclock()
791 const struct fb_var_screeninfo *var, aty_var_to_crtc()
803 xres = (var->xres + 7) & ~7; aty_var_to_crtc()
804 yres = var->yres; aty_var_to_crtc()
805 vxres = (var->xres_virtual + 7) & ~7; aty_var_to_crtc()
806 vyres = var->yres_virtual; aty_var_to_crtc()
807 xoffset = (var->xoffset + 7) & ~7; aty_var_to_crtc()
808 yoffset = var->yoffset; aty_var_to_crtc()
809 bpp = var->bits_per_pixel; aty_var_to_crtc()
811 bpp = (var->green.length == 5) ? 15 : 16; aty_var_to_crtc()
812 sync = var->sync; aty_var_to_crtc()
813 vmode = var->vmode; aty_var_to_crtc()
869 h_sync_strt = h_disp + var->right_margin; aty_var_to_crtc()
870 h_sync_end = h_sync_strt + var->hsync_len; aty_var_to_crtc()
871 h_sync_dly = var->right_margin & 7; aty_var_to_crtc()
872 h_total = h_sync_end + h_sync_dly + var->left_margin; aty_var_to_crtc()
874 v_sync_strt = v_disp + var->lower_margin; aty_var_to_crtc()
875 v_sync_end = v_sync_strt + var->vsync_len; aty_var_to_crtc()
876 v_total = v_sync_end + var->upper_margin; aty_var_to_crtc()
910 if (!(var->activate & FB_ACTIVATE_TEST)) aty_var_to_crtc()
915 if (!(var->activate & FB_ACTIVATE_TEST)) aty_var_to_crtc()
1149 struct fb_var_screeninfo *var) aty_crtc_to_var()
1191 var->red.offset = 0; aty_crtc_to_var()
1192 var->red.length = 8; aty_crtc_to_var()
1193 var->green.offset = 0; aty_crtc_to_var()
1194 var->green.length = 8; aty_crtc_to_var()
1195 var->blue.offset = 0; aty_crtc_to_var()
1196 var->blue.length = 8; aty_crtc_to_var()
1197 var->transp.offset = 0; aty_crtc_to_var()
1198 var->transp.length = 0; aty_crtc_to_var()
1203 var->red.offset = 0; aty_crtc_to_var()
1204 var->red.length = 8; aty_crtc_to_var()
1205 var->green.offset = 0; aty_crtc_to_var()
1206 var->green.length = 8; aty_crtc_to_var()
1207 var->blue.offset = 0; aty_crtc_to_var()
1208 var->blue.length = 8; aty_crtc_to_var()
1209 var->transp.offset = 0; aty_crtc_to_var()
1210 var->transp.length = 0; aty_crtc_to_var()
1214 var->red.offset = 10; aty_crtc_to_var()
1215 var->red.length = 5; aty_crtc_to_var()
1216 var->green.offset = 5; aty_crtc_to_var()
1217 var->green.length = 5; aty_crtc_to_var()
1218 var->blue.offset = 0; aty_crtc_to_var()
1219 var->blue.length = 5; aty_crtc_to_var()
1220 var->transp.offset = 0; aty_crtc_to_var()
1221 var->transp.length = 0; aty_crtc_to_var()
1225 var->red.offset = 11; aty_crtc_to_var()
1226 var->red.length = 5; aty_crtc_to_var()
1227 var->green.offset = 5; aty_crtc_to_var()
1228 var->green.length = 6; aty_crtc_to_var()
1229 var->blue.offset = 0; aty_crtc_to_var()
1230 var->blue.length = 5; aty_crtc_to_var()
1231 var->transp.offset = 0; aty_crtc_to_var()
1232 var->transp.length = 0; aty_crtc_to_var()
1236 var->red.offset = 16; aty_crtc_to_var()
1237 var->red.length = 8; aty_crtc_to_var()
1238 var->green.offset = 8; aty_crtc_to_var()
1239 var->green.length = 8; aty_crtc_to_var()
1240 var->blue.offset = 0; aty_crtc_to_var()
1241 var->blue.length = 8; aty_crtc_to_var()
1242 var->transp.offset = 0; aty_crtc_to_var()
1243 var->transp.length = 0; aty_crtc_to_var()
1247 var->red.offset = 16; aty_crtc_to_var()
1248 var->red.length = 8; aty_crtc_to_var()
1249 var->green.offset = 8; aty_crtc_to_var()
1250 var->green.length = 8; aty_crtc_to_var()
1251 var->blue.offset = 0; aty_crtc_to_var()
1252 var->blue.length = 8; aty_crtc_to_var()
1253 var->transp.offset = 24; aty_crtc_to_var()
1254 var->transp.length = 8; aty_crtc_to_var()
1262 var->xres = xres; aty_crtc_to_var()
1263 var->yres = yres; aty_crtc_to_var()
1264 var->xres_virtual = crtc->vxres; aty_crtc_to_var()
1265 var->yres_virtual = crtc->vyres; aty_crtc_to_var()
1266 var->bits_per_pixel = bpp; aty_crtc_to_var()
1267 var->left_margin = left; aty_crtc_to_var()
1268 var->right_margin = right; aty_crtc_to_var()
1269 var->upper_margin = upper; aty_crtc_to_var()
1270 var->lower_margin = lower; aty_crtc_to_var()
1271 var->hsync_len = hslen; aty_crtc_to_var()
1272 var->vsync_len = vslen; aty_crtc_to_var()
1273 var->sync = sync; aty_crtc_to_var()
1274 var->vmode = FB_VMODE_NONINTERLACED; aty_crtc_to_var()
1282 var->vmode = FB_VMODE_INTERLACED; aty_crtc_to_var()
1285 var->vmode = FB_VMODE_DOUBLE; aty_crtc_to_var()
1286 var->yres >>= 1; aty_crtc_to_var()
1287 var->upper_margin >>= 1; aty_crtc_to_var()
1288 var->lower_margin >>= 1; aty_crtc_to_var()
1289 var->vsync_len >>= 1; aty_crtc_to_var()
1300 struct fb_var_screeninfo *var = &info->var; atyfb_set_par() local
1310 err = aty_var_to_crtc(info, var, &par->crtc); atyfb_set_par()
1314 pixclock = atyfb_get_pixclock(var, par); atyfb_set_par()
1321 var->bits_per_pixel, &par->pll); atyfb_set_par()
1326 par->accel_flags = var->accel_flags; /* hack */ atyfb_set_par()
1328 if (var->accel_flags) { atyfb_set_par()
1341 var->bits_per_pixel, par->accel_flags); atyfb_set_par()
1379 var->xres, var->yres, var->bits_per_pixel); atyfb_set_par()
1382 var->xres_virtual, var->yres_virtual, atyfb_set_par()
1402 switch (var->bits_per_pixel) { atyfb_set_par()
1418 switch (var->bits_per_pixel) { atyfb_set_par()
1449 info->fix.line_length = calc_line_length(par, var->xres_virtual, atyfb_set_par()
1450 var->bits_per_pixel); atyfb_set_par()
1452 info->fix.visual = var->bits_per_pixel <= 8 ? atyfb_set_par()
1463 var->bits_per_pixel, atyfb_set_par()
1464 par->crtc.vxres * var->bits_per_pixel / 8); atyfb_set_par()
1529 static int atyfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) atyfb_check_var() argument
1539 err = aty_var_to_crtc(info, var, &crtc); atyfb_check_var()
1543 pixclock = atyfb_get_pixclock(var, par); atyfb_check_var()
1546 if (!(var->activate & FB_ACTIVATE_TEST)) atyfb_check_var()
1551 var->bits_per_pixel, &pll); atyfb_check_var()
1556 if (var->accel_flags & FB_ACCELF_TEXT) atyfb_check_var()
1557 info->var.accel_flags = FB_ACCELF_TEXT; atyfb_check_var()
1559 info->var.accel_flags = 0; atyfb_check_var()
1561 aty_crtc_to_var(&crtc, var); atyfb_check_var()
1562 var->pixclock = par->pll_ops->pll_to_var(info, &pll); atyfb_check_var()
1568 u32 xoffset = info->var.xoffset; set_off_pitch()
1569 u32 yoffset = info->var.yoffset; set_off_pitch()
1571 u32 bpp = info->var.bits_per_pixel; set_off_pitch()
1699 struct fb_var_screeninfo var; atyfb_release() local
1707 var = default_var; atyfb_release()
1709 var.accel_flags &= ~FB_ACCELF_TEXT; atyfb_release()
1711 var.accel_flags |= FB_ACCELF_TEXT; atyfb_release()
1712 if (var.yres == var.yres_virtual) { atyfb_release()
1714 var.yres_virtual = atyfb_release()
1715 ((videoram * 8) / var.bits_per_pixel) / atyfb_release()
1716 var.xres_virtual; atyfb_release()
1717 if (var.yres_virtual < var.yres) atyfb_release()
1718 var.yres_virtual = var.yres; atyfb_release()
1733 static int atyfb_pan_display(struct fb_var_screeninfo *var, atyfb_pan_display() argument
1743 xoffset = (var->xoffset + 7) & ~7; atyfb_pan_display()
1744 yoffset = var->yoffset; atyfb_pan_display()
1748 info->var.xoffset = xoffset; atyfb_pan_display()
1749 info->var.yoffset = yoffset; atyfb_pan_display()
1754 if ((var->activate & FB_ACTIVATE_VBL) && !aty_enable_irq(par, 0)) { atyfb_pan_display()
1833 fbtyp.fb_depth = info->var.bits_per_pixel; atyfb_ioctl()
2305 struct fb_var_screeninfo *var) atyfb_get_timings_from_lcd()
2310 *var = default_var; atyfb_get_timings_from_lcd()
2311 var->xres = var->xres_virtual = par->lcd_hdisp; atyfb_get_timings_from_lcd()
2312 var->right_margin = par->lcd_right_margin; atyfb_get_timings_from_lcd()
2313 var->left_margin = par->lcd_hblank_len - atyfb_get_timings_from_lcd()
2316 var->hsync_len = par->lcd_hsync_len + par->lcd_hsync_dly; atyfb_get_timings_from_lcd()
2317 var->yres = var->yres_virtual = par->lcd_vdisp; atyfb_get_timings_from_lcd()
2318 var->lower_margin = par->lcd_lower_margin; atyfb_get_timings_from_lcd()
2319 var->upper_margin = par->lcd_vblank_len - atyfb_get_timings_from_lcd()
2321 var->vsync_len = par->lcd_vsync_len; atyfb_get_timings_from_lcd()
2322 var->pixclock = par->lcd_pixclock; atyfb_get_timings_from_lcd()
2335 struct fb_var_screeninfo var; aty_init() local
2669 memset(&var, 0, sizeof(var)); aty_init()
2677 if (mac_find_mode(&var, info, mode, 8)) aty_init()
2701 &var)) aty_init()
2709 if (!atyfb_get_timings_from_lcd(par, &var)) aty_init()
2713 if (mode && fb_find_mode(&var, info, mode, NULL, 0, &defmode, 8)) aty_init()
2717 var = default_var; aty_init()
2720 var.accel_flags &= ~FB_ACCELF_TEXT; aty_init()
2722 var.accel_flags |= FB_ACCELF_TEXT; aty_init()
2726 var.sync &= ~FB_SYNC_COMP_HIGH_ACT; aty_init()
2728 var.sync |= FB_SYNC_COMP_HIGH_ACT; aty_init()
2731 if (var.yres == var.yres_virtual) { aty_init()
2733 var.yres_virtual = ((videoram * 8) / var.bits_per_pixel) / var.xres_virtual; aty_init()
2734 if (var.yres_virtual < var.yres) aty_init()
2735 var.yres_virtual = var.yres; aty_init()
2738 ret = atyfb_check_var(&var, info); aty_init()
2748 info->var = var; aty_init()
2880 * entries in the var structure). Return != 0 for invalid regno.
2891 depth = info->var.bits_per_pixel; atyfb_setcolreg()
2893 depth = (info->var.green.length == 5) ? 15 : 16; atyfb_setcolreg()
3083 struct fb_var_screeninfo *var = &default_var; atyfb_setup_sparc() local
3092 var->bits_per_pixel = of_getintprop_default(dp, "depth", 8); atyfb_setup_sparc()
3093 var->xoffset = var->yoffset = 0; atyfb_setup_sparc()
3099 aty_crtc_to_var(&crtc, var); atyfb_setup_sparc()
3101 h_total = var->xres + var->right_margin + var->hsync_len + var->left_margin; atyfb_setup_sparc()
3102 v_total = var->yres + var->lower_margin + var->vsync_len + var->upper_margin; atyfb_setup_sparc()
790 aty_var_to_crtc(const struct fb_info *info, const struct fb_var_screeninfo *var, struct crtc *crtc) aty_var_to_crtc() argument
1148 aty_crtc_to_var(const struct crtc *crtc, struct fb_var_screeninfo *var) aty_crtc_to_var() argument
2304 atyfb_get_timings_from_lcd(struct atyfb_par *par, struct fb_var_screeninfo *var) atyfb_get_timings_from_lcd() argument
/linux-4.1.27/drivers/video/console/
H A Dfbcon_rotate.h16 (i)->var.yres : (i)->var.yres_virtual; })
20 (i)->var.xres : (i)->var.xres_virtual; })
H A Dfbcon.c185 static void fbcon_set_disp(struct fb_info *info, struct fb_var_screeninfo *var,
289 int depth = fb_get_color_depth(&info->var, &info->fix); get_color()
580 if (fb_get_color_depth(&info->var, &info->fix) == 1) fbcon_prepare_logo()
791 fbcon_set_disp(info, &info->var, unit); con2fb_init_display()
875 struct fb_var_screeninfo *var, var_to_display()
878 disp->xres_virtual = var->xres_virtual; var_to_display()
879 disp->yres_virtual = var->yres_virtual; var_to_display()
880 disp->bits_per_pixel = var->bits_per_pixel; var_to_display()
881 disp->grayscale = var->grayscale; var_to_display()
882 disp->nonstd = var->nonstd; var_to_display()
883 disp->accel_flags = var->accel_flags; var_to_display()
884 disp->height = var->height; var_to_display()
885 disp->width = var->width; var_to_display()
886 disp->red = var->red; var_to_display()
887 disp->green = var->green; var_to_display()
888 disp->blue = var->blue; var_to_display()
889 disp->transp = var->transp; var_to_display()
890 disp->rotate = var->rotate; var_to_display()
891 disp->mode = fb_match_mode(var, &info->modelist); var_to_display()
898 static void display_to_var(struct fb_var_screeninfo *var, display_to_var() argument
901 fb_videomode_to_var(var, disp->mode); display_to_var()
902 var->xres_virtual = disp->xres_virtual; display_to_var()
903 var->yres_virtual = disp->yres_virtual; display_to_var()
904 var->bits_per_pixel = disp->bits_per_pixel; display_to_var()
905 var->grayscale = disp->grayscale; display_to_var()
906 var->nonstd = disp->nonstd; display_to_var()
907 var->accel_flags = disp->accel_flags; display_to_var()
908 var->height = disp->height; display_to_var()
909 var->width = disp->width; display_to_var()
910 var->red = disp->red; display_to_var()
911 var->green = disp->green; display_to_var()
912 var->blue = disp->blue; display_to_var()
913 var->transp = disp->transp; display_to_var()
914 var->rotate = disp->rotate; display_to_var()
991 font = get_default_font(info->var.xres, fbcon_startup()
992 info->var.yres, fbcon_startup()
1003 cols = FBCON_SWAP(ops->rotate, info->var.xres, info->var.yres); fbcon_startup()
1004 rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres); fbcon_startup()
1011 DPRINTK("res: %dx%d-%d\n", info->var.xres, fbcon_startup()
1012 info->var.yres, fbcon_startup()
1013 info->var.bits_per_pixel); fbcon_startup()
1039 if (var_to_display(p, &info->var, info)) fbcon_init()
1064 font = get_default_font(info->var.xres, fbcon_init()
1065 info->var.yres, fbcon_init()
1080 vc->vc_can_do_color = (fb_get_color_depth(&info->var, &info->fix)!=1); fbcon_init()
1101 new_cols = FBCON_SWAP(ops->rotate, info->var.xres, info->var.yres); fbcon_init()
1102 new_rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres); fbcon_init()
1335 static void fbcon_set_disp(struct fb_info *info, struct fb_var_screeninfo *var, fbcon_set_disp() argument
1346 if (var_to_display(p, var, info)) fbcon_set_disp()
1369 var->activate = FB_ACTIVATE_NOW; fbcon_set_disp()
1370 info->var.activate = var->activate; fbcon_set_disp()
1371 var->yoffset = info->var.yoffset; fbcon_set_disp()
1372 var->xoffset = info->var.xoffset; fbcon_set_disp()
1373 fb_set_var(info, var); fbcon_set_disp()
1374 ops->var = info->var; fbcon_set_disp()
1375 vc->vc_can_do_color = (fb_get_color_depth(&info->var, &info->fix)!=1); fbcon_set_disp()
1390 cols = FBCON_SWAP(ops->rotate, info->var.xres, info->var.yres); fbcon_set_disp()
1391 rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres); fbcon_set_disp()
1412 ops->var.xoffset = 0; ywrap_up()
1413 ops->var.yoffset = p->yscroll * vc->vc_font.height; ywrap_up()
1414 ops->var.vmode |= FB_VMODE_YWRAP; ywrap_up()
1431 ops->var.xoffset = 0; ywrap_down()
1432 ops->var.yoffset = p->yscroll * vc->vc_font.height; ywrap_down()
1433 ops->var.vmode |= FB_VMODE_YWRAP; ywrap_down()
1454 ops->var.xoffset = 0; ypan_up()
1455 ops->var.yoffset = p->yscroll * vc->vc_font.height; ypan_up()
1456 ops->var.vmode &= ~FB_VMODE_YWRAP; ypan_up()
1478 ops->var.xoffset = 0; ypan_up_redraw()
1479 ops->var.yoffset = p->yscroll * vc->vc_font.height; ypan_up_redraw()
1480 ops->var.vmode &= ~FB_VMODE_YWRAP; ypan_up_redraw()
1502 ops->var.xoffset = 0; ypan_down()
1503 ops->var.yoffset = p->yscroll * vc->vc_font.height; ypan_down()
1504 ops->var.vmode &= ~FB_VMODE_YWRAP; ypan_down()
1526 ops->var.xoffset = 0; ypan_down_redraw()
1527 ops->var.yoffset = p->yscroll * vc->vc_font.height; ypan_down_redraw()
1528 ops->var.vmode &= ~FB_VMODE_YWRAP; ypan_down_redraw()
2074 int yres = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres); updatescrollmode()
2075 int vyres = FBCON_SWAP(ops->rotate, info->var.yres_virtual, updatescrollmode()
2076 info->var.xres_virtual); updatescrollmode()
2116 struct fb_var_screeninfo var = info->var; fbcon_resize() local
2125 var.xres = virt_w * virt_fw; fbcon_resize()
2126 var.yres = virt_h * virt_fh; fbcon_resize()
2127 x_diff = info->var.xres - var.xres; fbcon_resize()
2128 y_diff = info->var.yres - var.yres; fbcon_resize()
2133 DPRINTK("attempting resize %ix%i\n", var.xres, var.yres); fbcon_resize()
2134 mode = fb_find_best_mode(&var, &info->modelist); fbcon_resize()
2137 display_to_var(&var, p); fbcon_resize()
2138 fb_videomode_to_var(&var, mode); fbcon_resize()
2140 if (virt_w > var.xres/virt_fw || virt_h > var.yres/virt_fh) fbcon_resize()
2143 DPRINTK("resize now %ix%i\n", var.xres, var.yres); fbcon_resize()
2145 var.activate = FB_ACTIVATE_NOW | fbcon_resize()
2147 fb_set_var(info, &var); fbcon_resize()
2149 var_to_display(p, &info->var, info); fbcon_resize()
2150 ops->var = info->var; fbcon_resize()
2161 struct fb_var_screeninfo var; fbcon_switch() local
2202 memset(&var, 0, sizeof(struct fb_var_screeninfo)); fbcon_switch()
2203 display_to_var(&var, p); fbcon_switch()
2204 var.activate = FB_ACTIVATE_NOW; fbcon_switch()
2210 info->var.activate = var.activate; fbcon_switch()
2211 var.vmode |= info->var.vmode & ~FB_VMODE_MASK; fbcon_switch()
2212 fb_set_var(info, &var); fbcon_switch()
2213 ops->var = info->var; fbcon_switch()
2244 vc->vc_can_do_color = (fb_get_color_depth(&info->var, &info->fix)!=1); fbcon_switch()
2274 ops->var.xoffset = ops->var.yoffset = p->yscroll = 0; fbcon_switch()
2326 struct fb_var_screeninfo var = info->var; fbcon_blank() local
2331 var.activate = FB_ACTIVATE_NOW | FB_ACTIVATE_FORCE; fbcon_blank()
2332 fb_set_var(info, &var); fbcon_blank()
2334 ops->var = info->var; fbcon_blank()
2523 cols = FBCON_SWAP(ops->rotate, info->var.xres, info->var.yres); fbcon_do_set_font()
2524 rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres); fbcon_do_set_font()
2632 f = get_default_font(info->var.xres, info->var.yres, fbcon_set_def_font()
2662 depth = fb_get_color_depth(&info->var, &info->fix); fbcon_set_palette()
2831 info->var.vmode |= FB_VMODE_YWRAP; fbcon_scrolldelta()
2836 info->var.vmode &= ~FB_VMODE_YWRAP; fbcon_scrolldelta()
2844 ops->var.xoffset = 0; fbcon_scrolldelta()
2845 ops->var.yoffset = offset * vc->vc_font.height; fbcon_scrolldelta()
2903 var_to_display(p, &info->var, info); fbcon_modechanged()
2904 cols = FBCON_SWAP(ops->rotate, info->var.xres, info->var.yres); fbcon_modechanged()
2905 rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres); fbcon_modechanged()
2914 ops->var.xoffset = ops->var.yoffset = p->yscroll = 0; fbcon_modechanged()
2948 var_to_display(p, &info->var, info); fbcon_set_all_vcs()
2949 cols = FBCON_SWAP(ops->rotate, info->var.xres, info->var.yres); fbcon_set_all_vcs()
2950 rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres); fbcon_set_all_vcs()
3193 struct fb_var_screeninfo var; fbcon_new_modelist() local
3202 display_to_var(&var, &fb_display[i]); fbcon_new_modelist()
3205 fb_videomode_to_var(&var, mode); fbcon_new_modelist()
3206 fbcon_set_disp(info, &var, vc->vc_num); fbcon_new_modelist()
874 var_to_display(struct display *disp, struct fb_var_screeninfo *var, struct fb_info *info) var_to_display() argument
H A Dfbcon_cw.c179 unsigned int rw = info->var.yres - (vc->vc_cols*cw); cw_clear_margins()
180 unsigned int bh = info->var.xres - (vc->vc_rows*ch); cw_clear_margins()
181 unsigned int rs = info->var.yres - rw; cw_clear_margins()
189 region.dy = info->var.yoffset + rs; cw_clear_margins()
191 region.width = info->var.xres_virtual; cw_clear_margins()
196 region.dx = info->var.xoffset; cw_clear_margins()
197 region.dy = info->var.yoffset; cw_clear_margins()
198 region.height = info->var.yres; cw_clear_margins()
384 xoffset = vxres - (info->var.xres + ops->var.yoffset); cw_update_start()
385 ops->var.yoffset = ops->var.xoffset; cw_update_start()
386 ops->var.xoffset = xoffset; cw_update_start()
387 err = fb_pan_display(info, &ops->var); cw_update_start()
388 ops->var.xoffset = info->var.xoffset; cw_update_start()
389 ops->var.yoffset = info->var.yoffset; cw_update_start()
390 ops->var.vmode = info->var.vmode; cw_update_start()
H A Dfbcon_ccw.c196 unsigned int rw = info->var.yres - (vc->vc_cols*cw); ccw_clear_margins()
197 unsigned int bh = info->var.xres - (vc->vc_rows*ch); ccw_clear_margins()
206 region.dy = info->var.yoffset; ccw_clear_margins()
208 region.width = info->var.xres_virtual; ccw_clear_margins()
213 region.dx = info->var.xoffset + bs; ccw_clear_margins()
215 region.height = info->var.yres_virtual; ccw_clear_margins()
401 yoffset = (vyres - info->var.yres) - ops->var.xoffset; ccw_update_start()
402 ops->var.xoffset = ops->var.yoffset; ccw_update_start()
403 ops->var.yoffset = yoffset; ccw_update_start()
404 err = fb_pan_display(info, &ops->var); ccw_update_start()
405 ops->var.xoffset = info->var.xoffset; ccw_update_start()
406 ops->var.yoffset = info->var.yoffset; ccw_update_start()
407 ops->var.vmode = info->var.vmode; ccw_update_start()
H A Dbitblit.c210 unsigned int rw = info->var.xres - (vc->vc_cols*cw); bit_clear_margins()
211 unsigned int bh = info->var.yres - (vc->vc_rows*ch); bit_clear_margins()
212 unsigned int rs = info->var.xres - rw; bit_clear_margins()
213 unsigned int bs = info->var.yres - bh; bit_clear_margins()
220 region.dx = info->var.xoffset + rs; bit_clear_margins()
223 region.height = info->var.yres_virtual; bit_clear_margins()
228 region.dx = info->var.xoffset; bit_clear_margins()
229 region.dy = info->var.yoffset + bs; bit_clear_margins()
396 err = fb_pan_display(info, &ops->var); bit_update_start()
397 ops->var.xoffset = info->var.xoffset; bit_update_start()
398 ops->var.yoffset = info->var.yoffset; bit_update_start()
399 ops->var.vmode = info->var.vmode; bit_update_start()
H A Dfbcon_ud.c227 unsigned int rw = info->var.xres - (vc->vc_cols*cw); ud_clear_margins()
228 unsigned int bh = info->var.yres - (vc->vc_rows*ch); ud_clear_margins()
236 region.dx = info->var.xoffset; ud_clear_margins()
238 region.height = info->var.yres_virtual; ud_clear_margins()
243 region.dy = info->var.yoffset; ud_clear_margins()
244 region.dx = info->var.xoffset; ud_clear_margins()
246 region.width = info->var.xres; ud_clear_margins()
426 xoffset = vxres - info->var.xres - ops->var.xoffset; ud_update_start()
427 yoffset = vyres - info->var.yres - ops->var.yoffset; ud_update_start()
430 ops->var.xoffset = xoffset; ud_update_start()
431 ops->var.yoffset = yoffset; ud_update_start()
432 err = fb_pan_display(info, &ops->var); ud_update_start()
433 ops->var.xoffset = info->var.xoffset; ud_update_start()
434 ops->var.yoffset = info->var.yoffset; ud_update_start()
435 ops->var.vmode = info->var.vmode; ud_update_start()
H A Dtileblit.c124 err = fb_pan_display(info, &ops->var); tile_update_start()
125 ops->var.xoffset = info->var.xoffset; tile_update_start()
126 ops->var.yoffset = info->var.yoffset; tile_update_start()
127 ops->var.vmode = info->var.vmode; tile_update_start()
/linux-4.1.27/drivers/staging/fbtft/
H A Dfb_agm1264k-fl.c264 if (src[(y * 8 + i) * par->info->var.xres + x]) construct_line_bitmap()
282 signed short *convert_buf = kmalloc(par->info->var.xres * write_vmem()
283 par->info->var.yres * sizeof(signed short), GFP_NOIO); write_vmem()
291 for (x = 0; x < par->info->var.xres; ++x) write_vmem()
292 for (y = 0; y < par->info->var.yres; ++y) { write_vmem()
293 u16 pixel = vmem16[y * par->info->var.xres + x]; write_vmem()
303 convert_buf[y * par->info->var.xres + x] = write_vmem()
308 for (x = 0; x < par->info->var.xres; ++x) write_vmem()
309 for (y = 0; y < par->info->var.yres; ++y) { write_vmem()
311 convert_buf[y * par->info->var.xres + x]; write_vmem()
339 x + i >= par->info->var.xres write_vmem()
340 || y + j >= par->info->var.yres) write_vmem()
343 (y + j) * par->info->var.xres + write_vmem()
365 if (addr_win.xs < par->info->var.xres / 2) { write_vmem()
367 addr_win.xs, par->info->var.xres / 2, y); write_vmem()
369 len = par->info->var.xres / 2 - addr_win.xs; write_vmem()
386 if (addr_win.xe >= par->info->var.xres / 2) { write_vmem()
388 convert_buf, par->info->var.xres / 2, write_vmem()
391 len = addr_win.xe + 1 - par->info->var.xres / 2; write_vmem()
H A Dfb_ssd1306.c54 if (par->info->var.yres == 64) init_display()
70 if (par->info->var.yres == 64) init_display()
102 if (par->info->var.yres == 64) init_display()
182 for (x = 0; x < par->info->var.xres; x++) { write_vmem()
183 for (y = 0; y < par->info->var.yres/8; y++) { write_vmem()
186 *buf |= (vmem16[(y*8+i)*par->info->var.xres+x] ? 1 : 0) << i; write_vmem()
194 par->info->var.xres*par->info->var.yres/8); write_vmem()
/linux-4.1.27/drivers/input/keyboard/
H A Dadp5589-keys.c232 const struct adp_constants *var; member in struct:adp5589_kpad
391 unsigned int bank = kpad->var->bank(kpad->gpiomap[off]); adp5589_gpio_get_value()
392 unsigned int bit = kpad->var->bit(kpad->gpiomap[off]); adp5589_gpio_get_value()
395 kpad->var->reg(ADP5589_GPI_STATUS_A) + bank) & adp5589_gpio_get_value()
403 unsigned int bank = kpad->var->bank(kpad->gpiomap[off]); adp5589_gpio_set_value()
404 unsigned int bit = kpad->var->bit(kpad->gpiomap[off]); adp5589_gpio_set_value()
413 adp5589_write(kpad->client, kpad->var->reg(ADP5589_GPO_DATA_OUT_A) + adp5589_gpio_set_value()
422 unsigned int bank = kpad->var->bank(kpad->gpiomap[off]); adp5589_gpio_direction_input()
423 unsigned int bit = kpad->var->bit(kpad->gpiomap[off]); adp5589_gpio_direction_input()
430 kpad->var->reg(ADP5589_GPIO_DIRECTION_A) + bank, adp5589_gpio_direction_input()
442 unsigned int bank = kpad->var->bank(kpad->gpiomap[off]); adp5589_gpio_direction_output()
443 unsigned int bit = kpad->var->bit(kpad->gpiomap[off]); adp5589_gpio_direction_output()
455 ret = adp5589_write(kpad->client, kpad->var->reg(ADP5589_GPO_DATA_OUT_A) adp5589_gpio_direction_output()
458 kpad->var->reg(ADP5589_GPIO_DIRECTION_A) + bank, adp5589_gpio_direction_output()
475 for (i = 0; i < kpad->var->maxgpio; i++) adp5589_build_gpiomap()
480 pin_used[kpad->gpimap[i].pin - kpad->var->gpi_pin_base] = true; adp5589_build_gpiomap()
486 pin_used[kpad->var->c4_extend_cfg] = true; adp5589_build_gpiomap()
491 for (i = 0; i < kpad->var->maxgpio; i++) adp5589_build_gpiomap()
534 for (i = 0; i <= kpad->var->bank(kpad->var->maxgpio); i++) { adp5589_gpio_add()
535 kpad->dat_out[i] = adp5589_read(kpad->client, kpad->var->reg( adp5589_gpio_add()
537 kpad->dir[i] = adp5589_read(kpad->client, kpad->var->reg( adp5589_gpio_add()
606 if (key_val >= kpad->var->gpi_pin_base && adp5589_report_events()
607 key_val <= kpad->var->gpi_pin_end) { adp5589_report_events()
645 for (i = 0; i < kpad->var->keymapsize; i++) adp5589_get_evcode()
659 u8 (*reg) (u8) = kpad->var->reg; adp5589_setup()
665 pdata->keypad_en_mask & kpad->var->row_mask); adp5589_setup()
667 (pdata->keypad_en_mask >> kpad->var->col_shift) & adp5589_setup()
668 kpad->var->col_mask); adp5589_setup()
690 if (pin <= kpad->var->gpi_pin_row_end) { adp5589_setup()
691 evt_mode1 |= (1 << (pin - kpad->var->gpi_pin_row_base)); adp5589_setup()
694 ((1 << (pin - kpad->var->gpi_pin_col_base)) & 0xFF); adp5589_setup()
697 kpad->var->gpi_pin_col_base)) >> 8); adp5589_setup()
716 for (i = 0; i <= kpad->var->max_row_num; i++) { adp5589_setup()
729 if (i == 3 || i == kpad->var->max_row_num) { adp5589_setup()
736 for (i = 0; i <= kpad->var->max_col_num; i++) { adp5589_setup()
737 unsigned val = 0, bit = 1 << (i + kpad->var->col_shift); adp5589_setup()
749 if (i == 3 || i == kpad->var->max_col_num) { adp5589_setup()
788 pdata->debounce_dis_mask & kpad->var->row_mask); adp5589_setup()
791 (pdata->debounce_dis_mask >> kpad->var->col_shift) adp5589_setup()
792 & kpad->var->col_mask); adp5589_setup()
824 kpad->var->reg(ADP5589_GPI_STATUS_A)); adp5589_report_switch_state()
826 kpad->var->reg(ADP5589_GPI_STATUS_B)); adp5589_report_switch_state()
833 if (pin <= kpad->var->gpi_pin_row_end) { adp5589_report_switch_state()
835 pin_loc = pin - kpad->var->gpi_pin_row_base; adp5589_report_switch_state()
836 } else if ((pin - kpad->var->gpi_pin_col_base) < 8) { adp5589_report_switch_state()
838 pin_loc = pin - kpad->var->gpi_pin_col_base; adp5589_report_switch_state()
841 pin_loc = pin - kpad->var->gpi_pin_col_base - 8; adp5589_report_switch_state()
890 kpad->var = &const_adp5585; adp5589_probe()
893 kpad->var = &const_adp5589; adp5589_probe()
897 if (!((pdata->keypad_en_mask & kpad->var->row_mask) && adp5589_probe()
898 (pdata->keypad_en_mask >> kpad->var->col_shift)) || adp5589_probe()
905 if (pdata->keymapsize != kpad->var->keymapsize) { adp5589_probe()
917 if (pdata->gpimapsize > kpad->var->gpimapsize_max) { adp5589_probe()
926 if (pin < kpad->var->gpi_pin_base || adp5589_probe()
927 pin > kpad->var->gpi_pin_end) { adp5589_probe()
933 if ((1 << (pin - kpad->var->gpi_pin_row_base)) & adp5589_probe()
1049 adp5589_write(client, kpad->var->reg(ADP5589_GENERAL_CFG), 0); adp5589_remove()
/linux-4.1.27/arch/mips/bcm47xx/
H A Dnvram.c172 char *var, *value, *end, *eq; bcm47xx_nvram_getenv() local
185 var = &nvram_buf[sizeof(struct nvram_header)]; bcm47xx_nvram_getenv()
189 for (; *var; var = value + strlen(value) + 1) { bcm47xx_nvram_getenv()
190 data_left = end - var; bcm47xx_nvram_getenv()
192 eq = strnchr(var, data_left, '='); bcm47xx_nvram_getenv()
196 if (eq - var == strlen(name) && bcm47xx_nvram_getenv()
197 strncmp(var, name, eq - var) == 0) bcm47xx_nvram_getenv()
/linux-4.1.27/sound/core/
H A Dpcm_lib.c1131 * @var: the variable to evaluate
1139 int var, snd_pcm_hw_rule_add()
1167 c->var = var; snd_pcm_hw_rule_add()
1190 * @var: hw_params variable to apply the mask
1197 int snd_pcm_hw_constraint_mask(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, snd_pcm_hw_constraint_mask() argument
1201 struct snd_mask *maskp = constrs_mask(constrs, var); snd_pcm_hw_constraint_mask()
1212 * @var: hw_params variable to apply the mask
1219 int snd_pcm_hw_constraint_mask64(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, snd_pcm_hw_constraint_mask64() argument
1223 struct snd_mask *maskp = constrs_mask(constrs, var); snd_pcm_hw_constraint_mask64()
1236 * @var: hw_params variable to apply the integer constraint
1243 int snd_pcm_hw_constraint_integer(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var) snd_pcm_hw_constraint_integer() argument
1246 return snd_interval_setinteger(constrs_interval(constrs, var)); snd_pcm_hw_constraint_integer()
1254 * @var: hw_params variable to apply the range
1263 int snd_pcm_hw_constraint_minmax(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, snd_pcm_hw_constraint_minmax() argument
1272 return snd_interval_refine(constrs_interval(constrs, var), &t); snd_pcm_hw_constraint_minmax()
1281 return snd_interval_list(hw_param_interval(params, rule->var), list->count, list->list, list->mask); snd_pcm_hw_rule_list()
1289 * @var: hw_params variable to apply the list constraint
1298 snd_pcm_hw_param_t var, snd_pcm_hw_constraint_list()
1301 return snd_pcm_hw_rule_add(runtime, cond, var, snd_pcm_hw_constraint_list()
1303 var, -1); snd_pcm_hw_constraint_list()
1312 return snd_interval_ranges(hw_param_interval(params, rule->var), snd_pcm_hw_rule_ranges()
1321 * @var: hw_params variable to apply the list of range constraints
1330 snd_pcm_hw_param_t var, snd_pcm_hw_constraint_ranges()
1333 return snd_pcm_hw_rule_add(runtime, cond, var, snd_pcm_hw_constraint_ranges()
1335 var, -1); snd_pcm_hw_constraint_ranges()
1345 err = snd_interval_ratnum(hw_param_interval(params, rule->var), snd_pcm_hw_rule_ratnums()
1347 if (err >= 0 && den && rule->var == SNDRV_PCM_HW_PARAM_RATE) { snd_pcm_hw_rule_ratnums()
1358 * @var: hw_params variable to apply the ratnums constraint
1365 snd_pcm_hw_param_t var, snd_pcm_hw_constraint_ratnums()
1368 return snd_pcm_hw_rule_add(runtime, cond, var, snd_pcm_hw_constraint_ratnums()
1370 var, -1); snd_pcm_hw_constraint_ratnums()
1380 int err = snd_interval_ratden(hw_param_interval(params, rule->var), snd_pcm_hw_rule_ratdens()
1382 if (err >= 0 && den && rule->var == SNDRV_PCM_HW_PARAM_RATE) { snd_pcm_hw_rule_ratdens()
1393 * @var: hw_params variable to apply the ratdens constraint
1400 snd_pcm_hw_param_t var, snd_pcm_hw_constraint_ratdens()
1403 return snd_pcm_hw_rule_add(runtime, cond, var, snd_pcm_hw_constraint_ratdens()
1405 var, -1); snd_pcm_hw_constraint_ratdens()
1460 return snd_interval_step(hw_param_interval(params, rule->var), step); snd_pcm_hw_rule_step()
1467 * @var: hw_params variable to apply the step constraint
1474 snd_pcm_hw_param_t var, snd_pcm_hw_constraint_step()
1477 return snd_pcm_hw_rule_add(runtime, cond, var, snd_pcm_hw_constraint_step()
1479 var, -1); snd_pcm_hw_constraint_step()
1492 return snd_interval_list(hw_param_interval(params, rule->var), snd_pcm_hw_rule_pow2()
1500 * @var: hw_params variable to apply the power-of-2 constraint
1506 snd_pcm_hw_param_t var) snd_pcm_hw_constraint_pow2()
1508 return snd_pcm_hw_rule_add(runtime, cond, var, snd_pcm_hw_constraint_pow2()
1510 var, -1); snd_pcm_hw_constraint_pow2()
1544 snd_pcm_hw_param_t var) _snd_pcm_hw_param_any()
1546 if (hw_is_mask(var)) { _snd_pcm_hw_param_any()
1547 snd_mask_any(hw_param_mask(params, var)); _snd_pcm_hw_param_any()
1548 params->cmask |= 1 << var; _snd_pcm_hw_param_any()
1549 params->rmask |= 1 << var; _snd_pcm_hw_param_any()
1552 if (hw_is_interval(var)) { _snd_pcm_hw_param_any()
1553 snd_interval_any(hw_param_interval(params, var)); _snd_pcm_hw_param_any()
1554 params->cmask |= 1 << var; _snd_pcm_hw_param_any()
1555 params->rmask |= 1 << var; _snd_pcm_hw_param_any()
1575 * snd_pcm_hw_param_value - return @params field @var value
1577 * @var: parameter to retrieve
1580 * Return: The value for field @var if it's fixed in configuration space
1584 snd_pcm_hw_param_t var, int *dir) snd_pcm_hw_param_value()
1586 if (hw_is_mask(var)) { snd_pcm_hw_param_value()
1587 const struct snd_mask *mask = hw_param_mask_c(params, var); snd_pcm_hw_param_value()
1594 if (hw_is_interval(var)) { snd_pcm_hw_param_value()
1595 const struct snd_interval *i = hw_param_interval_c(params, var); snd_pcm_hw_param_value()
1608 snd_pcm_hw_param_t var) _snd_pcm_hw_param_setempty()
1610 if (hw_is_mask(var)) { _snd_pcm_hw_param_setempty()
1611 snd_mask_none(hw_param_mask(params, var)); _snd_pcm_hw_param_setempty()
1612 params->cmask |= 1 << var; _snd_pcm_hw_param_setempty()
1613 params->rmask |= 1 << var; _snd_pcm_hw_param_setempty()
1614 } else if (hw_is_interval(var)) { _snd_pcm_hw_param_setempty()
1615 snd_interval_none(hw_param_interval(params, var)); _snd_pcm_hw_param_setempty()
1616 params->cmask |= 1 << var; _snd_pcm_hw_param_setempty()
1617 params->rmask |= 1 << var; _snd_pcm_hw_param_setempty()
1626 snd_pcm_hw_param_t var) _snd_pcm_hw_param_first()
1629 if (hw_is_mask(var)) _snd_pcm_hw_param_first()
1630 changed = snd_mask_refine_first(hw_param_mask(params, var)); _snd_pcm_hw_param_first()
1631 else if (hw_is_interval(var)) _snd_pcm_hw_param_first()
1632 changed = snd_interval_refine_first(hw_param_interval(params, var)); _snd_pcm_hw_param_first()
1636 params->cmask |= 1 << var; _snd_pcm_hw_param_first()
1637 params->rmask |= 1 << var; _snd_pcm_hw_param_first()
1647 * @var: parameter to retrieve
1650 * Inside configuration space defined by @params remove from @var all
1657 snd_pcm_hw_param_t var, int *dir) snd_pcm_hw_param_first()
1659 int changed = _snd_pcm_hw_param_first(params, var); snd_pcm_hw_param_first()
1667 return snd_pcm_hw_param_value(params, var, dir); snd_pcm_hw_param_first()
1673 snd_pcm_hw_param_t var) _snd_pcm_hw_param_last()
1676 if (hw_is_mask(var)) _snd_pcm_hw_param_last()
1677 changed = snd_mask_refine_last(hw_param_mask(params, var)); _snd_pcm_hw_param_last()
1678 else if (hw_is_interval(var)) _snd_pcm_hw_param_last()
1679 changed = snd_interval_refine_last(hw_param_interval(params, var)); _snd_pcm_hw_param_last()
1683 params->cmask |= 1 << var; _snd_pcm_hw_param_last()
1684 params->rmask |= 1 << var; _snd_pcm_hw_param_last()
1694 * @var: parameter to retrieve
1697 * Inside configuration space defined by @params remove from @var all
1704 snd_pcm_hw_param_t var, int *dir) snd_pcm_hw_param_last()
1706 int changed = _snd_pcm_hw_param_last(params, var); snd_pcm_hw_param_last()
1714 return snd_pcm_hw_param_value(params, var, dir); snd_pcm_hw_param_last()
1138 snd_pcm_hw_rule_add(struct snd_pcm_runtime *runtime, unsigned int cond, int var, snd_pcm_hw_rule_func_t func, void *private, int dep, ...) snd_pcm_hw_rule_add() argument
1296 snd_pcm_hw_constraint_list(struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, const struct snd_pcm_hw_constraint_list *l) snd_pcm_hw_constraint_list() argument
1328 snd_pcm_hw_constraint_ranges(struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, const struct snd_pcm_hw_constraint_ranges *r) snd_pcm_hw_constraint_ranges() argument
1363 snd_pcm_hw_constraint_ratnums(struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, struct snd_pcm_hw_constraint_ratnums *r) snd_pcm_hw_constraint_ratnums() argument
1398 snd_pcm_hw_constraint_ratdens(struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, struct snd_pcm_hw_constraint_ratdens *r) snd_pcm_hw_constraint_ratdens() argument
1472 snd_pcm_hw_constraint_step(struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, unsigned long step) snd_pcm_hw_constraint_step() argument
1504 snd_pcm_hw_constraint_pow2(struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var) snd_pcm_hw_constraint_pow2() argument
1543 _snd_pcm_hw_param_any(struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var) _snd_pcm_hw_param_any() argument
1583 snd_pcm_hw_param_value(const struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var, int *dir) snd_pcm_hw_param_value() argument
1607 _snd_pcm_hw_param_setempty(struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var) _snd_pcm_hw_param_setempty() argument
1625 _snd_pcm_hw_param_first(struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var) _snd_pcm_hw_param_first() argument
1655 snd_pcm_hw_param_first(struct snd_pcm_substream *pcm, struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var, int *dir) snd_pcm_hw_param_first() argument
1672 _snd_pcm_hw_param_last(struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var) _snd_pcm_hw_param_last() argument
1702 snd_pcm_hw_param_last(struct snd_pcm_substream *pcm, struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var, int *dir) snd_pcm_hw_param_last() argument
/linux-4.1.27/drivers/scsi/aic7xxx/
H A Dqueue.h127 #define SLIST_FOREACH(var, head, field) \
128 for ((var) = SLIST_FIRST((head)); \
129 (var); \
130 (var) = SLIST_NEXT((var), field))
189 #define STAILQ_FOREACH(var, head, field) \
190 for((var) = STAILQ_FIRST((head)); \
191 (var); \
192 (var) = STAILQ_NEXT((var), field))
271 #define LIST_FOREACH(var, head, field) \
272 for ((var) = LIST_FIRST((head)); \
273 (var); \
274 (var) = LIST_NEXT((var), field))
336 #define TAILQ_FOREACH(var, head, field) \
337 for ((var) = TAILQ_FIRST((head)); \
338 (var); \
339 (var) = TAILQ_NEXT((var), field))
341 #define TAILQ_FOREACH_REVERSE(var, head, headname, field) \
342 for ((var) = TAILQ_LAST((head), headname); \
343 (var); \
344 (var) = TAILQ_PREV((var), headname, field))
427 #define CIRCLEQ_FOREACH(var, head, field) \
428 for ((var) = CIRCLEQ_FIRST((head)); \
429 (var) != (void *)(head); \
430 (var) = CIRCLEQ_NEXT((var), field))
432 #define CIRCLEQ_FOREACH_REVERSE(var, head, field) \
433 for ((var) = CIRCLEQ_LAST((head)); \
434 (var) != (void *)(head); \
435 (var) = CIRCLEQ_PREV((var), field))
/linux-4.1.27/arch/arm/mach-netx/
H A Dnxdb500.c61 static inline int nxdb500_check(struct clcd_fb *fb, struct fb_var_screeninfo *var) nxdb500_check() argument
63 var->green.length = 5; nxdb500_check()
64 var->green.msb_right = 0; nxdb500_check()
66 return clcdfb_check(fb, var); nxdb500_check()
73 fb->fb.var.green.length = 5; nxdb500_clcd_setup()
74 fb->fb.var.green.msb_right = 0; nxdb500_clcd_setup()
H A Dnxeb500hmi.c61 static inline int nxeb500hmi_check(struct clcd_fb *fb, struct fb_var_screeninfo *var) nxeb500hmi_check() argument
63 var->green.length = 5; nxeb500hmi_check()
64 var->green.msb_right = 0; nxeb500hmi_check()
66 return clcdfb_check(fb, var); nxeb500hmi_check()
73 fb->fb.var.green.length = 5; nxeb500hmi_clcd_setup()
74 fb->fb.var.green.msb_right = 0; nxeb500hmi_clcd_setup()
/linux-4.1.27/include/linux/
H A Dhighuid.h69 #define SET_UID(var, uid) do { (var) = __convert_uid(sizeof(var), (uid)); } while (0)
70 #define SET_GID(var, gid) do { (var) = __convert_gid(sizeof(var), (gid)); } while (0)
H A Dcompiler-intel.h29 /* This should act as an optimization barrier on var.
33 #define OPTIMIZER_HIDE_VAR(var) barrier()
H A Dsvga.h24 /* var part */
115 struct fb_var_screeninfo *var);
118 int svga_check_timings(const struct svga_timing_regs *tm, struct fb_var_screeninfo *var, int node);
119 void svga_set_timings(void __iomem *regbase, const struct svga_timing_regs *tm, struct fb_var_screeninfo *var, u32 hmul, u32 hdiv, u32 vmul, u32 vdiv, u32 hborder, int node);
121 int svga_match_format(const struct svga_fb_format *frm, struct fb_var_screeninfo *var, struct fb_fix_screeninfo *fix);
H A Dkmemcheck.h84 #define kmemcheck_annotate_variable(var) \
86 kmemcheck_mark_initialized(&(var), sizeof(var)); \
165 #define kmemcheck_annotate_variable(var) \
/linux-4.1.27/arch/microblaze/include/asm/
H A Dentry.h25 #define PER_CPU(var) var
/linux-4.1.27/arch/s390/include/asm/
H A Dbarrier.h39 #define set_mb(var, value) do { var = value; mb(); } while (0)
/linux-4.1.27/tools/testing/selftests/efivarfs/
H A Dcreate-read.c33 fprintf(stderr, "Reading a new var should return EOF\n"); main()
/linux-4.1.27/drivers/hid/
H A Dhid-picolcd_fb.c364 static int picolcd_fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) picolcd_fb_check_var() argument
366 __u32 bpp = var->bits_per_pixel; picolcd_fb_check_var()
367 __u32 activate = var->activate; picolcd_fb_check_var()
370 *var = picolcdfb_var; picolcd_fb_check_var()
371 var->activate = activate; picolcd_fb_check_var()
373 var->bits_per_pixel = 8; picolcd_fb_check_var()
374 var->red.length = 8; picolcd_fb_check_var()
375 var->green.length = 8; picolcd_fb_check_var()
376 var->blue.length = 8; picolcd_fb_check_var()
378 var->bits_per_pixel = 1; picolcd_fb_check_var()
379 var->red.length = 1; picolcd_fb_check_var()
380 var->green.length = 1; picolcd_fb_check_var()
381 var->blue.length = 1; picolcd_fb_check_var()
390 if (info->var.bits_per_pixel == fbdata->bpp) picolcd_set_par()
393 if (info->var.bits_per_pixel != 1 && info->var.bits_per_pixel != 8) picolcd_set_par()
397 tmp_fb = kmalloc(PICOLCDFB_SIZE*info->var.bits_per_pixel, GFP_KERNEL); picolcd_set_par()
402 if (info->var.bits_per_pixel == 1) { picolcd_set_par()
425 fbdata->bpp = info->var.bits_per_pixel; picolcd_set_par()
538 info->var = picolcdfb_var; picolcd_init_framebuffer()
/linux-4.1.27/drivers/net/wireless/brcm80211/include/
H A Dbrcmu_utils.h183 static inline void brcmu_maskset32(u32 *var, u32 mask, u8 shift, u32 value) brcmu_maskset32() argument
186 *var = (*var & ~mask) | value; brcmu_maskset32()
188 static inline u32 brcmu_maskget32(u32 var, u32 mask, u8 shift) brcmu_maskget32() argument
190 return (var & mask) >> shift; brcmu_maskget32()
192 static inline void brcmu_maskset16(u16 *var, u16 mask, u8 shift, u16 value) brcmu_maskset16() argument
195 *var = (*var & ~mask) | value; brcmu_maskset16()
197 static inline u16 brcmu_maskget16(u16 var, u16 mask, u8 shift) brcmu_maskget16() argument
199 return (var & mask) >> shift; brcmu_maskget16()
/linux-4.1.27/tools/perf/
H A Dbuiltin-help.c232 static int add_man_viewer_info(const char *var, const char *value) add_man_viewer_info() argument
234 const char *name = var + 4; add_man_viewer_info()
242 return config_error_nonbool(var); add_man_viewer_info()
247 return config_error_nonbool(var); add_man_viewer_info()
255 static int perf_help_config(const char *var, const char *value, void *cb) perf_help_config() argument
259 if (!strcmp(var, "help.format")) { perf_help_config()
261 return config_error_nonbool(var); perf_help_config()
267 if (!strcmp(var, "man.viewer")) { perf_help_config()
269 return config_error_nonbool(var); perf_help_config()
273 if (!prefixcmp(var, "man.")) perf_help_config()
274 return add_man_viewer_info(var, value); perf_help_config()
276 return perf_default_config(var, value, cb); perf_help_config()
/linux-4.1.27/arch/sh/include/mach-landisk/mach/
H A Dgio.h19 * G means "Get" (to a pointed var)
/linux-4.1.27/drivers/staging/lustre/lustre/ldlm/
H A Dldlm_internal.h241 #define LDLM_POOL_PROC_READER_SEQ_SHOW(var, type) \
242 static int lprocfs_##var##_seq_show(struct seq_file *m, void *v) \
248 tmp = pl->pl_##var; \
253 struct __##var##__dummy_read {; } /* semicolon catcher */
255 #define LDLM_POOL_PROC_WRITER(var, type) \
256 static int lprocfs_wr_##var(struct file *file, \
271 pl->pl_##var = tmp; \
276 struct __##var##__dummy_write {; } /* semicolon catcher */
/linux-4.1.27/arch/x86/um/asm/
H A Dbarrier.h42 #define set_mb(var, value) do { var = value; barrier(); } while (0)
/linux-4.1.27/drivers/usb/gadget/function/
H A Du_uac1.c43 snd_pcm_hw_param_t var, unsigned int val, _snd_pcm_hw_param_set()
47 if (hw_is_mask(var)) { _snd_pcm_hw_param_set()
48 struct snd_mask *m = hw_param_mask(params, var); _snd_pcm_hw_param_set()
58 hw_param_mask(params, var), val); _snd_pcm_hw_param_set()
60 } else if (hw_is_interval(var)) { _snd_pcm_hw_param_set()
61 struct snd_interval *i = hw_param_interval(params, var); _snd_pcm_hw_param_set()
85 params->cmask |= 1 << var; _snd_pcm_hw_param_set()
86 params->rmask |= 1 << var; _snd_pcm_hw_param_set()
42 _snd_pcm_hw_param_set(struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var, unsigned int val, int dir) _snd_pcm_hw_param_set() argument
/linux-4.1.27/arch/sh/include/asm/
H A Dbarrier.h35 #define set_mb(var, value) do { (void)xchg(&var, value); } while (0)
/linux-4.1.27/include/asm-generic/
H A Dbarrier.h70 #define set_mb(var, value) do { (var) = (value); mb(); } while (0)
/linux-4.1.27/arch/blackfin/include/asm/
H A Delf.h83 #define R_BFIN_BYTE_DATA 16 /* 0x10, .byte var = symbol */
84 #define R_BFIN_BYTE2_DATA 17 /* 0x11, .byte2 var = symbol */
85 #define R_BFIN_BYTE4_DATA 18 /* 0x12, .byte4 var = symbol and .var var=symbol */

Completed in 12252 milliseconds

123