Lines Matching refs:fbi
60 static int omapfb_fb_init(struct omapfb2_device *fbdev, struct fb_info *fbi);
65 static void draw_pixel(struct fb_info *fbi, int x, int y, unsigned color) in draw_pixel() argument
67 struct fb_var_screeninfo *var = &fbi->var; in draw_pixel()
68 struct fb_fix_screeninfo *fix = &fbi->fix; in draw_pixel()
69 void __iomem *addr = fbi->screen_base; in draw_pixel()
100 static void fill_fb(struct fb_info *fbi) in fill_fb() argument
102 struct fb_var_screeninfo *var = &fbi->var; in fill_fb()
105 void __iomem *addr = fbi->screen_base; in fill_fb()
111 DBG("fill_fb %dx%d, line_len %d bytes\n", w, h, fbi->fix.line_length); in fill_fb()
116 draw_pixel(fbi, x, y, 0xffffff); in fill_fb()
118 draw_pixel(fbi, x, y, 0xff); in fill_fb()
120 draw_pixel(fbi, x, y, 0xff00); in fill_fb()
122 draw_pixel(fbi, x, y, 0xff0000); in fill_fb()
124 draw_pixel(fbi, x, y, 0xffff00); in fill_fb()
127 draw_pixel(fbi, x, y, 0xffffff); in fill_fb()
129 draw_pixel(fbi, x, y, 0xff00ff); in fill_fb()
131 draw_pixel(fbi, x, y, 0x00ffff); in fill_fb()
152 draw_pixel(fbi, x, y, c); in fill_fb()
154 draw_pixel(fbi, x, y, 0); in fill_fb()
501 static int setup_vrfb_rotation(struct fb_info *fbi) in setup_vrfb_rotation() argument
503 struct omapfb_info *ofbi = FB2OFB(fbi); in setup_vrfb_rotation()
506 struct fb_var_screeninfo *var = &fbi->var; in setup_vrfb_rotation()
507 struct fb_fix_screeninfo *fix = &fbi->fix; in setup_vrfb_rotation()
543 fbi->screen_base = NULL; in setup_vrfb_rotation()
565 fbi->screen_base = ofbi->region->vrfb.vaddr[0]; in setup_vrfb_rotation()
601 void set_fb_fix(struct fb_info *fbi) in set_fb_fix() argument
603 struct fb_fix_screeninfo *fix = &fbi->fix; in set_fb_fix()
604 struct fb_var_screeninfo *var = &fbi->var; in set_fb_fix()
605 struct omapfb_info *ofbi = FB2OFB(fbi); in set_fb_fix()
611 fbi->screen_base = (char __iomem *)omapfb_get_region_vaddr(ofbi); in set_fb_fix()
665 int check_fb_var(struct fb_info *fbi, struct fb_var_screeninfo *var) in check_fb_var() argument
667 struct omapfb_info *ofbi = FB2OFB(fbi); in check_fb_var()
668 struct omap_dss_device *display = fb2display(fbi); in check_fb_var()
761 static int omapfb_open(struct fb_info *fbi, int user) in omapfb_open() argument
766 static int omapfb_release(struct fb_info *fbi, int user) in omapfb_release() argument
842 int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl, in omapfb_setup_overlay() argument
846 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_setup_overlay()
847 struct fb_var_screeninfo *var = &fbi->var; in omapfb_setup_overlay()
848 struct fb_fix_screeninfo *fix = &fbi->fix; in omapfb_setup_overlay()
936 int omapfb_apply_changes(struct fb_info *fbi, int init) in omapfb_apply_changes() argument
939 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_apply_changes()
940 struct fb_var_screeninfo *var = &fbi->var; in omapfb_apply_changes()
948 fill_fb(fbi); in omapfb_apply_changes()
993 r = omapfb_setup_overlay(fbi, ovl, posx, posy, outw, outh); in omapfb_apply_changes()
1008 static int omapfb_check_var(struct fb_var_screeninfo *var, struct fb_info *fbi) in omapfb_check_var() argument
1010 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_check_var()
1013 DBG("check_var(%d)\n", FB2OFB(fbi)->id); in omapfb_check_var()
1017 r = check_fb_var(fbi, var); in omapfb_check_var()
1025 static int omapfb_set_par(struct fb_info *fbi) in omapfb_set_par() argument
1027 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_set_par()
1030 DBG("set_par(%d)\n", FB2OFB(fbi)->id); in omapfb_set_par()
1034 set_fb_fix(fbi); in omapfb_set_par()
1036 r = setup_vrfb_rotation(fbi); in omapfb_set_par()
1040 r = omapfb_apply_changes(fbi, 0); in omapfb_set_par()
1049 struct fb_info *fbi) in omapfb_pan_display() argument
1051 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_pan_display()
1055 DBG("pan_display(%d)\n", FB2OFB(fbi)->id); in omapfb_pan_display()
1057 if (var->xoffset == fbi->var.xoffset && in omapfb_pan_display()
1058 var->yoffset == fbi->var.yoffset) in omapfb_pan_display()
1061 new_var = fbi->var; in omapfb_pan_display()
1065 fbi->var = new_var; in omapfb_pan_display()
1069 r = omapfb_apply_changes(fbi, 0); in omapfb_pan_display()
1099 static int omapfb_mmap(struct fb_info *fbi, struct vm_area_struct *vma) in omapfb_mmap() argument
1101 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_mmap()
1102 struct fb_fix_screeninfo *fix = &fbi->fix; in omapfb_mmap()
1141 static int _setcolreg(struct fb_info *fbi, u_int regno, u_int red, u_int green, in _setcolreg() argument
1146 struct fb_var_screeninfo *var = &fbi->var; in _setcolreg()
1184 ((u32 *)(fbi->pseudo_palette))[regno] = pal; in _setcolreg()
1227 static int omapfb_blank(int blank, struct fb_info *fbi) in omapfb_blank() argument
1229 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_blank()
1231 struct omap_dss_device *display = fb2display(fbi); in omapfb_blank()
1311 static void omapfb_free_fbmem(struct fb_info *fbi) in omapfb_free_fbmem() argument
1313 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_free_fbmem()
1344 static void clear_fb_info(struct fb_info *fbi) in clear_fb_info() argument
1346 memset(&fbi->var, 0, sizeof(fbi->var)); in clear_fb_info()
1347 memset(&fbi->fix, 0, sizeof(fbi->fix)); in clear_fb_info()
1348 strlcpy(fbi->fix.id, MODULE_NAME, sizeof(fbi->fix.id)); in clear_fb_info()
1358 struct fb_info *fbi = fbdev->fbs[i]; in omapfb_free_all_fbmem() local
1359 omapfb_free_fbmem(fbi); in omapfb_free_all_fbmem()
1360 clear_fb_info(fbi); in omapfb_free_all_fbmem()
1366 static int omapfb_alloc_fbmem(struct fb_info *fbi, unsigned long size, in omapfb_alloc_fbmem() argument
1369 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_alloc_fbmem()
1430 static int omapfb_alloc_fbmem_display(struct fb_info *fbi, unsigned long size, in omapfb_alloc_fbmem_display() argument
1433 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_alloc_fbmem_display()
1438 display = fb2display(fbi); in omapfb_alloc_fbmem_display()
1474 return omapfb_alloc_fbmem(fbi, size, paddr); in omapfb_alloc_fbmem_display()
1580 static void omapfb_clear_fb(struct fb_info *fbi) in omapfb_clear_fb() argument
1585 .width = fbi->var.xres_virtual, in omapfb_clear_fb()
1586 .height = fbi->var.yres_virtual, in omapfb_clear_fb()
1591 cfb_fillrect(fbi, &rect); in omapfb_clear_fb()
1594 int omapfb_realloc_fbmem(struct fb_info *fbi, unsigned long size, int type) in omapfb_realloc_fbmem() argument
1596 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_realloc_fbmem()
1612 omapfb_free_fbmem(fbi); in omapfb_realloc_fbmem()
1615 clear_fb_info(fbi); in omapfb_realloc_fbmem()
1619 r = omapfb_alloc_fbmem(fbi, size, 0); in omapfb_realloc_fbmem()
1623 omapfb_alloc_fbmem(fbi, old_size, old_paddr); in omapfb_realloc_fbmem()
1626 clear_fb_info(fbi); in omapfb_realloc_fbmem()
1636 r = omapfb_fb_init(fbdev, fbi); in omapfb_realloc_fbmem()
1641 r = omapfb_apply_changes(fbi, 1); in omapfb_realloc_fbmem()
1648 memcpy(&new_var, &fbi->var, sizeof(new_var)); in omapfb_realloc_fbmem()
1649 r = check_fb_var(fbi, &new_var); in omapfb_realloc_fbmem()
1652 memcpy(&fbi->var, &new_var, sizeof(fbi->var)); in omapfb_realloc_fbmem()
1653 set_fb_fix(fbi); in omapfb_realloc_fbmem()
1654 r = setup_vrfb_rotation(fbi); in omapfb_realloc_fbmem()
1659 omapfb_clear_fb(fbi); in omapfb_realloc_fbmem()
1663 omapfb_free_fbmem(fbi); in omapfb_realloc_fbmem()
1664 clear_fb_info(fbi); in omapfb_realloc_fbmem()
1741 static int omapfb_fb_init(struct omapfb2_device *fbdev, struct fb_info *fbi) in omapfb_fb_init() argument
1743 struct fb_var_screeninfo *var = &fbi->var; in omapfb_fb_init()
1744 struct omap_dss_device *display = fb2display(fbi); in omapfb_fb_init()
1745 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_fb_init()
1748 fbi->fbops = &omapfb_ops; in omapfb_fb_init()
1749 fbi->flags = FBINFO_FLAG_DEFAULT; in omapfb_fb_init()
1750 fbi->pseudo_palette = fbdev->pseudo_palette; in omapfb_fb_init()
1753 clear_fb_info(fbi); in omapfb_fb_init()
1804 r = check_fb_var(fbi, var); in omapfb_fb_init()
1808 set_fb_fix(fbi); in omapfb_fb_init()
1809 r = setup_vrfb_rotation(fbi); in omapfb_fb_init()
1813 r = fb_alloc_cmap(&fbi->cmap, 256, 0); in omapfb_fb_init()
1821 static void fbinfo_cleanup(struct omapfb2_device *fbdev, struct fb_info *fbi) in fbinfo_cleanup() argument
1823 fb_dealloc_cmap(&fbi->cmap); in fbinfo_cleanup()
1889 struct fb_info *fbi; in omapfb_create_framebuffers() local
1892 fbi = framebuffer_alloc(sizeof(struct omapfb_info), in omapfb_create_framebuffers()
1895 if (fbi == NULL) { in omapfb_create_framebuffers()
1901 clear_fb_info(fbi); in omapfb_create_framebuffers()
1903 fbdev->fbs[i] = fbi; in omapfb_create_framebuffers()
1905 ofbi = FB2OFB(fbi); in omapfb_create_framebuffers()
1942 struct fb_info *fbi = fbdev->fbs[i]; in omapfb_create_framebuffers() local
1943 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_create_framebuffers()
1946 r = omapfb_fb_init(fbdev, fbi); in omapfb_create_framebuffers()
1956 struct fb_info *fbi = fbdev->fbs[i]; in omapfb_create_framebuffers() local
1957 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_create_framebuffers()
1962 omapfb_clear_fb(fbi); in omapfb_create_framebuffers()
1979 struct fb_info *fbi = fbdev->fbs[i]; in omapfb_create_framebuffers() local
1980 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_create_framebuffers()
1983 r = omapfb_apply_changes(fbi, 1); in omapfb_create_framebuffers()
2020 struct fb_info *fbi; in omapfb_mode_to_timings() local
2041 fbi = NULL; in omapfb_mode_to_timings()
2045 fbi = kzalloc(sizeof(*fbi), GFP_KERNEL); in omapfb_mode_to_timings()
2046 if (fbi == NULL) { in omapfb_mode_to_timings()
2063 fbi->fbops = fbops; in omapfb_mode_to_timings()
2065 r = fb_find_mode(var, fbi, mode_str, NULL, 0, NULL, 24); in omapfb_mode_to_timings()
2110 kfree(fbi); in omapfb_mode_to_timings()