summaryrefslogtreecommitdiff
path: root/hw/xfree86/ddc/edid.h
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2007-12-28 13:33:39 -0500
committerAdam Jackson <ajax@redhat.com>2007-12-28 16:53:16 -0500
commitbac3ecde39cc914ab515991234b7dc2138005b84 (patch)
tree8b1fbf00b7557306b4b3d50821a2d3dc7f135eb3 /hw/xfree86/ddc/edid.h
parent3b23dd9fd43a28033d0af7b02088b0c6ca433158 (diff)
EDID 1.4: Allow for sync range offsets.
Table 3.26: Display Range Limits & Timing Descriptor Block Definition
Diffstat (limited to 'hw/xfree86/ddc/edid.h')
-rw-r--r--hw/xfree86/ddc/edid.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/hw/xfree86/ddc/edid.h b/hw/xfree86/ddc/edid.h
index 4487273cd..02f5d09c5 100644
--- a/hw/xfree86/ddc/edid.h
+++ b/hw/xfree86/ddc/edid.h
@@ -1,5 +1,5 @@
-
-/* edid.h: defines to parse an EDID block
+/*
+ * edid.h: defines to parse an EDID block
*
* This file contains all information to interpret a standard EDIC block
* transmitted by a display device via DDC (Display Data Channel). So far
@@ -241,14 +241,18 @@
#define SERIAL_NUMBER 0xFF
#define ASCII_STR 0xFE
#define MONITOR_RANGES 0xFD
+#define _MIN_V_OFFSET(x) ((!!(x[4] & 0x01)) * 255)
+#define _MAX_V_OFFSET(x) ((!!(x[4] & 0x02)) * 255)
+#define _MIN_H_OFFSET(x) ((!!(x[4] & 0x04)) * 255)
+#define _MAX_H_OFFSET(x) ((!!(x[4] & 0x08)) * 255)
#define _MIN_V(x) x[5]
-#define MIN_V _MIN_V(c)
+#define MIN_V (_MIN_V(c) + _MIN_V_OFFSET(c))
#define _MAX_V(x) x[6]
-#define MAX_V _MAX_V(c)
+#define MAX_V (_MAX_V(c) + _MAX_V_OFFSET(c))
#define _MIN_H(x) x[7]
-#define MIN_H _MIN_H(c)
+#define MIN_H (_MIN_H(c) + _MIN_H_OFFSET(c))
#define _MAX_H(x) x[8]
-#define MAX_H _MAX_H(c)
+#define MAX_H (_MAX_H(c) + _MAX_H_OFFSET(c))
#define _MAX_CLOCK(x) x[9]
#define MAX_CLOCK _MAX_CLOCK(c)
#define _HAVE_2ND_GTF(x) (x[10] == 0x02)