Lines Matching refs:info
100 unsigned int transp, struct fb_info *info) in pmagbbfb_setcolreg() argument
102 struct pmagbbfb_par *par = info->par; in pmagbbfb_setcolreg()
104 if (regno >= info->cmap.len) in pmagbbfb_setcolreg()
136 static void __init pmagbbfb_erase_cursor(struct fb_info *info) in pmagbbfb_erase_cursor() argument
138 struct pmagbbfb_par *par = info->par; in pmagbbfb_erase_cursor()
150 static void pmagbbfb_screen_setup(struct fb_info *info) in pmagbbfb_screen_setup() argument
152 struct pmagbbfb_par *par = info->par; in pmagbbfb_screen_setup()
154 info->var.xres = ((sfb_read(par, SFB_REG_VID_HOR) >> in pmagbbfb_screen_setup()
156 info->var.xres_virtual = info->var.xres; in pmagbbfb_screen_setup()
157 info->var.yres = (sfb_read(par, SFB_REG_VID_VER) >> in pmagbbfb_screen_setup()
159 info->var.yres_virtual = info->var.yres; in pmagbbfb_screen_setup()
160 info->var.left_margin = ((sfb_read(par, SFB_REG_VID_HOR) >> in pmagbbfb_screen_setup()
163 info->var.right_margin = ((sfb_read(par, SFB_REG_VID_HOR) >> in pmagbbfb_screen_setup()
166 info->var.upper_margin = (sfb_read(par, SFB_REG_VID_VER) >> in pmagbbfb_screen_setup()
168 info->var.lower_margin = (sfb_read(par, SFB_REG_VID_VER) >> in pmagbbfb_screen_setup()
170 info->var.hsync_len = ((sfb_read(par, SFB_REG_VID_HOR) >> in pmagbbfb_screen_setup()
173 info->var.vsync_len = (sfb_read(par, SFB_REG_VID_VER) >> in pmagbbfb_screen_setup()
176 info->fix.line_length = info->var.xres; in pmagbbfb_screen_setup()
182 static void pmagbbfb_osc_setup(struct fb_info *info) in pmagbbfb_osc_setup() argument
188 struct pmagbbfb_par *par = info->par; in pmagbbfb_osc_setup()
189 struct tc_bus *tbus = to_tc_dev(info->device)->bus; in pmagbbfb_osc_setup()
243 info->var.pixclock = par->osc1 ? in pmagbbfb_osc_setup()
253 struct fb_info *info; in pmagbbfb_probe() local
259 info = framebuffer_alloc(sizeof(struct pmagbbfb_par), dev); in pmagbbfb_probe()
260 if (!info) { in pmagbbfb_probe()
265 par = info->par; in pmagbbfb_probe()
266 dev_set_drvdata(dev, info); in pmagbbfb_probe()
268 if (fb_alloc_cmap(&info->cmap, 256, 0) < 0) { in pmagbbfb_probe()
275 info->fbops = &pmagbbfb_ops; in pmagbbfb_probe()
276 info->fix = pmagbbfb_fix; in pmagbbfb_probe()
277 info->var = pmagbbfb_defined; in pmagbbfb_probe()
278 info->flags = FBINFO_DEFAULT; in pmagbbfb_probe()
291 info->fix.mmio_start = start; in pmagbbfb_probe()
292 par->mmio = ioremap_nocache(info->fix.mmio_start, info->fix.mmio_len); in pmagbbfb_probe()
302 info->fix.smem_start = start + PMAGB_B_FBMEM; in pmagbbfb_probe()
303 par->smem = ioremap_nocache(info->fix.smem_start, info->fix.smem_len); in pmagbbfb_probe()
310 info->screen_base = (void __iomem *)par->smem + vid_base * 0x1000; in pmagbbfb_probe()
311 info->screen_size = info->fix.smem_len - 2 * vid_base * 0x1000; in pmagbbfb_probe()
313 pmagbbfb_erase_cursor(info); in pmagbbfb_probe()
314 pmagbbfb_screen_setup(info); in pmagbbfb_probe()
315 pmagbbfb_osc_setup(info); in pmagbbfb_probe()
317 err = register_framebuffer(info); in pmagbbfb_probe()
331 fb_info(info, "%s frame buffer device at %s\n", in pmagbbfb_probe()
332 info->fix.id, dev_name(dev)); in pmagbbfb_probe()
333 fb_info(info, "Osc0: %s, Osc1: %s, Osc%u selected\n", in pmagbbfb_probe()
349 fb_dealloc_cmap(&info->cmap); in pmagbbfb_probe()
352 framebuffer_release(info); in pmagbbfb_probe()
359 struct fb_info *info = dev_get_drvdata(dev); in pmagbbfb_remove() local
360 struct pmagbbfb_par *par = info->par; in pmagbbfb_remove()
364 unregister_framebuffer(info); in pmagbbfb_remove()
370 fb_dealloc_cmap(&info->cmap); in pmagbbfb_remove()
371 framebuffer_release(info); in pmagbbfb_remove()