Lines Matching refs:vmode
194 static int vesa_bios_get_mode(int mode, struct vesa_mode *vmode, int flags);
224 static int vesa_get_bpscanline(struct vesa_mode *vmode);
304 vesa_bios_get_mode(int mode, struct vesa_mode *vmode, int flags) in vesa_bios_get_mode() argument
310 buf = x86bios_alloc(&offs, sizeof(*vmode), flags); in vesa_bios_get_mode()
324 x86bios_free(buf, sizeof(*vmode)); in vesa_bios_get_mode()
328 bcopy(buf, vmode, sizeof(*vmode)); in vesa_bios_get_mode()
329 x86bios_free(buf, sizeof(*vmode)); in vesa_bios_get_mode()
712 vesa_get_bpscanline(struct vesa_mode *vmode) in vesa_get_bpscanline() argument
716 if ((vmode->v_modeattr & V_MODEGRAPHICS) != 0) { in vesa_get_bpscanline()
718 switch (vmode->v_bpp / vmode->v_planes) { in vesa_get_bpscanline()
720 bpsl = vmode->v_width / 8; in vesa_get_bpscanline()
723 bpsl = vmode->v_width / 4; in vesa_get_bpscanline()
726 bpsl = vmode->v_width / 2; in vesa_get_bpscanline()
729 bpsl = vmode->v_width * ((vmode->v_bpp + 7) / 8); in vesa_get_bpscanline()
730 bpsl /= vmode->v_planes; in vesa_get_bpscanline()
735 if ((vmode->v_modeattr & V_MODELFB) != 0 && in vesa_get_bpscanline()
737 vmode->v_linbpscanline > bpsl) in vesa_get_bpscanline()
738 return (vmode->v_linbpscanline); in vesa_get_bpscanline()
741 if (vmode->v_bpscanline < bpsl) in vesa_get_bpscanline()
745 return (vmode->v_bpscanline); in vesa_get_bpscanline()
763 struct vesa_mode vmode; in vesa_bios_init() local
879 if (vesa_bios_get_mode(vesa_vmodetab[i], &vmode, M_WAITOK)) in vesa_bios_init()
882 vmode.v_modeattr = le16toh(vmode.v_modeattr); in vesa_bios_init()
883 vmode.v_wgran = le16toh(vmode.v_wgran); in vesa_bios_init()
884 vmode.v_wsize = le16toh(vmode.v_wsize); in vesa_bios_init()
885 vmode.v_waseg = le16toh(vmode.v_waseg); in vesa_bios_init()
886 vmode.v_wbseg = le16toh(vmode.v_wbseg); in vesa_bios_init()
887 vmode.v_posfunc = le32toh(vmode.v_posfunc); in vesa_bios_init()
888 vmode.v_bpscanline = le16toh(vmode.v_bpscanline); in vesa_bios_init()
889 vmode.v_width = le16toh(vmode.v_width); in vesa_bios_init()
890 vmode.v_height = le16toh(vmode.v_height); in vesa_bios_init()
891 vmode.v_lfb = le32toh(vmode.v_lfb); in vesa_bios_init()
892 vmode.v_offscreen = le32toh(vmode.v_offscreen); in vesa_bios_init()
893 vmode.v_offscreensize = le16toh(vmode.v_offscreensize); in vesa_bios_init()
894 vmode.v_linbpscanline = le16toh(vmode.v_linbpscanline); in vesa_bios_init()
895 vmode.v_maxpixelclock = le32toh(vmode.v_maxpixelclock); in vesa_bios_init()
899 if ((vmode.v_modeattr & in vesa_bios_init()
904 if ((vmode.v_modeattr & V_MODEOPTINFO) == 0) { in vesa_bios_init()
908 vmode.v_modeattr & V_MODEGRAPHICS ? in vesa_bios_init()
910 vmode.v_width, vmode.v_height, vmode.v_bpp, in vesa_bios_init()
911 vmode.v_modeattr); in vesa_bios_init()
917 bsize = vesa_get_bpscanline(&vmode) * vmode.v_height; in vesa_bios_init()
918 if ((vmode.v_modeattr & V_MODEGRAPHICS) != 0) in vesa_bios_init()
919 bsize *= vmode.v_planes; in vesa_bios_init()
926 vmode.v_modeattr & V_MODEGRAPHICS ? in vesa_bios_init()
928 vmode.v_width, vmode.v_height, vmode.v_bpp, in vesa_bios_init()
929 vmode.v_modeattr); in vesa_bios_init()
954 vmode.v_modeattr & V_MODEGRAPHICS ? "graphics" : "text", in vesa_bios_init()
955 vmode.v_width, vmode.v_height, vmode.v_bpp); in vesa_bios_init()
958 if ((vmode.v_width & 0xff00) >> 8 == vmode.v_height - 1) { in vesa_bios_init()
959 vmode.v_width &= 0xff; in vesa_bios_init()
960 vmode.v_waseg = 0xb8000 >> 4; in vesa_bios_init()
967 vesa_vmode[modes].vi_width = vmode.v_width; in vesa_bios_init()
968 vesa_vmode[modes].vi_height = vmode.v_height; in vesa_bios_init()
969 vesa_vmode[modes].vi_depth = vmode.v_bpp; in vesa_bios_init()
970 vesa_vmode[modes].vi_planes = vmode.v_planes; in vesa_bios_init()
971 vesa_vmode[modes].vi_cwidth = vmode.v_cwidth; in vesa_bios_init()
972 vesa_vmode[modes].vi_cheight = vmode.v_cheight; in vesa_bios_init()
973 vesa_vmode[modes].vi_window = (vm_offset_t)vmode.v_waseg << 4; in vesa_bios_init()
975 vesa_vmode[modes].vi_window_size = vmode.v_wsize * 1024; in vesa_bios_init()
976 vesa_vmode[modes].vi_window_gran = vmode.v_wgran * 1024; in vesa_bios_init()
977 if (vmode.v_modeattr & V_MODELFB) in vesa_bios_init()
978 vesa_vmode[modes].vi_buffer = vmode.v_lfb; in vesa_bios_init()
981 vesa_translate_mmodel(vmode.v_memmodel); in vesa_bios_init()
984 if ((vmode.v_modeattr & V_MODELFB) != 0 && in vesa_bios_init()
987 vmode.v_linredfieldpos; in vesa_bios_init()
989 vmode.v_lingreenfieldpos; in vesa_bios_init()
991 vmode.v_linbluefieldpos; in vesa_bios_init()
993 vmode.v_linresfieldpos; in vesa_bios_init()
995 vmode.v_linredmasksize; in vesa_bios_init()
997 vmode.v_lingreenmasksize; in vesa_bios_init()
999 vmode.v_linbluemasksize; in vesa_bios_init()
1001 vmode.v_linresmasksize; in vesa_bios_init()
1004 vmode.v_redfieldpos; in vesa_bios_init()
1006 vmode.v_greenfieldpos; in vesa_bios_init()
1008 vmode.v_bluefieldpos; in vesa_bios_init()
1010 vmode.v_resfieldpos; in vesa_bios_init()
1012 vmode.v_redmasksize; in vesa_bios_init()
1014 vmode.v_greenmasksize; in vesa_bios_init()
1016 vmode.v_bluemasksize; in vesa_bios_init()
1018 vmode.v_resmasksize; in vesa_bios_init()
1022 vesa_vmode[modes].vi_pixel_size = (vmode.v_bpp + 7) / 8; in vesa_bios_init()
1026 vesa_translate_flags(vmode.v_modeattr) | V_INFO_VESA; in vesa_bios_init()
1851 struct vesa_mode vmode; in vesa_bios_info() local
1888 if (vesa_bios_get_mode(vesa_vmodetab[i], &vmode, M_NOWAIT)) in vesa_bios_info()
1893 vesa_vmodetab[i], vmode.v_modeattr); in vesa_bios_info()
1894 if (vmode.v_modeattr & V_MODEOPTINFO) { in vesa_bios_info()
1895 if (vmode.v_modeattr & V_MODEGRAPHICS) { in vesa_bios_info()
1897 vmode.v_width, vmode.v_height, in vesa_bios_info()
1898 vmode.v_bpp, vmode.v_planes); in vesa_bios_info()
1901 vmode.v_width, vmode.v_height); in vesa_bios_info()
1904 vmode.v_cwidth, vmode.v_cheight); in vesa_bios_info()
1906 vmode.v_ipages + 1, vmode.v_memmodel); in vesa_bios_info()
1908 if (vmode.v_modeattr & V_MODELFB) { in vesa_bios_info()
1910 vmode.v_lfb, vmode.v_offscreen, in vesa_bios_info()
1911 vmode.v_offscreensize*1024); in vesa_bios_info()
1915 vmode.v_waseg, vmode.v_waattr, in vesa_bios_info()
1916 vmode.v_wbseg, vmode.v_wbattr); in vesa_bios_info()
1918 vmode.v_wsize, vmode.v_wgran); in vesa_bios_info()