Lines Matching defs:info

480 static int ps3fb_sync(struct fb_info *info, u32 frame)
482 struct ps3fb_par *par = info->par;
487 dev_dbg(info->device, "%s: invalid frame number (%u)\n",
496 ps3fb_sync_image(info->device, ddr_base + par->full_offset,
499 info->fix.line_length);
505 static int ps3fb_open(struct fb_info *info, int user)
511 static int ps3fb_release(struct fb_info *info, int user)
517 ps3fb_sync(info, 0); /* single buffer */
533 static int ps3fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
544 dev_dbg(info->device,
551 dev_dbg(info->device, "panning out-of-range\n");
563 dev_dbg(info->device, "We support ARGB8888 only\n");
583 dev_dbg(info->device, "Rotation is not supported\n");
588 if (var->yres_virtual * xdr_line_length > info->fix.smem_len) {
589 dev_dbg(info->device, "Not enough memory\n");
603 static int ps3fb_set_par(struct fb_info *info)
605 struct ps3fb_par *par = info->par;
611 mode = ps3fb_find_mode(&info->var, &ddr_line_length, &xdr_line_length);
617 info->fix.xpanstep = info->var.xres_virtual > info->var.xres ? 1 : 0;
618 info->fix.ypanstep = info->var.yres_virtual > info->var.yres ? 1 : 0;
619 info->fix.line_length = xdr_line_length;
623 par->xdr_frame_size = info->var.yres_virtual * xdr_line_length;
625 par->num_frames = info->fix.smem_len /
631 par->width = info->var.xres;
632 par->height = info->var.yres;
635 ddr_xoff = info->var.left_margin - vmode->left_margin;
636 ddr_yoff = info->var.upper_margin - vmode->upper_margin;
641 par->pan_offset = info->var.yoffset * xdr_line_length +
642 info->var.xoffset * BPP;
653 memset((void __force *)info->screen_base, 0, info->fix.smem_len);
659 maxlines = info->fix.smem_len / ddr_line_length;
662 ps3fb_sync_image(info->device, 0, dst, 0, vmode->xres, l,
678 unsigned int transp, struct fb_info *info)
688 ((u32 *)info->pseudo_palette)[regno] = transp << 24 | red << 16 |
694 struct fb_info *info)
696 struct ps3fb_par *par = info->par;
698 par->pan_offset = var->yoffset * info->fix.line_length +
707 static int ps3fb_mmap(struct fb_info *info, struct vm_area_struct *vma)
711 r = vm_iomap_memory(vma, info->fix.smem_start, info->fix.smem_len);
713 dev_dbg(info->device, "ps3fb: mmap framebuffer P(%lx)->V(%lx)\n",
714 info->fix.smem_start + (vma->vm_pgoff << PAGE_SHIFT),
724 static int ps3fb_blank(int blank, struct fb_info *info)
728 dev_dbg(info->device, "%s: blank:%d\n", __func__, blank);
775 static int ps3fb_ioctl(struct fb_info *info, unsigned int cmd,
786 dev_dbg(info->device, "FBIOGET_VBLANK:\n");
799 dev_dbg(info->device, "FBIO_WAITFORVSYNC:\n");
809 struct ps3fb_par *par = info->par;
821 dev_dbg(info->device, "PS3FB_IOCTL_SETMODE:%x\n", val);
825 var = info->var;
831 retval = fb_set_var(info, &var);
833 fbcon_update_vcs(info, var.activate & FB_ACTIVATE_ALL);
841 dev_dbg(info->device, "PS3FB_IOCTL_GETMODE:%x\n", val);
848 struct ps3fb_par *par = info->par;
850 dev_dbg(info->device, "PS3FB_IOCTL_SCREENINFO:\n");
851 res.xres = info->fix.line_length / BPP;
852 res.yres = info->var.yres_virtual;
853 res.xoff = (res.xres - info->var.xres) / 2;
854 res.yoff = (res.yres - info->var.yres) / 2;
862 dev_dbg(info->device, "PS3FB_IOCTL_ON:\n");
868 dev_dbg(info->device, "PS3FB_IOCTL_OFF:\n");
877 dev_dbg(info->device, "PS3FB_IOCTL_FSEL:%d\n", val);
879 retval = ps3fb_sync(info, val);
892 struct fb_info *info = arg;
901 ps3fb_sync(info, 0); /* single buffer */
965 struct fb_info *info;
1092 /* Clear memory to prevent kernel info leakage into userspace */
1121 info = framebuffer_alloc(sizeof(struct ps3fb_par), &dev->core);
1122 if (!info) {
1127 par = info->par;
1132 info->fbops = &ps3fb_ops;
1133 info->fix = ps3fb_fix;
1142 info->screen_base = (char __force __iomem *)fb_start;
1143 info->fix.smem_start = __pa(fb_start);
1144 info->fix.smem_len = ps3fb_videomemory.size - GPU_FB_START;
1146 info->pseudo_palette = par->pseudo_palette;
1147 info->flags = FBINFO_DEFAULT | FBINFO_READS_FAST |
1150 retval = fb_alloc_cmap(&info->cmap, 256, 0);
1154 if (!fb_find_mode(&info->var, info, mode_option, ps3fb_modedb,
1162 &info->modelist);
1164 retval = register_framebuffer(info);
1168 ps3_system_bus_set_drvdata(dev, info);
1170 dev_info(info->device, "%s %s, using %u KiB of video memory\n",
1171 dev_driver_string(info->dev), dev_name(info->dev),
1172 info->fix.smem_len >> 10);
1174 task = kthread_run(ps3fbd, info, DEVICE_NAME);
1185 unregister_framebuffer(info);
1187 fb_dealloc_cmap(&info->cmap);
1189 framebuffer_release(info);
1213 struct fb_info *info = ps3_system_bus_get_drvdata(dev);
1230 if (info) {
1231 unregister_framebuffer(info);
1232 fb_dealloc_cmap(&info->cmap);
1233 framebuffer_release(info);