• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/video/

Lines Matching defs:var

42 					struct fb_var_screeninfo *var)
53 struct fb_var_screeninfo *var)
58 pixeloff = (var->xoffset * var->bits_per_pixel) & 0x1f;
60 dma2dcfg = ((var->xres_virtual - var->xres) * var->bits_per_pixel) / 8;
240 struct fb_var_screeninfo *var)
246 dma_addr = (fix->smem_start + var->yoffset * fix->line_length
247 + var->xoffset * var->bits_per_pixel / 8);
254 atmel_lcdfb_update_dma2d(sinfo, var);
275 struct fb_var_screeninfo *var = &info->var;
278 smem_len = (var->xres_virtual * var->yres_virtual
279 * ((var->bits_per_pixel + 7) / 8));
294 static const struct fb_videomode *atmel_lcdfb_choose_mode(struct fb_var_screeninfo *var,
300 fb_var_to_videomode(&varfbmode, var);
303 fb_videomode_to_var(var, fbmode);
309 * atmel_lcdfb_check_var - Validates a var passed in.
310 * @var: frame buffer variable screen structure
314 * var passed in. This function does not alter the hardware
316 * struct atmel_lcdfb_info do not change. This includes the var
320 * this. If the var passed in is slightly off by what the
321 * hardware can support then we alter the var PASSED in to what
326 * needed. In this case the driver would just provide a var that
331 static int atmel_lcdfb_check_var(struct fb_var_screeninfo *var,
342 if (!(var->pixclock && var->bits_per_pixel)) {
344 if (!atmel_lcdfb_choose_mode(var, info)) {
350 dev_dbg(dev, " resolution: %ux%u\n", var->xres, var->yres);
351 dev_dbg(dev, " pixclk: %lu KHz\n", PICOS2KHZ(var->pixclock));
352 dev_dbg(dev, " bpp: %u\n", var->bits_per_pixel);
355 if (PICOS2KHZ(var->pixclock) > clk_value_khz) {
356 dev_err(dev, "%lu KHz pixel clock is too fast\n", PICOS2KHZ(var->pixclock));
361 if (var->xres > var->xres_virtual)
362 var->xres_virtual = var->xres;
364 if (var->yres > var->yres_virtual)
365 var->yres_virtual = var->yres;
368 var->xres = (var->xres + 3) & ~3UL;
369 var->xres_virtual = (var->xres_virtual + 3) & ~3UL;
371 var->red.msb_right = var->green.msb_right = var->blue.msb_right = 0;
372 var->transp.msb_right = 0;
373 var->transp.offset = var->transp.length = 0;
374 var->xoffset = var->yoffset = 0;
377 unsigned int smem_len = (var->xres_virtual * var->yres_virtual
378 * ((var->bits_per_pixel + 7) / 8));
384 var->vsync_len = min_t(u32, var->vsync_len,
386 var->upper_margin = min_t(u32, var->upper_margin,
388 var->lower_margin = min_t(u32, var->lower_margin,
390 var->right_margin = min_t(u32, var->right_margin,
392 var->hsync_len = min_t(u32, var->hsync_len,
394 var->left_margin = min_t(u32, var->left_margin,
398 var->vsync_len = max_t(u32, var->vsync_len, 1);
399 var->right_margin = max_t(u32, var->right_margin, 1);
400 var->hsync_len = max_t(u32, var->hsync_len, 1);
401 var->left_margin = max_t(u32, var->left_margin, 1);
403 switch (var->bits_per_pixel) {
408 var->red.offset = var->green.offset = var->blue.offset = 0;
409 var->red.length = var->green.length = var->blue.length
410 = var->bits_per_pixel;
416 var->red.offset = 11;
417 var->blue.offset = 0;
418 var->green.length = 6;
420 var->red.offset = 10;
421 var->blue.offset = 0;
422 var->green.length = 5;
425 var->red.offset = 0;
426 var->blue.offset = 10;
427 var->green.length = 5;
429 var->green.offset = 5;
430 var->red.length = var->blue.length = 5;
433 var->transp.offset = 24;
434 var->transp.length = 8;
439 var->red.offset = 16;
440 var->blue.offset = 0;
443 var->red.offset = 0;
444 var->blue.offset = 16;
446 var->green.offset = 8;
447 var->red.length = var->green.length = var->blue.length = 8;
451 var->bits_per_pixel);
476 * not alter var in fb_info since we are using that data. This
477 * means we depend on the data in var inside fb_info to be
496 info->var.xres, info->var.yres,
497 info->var.xres_virtual, info->var.yres_virtual);
501 if (info->var.bits_per_pixel == 1)
503 else if (info->var.bits_per_pixel <= 8)
508 bits_per_line = info->var.xres_virtual * info->var.bits_per_pixel;
513 atmel_lcdfb_update_dma(info, &info->var);
516 value = (info->var.yres * info->var.xres * info->var.bits_per_pixel) / 32;
528 value = DIV_ROUND_UP(clk_value_khz, PICOS2KHZ(info->var.pixclock));
539 info->var.pixclock =
542 PICOS2KHZ(info->var.pixclock));
549 if (!(info->var.sync & FB_SYNC_HOR_HIGH_ACT))
551 if (!(info->var.sync & FB_SYNC_VERT_HIGH_ACT))
554 switch (info->var.bits_per_pixel) {
569 value = (info->var.vsync_len - 1) << ATMEL_LCDC_VPW_OFFSET;
570 value |= info->var.upper_margin << ATMEL_LCDC_VBP_OFFSET;
571 value |= info->var.lower_margin;
576 value = (info->var.right_margin - 1) << ATMEL_LCDC_HFP_OFFSET;
577 value |= (info->var.hsync_len - 1) << ATMEL_LCDC_HPW_OFFSET;
578 value |= (info->var.left_margin - 1);
583 hozval_linesz = compute_hozval(info->var.xres,
588 value |= info->var.yres - 1;
656 if (info->var.grayscale)
665 val = chan_to_field(red, &info->var.red);
666 val |= chan_to_field(green, &info->var.green);
667 val |= chan_to_field(blue, &info->var.blue);
703 static int atmel_lcdfb_pan_display(struct fb_var_screeninfo *var,
708 atmel_lcdfb_update_dma(info, var);
756 info->var.activate |= FB_ACTIVATE_FORCE | FB_ACTIVATE_NOW;
851 ret = fb_find_mode(&info->var, info, NULL, info->monspecs.modedb,
943 atmel_lcdfb_check_var(&info->var, info);
945 ret = fb_set_var(info, &info->var);
963 fb_var_to_videomode(&fbmode, &info->var);