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)
56 struct fb_var_screeninfo *var = &fbi->var;
57 struct fb_fix_screeninfo *fix = &fbi->fix;
58 void __iomem *addr = fbi->screen_base;
89 static void fill_fb(struct fb_info *fbi)
91 struct fb_var_screeninfo *var = &fbi->var;
94 void __iomem *addr = fbi->screen_base;
100 DBG("fill_fb %dx%d, line_len %d bytes\n", w, h, fbi->fix.line_length);
105 draw_pixel(fbi, x, y, 0xffffff);
107 draw_pixel(fbi, x, y, 0xff);
109 draw_pixel(fbi, x, y, 0xff00);
111 draw_pixel(fbi, x, y, 0xff0000);
113 draw_pixel(fbi, x, y, 0xffff00);
116 draw_pixel(fbi, x, y, 0xffffff);
118 draw_pixel(fbi, x, y, 0xff00ff);
120 draw_pixel(fbi, x, y, 0x00ffff);
141 draw_pixel(fbi, x, y, c);
143 draw_pixel(fbi, x, y, 0);
490 static int setup_vrfb_rotation(struct fb_info *fbi)
492 struct omapfb_info *ofbi = FB2OFB(fbi);
495 struct fb_var_screeninfo *var = &fbi->var;
496 struct fb_fix_screeninfo *fix = &fbi->fix;
532 fbi->screen_base = NULL;
554 fbi->screen_base = ofbi->region->vrfb.vaddr[0];
590 void set_fb_fix(struct fb_info *fbi)
592 struct fb_fix_screeninfo *fix = &fbi->fix;
593 struct fb_var_screeninfo *var = &fbi->var;
594 struct omapfb_info *ofbi = FB2OFB(fbi);
600 fbi->screen_base = (char __iomem *)omapfb_get_region_vaddr(ofbi);
654 int check_fb_var(struct fb_info *fbi, struct fb_var_screeninfo *var)
656 struct omapfb_info *ofbi = FB2OFB(fbi);
657 struct omap_dss_device *display = fb2display(fbi);
750 static int omapfb_open(struct fb_info *fbi, int user)
755 static int omapfb_release(struct fb_info *fbi, int user)
831 int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl,
835 struct omapfb_info *ofbi = FB2OFB(fbi);
836 struct fb_var_screeninfo *var = &fbi->var;
837 struct fb_fix_screeninfo *fix = &fbi->fix;
926 int omapfb_apply_changes(struct fb_info *fbi, int init)
929 struct omapfb_info *ofbi = FB2OFB(fbi);
930 struct fb_var_screeninfo *var = &fbi->var;
938 fill_fb(fbi);
983 r = omapfb_setup_overlay(fbi, ovl, posx, posy, outw, outh);
998 static int omapfb_check_var(struct fb_var_screeninfo *var, struct fb_info *fbi)
1000 struct omapfb_info *ofbi = FB2OFB(fbi);
1003 DBG("check_var(%d)\n", FB2OFB(fbi)->id);
1007 r = check_fb_var(fbi, var);
1015 static int omapfb_set_par(struct fb_info *fbi)
1017 struct omapfb_info *ofbi = FB2OFB(fbi);
1020 DBG("set_par(%d)\n", FB2OFB(fbi)->id);
1024 set_fb_fix(fbi);
1026 r = setup_vrfb_rotation(fbi);
1030 r = omapfb_apply_changes(fbi, 0);
1039 struct fb_info *fbi)
1041 struct omapfb_info *ofbi = FB2OFB(fbi);
1045 DBG("pan_display(%d)\n", FB2OFB(fbi)->id);
1047 if (var->xoffset == fbi->var.xoffset &&
1048 var->yoffset == fbi->var.yoffset)
1051 new_var = fbi->var;
1055 fbi->var = new_var;
1059 r = omapfb_apply_changes(fbi, 0);
1089 static int omapfb_mmap(struct fb_info *fbi, struct vm_area_struct *vma)
1091 struct omapfb_info *ofbi = FB2OFB(fbi);
1092 struct fb_fix_screeninfo *fix = &fbi->fix;
1133 static int _setcolreg(struct fb_info *fbi, u_int regno, u_int red, u_int green,
1136 /*struct omapfb_info *ofbi = FB2OFB(fbi);*/
1138 struct fb_var_screeninfo *var = &fbi->var;
1172 ((u32 *)(fbi->pseudo_palette))[regno] = pal;
1215 static int omapfb_blank(int blank, struct fb_info *fbi)
1217 struct omapfb_info *ofbi = FB2OFB(fbi);
1219 struct omap_dss_device *display = fb2display(fbi);
1298 static void omapfb_free_fbmem(struct fb_info *fbi)
1300 struct omapfb_info *ofbi = FB2OFB(fbi);
1331 static void clear_fb_info(struct fb_info *fbi)
1333 memset(&fbi->var, 0, sizeof(fbi->var));
1334 memset(&fbi->fix, 0, sizeof(fbi->fix));
1335 strscpy(fbi->fix.id, MODULE_NAME, sizeof(fbi->fix.id));
1345 struct fb_info *fbi = fbdev->fbs[i];
1346 omapfb_free_fbmem(fbi);
1347 clear_fb_info(fbi);
1353 static int omapfb_alloc_fbmem(struct fb_info *fbi, unsigned long size,
1356 struct omapfb_info *ofbi = FB2OFB(fbi);
1417 static int omapfb_alloc_fbmem_display(struct fb_info *fbi, unsigned long size,
1420 struct omapfb_info *ofbi = FB2OFB(fbi);
1425 display = fb2display(fbi);
1461 return omapfb_alloc_fbmem(fbi, size, paddr);
1567 static void omapfb_clear_fb(struct fb_info *fbi)
1572 .width = fbi->var.xres_virtual,
1573 .height = fbi->var.yres_virtual,
1578 cfb_fillrect(fbi, &rect);
1581 int omapfb_realloc_fbmem(struct fb_info *fbi, unsigned long size, int type)
1583 struct omapfb_info *ofbi = FB2OFB(fbi);
1599 omapfb_free_fbmem(fbi);
1602 clear_fb_info(fbi);
1606 r = omapfb_alloc_fbmem(fbi, size, 0);
1610 omapfb_alloc_fbmem(fbi, old_size, old_paddr);
1613 clear_fb_info(fbi);
1623 r = omapfb_fb_init(fbdev, fbi);
1628 r = omapfb_apply_changes(fbi, 1);
1635 memcpy(&new_var, &fbi->var, sizeof(new_var));
1636 r = check_fb_var(fbi, &new_var);
1639 memcpy(&fbi->var, &new_var, sizeof(fbi->var));
1640 set_fb_fix(fbi);
1641 r = setup_vrfb_rotation(fbi);
1646 omapfb_clear_fb(fbi);
1650 omapfb_free_fbmem(fbi);
1651 clear_fb_info(fbi);
1728 static int omapfb_fb_init(struct omapfb2_device *fbdev, struct fb_info *fbi)
1730 struct fb_var_screeninfo *var = &fbi->var;
1731 struct omap_dss_device *display = fb2display(fbi);
1732 struct omapfb_info *ofbi = FB2OFB(fbi);
1735 fbi->fbops = &omapfb_ops;
1736 fbi->pseudo_palette = fbdev->pseudo_palette;
1739 clear_fb_info(fbi);
1790 r = check_fb_var(fbi, var);
1794 set_fb_fix(fbi);
1795 r = setup_vrfb_rotation(fbi);
1799 r = fb_alloc_cmap(&fbi->cmap, 256, 0);
1807 static void fbinfo_cleanup(struct omapfb2_device *fbdev, struct fb_info *fbi)
1809 fb_dealloc_cmap(&fbi->cmap);
1874 struct fb_info *fbi;
1877 fbi = framebuffer_alloc(sizeof(struct omapfb_info),
1879 if (!fbi)
1882 clear_fb_info(fbi);
1884 fbdev->fbs[i] = fbi;
1886 ofbi = FB2OFB(fbi);
1923 struct fb_info *fbi = fbdev->fbs[i];
1924 struct omapfb_info *ofbi = FB2OFB(fbi);
1927 r = omapfb_fb_init(fbdev, fbi);
1937 struct fb_info *fbi = fbdev->fbs[i];
1938 struct omapfb_info *ofbi = FB2OFB(fbi);
1943 omapfb_clear_fb(fbi);
1960 struct fb_info *fbi = fbdev->fbs[i];
1961 struct omapfb_info *ofbi = FB2OFB(fbi);
1964 r = omapfb_apply_changes(fbi, 1);
2001 struct fb_info *fbi;
2022 fbi = NULL;
2026 fbi = kzalloc(sizeof(*fbi), GFP_KERNEL);
2027 if (fbi == NULL) {
2044 fbi->fbops = fbops;
2046 r = fb_find_mode(var, fbi, mode_str, NULL, 0, NULL, 24);
2091 kfree(fbi);