Lines Matching refs:var

1128 static int ami_decode_var(struct fb_var_screeninfo *var, struct amifb_par *par,  in ami_decode_var()  argument
1140 if (var->pixclock <= pixclock[clk_shift]) in ami_decode_var()
1152 if ((par->xres = var->xres) < 64) in ami_decode_var()
1154 if ((par->yres = var->yres) < 64) in ami_decode_var()
1156 if ((par->vxres = var->xres_virtual) < par->xres) in ami_decode_var()
1158 if ((par->vyres = var->yres_virtual) < par->yres) in ami_decode_var()
1161 par->bpp = var->bits_per_pixel; in ami_decode_var()
1162 if (!var->nonstd) { in ami_decode_var()
1173 } else if (var->nonstd == FB_NONSTD_HAM) { in ami_decode_var()
1194 par->vmode = var->vmode | FB_VMODE_SMOOTH_XPAN; in ami_decode_var()
1222 par->htotal = down8((var->left_margin + par->xres + var->right_margin + in ami_decode_var()
1223 var->hsync_len) << clk_shift); in ami_decode_var()
1225 down2(((var->upper_margin + par->yres + var->lower_margin + in ami_decode_var()
1226 var->vsync_len) << line_shift) + 1); in ami_decode_var()
1232 if (var->sync & FB_SYNC_BROADCAST) { in ami_decode_var()
1234 ((var->right_margin - var->hsync_len) << clk_shift); in ami_decode_var()
1236 par->diwstop_h += mod4(var->hsync_len); in ami_decode_var()
1242 ((var->lower_margin - var->vsync_len) << line_shift); in ami_decode_var()
1332 par->hsstrt = var->right_margin << clk_shift; in ami_decode_var()
1333 par->hsstop = (var->right_margin + var->hsync_len) << clk_shift; in ami_decode_var()
1343 par->vsstrt = var->lower_margin << line_shift; in ami_decode_var()
1344 par->vsstop = (var->lower_margin + var->vsync_len) << line_shift; in ami_decode_var()
1363 if (var->sync & FB_SYNC_HOR_HIGH_ACT) in ami_decode_var()
1365 if (var->sync & FB_SYNC_VERT_HIGH_ACT) in ami_decode_var()
1367 if (var->sync & FB_SYNC_COMP_HIGH_ACT) in ami_decode_var()
1471 if (var->nonstd == FB_NONSTD_HAM) in ami_decode_var()
1473 if (var->sync & FB_SYNC_EXT) in ami_decode_var()
1489 if (!((par->vmode ^ var->vmode) & FB_VMODE_YWRAP)) { in ami_decode_var()
1490 par->xoffset = var->xoffset; in ami_decode_var()
1491 par->yoffset = var->yoffset; in ami_decode_var()
1515 static void ami_encode_var(struct fb_var_screeninfo *var, in ami_encode_var() argument
1520 memset(var, 0, sizeof(struct fb_var_screeninfo)); in ami_encode_var()
1525 var->xres = par->xres; in ami_encode_var()
1526 var->yres = par->yres; in ami_encode_var()
1527 var->xres_virtual = par->vxres; in ami_encode_var()
1528 var->yres_virtual = par->vyres; in ami_encode_var()
1529 var->xoffset = par->xoffset; in ami_encode_var()
1530 var->yoffset = par->yoffset; in ami_encode_var()
1532 var->bits_per_pixel = par->bpp; in ami_encode_var()
1533 var->grayscale = 0; in ami_encode_var()
1535 var->red.offset = 0; in ami_encode_var()
1536 var->red.msb_right = 0; in ami_encode_var()
1537 var->red.length = par->bpp; in ami_encode_var()
1539 var->red.length -= 2; in ami_encode_var()
1540 var->blue = var->green = var->red; in ami_encode_var()
1541 var->transp.offset = 0; in ami_encode_var()
1542 var->transp.length = 0; in ami_encode_var()
1543 var->transp.msb_right = 0; in ami_encode_var()
1546 var->nonstd = FB_NONSTD_HAM; in ami_encode_var()
1548 var->nonstd = 0; in ami_encode_var()
1549 var->activate = 0; in ami_encode_var()
1551 var->height = -1; in ami_encode_var()
1552 var->width = -1; in ami_encode_var()
1554 var->pixclock = pixclock[clk_shift]; in ami_encode_var()
1557 var->vmode = FB_VMODE_DOUBLE; in ami_encode_var()
1559 var->vmode = FB_VMODE_INTERLACED; in ami_encode_var()
1561 var->vmode = FB_VMODE_NONINTERLACED; in ami_encode_var()
1564 var->hsync_len = (par->hsstop - par->hsstrt)>>clk_shift; in ami_encode_var()
1565 var->right_margin = par->hsstrt>>clk_shift; in ami_encode_var()
1566 var->left_margin = (par->htotal>>clk_shift) - var->xres - var->right_margin - var->hsync_len; in ami_encode_var()
1567 var->vsync_len = (par->vsstop - par->vsstrt)>>line_shift; in ami_encode_var()
1568 var->lower_margin = par->vsstrt>>line_shift; in ami_encode_var()
1569 var->upper_margin = (par->vtotal>>line_shift) - var->yres - var->lower_margin - var->vsync_len; in ami_encode_var()
1570 var->sync = 0; in ami_encode_var()
1572 var->sync |= FB_SYNC_HOR_HIGH_ACT; in ami_encode_var()
1574 var->sync |= FB_SYNC_VERT_HIGH_ACT; in ami_encode_var()
1576 var->sync |= FB_SYNC_COMP_HIGH_ACT; in ami_encode_var()
1578 var->sync = FB_SYNC_BROADCAST; in ami_encode_var()
1579 var->hsync_len = (152>>clk_shift) + mod4(par->diwstop_h); in ami_encode_var()
1580 var->right_margin = ((par->htotal - down4(par->diwstop_h))>>clk_shift) + var->hsync_len; in ami_encode_var()
1581 var->left_margin = (par->htotal>>clk_shift) - var->xres - var->right_margin - var->hsync_len; in ami_encode_var()
1582 var->vsync_len = 4>>line_shift; in ami_encode_var()
1583 var->lower_margin = ((par->vtotal - par->diwstop_v)>>line_shift) + var->vsync_len; in ami_encode_var()
1584 var->upper_margin = (((par->vtotal - 2)>>line_shift) + 1) - var->yres - in ami_encode_var()
1585 var->lower_margin - var->vsync_len; in ami_encode_var()
1589 var->sync |= FB_SYNC_EXT; in ami_encode_var()
1591 var->vmode |= FB_VMODE_YWRAP; in ami_encode_var()
1669 static void ami_pan_var(struct fb_var_screeninfo *var, struct fb_info *info) in ami_pan_var() argument
1673 par->xoffset = var->xoffset; in ami_pan_var()
1674 par->yoffset = var->yoffset; in ami_pan_var()
1675 if (var->vmode & FB_VMODE_YWRAP) in ami_pan_var()
1841 static int ami_get_var_cursorinfo(struct fb_var_cursorinfo *var, in ami_get_var_cursorinfo() argument
1857 alloc = var->height * var->width; in ami_get_var_cursorinfo()
1858 var->height = par->crsr.height; in ami_get_var_cursorinfo()
1859 var->width = par->crsr.width; in ami_get_var_cursorinfo()
1860 var->xspot = par->crsr.spot_x; in ami_get_var_cursorinfo()
1861 var->yspot = par->crsr.spot_y; in ami_get_var_cursorinfo()
1862 if (size > var->height * var->width) in ami_get_var_cursorinfo()
1870 for (height = (short)var->height - 1; height >= 0; height--) { in ami_get_var_cursorinfo()
1872 for (width = (short)var->width - 1; width >= 0; width--) { in ami_get_var_cursorinfo()
1916 static int ami_set_var_cursorinfo(struct fb_var_cursorinfo *var, in ami_set_var_cursorinfo() argument
1929 if (!var->width) in ami_set_var_cursorinfo()
1931 else if (var->width <= 16) in ami_set_var_cursorinfo()
1933 else if (var->width <= 32) in ami_set_var_cursorinfo()
1935 else if (var->width <= 64) in ami_set_var_cursorinfo()
1941 if (!var->height) in ami_set_var_cursorinfo()
1947 if (((var->height + 4) << fmode << 2) > SPRITEMEMSIZE) in ami_set_var_cursorinfo()
1949 memset(lspr, 0, (var->height + 4) << fmode << 2); in ami_set_var_cursorinfo()
1950 shfsprite += ((var->height + 5)&-2) << fmode; in ami_set_var_cursorinfo()
1953 if (((var->height + 2) << fmode << 2) > SPRITEMEMSIZE) in ami_set_var_cursorinfo()
1955 memset(lspr, 0, (var->height + 2) << fmode << 2); in ami_set_var_cursorinfo()
1958 for (height = (short)var->height - 1; height >= 0; height--) { in ami_set_var_cursorinfo()
1960 for (width = (short)var->width - 1; width >= 0; width--) { in ami_set_var_cursorinfo()
2020 par->crsr.height = var->height; in ami_set_var_cursorinfo()
2021 par->crsr.width = var->width; in ami_set_var_cursorinfo()
2022 par->crsr.spot_x = var->xspot; in ami_set_var_cursorinfo()
2023 par->crsr.spot_y = var->yspot; in ami_set_var_cursorinfo()
2377 static int amifb_check_var(struct fb_var_screeninfo *var, in amifb_check_var() argument
2384 err = ami_decode_var(var, &par, info); in amifb_check_var()
2389 ami_encode_var(var, &par); in amifb_check_var()
2403 error = ami_decode_var(&info->var, par, info); in amifb_set_par()
2540 static int amifb_pan_display(struct fb_var_screeninfo *var, in amifb_pan_display() argument
2543 if (var->vmode & FB_VMODE_YWRAP) { in amifb_pan_display()
2544 if (var->yoffset < 0 || in amifb_pan_display()
2545 var->yoffset >= info->var.yres_virtual || var->xoffset) in amifb_pan_display()
2552 if (var->xoffset + info->var.xres > in amifb_pan_display()
2553 upx(16 << maxfmode, info->var.xres_virtual) || in amifb_pan_display()
2554 var->yoffset + info->var.yres > info->var.yres_virtual) in amifb_pan_display()
2557 ami_pan_var(var, info); in amifb_pan_display()
2558 info->var.xoffset = var->xoffset; in amifb_pan_display()
2559 info->var.yoffset = var->yoffset; in amifb_pan_display()
2560 if (var->vmode & FB_VMODE_YWRAP) in amifb_pan_display()
2561 info->var.vmode |= FB_VMODE_YWRAP; in amifb_pan_display()
2563 info->var.vmode &= ~FB_VMODE_YWRAP; in amifb_pan_display()
3185 x2 = x2 < info->var.xres_virtual ? x2 : info->var.xres_virtual; in amifb_fillrect()
3186 y2 = y2 < info->var.yres_virtual ? y2 : info->var.yres_virtual; in amifb_fillrect()
3197 fill_one_line(info->var.bits_per_pixel, in amifb_fillrect()
3203 xor_one_line(info->var.bits_per_pixel, par->next_plane, in amifb_fillrect()
3261 x2 = x2 < info->var.xres_virtual ? x2 : info->var.xres_virtual; in amifb_copyarea()
3262 y2 = y2 < info->var.yres_virtual ? y2 : info->var.yres_virtual; in amifb_copyarea()
3274 if (sx + width > info->var.xres_virtual || in amifb_copyarea()
3275 sy + height > info->var.yres_virtual) in amifb_copyarea()
3294 copy_one_line_rev(info->var.bits_per_pixel, in amifb_copyarea()
3300 copy_one_line(info->var.bits_per_pixel, in amifb_copyarea()
3358 x2 = x2 < info->var.xres_virtual ? x2 : info->var.xres_virtual; in amifb_imageblit()
3359 y2 = y2 < info->var.yres_virtual ? y2 : info->var.yres_virtual; in amifb_imageblit()
3371 expand_one_line(info->var.bits_per_pixel, in amifb_imageblit()
3381 image->width, info->var.bits_per_pixel); in amifb_imageblit()
3395 struct fb_var_cursorinfo var; in amifb_ioctl() member
3410 i = ami_get_var_cursorinfo(&crsr.var, in amifb_ioctl()
3415 return copy_to_user(argp, &crsr.var, in amifb_ioctl()
3416 sizeof(crsr.var)) ? -EFAULT : 0; in amifb_ioctl()
3419 if (copy_from_user(&crsr.var, argp, sizeof(crsr.var))) in amifb_ioctl()
3421 return ami_set_var_cursorinfo(&crsr.var, in amifb_ioctl()
3677 if (!fb_find_mode(&info->var, info, mode_option, ami_modedb, in amifb_probe()
3735 err = fb_alloc_cmap(&info->cmap, 1 << info->var.bits_per_pixel, 0); in amifb_probe()