Lines Matching refs:var
562 static int sh_mobile_lcdc_check_var(struct fb_var_screeninfo *var,
571 struct fb_var_screeninfo var; in sh_mobile_lcdc_display_notify() local
590 info->var.width = ch->display.width; in sh_mobile_lcdc_display_notify()
591 info->var.height = ch->display.height; in sh_mobile_lcdc_display_notify()
616 fb_videomode_to_var(&var, mode); in sh_mobile_lcdc_display_notify()
617 var.bits_per_pixel = info->var.bits_per_pixel; in sh_mobile_lcdc_display_notify()
618 var.grayscale = info->var.grayscale; in sh_mobile_lcdc_display_notify()
619 ret = sh_mobile_lcdc_check_var(&var, info); in sh_mobile_lcdc_display_notify()
699 static int sh_mobile_format_fourcc(const struct fb_var_screeninfo *var) in sh_mobile_format_fourcc() argument
701 if (var->grayscale > 1) in sh_mobile_format_fourcc()
702 return var->grayscale; in sh_mobile_format_fourcc()
704 switch (var->bits_per_pixel) { in sh_mobile_format_fourcc()
716 static int sh_mobile_format_is_fourcc(const struct fb_var_screeninfo *var) in sh_mobile_format_is_fourcc() argument
718 return var->grayscale > 1; in sh_mobile_format_is_fourcc()
816 const struct fb_var_screeninfo *var = &ch->info->var; in sh_mobile_lcdc_geometry() local
822 tmp |= (var->sync & FB_SYNC_VERT_HIGH_ACT) ? 0 : LDMT1R_VPOL; in sh_mobile_lcdc_geometry()
823 tmp |= (var->sync & FB_SYNC_HOR_HIGH_ACT) ? 0 : LDMT1R_HPOL; in sh_mobile_lcdc_geometry()
1247 static int __sh_mobile_lcdc_check_var(struct fb_var_screeninfo *var, in __sh_mobile_lcdc_check_var() argument
1250 if (var->xres > MAX_XRES || var->yres > MAX_YRES) in __sh_mobile_lcdc_check_var()
1256 if (var->xres_virtual < var->xres) in __sh_mobile_lcdc_check_var()
1257 var->xres_virtual = var->xres; in __sh_mobile_lcdc_check_var()
1258 if (var->yres_virtual < var->yres) in __sh_mobile_lcdc_check_var()
1259 var->yres_virtual = var->yres; in __sh_mobile_lcdc_check_var()
1261 if (sh_mobile_format_is_fourcc(var)) { in __sh_mobile_lcdc_check_var()
1264 format = sh_mobile_format_info(var->grayscale); in __sh_mobile_lcdc_check_var()
1267 var->bits_per_pixel = format->bpp; in __sh_mobile_lcdc_check_var()
1273 var->colorspace = V4L2_COLORSPACE_SRGB; in __sh_mobile_lcdc_check_var()
1274 else if (var->colorspace != V4L2_COLORSPACE_REC709) in __sh_mobile_lcdc_check_var()
1275 var->colorspace = V4L2_COLORSPACE_JPEG; in __sh_mobile_lcdc_check_var()
1277 if (var->bits_per_pixel <= 16) { /* RGB 565 */ in __sh_mobile_lcdc_check_var()
1278 var->bits_per_pixel = 16; in __sh_mobile_lcdc_check_var()
1279 var->red.offset = 11; in __sh_mobile_lcdc_check_var()
1280 var->red.length = 5; in __sh_mobile_lcdc_check_var()
1281 var->green.offset = 5; in __sh_mobile_lcdc_check_var()
1282 var->green.length = 6; in __sh_mobile_lcdc_check_var()
1283 var->blue.offset = 0; in __sh_mobile_lcdc_check_var()
1284 var->blue.length = 5; in __sh_mobile_lcdc_check_var()
1285 var->transp.offset = 0; in __sh_mobile_lcdc_check_var()
1286 var->transp.length = 0; in __sh_mobile_lcdc_check_var()
1287 } else if (var->bits_per_pixel <= 24) { /* RGB 888 */ in __sh_mobile_lcdc_check_var()
1288 var->bits_per_pixel = 24; in __sh_mobile_lcdc_check_var()
1289 var->red.offset = 16; in __sh_mobile_lcdc_check_var()
1290 var->red.length = 8; in __sh_mobile_lcdc_check_var()
1291 var->green.offset = 8; in __sh_mobile_lcdc_check_var()
1292 var->green.length = 8; in __sh_mobile_lcdc_check_var()
1293 var->blue.offset = 0; in __sh_mobile_lcdc_check_var()
1294 var->blue.length = 8; in __sh_mobile_lcdc_check_var()
1295 var->transp.offset = 0; in __sh_mobile_lcdc_check_var()
1296 var->transp.length = 0; in __sh_mobile_lcdc_check_var()
1297 } else if (var->bits_per_pixel <= 32) { /* RGBA 888 */ in __sh_mobile_lcdc_check_var()
1298 var->bits_per_pixel = 32; in __sh_mobile_lcdc_check_var()
1299 var->red.offset = 16; in __sh_mobile_lcdc_check_var()
1300 var->red.length = 8; in __sh_mobile_lcdc_check_var()
1301 var->green.offset = 8; in __sh_mobile_lcdc_check_var()
1302 var->green.length = 8; in __sh_mobile_lcdc_check_var()
1303 var->blue.offset = 0; in __sh_mobile_lcdc_check_var()
1304 var->blue.length = 8; in __sh_mobile_lcdc_check_var()
1305 var->transp.offset = 24; in __sh_mobile_lcdc_check_var()
1306 var->transp.length = 8; in __sh_mobile_lcdc_check_var()
1310 var->red.msb_right = 0; in __sh_mobile_lcdc_check_var()
1311 var->green.msb_right = 0; in __sh_mobile_lcdc_check_var()
1312 var->blue.msb_right = 0; in __sh_mobile_lcdc_check_var()
1313 var->transp.msb_right = 0; in __sh_mobile_lcdc_check_var()
1317 if (var->xres_virtual * var->yres_virtual * var->bits_per_pixel / 8 > in __sh_mobile_lcdc_check_var()
1506 static int sh_mobile_lcdc_overlay_pan(struct fb_var_screeninfo *var, in sh_mobile_lcdc_overlay_pan() argument
1516 y_offset = (var->yoffset * ovl->xres_virtual + var->xoffset) in sh_mobile_lcdc_overlay_pan()
1523 y_offset = var->yoffset * ovl->xres_virtual + var->xoffset; in sh_mobile_lcdc_overlay_pan()
1524 c_offset = var->yoffset / ysub * ovl->xres_virtual * 2 / xsub in sh_mobile_lcdc_overlay_pan()
1525 + var->xoffset * 2 / xsub; in sh_mobile_lcdc_overlay_pan()
1568 static int sh_mobile_lcdc_overlay_check_var(struct fb_var_screeninfo *var, in sh_mobile_lcdc_overlay_check_var() argument
1571 return __sh_mobile_lcdc_check_var(var, info); in sh_mobile_lcdc_overlay_check_var()
1579 sh_mobile_format_info(sh_mobile_format_fourcc(&info->var)); in sh_mobile_lcdc_overlay_set_par()
1581 ovl->xres = info->var.xres; in sh_mobile_lcdc_overlay_set_par()
1582 ovl->xres_virtual = info->var.xres_virtual; in sh_mobile_lcdc_overlay_set_par()
1583 ovl->yres = info->var.yres; in sh_mobile_lcdc_overlay_set_par()
1584 ovl->yres_virtual = info->var.yres_virtual; in sh_mobile_lcdc_overlay_set_par()
1587 ovl->pitch = info->var.xres_virtual; in sh_mobile_lcdc_overlay_set_par()
1589 ovl->pitch = info->var.xres_virtual * ovl->format->bpp / 8; in sh_mobile_lcdc_overlay_set_par()
1595 if (sh_mobile_format_is_fourcc(&info->var)) { in sh_mobile_lcdc_overlay_set_par()
1671 dev_name(lcdc->dev), ovl->index, info->var.xres, in sh_mobile_lcdc_overlay_fb_register()
1672 info->var.yres, info->var.bits_per_pixel); in sh_mobile_lcdc_overlay_fb_register()
1698 struct fb_var_screeninfo *var; in sh_mobile_lcdc_overlay_fb_init() local
1741 var = &info->var; in sh_mobile_lcdc_overlay_fb_init()
1742 memset(var, 0, sizeof(*var)); in sh_mobile_lcdc_overlay_fb_init()
1743 var->xres = ovl->xres; in sh_mobile_lcdc_overlay_fb_init()
1744 var->yres = ovl->yres; in sh_mobile_lcdc_overlay_fb_init()
1745 var->xres_virtual = ovl->xres_virtual; in sh_mobile_lcdc_overlay_fb_init()
1746 var->yres_virtual = ovl->yres_virtual; in sh_mobile_lcdc_overlay_fb_init()
1747 var->activate = FB_ACTIVATE_NOW; in sh_mobile_lcdc_overlay_fb_init()
1753 var->bits_per_pixel = ovl->format->bpp; in sh_mobile_lcdc_overlay_fb_init()
1755 var->grayscale = ovl->format->fourcc; in sh_mobile_lcdc_overlay_fb_init()
1757 return sh_mobile_lcdc_overlay_check_var(var, info); in sh_mobile_lcdc_overlay_fb_init()
1775 red >>= 16 - info->var.red.length; in sh_mobile_lcdc_setcolreg()
1776 green >>= 16 - info->var.green.length; in sh_mobile_lcdc_setcolreg()
1777 blue >>= 16 - info->var.blue.length; in sh_mobile_lcdc_setcolreg()
1778 transp >>= 16 - info->var.transp.length; in sh_mobile_lcdc_setcolreg()
1780 palette[regno] = (red << info->var.red.offset) | in sh_mobile_lcdc_setcolreg()
1781 (green << info->var.green.offset) | in sh_mobile_lcdc_setcolreg()
1782 (blue << info->var.blue.offset) | in sh_mobile_lcdc_setcolreg()
1783 (transp << info->var.transp.offset); in sh_mobile_lcdc_setcolreg()
1820 static int sh_mobile_lcdc_pan(struct fb_var_screeninfo *var, in sh_mobile_lcdc_pan() argument
1831 y_offset = (var->yoffset * ch->xres_virtual + var->xoffset) in sh_mobile_lcdc_pan()
1838 y_offset = var->yoffset * ch->xres_virtual + var->xoffset; in sh_mobile_lcdc_pan()
1839 c_offset = var->yoffset / ysub * ch->xres_virtual * 2 / xsub in sh_mobile_lcdc_pan()
1840 + var->xoffset * 2 / xsub; in sh_mobile_lcdc_pan()
1900 struct fb_var_screeninfo var; in sh_mobile_fb_reconfig() local
1909 fb_var_to_videomode(&mode, &info->var); in sh_mobile_fb_reconfig()
1915 var = info->var; in sh_mobile_fb_reconfig()
1916 fb_videomode_to_var(&var, &ch->display.mode); in sh_mobile_fb_reconfig()
1917 var.width = ch->display.width; in sh_mobile_fb_reconfig()
1918 var.height = ch->display.height; in sh_mobile_fb_reconfig()
1919 var.activate = FB_ACTIVATE_NOW; in sh_mobile_fb_reconfig()
1921 if (fb_set_var(info, &var) < 0) in sh_mobile_fb_reconfig()
1973 static int sh_mobile_lcdc_check_var(struct fb_var_screeninfo *var, in sh_mobile_lcdc_check_var() argument
1994 if (var->xres > mode->xres || var->yres > mode->yres) in sh_mobile_lcdc_check_var()
1997 dist = var->xres * var->yres + mode->xres * mode->yres in sh_mobile_lcdc_check_var()
1998 - 2 * min(var->xres, mode->xres) in sh_mobile_lcdc_check_var()
1999 * min(var->yres, mode->yres); in sh_mobile_lcdc_check_var()
2013 var->xres = best_xres; in sh_mobile_lcdc_check_var()
2014 var->yres = best_yres; in sh_mobile_lcdc_check_var()
2017 ret = __sh_mobile_lcdc_check_var(var, info); in sh_mobile_lcdc_check_var()
2023 p->forced_fourcc != sh_mobile_format_fourcc(var)) in sh_mobile_lcdc_check_var()
2036 ch->format = sh_mobile_format_info(sh_mobile_format_fourcc(&info->var)); in sh_mobile_lcdc_set_par()
2037 ch->colorspace = info->var.colorspace; in sh_mobile_lcdc_set_par()
2039 ch->xres = info->var.xres; in sh_mobile_lcdc_set_par()
2040 ch->xres_virtual = info->var.xres_virtual; in sh_mobile_lcdc_set_par()
2041 ch->yres = info->var.yres; in sh_mobile_lcdc_set_par()
2042 ch->yres_virtual = info->var.yres_virtual; in sh_mobile_lcdc_set_par()
2045 ch->pitch = info->var.xres_virtual; in sh_mobile_lcdc_set_par()
2047 ch->pitch = info->var.xres_virtual * ch->format->bpp / 8; in sh_mobile_lcdc_set_par()
2055 if (sh_mobile_format_is_fourcc(&info->var)) { in sh_mobile_lcdc_set_par()
2166 "mainlcd" : "sublcd", info->var.xres, info->var.yres, in sh_mobile_lcdc_channel_fb_register()
2167 info->var.bits_per_pixel); in sh_mobile_lcdc_channel_fb_register()
2196 struct fb_var_screeninfo *var; in sh_mobile_lcdc_channel_fb_init() local
2251 var = &info->var; in sh_mobile_lcdc_channel_fb_init()
2252 fb_videomode_to_var(var, modes); in sh_mobile_lcdc_channel_fb_init()
2253 var->width = ch->display.width; in sh_mobile_lcdc_channel_fb_init()
2254 var->height = ch->display.height; in sh_mobile_lcdc_channel_fb_init()
2255 var->xres_virtual = ch->xres_virtual; in sh_mobile_lcdc_channel_fb_init()
2256 var->yres_virtual = ch->yres_virtual; in sh_mobile_lcdc_channel_fb_init()
2257 var->activate = FB_ACTIVATE_NOW; in sh_mobile_lcdc_channel_fb_init()
2263 var->bits_per_pixel = ch->format->bpp; in sh_mobile_lcdc_channel_fb_init()
2265 var->grayscale = ch->format->fourcc; in sh_mobile_lcdc_channel_fb_init()
2267 ret = sh_mobile_lcdc_check_var(var, info); in sh_mobile_lcdc_channel_fb_init()