Lines Matching refs:info
38 static void cg6_copyarea(struct fb_info *info, const struct fb_copyarea *area);
270 static int cg6_sync(struct fb_info *info)
272 struct cg6_par *par = (struct cg6_par *)info->par;
298 static int cg6_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
300 struct cg6_par *par = (struct cg6_par *)info->par;
315 * @info: frame buffer structure that represents a single frame buffer
318 static void cg6_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
320 struct cg6_par *par = (struct cg6_par *)info->par;
329 cg6_sync(info);
350 * @info: frame buffer structure that represents a single frame buffer
357 static void cg6_copyarea(struct fb_info *info, const struct fb_copyarea *area)
359 struct cg6_par *par = (struct cg6_par *)info->par;
366 cg6_sync(info);
392 * @info: frame buffer structure that represents a single frame buffer
395 static void cg6_imageblit(struct fb_info *info, const struct fb_image *image)
397 struct cg6_par *par = (struct cg6_par *)info->par;
405 cfb_imageblit(info, image);
411 cg6_sync(info);
483 * @info: frame buffer info structure
487 unsigned transp, struct fb_info *info)
489 struct cg6_par *par = (struct cg6_par *)info->par;
516 * @info: frame buffer structure that represents a single frame buffer
518 static int cg6_blank(int blank, struct fb_info *info)
520 struct cg6_par *par = (struct cg6_par *)info->par;
593 static int cg6_mmap(struct fb_info *info, struct vm_area_struct *vma)
595 struct cg6_par *par = (struct cg6_par *)info->par;
598 info->fix.smem_start, info->fix.smem_len,
602 static int cg6_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)
604 return sbusfb_ioctl_helper(cmd, arg, info,
605 FBTYPE_SUNFAST_COLOR, 8, info->fix.smem_len);
612 static void cg6_init_fix(struct fb_info *info, int linebytes)
614 struct cg6_par *par = (struct cg6_par *)info->par;
631 if (info->fix.smem_len <= 0x100000)
636 if (info->fix.smem_len <= 0x100000)
642 sprintf(info->fix.id, "%s %s", cg6_card_name, cg6_cpu_name);
643 info->fix.id[sizeof(info->fix.id) - 1] = 0;
645 info->fix.type = FB_TYPE_PACKED_PIXELS;
646 info->fix.visual = FB_VISUAL_PSEUDOCOLOR;
648 info->fix.line_length = linebytes;
650 info->fix.accel = FB_ACCEL_SUN_CGSIX;
668 static void cg6_chip_init(struct fb_info *info)
670 struct cg6_par *par = (struct cg6_par *)info->par;
719 sbus_writel(info->var.xres - 1, &fbc->clipmaxx);
720 sbus_writel(info->var.yres - 1, &fbc->clipmaxy);
723 static void cg6_unmap_regs(struct platform_device *op, struct fb_info *info,
737 if (info->screen_base)
738 of_iounmap(&op->resource[0], info->screen_base,
739 info->fix.smem_len);
745 struct fb_info *info;
750 info = framebuffer_alloc(sizeof(struct cg6_par), &op->dev);
753 if (!info)
755 par = info->par;
759 info->fix.smem_start = op->resource[0].start;
762 sbusfb_fill_var(&info->var, dp, 8);
763 info->var.red.length = 8;
764 info->var.green.length = 8;
765 info->var.blue.length = 8;
768 info->var.xres);
769 info->fix.smem_len = PAGE_ALIGN(linebytes * info->var.yres);
773 info->fix.smem_len *= 4;
786 info->flags = FBINFO_HWACCEL_IMAGEBLIT |
789 info->fbops = &cg6_ops;
791 info->screen_base = of_ioremap(&op->resource[0], CG6_RAM_OFFSET,
792 info->fix.smem_len, "cgsix ram");
794 !par->bt || !par->fhc || !info->screen_base)
797 info->var.accel_flags = FB_ACCELF_TEXT;
800 cg6_chip_init(info);
801 cg6_blank(FB_BLANK_UNBLANK, info);
803 if (fb_alloc_cmap(&info->cmap, 256, 0))
806 fb_set_cmap(&info->cmap, info);
807 cg6_init_fix(info, linebytes);
809 err = register_framebuffer(info);
813 dev_set_drvdata(&op->dev, info);
816 dp, info->fix.id,
817 par->which_io, info->fix.smem_start);
822 fb_dealloc_cmap(&info->cmap);
825 cg6_unmap_regs(op, info, par);
826 framebuffer_release(info);
834 struct fb_info *info = dev_get_drvdata(&op->dev);
835 struct cg6_par *par = info->par;
837 unregister_framebuffer(info);
838 fb_dealloc_cmap(&info->cmap);
840 cg6_unmap_regs(op, info, par);
842 framebuffer_release(info);