Lines Matching refs:fbi
49 static int omapfb_fb_init(struct omapfb2_device *fbdev, struct fb_info *fbi);
54 static void draw_pixel(struct fb_info *fbi, int x, int y, unsigned color) in draw_pixel() argument
56 struct fb_var_screeninfo *var = &fbi->var; in draw_pixel()
57 struct fb_fix_screeninfo *fix = &fbi->fix; in draw_pixel()
58 void __iomem *addr = fbi->screen_base; in draw_pixel()
89 static void fill_fb(struct fb_info *fbi) in fill_fb() argument
91 struct fb_var_screeninfo *var = &fbi->var; in fill_fb()
94 void __iomem *addr = fbi->screen_base; in fill_fb()
100 DBG("fill_fb %dx%d, line_len %d bytes\n", w, h, fbi->fix.line_length); in fill_fb()
105 draw_pixel(fbi, x, y, 0xffffff); in fill_fb()
107 draw_pixel(fbi, x, y, 0xff); in fill_fb()
109 draw_pixel(fbi, x, y, 0xff00); in fill_fb()
111 draw_pixel(fbi, x, y, 0xff0000); in fill_fb()
113 draw_pixel(fbi, x, y, 0xffff00); in fill_fb()
116 draw_pixel(fbi, x, y, 0xffffff); in fill_fb()
118 draw_pixel(fbi, x, y, 0xff00ff); in fill_fb()
120 draw_pixel(fbi, x, y, 0x00ffff); in fill_fb()
141 draw_pixel(fbi, x, y, c); in fill_fb()
143 draw_pixel(fbi, x, y, 0); in fill_fb()
490 static int setup_vrfb_rotation(struct fb_info *fbi) in setup_vrfb_rotation() argument
492 struct omapfb_info *ofbi = FB2OFB(fbi); in setup_vrfb_rotation()
495 struct fb_var_screeninfo *var = &fbi->var; in setup_vrfb_rotation()
496 struct fb_fix_screeninfo *fix = &fbi->fix; in setup_vrfb_rotation()
532 fbi->screen_base = NULL; in setup_vrfb_rotation()
554 fbi->screen_base = ofbi->region->vrfb.vaddr[0]; in setup_vrfb_rotation()
590 void set_fb_fix(struct fb_info *fbi) in set_fb_fix() argument
592 struct fb_fix_screeninfo *fix = &fbi->fix; in set_fb_fix()
593 struct fb_var_screeninfo *var = &fbi->var; in set_fb_fix()
594 struct omapfb_info *ofbi = FB2OFB(fbi); in set_fb_fix()
600 fbi->screen_base = (char __iomem *)omapfb_get_region_vaddr(ofbi); in set_fb_fix()
654 int check_fb_var(struct fb_info *fbi, struct fb_var_screeninfo *var) in check_fb_var() argument
656 struct omapfb_info *ofbi = FB2OFB(fbi); in check_fb_var()
657 struct omap_dss_device *display = fb2display(fbi); in check_fb_var()
750 static int omapfb_open(struct fb_info *fbi, int user) in omapfb_open() argument
755 static int omapfb_release(struct fb_info *fbi, int user) in omapfb_release() argument
831 int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl, in omapfb_setup_overlay() argument
835 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_setup_overlay()
836 struct fb_var_screeninfo *var = &fbi->var; in omapfb_setup_overlay()
837 struct fb_fix_screeninfo *fix = &fbi->fix; in omapfb_setup_overlay()
926 int omapfb_apply_changes(struct fb_info *fbi, int init) in omapfb_apply_changes() argument
929 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_apply_changes()
930 struct fb_var_screeninfo *var = &fbi->var; in omapfb_apply_changes()
938 fill_fb(fbi); in omapfb_apply_changes()
983 r = omapfb_setup_overlay(fbi, ovl, posx, posy, outw, outh); in omapfb_apply_changes()
998 static int omapfb_check_var(struct fb_var_screeninfo *var, struct fb_info *fbi) in omapfb_check_var() argument
1000 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_check_var()
1003 DBG("check_var(%d)\n", FB2OFB(fbi)->id); in omapfb_check_var()
1007 r = check_fb_var(fbi, var); in omapfb_check_var()
1015 static int omapfb_set_par(struct fb_info *fbi) in omapfb_set_par() argument
1017 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_set_par()
1020 DBG("set_par(%d)\n", FB2OFB(fbi)->id); in omapfb_set_par()
1024 set_fb_fix(fbi); in omapfb_set_par()
1026 r = setup_vrfb_rotation(fbi); in omapfb_set_par()
1030 r = omapfb_apply_changes(fbi, 0); in omapfb_set_par()
1039 struct fb_info *fbi) in omapfb_pan_display() argument
1041 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_pan_display()
1045 DBG("pan_display(%d)\n", FB2OFB(fbi)->id); in omapfb_pan_display()
1047 if (var->xoffset == fbi->var.xoffset && in omapfb_pan_display()
1048 var->yoffset == fbi->var.yoffset) in omapfb_pan_display()
1051 new_var = fbi->var; in omapfb_pan_display()
1055 fbi->var = new_var; in omapfb_pan_display()
1059 r = omapfb_apply_changes(fbi, 0); in omapfb_pan_display()
1089 static int omapfb_mmap(struct fb_info *fbi, struct vm_area_struct *vma) in omapfb_mmap() argument
1091 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_mmap()
1092 struct fb_fix_screeninfo *fix = &fbi->fix; in omapfb_mmap()
1131 static int _setcolreg(struct fb_info *fbi, u_int regno, u_int red, u_int green, in _setcolreg() argument
1136 struct fb_var_screeninfo *var = &fbi->var; in _setcolreg()
1170 ((u32 *)(fbi->pseudo_palette))[regno] = pal; in _setcolreg()
1213 static int omapfb_blank(int blank, struct fb_info *fbi) in omapfb_blank() argument
1215 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_blank()
1217 struct omap_dss_device *display = fb2display(fbi); in omapfb_blank()
1297 static void omapfb_free_fbmem(struct fb_info *fbi) in omapfb_free_fbmem() argument
1299 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_free_fbmem()
1330 static void clear_fb_info(struct fb_info *fbi) in clear_fb_info() argument
1332 memset(&fbi->var, 0, sizeof(fbi->var)); in clear_fb_info()
1333 memset(&fbi->fix, 0, sizeof(fbi->fix)); in clear_fb_info()
1334 strscpy(fbi->fix.id, MODULE_NAME, sizeof(fbi->fix.id)); in clear_fb_info()
1344 struct fb_info *fbi = fbdev->fbs[i]; in omapfb_free_all_fbmem() local
1345 omapfb_free_fbmem(fbi); in omapfb_free_all_fbmem()
1346 clear_fb_info(fbi); in omapfb_free_all_fbmem()
1352 static int omapfb_alloc_fbmem(struct fb_info *fbi, unsigned long size, in omapfb_alloc_fbmem() argument
1355 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_alloc_fbmem()
1416 static int omapfb_alloc_fbmem_display(struct fb_info *fbi, unsigned long size, in omapfb_alloc_fbmem_display() argument
1419 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_alloc_fbmem_display()
1424 display = fb2display(fbi); in omapfb_alloc_fbmem_display()
1460 return omapfb_alloc_fbmem(fbi, size, paddr); in omapfb_alloc_fbmem_display()
1566 static void omapfb_clear_fb(struct fb_info *fbi) in omapfb_clear_fb() argument
1571 .width = fbi->var.xres_virtual, in omapfb_clear_fb()
1572 .height = fbi->var.yres_virtual, in omapfb_clear_fb()
1577 cfb_fillrect(fbi, &rect); in omapfb_clear_fb()
1580 int omapfb_realloc_fbmem(struct fb_info *fbi, unsigned long size, int type) in omapfb_realloc_fbmem() argument
1582 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_realloc_fbmem()
1598 omapfb_free_fbmem(fbi); in omapfb_realloc_fbmem()
1601 clear_fb_info(fbi); in omapfb_realloc_fbmem()
1605 r = omapfb_alloc_fbmem(fbi, size, 0); in omapfb_realloc_fbmem()
1609 omapfb_alloc_fbmem(fbi, old_size, old_paddr); in omapfb_realloc_fbmem()
1612 clear_fb_info(fbi); in omapfb_realloc_fbmem()
1622 r = omapfb_fb_init(fbdev, fbi); in omapfb_realloc_fbmem()
1627 r = omapfb_apply_changes(fbi, 1); in omapfb_realloc_fbmem()
1634 memcpy(&new_var, &fbi->var, sizeof(new_var)); in omapfb_realloc_fbmem()
1635 r = check_fb_var(fbi, &new_var); in omapfb_realloc_fbmem()
1638 memcpy(&fbi->var, &new_var, sizeof(fbi->var)); in omapfb_realloc_fbmem()
1639 set_fb_fix(fbi); in omapfb_realloc_fbmem()
1640 r = setup_vrfb_rotation(fbi); in omapfb_realloc_fbmem()
1645 omapfb_clear_fb(fbi); in omapfb_realloc_fbmem()
1649 omapfb_free_fbmem(fbi); in omapfb_realloc_fbmem()
1650 clear_fb_info(fbi); in omapfb_realloc_fbmem()
1727 static int omapfb_fb_init(struct omapfb2_device *fbdev, struct fb_info *fbi) in omapfb_fb_init() argument
1729 struct fb_var_screeninfo *var = &fbi->var; in omapfb_fb_init()
1730 struct omap_dss_device *display = fb2display(fbi); in omapfb_fb_init()
1731 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_fb_init()
1734 fbi->fbops = &omapfb_ops; in omapfb_fb_init()
1735 fbi->flags = FBINFO_FLAG_DEFAULT; in omapfb_fb_init()
1736 fbi->pseudo_palette = fbdev->pseudo_palette; in omapfb_fb_init()
1739 clear_fb_info(fbi); in omapfb_fb_init()
1790 r = check_fb_var(fbi, var); in omapfb_fb_init()
1794 set_fb_fix(fbi); in omapfb_fb_init()
1795 r = setup_vrfb_rotation(fbi); in omapfb_fb_init()
1799 r = fb_alloc_cmap(&fbi->cmap, 256, 0); in omapfb_fb_init()
1807 static void fbinfo_cleanup(struct omapfb2_device *fbdev, struct fb_info *fbi) in fbinfo_cleanup() argument
1809 fb_dealloc_cmap(&fbi->cmap); in fbinfo_cleanup()
1874 struct fb_info *fbi; in omapfb_create_framebuffers() local
1877 fbi = framebuffer_alloc(sizeof(struct omapfb_info), in omapfb_create_framebuffers()
1879 if (!fbi) in omapfb_create_framebuffers()
1882 clear_fb_info(fbi); in omapfb_create_framebuffers()
1884 fbdev->fbs[i] = fbi; in omapfb_create_framebuffers()
1886 ofbi = FB2OFB(fbi); in omapfb_create_framebuffers()
1923 struct fb_info *fbi = fbdev->fbs[i]; in omapfb_create_framebuffers() local
1924 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_create_framebuffers()
1927 r = omapfb_fb_init(fbdev, fbi); in omapfb_create_framebuffers()
1937 struct fb_info *fbi = fbdev->fbs[i]; in omapfb_create_framebuffers() local
1938 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_create_framebuffers()
1943 omapfb_clear_fb(fbi); in omapfb_create_framebuffers()
1960 struct fb_info *fbi = fbdev->fbs[i]; in omapfb_create_framebuffers() local
1961 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_create_framebuffers()
1964 r = omapfb_apply_changes(fbi, 1); in omapfb_create_framebuffers()
2001 struct fb_info *fbi; in omapfb_mode_to_timings() local
2022 fbi = NULL; in omapfb_mode_to_timings()
2026 fbi = kzalloc(sizeof(*fbi), GFP_KERNEL); in omapfb_mode_to_timings()
2027 if (fbi == NULL) { in omapfb_mode_to_timings()
2044 fbi->fbops = fbops; in omapfb_mode_to_timings()
2046 r = fb_find_mode(var, fbi, mode_str, NULL, 0, NULL, 24); in omapfb_mode_to_timings()
2091 kfree(fbi); in omapfb_mode_to_timings()