Home | History | Annotate | only in /src/sys/dev/videomode
History log of /src/sys/dev/videomode
RevisionDateAuthorComments
 1.2 19-Oct-2008  apb Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
 1.1 11-May-2006  gdamore branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10; 1.1.14; 1.1.20; 1.1.70; 1.1.74; 1.1.80;
Add EDID framework. (No documentation as yet.)

This allows one to query monitors (or use BIOS EDID data) and learn their
default modes, etc. To use this, pass an EDID data block edid_parse(), and
get back nicely parsed data, including precalculated modes using GTF, etc.

The result can be printed using edid_print().

Also, if you want to use GTF to generate modes without EDID, you can use the
vesagtf pseudo-device. vesagtf.c can also be compiled as a standalone program
to generate XFree86 modelines.
 1.1.80.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.1.74.1 04-May-2009  yamt sync with head.
 1.1.70.1 17-Jan-2009  mjf Sync with HEAD.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 11-May-2006  rpaulo file Makefile.ediddevs was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 11-May-2006  yamt file Makefile.ediddevs was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.1.10.2 01-Jun-2006  kardel Sync with head.
 1.1.10.1 11-May-2006  kardel file Makefile.ediddevs was added on branch simonb-timecounters on 2006-06-01 22:37:42 +0000
 1.1.8.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.8.1 11-May-2006  tron file Makefile.ediddevs was added on branch peter-altq on 2006-05-24 15:50:32 +0000
 1.1.6.2 24-May-2006  yamt sync with head.
 1.1.6.1 11-May-2006  yamt file Makefile.ediddevs was added on branch yamt-pdpolicy on 2006-05-24 10:58:31 +0000
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 11-May-2006  elad file Makefile.ediddevs was added on branch elad-kernelauth on 2006-05-11 23:29:59 +0000
 1.2 19-Oct-2008  apb Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
 1.1 04-Mar-2006  gdamore branches: 1.1.8; 1.1.14; 1.1.20; 1.1.70; 1.1.74; 1.1.80;
Initial swag at common video mode database. Not used for anything (yet).
 1.1.80.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.1.74.1 04-May-2009  yamt sync with head.
 1.1.70.1 17-Jan-2009  mjf Sync with HEAD.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 04-Mar-2006  rpaulo file Makefile.videomode was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 04-Mar-2006  yamt file Makefile.videomode was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.1.8.2 22-Apr-2006  simonb Sync with head.
 1.1.8.1 04-Mar-2006  simonb file Makefile.videomode was added on branch simonb-timecounters on 2006-04-22 11:39:43 +0000
 1.1 11-May-2006  gdamore branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10; 1.1.14; 1.1.20;
Add EDID framework. (No documentation as yet.)

This allows one to query monitors (or use BIOS EDID data) and learn their
default modes, etc. To use this, pass an EDID data block edid_parse(), and
get back nicely parsed data, including precalculated modes using GTF, etc.

The result can be printed using edid_print().

Also, if you want to use GTF to generate modes without EDID, you can use the
vesagtf pseudo-device. vesagtf.c can also be compiled as a standalone program
to generate XFree86 modelines.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 11-May-2006  rpaulo file devlist2h.awk was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 11-May-2006  yamt file devlist2h.awk was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.1.10.2 01-Jun-2006  kardel Sync with head.
 1.1.10.1 11-May-2006  kardel file devlist2h.awk was added on branch simonb-timecounters on 2006-06-01 22:37:42 +0000
 1.1.8.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.8.1 11-May-2006  tron file devlist2h.awk was added on branch peter-altq on 2006-05-24 15:50:32 +0000
 1.1.6.2 24-May-2006  yamt sync with head.
 1.1.6.1 11-May-2006  yamt file devlist2h.awk was added on branch yamt-pdpolicy on 2006-05-24 10:58:31 +0000
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 11-May-2006  elad file devlist2h.awk was added on branch elad-kernelauth on 2006-05-11 23:29:59 +0000
 1.18 25-Sep-2022  thorpej Remove unnecessary include of <sys/malloc.h>.
 1.17 16-Apr-2022  andvar fix various typos in comments and log messages.
 1.16 25-Dec-2021  mlelstv Make re-usuable to userland. The vesagtf standalone build is #if'd out for now.
 1.15 25-Jan-2020  maxv Fix uninitialized variable. There may not be a TYPE_ASCII block. Found by
kMSan with nouveau.
 1.14 10-Jul-2018  macallan branches: 1.14.8;
add quirk to find the native resolution on certain Iiyama monitors
tested by MOCHIDA Shuji
 1.13 17-Nov-2014  jmcneill branches: 1.13.18; 1.13.20;
Parse the extension block count field, and make it available in struct edid_info
 1.12 08-Feb-2013  skrll branches: 1.12.12;
aprint_verbose -> aprint_debug
 1.11 09-Apr-2011  christos branches: 1.11.4; 1.11.10; 1.11.14;
make this compile again.
 1.10 09-Apr-2011  christos - little KNF
- use struct copy instead of memcpy
- snprintf("%s") -> strlcpy
- fix NUL termination
 1.9 09-Apr-2011  jdc Remove duplicate video modes.

