Lines Matching refs:info
127 static void __tcx_set_control_plane(struct fb_info *info)
129 struct tcx_par *par = info->par;
138 for (pend = p + info->fix.smem_len; p < pend; p++) {
146 static void tcx_reset(struct fb_info *info)
148 struct tcx_par *par = (struct tcx_par *) info->par;
152 __tcx_set_control_plane(info);
156 static int tcx_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
158 tcx_reset(info);
169 * @info: frame buffer info structure
173 unsigned transp, struct fb_info *info)
175 struct tcx_par *par = (struct tcx_par *) info->par;
201 * @info: frame buffer structure that represents a single frame buffer
204 tcx_blank(int blank, struct fb_info *info)
206 struct tcx_par *par = (struct tcx_par *) info->par;
302 static int tcx_mmap(struct fb_info *info, struct vm_area_struct *vma)
304 struct tcx_par *par = (struct tcx_par *)info->par;
307 info->fix.smem_start, info->fix.smem_len,
311 static int tcx_ioctl(struct fb_info *info, unsigned int cmd,
314 struct tcx_par *par = (struct tcx_par *) info->par;
316 return sbusfb_ioctl_helper(cmd, arg, info,
319 info->fix.smem_len);
327 tcx_init_fix(struct fb_info *info, int linebytes)
329 struct tcx_par *par = (struct tcx_par *)info->par;
337 strscpy(info->fix.id, tcx_name, sizeof(info->fix.id));
339 info->fix.type = FB_TYPE_PACKED_PIXELS;
340 info->fix.visual = FB_VISUAL_PSEUDOCOLOR;
342 info->fix.line_length = linebytes;
344 info->fix.accel = FB_ACCEL_SUN_TCX;
347 static void tcx_unmap_regs(struct platform_device *op, struct fb_info *info,
361 par->cplane, info->fix.smem_len * sizeof(u32));
362 if (info->screen_base)
364 info->screen_base, info->fix.smem_len);
370 struct fb_info *info;
374 info = framebuffer_alloc(sizeof(struct tcx_par), &op->dev);
377 if (!info)
379 par = info->par;
385 sbusfb_fill_var(&info->var, dp, 8);
386 info->var.red.length = 8;
387 info->var.green.length = 8;
388 info->var.blue.length = 8;
391 info->var.xres);
392 info->fix.smem_len = PAGE_ALIGN(linebytes * info->var.yres);
400 info->screen_base = of_ioremap(&op->resource[0], 0,
401 info->fix.smem_len, "tcx ram");
403 !par->bt || !info->screen_base)
409 info->fix.smem_len * sizeof(u32),
420 info->fix.smem_start = op->resource[0].start;
442 info->fbops = &tcx_ops;
454 tcx_reset(info);
456 tcx_blank(FB_BLANK_UNBLANK, info);
458 if (fb_alloc_cmap(&info->cmap, 256, 0))
461 fb_set_cmap(&info->cmap, info);
462 tcx_init_fix(info, linebytes);
464 err = register_framebuffer(info);
468 dev_set_drvdata(&op->dev, info);
473 info->fix.smem_start,
479 fb_dealloc_cmap(&info->cmap);
482 tcx_unmap_regs(op, info, par);
483 framebuffer_release(info);
491 struct fb_info *info = dev_get_drvdata(&op->dev);
492 struct tcx_par *par = info->par;
494 unregister_framebuffer(info);
495 fb_dealloc_cmap(&info->cmap);
497 tcx_unmap_regs(op, info, par);
499 framebuffer_release(info);