Skip to contentSkip to conversation

drm_edid: support CEA video modes

PATCH In review Christian Schmidt 10 participants 14 messages Nov 13, 2011 – May 19, 2012

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 drm_edid: support CEA video modes

TFT/plasma televisions and projectors have become commonplace, and so has the use of PCs to drive them. Add the video modes specified by an EDID's CEA extension to the mode database for a connector.

Before:

[    1.158869] [drm:drm_mode_debug_printmodeline], Modeline
19:"1920x1080i" 0 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40 0x15
[    1.158875] [drm:drm_mode_debug_printmodeline], Modeline
18:"1920x1080i" 0 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x48 0x15
[    1.158882] [drm:drm_mode_debug_printmodeline], Modeline

20:"1920x1080" 24 74250 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x5

After:

[    1.144175] [drm:drm_mode_debug_printmodeline], Modeline
22:"1920x1080" 0 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40 0x15
[    1.144179] [drm:drm_mode_debug_printmodeline], Modeline
21:"1920x1080" 0 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x48 0x15
[    1.144187] [drm:drm_mode_debug_printmodeline], Modeline
30:"1920x1080" 50 148500 1920 2448 2492 2640 1080 1084 1089 1125 0x40 0x5
[    1.144190] [drm:drm_mode_debug_printmodeline], Modeline
29:"1920x1080" 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5
[    1.144192] [drm:drm_mode_debug_printmodeline], Modeline
25:"1920x1080" 24 74250 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x5
[    1.144195] [drm:drm_mode_debug_printmodeline], Modeline
24:"1280x720" 50 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x5
[    1.144198] [drm:drm_mode_debug_printmodeline], Modeline
23:"1280x720" 60 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x5
[    1.144201] [drm:drm_mode_debug_printmodeline], Modeline 27:"720x576"
50 27000 720 732 796 864 576 581 586 625 0x40 0xa
[    1.144203] [drm:drm_mode_debug_printmodeline], Modeline 26:"720x480"
60 27000 720 736 798 858 480 489 495 525 0x40 0xa
[    1.144206] [drm:drm_mode_debug_printmodeline], Modeline 28:"640x480"

60 25175 640 656 752 800 480 490 492 525 0x40 0xa

drivers/gpu/drm/drm_edid.c +43 -0
diff -ur linux-3.2-rc1.orig/drivers/gpu/drm/drm_edid.c linux-3.2-rc1/drivers/gpu/drm/drm_edid.c
@@ -1319,6 +1319,7 @@
 
 #define HDMI_IDENTIFIER 0x000C03
 #define AUDIO_BLOCK	0x01
+#define VIDEO_BLOCK     0x02
 #define VENDOR_BLOCK    0x03
 #define SPEAKER_BLOCK	0x04
 #define EDID_BASIC_AUDIO	(1 << 6)
@@ -1349,6 +1350,47 @@
 }
 EXPORT_SYMBOL(drm_find_cea_extension);
 
