Lines Matching refs:info

125 static void __tcx_set_control_plane(struct fb_info *info)  in __tcx_set_control_plane()  argument
127 struct tcx_par *par = info->par; in __tcx_set_control_plane()
136 for (pend = p + info->fix.smem_len; p < pend; p++) { in __tcx_set_control_plane()
144 static void tcx_reset(struct fb_info *info) in tcx_reset() argument
146 struct tcx_par *par = (struct tcx_par *) info->par; in tcx_reset()
150 __tcx_set_control_plane(info); in tcx_reset()
154 static int tcx_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) in tcx_pan_display() argument
156 tcx_reset(info); in tcx_pan_display()
171 unsigned transp, struct fb_info *info) in tcx_setcolreg() argument
173 struct tcx_par *par = (struct tcx_par *) info->par; in tcx_setcolreg()
202 tcx_blank(int blank, struct fb_info *info) in tcx_blank() argument
204 struct tcx_par *par = (struct tcx_par *) info->par; in tcx_blank()
300 static int tcx_mmap(struct fb_info *info, struct vm_area_struct *vma) in tcx_mmap() argument
302 struct tcx_par *par = (struct tcx_par *)info->par; in tcx_mmap()
305 info->fix.smem_start, info->fix.smem_len, in tcx_mmap()
309 static int tcx_ioctl(struct fb_info *info, unsigned int cmd, in tcx_ioctl() argument
312 struct tcx_par *par = (struct tcx_par *) info->par; in tcx_ioctl()
314 return sbusfb_ioctl_helper(cmd, arg, info, in tcx_ioctl()
317 info->fix.smem_len); in tcx_ioctl()
325 tcx_init_fix(struct fb_info *info, int linebytes) in tcx_init_fix() argument
327 struct tcx_par *par = (struct tcx_par *)info->par; in tcx_init_fix()
335 strlcpy(info->fix.id, tcx_name, sizeof(info->fix.id)); in tcx_init_fix()
337 info->fix.type = FB_TYPE_PACKED_PIXELS; in tcx_init_fix()
338 info->fix.visual = FB_VISUAL_PSEUDOCOLOR; in tcx_init_fix()
340 info->fix.line_length = linebytes; in tcx_init_fix()
342 info->fix.accel = FB_ACCEL_SUN_TCX; in tcx_init_fix()
345 static void tcx_unmap_regs(struct platform_device *op, struct fb_info *info, in tcx_unmap_regs() argument
359 par->cplane, info->fix.smem_len * sizeof(u32)); in tcx_unmap_regs()
360 if (info->screen_base) in tcx_unmap_regs()
362 info->screen_base, info->fix.smem_len); in tcx_unmap_regs()
368 struct fb_info *info; in tcx_probe() local
372 info = framebuffer_alloc(sizeof(struct tcx_par), &op->dev); in tcx_probe()
375 if (!info) in tcx_probe()
377 par = info->par; in tcx_probe()
384 sbusfb_fill_var(&info->var, dp, 8); in tcx_probe()
385 info->var.red.length = 8; in tcx_probe()
386 info->var.green.length = 8; in tcx_probe()
387 info->var.blue.length = 8; in tcx_probe()
390 info->var.xres); in tcx_probe()
391 info->fix.smem_len = PAGE_ALIGN(linebytes * info->var.yres); in tcx_probe()
399 info->screen_base = of_ioremap(&op->resource[0], 0, in tcx_probe()
400 info->fix.smem_len, "tcx ram"); in tcx_probe()
402 !par->bt || !info->screen_base) in tcx_probe()
408 info->fix.smem_len * sizeof(u32), in tcx_probe()
419 info->fix.smem_start = op->resource[0].start; in tcx_probe()
441 info->flags = FBINFO_DEFAULT; in tcx_probe()
442 info->fbops = &tcx_ops; in tcx_probe()
454 tcx_reset(info); in tcx_probe()
456 tcx_blank(FB_BLANK_UNBLANK, info); in tcx_probe()
458 if (fb_alloc_cmap(&info->cmap, 256, 0)) in tcx_probe()
461 fb_set_cmap(&info->cmap, info); in tcx_probe()
462 tcx_init_fix(info, linebytes); in tcx_probe()
464 err = register_framebuffer(info); in tcx_probe()
468 dev_set_drvdata(&op->dev, info); in tcx_probe()
473 info->fix.smem_start, in tcx_probe()
479 fb_dealloc_cmap(&info->cmap); in tcx_probe()
482 tcx_unmap_regs(op, info, par); in tcx_probe()
483 framebuffer_release(info); in tcx_probe()
491 struct fb_info *info = dev_get_drvdata(&op->dev); in tcx_remove() local
492 struct tcx_par *par = info->par; in tcx_remove()
494 unregister_framebuffer(info); in tcx_remove()
495 fb_dealloc_cmap(&info->cmap); in tcx_remove()
497 tcx_unmap_regs(op, info, par); in tcx_remove()
499 framebuffer_release(info); in tcx_remove()