Lines Matching refs:fbi
111 struct fb_info *fbi) in mb862xxfb_check_var() argument
115 if (fbi->dev) in mb862xxfb_check_var()
116 dev_dbg(fbi->dev, "%s\n", __func__); in mb862xxfb_check_var()
145 if (d_pitch(&fbi->var) % GC_L0M_L0W_UNIT) { in mb862xxfb_check_var()
151 r = d_pitch(&fbi->var) % GC_L0M_L0W_UNIT; in mb862xxfb_check_var()
154 if (d_pitch(&fbi->var) % GC_L0M_L0W_UNIT) in mb862xxfb_check_var()
205 static int mb862xxfb_set_par(struct fb_info *fbi) in mb862xxfb_set_par() argument
207 struct mb862xxfb_par *par = fbi->par; in mb862xxfb_set_par()
212 mb862xxfb_init_accel(fbi, &mb862xxfb_ops, fbi->var.xres); in mb862xxfb_set_par()
223 sc = par->refclk / (1000000 / fbi->var.pixclock) - 1; in mb862xxfb_set_par()
231 reg = pack(d_pitch(&fbi->var) / GC_L0M_L0W_UNIT, in mb862xxfb_set_par()
232 (fbi->var.yres - 1)); in mb862xxfb_set_par()
233 if (fbi->var.bits_per_pixel == 16) in mb862xxfb_set_par()
237 if (fbi->var.bits_per_pixel == 32) { in mb862xxfb_set_par()
242 reg = pack(fbi->var.yres - 1, fbi->var.xres); in mb862xxfb_set_par()
256 reg = pack(fbi->var.xres - 1, fbi->var.xres - 1); in mb862xxfb_set_par()
258 reg = pack((fbi->var.yres - 1), vsp(&fbi->var)); in mb862xxfb_set_par()
260 reg = ((fbi->var.vsync_len - 1) << 24) | in mb862xxfb_set_par()
261 pack((fbi->var.hsync_len - 1), hsp(&fbi->var)); in mb862xxfb_set_par()
263 outreg(disp, GC_HTP, pack(h_total(&fbi->var) - 1, 0)); in mb862xxfb_set_par()
264 outreg(disp, GC_VTR, pack(v_total(&fbi->var) - 1, 0)); in mb862xxfb_set_par()
288 static int mb862xxfb_blank(int mode, struct fb_info *fbi) in mb862xxfb_blank() argument
290 struct mb862xxfb_par *par = fbi->par; in mb862xxfb_blank()
293 dev_dbg(fbi->dev, "blank mode=%d\n", mode); in mb862xxfb_blank()
315 static int mb862xxfb_ioctl(struct fb_info *fbi, unsigned int cmd, in mb862xxfb_ioctl() argument
318 struct mb862xxfb_par *par = fbi->par; in mb862xxfb_ioctl()
423 static int mb862xxfb_init_fbinfo(struct fb_info *fbi) in mb862xxfb_init_fbinfo() argument
425 struct mb862xxfb_par *par = fbi->par; in mb862xxfb_init_fbinfo()
430 fbi->fbops = &mb862xxfb_ops; in mb862xxfb_init_fbinfo()
431 fbi->pseudo_palette = par->pseudo_palette; in mb862xxfb_init_fbinfo()
432 fbi->screen_base = par->fb_base; in mb862xxfb_init_fbinfo()
433 fbi->screen_size = par->mapped_vram; in mb862xxfb_init_fbinfo()
435 strcpy(fbi->fix.id, DRV_NAME); in mb862xxfb_init_fbinfo()
436 fbi->fix.smem_start = (unsigned long)par->fb_base_phys; in mb862xxfb_init_fbinfo()
437 fbi->fix.mmio_start = (unsigned long)par->mmio_base_phys; in mb862xxfb_init_fbinfo()
438 fbi->fix.mmio_len = par->mmio_len; in mb862xxfb_init_fbinfo()
439 fbi->fix.accel = FB_ACCEL_NONE; in mb862xxfb_init_fbinfo()
440 fbi->fix.type = FB_TYPE_PACKED_PIXELS; in mb862xxfb_init_fbinfo()
441 fbi->fix.type_aux = 0; in mb862xxfb_init_fbinfo()
442 fbi->fix.xpanstep = 1; in mb862xxfb_init_fbinfo()
443 fbi->fix.ypanstep = 1; in mb862xxfb_init_fbinfo()
444 fbi->fix.ywrapstep = 0; in mb862xxfb_init_fbinfo()
453 fbi->var.pixclock = (sc * 1000000) / par->refclk; in mb862xxfb_init_fbinfo()
454 fbi->var.xres = (inreg(disp, GC_HDB_HDP) & 0x0fff) + 1; in mb862xxfb_init_fbinfo()
456 fbi->var.yres = ((reg >> 16) & 0x0fff) + 1; in mb862xxfb_init_fbinfo()
458 fbi->var.xres_virtual = fbi->var.xres; in mb862xxfb_init_fbinfo()
459 fbi->var.yres_virtual = fbi->var.yres; in mb862xxfb_init_fbinfo()
462 fbi->var.bits_per_pixel = 32; in mb862xxfb_init_fbinfo()
466 fbi->var.bits_per_pixel = 16; in mb862xxfb_init_fbinfo()
468 fbi->var.bits_per_pixel = 8; in mb862xxfb_init_fbinfo()
471 fbi->var.hsync_len = ((reg & 0xff0000) >> 16) + 1; in mb862xxfb_init_fbinfo()
472 fbi->var.vsync_len = ((reg & 0x3f000000) >> 24) + 1; in mb862xxfb_init_fbinfo()
475 fbi->var.right_margin = hsp - fbi->var.xres; in mb862xxfb_init_fbinfo()
476 fbi->var.left_margin = ht - hsp - fbi->var.hsync_len; in mb862xxfb_init_fbinfo()
478 fbi->var.lower_margin = vsp - fbi->var.yres; in mb862xxfb_init_fbinfo()
479 fbi->var.upper_margin = vt - vsp - fbi->var.vsync_len; in mb862xxfb_init_fbinfo()
482 fb_videomode_to_var(&fbi->var, (struct fb_videomode *)mode); in mb862xxfb_init_fbinfo()
483 fbi->var.bits_per_pixel = mode->def_bpp ? mode->def_bpp : 8; in mb862xxfb_init_fbinfo()
487 ret = fb_find_mode(&fbi->var, fbi, "640x480-16@60", in mb862xxfb_init_fbinfo()
496 fbi->var.xoffset = 0; in mb862xxfb_init_fbinfo()
497 fbi->var.yoffset = 0; in mb862xxfb_init_fbinfo()
498 fbi->var.grayscale = 0; in mb862xxfb_init_fbinfo()
499 fbi->var.nonstd = 0; in mb862xxfb_init_fbinfo()
500 fbi->var.height = -1; in mb862xxfb_init_fbinfo()
501 fbi->var.width = -1; in mb862xxfb_init_fbinfo()
502 fbi->var.accel_flags = 0; in mb862xxfb_init_fbinfo()
503 fbi->var.vmode = FB_VMODE_NONINTERLACED; in mb862xxfb_init_fbinfo()
504 fbi->var.activate = FB_ACTIVATE_NOW; in mb862xxfb_init_fbinfo()
505 fbi->flags = FBINFO_DEFAULT | in mb862xxfb_init_fbinfo()
513 if ((fbi->fbops->fb_check_var)(&fbi->var, fbi)) in mb862xxfb_init_fbinfo()
516 fbi->fix.visual = fbi->var.bits_per_pixel == 8 ? in mb862xxfb_init_fbinfo()
518 fbi->fix.line_length = (fbi->var.xres_virtual * in mb862xxfb_init_fbinfo()
519 fbi->var.bits_per_pixel) / 8; in mb862xxfb_init_fbinfo()
520 fbi->fix.smem_len = fbi->fix.line_length * fbi->var.yres_virtual; in mb862xxfb_init_fbinfo()
536 stride = par->l1_cfg.sw * (fbi->var.bits_per_pixel / 8); in mb862xxfb_init_fbinfo()
551 struct fb_info *fbi = dev_get_drvdata(dev); in dispregs_show() local
552 struct mb862xxfb_par *par = fbi->par; in dispregs_show()
789 struct fb_info *fbi = dev_get_drvdata(&ofdev->dev); in of_platform_mb862xx_remove() local
790 struct mb862xxfb_par *par = fbi->par; in of_platform_mb862xx_remove()
794 dev_dbg(fbi->dev, "%s release\n", fbi->fix.id); in of_platform_mb862xx_remove()
809 unregister_framebuffer(fbi); in of_platform_mb862xx_remove()
810 fb_dealloc_cmap(&fbi->cmap); in of_platform_mb862xx_remove()
816 framebuffer_release(fbi); in of_platform_mb862xx_remove()
1138 struct fb_info *fbi = pci_get_drvdata(pdev); in mb862xx_pci_remove() local
1139 struct mb862xxfb_par *par = fbi->par; in mb862xx_pci_remove()
1142 dev_dbg(fbi->dev, "%s release\n", fbi->fix.id); in mb862xx_pci_remove()
1160 unregister_framebuffer(fbi); in mb862xx_pci_remove()
1161 fb_dealloc_cmap(&fbi->cmap); in mb862xx_pci_remove()
1168 framebuffer_release(fbi); in mb862xx_pci_remove()