Lines Matching refs:var
56 ustart += fb->fb.var.yoffset * fb->fb.fix.line_length;
57 lstart = ustart + fb->fb.var.yres * fb->fb.fix.line_length / 2;
136 clcdfb_set_bitfields(struct clcd_fb *fb, struct fb_var_screeninfo *var)
155 memset(&var->transp, 0, sizeof(var->transp));
157 var->red.msb_right = 0;
158 var->green.msb_right = 0;
159 var->blue.msb_right = 0;
161 switch (var->bits_per_pixel) {
173 var->red.length = var->bits_per_pixel;
174 var->red.offset = 0;
175 var->green.length = var->bits_per_pixel;
176 var->green.offset = 0;
177 var->blue.length = var->bits_per_pixel;
178 var->blue.offset = 0;
192 if (var->green.length == 4 && caps & CLCD_CAP_444)
194 if (var->green.length == 5 && caps & CLCD_CAP_5551)
196 else if (var->green.length == 6 && caps & CLCD_CAP_565)
204 var->green.length = 6;
207 var->green.length = 5;
210 var->green.length = 4;
215 if (var->green.length >= 5) {
216 var->red.length = 5;
217 var->blue.length = 5;
219 var->red.length = 4;
220 var->blue.length = 4;
231 var->red.length = 8;
232 var->green.length = 8;
233 var->blue.length = 8;
245 if (ret == 0 && var->bits_per_pixel >= 16) {
248 bgr = caps & CLCD_CAP_BGR && var->blue.offset == 0;
249 rgb = caps & CLCD_CAP_RGB && var->red.offset == 0;
260 var->blue.offset = 0;
261 var->green.offset = var->blue.offset + var->blue.length;
262 var->red.offset = var->green.offset + var->green.length;
264 var->red.offset = 0;
265 var->green.offset = var->red.offset + var->red.length;
266 var->blue.offset = var->green.offset + var->green.length;
273 static int clcdfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
279 ret = fb->board->check(fb, var);
282 var->xres_virtual * var->bits_per_pixel / 8 *
283 var->yres_virtual > fb->fb.fix.smem_len)
287 ret = clcdfb_set_bitfields(fb, var);
297 fb->fb.fix.line_length = fb->fb.var.xres_virtual *
298 fb->fb.var.bits_per_pixel / 8;
300 if (fb->fb.var.bits_per_pixel <= 8)
354 fb->cmap[regno] = convert_bitfield(transp, &fb->fb.var.transp) |
355 convert_bitfield(blue, &fb->fb.var.blue) |
356 convert_bitfield(green, &fb->fb.var.green) |
357 convert_bitfield(red, &fb->fb.var.red);
488 fb->fb.var.xres = fb->panel->mode.xres;
489 fb->fb.var.yres = fb->panel->mode.yres;
490 fb->fb.var.xres_virtual = fb->panel->mode.xres;
491 fb->fb.var.yres_virtual = fb->panel->mode.yres;
492 fb->fb.var.bits_per_pixel = fb->panel->bpp;
493 fb->fb.var.grayscale = fb->panel->grayscale;
494 fb->fb.var.pixclock = fb->panel->mode.pixclock;
495 fb->fb.var.left_margin = fb->panel->mode.left_margin;
496 fb->fb.var.right_margin = fb->panel->mode.right_margin;
497 fb->fb.var.upper_margin = fb->panel->mode.upper_margin;
498 fb->fb.var.lower_margin = fb->panel->mode.lower_margin;
499 fb->fb.var.hsync_len = fb->panel->mode.hsync_len;
500 fb->fb.var.vsync_len = fb->panel->mode.vsync_len;
501 fb->fb.var.sync = fb->panel->mode.sync;
502 fb->fb.var.vmode = fb->panel->mode.vmode;
503 fb->fb.var.activate = FB_ACTIVATE_NOW;
504 fb->fb.var.nonstd = 0;
505 fb->fb.var.height = fb->panel->height;
506 fb->fb.var.width = fb->panel->width;
507 fb->fb.var.accel_flags = 0;
519 clcdfb_set_bitfields(fb, &fb->fb.var);
533 fb_set_var(&fb->fb, &fb->fb.var);