Lines Matching refs:var
244 static int imxfb_activate_var(struct fb_var_screeninfo *var,
295 if (info->var.grayscale) in imxfb_setcolreg()
308 val = chan_to_field(red, &info->var.red); in imxfb_setcolreg()
309 val |= chan_to_field(green, &info->var.green); in imxfb_setcolreg()
310 val |= chan_to_field(blue, &info->var.blue); in imxfb_setcolreg()
347 static int imxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) in imxfb_check_var() argument
356 if (var->xres < MIN_XRES) in imxfb_check_var()
357 var->xres = MIN_XRES; in imxfb_check_var()
358 if (var->yres < MIN_YRES) in imxfb_check_var()
359 var->yres = MIN_YRES; in imxfb_check_var()
365 var->xres = imxfb_mode->mode.xres; in imxfb_check_var()
366 var->yres = imxfb_mode->mode.yres; in imxfb_check_var()
367 var->bits_per_pixel = imxfb_mode->bpp; in imxfb_check_var()
368 var->pixclock = imxfb_mode->mode.pixclock; in imxfb_check_var()
369 var->hsync_len = imxfb_mode->mode.hsync_len; in imxfb_check_var()
370 var->left_margin = imxfb_mode->mode.left_margin; in imxfb_check_var()
371 var->right_margin = imxfb_mode->mode.right_margin; in imxfb_check_var()
372 var->vsync_len = imxfb_mode->mode.vsync_len; in imxfb_check_var()
373 var->upper_margin = imxfb_mode->mode.upper_margin; in imxfb_check_var()
374 var->lower_margin = imxfb_mode->mode.lower_margin; in imxfb_check_var()
375 var->sync = imxfb_mode->mode.sync; in imxfb_check_var()
376 var->xres_virtual = max(var->xres_virtual, var->xres); in imxfb_check_var()
377 var->yres_virtual = max(var->yres_virtual, var->yres); in imxfb_check_var()
379 pr_debug("var->bits_per_pixel=%d\n", var->bits_per_pixel); in imxfb_check_var()
383 tmp = var->pixclock * (unsigned long long)lcd_clk; in imxfb_check_var()
398 switch (var->bits_per_pixel) { in imxfb_check_var()
430 var->red = rgb->red; in imxfb_check_var()
431 var->green = rgb->green; in imxfb_check_var()
432 var->blue = rgb->blue; in imxfb_check_var()
433 var->transp = rgb->transp; in imxfb_check_var()
436 var->red.length, var->green.length, var->blue.length, in imxfb_check_var()
437 var->transp.length); in imxfb_check_var()
440 var->red.offset, var->green.offset, var->blue.offset, in imxfb_check_var()
441 var->transp.offset); in imxfb_check_var()
453 struct fb_var_screeninfo *var = &info->var; in imxfb_set_par() local
455 if (var->bits_per_pixel == 16 || var->bits_per_pixel == 32) in imxfb_set_par()
468 info->fix.line_length = var->xres_virtual * var->bits_per_pixel / 8; in imxfb_set_par()
469 fbi->palette_size = var->bits_per_pixel == 8 ? 256 : 16; in imxfb_set_par()
471 imxfb_activate_var(var, info); in imxfb_set_par()
557 static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *info) in imxfb_activate_var() argument
563 var->xres, var->hsync_len, in imxfb_activate_var()
564 var->left_margin, var->right_margin); in imxfb_activate_var()
566 var->yres, var->vsync_len, in imxfb_activate_var()
567 var->upper_margin, var->lower_margin); in imxfb_activate_var()
570 if (var->xres < 16 || var->xres > 1024) in imxfb_activate_var()
572 info->fix.id, var->xres); in imxfb_activate_var()
573 if (var->hsync_len < 1 || var->hsync_len > 64) in imxfb_activate_var()
575 info->fix.id, var->hsync_len); in imxfb_activate_var()
576 if (var->left_margin > 255) in imxfb_activate_var()
578 info->fix.id, var->left_margin); in imxfb_activate_var()
579 if (var->right_margin > 255) in imxfb_activate_var()
581 info->fix.id, var->right_margin); in imxfb_activate_var()
582 if (var->yres < 1 || var->yres > ymax_mask) in imxfb_activate_var()
584 info->fix.id, var->yres); in imxfb_activate_var()
585 if (var->vsync_len > 100) in imxfb_activate_var()
587 info->fix.id, var->vsync_len); in imxfb_activate_var()
588 if (var->upper_margin > 63) in imxfb_activate_var()
590 info->fix.id, var->upper_margin); in imxfb_activate_var()
591 if (var->lower_margin > 255) in imxfb_activate_var()
593 info->fix.id, var->lower_margin); in imxfb_activate_var()
597 writel(VPW_VPW(var->xres * var->bits_per_pixel / 8 / 4), in imxfb_activate_var()
600 writel(HCR_H_WIDTH(var->hsync_len - 1) | in imxfb_activate_var()
601 HCR_H_WAIT_1(var->right_margin - 1) | in imxfb_activate_var()
602 HCR_H_WAIT_2(var->left_margin - 3), in imxfb_activate_var()
605 writel(VCR_V_WIDTH(var->vsync_len) | in imxfb_activate_var()
606 VCR_V_WAIT_1(var->lower_margin) | in imxfb_activate_var()
607 VCR_V_WAIT_2(var->upper_margin), in imxfb_activate_var()
610 writel(SIZE_XMAX(var->xres) | (var->yres & ymax_mask), in imxfb_activate_var()
651 info->var.nonstd = 0; in imxfb_init_fbinfo()
652 info->var.activate = FB_ACTIVATE_NOW; in imxfb_init_fbinfo()
653 info->var.height = -1; in imxfb_init_fbinfo()
654 info->var.width = -1; in imxfb_init_fbinfo()
655 info->var.accel_flags = 0; in imxfb_init_fbinfo()
656 info->var.vmode = FB_VMODE_NONINTERLACED; in imxfb_init_fbinfo()
667 info->var.grayscale = of_property_read_bool(np, in imxfb_init_fbinfo()
951 imxfb_check_var(&info->var, info); in imxfb_probe()
953 ret = fb_alloc_cmap(&info->cmap, 1 << info->var.bits_per_pixel, 0); in imxfb_probe()