[Intel-gfx] [PATCH v2] drm: Complete CEA modedb(VIC 1-107)
Deucher, Alexander
Alexander.Deucher at amd.com
Wed Nov 2 13:57:39 UTC 2016
> -----Original Message-----
> From: Shashank Sharma [mailto:shashank.sharma at intel.com]
> Sent: Wednesday, November 02, 2016 5:46 AM
> To: dri-devel at lists.freedesktop.org; intel-gfx at lists.freedesktop.org
> Cc: airlied at redhat.com; daniel.vetter at intel.com;
> Jose.Abreu at synopsys.com; Shashank Sharma; Deucher, Alexander
> Subject: [PATCH v2] drm: Complete CEA modedb(VIC 1-107)
>
> CEA-861-F specs defines new 4k video modes to be used with
> HDMI 2.0 EDIDs. These modes start at VIC=93 and go all the
> way till VIC=107.
>
> Our existing CEA modedb contains only 64 modes (VIC=1 to VIC=64). Now
> to be able to parse 4k modes using the existing techniques, we have
> to complete the modedb (VIC=65 onwards).
>
> This patch adds:
> - Timings for existing CEA video modes (from VIC=65 till VIC=92)
> - Newly added 4k modes (from VIC=93 to VIC=107).
I don't have the spec in front of me to double check the timings, but assuming the previous typos were addressed, the patch is:
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
>
> Signed-off-by: Shashank Sharma <shashank.sharma at intel.com>
> Signed-off-by: Sonika Jindal <sonika.jindal at intel.com>
> Reviewed-by: Jose Abreu <Jose.Abreu at synopsys.com>
> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
>
> Cc: Jose Abreu <Jose.Abreu at synopsys.com>
> Cc: Alex Deucher <alexander.deucher at amd.com>
>
> V2: Addressed review comments from Jose:
> - fix the timings for VIC 83, 90 and 91
> - fix formatting for VIC 93-107
> ---
> drivers/gpu/drm/drm_edid.c | 215
> +++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 215 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 9506933..d18602c 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -994,6 +994,221 @@ struct minimode {
> 2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
> DRM_MODE_FLAG_PHSYNC |
> DRM_MODE_FLAG_PVSYNC),
> .vrefresh = 100, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_16_9, },
> + /* 65 - 1280x720 at 24Hz */
> + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 59400, 1280,
> 3040,
> + 3080, 3300, 0, 720, 725, 730, 750, 0,
> + DRM_MODE_FLAG_PHSYNC |
> DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 24, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 66 - 1280x720 at 25Hz */
> + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280,
> 3700,
> + 3740, 3960, 0, 720, 725, 730, 750, 0,
> + DRM_MODE_FLAG_PHSYNC |
> DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 25, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 67 - 1280x720 at 30Hz */
> + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280,
> 3040,
> + 3080, 3300, 0, 720, 725, 730, 750, 0,
> + DRM_MODE_FLAG_PHSYNC |
> DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 30, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 68 - 1280x720 at 50Hz */
> + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280,
> 1720,
> + 1760, 1980, 0, 720, 725, 730, 750, 0,
> + DRM_MODE_FLAG_PHSYNC |
> DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 50, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 69 - 1280x720 at 60Hz */
> + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280,
> 1390,
> + 1430, 1650, 0, 720, 725, 730, 750, 0,
> + DRM_MODE_FLAG_PHSYNC |
> DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 60, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 70 - 1280x720 at 100Hz */
> + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 148500, 1280,
> 1720,
> + 1760, 1980, 0, 720, 725, 730, 750, 0,
> + DRM_MODE_FLAG_PHSYNC |
> DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 100, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 71 - 1280x720 at 120Hz */
> + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 148500, 1280,
> 1390,
> + 1430, 1650, 0, 720, 725, 730, 750, 0,
> + DRM_MODE_FLAG_PHSYNC |
> DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 120, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 72 - 1920x1080 at 24Hz */
> + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920,
> 2558,
> + 2602, 2750, 0, 1080, 1084, 1089, 1125, 0,
> + DRM_MODE_FLAG_PHSYNC |
> DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 24, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 73 - 1920x1080 at 25Hz */
> + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920,
> 2448,
> + 2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
> + DRM_MODE_FLAG_PHSYNC |
> DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 25, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 74 - 1920x1080 at 30Hz */
> + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920,
> 2008,
> + 2052, 2200, 0, 1080, 1084, 1089, 1125, 0,
> + DRM_MODE_FLAG_PHSYNC |
> DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 30, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 75 - 1920x1080 at 50Hz */
> + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500,
> 1920, 2448,
> + 2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
> + DRM_MODE_FLAG_PHSYNC |
> DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 50, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 76 - 1920x1080 at 60Hz */
> + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500,
> 1920, 2008,
> + 2052, 2200, 0, 1080, 1084, 1089, 1125, 0,
> + DRM_MODE_FLAG_PHSYNC |
> DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 60, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 77 - 1920x1080 at 100Hz */
> + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 297000,
> 1920, 2448,
> + 2492, 2640, 0, 1080, 1084, 1094, 1125, 0,
> + DRM_MODE_FLAG_PHSYNC |
> DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 100, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 78 - 1920x1080 at 120Hz */
> + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 297000,
> 1920, 2008,
> + 2052, 2200, 0, 1080, 1084, 1089, 1125, 0,
> + DRM_MODE_FLAG_PHSYNC |
> DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 120, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 79 - 1680x720 at 24Hz */
> + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 59400, 1680,
> 3040,
> + 3080, 3300, 0, 720, 725, 730, 750, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 24, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 80 - 1680x720 at 25Hz */
> + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 59400, 1680,
> 2908,
> + 2948, 3168, 0, 720, 725, 730, 750, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 25, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 81 - 1680x720 at 30Hz */
> + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 59400, 1680,
> 2380,
> + 2420, 2640, 0, 720, 725, 730, 750, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 30, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 82 - 1680x720 at 50Hz */
> + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 82500, 1680,
> 1940,
> + 1980, 2200, 0, 720, 725, 730, 750, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 50, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 83 - 1680x720 at 60Hz */
> + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 99000, 1680,
> 1940,
> + 1980, 2200, 0, 720, 725, 730, 750, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 60, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 84 - 1680x720 at 100Hz */
> + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 165000, 1680,
> 1740,
> + 1780, 2000, 0, 720, 725, 730, 825, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 100, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 85 - 1680x720 at 120Hz */
> + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 198000, 1680,
> 1740,
> + 1780, 2000, 0, 720, 725, 730, 825, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 120, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 86 - 2560x1080 at 24Hz */
> + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 99000, 2560,
> 3558,
> + 3602, 3750, 0, 1080, 1084, 1089, 1100, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 24, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 87 - 2560x1080 at 25Hz */
> + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 90000, 2560,
> 3008,
> + 3052, 3200, 0, 1080, 1084, 1089, 1125, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 25, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 88 - 2560x1080 at 30Hz */
> + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 118800,
> 2560, 3328,
> + 3372, 3520, 0, 1080, 1084, 1089, 1125, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 30, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 89 - 2560x1080 at 50Hz */
> + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 185625,
> 2560, 3108,
> + 3152, 3300, 0, 1080, 1084, 1089, 1125, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 50, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 90 - 2560x1080 at 60Hz */
> + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 198000,
> 2560, 2808,
> + 2852, 3000, 0, 1080, 1084, 1089, 1100, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 60, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 91 - 2560x1080 at 100Hz */
> + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 371250,
> 2560, 2778,
> + 2822, 2970, 0, 1080, 1084, 1089, 1250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 100, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 92 - 2560x1080 at 120Hz */
> + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 495000,
> 2560, 3108,
> + 3152, 3300, 0, 1080, 1084, 1089, 1250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 120, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27, },
> + /* 93 - 3840x2160p at 24Hz 16:9 */
> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000,
> 3840, 5116,
> + 5204, 5500, 0, 2160, 2168, 2178, 2250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 24, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_16_9,},
> + /* 94 - 3840x2160p at 25Hz 16:9 */
> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000,
> 3840, 4896,
> + 4984, 5280, 0, 2160, 2168, 2178, 2250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 25, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_16_9},
> + /* 95 - 3840x2160p at 30Hz 16:9 */
> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000,
> 3840, 4016,
> + 4104, 4400, 0, 2160, 2168, 2178, 2250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 30, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_16_9},
> + /* 96 - 3840x2160p at 50Hz 16:9 */
> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000,
> 3840, 4896,
> + 4984, 5280, 0, 2160, 2168, 2178, 2250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 50, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_16_9},
> + /* 97 - 3840x2160p at 60Hz 16:9 */
> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000,
> 3840, 4016,
> + 4104, 4400, 0, 2160, 2168, 2178, 2250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 60, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_16_9},
> + /* 98 - 4096x2160p at 24Hz 256:135 */
> + { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 297000,
> 4096, 5116,
> + 5204, 5500, 0, 2160, 2168, 2178, 2250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 24, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_256_135},
> + /* 99 - 4096x2160p at 25Hz 256:135 */
> + { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 297000,
> 4096, 5064,
> + 5152, 5280, 0, 2160, 2168, 2178, 2250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 25, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_256_135},
> + /* 100 - 4096x2160p at 30Hz 256:135 */
> + { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 297000,
> 4096, 4184,
> + 4272, 4400, 0, 2160, 2168, 2178, 2250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 30, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_256_135},
> + /* 101 - 4096x2160p at 50Hz 256:135 */
> + { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 594000,
> 4096, 5064,
> + 5152, 5280, 0, 2160, 2168, 2178, 2250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 50, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_256_135},
> + /* 102 - 4096x2160p at 60Hz 256:135 */
> + { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 594000,
> 4096, 4184,
> + 4272, 4400, 0, 2160, 2168, 2178, 2250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 60, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_256_135},
> + /* 103 - 3840x2160p at 24Hz 64:27 */
> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000,
> 3840, 5116,
> + 5204, 5500, 0, 2160, 2168, 2178, 2250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 24, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27},
> + /* 104 - 3840x2160p at 25Hz 64:27 */
> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000,
> 3840, 4016,
> + 4104, 4400, 0, 2160, 2168, 2178, 2250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 25, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27},
> + /* 105 - 3840x2160p at 30Hz 64:27 */
> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000,
> 3840, 4016,
> + 4104, 4400, 0, 2160, 2168, 2178, 2250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 30, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27},
> + /* 106 - 3840x2160p at 50Hz 64:27 */
> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000,
> 3840, 4896,
> + 4984, 5280, 0, 2160, 2168, 2178, 2250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 50, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27},
> + /* 107 - 3840x2160p at 60Hz 64:27 */
> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000,
> 3840, 4016,
> + 4104, 4400, 0, 2160, 2168, 2178, 2250, 0,
> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> + .vrefresh = 60, .picture_aspect_ratio =
> HDMI_PICTURE_ASPECT_64_27},
> };
>
> /*
> --
> 1.9.1
More information about the Intel-gfx
mailing list