Lines Matching refs:info
254 struct fb_info *info;
315 /* Send screen resolution info to host */
318 struct fb_info *info = hv_get_drvdata(hdev);
321 if (!info)
333 msg.situ.video_output[0].depth_bits = info->var.bits_per_pixel;
334 msg.situ.video_output[0].width_pixels = info->var.xres;
335 msg.situ.video_output[0].height_pixels = info->var.yres;
336 msg.situ.video_output[0].pitch_bytes = info->fix.line_length;
343 /* Send mouse pointer info to host */
379 synthvid_update(struct fb_info *info, int x1, int y1, int x2, int y2)
381 struct hv_device *hdev = device_to_hv_device(info->device);
386 x2 = info->var.xres;
388 y2 = info->var.yres;
398 (x2 < x1 || x2 > info->var.xres) ? info->var.xres : x2;
400 (y2 < y1 || y2 > info->var.yres) ? info->var.yres : y2;
464 * Or, reply with screen and cursor info.
468 struct fb_info *info = hv_get_drvdata(hdev);
472 if (!info)
475 par = info->par;
487 /* Reply with screen and cursor info */
504 struct fb_info *info = hv_get_drvdata(hdev);
511 if (!info)
514 par = info->par;
541 struct fb_info *info = hv_get_drvdata(hdev);
542 struct hvfb_par *par = info->par;
576 struct fb_info *info = hv_get_drvdata(hdev);
577 struct hvfb_par *par = info->par;
624 struct fb_info *info = hv_get_drvdata(hdev);
625 struct hvfb_par *par = info->par;
687 struct fb_info *info = hv_get_drvdata(hdev);
688 struct hvfb_par *par = info->par;
731 struct fb_info *info = par->info;
752 if (x1 > info->var.xres || x2 > info->var.xres ||
753 y1 > info->var.yres || y2 > info->var.yres || x2 <= x1)
760 j * info->fix.line_length +
766 synthvid_update(info, x1, y1, x2, y2);
803 struct fb_info *info;
806 info = par->info;
807 hdev = device_to_hv_device(info->device);
815 synthvid_update(info, 0, 0, INT_MAX, INT_MAX);
822 static int hvfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
835 static int hvfb_set_par(struct fb_info *info)
837 struct hv_device *hdev = device_to_hv_device(info->device);
849 unsigned blue, unsigned transp, struct fb_info *info)
851 u32 *pal = info->pseudo_palette;
856 pal[regno] = chan_to_field(red, &info->var.red)
857 | chan_to_field(green, &info->var.green)
858 | chan_to_field(blue, &info->var.blue)
859 | chan_to_field(transp, &info->var.transp);
864 static int hvfb_blank(int blank, struct fb_info *info)
921 static void hvfb_get_option(struct fb_info *info)
923 struct hvfb_par *par = info->par;
1011 static int hvfb_getmem(struct hv_device *hdev, struct fb_info *info)
1013 struct hvfb_par *par = info->par;
1020 info->apertures = alloc_apertures(1);
1021 if (!info->apertures)
1032 info->apertures->ranges[0].base = pci_resource_start(pdev, 0);
1033 info->apertures->ranges[0].size = pci_resource_len(pdev, 0);
1046 info->fix.smem_start = paddr;
1047 info->fix.smem_len = screen_fb_size;
1048 info->screen_base = par->mmio_vp;
1049 info->screen_size = screen_fb_size;
1056 info->apertures->ranges[0].base = screen_info.lfb_base;
1057 info->apertures->ranges[0].size = screen_info.lfb_size;
1093 info->fix.smem_start = par->mem->start;
1094 info->fix.smem_len = dio_fb_size;
1095 info->screen_base = par->dio_vp;
1096 info->screen_size = dio_fb_size;
1099 remove_conflicting_framebuffers(info->apertures,
1126 static void hvfb_putmem(struct hv_device *hdev, struct fb_info *info)
1128 struct hvfb_par *par = info->par;
1132 iounmap(info->screen_base);
1135 hvfb_release_phymem(hdev, info->fix.smem_start,
1146 struct fb_info *info;
1150 info = framebuffer_alloc(sizeof(struct hvfb_par), &hdev->device);
1151 if (!info)
1154 par = info->par;
1155 par->info = info;
1167 hv_set_drvdata(hdev, info);
1174 hvfb_get_option(info);
1178 ret = hvfb_getmem(hdev, info);
1185 info->flags = FBINFO_DEFAULT;
1187 info->var.xres_virtual = info->var.xres = screen_width;
1188 info->var.yres_virtual = info->var.yres = screen_height;
1189 info->var.bits_per_pixel = screen_depth;
1191 if (info->var.bits_per_pixel == 16) {
1192 info->var.red = (struct fb_bitfield){11, 5, 0};
1193 info->var.green = (struct fb_bitfield){5, 6, 0};
1194 info->var.blue = (struct fb_bitfield){0, 5, 0};
1195 info->var.transp = (struct fb_bitfield){0, 0, 0};
1197 info->var.red = (struct fb_bitfield){16, 8, 0};
1198 info->var.green = (struct fb_bitfield){8, 8, 0};
1199 info->var.blue = (struct fb_bitfield){0, 8, 0};
1200 info->var.transp = (struct fb_bitfield){24, 8, 0};
1203 info->var.activate = FB_ACTIVATE_NOW;
1204 info->var.height = -1;
1205 info->var.width = -1;
1206 info->var.vmode = FB_VMODE_NONINTERLACED;
1208 strcpy(info->fix.id, KBUILD_MODNAME);
1209 info->fix.type = FB_TYPE_PACKED_PIXELS;
1210 info->fix.visual = FB_VISUAL_TRUECOLOR;
1211 info->fix.line_length = screen_width * screen_depth / 8;
1212 info->fix.accel = FB_ACCEL_NONE;
1214 info->fbops = &hvfb_ops;
1215 info->pseudo_palette = par->pseudo_palette;
1218 info->fbdefio = &synthvid_defio;
1219 fb_deferred_io_init(info);
1226 ret = register_framebuffer(info);
1242 fb_deferred_io_cleanup(info);
1243 hvfb_putmem(hdev, info);
1249 framebuffer_release(info);
1256 struct fb_info *info = hv_get_drvdata(hdev);
1257 struct hvfb_par *par = info->par;
1265 fb_deferred_io_cleanup(info);
1267 unregister_framebuffer(info);
1273 hvfb_putmem(hdev, info);
1274 framebuffer_release(info);
1281 struct fb_info *info = hv_get_drvdata(hdev);
1282 struct hvfb_par *par = info->par;
1287 fb_set_suspend(info, 1);
1290 cancel_delayed_work_sync(&info->deferred_work);
1305 struct fb_info *info = hv_get_drvdata(hdev);
1306 struct hvfb_par *par = info->par;
1324 schedule_delayed_work(&info->deferred_work, info->fbdefio->delay);
1328 fb_set_suspend(info, 0);