Home | History | Annotate | Download | only in videomode
History log of /src/sys/dev/videomode/edid.c
RevisionDateAuthorComments
 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.

RSS XML Feed