When parsing the established and the detailed timings, check to see if this
mode already exists in our mode list. If the mode exists when parsing
established timings, then do nothing (we already have this exact mode). If
the mode exists when parsing detailed timings, then replace our timings with
the timings from the monitor.
 1.8 30-Mar-2011  jdc Display detailed timing parameters in edid_print().
 1.7 21-Mar-2011  jdc Correct "832x624x74".
Update comments.
Reverse iteratiion, so that modes are in established timing order.
 1.6 14-Nov-2009  tsutsui branches: 1.6.4; 1.6.6;
Fix a wrong index value for edid_products[] inside #ifdef EDIDVERBOSE in
edid_findproduct(). From Yasushi Oshima via FUKAUMI Naoki in udl(4) patch.
 1.5 07-Mar-2007  macallan branches: 1.5.40;
correct the maximum supported dotclock on monitors that report one value
but claim to support modes which need something higher, while there also
initialize the edid_preferred_mode pointer before using it
 1.4 07-Mar-2007  macallan initialize edid_nmodes before using it (in edid_parse() )
 1.3 13-May-2006  gdamore branches: 1.3.4; 1.3.6; 1.3.8; 1.3.12; 1.3.18; 1.3.24;
Correct two problems with established timings. First, the wrong hex value
was being read due to using the same byte twice.

Second, the ordered list of names was *backwards* in the _edid_modes list.
 1.2 11-May-2006  gdamore branches: 1.2.2;
Change edid_parse() to take the edid structure as argument rather than
allocating its own. (This is cleaner since we aren't allocating any
other data in this structure.)

Get rid of edid_free() as a result.
 1.1 11-May-2006  gdamore Add EDID framework. (No documentation as yet.)

This allows one to query monitors (or use BIOS EDID data) and learn their
default modes, etc. To use this, pass an EDID data block edid_parse(), and
get back nicely parsed data, including precalculated modes using GTF, etc.

The result can be printed using edid_print().

