Lines Matching refs:var

152 					struct fb_var_screeninfo *var,  in atmel_lcdfb_update_dma2d()  argument
164 struct fb_var_screeninfo *var, in atmel_lcdfb_update_dma2d() argument
170 pixeloff = (var->xoffset * info->var.bits_per_pixel) & 0x1f; in atmel_lcdfb_update_dma2d()
172 dma2dcfg = (info->var.xres_virtual - info->var.xres) in atmel_lcdfb_update_dma2d()
173 * info->var.bits_per_pixel / 8; in atmel_lcdfb_update_dma2d()
396 struct fb_var_screeninfo *var) in atmel_lcdfb_update_dma() argument
402 dma_addr = (fix->smem_start + var->yoffset * fix->line_length in atmel_lcdfb_update_dma()
403 + var->xoffset * info->var.bits_per_pixel / 8); in atmel_lcdfb_update_dma()
410 atmel_lcdfb_update_dma2d(sinfo, var, info); in atmel_lcdfb_update_dma()
431 struct fb_var_screeninfo *var = &info->var; in atmel_lcdfb_alloc_video_memory() local
434 smem_len = (var->xres_virtual * var->yres_virtual in atmel_lcdfb_alloc_video_memory()
435 * ((var->bits_per_pixel + 7) / 8)); in atmel_lcdfb_alloc_video_memory()
450 static const struct fb_videomode *atmel_lcdfb_choose_mode(struct fb_var_screeninfo *var, in atmel_lcdfb_choose_mode() argument
456 fb_var_to_videomode(&varfbmode, var); in atmel_lcdfb_choose_mode()
459 fb_videomode_to_var(var, fbmode); in atmel_lcdfb_choose_mode()
487 static int atmel_lcdfb_check_var(struct fb_var_screeninfo *var, in atmel_lcdfb_check_var() argument
499 if (!(var->pixclock && var->bits_per_pixel)) { in atmel_lcdfb_check_var()
501 if (!atmel_lcdfb_choose_mode(var, info)) { in atmel_lcdfb_check_var()
507 dev_dbg(dev, " resolution: %ux%u\n", var->xres, var->yres); in atmel_lcdfb_check_var()
508 dev_dbg(dev, " pixclk: %lu KHz\n", PICOS2KHZ(var->pixclock)); in atmel_lcdfb_check_var()
509 dev_dbg(dev, " bpp: %u\n", var->bits_per_pixel); in atmel_lcdfb_check_var()
512 if (PICOS2KHZ(var->pixclock) > clk_value_khz) { in atmel_lcdfb_check_var()
513 dev_err(dev, "%lu KHz pixel clock is too fast\n", PICOS2KHZ(var->pixclock)); in atmel_lcdfb_check_var()
518 if (var->xres > var->xres_virtual) in atmel_lcdfb_check_var()
519 var->xres_virtual = var->xres; in atmel_lcdfb_check_var()
521 if (var->yres > var->yres_virtual) in atmel_lcdfb_check_var()
522 var->yres_virtual = var->yres; in atmel_lcdfb_check_var()
525 var->xres = (var->xres + 3) & ~3UL; in atmel_lcdfb_check_var()
526 var->xres_virtual = (var->xres_virtual + 3) & ~3UL; in atmel_lcdfb_check_var()
528 var->red.msb_right = var->green.msb_right = var->blue.msb_right = 0; in atmel_lcdfb_check_var()
529 var->transp.msb_right = 0; in atmel_lcdfb_check_var()
530 var->transp.offset = var->transp.length = 0; in atmel_lcdfb_check_var()
531 var->xoffset = var->yoffset = 0; in atmel_lcdfb_check_var()
534 unsigned int smem_len = (var->xres_virtual * var->yres_virtual in atmel_lcdfb_check_var()
535 * ((var->bits_per_pixel + 7) / 8)); in atmel_lcdfb_check_var()
544 var->vsync_len = min_t(u32, var->vsync_len, in atmel_lcdfb_check_var()
546 var->upper_margin = min_t(u32, var->upper_margin, in atmel_lcdfb_check_var()
548 var->lower_margin = min_t(u32, var->lower_margin, in atmel_lcdfb_check_var()
550 var->right_margin = min_t(u32, var->right_margin, in atmel_lcdfb_check_var()
552 var->hsync_len = min_t(u32, var->hsync_len, in atmel_lcdfb_check_var()
554 var->left_margin = min_t(u32, var->left_margin, in atmel_lcdfb_check_var()
558 var->vsync_len = max_t(u32, var->vsync_len, 1); in atmel_lcdfb_check_var()
559 var->right_margin = max_t(u32, var->right_margin, 1); in atmel_lcdfb_check_var()
560 var->hsync_len = max_t(u32, var->hsync_len, 1); in atmel_lcdfb_check_var()
561 var->left_margin = max_t(u32, var->left_margin, 1); in atmel_lcdfb_check_var()
563 switch (var->bits_per_pixel) { in atmel_lcdfb_check_var()
568 var->red.offset = var->green.offset = var->blue.offset = 0; in atmel_lcdfb_check_var()
569 var->red.length = var->green.length = var->blue.length in atmel_lcdfb_check_var()
570 = var->bits_per_pixel; in atmel_lcdfb_check_var()
575 var->green.length = 5; in atmel_lcdfb_check_var()
577 var->green.length = 6; in atmel_lcdfb_check_var()
581 var->red.offset = var->green.length + 5; in atmel_lcdfb_check_var()
582 var->blue.offset = 0; in atmel_lcdfb_check_var()
585 var->red.offset = 0; in atmel_lcdfb_check_var()
586 var->blue.offset = var->green.length + 5; in atmel_lcdfb_check_var()
588 var->green.offset = 5; in atmel_lcdfb_check_var()
589 var->red.length = var->blue.length = 5; in atmel_lcdfb_check_var()
592 var->transp.offset = 24; in atmel_lcdfb_check_var()
593 var->transp.length = 8; in atmel_lcdfb_check_var()
598 var->red.offset = 16; in atmel_lcdfb_check_var()
599 var->blue.offset = 0; in atmel_lcdfb_check_var()
602 var->red.offset = 0; in atmel_lcdfb_check_var()
603 var->blue.offset = 16; in atmel_lcdfb_check_var()
605 var->green.offset = 8; in atmel_lcdfb_check_var()
606 var->red.length = var->green.length = var->blue.length = 8; in atmel_lcdfb_check_var()
610 var->bits_per_pixel); in atmel_lcdfb_check_var()
656 info->var.xres, info->var.yres, in atmel_lcdfb_set_par()
657 info->var.xres_virtual, info->var.yres_virtual); in atmel_lcdfb_set_par()
661 if (info->var.bits_per_pixel == 1) in atmel_lcdfb_set_par()
663 else if (info->var.bits_per_pixel <= 8) in atmel_lcdfb_set_par()
668 bits_per_line = info->var.xres_virtual * info->var.bits_per_pixel; in atmel_lcdfb_set_par()
673 atmel_lcdfb_update_dma(info, &info->var); in atmel_lcdfb_set_par()
676 value = (info->var.yres * info->var.xres * info->var.bits_per_pixel) / 32; in atmel_lcdfb_set_par()
688 value = DIV_ROUND_UP(clk_value_khz, PICOS2KHZ(info->var.pixclock)); in atmel_lcdfb_set_par()
699 info->var.pixclock = in atmel_lcdfb_set_par()
702 PICOS2KHZ(info->var.pixclock)); in atmel_lcdfb_set_par()
709 if (!(info->var.sync & FB_SYNC_HOR_HIGH_ACT)) in atmel_lcdfb_set_par()
711 if (!(info->var.sync & FB_SYNC_VERT_HIGH_ACT)) in atmel_lcdfb_set_par()
714 switch (info->var.bits_per_pixel) { in atmel_lcdfb_set_par()
729 value = (info->var.vsync_len - 1) << ATMEL_LCDC_VPW_OFFSET; in atmel_lcdfb_set_par()
730 value |= info->var.upper_margin << ATMEL_LCDC_VBP_OFFSET; in atmel_lcdfb_set_par()
731 value |= info->var.lower_margin; in atmel_lcdfb_set_par()
736 value = (info->var.right_margin - 1) << ATMEL_LCDC_HFP_OFFSET; in atmel_lcdfb_set_par()
737 value |= (info->var.hsync_len - 1) << ATMEL_LCDC_HPW_OFFSET; in atmel_lcdfb_set_par()
738 value |= (info->var.left_margin - 1); in atmel_lcdfb_set_par()
743 hozval_linesz = compute_hozval(sinfo, info->var.xres); in atmel_lcdfb_set_par()
747 value |= info->var.yres - 1; in atmel_lcdfb_set_par()
816 if (info->var.grayscale) in atmel_lcdfb_setcolreg()
825 val = chan_to_field(red, &info->var.red); in atmel_lcdfb_setcolreg()
826 val |= chan_to_field(green, &info->var.green); in atmel_lcdfb_setcolreg()
827 val |= chan_to_field(blue, &info->var.blue); in atmel_lcdfb_setcolreg()
877 static int atmel_lcdfb_pan_display(struct fb_var_screeninfo *var, in atmel_lcdfb_pan_display() argument
882 atmel_lcdfb_update_dma(info, var); in atmel_lcdfb_pan_display()
954 info->var.activate |= FB_ACTIVATE_FORCE | FB_ACTIVATE_NOW; in atmel_lcdfb_init_fbinfo()
1029 struct fb_var_screeninfo *var = &info->var; in atmel_lcdfb_of_init() local
1050 ret = of_property_read_u32(display_np, "bits-per-pixel", &var->bits_per_pixel); in atmel_lcdfb_of_init()
1202 info->var.bits_per_pixel = pdata->default_bpp ? pdata->default_bpp : 16; in atmel_lcdfb_probe()
1238 fb_videomode_to_var(&info->var, &modelist->mode); in atmel_lcdfb_probe()
1240 atmel_lcdfb_check_var(&info->var, info); in atmel_lcdfb_probe()