Lines Matching refs:fbi

1000 static void au1200fb_update_fbinfo(struct fb_info *fbi)  in au1200fb_update_fbinfo()  argument
1006 if (fbi->var.bits_per_pixel <= 8) { in au1200fb_update_fbinfo()
1008 fbi->fix.visual = FB_VISUAL_PSEUDOCOLOR; in au1200fb_update_fbinfo()
1009 fbi->fix.line_length = fbi->var.xres_virtual / in au1200fb_update_fbinfo()
1010 (8/fbi->var.bits_per_pixel); in au1200fb_update_fbinfo()
1013 fbi->fix.visual = FB_VISUAL_TRUECOLOR; in au1200fb_update_fbinfo()
1014 fbi->fix.line_length = fbi->var.xres_virtual * (fbi->var.bits_per_pixel / 8); in au1200fb_update_fbinfo()
1018 fbi->fix.visual = FB_VISUAL_MONO10; in au1200fb_update_fbinfo()
1019 fbi->fix.line_length = fbi->var.xres_virtual / 8; in au1200fb_update_fbinfo()
1022 fbi->screen_size = fbi->fix.line_length * fbi->var.yres_virtual; in au1200fb_update_fbinfo()
1023 print_dbg("line length: %d\n", fbi->fix.line_length); in au1200fb_update_fbinfo()
1024 print_dbg("bits_per_pixel: %d\n", fbi->var.bits_per_pixel); in au1200fb_update_fbinfo()
1035 struct fb_info *fbi) in au1200fb_fb_check_var() argument
1037 struct au1200fb_device *fbdev = fbi->par; in au1200fb_fb_check_var()
1065 pixclock = max((u32)(PICOS2KHZ(var->pixclock) * 1000), fbi->monspecs.dclkmin); in au1200fb_fb_check_var()
1066 pixclock = min3(pixclock, fbi->monspecs.dclkmax, (u32)AU1200_LCD_MAX_CLK/2); in au1200fb_fb_check_var()
1127 static int au1200fb_fb_set_par(struct fb_info *fbi) in au1200fb_fb_set_par() argument
1129 struct au1200fb_device *fbdev = fbi->par; in au1200fb_fb_set_par()
1131 au1200fb_update_fbinfo(fbi); in au1200fb_fb_set_par()
1141 unsigned blue, unsigned transp, struct fb_info *fbi) in au1200fb_fb_setcolreg() argument
1149 if (fbi->var.grayscale) { in au1200fb_fb_setcolreg()
1155 if (fbi->fix.visual == FB_VISUAL_TRUECOLOR) { in au1200fb_fb_setcolreg()
1160 palette = (u32*) fbi->pseudo_palette; in au1200fb_fb_setcolreg()
1162 red >>= (16 - fbi->var.red.length); in au1200fb_fb_setcolreg()
1163 green >>= (16 - fbi->var.green.length); in au1200fb_fb_setcolreg()
1164 blue >>= (16 - fbi->var.blue.length); in au1200fb_fb_setcolreg()
1166 value = (red << fbi->var.red.offset) | in au1200fb_fb_setcolreg()
1167 (green << fbi->var.green.offset)| in au1200fb_fb_setcolreg()
1168 (blue << fbi->var.blue.offset); in au1200fb_fb_setcolreg()
1196 static int au1200fb_fb_blank(int blank_mode, struct fb_info *fbi) in au1200fb_fb_blank() argument
1198 struct au1200fb_device *fbdev = fbi->par; in au1200fb_fb_blank()
1519 struct fb_info *fbi = fbdev->fb_info; in au1200fb_init_fbinfo() local
1522 fbi->fbops = &au1200fb_fb_ops; in au1200fb_init_fbinfo()
1530 memcpy(&fbi->monspecs, &panel->monspecs, sizeof(struct fb_monspecs)); in au1200fb_init_fbinfo()
1535 if (!fb_find_mode(&fbi->var, in au1200fb_init_fbinfo()
1536 fbi, in au1200fb_init_fbinfo()
1538 fbi->monspecs.modedb, in au1200fb_init_fbinfo()
1539 fbi->monspecs.modedb_len, in au1200fb_init_fbinfo()
1540 fbi->monspecs.modedb, in au1200fb_init_fbinfo()
1547 fbi->pseudo_palette = kcalloc(16, sizeof(u32), GFP_KERNEL); in au1200fb_init_fbinfo()
1548 if (!fbi->pseudo_palette) { in au1200fb_init_fbinfo()
1552 if (fb_alloc_cmap(&fbi->cmap, AU1200_LCD_NBR_PALETTE_ENTRIES, 0) < 0) { in au1200fb_init_fbinfo()
1555 kfree(fbi->pseudo_palette); in au1200fb_init_fbinfo()
1559 strncpy(fbi->fix.id, "AU1200", sizeof(fbi->fix.id)); in au1200fb_init_fbinfo()
1560 fbi->fix.smem_start = fbdev->fb_phys; in au1200fb_init_fbinfo()
1561 fbi->fix.smem_len = fbdev->fb_len; in au1200fb_init_fbinfo()
1562 fbi->fix.type = FB_TYPE_PACKED_PIXELS; in au1200fb_init_fbinfo()
1563 fbi->fix.xpanstep = 0; in au1200fb_init_fbinfo()
1564 fbi->fix.ypanstep = 0; in au1200fb_init_fbinfo()
1565 fbi->fix.mmio_start = 0; in au1200fb_init_fbinfo()
1566 fbi->fix.mmio_len = 0; in au1200fb_init_fbinfo()
1567 fbi->fix.accel = FB_ACCEL_NONE; in au1200fb_init_fbinfo()
1569 fbi->screen_base = (char __iomem *) fbdev->fb_mem; in au1200fb_init_fbinfo()
1571 au1200fb_update_fbinfo(fbi); in au1200fb_init_fbinfo()
1649 struct fb_info *fbi = NULL; in au1200fb_drv_probe() local
1681 fbi = framebuffer_alloc(sizeof(struct au1200fb_device), in au1200fb_drv_probe()
1683 if (!fbi) in au1200fb_drv_probe()
1686 _au1200fb_infos[plane] = fbi; in au1200fb_drv_probe()
1687 fbdev = fbi->par; in au1200fb_drv_probe()
1688 fbdev->fb_info = fbi; in au1200fb_drv_probe()
1723 ret = register_framebuffer(fbi); in au1200fb_drv_probe()
1729 au1200fb_fb_set_par(fbi); in au1200fb_drv_probe()
1733 if (fb_prepare_logo(fbi, FB_ROTATE_UR)) { in au1200fb_drv_probe()
1735 fb_set_cmap(&fbi->cmap, fbi); in au1200fb_drv_probe()
1736 fb_show_logo(fbi, FB_ROTATE_UR); in au1200fb_drv_probe()
1760 if (fbi) { in au1200fb_drv_probe()
1761 if (fbi->cmap.len != 0) in au1200fb_drv_probe()
1762 fb_dealloc_cmap(&fbi->cmap); in au1200fb_drv_probe()
1763 kfree(fbi->pseudo_palette); in au1200fb_drv_probe()
1774 struct fb_info *fbi; in au1200fb_drv_remove() local
1781 fbi = _au1200fb_infos[plane]; in au1200fb_drv_remove()
1782 fbdev = fbi->par; in au1200fb_drv_remove()
1785 unregister_framebuffer(fbi); in au1200fb_drv_remove()
1786 if (fbi->cmap.len != 0) in au1200fb_drv_remove()
1787 fb_dealloc_cmap(&fbi->cmap); in au1200fb_drv_remove()
1788 kfree(fbi->pseudo_palette); in au1200fb_drv_remove()
1790 framebuffer_release(fbi); in au1200fb_drv_remove()
1814 struct fb_info *fbi; in au1200fb_drv_resume() local
1821 fbi = _au1200fb_infos[i]; in au1200fb_drv_resume()
1822 au1200fb_fb_set_par(fbi); in au1200fb_drv_resume()