Lines Matching refs:info
187 static void vga16fb_pan_var(struct fb_info *info, in vga16fb_pan_var() argument
190 struct vga16fb_par *par = info->par; in vga16fb_pan_var()
194 if (info->var.bits_per_pixel == 8) { in vga16fb_pan_var()
195 pos = (info->var.xres_virtual * var->yoffset + xoffset) >> 2; in vga16fb_pan_var()
198 pos = (info->var.xres_virtual * (var->yoffset / fh) + xoffset) >> 3; in vga16fb_pan_var()
200 if (info->var.nonstd) in vga16fb_pan_var()
202 pos = (info->var.xres_virtual * var->yoffset + xoffset) >> 3; in vga16fb_pan_var()
210 if (info->var.bits_per_pixel == 8) in vga16fb_pan_var()
218 static void vga16fb_update_fix(struct fb_info *info) in vga16fb_update_fix() argument
220 if (info->var.bits_per_pixel == 4) { in vga16fb_update_fix()
221 if (info->var.nonstd) { in vga16fb_update_fix()
222 info->fix.type = FB_TYPE_PACKED_PIXELS; in vga16fb_update_fix()
223 info->fix.line_length = info->var.xres_virtual / 2; in vga16fb_update_fix()
225 info->fix.type = FB_TYPE_VGA_PLANES; in vga16fb_update_fix()
226 info->fix.type_aux = FB_AUX_VGA_PLANES_VGA4; in vga16fb_update_fix()
227 info->fix.line_length = info->var.xres_virtual / 8; in vga16fb_update_fix()
229 } else if (info->var.bits_per_pixel == 0) { in vga16fb_update_fix()
230 info->fix.type = FB_TYPE_TEXT; in vga16fb_update_fix()
231 info->fix.type_aux = FB_AUX_TEXT_CGA; in vga16fb_update_fix()
232 info->fix.line_length = info->var.xres_virtual / 4; in vga16fb_update_fix()
234 if (info->var.nonstd) { in vga16fb_update_fix()
235 info->fix.type = FB_TYPE_VGA_PLANES; in vga16fb_update_fix()
236 info->fix.type_aux = FB_AUX_VGA_PLANES_CFB8; in vga16fb_update_fix()
237 info->fix.line_length = info->var.xres_virtual / 4; in vga16fb_update_fix()
239 info->fix.type = FB_TYPE_PACKED_PIXELS; in vga16fb_update_fix()
240 info->fix.line_length = info->var.xres_virtual; in vga16fb_update_fix()
247 const struct fb_info *info, in vga16fb_clock_chip() argument
283 static int vga16fb_open(struct fb_info *info, int user) in vga16fb_open() argument
285 struct vga16fb_par *par = info->par; in vga16fb_open()
298 static int vga16fb_release(struct fb_info *info, int user) in vga16fb_release() argument
300 struct vga16fb_par *par = info->par; in vga16fb_release()
313 struct fb_info *info) in vga16fb_check_var() argument
315 struct vga16fb_par *par = info->par; in vga16fb_check_var()
500 vga16fb_clock_chip(par, var->pixclock, info, 1, 2); in vga16fb_check_var()
503 vga16fb_clock_chip(par, var->pixclock, info, 1, 1); in vga16fb_check_var()
518 static int vga16fb_set_par(struct fb_info *info) in vga16fb_set_par() argument
520 struct vga16fb_par *par = info->par; in vga16fb_set_par()
568 atc[VGA_ATC_PEL] = (info->var.xoffset & 3) << 1; in vga16fb_set_par()
570 atc[VGA_ATC_PEL] = info->var.xoffset & 7; in vga16fb_set_par()
632 vga16fb_update_fix(info); in vga16fb_set_par()
660 struct fb_info *info) in vga16fb_setcolreg() argument
662 struct vga16fb_par *par = info->par; in vga16fb_setcolreg()
675 gray = info->var.grayscale; in vga16fb_setcolreg()
689 struct fb_info *info) in vga16fb_pan_display() argument
691 vga16fb_pan_var(info, var); in vga16fb_pan_display()
801 static int vga16fb_blank(int blank, struct fb_info *info) in vga16fb_blank() argument
803 struct vga16fb_par *par = info->par; in vga16fb_blank()
827 static void vga_8planes_fillrect(struct fb_info *info, const struct fb_fillrect *rect) in vga_8planes_fillrect() argument
838 where = info->screen_base + dx + rect->dy * info->fix.line_length; in vga_8planes_fillrect()
845 line_ofs = info->fix.line_length - width; in vga_8planes_fillrect()
870 where += info->fix.line_length; in vga_8planes_fillrect()
881 static void vga16fb_fillrect(struct fb_info *info, const struct fb_fillrect *rect) in vga16fb_fillrect() argument
886 vxres = info->var.xres_virtual; in vga16fb_fillrect()
887 vyres = info->var.yres_virtual; in vga16fb_fillrect()
901 switch (info->fix.type) { in vga16fb_fillrect()
903 if (info->fix.type_aux == FB_AUX_VGA_PLANES_VGA4) { in vga16fb_fillrect()
908 line_ofs = info->fix.line_length - width; in vga16fb_fillrect()
909 dst = info->screen_base + (rect->dx/8) + rect->dy * info->fix.line_length; in vga16fb_fillrect()
947 vga_8planes_fillrect(info, rect); in vga16fb_fillrect()
951 cfb_fillrect(info, rect); in vga16fb_fillrect()
956 static void vga_8planes_copyarea(struct fb_info *info, const struct fb_copyarea *area) in vga_8planes_copyarea() argument
974 line_ofs = info->fix.line_length - width; in vga_8planes_copyarea()
975 dest = info->screen_base + dx + area->dy * info->fix.line_length; in vga_8planes_copyarea()
976 src = info->screen_base + sx + area->sy * info->fix.line_length; in vga_8planes_copyarea()
988 line_ofs = info->fix.line_length - width; in vga_8planes_copyarea()
989 dest = info->screen_base + dx + width + in vga_8planes_copyarea()
990 (area->dy + height - 1) * info->fix.line_length; in vga_8planes_copyarea()
991 src = info->screen_base + sx + width + in vga_8planes_copyarea()
992 (area->sy + height - 1) * info->fix.line_length; in vga_8planes_copyarea()
1011 static void vga16fb_copyarea(struct fb_info *info, const struct fb_copyarea *area) in vga16fb_copyarea() argument
1019 vxres = info->var.xres_virtual; in vga16fb_copyarea()
1020 vyres = info->var.yres_virtual; in vga16fb_copyarea()
1054 switch (info->fix.type) { in vga16fb_copyarea()
1056 if (info->fix.type_aux == FB_AUX_VGA_PLANES_VGA4) { in vga16fb_copyarea()
1059 line_ofs = info->fix.line_length - width; in vga16fb_copyarea()
1066 dst = info->screen_base + (dx/8) + dy * info->fix.line_length; in vga16fb_copyarea()
1067 src = info->screen_base + (sx/8) + sy * info->fix.line_length; in vga16fb_copyarea()
1079 dst = info->screen_base + (dx/8) + width + in vga16fb_copyarea()
1080 (dy + height - 1) * info->fix.line_length; in vga16fb_copyarea()
1081 src = info->screen_base + (sx/8) + width + in vga16fb_copyarea()
1082 (sy + height - 1) * info->fix.line_length; in vga16fb_copyarea()
1095 vga_8planes_copyarea(info, area); in vga16fb_copyarea()
1099 cfb_copyarea(info, area); in vga16fb_copyarea()
1118 static void vga_8planes_imageblit(struct fb_info *info, const struct fb_image *image) in vga_8planes_imageblit() argument
1131 where = info->screen_base + dx + image->dy * info->fix.line_length; in vga_8planes_imageblit()
1140 for (y = 0; y < image->height; y++, where += info->fix.line_length) in vga_8planes_imageblit()
1149 static void vga_imageblit_expand(struct fb_info *info, const struct fb_image *image) in vga_imageblit_expand() argument
1151 char __iomem *where = info->screen_base + (image->dx/8) + in vga_imageblit_expand()
1152 image->dy * info->fix.line_length; in vga_imageblit_expand()
1153 struct vga16fb_par *par = info->par; in vga_imageblit_expand()
1158 switch (info->fix.type) { in vga_imageblit_expand()
1160 if (info->fix.type_aux == FB_AUX_VGA_PLANES_VGA4) { in vga_imageblit_expand()
1178 where += info->fix.line_length; in vga_imageblit_expand()
1200 where += info->fix.line_length; in vga_imageblit_expand()
1204 vga_8planes_imageblit(info, image); in vga_imageblit_expand()
1208 cfb_imageblit(info, image); in vga_imageblit_expand()
1213 static void vga_imageblit_color(struct fb_info *info, const struct fb_image *image) in vga_imageblit_color() argument
1218 struct vga16fb_par *par = info->par; in vga_imageblit_color()
1220 info->screen_base + image->dy * info->fix.line_length + in vga_imageblit_color()
1226 switch (info->fix.type) { in vga_imageblit_color()
1228 if (info->fix.type_aux == FB_AUX_VGA_PLANES_VGA4 && in vga_imageblit_color()
1246 where += info->fix.line_length; in vga_imageblit_color()
1251 cfb_imageblit(info, image); in vga_imageblit_color()
1258 static void vga16fb_imageblit(struct fb_info *info, const struct fb_image *image) in vga16fb_imageblit() argument
1261 vga_imageblit_expand(info, image); in vga16fb_imageblit()
1263 vga_imageblit_color(info, image); in vga16fb_imageblit()
1266 static void vga16fb_destroy(struct fb_info *info) in vga16fb_destroy() argument
1268 iounmap(info->screen_base); in vga16fb_destroy()
1269 fb_dealloc_cmap(&info->cmap); in vga16fb_destroy()
1271 framebuffer_release(info); in vga16fb_destroy()
1306 struct fb_info *info; in vga16fb_probe() local
1312 info = framebuffer_alloc(sizeof(struct vga16fb_par), &dev->dev); in vga16fb_probe()
1314 if (!info) { in vga16fb_probe()
1318 info->apertures = alloc_apertures(1); in vga16fb_probe()
1319 if (!info->apertures) { in vga16fb_probe()
1325 info->screen_base = (void __iomem *)VGA_MAP_MEM(VGA_FB_PHYS, 0); in vga16fb_probe()
1327 if (!info->screen_base) { in vga16fb_probe()
1333 printk(KERN_INFO "vga16fb: mapped to 0x%p\n", info->screen_base); in vga16fb_probe()
1334 par = info->par; in vga16fb_probe()
1347 info->fbops = &vga16fb_ops; in vga16fb_probe()
1348 info->var = vga16fb_defined; in vga16fb_probe()
1349 info->fix = vga16fb_fix; in vga16fb_probe()
1351 info->pixmap.blit_x = 1 << 7 | 1 << 15 | 1 << 23 | 1 << 31; in vga16fb_probe()
1352 info->flags = FBINFO_FLAG_DEFAULT | FBINFO_MISC_FIRMWARE | in vga16fb_probe()
1355 i = (info->var.bits_per_pixel == 8) ? 256 : 16; in vga16fb_probe()
1356 ret = fb_alloc_cmap(&info->cmap, i, 0); in vga16fb_probe()
1363 if (vga16fb_check_var(&info->var, info)) { in vga16fb_probe()
1369 vga16fb_update_fix(info); in vga16fb_probe()
1371 info->apertures->ranges[0].base = VGA_FB_PHYS; in vga16fb_probe()
1372 info->apertures->ranges[0].size = VGA_FB_PHYS_LEN; in vga16fb_probe()
1374 if (register_framebuffer(info) < 0) { in vga16fb_probe()
1380 fb_info(info, "%s frame buffer device\n", info->fix.id); in vga16fb_probe()
1381 platform_set_drvdata(dev, info); in vga16fb_probe()
1386 fb_dealloc_cmap(&info->cmap); in vga16fb_probe()
1388 iounmap(info->screen_base); in vga16fb_probe()
1390 framebuffer_release(info); in vga16fb_probe()
1397 struct fb_info *info = platform_get_drvdata(dev); in vga16fb_remove() local
1399 if (info) in vga16fb_remove()
1400 unregister_framebuffer(info); in vga16fb_remove()