Also, if you want to use GTF to generate modes without EDID, you can use the
vesagtf pseudo-device. vesagtf.c can also be compiled as a standalone program
to generate XFree86 modelines.
 1.2.2.2 11-May-2006  elad sync with head
 1.2.2.1 11-May-2006  elad file edid.c was added on branch elad-kernelauth on 2006-05-11 23:29:59 +0000
 1.3.24.1 12-Mar-2007  rmind Sync with HEAD.
 1.3.18.2 09-Sep-2006  rpaulo sync with head
 1.3.18.1 13-May-2006  rpaulo file edid.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.3.12.3 03-Sep-2007  yamt sync with head.
 1.3.12.2 21-Jun-2006  yamt sync with head.
 1.3.12.1 13-May-2006  yamt file edid.c was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.3.8.2 01-Jun-2006  kardel Sync with head.
 1.3.8.1 13-May-2006  kardel file edid.c was added on branch simonb-timecounters on 2006-06-01 22:37:42 +0000
 1.3.6.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.3.6.1 13-May-2006  tron file edid.c was added on branch peter-altq on 2006-05-24 15:50:32 +0000
 1.3.4.2 24-May-2006  yamt sync with head.
 1.3.4.1 13-May-2006  yamt file edid.c was added on branch yamt-pdpolicy on 2006-05-24 10:58:31 +0000
 1.5.40.1 11-Mar-2010  yamt sync with head
 1.6.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.6.4.1 21-Apr-2011  rmind sync with head
 1.11.14.2 03-Dec-2017  jdolecek update from HEAD
 1.11.14.1 25-Feb-2013  tls resync with head
 1.11.10.1 13-Feb-2013  riz Pull up following revision(s) (requested by skrll in ticket #813):

etc/MAKEDEV.tmpl 1.160
etc/etc.evbarm/MAKEDEV.conf 1.9
external/broadcom/rpi-firmware/dist/LICENCE.broadcom 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.2
external/broadcom/rpi-firmware/dist/fixup.dat 1.1
external/broadcom/rpi-firmware/dist/fixup.dat 1.2
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.1
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.2
external/broadcom/rpi-firmware/dist/start.elf 1.1
external/broadcom/rpi-firmware/dist/start.elf 1.2
external/broadcom/rpi-firmware/dist/start_cd.elf 1.1
external/broadcom/rpi-firmware/dist/start_cd.elf 1.2
sys/arch/arm/broadcom/bcm2835_bsc.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_bscreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_dotg.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_emmc.c 1.7 via patch
sys/arch/arm/broadcom/bcm2835_genfb.c 1.4 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_gpioreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_intr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_mbox.h 1.4 via patch
sys/arch/arm/broadcom/bcm2835_obio.c 1.17 via patch
sys/arch/arm/broadcom/bcm2835_pm.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_rng.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_space.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_spi.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_spireg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_tmr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835reg.h 1.10 via patch
sys/arch/arm/broadcom/files.bcm2835 1.14 via patch
sys/arch/evbarm/conf/RPI 1.23 via patch
sys/arch/evbarm/conf/files.rpi 1.3 via patch
sys/arch/evbarm/conf/mk.rpi 1.2 via patch
sys/arch/evbarm/conf/std.rpi 1.4 via patch
sys/arch/evbarm/rpi/rpi_machdep.c 1.34 via patch
sys/arch/evbarm/rpi/rpi_start.S 1.7 via patch
sys/arch/evbarm/rpi/rpi_vcmbox.c 1.2 via patch
sys/arch/evbarm/rpi/vcio.h 1.1 via patch
sys/arch/evbarm/rpi/vcprop.h 1.7 via patch
sys/conf/files patch
sys/dev/sdmmc/sdhc.c 1.43
sys/dev/sdmmc/sdhcvar.h 1.13
sys/dev/usb/dwc_otg.c 1.45 via patch
sys/dev/usb/dwc_otgreg.h 1.5 via patch
sys/dev/usb/dwc_otgvar.h 1.11 via patch
sys/dev/usb/files.usb 1.126 via patch
sys/dev/usb/if_smsc.c 1.7 via patch
sys/dev/usb/if_smscreg.h 1.1 via patch
sys/dev/usb/if_smscvar.h 1.1 via patch
sys/dev/usb/usbdevices.config patch
sys/dev/usb/usbdevs 1.633 via patch
sys/dev/usb/usbdevs.h regen
sys/dev/usb/usbdevs_data.h regen
sys/dev/wscons/wsconsio.h 1.105,1.107 via patch
sys/dev/wscons/wsdisplayvar.h 1.50
sys/dev/wscons/wsdisplay_util.c 1.2
sys/dev/videomode/edid.c 1.12 via patch

Greatly improved Raspberry Pi support. USB and onboard
Ethernet should work.
[skrll, ticket #813]
 1.11.4.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.12.12.1 18-Nov-2014  snj Pull up following revision(s) (requested by jmcneill in ticket #244):
sys/arch/arm/allwinner/awin_hdmi.c: revision 1.13-1.15
sys/arch/arm/allwinner/awin_hdmiaudio.c: revision 1.4
sys/arch/arm/allwinner/awin_var.h: revision 1.25
sys/arch/evbarm/awin/awin_machdep.c: revision 1.29
sys/dev/i2c/ddc.c: revision 1.4
sys/dev/i2c/ddcvar.h: revision 1.2
sys/dev/videomode/edid.c: revision 1.13
sys/dev/videomode/edidreg.h: revision 1.4
sys/dev/videomode/edidvar.h: revision 1.3
Parse the extension block count field, and make it available in struct edid_info
--
add ddc_read_edid_block, which is the same as ddc_read_edid but takes an additional block number argument
--
Add support for DVI displays. Detect HDMI vs DVI mode by looking for a
CEA-861-D extension block in the EDID, and then searching this block for
an HDMI vendor-specific data block (HDMI VSDB).
--
Allow for overriding DVI/HDMI detection with a kernel boot arg. Set
hdmi.forcemode=dvi or hdmi.forcemode=hdmi to disable auto-detection.
--
report hotplug status for AUDIO_GETDEV fields, only allow playback if a capable display is connected
--
clear repeater sel bits before setting -- would cause an issue if we ever switched away from a pixel doubling mode
 1.13.20.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.13.20.1 10-Jun-2019  christos Sync with HEAD
 1.13.18.1 28-Jul-2018  pgoyette Sync with HEAD
 1.14.8.1 25-Jan-2020  ad Sync with head.
 1.3 21-Jan-2009  jnemeth add a comment explaining how to regenerate ediddevs.h and ediddevs_data.h
 1.2 07-Mar-2007  macallan branches: 1.2.40; 1.2.50;
add Relisys
 1.1 11-May-2006  gdamore branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10; 1.1.14; 1.1.20; 1.1.26;
Add EDID framework. (No documentation as yet.)

This allows one to query monitors (or use BIOS EDID data) and learn their
default modes, etc. To use this, pass an EDID data block edid_parse(), and
get back nicely parsed data, including precalculated modes using GTF, etc.

The result can be printed using edid_print().

Also, if you want to use GTF to generate modes without EDID, you can use the
vesagtf pseudo-device. vesagtf.c can also be compiled as a standalone program
to generate XFree86 modelines.
 1.1.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 11-May-2006  rpaulo file ediddevs was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.1.14.3 03-Sep-2007  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 11-May-2006  yamt file ediddevs was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.1.10.2 01-Jun-2006  kardel Sync with head.
 1.1.10.1 11-May-2006  kardel file ediddevs was added on branch simonb-timecounters on 2006-06-01 22:37:42 +0000
 1.1.8.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.8.1 11-May-2006  tron file ediddevs was added on branch peter-altq on 2006-05-24 15:50:32 +0000
 1.1.6.2 24-May-2006  yamt sync with head.
 1.1.6.1 11-May-2006  yamt file ediddevs was added on branch yamt-pdpolicy on 2006-05-24 10:58:31 +0000
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 11-May-2006  elad file ediddevs was added on branch elad-kernelauth on 2006-05-11 23:29:59 +0000
 1.2.50.1 03-Mar-2009  skrll Sync with HEAD.
 1.2.40.1 04-May-2009  yamt sync with head.
 1.2 07-Mar-2007  macallan add Relisys
 1.1 11-May-2006  gdamore branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10; 1.1.14; 1.1.20; 1.1.26;
Add EDID framework. (No documentation as yet.)

This allows one to query monitors (or use BIOS EDID data) and learn their
default modes, etc. To use this, pass an EDID data block edid_parse(), and
get back nicely parsed data, including precalculated modes using GTF, etc.

The result can be printed using edid_print().

Also, if you want to use GTF to generate modes without EDID, you can use the
vesagtf pseudo-device. vesagtf.c can also be compiled as a standalone program
to generate XFree86 modelines.
 1.1.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 11-May-2006  rpaulo file ediddevs.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.1.14.3 03-Sep-2007  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 11-May-2006  yamt file ediddevs.h was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.1.10.2 01-Jun-2006  kardel Sync with head.
 1.1.10.1 11-May-2006  kardel file ediddevs.h was added on branch simonb-timecounters on 2006-06-01 22:37:42 +0000
 1.1.8.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.8.1 11-May-2006  tron file ediddevs.h was added on branch peter-altq on 2006-05-24 15:50:32 +0000
 1.1.6.2 24-May-2006  yamt sync with head.
 1.1.6.1 11-May-2006  yamt file ediddevs.h was added on branch yamt-pdpolicy on 2006-05-24 10:58:31 +0000
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 11-May-2006  elad file ediddevs.h was added on branch elad-kernelauth on 2006-05-11 23:29:59 +0000
 1.2 07-Mar-2007  macallan add Relisys
 1.1 11-May-2006  gdamore branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10; 1.1.14; 1.1.20; 1.1.26;
Add EDID framework. (No documentation as yet.)

This allows one to query monitors (or use BIOS EDID data) and learn their
default modes, etc. To use this, pass an EDID data block edid_parse(), and
get back nicely parsed data, including precalculated modes using GTF, etc.

The result can be printed using edid_print().

Also, if you want to use GTF to generate modes without EDID, you can use the
vesagtf pseudo-device. vesagtf.c can also be compiled as a standalone program
to generate XFree86 modelines.
 1.1.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 11-May-2006  rpaulo file ediddevs_data.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.1.14.3 03-Sep-2007  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 11-May-2006  yamt file ediddevs_data.h was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.1.10.2 01-Jun-2006  kardel Sync with head.
 1.1.10.1 11-May-2006  kardel file ediddevs_data.h was added on branch simonb-timecounters on 2006-06-01 22:37:42 +0000
 1.1.8.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.8.1 11-May-2006  tron file ediddevs_data.h was added on branch peter-altq on 2006-05-24 15:50:32 +0000
 1.1.6.2 24-May-2006  yamt sync with head.
 1.1.6.1 11-May-2006  yamt file ediddevs_data.h was added on branch yamt-pdpolicy on 2006-05-24 10:58:31 +0000
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 11-May-2006  elad file ediddevs_data.h was added on branch elad-kernelauth on 2006-05-11 23:29:59 +0000
 1.4 17-Nov-2014  jmcneill Parse the extension block count field, and make it available in struct edid_info
 1.3 30-Mar-2011  jdc branches: 1.3.14; 1.3.30;
Adjustments to detailed timing flags:
give the stereo modes slightly better names
correct the hsync positive and vsync positive bits (these were reversed)
 1.2 13-May-2006  gdamore branches: 1.2.4; 1.2.6; 1.2.8; 1.2.12; 1.2.18; 1.2.96; 1.2.102;
Correct two problems with established timings. First, the wrong hex value
was being read due to using the same byte twice.

Second, the ordered list of names was *backwards* in the _edid_modes list.
 1.1 11-May-2006  gdamore branches: 1.1.2;
Add EDID framework. (No documentation as yet.)

This allows one to query monitors (or use BIOS EDID data) and learn their
default modes, etc. To use this, pass an EDID data block edid_parse(), and
get back nicely parsed data, including precalculated modes using GTF, etc.

The result can be printed using edid_print().

Also, if you want to use GTF to generate modes without EDID, you can use the
vesagtf pseudo-device. vesagtf.c can also be compiled as a standalone program
to generate XFree86 modelines.
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 11-May-2006  elad file edidreg.h was added on branch elad-kernelauth on 2006-05-11 23:29:59 +0000
 1.2.102.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.96.1 21-Apr-2011  rmind sync with head
 1.2.18.2 09-Sep-2006  rpaulo sync with head
 1.2.18.1 13-May-2006  rpaulo file edidreg.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.2.12.2 21-Jun-2006  yamt sync with head.
 1.2.12.1 13-May-2006  yamt file edidreg.h was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.2.8.2 01-Jun-2006  kardel Sync with head.
 1.2.8.1 13-May-2006  kardel file edidreg.h was added on branch simonb-timecounters on 2006-06-01 22:37:42 +0000
 1.2.6.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.6.1 13-May-2006  tron file edidreg.h was added on branch peter-altq on 2006-05-24 15:50:32 +0000
 1.2.4.2 24-May-2006  yamt sync with head.
 1.2.4.1 13-May-2006  yamt file edidreg.h was added on branch yamt-pdpolicy on 2006-05-24 10:58:31 +0000
 1.3.30.1 18-Nov-2014  snj Pull up following revision(s) (requested by jmcneill in ticket #244):
sys/arch/arm/allwinner/awin_hdmi.c: revision 1.13-1.15
sys/arch/arm/allwinner/awin_hdmiaudio.c: revision 1.4
sys/arch/arm/allwinner/awin_var.h: revision 1.25
sys/arch/evbarm/awin/awin_machdep.c: revision 1.29
sys/dev/i2c/ddc.c: revision 1.4
sys/dev/i2c/ddcvar.h: revision 1.2
sys/dev/videomode/edid.c: revision 1.13
sys/dev/videomode/edidreg.h: revision 1.4
sys/dev/videomode/edidvar.h: revision 1.3
Parse the extension block count field, and make it available in struct edid_info
--
add ddc_read_edid_block, which is the same as ddc_read_edid but takes an additional block number argument
--
Add support for DVI displays. Detect HDMI vs DVI mode by looking for a
CEA-861-D extension block in the EDID, and then searching this block for
an HDMI vendor-specific data block (HDMI VSDB).
--
Allow for overriding DVI/HDMI detection with a kernel boot arg. Set
hdmi.forcemode=dvi or hdmi.forcemode=hdmi to disable auto-detection.
--
report hotplug status for AUDIO_GETDEV fields, only allow playback if a capable display is connected
--
clear repeater sel bits before setting -- would cause an issue if we ever switched away from a pixel doubling mode
 1.3.14.1 03-Dec-2017  jdolecek update from HEAD
 1.5 19-Dec-2021  riastradh Need <dev/videomode/videomode.h> for struct videomode.
 1.4 19-Dec-2021  riastradh Nix trailing whitespace.
 1.3 17-Nov-2014  jmcneill Parse the extension block count field, and make it available in struct edid_info
 1.2 11-May-2006  gdamore branches: 1.2.2; 1.2.6; 1.2.8; 1.2.10; 1.2.14; 1.2.20; 1.2.120; 1.2.138;
Change edid_parse() to take the edid structure as argument rather than
allocating its own. (This is cleaner since we aren't allocating any
other data in this structure.)

Get rid of edid_free() as a result.
 1.1 11-May-2006  gdamore Add EDID framework. (No documentation as yet.)

This allows one to query monitors (or use BIOS EDID data) and learn their
default modes, etc. To use this, pass an EDID data block edid_parse(), and
get back nicely parsed data, including precalculated modes using GTF, etc.

The result can be printed using edid_print().

Also, if you want to use GTF to generate modes without EDID, you can use the
vesagtf pseudo-device. vesagtf.c can also be compiled as a standalone program
to generate XFree86 modelines.
 1.2.138.1 18-Nov-2014  snj Pull up following revision(s) (requested by jmcneill in ticket #244):
sys/arch/arm/allwinner/awin_hdmi.c: revision 1.13-1.15
sys/arch/arm/allwinner/awin_hdmiaudio.c: revision 1.4
sys/arch/arm/allwinner/awin_var.h: revision 1.25
sys/arch/evbarm/awin/awin_machdep.c: revision 1.29
sys/dev/i2c/ddc.c: revision 1.4
sys/dev/i2c/ddcvar.h: revision 1.2
sys/dev/videomode/edid.c: revision 1.13
sys/dev/videomode/edidreg.h: revision 1.4
sys/dev/videomode/edidvar.h: revision 1.3
Parse the extension block count field, and make it available in struct edid_info
--
add ddc_read_edid_block, which is the same as ddc_read_edid but takes an additional block number argument
--
Add support for DVI displays. Detect HDMI vs DVI mode by looking for a
CEA-861-D extension block in the EDID, and then searching this block for
an HDMI vendor-specific data block (HDMI VSDB).
--
Allow for overriding DVI/HDMI detection with a kernel boot arg. Set
hdmi.forcemode=dvi or hdmi.forcemode=hdmi to disable auto-detection.
--
report hotplug status for AUDIO_GETDEV fields, only allow playback if a capable display is connected
--
clear repeater sel bits before setting -- would cause an issue if we ever switched away from a pixel doubling mode
 1.2.120.1 03-Dec-2017  jdolecek update from HEAD
 1.2.20.2 09-Sep-2006  rpaulo sync with head
 1.2.20.1 11-May-2006  rpaulo file edidvar.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.2.14.2 21-Jun-2006  yamt sync with head.
 1.2.14.1 11-May-2006  yamt file edidvar.h was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.2.10.2 01-Jun-2006  kardel Sync with head.
 1.2.10.1 11-May-2006  kardel file edidvar.h was added on branch simonb-timecounters on 2006-06-01 22:37:42 +0000
 1.2.8.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.8.1 11-May-2006  tron file edidvar.h was added on branch peter-altq on 2006-05-24 15:50:32 +0000
 1.2.6.2 24-May-2006  yamt sync with head.
 1.2.6.1 11-May-2006  yamt file edidvar.h was added on branch yamt-pdpolicy on 2006-05-24 10:58:31 +0000
 1.2.2.2 11-May-2006  elad sync with head
 1.2.2.1 11-May-2006  elad file edidvar.h was added on branch elad-kernelauth on 2006-05-11 23:29:59 +0000
 1.4 04-May-2010  macallan add a bunch of small utility functions to pick video modes based on things
like dot clock, resolution etc.
 1.3 11-May-2006  gdamore branches: 1.3.6; 1.3.12; 1.3.66; 1.3.88; 1.3.90;
Add EDID framework. (No documentation as yet.)

This allows one to query monitors (or use BIOS EDID data) and learn their
default modes, etc. To use this, pass an EDID data block edid_parse(), and
get back nicely parsed data, including precalculated modes using GTF, etc.

The result can be printed using edid_print().

Also, if you want to use GTF to generate modes without EDID, you can use the
vesagtf pseudo-device. vesagtf.c can also be compiled as a standalone program
to generate XFree86 modelines.
 1.2 04-Mar-2006  gdamore branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8;
Fix a few minor errors in the config data. Tested with a sample config.
 1.1 04-Mar-2006  gdamore Initial swag at common video mode database. Not used for anything (yet).
 1.2.8.3 01-Jun-2006  kardel Sync with head.
 1.2.8.2 22-Apr-2006  simonb Sync with head.
 1.2.8.1 04-Mar-2006  simonb file files.videomode was added on branch simonb-timecounters on 2006-04-22 11:39:43 +0000
 1.2.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.4.1 11-May-2006  elad sync with head
 1.2.2.1 24-May-2006  yamt sync with head.
 1.3.90.1 30-May-2010  rmind sync with head
 1.3.88.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.3.66.1 11-Aug-2010  yamt sync with head.
 1.3.12.2 09-Sep-2006  rpaulo sync with head
 1.3.12.1 11-May-2006  rpaulo file files.videomode was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.3.6.2 21-Jun-2006  yamt sync with head.
 1.3.6.1 11-May-2006  yamt file files.videomode was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.9 30-Mar-2011  jdc Update modes based on our current xsrc.
Minor changes to "640x480 @ 60Hz", "640x480 @ 72Hz", "800x600 @ 85Hz", and
"1024x768 @ 75Hz".
 1.8 21-Mar-2011  jdc Add EDID established timing modelines for 720x400x70 and 720x400x88
 1.7 21-Jan-2009  jnemeth branches: 1.7.6; 1.7.8;
add a comment explaining how to regenerate videomode.c
 1.6 21-Oct-2008  macallan branches: 1.6.2;
add 1152x900 at 66Hz and 76Hz
 1.5 03-Apr-2007  macallan branches: 1.5.30; 1.5.34; 1.5.40;
add 1680x1050 @ 60.00Hz
 1.4 07-Mar-2007  macallan branches: 1.4.2; 1.4.4;
add 1280x1024@70Hz
 1.3 08-Jan-2007  macallan branches: 1.3.2;
add 1280x768@75Hz modeline
from Matthew Wala
 1.2 11-Nov-2006  macallan add 1024x768 @ 89Hz for the Apple eMac
from Marco Trillo
 1.1 04-Mar-2006  gdamore branches: 1.1.8; 1.1.14; 1.1.18; 1.1.20; 1.1.22;
Initial swag at common video mode database. Not used for anything (yet).
 1.1.22.1 10-Dec-2006  yamt sync with head.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 04-Mar-2006  rpaulo file modelines was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.1.18.2 12-Jan-2007  ad Sync with head.
 1.1.18.1 18-Nov-2006  ad Sync with head.
 1.1.14.5 03-Sep-2007  yamt sync with head.
 1.1.14.4 26-Feb-2007  yamt sync with head.
 1.1.14.3 30-Dec-2006  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 04-Mar-2006  yamt file modelines was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.1.8.2 22-Apr-2006  simonb Sync with head.
 1.1.8.1 04-Mar-2006  simonb file modelines was added on branch simonb-timecounters on 2006-04-22 11:39:43 +0000
 1.3.2.2 15-Apr-2007  yamt sync with head.
 1.3.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.4.4.1 11-Jul-2007  mjf Sync with head.
 1.4.2.1 10-Apr-2007  ad Sync with head.
 1.5.40.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.5.34.1 04-May-2009  yamt sync with head.
 1.5.30.1 17-Jan-2009  mjf Sync with HEAD.
 1.6.2.1 03-Mar-2009  skrll Sync with HEAD.
 1.7.8.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.6.1 21-Apr-2011  rmind sync with head
 1.5 21-Mar-2011  jdc Clarify vrefresh comment (no functional change)
 1.4 26-Oct-2006  bjh21 branches: 1.4.76; 1.4.82;
Emit __KERNEL_RCSID() into videomodes.c so that kernels using it can be
more easily identified.
 1.3 09-May-2006  gdamore branches: 1.3.6; 1.3.10; 1.3.12; 1.3.14;
Handle interlace video refresh modes, so 1024x768i is 87Hz refresh, instead
of 43. This corresponds more closely to the mode name as defined by VESA.
 1.2 08-Mar-2006  lukem branches: 1.2.2; 1.2.4;
Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
 1.1 04-Mar-2006  gdamore branches: 1.1.2; 1.1.4;
Initial swag at common video mode database. Not used for anything (yet).
 1.1.4.2 11-May-2006  elad sync with head
 1.1.4.1 19-Apr-2006  elad sync with head.
 1.1.2.2 24-May-2006  yamt sync with head.
 1.1.2.1 13-Mar-2006  yamt sync with head.
 1.2.4.3 01-Jun-2006  kardel Sync with head.
 1.2.4.2 22-Apr-2006  simonb Sync with head.
 1.2.4.1 08-Mar-2006  simonb file modelines2c.awk was added on branch simonb-timecounters on 2006-04-22 11:39:43 +0000
 1.2.2.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.3.14.1 10-Dec-2006  yamt sync with head.
 1.3.12.2 09-Sep-2006  rpaulo sync with head
 1.3.12.1 09-May-2006  rpaulo file modelines2c.awk was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.3.10.1 18-Nov-2006  ad Sync with head.
 1.3.6.3 30-Dec-2006  yamt sync with head.
 1.3.6.2 21-Jun-2006  yamt sync with head.
 1.3.6.1 09-May-2006  yamt file modelines2c.awk was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.4.82.1 06-Jun-2011  jruoho Sync with HEAD.
 1.4.76.1 21-Apr-2011  rmind sync with head
 1.4 09-Apr-2011  christos - little KNF
- use struct copy instead of memcpy
- snprintf("%s") -> strlcpy
- fix NUL termination
 1.3 09-Apr-2011  jdc Add a new function - sort_modes() - to sort video modes in an approximate
order of preference.

The preferred mode is placed first. If there is no preferred mode, then
the first mode with highest resolution is placed first. Other modes are
then sorted on difference from the first mode by refresh rate, aspect
ratio, then size.
 1.2 12-Oct-2010  macallan branches: 1.2.2;
fix off-by-one error which happened when the first mode with matching size is
also the best match by refresh rate
 1.1 04-May-2010  macallan branches: 1.1.2; 1.1.4; 1.1.6;
add a bunch of small utility functions to pick video modes based on things
like dot clock, resolution etc.
 1.1.6.3 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.6.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.1.6.1 04-May-2010  uebayasi file pickmode.c was added on branch uebayasi-xip on 2010-08-17 06:46:48 +0000
 1.1.4.2 11-Aug-2010  yamt sync with head.
 1.1.4.1 04-May-2010  yamt file pickmode.c was added on branch yamt-nfs-mp on 2010-08-11 22:54:17 +0000
 1.1.2.4 21-Apr-2011  rmind sync with head
 1.1.2.3 05-Mar-2011  rmind sync with head
 1.1.2.2 30-May-2010  rmind sync with head
 1.1.2.1 04-May-2010  rmind file pickmode.c was added on branch rmind-uvmplock on 2010-05-30 05:17:46 +0000
 1.2.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1 04-Mar-2006  gdamore branches: 1.1.8; 1.1.14; 1.1.20;
Added a test driver program.
Regenerate videomode.c to pick up NetBSD tag.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 04-Mar-2006  rpaulo file test.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 04-Mar-2006  yamt file test.c was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.1.8.2 22-Apr-2006  simonb Sync with head.
 1.1.8.1 04-Mar-2006  simonb file test.c was added on branch simonb-timecounters on 2006-04-22 11:39:43 +0000
 1.4 25-Dec-2021  mlelstv Make re-usuable to userland. The vesagtf standalone build is #if'd out for now.
 1.3 21-Mar-2014  dholland spelling in comments
 1.2 15-Sep-2013  martin Mark potentially unused variables
 1.1 11-May-2006  gdamore branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10; 1.1.14; 1.1.20; 1.1.110; 1.1.120; 1.1.126;
Add EDID framework. (No documentation as yet.)

This allows one to query monitors (or use BIOS EDID data) and learn their
default modes, etc. To use this, pass an EDID data block edid_parse(), and
get back nicely parsed data, including precalculated modes using GTF, etc.

The result can be printed using edid_print().

Also, if you want to use GTF to generate modes without EDID, you can use the
vesagtf pseudo-device. vesagtf.c can also be compiled as a standalone program
to generate XFree86 modelines.
 1.1.126.1 18-May-2014  rmind sync with head
 1.1.120.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.110.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 11-May-2006  rpaulo file vesagtf.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 11-May-2006  yamt file vesagtf.c was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.1.10.2 01-Jun-2006  kardel Sync with head.
 1.1.10.1 11-May-2006  kardel file vesagtf.c was added on branch simonb-timecounters on 2006-06-01 22:37:42 +0000
 1.1.8.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.8.1 11-May-2006  tron file vesagtf.c was added on branch peter-altq on 2006-05-24 15:50:32 +0000
 1.1.6.2 24-May-2006  yamt sync with head.
 1.1.6.1 11-May-2006  yamt file vesagtf.c was added on branch yamt-pdpolicy on 2006-05-24 10:58:31 +0000
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 11-May-2006  elad file vesagtf.c was added on branch elad-kernelauth on 2006-05-11 23:29:59 +0000
 1.1 11-May-2006  gdamore branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10; 1.1.14; 1.1.20;
Add EDID framework. (No documentation as yet.)

This allows one to query monitors (or use BIOS EDID data) and learn their
default modes, etc. To use this, pass an EDID data block edid_parse(), and
get back nicely parsed data, including precalculated modes using GTF, etc.

The result can be printed using edid_print().

Also, if you want to use GTF to generate modes without EDID, you can use the
vesagtf pseudo-device. vesagtf.c can also be compiled as a standalone program
to generate XFree86 modelines.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 11-May-2006  rpaulo file vesagtf.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 11-May-2006  yamt file vesagtf.h was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.1.10.2 01-Jun-2006  kardel Sync with head.
 1.1.10.1 11-May-2006  kardel file vesagtf.h was added on branch simonb-timecounters on 2006-06-01 22:37:42 +0000
 1.1.8.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.8.1 11-May-2006  tron file vesagtf.h was added on branch peter-altq on 2006-05-24 15:50:32 +0000
 1.1.6.2 24-May-2006  yamt sync with head.
 1.1.6.1 11-May-2006  yamt file vesagtf.h was added on branch yamt-pdpolicy on 2006-05-24 10:58:31 +0000
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 11-May-2006  elad file vesagtf.h was added on branch elad-kernelauth on 2006-05-11 23:29:59 +0000
 1.11 30-Mar-2011  jdc Regenerate for:

Update modes based on our current xsrc.
Minor changes to "640x480 @ 60Hz", "640x480 @ 72Hz", "800x600 @ 85Hz", and
"1024x768 @ 75Hz".
 1.10 21-Mar-2011  jdc Regenerate for:

Add EDID established timing modelines for 720x400x70 and 720x400x88
 1.9 21-Oct-2008  macallan branches: 1.9.16; 1.9.22;
regen
 1.8 03-Apr-2007  macallan branches: 1.8.30; 1.8.34; 1.8.40;
regen
 1.7 07-Mar-2007  macallan branches: 1.7.2; 1.7.4;
add 1280x1024@70Hz
 1.6 08-Jan-2007  macallan branches: 1.6.2;
add 1280x768@75Hz modeline
from Matthew Wala
 1.5 11-Nov-2006  macallan add 1024x768 @ 89Hz for the Apple eMac
from Marco Trillo
 1.4 26-Oct-2006  bjh21 Regen (__KERNEL_RCSID()).
 1.3 09-May-2006  gdamore branches: 1.3.6; 1.3.10; 1.3.12; 1.3.14;
Handle interlace video refresh modes, so 1024x768i is 87Hz refresh, instead
of 43. This corresponds more closely to the mode name as defined by VESA.
 1.2 04-Mar-2006  gdamore branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8;
Added a test driver program.
Regenerate videomode.c to pick up NetBSD tag.
 1.1 04-Mar-2006  gdamore Initial swag at common video mode database. Not used for anything (yet).
 1.2.8.3 01-Jun-2006  kardel Sync with head.
 1.2.8.2 22-Apr-2006  simonb Sync with head.
 1.2.8.1 04-Mar-2006  simonb file videomode.c was added on branch simonb-timecounters on 2006-04-22 11:39:43 +0000
 1.2.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.4.1 11-May-2006  elad sync with head
 1.2.2.1 24-May-2006  yamt sync with head.
 1.3.14.1 10-Dec-2006  yamt sync with head.
 1.3.12.2 09-Sep-2006  rpaulo sync with head
 1.3.12.1 09-May-2006  rpaulo file videomode.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.3.10.2 12-Jan-2007  ad Sync with head.
 1.3.10.1 18-Nov-2006  ad Sync with head.
 1.3.6.5 03-Sep-2007  yamt sync with head.
 1.3.6.4 26-Feb-2007  yamt sync with head.
 1.3.6.3 30-Dec-2006  yamt sync with head.
 1.3.6.2 21-Jun-2006  yamt sync with head.
 1.3.6.1 09-May-2006  yamt file videomode.c was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.6.2.2 15-Apr-2007  yamt sync with head.
 1.6.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.7.4.1 11-Jul-2007  mjf Sync with head.
 1.7.2.1 10-Apr-2007  ad Sync with head.
 1.8.40.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.8.34.1 04-May-2009  yamt sync with head.
 1.8.30.1 17-Jan-2009  mjf Sync with HEAD.
 1.9.22.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.16.1 21-Apr-2011  rmind sync with head
 1.3 09-Apr-2011  jdc Add a new function - sort_modes() - to sort video modes in an approximate
order of preference.

The preferred mode is placed first. If there is no preferred mode, then
the first mode with highest resolution is placed first. Other modes are
then sorted on difference from the first mode by refresh rate, aspect
ratio, then size.
 1.2 04-May-2010  macallan branches: 1.2.2;
add a bunch of small utility functions to pick video modes based on things
like dot clock, resolution etc.
 1.1 04-Mar-2006  gdamore branches: 1.1.8; 1.1.14; 1.1.20; 1.1.74; 1.1.96; 1.1.98;
Initial swag at common video mode database. Not used for anything (yet).
 1.1.98.2 21-Apr-2011  rmind sync with head
 1.1.98.1 30-May-2010  rmind sync with head
 1.1.96.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.1.74.1 11-Aug-2010  yamt sync with head.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 04-Mar-2006  rpaulo file videomode.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:55:51 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 04-Mar-2006  yamt file videomode.h was added on branch yamt-lazymbuf on 2006-06-21 15:08:12 +0000
 1.1.8.2 22-Apr-2006  simonb Sync with head.
 1.1.8.1 04-Mar-2006  simonb file videomode.h was added on branch simonb-timecounters on 2006-04-22 11:39:43 +0000
 1.2.2.1 06-Jun-2011  jruoho Sync with HEAD.

RSS XML Feed