Lines Matching refs:info

126 static void __tcx_set_control_plane(struct fb_info *info)
128 struct tcx_par *par = info->par;
137 for (pend = p + info->fix.smem_len; p < pend; p++) {
145 static void tcx_reset(struct fb_info *info)
147 struct tcx_par *par = (struct tcx_par *) info->par;
151 __tcx_set_control_plane(info);
155 static int tcx_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
157 tcx_reset(info);
168 * @info: frame buffer info structure
172 unsigned transp, struct fb_info *info)
174 struct tcx_par *par = (struct tcx_par *) info->par;
200 * @info: frame buffer structure that represents a single frame buffer
203 tcx_blank(int blank, struct fb_info *info)
205 struct tcx_par *par = (struct tcx_par *) info->par;
301 static int tcx_mmap(struct fb_info *info, struct vm_area_struct *vma)
303 struct tcx_par *par = (struct tcx_par *)info->par;
306 info->fix.smem_start, info->fix.smem_len,
310 static int tcx_ioctl(struct fb_info *info, unsigned int cmd,
313 struct tcx_par *par = (struct tcx_par *) info->par;
315 return sbusfb_ioctl_helper(cmd, arg, info,
318 info->fix.smem_len);
326 tcx_init_fix(struct fb_info *info, int linebytes)
328 struct tcx_par *par = (struct tcx_par *)info->par;
336 strlcpy(info->fix.id, tcx_name, sizeof(info->fix.id));
338 info->fix.type = FB_TYPE_PACKED_PIXELS;
339 info->fix.visual = FB_VISUAL_PSEUDOCOLOR;
341 info->fix.line_length = linebytes;
343 info->fix.accel = FB_ACCEL_SUN_TCX;
346 static void tcx_unmap_regs(struct platform_device *op, struct fb_info *info,
360 par->cplane, info->fix.smem_len * sizeof(u32));
361 if (info->screen_base)
363 info->screen_base, info->fix.smem_len);
369 struct fb_info *info;
373 info = framebuffer_alloc(sizeof(struct tcx_par), &op->dev);
376 if (!info)
378 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->flags = FBINFO_DEFAULT;
443 info->fbops = &tcx_ops;
455 tcx_reset(info);
457 tcx_blank(FB_BLANK_UNBLANK, info);
459 if (fb_alloc_cmap(&info->cmap, 256, 0))
462 fb_set_cmap(&info->cmap, info);
463 tcx_init_fix(info, linebytes);
465 err = register_framebuffer(info);
469 dev_set_drvdata(&op->dev, info);
474 info->fix.smem_start,
480 fb_dealloc_cmap(&info->cmap);
483 tcx_unmap_regs(op, info, par);
484 framebuffer_release(info);
492 struct fb_info *info = dev_get_drvdata(&op->dev);
493 struct tcx_par *par = info->par;
495 unregister_framebuffer(info);
496 fb_dealloc_cmap(&info->cmap);
498 tcx_unmap_regs(op, info, par);
500 framebuffer_release(info);