aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/include/edid.h2
-rw-r--r--src/lib/edid.c6
2 files changed, 6 insertions, 2 deletions
diff --git a/src/include/edid.h b/src/include/edid.h
index 88ce55f804..4a2f13858b 100644
--- a/src/include/edid.h
+++ b/src/include/edid.h
@@ -45,6 +45,8 @@ struct edid {
/* used to compute timing for graphics chips. */
unsigned char phsync;
unsigned char pvsync;
+ unsigned int x_mm;
+ unsigned int y_mm;
unsigned int pixel_clock;
unsigned int link_clock;
unsigned int ha;
diff --git a/src/lib/edid.c b/src/lib/edid.c
index 8018967bf1..dd7c46ab2b 100644
--- a/src/lib/edid.c
+++ b/src/lib/edid.c
@@ -449,6 +449,8 @@ detailed_block(struct edid *out, unsigned char *x, int in_extension)
if (! did_detailed_timing){
/* Edid contains pixel clock in terms of 10KHz */
out->pixel_clock = (x[0] + (x[1] << 8)) * 10;
+ out->x_mm = (x[12] + ((x[14] & 0xF0) << 4));
+ out->y_mm = (x[13] + ((x[14] & 0x0F) << 8));
out->ha = (x[2] + ((x[4] & 0xF0) << 4));
out->hbl = (x[3] + ((x[4] & 0x0F) << 8));
out->hso = (x[8] + ((x[11] & 0xC0) << 2));
@@ -524,8 +526,8 @@ detailed_block(struct edid *out, unsigned char *x, int in_extension)
" %04x %04x %04x %04x vborder %x\n"
" %chsync %cvsync%s%s %s\n",
out->pixel_clock,
- (x[12] + ((x[14] & 0xF0) << 4)),
- (x[13] + ((x[14] & 0x0F) << 8)),
+ out->x_mm,
+ out->y_mm,
out->ha, out->ha + out->hso, out->ha + out->hso + out->hspw,
out->ha + out->hbl, out->hborder,
out->va, out->va + out->vso, out->va + out->vso + out->vspw,