+static int
+do_cea_modes (struct drm_connector *connector, u8 *db, u8 len)
+{
+	struct drm_device *dev = connector->dev;
+	u8 * mode, cea_mode;
+	int modes = 0;
+
+	for (mode = db; mode < db + len; mode++) {
+		cea_mode = (*mode & 127) - 1; /* CEA modes are numbered 1..127 */
+		if (cea_mode < drm_num_cea_modes) {
+			struct drm_display_mode *newmode;
+			newmode = drm_mode_duplicate(dev,
+						     &edid_cea_modes[cea_mode]);
+			if (newmode) {
+				drm_mode_probed_add(connector, newmode);
+				modes++;
+			}
+		}
+	}
+
+	return modes;
+}
+
+static int
+add_cea_modes(struct drm_connector *connector, struct edid *edid)
+{
+	u8 * cea = drm_find_cea_extension(edid);
+	u8 * db, dbl;
+	int modes = 0;
+
+	if (cea && cea[1] >= 3) {
+		for (db = cea + 4; db < cea + cea[2]; db += dbl + 1) {
+			dbl = db[0] & 0x1f;
+			if (((db[0] & 0xe0) >> 5) == VIDEO_BLOCK)
+				modes += do_cea_modes (connector, db+1, dbl);
+		}
+	}
+
+	return modes;
+}
+
 static void
 parse_hdmi_vsdb(struct drm_connector *connector, uint8_t *db)
 {
@@ -1722,6 +1764,7 @@
 	num_modes += add_standard_modes(connector, edid);
 	num_modes += add_established_modes(connector, edid);
 	num_modes += add_inferred_modes(connector, edid);
+	num_modes += add_cea_modes(connector, edid);
 
 	if (quirks & (EDID_QUIRK_PREFER_LARGE_60 | EDID_QUIRK_PREFER_LARGE_75))
 		edid_fixup_preferred(connector, quirks);
drivers/gpu/drm/drm_edid_modes.h +284 -0

287 lines not on this page · raw message

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel

#1 lore raw

This is awesome ! A LOT of HTPC fans are waiting for this! Is there a chance that this lands in 3.2 ?

Thanks, Alan

2011/11/13 Christian Schmidt <[email protected]>:

Quoted 44 lines

TFT/plasma televisions and projectors have become commonplace, and so has the use of PCs to drive them. Add the video modes specified by an EDID's CEA extension to the mode database for a connector.

Before:
[    1.158869] [drm:drm_mode_debug_printmodeline], Modeline 19:"1920x1080i" 0 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40 0x15 [    1.158875] [drm:drm_mode_debug_printmodeline], Modeline 18:"1920x1080i" 0 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x48 0x15 [    1.158882] [drm:drm_mode_debug_printmodeline], Modeline 20:"1920x1080" 24 74250 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x5

After:
[    1.144175] [drm:drm_mode_debug_printmodeline], Modeline 22:"1920x1080" 0 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40 0x15 [    1.144179] [drm:drm_mode_debug_printmodeline], Modeline 21:"1920x1080" 0 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x48 0x15 [    1.144187] [drm:drm_mode_debug_printmodeline], Modeline 30:"1920x1080" 50 148500 1920 2448 2492 2640 1080 1084 1089 1125 0x40 0x5 [    1.144190] [drm:drm_mode_debug_printmodeline], Modeline 29:"1920x1080" 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5 [    1.144192] [drm:drm_mode_debug_printmodeline], Modeline 25:"1920x1080" 24 74250 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x5 [    1.144195] [drm:drm_mode_debug_printmodeline], Modeline 24:"1280x720" 50 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x5 [    1.144198] [drm:drm_mode_debug_printmodeline], Modeline 23:"1280x720" 60 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x5 [    1.144201] [drm:drm_mode_debug_printmodeline], Modeline 27:"720x576" 50 27000 720 732 796 864 576 581 586 625 0x40 0xa
[    1.144203] [drm:drm_mode_debug_printmodeline], Modeline 26:"720x480" 60 27000 720 736 798 858 480 489 495 525 0x40 0xa
[    1.144206] [drm:drm_mode_debug_printmodeline], Modeline 28:"640x480" 60 25175 640 656 752 800 480 490 492 525 0x40 0xa

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reviewed-by on v1 1/1
#3 lore raw
In reply to Christian Schmidt
Quoted 3 lines · Christian Schmidt

TFT/plasma televisions and projectors have become commonplace, and so has the use of PCs to drive them. Add the video modes specified by an EDID's CEA extension to the mode database for a connector.

Thanks for finishing this up. The mode list was indeed mechanically generated (pdf2text on the spec and then some python to bash it all together). It's probably worth noting in the comment that it's from CEA-861-D, as I suspect subsequent revisions have added more timings (I haven't bought it yet to check).

- ajax

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel

#4 lore raw

I ran a test with the CEA patch, on my Sandy Bridge system with a Samsung HDTV hooked up with an Onkyo TX-SR-607 AV-receiver.
The patch works like charm. The so wanted missing modelines are there, both in the kernel log and in the Xorg.log and I can now use them in any Media Center application,

Dmesg before:

[   10.496714] [drm:drm_mode_debug_printmodeline], Modeline
18:"1920x1080" 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x48
0x5
[   10.496717] [drm:drm_mode_debug_printmodeline], Modeline
20:"1280x720" 50 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x5
[   10.496719] [drm:drm_mode_debug_printmodeline], Modeline
19:"1280x720" 60 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x5
[   10.496722] [drm:drm_mode_debug_printmodeline], Modeline

21:"640x480" 60 25200 640 656 752 800 480 490 492 525 0x40 0xa

Dmesg After:

[   10.777130] [drm:drm_mode_prune_invalid], Not using 1920x1080 mode 7
[   10.777132] [drm:drm_mode_debug_printmodeline], Modeline
26:"1920x1080" 0 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x40
0x15
[   10.777134] [drm:drm_mode_prune_invalid], Not using 1920x1080 mode 7
[   10.777136] [drm:drm_helper_probe_single_connector_modes],
[CONNECTOR:14:HDMI-A-2] probed modes :
[   10.777138] [drm:drm_mode_debug_printmodeline], Modeline
22:"1920x1080" 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x48
0x5
[   10.777140] [drm:drm_mode_debug_printmodeline], Modeline
23:"1920x1080" 50 148500 1920 2448 2492 2640 1080 1084 1089 1125 0x40
0x5
[   10.777143] [drm:drm_mode_debug_printmodeline], Modeline
32:"1920x1080" 30 74250 1920 2008 2052 2200 1080 1084 1089 1125 0x40
0x5
[   10.777145] [drm:drm_mode_debug_printmodeline], Modeline
31:"1920x1080" 25 74250 1920 2448 2492 2640 1080 1084 1089 1125 0x40
0x5
[   10.777147] [drm:drm_mode_debug_printmodeline], Modeline
30:"1920x1080" 24 74250 1920 2558 2602 2750 1080 1084 1089 1125 0x40
0x5
[   10.777149] [drm:drm_mode_debug_printmodeline], Modeline
36:"2880x576" 50 108000 2880 2928 3184 3456 576 581 586 625 0x40 0xa
[   10.777151] [drm:drm_mode_debug_printmodeline], Modeline
35:"2880x480" 60 108000 2880 2944 3192 3432 480 489 495 525 0x40 0xa
[   10.777153] [drm:drm_mode_debug_printmodeline], Modeline
25:"1280x720" 50 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x5
[   10.777155] [drm:drm_mode_debug_printmodeline], Modeline
24:"1280x720" 60 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x5
[   10.777158] [drm:drm_mode_debug_printmodeline], Modeline
34:"1440x576" 50 54000 1440 1464 1592 1728 576 581 586 625 0x40 0xa
[   10.777160] [drm:drm_mode_debug_printmodeline], Modeline
33:"1440x480" 60 54000 1440 1472 1596 1716 480 489 495 525 0x40 0xa
[   10.777162] [drm:drm_mode_debug_printmodeline], Modeline
29:"720x576" 50 27000 720 732 796 864 576 581 586 625 0x40 0xa
[   10.777164] [drm:drm_mode_debug_printmodeline], Modeline
28:"720x480" 60 27000 720 736 798 858 480 489 495 525 0x40 0xa
[   10.777166] [drm:drm_mode_debug_printmodeline], Modeline

21:"640x480" 60 25200 640 656 752 800 480 490 492 525 0x40 0xa

Xorg before:

[    11.924] (II) intel(0): Printing probed modes for output HDMI2
[    11.924] (II) intel(0): Modeline "1920x1080"x60.0  148.50  1920
2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
[    11.924] (II) intel(0): Modeline "1280x720"x50.0   74.25  1280
1720 1760 1980  720 725 730 750 +hsync +vsync (37.5 kHz)
[    11.924] (II) intel(0): Modeline "1280x720"x60.0   74.25  1280
1390 1430 1650  720 725 730 750 +hsync +vsync (45.0 kHz)
[    11.924] (II) intel(0): Modeline "640x480"x60.0   25.20  640 656

752 800 480 490 492 525 -hsync -vsync (31.5 kHz)

Xorg after:

[   324.852] (II) intel(0): Printing probed modes for output HDMI2
[   324.852] (II) intel(0): Modeline "1920x1080"x60.0  148.50  1920
2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
[   324.852] (II) intel(0): Modeline "1920x1080"x50.0  148.50  1920
2448 2492 2640  1080 1084 1089 1125 +hsync +vsync (56.2 kHz)
[   324.852] (II) intel(0): Modeline "1920x1080"x30.0   74.25  1920
2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (33.8 kHz)
[   324.852] (II) intel(0): Modeline "1920x1080"x25.0   74.25  1920
2448 2492 2640  1080 1084 1089 1125 +hsync +vsync (28.1 kHz)
[   324.852] (II) intel(0): Modeline "1920x1080"x24.0   74.25  1920
2558 2602 2750  1080 1084 1089 1125 +hsync +vsync (27.0 kHz)
[   324.852] (II) intel(0): Modeline "2880x576"x50.0  108.00  2880
2928 3184 3456  576 581 586 625 -hsync -vsync (31.2 kHz)
[   324.852] (II) intel(0): Modeline "2880x480"x59.9  108.00  2880
2944 3192 3432  480 489 495 525 -hsync -vsync (31.5 kHz)
[   324.852] (II) intel(0): Modeline "1280x720"x50.0   74.25  1280
1720 1760 1980  720 725 730 750 +hsync +vsync (37.5 kHz)
[   324.852] (II) intel(0): Modeline "1280x720"x60.0   74.25  1280
1390 1430 1650  720 725 730 750 +hsync +vsync (45.0 kHz)
[   324.852] (II) intel(0): Modeline "1440x576"x50.0   54.00  1440
1464 1592 1728  576 581 586 625 -hsync -vsync (31.2 kHz)
[   324.852] (II) intel(0): Modeline "1440x480"x59.9   54.00  1440
1472 1596 1716  480 489 495 525 -hsync -vsync (31.5 kHz)
[   324.852] (II) intel(0): Modeline "720x576"x50.0   27.00  720 732
796 864  576 581 586 625 -hsync -vsync (31.2 kHz)
[   324.852] (II) intel(0): Modeline "720x480"x59.9   27.00  720 736
798 858  480 489 495 525 -hsync -vsync (31.5 kHz)
[   324.852] (II) intel(0): Modeline "640x480"x60.0   25.20  640 656

752 800 480 490 492 525 -hsync -vsync (31.5 kHz)

Full logs:

- Stock Kernel 3.2 RC1:
dmesg: http://paste.ubuntu.com/738790/
xorg.log: http://paste.ubuntu.com/738784/

- Patched with the CEA patch:
dmesg: http://paste.ubuntu.com/738786/
xorg.log: http://paste.ubuntu.com/738775/

Thanks for the great work!!! Would be awesome if somehow this could sneak into the final 3.2. If not, users won't be using this unti Ubuntu 12.11 ! In one year.

Just as a sidenote: There is fully Xorg issue I think. Independently from this patch. Xorg makes some strange DDC cheked modelines, where the modeline is correct, but it does not contain the refresh rate, It is just zeroed out. Is it normal ?

[    13.456] (II) Quirked EDID physical size to 0x0 cm
[    13.456] (II) intel(0): EDID vendor "ONK", prod id 2147
[    13.456] (II) intel(0): Using hsync ranges from config file
[    13.456] (II) intel(0): Using vrefresh ranges from config file
[    13.456] (II) intel(0): Printing DDC gathered Modelines:
[    13.456] (II) intel(0): Modeline "1920x1080"x0.0  148.50  1920
2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
[    13.456] (II) intel(0): Modeline "1280x720"x0.0   74.25  1280 1390
1430 1650  720 725 730 750 +hsync +vsync (45.0 kHz)
[    13.456] (II) intel(0): Modeline "1280x720"x0.0   74.25  1280 1720
1760 1980  720 725 730 750 +hsync +vsync (37.5 kHz)
[    13.456] (II) intel(0): Modeline "1920x1080i"x0.0   74.25  1920
2008 2052 2200  1080 1084 1094 1125 interlace +hsync +vsync (33.8 kHz)
[    13.456] (II) intel(0): Modeline "1920x1080i"x0.0   74.25  1920
2448 2492 2640  1080 1084 1094 1125 interlace +hsync +vsync (28.1 kHz)
[    13.456] (II) intel(0): Modeline "640x480"x0.0   25.18  640 656
752 800  480 490 492 525 -hsync -vsync (31.5 kHz)
[    13.456] (II) intel(0): Modeline "720x576"x0.0   27.00  720 732
796 864  576 581 586 625 -hsync -vsync (31.2 kHz)
[    13.456] (II) intel(0): Modeline "1920x1080"x0.0   74.25  1920
2558 2602 2750  1080 1084 1089 1125 +hsync +vsync (27.0 kHz)
[    13.456] (II) intel(0): Modeline "1440x480i"x0.0   27.00  1440
1478 1602 1716  480 488 494 525 interlace -hsync -vsync (15.7 kHz)
[    13.456] (II) intel(0): Modeline "1440x576i"x0.0   27.00  1440
1464 1590 1728  576 580 586 625 interlace -hsync -vsync (15.6 kHz)
[    13.456] (II) intel(0): Modeline "1920x1080"x0.0   74.25  1920
2448 2492 2640  1080 1084 1089 1125 +hsync +vsync (28.1 kHz)
[    13.456] (II) intel(0): Modeline "1920x1080"x0.0   74.25  1920
2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (33.8 kHz)
[    13.456] (II) intel(0): Modeline "2880x480"x0.0  108.00  2880 2944
3192 3432  480 489 495 525 -hsync -vsync (31.5 kHz)
[    13.456] (II) intel(0): Modeline "1920x1080"x0.0  148.50  1920
2448 2492 2640  1080 1084 1089 1125 +hsync +vsync (56.2 kHz)
[    13.456] (II) intel(0): Modeline "2880x576"x0.0  108.00  2880 2928
3184 3456  576 581 586 625 -hsync -vsync (31.2 kHz)
[    13.456] (II) intel(0): Modeline "1920x1080i"x0.0   72.00  1920

1952 2120 2304 1080 1126 1136 1250 interlace +hsync -vsync (31.2 kHz)

2011/11/14 Adam Jackson <[email protected]>

Quoted 11 lines · Christian Schmidt
Quoted 3 lines

TFT/plasma televisions and projectors have become commonplace, and so has the use of PCs to drive them. Add the video modes specified by an EDID's CEA extension to the mode database for a connector.

Thanks for finishing this up. The mode list was indeed mechanically generated (pdf2text on the spec and then some python to bash it all together). It's probably worth noting in the comment that it's from CEA-861-D, as I suspect subsequent revisions have added more timings (I haven't bought it yet to check).

Quoted 10 lines

- ajax

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Tested-by on v1 1/1
#5 lore raw
In reply to Christian Schmidt
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"CS" == Christian Schmidt <[email protected]> writes:

CS> TFT/plasma televisions and projectors have become commonplace, and so CS> has the use of PCs to drive them. Add the video modes specified by an CS> EDID's CEA extension to the mode database for a connector.

CS> Signed-off-by: Christian Schmidt <[email protected]>

Works fine here on top of Linus’ 7f80850d3f9f with a Radeon HD 4290 and an hdmi-connected tv.

The new modes not previously seen, as reported by libdrm’s modetest are:

:; diff -U0 a/mt.out b/mt.out

mt.out +9 -4
@@ -11 +11 @@
-15	14	connected	HDMI-A	820x460		17	14
+15	14	connected	HDMI-A	820x460		22	14
@@ -15 +15,2 @@
-  1920x1080i 60 1920 2008 2052 2200 1080 1084 1094 1125
+  1920x1080 60 1920 2008 2052 2200 1080 1084 1094 1125
+  1920x1080 24 1920 2558 2602 2750 1080 1084 1089 1125
@@ -19,0 +21 @@
+  1280x720 60 1280 1390 1430 1650 720 725 730 750
@@ -22,0 +25 @@
+  1440x480 60 1440 1478 1602 1716 480 488 494 525
@@ -26,0 +30 @@
+  720x480 60 720 736 798 858 480 489 495 525
@@ -29,0 +34 @@
+  640x480 60 640 656 752 800 480 490 492 525
@@ -41,2 +46,2 @@
-10	35	(0,0)	(0x0)
-   0 1920 2008 2052 2200 1080 1084 1089 1125
+10	19	(0,0)	(0x0)
+  1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125

-JimC

Signature · 5 lines
James Cloos <[email protected]>         OpenPGP: 1024D/ED7DAEA6
_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
#6 lore raw
In reply to Christian Schmidt

Another user confirming the working of the patch from xbmc forums:

http://forum.xbmc.org/showpost.php?p=940016&postcount=31

Any news on when this will be in master ?

Thanks

2011/11/13 Christian Schmidt <[email protected]>

Quoted 35 lines

TFT/plasma televisions and projectors have become commonplace, and so has the use of PCs to drive them. Add the video modes specified by an EDID's CEA extension to the mode database for a connector.

Before:

[    1.158869] [drm:drm_mode_debug_printmodeline], Modeline
19:"1920x1080i" 0 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40 0x15
[    1.158875] [drm:drm_mode_debug_printmodeline], Modeline
18:"1920x1080i" 0 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x48 0x15
[    1.158882] [drm:drm_mode_debug_printmodeline], Modeline

20:"1920x1080" 24 74250 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x5

After:

[    1.144175] [drm:drm_mode_debug_printmodeline], Modeline
22:"1920x1080" 0 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40 0x15
[    1.144179] [drm:drm_mode_debug_printmodeline], Modeline
21:"1920x1080" 0 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x48 0x15
[    1.144187] [drm:drm_mode_debug_printmodeline], Modeline
30:"1920x1080" 50 148500 1920 2448 2492 2640 1080 1084 1089 1125 0x40 0x5
[    1.144190] [drm:drm_mode_debug_printmodeline], Modeline
29:"1920x1080" 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5
[    1.144192] [drm:drm_mode_debug_printmodeline], Modeline
25:"1920x1080" 24 74250 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x5
[    1.144195] [drm:drm_mode_debug_printmodeline], Modeline
24:"1280x720" 50 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x5
[    1.144198] [drm:drm_mode_debug_printmodeline], Modeline
23:"1280x720" 60 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x5
[    1.144201] [drm:drm_mode_debug_printmodeline], Modeline 27:"720x576"
50 27000 720 732 796 864 576 581 586 625 0x40 0xa
[    1.144203] [drm:drm_mode_debug_printmodeline], Modeline 26:"720x480"
60 27000 720 736 798 858 480 489 495 525 0x40 0xa
[    1.144206] [drm:drm_mode_debug_printmodeline], Modeline 28:"640x480"

60 25175 640 656 752 800 480 490 492 525 0x40 0xa

Quoted 9 lines

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel

#7 lore raw
In reply to Christian Schmidt
Quoted 3 lines · On Sun, 13 Nov 2011 01:31:35 +0100 Christian Schmidt <[email protected]> wrote:

TFT/plasma televisions and projectors have become commonplace, and so has the use of PCs to drive them. Add the video modes specified by an EDID's CEA extension to the mode database for a connector.

Dave, Christian has a few patches outstanding for CEA mode handling. Getting them in makes sense to me and this patch looks like it's structured nicely at least (I haven't checked the CEA bits against the specs though).

Any chance we can get them included for 3.3?

Thanks,

Signature · 1 line
Jesse Barnes, Intel Open Source Technology Center

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel

maintainer
#8 lore raw
Quoted 7 lines · Jesse Barnes
Quoted 3 lines · On Sun, 13 Nov 2011 01:31:35 +0100 Christian Schmidt <[email protected]> wrote:

TFT/plasma televisions and projectors have become commonplace, and so has the use of PCs to drive them. Add the video modes specified by an EDID's CEA extension to the mode database for a connector.

Quoted 6 lines

Dave, Christian has a few patches outstanding for CEA mode handling. Getting them in makes sense to me and this patch looks like it's structured nicely at least (I haven't checked the CEA bits against the specs though).

Any chance we can get them included for 3.3?

I've put this patch in, but please (and reviewers too, please tell people before acking) in future,

submit patches as per the kernel's Documentation/SubmittingPatches

This patch was attached instead of inlined, wasn't in git format (not essential but less work for me so more patches for you).

Is there other patches outstanding if so? please resend with collected reviews.

really anything that involves me taking manual steps will generally mean I'll just drop the patch without caring with the understanding that whoever wants the patch merged will care more than I do.

Dave.

#9 lore raw
In reply to Christian Schmidt
Quoted 4 lines · Christian Schmidt <schmidt <at> digadd.de> writes:

TFT/plasma televisions and projectors have become commonplace, and so has the use of PCs to drive them. Add the video modes specified by an EDID's CEA extension to the mode database for a connector.

Hi,

Looking over this i noticed that this patch adds an incomplete list of video modes.

For many of the short descriptors, two modes should be added. One for a integer refreshrate and one for the old ntsc rate (rate*1000/1001).

Would be nice to see that resolved since it's rather crucial to get right for video playback.

/Joakim

#10 lore raw
Quoted 10 lines · Joakim Plate <elupus <at> ecce.se> writes:
Quoted 4 lines · Christian Schmidt <schmidt <at> digadd.de> writes:

TFT/plasma televisions and projectors have become commonplace, and so has the use of PCs to drive them. Add the video modes specified by an EDID's CEA extension to the mode database for a connector.

/Joakim

Shameless bump on the subject. Would be nice if we could get this list complete when connecting to HDTV's.

#11 lore raw
Quoted 10 lines · Joakim Plate
Quoted 8 lines · Joakim Plate<elupus<at> ecce.se> writes:
Quoted 4 lines · Christian Schmidt<schmidt<at> digadd.de> writes:

TFT/plasma televisions and projectors have become commonplace, and so has the use of PCs to drive them. Add the video modes specified by an EDID's CEA extension to the mode database for a connector.

Quoted 5 lines
Quoted 2 lines

/Joakim

Shameless bump on the subject. Would be nice if we could get this list complete when connecting to HDTV's.

Yea, it would be nice.

UK bluray seems to use 24/1.001 - not that it's that bad watching with TV@24Hz.

I do have issues with interlaced modes on my TV. I don't know how DRM handles interlaced, but CEA says that the number of vblank lines alternates per field. If that isn't happening then I guess that's why.

#12 lore raw
Quoted 19 lines · Andy Furniss
Quoted 10 lines · Joakim Plate
Quoted 8 lines · Joakim Plate<elupus<at> ecce.se> writes:
Quoted 4 lines · Christian Schmidt<schmidt<at> digadd.de> writes:

TFT/plasma televisions and projectors have become commonplace, and so has the use of PCs to drive them. Add the video modes specified by an EDID's CEA extension to the mode database for a connector.

Quoted 5 lines
Quoted 2 lines

/Joakim

Shameless bump on the subject. Would be nice if we could get this list complete when connecting to HDTV's.

Yea, it would be nice.

Quoted 7 lines

UK bluray seems to use 24/1.001 - not that it's that bad watching with TV@24Hz.

I do have issues with interlaced modes on my TV. I don't know how DRM handles interlaced, but CEA says that the number of vblank lines alternates per field. If that isn't happening then I guess that's why.

If this is on an intel gpu, you need kernel 3.4 to make interlaced work. If that doesn't help, please file a bug on bugs.freedesktop.org. -Daniel

Signature · 3 lines
Daniel Vetter
Mail: [email protected]
Mobile: +41 (0)79 365 57 48
#13 lore raw
Quoted 23 lines · Daniel Vetter
Quoted 22 lines · Andy Furniss
Quoted 10 lines · Joakim Plate
Quoted 8 lines · Joakim Plate<elupus<at> ecce.se> writes:
Quoted 4 lines · Christian Schmidt<schmidt<at> digadd.de> writes:

TFT/plasma televisions and projectors have become commonplace, and so has the use of PCs to drive them. Add the video modes specified by an EDID's CEA extension to the mode database for a connector.

Quoted 5 lines
Quoted 2 lines

/Joakim

Shameless bump on the subject. Would be nice if we could get this list complete when connecting to HDTV's.

Yea, it would be nice.

UK bluray seems to use 24/1.001 - not that it's that bad watching with TV@24Hz.

Quoted 8 lines
Quoted 4 lines

I do have issues with interlaced modes on my TV. I don't know how DRM handles interlaced, but CEA says that the number of vblank lines alternates per field. If that isn't happening then I guess that's why.

If this is on an intel gpu, you need kernel 3.4 to make interlaced work. If that doesn't help, please file a bug on bugs.freedesktop.org. -Daniel

Thanks, but it's AMD I do have a bug open for it.
https://bugs.freedesktop.org/show_bug.cgi?id=35970

Which reminds me - another issue with CEA modes is that the ones that should be double clocked are not.