|
|
5fef01c |
From bd9c6b3a4d726a3f83ac6d8cf7211eddbc28f25a Mon Sep 17 00:00:00 2001
|
|
|
5fef01c |
From: Adam Jackson <ajax@redhat.com>
|
|
|
5fef01c |
Date: Tue, 14 Oct 2008 14:04:01 -0400
|
|
|
5fef01c |
Subject: [PATCH] EDID: Catch even more cases of encoding aspect as size.
|
|
|
5fef01c |
|
|
|
5fef01c |
Very cute, Samsung, not only do you claim to be 16cm by 9cm in the
|
|
|
5fef01c |
global size record, you also claim to be 160mm by 90mm in the detailed
|
|
|
5fef01c |
timings. Grrr.
|
|
|
5fef01c |
---
|
|
|
5fef01c |
hw/xfree86/ddc/interpret_edid.c | 10 +++++++---
|
|
|
5fef01c |
1 files changed, 7 insertions(+), 3 deletions(-)
|
|
|
5fef01c |
|
|
|
5fef01c |
diff --git a/hw/xfree86/ddc/interpret_edid.c b/hw/xfree86/ddc/interpret_edid.c
|
|
|
5fef01c |
index 3596e87..fbb17b1 100644
|
|
|
5fef01c |
--- a/hw/xfree86/ddc/interpret_edid.c
|
|
|
5fef01c |
+++ b/hw/xfree86/ddc/interpret_edid.c
|
|
|
5fef01c |
@@ -115,12 +115,16 @@ handle_edid_quirks(xf86MonPtr m)
|
|
|
5fef01c |
}
|
|
|
5fef01c |
}
|
|
|
5fef01c |
|
|
|
5fef01c |
- if (real_hsize && real_vsize) {
|
|
|
5fef01c |
+ if (!real_hsize || !real_vsize) {
|
|
|
5fef01c |
+ m->features.hsize = m->features.vsize = 0;
|
|
|
5fef01c |
+ } else if ((m->features.hsize * 10 == real_hsize) &&
|
|
|
5fef01c |
+ (m->features.vsize * 10 == real_vsize)) {
|
|
|
5fef01c |
+ /* exact match is just unlikely, should do a better check though */
|
|
|
5fef01c |
+ m->features.hsize = m->features.vsize = 0;
|
|
|
5fef01c |
+ } else {
|
|
|
5fef01c |
/* convert mm to cm */
|
|
|
5fef01c |
m->features.hsize = (real_hsize + 5) / 10;
|
|
|
5fef01c |
m->features.vsize = (real_vsize + 5) / 10;
|
|
|
5fef01c |
- } else {
|
|
|
5fef01c |
- m->features.hsize = m->features.vsize = 0;
|
|
|
5fef01c |
}
|
|
|
5fef01c |
|
|
|
5fef01c |
xf86Msg(X_INFO, "Quirked EDID physical size to %dx%d cm\n",
|
|
|
5fef01c |
--
|
|
|
5fef01c |
1.6.0.1
|
|
|
5fef01c |
|