Hello Jose On 10/20/2016 7:19 PM, Jose Abreu wrote: > Hi Shashank, > > > On 20-10-2016 11:25, Sharma, Shashank wrote: >> Adding Jose and Daniel in cc. >> >> Regards >> Shashank >> -----Original Message----- >> From: Sharma, Shashank >> Sent: Thursday, October 20, 2016 3:58 PM >> 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; Sharma, Shashank <shashank.sharma at intel.com>; Joes Abreu >> <Joes.Abreu at synopsys.com> >> Subject: [PATCH] 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). >> >> Signed-off-by: Shashank Sharma <shashank.sharma at intel.com> >> Signed-off-by: Sonika Jindal <sonika.jindal at intel.com> >> >> Cc: Joes Abreu <Joes.Abreu at synopsys.com> > It's Jose (Jose.Abreu at synopsys.com), not Joes, please. My apologies for this. >> --- >> drivers/gpu/drm/drm_edid.c | 231 >> +++++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 231 insertions(+) >> >> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index >> 95de47b..0b97a1b 100644 >> --- a/drivers/gpu/drm/drm_edid.c >> +++ b/drivers/gpu/drm/drm_edid.c >> @@ -994,6 +994,237 @@ 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, 2380, >> + 2420, 2640, 0, 720, 725, 730, 750, 0, >> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), >> + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, > 2380 should be instead 1940. > 2420 should be instead 1980. > 2640 should be instead 2200. Agree, Thanks. >> + /* 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, >> + 2848, 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, }, > 2848 should be instead 2852. Agree >> + /* 91 - 2560x1080 at 100Hz */ >> + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 317250, 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, }, > 317250 should be instead 371250. Oops. >> + /* 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, }, > From VIC 93 to 107 you are using a different format. I think it > is better to use the same format for all VIC's. Sure, will change this. >> + /* 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}, > 4016 should be instead 4896. > 4104 should be instead 4984. > 4400 should be instead 5280. I am slightly doubtful about this, but I will reconfirm from the spec. >> + /* 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 >> > If you send a new version with these fixes then you can add: > Reviewed-by: Jose Abreu <Jose.Abreu at synopsys.com> Thank you. Will publish V2 soon.
Regards Shashank > Best regards, > Jose Miguel Abreu