Lines Matching refs:info
247 struct fb_info *info;
308 /* Send screen resolution info to host */
311 struct fb_info *info = hv_get_drvdata(hdev);
314 if (!info)
326 msg.situ.video_output[0].depth_bits = info->var.bits_per_pixel;
327 msg.situ.video_output[0].width_pixels = info->var.xres;
328 msg.situ.video_output[0].height_pixels = info->var.yres;
329 msg.situ.video_output[0].pitch_bytes = info->fix.line_length;
336 /* Send mouse pointer info to host */
372 synthvid_update(struct fb_info *info, int x1, int y1, int x2, int y2)
374 struct hv_device *hdev = device_to_hv_device(info->device);
379 x2 = info->var.xres;
381 y2 = info->var.yres;
391 (x2 < x1 || x2 > info->var.xres) ? info->var.xres : x2;
393 (y2 < y1 || y2 > info->var.yres) ? info->var.yres : y2;
456 * Or, reply with screen and cursor info.
460 struct fb_info *info = hv_get_drvdata(hdev);
464 if (!info)
467 par = info->par;
479 /* Reply with screen and cursor info */
496 struct fb_info *info = hv_get_drvdata(hdev);
503 if (!info)
506 par = info->par;
533 struct fb_info *info = hv_get_drvdata(hdev);
534 struct hvfb_par *par = info->par;
568 struct fb_info *info = hv_get_drvdata(hdev);
569 struct hvfb_par *par = info->par;
616 struct fb_info *info = hv_get_drvdata(hdev);
617 struct hvfb_par *par = info->par;
669 struct fb_info *info = hv_get_drvdata(hdev);
670 struct hvfb_par *par = info->par;
713 struct fb_info *info = par->info;
734 if (x1 > info->var.xres || x2 > info->var.xres ||
735 y1 > info->var.yres || y2 > info->var.yres || x2 <= x1)
742 j * info->fix.line_length +
748 synthvid_update(info, x1, y1, x2, y2);
785 struct fb_info *info;
788 info = par->info;
789 hdev = device_to_hv_device(info->device);
797 synthvid_update(info, 0, 0, INT_MAX, INT_MAX);
804 static int hvfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
817 static int hvfb_set_par(struct fb_info *info)
819 struct hv_device *hdev = device_to_hv_device(info->device);
831 unsigned blue, unsigned transp, struct fb_info *info)
833 u32 *pal = info->pseudo_palette;
838 pal[regno] = chan_to_field(red, &info->var.red)
839 | chan_to_field(green, &info->var.green)
840 | chan_to_field(blue, &info->var.blue)
841 | chan_to_field(transp, &info->var.transp);
846 static int hvfb_blank(int blank, struct fb_info *info)
904 static void hvfb_get_option(struct fb_info *info)
906 struct hvfb_par *par = info->par;
992 static int hvfb_getmem(struct hv_device *hdev, struct fb_info *info)
994 struct hvfb_par *par = info->par;
1024 info->fix.smem_start = paddr;
1025 info->fix.smem_len = screen_fb_size;
1026 info->screen_base = par->mmio_vp;
1027 info->screen_size = screen_fb_size;
1071 info->fix.smem_start = par->mem->start;
1072 info->fix.smem_len = dio_fb_size;
1073 info->screen_base = par->dio_vp;
1074 info->screen_size = dio_fb_size;
1103 static void hvfb_putmem(struct hv_device *hdev, struct fb_info *info)
1105 struct hvfb_par *par = info->par;
1109 iounmap(info->screen_base);
1112 hvfb_release_phymem(hdev, info->fix.smem_start,
1123 struct fb_info *info;
1127 info = framebuffer_alloc(sizeof(struct hvfb_par), &hdev->device);
1128 if (!info)
1131 par = info->par;
1132 par->info = info;
1144 hv_set_drvdata(hdev, info);
1151 hvfb_get_option(info);
1155 ret = hvfb_getmem(hdev, info);
1162 info->var.xres_virtual = info->var.xres = screen_width;
1163 info->var.yres_virtual = info->var.yres = screen_height;
1164 info->var.bits_per_pixel = screen_depth;
1166 if (info->var.bits_per_pixel == 16) {
1167 info->var.red = (struct fb_bitfield){11, 5, 0};
1168 info->var.green = (struct fb_bitfield){5, 6, 0};
1169 info->var.blue = (struct fb_bitfield){0, 5, 0};
1170 info->var.transp = (struct fb_bitfield){0, 0, 0};
1172 info->var.red = (struct fb_bitfield){16, 8, 0};
1173 info->var.green = (struct fb_bitfield){8, 8, 0};
1174 info->var.blue = (struct fb_bitfield){0, 8, 0};
1175 info->var.transp = (struct fb_bitfield){24, 8, 0};
1178 info->var.activate = FB_ACTIVATE_NOW;
1179 info->var.height = -1;
1180 info->var.width = -1;
1181 info->var.vmode = FB_VMODE_NONINTERLACED;
1183 strcpy(info->fix.id, KBUILD_MODNAME);
1184 info->fix.type = FB_TYPE_PACKED_PIXELS;
1185 info->fix.visual = FB_VISUAL_TRUECOLOR;
1186 info->fix.line_length = screen_width * screen_depth / 8;
1187 info->fix.accel = FB_ACCEL_NONE;
1189 info->fbops = &hvfb_ops;
1190 info->pseudo_palette = par->pseudo_palette;
1193 info->fbdefio = &synthvid_defio;
1194 fb_deferred_io_init(info);
1201 ret = register_framebuffer(info);
1225 fb_deferred_io_cleanup(info);
1226 hvfb_putmem(hdev, info);
1232 framebuffer_release(info);
1238 struct fb_info *info = hv_get_drvdata(hdev);
1239 struct hvfb_par *par = info->par;
1247 fb_deferred_io_cleanup(info);
1249 unregister_framebuffer(info);
1255 hvfb_putmem(hdev, info);
1256 framebuffer_release(info);
1261 struct fb_info *info = hv_get_drvdata(hdev);
1262 struct hvfb_par *par = info->par;
1267 fb_set_suspend(info, 1);
1270 cancel_delayed_work_sync(&info->deferred_work);
1285 struct fb_info *info = hv_get_drvdata(hdev);
1286 struct hvfb_par *par = info->par;
1304 schedule_delayed_work(&info->deferred_work, info->fbdefio->delay);
1308 fb_set_suspend(info, 0);