Lines Matching refs:var
117 static inline int h_total(struct fb_var_screeninfo *var)
119 return var->xres + var->left_margin +
120 var->right_margin + var->hsync_len;
123 static inline int v_total(struct fb_var_screeninfo *var)
125 return var->yres + var->upper_margin +
126 var->lower_margin + var->vsync_len;
293 static int sm501fb_check_var(struct fb_var_screeninfo *var,
302 if (var->hsync_len > 255 || var->vsync_len > 63)
306 if ((var->xres + var->right_margin) > 4096)
310 if ((var->yres + var->lower_margin) > 2048)
315 if (h_total(var) > 4096 || v_total(var) > 2048)
320 tmp = (var->xres * var->bits_per_pixel) / 8;
326 if (var->xres_virtual > 4096 || var->yres_virtual > 2048)
331 if (var->bits_per_pixel <= 8)
332 var->bits_per_pixel = 8;
333 else if (var->bits_per_pixel <= 16)
334 var->bits_per_pixel = 16;
335 else if (var->bits_per_pixel == 24)
336 var->bits_per_pixel = 32;
339 switch(var->bits_per_pixel) {
341 var->red.length = var->bits_per_pixel;
342 var->red.offset = 0;
343 var->green.length = var->bits_per_pixel;
344 var->green.offset = 0;
345 var->blue.length = var->bits_per_pixel;
346 var->blue.offset = 0;
347 var->transp.length = 0;
348 var->transp.offset = 0;
354 var->blue.offset = 11;
355 var->green.offset = 5;
356 var->red.offset = 0;
358 var->red.offset = 11;
359 var->green.offset = 5;
360 var->blue.offset = 0;
362 var->transp.offset = 0;
364 var->red.length = 5;
365 var->green.length = 6;
366 var->blue.length = 5;
367 var->transp.length = 0;
372 var->transp.offset = 0;
373 var->red.offset = 8;
374 var->green.offset = 16;
375 var->blue.offset = 24;
377 var->transp.offset = 24;
378 var->red.offset = 16;
379 var->green.offset = 8;
380 var->blue.offset = 0;
383 var->red.length = 8;
384 var->green.length = 8;
385 var->blue.length = 8;
386 var->transp.length = 0;
403 static int sm501fb_check_var_crt(struct fb_var_screeninfo *var,
406 return sm501fb_check_var(var, info);
415 static int sm501fb_check_var_pnl(struct fb_var_screeninfo *var,
418 return sm501fb_check_var(var, info);
427 struct fb_var_screeninfo *var)
439 __func__, var->xres, var->yres, var->bits_per_pixel,
440 var->xres_virtual, var->yres_virtual);
461 switch (var->bits_per_pixel) {
476 info->fix.line_length = (var->xres_virtual * var->bits_per_pixel)/8;
477 smem_len = info->fix.line_length * var->yres_virtual;
502 pixclock = sm501fb_ps_to_hz(var->pixclock);
508 var->pixclock = sm501fb_hz_to_ps(sm501pixclock);
512 __func__, var->pixclock, pixclock, sm501pixclock,
524 struct fb_var_screeninfo *var)
539 reg |= ((var->xres * var->bits_per_pixel)/8) << 16;
546 reg = (h_total(var) - 1) << 16;
547 reg |= (var->xres - 1);
553 reg = var->hsync_len << 16;
554 reg |= var->xres + var->right_margin - 1;
560 reg = (v_total(var) - 1) << 16;
561 reg |= (var->yres - 1);
566 reg = var->vsync_len << 16;
567 reg |= var->yres + var->lower_margin - 1;
577 static int sm501fb_pan_crt(struct fb_var_screeninfo *var,
582 unsigned int bytes_pixel = info->var.bits_per_pixel / 8;
586 xoffs = var->xoffset * bytes_pixel;
595 var->yoffset * info->fix.line_length);
607 static int sm501fb_pan_pnl(struct fb_var_screeninfo *var,
614 reg = var->xoffset | (info->var.xres_virtual << 16);
617 reg = var->yoffset | (info->var.yres_virtual << 16);
633 struct fb_var_screeninfo *var = &info->var;
655 if ((var->sync & FB_SYNC_HOR_HIGH_ACT) == 0)
658 if ((var->sync & FB_SYNC_VERT_HIGH_ACT) == 0)
669 ret = sm501fb_set_par_common(info, var);
675 sm501fb_pan_crt(var, info);
676 sm501fb_set_par_geometry(info, var);
680 switch(var->bits_per_pixel) {
803 struct fb_var_screeninfo *var = &info->var;
812 ret = sm501fb_set_par_common(info, var);
816 sm501fb_pan_pnl(var, info);
817 sm501fb_set_par_geometry(info, var);
836 switch(var->bits_per_pixel) {
861 reg = var->xres - 1;
862 reg |= (var->yres - 1) << 16;
871 if ((var->sync & FB_SYNC_HOR_HIGH_ACT) == 0)
874 if ((var->sync & FB_SYNC_VERT_HIGH_ACT) == 0)
932 val = chan_to_field(red, &info->var.red);
933 val |= chan_to_field(green, &info->var.green);
934 val |= chan_to_field(blue, &info->var.blue);
1315 if ((sx >= info->var.xres_virtual) ||
1316 (sy >= info->var.yres_virtual))
1319 if ((sx + width) >= info->var.xres_virtual)
1320 width = info->var.xres_virtual - sx - 1;
1321 if ((sy + height) >= info->var.yres_virtual)
1322 height = info->var.yres_virtual - sy - 1;
1325 if ((dx >= info->var.xres_virtual) ||
1326 (dy >= info->var.yres_virtual))
1329 if ((dx + width) >= info->var.xres_virtual)
1330 width = info->var.xres_virtual - dx - 1;
1331 if ((dy + height) >= info->var.yres_virtual)
1332 height = info->var.yres_virtual - dy - 1;
1351 smc501_writel((info->var.xres << 16) | info->var.xres,
1355 smc501_writel((info->var.xres_virtual << 16) | info->var.xres_virtual,
1359 switch (info->var.bits_per_pixel) {
1394 if ((rect->dx >= info->var.xres_virtual) ||
1395 (rect->dy >= info->var.yres_virtual))
1398 if ((rect->dx + width) >= info->var.xres_virtual)
1399 width = info->var.xres_virtual - rect->dx - 1;
1400 if ((rect->dy + height) >= info->var.yres_virtual)
1401 height = info->var.yres_virtual - rect->dy - 1;
1412 smc501_writel((info->var.xres << 16) | info->var.xres,
1416 smc501_writel((info->var.xres_virtual << 16) | info->var.xres_virtual,
1420 switch (info->var.bits_per_pixel) {
1758 fb->var.nonstd = 0;
1759 fb->var.activate = FB_ACTIVATE_NOW;
1760 fb->var.accel_flags = 0;
1761 fb->var.vmode = FB_VMODE_NONINTERLACED;
1762 fb->var.bits_per_pixel = 16;
1777 fb_videomode_to_var(&fb->var, pd->def_mode);
1779 fb->var.bits_per_pixel = pd->def_bpp ? pd->def_bpp : 8;
1780 fb->var.xres_virtual = fb->var.xres;
1781 fb->var.yres_virtual = fb->var.yres;
1784 ret = fb_find_mode(&fb->var, fb, fb_mode,
1791 ret = fb_find_mode(&fb->var, fb,
1826 ret = (fb->fbops->fb_check_var)(&fb->var, fb);