Lines Matching refs:info

210 static void leo_switch_from_graph(struct fb_info *info)
212 struct leo_par *par = (struct leo_par *) info->par;
220 par->extent = ((info->var.xres - 1) |
221 ((info->var.yres - 1) << 16));
231 sbus_writel((info->var.xres-1) | ((info->var.yres-1) << 11),
252 static int leo_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
257 leo_switch_from_graph(info);
271 * @info: frame buffer info structure
275 unsigned transp, struct fb_info *info)
277 struct leo_par *par = (struct leo_par *) info->par;
313 * @info: frame buffer structure that represents a single frame buffer
315 static int leo_blank(int blank, struct fb_info *info)
317 struct leo_par *par = (struct leo_par *) info->par;
417 static int leo_mmap(struct fb_info *info, struct vm_area_struct *vma)
419 struct leo_par *par = (struct leo_par *)info->par;
422 info->fix.smem_start, info->fix.smem_len,
426 static int leo_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)
428 return sbusfb_ioctl_helper(cmd, arg, info,
429 FBTYPE_SUNLEO, 32, info->fix.smem_len);
437 leo_init_fix(struct fb_info *info, struct device_node *dp)
439 snprintf(info->fix.id, sizeof(info->fix.id), "%pOFn", dp);
441 info->fix.type = FB_TYPE_PACKED_PIXELS;
442 info->fix.visual = FB_VISUAL_TRUECOLOR;
444 info->fix.line_length = 8192;
446 info->fix.accel = FB_ACCEL_SUN_LEO;
449 static void leo_wid_put(struct fb_info *info, struct fb_wid_list *wl)
451 struct leo_par *par = (struct leo_par *) info->par;
487 static void leo_init_wids(struct fb_info *info)
497 leo_wid_put(info, &wl);
500 leo_wid_put(info, &wl);
503 leo_wid_put(info, &wl);
507 leo_wid_put(info, &wl);
510 static void leo_init_hw(struct fb_info *info)
512 struct leo_par *par = (struct leo_par *) info->par;
519 leo_switch_from_graph(info);
534 static void leo_unmap_regs(struct platform_device *op, struct fb_info *info,
548 if (info->screen_base)
549 of_iounmap(&op->resource[0], info->screen_base, 0x800000);
555 struct fb_info *info;
559 info = framebuffer_alloc(sizeof(struct leo_par), &op->dev);
562 if (!info)
564 par = info->par;
568 info->fix.smem_start = op->resource[0].start;
571 sbusfb_fill_var(&info->var, dp, 32);
572 leo_fixup_var_rgb(&info->var);
575 info->var.xres);
576 info->fix.smem_len = PAGE_ALIGN(linebytes * info->var.yres);
593 info->screen_base =
601 !info->screen_base)
604 info->fbops = &leo_ops;
605 info->pseudo_palette = par->clut_data;
607 leo_init_wids(info);
608 leo_init_hw(info);
610 leo_blank(FB_BLANK_UNBLANK, info);
612 if (fb_alloc_cmap(&info->cmap, 256, 0))
615 leo_init_fix(info, dp);
617 err = register_framebuffer(info);
621 dev_set_drvdata(&op->dev, info);
625 par->which_io, info->fix.smem_start);
630 fb_dealloc_cmap(&info->cmap);
633 leo_unmap_regs(op, info, par);
634 framebuffer_release(info);
642 struct fb_info *info = dev_get_drvdata(&op->dev);
643 struct leo_par *par = info->par;
645 unregister_framebuffer(info);
646 fb_dealloc_cmap(&info->cmap);
648 leo_unmap_regs(op, info, par);
650 framebuffer_release(info);