Lines Matching refs:vmode

196 static int vesa_bios_get_mode(int mode, struct vesa_mode *vmode, int flags);
226 static int vesa_get_bpscanline(struct vesa_mode *vmode);
306 vesa_bios_get_mode(int mode, struct vesa_mode *vmode, int flags) in vesa_bios_get_mode() argument
312 buf = x86bios_alloc(&offs, sizeof(*vmode), flags); in vesa_bios_get_mode()
326 x86bios_free(buf, sizeof(*vmode)); in vesa_bios_get_mode()
330 bcopy(buf, vmode, sizeof(*vmode)); in vesa_bios_get_mode()
331 x86bios_free(buf, sizeof(*vmode)); in vesa_bios_get_mode()
714 vesa_get_bpscanline(struct vesa_mode *vmode) in vesa_get_bpscanline() argument
718 if ((vmode->v_modeattr & V_MODEGRAPHICS) != 0) { in vesa_get_bpscanline()
720 switch (vmode->v_bpp / vmode->v_planes) { in vesa_get_bpscanline()
722 bpsl = vmode->v_width / 8; in vesa_get_bpscanline()
725 bpsl = vmode->v_width / 4; in vesa_get_bpscanline()
728 bpsl = vmode->v_width / 2; in vesa_get_bpscanline()
731 bpsl = vmode->v_width * ((vmode->v_bpp + 7) / 8); in vesa_get_bpscanline()
732 bpsl /= vmode->v_planes; in vesa_get_bpscanline()
737 if ((vmode->v_modeattr & V_MODELFB) != 0 && in vesa_get_bpscanline()
739 vmode->v_linbpscanline > bpsl) in vesa_get_bpscanline()
740 return (vmode->v_linbpscanline); in vesa_get_bpscanline()
743 if (vmode->v_bpscanline < bpsl) in vesa_get_bpscanline()
747 return (vmode->v_bpscanline); in vesa_get_bpscanline()
765 struct vesa_mode vmode; in vesa_bios_init() local
881 if (vesa_bios_get_mode(vesa_vmodetab[i], &vmode, M_WAITOK)) in vesa_bios_init()
884 vmode.v_modeattr = le16toh(vmode.v_modeattr); in vesa_bios_init()
885 vmode.v_wgran = le16toh(vmode.v_wgran); in vesa_bios_init()
886 vmode.v_wsize = le16toh(vmode.v_wsize); in vesa_bios_init()
887 vmode.v_waseg = le16toh(vmode.v_waseg); in vesa_bios_init()
888 vmode.v_wbseg = le16toh(vmode.v_wbseg); in vesa_bios_init()
889 vmode.v_posfunc = le32toh(vmode.v_posfunc); in vesa_bios_init()
890 vmode.v_bpscanline = le16toh(vmode.v_bpscanline); in vesa_bios_init()
891 vmode.v_width = le16toh(vmode.v_width); in vesa_bios_init()
892 vmode.v_height = le16toh(vmode.v_height); in vesa_bios_init()
893 vmode.v_lfb = le32toh(vmode.v_lfb); in vesa_bios_init()
894 vmode.v_offscreen = le32toh(vmode.v_offscreen); in vesa_bios_init()
895 vmode.v_offscreensize = le16toh(vmode.v_offscreensize); in vesa_bios_init()
896 vmode.v_linbpscanline = le16toh(vmode.v_linbpscanline); in vesa_bios_init()
897 vmode.v_maxpixelclock = le32toh(vmode.v_maxpixelclock); in vesa_bios_init()
901 if ((vmode.v_modeattr & in vesa_bios_init()
906 if ((vmode.v_modeattr & V_MODEOPTINFO) == 0) { in vesa_bios_init()
910 vmode.v_modeattr & V_MODEGRAPHICS ? in vesa_bios_init()
912 vmode.v_width, vmode.v_height, vmode.v_bpp, in vesa_bios_init()
913 vmode.v_modeattr); in vesa_bios_init()
919 bsize = vesa_get_bpscanline(&vmode) * vmode.v_height; in vesa_bios_init()
920 if ((vmode.v_modeattr & V_MODEGRAPHICS) != 0) in vesa_bios_init()
921 bsize *= vmode.v_planes; in vesa_bios_init()
928 vmode.v_modeattr & V_MODEGRAPHICS ? in vesa_bios_init()
930 vmode.v_width, vmode.v_height, vmode.v_bpp, in vesa_bios_init()
931 vmode.v_modeattr); in vesa_bios_init()
956 vmode.v_modeattr & V_MODEGRAPHICS ? "graphics" : "text", in vesa_bios_init()
957 vmode.v_width, vmode.v_height, vmode.v_bpp); in vesa_bios_init()
960 if ((vmode.v_width & 0xff00) >> 8 == vmode.v_height - 1) { in vesa_bios_init()
961 vmode.v_width &= 0xff; in vesa_bios_init()
962 vmode.v_waseg = 0xb8000 >> 4; in vesa_bios_init()
969 vesa_vmode[modes].vi_width = vmode.v_width; in vesa_bios_init()
970 vesa_vmode[modes].vi_height = vmode.v_height; in vesa_bios_init()
971 vesa_vmode[modes].vi_depth = vmode.v_bpp; in vesa_bios_init()
972 vesa_vmode[modes].vi_planes = vmode.v_planes; in vesa_bios_init()
973 vesa_vmode[modes].vi_cwidth = vmode.v_cwidth; in vesa_bios_init()
974 vesa_vmode[modes].vi_cheight = vmode.v_cheight; in vesa_bios_init()
975 vesa_vmode[modes].vi_window = (vm_offset_t)vmode.v_waseg << 4; in vesa_bios_init()
977 vesa_vmode[modes].vi_window_size = vmode.v_wsize * 1024; in vesa_bios_init()
978 vesa_vmode[modes].vi_window_gran = vmode.v_wgran * 1024; in vesa_bios_init()
979 if (vmode.v_modeattr & V_MODELFB) in vesa_bios_init()
980 vesa_vmode[modes].vi_buffer = vmode.v_lfb; in vesa_bios_init()
983 vesa_translate_mmodel(vmode.v_memmodel); in vesa_bios_init()
986 if ((vmode.v_modeattr & V_MODELFB) != 0 && in vesa_bios_init()
989 vmode.v_linredfieldpos; in vesa_bios_init()
991 vmode.v_lingreenfieldpos; in vesa_bios_init()
993 vmode.v_linbluefieldpos; in vesa_bios_init()
995 vmode.v_linresfieldpos; in vesa_bios_init()
997 vmode.v_linredmasksize; in vesa_bios_init()
999 vmode.v_lingreenmasksize; in vesa_bios_init()
1001 vmode.v_linbluemasksize; in vesa_bios_init()
1003 vmode.v_linresmasksize; in vesa_bios_init()
1006 vmode.v_redfieldpos; in vesa_bios_init()
1008 vmode.v_greenfieldpos; in vesa_bios_init()
1010 vmode.v_bluefieldpos; in vesa_bios_init()
1012 vmode.v_resfieldpos; in vesa_bios_init()
1014 vmode.v_redmasksize; in vesa_bios_init()
1016 vmode.v_greenmasksize; in vesa_bios_init()
1018 vmode.v_bluemasksize; in vesa_bios_init()
1020 vmode.v_resmasksize; in vesa_bios_init()
1024 vesa_vmode[modes].vi_pixel_size = (vmode.v_bpp + 7) / 8; in vesa_bios_init()
1028 vesa_translate_flags(vmode.v_modeattr) | V_INFO_VESA; in vesa_bios_init()
1848 struct vesa_mode vmode; in vesa_bios_info() local
1885 if (vesa_bios_get_mode(vesa_vmodetab[i], &vmode, M_NOWAIT)) in vesa_bios_info()
1890 vesa_vmodetab[i], vmode.v_modeattr); in vesa_bios_info()
1891 if (vmode.v_modeattr & V_MODEOPTINFO) { in vesa_bios_info()
1892 if (vmode.v_modeattr & V_MODEGRAPHICS) { in vesa_bios_info()
1894 vmode.v_width, vmode.v_height, in vesa_bios_info()
1895 vmode.v_bpp, vmode.v_planes); in vesa_bios_info()
1898 vmode.v_width, vmode.v_height); in vesa_bios_info()
1901 vmode.v_cwidth, vmode.v_cheight); in vesa_bios_info()
1903 vmode.v_ipages + 1, vmode.v_memmodel); in vesa_bios_info()
1905 if (vmode.v_modeattr & V_MODELFB) { in vesa_bios_info()
1907 vmode.v_lfb, vmode.v_offscreen, in vesa_bios_info()
1908 vmode.v_offscreensize*1024); in vesa_bios_info()
1912 vmode.v_waseg, vmode.v_waattr, in vesa_bios_info()
1913 vmode.v_wbseg, vmode.v_wbattr); in vesa_bios_info()
1915 vmode.v_wsize, vmode.v_wgran); in vesa_bios_info()