On 23.03.2017 12:35, Jose Abreu wrote: > Hi Andrzej, > > > On 23-03-2017 11:17, Andrzej Hajda wrote: >> On 23.03.2017 12:04, Jose Abreu wrote: >>> Hi Andrzej, >>> >>> >>> Thanks for the feedback! >>> >>> On 23-03-2017 08:11, Andrzej Hajda wrote: >>>> On 22.03.2017 18:35, Jose Abreu wrote: >>>>> This patch completes CEA table of video modes so that VIC 1-107 >>>>> are now available. Use the HDMI 2.0+ flag to signal these are >>>>> modes for HDMI 2.0 onwards. >>>> edid_cea_modes array is used in different contexts, simple extensions of >>>> the array with modes not present in HDMI < 2.0 can result in different >>>> behavior of drivers. >>>> There should be put sentinels somewhere to limit table lookup to old >>>> VICs if device/driver/receiver is not HDMI2.0 compliant. >>>> The only situation I am aware of at the moment is infoframe generation >>>> code. For TVs not supporting 4K modes but not HDMI 2.0 compatible, VIC >>>> field in AVI infoframe should be 0 for 4K modes and vendor infoframe >>>> should be generated with proper HDMI-VIC. With current infoframe helpers >>>> and this patch it will not work this way. >>> But this is what I do in patch 5/5 (see >>> https://urldefense.proofpoint.com/v2/url?u=https-3A__patchwork.kernel.org_patch_9640205_&d=DwICaQ&c=DPL6_X_6JkXFx7AXWqB0tg&r=WHDsc6kcWAl4i96Vm5hJ_19IJiuxx_p_Rzo2g-uHDKw&m=c7Qf9lk2pdXRbmjFNPSsZsy7LKiZWrqGlE72r-OTA-M&s=37RkfhQjJpjdKmQniKnhZwb1vtwb6HXSxY2Y7HrNlp4&e= ), unless drivers ask >>> to I don't expose the new modes. >> I do not see how it is related to infoframe generation. Look at body of >> drm_hdmi_avi_infoframe_from_display_mode, it calls drm_match_cea_mode, >> which looks for given mode in edid_cea_modes array. > Yes but drm_hdmi_avi_infoframe_from_display_mode is called from > driver context, so the mode bust be previously probed by the drm > core, and it isn't if the hdmi2_allowed flag is not set so the > mode will never reach the driver and the infoframe will never be > built. And also if the receiver is not HDMI 2.0 compliant then > the mode will not also be probed. > > But I see a flaw here: If the user specify manually the mode then > it will be passed to driver which will try to match with CEA > table. Is this the scenario you were thinking about? I think with > the new DRM_MODE_FLAG_HDMI2 flag this will not happen, see this: > > - Modesetting X driver (for example) does not set HDMI 2 cap > - As the flag is not set HDMI 2 modes will not be exposed to > userspace > - If the user specifies the mode the modesetting driver will > not set HDMI 2 flag > - As the flag is not set then > drm_mode_equal_no_clocks_no_stereo will not match the mode OK I see, HDMI2 flag in mode will distinguish between 4K modes in HDMI1.4 and HDMI2.0, even if all other fields are the same. For now it looks safe indeed in case of HDMI<2 devices. I am not sure if this approach will not generate problems with drivers supporting both HDMI2 and 4K modes, but this 'issue' is already raised by Daniel. Regards Andrzej > > Of course this needs patches to modesetting X driver, which are > not in this series. What do you think? > >> Anyway if there is or will be a patch which deals with it, it should be >> applied before extending edid_cea_modes array, not after. > Right, I will correct this :) > > Best regards, > Jose Miguel Abreu > >> >> Regards >> Andrzej >> >>> Best regards, >>> Jose Miguel Abreu >>> >>>> Regards >>>> Andrzej >>>>> Signed-off-by: Jose Abreu <joabreu@xxxxxxxxxxxx> >>>>> Cc: Carlos Palminha <palminha@xxxxxxxxxxxx> >>>>> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx >>>>> --- >>>>> drivers/gpu/drm/drm_edid.c | 258 +++++++++++++++++++++++++++++++++++++++++++++ >>>>> 1 file changed, 258 insertions(+) >>>>> >>>>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c >>>>> index fad3d44..90080368 100644 >>>>> --- a/drivers/gpu/drm/drm_edid.c >>>>> +++ b/drivers/gpu/drm/drm_edid.c >>>>> @@ -1001,6 +1001,264 @@ 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@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 66 - 1280x720@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 67 - 1280x720@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 68 - 1280x720@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 69 - 1280x720@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 70 - 1280x720@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 71 - 1280x720@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 72 - 1920x1080@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 73 - 1920x1080@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 74 - 1920x1080@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 75 - 1920x1080@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 76 - 1920x1080@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 77 - 1920x1080@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 78 - 1920x1080@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 79 - 1680x720@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 80 - 1680x720@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 81 - 1680x720@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 82 - 1680x720@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 83 - 1680x720@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 84 - 1680x720@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 85 - 1680x720@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 86 - 2560x1080@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 87 - 2560x1080@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 88 - 2560x1080@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 89 - 2560x1080@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 90 - 2560x1080@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 91 - 2560x1080@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 92 - 2560x1080@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, >>>>> + /* 93 - 3840x2160p@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9,}, >>>>> + /* 94 - 3840x2160p@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9}, >>>>> + /* 95 - 3840x2160p@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9}, >>>>> + /* 96 - 3840x2160p@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9}, >>>>> + /* 97 - 3840x2160p@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9}, >>>>> + /* 98 - 4096x2160p@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135}, >>>>> + /* 99 - 4096x2160p@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135}, >>>>> + /* 100 - 4096x2160p@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135}, >>>>> + /* 101 - 4096x2160p@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135}, >>>>> + /* 102 - 4096x2160p@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135}, >>>>> + /* 103 - 3840x2160p@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27}, >>>>> + /* 104 - 3840x2160p@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27}, >>>>> + /* 105 - 3840x2160p@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27}, >>>>> + /* 106 - 3840x2160p@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27}, >>>>> + /* 107 - 3840x2160p@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 | >>>>> + DRM_MODE_FLAG_HDMI2), >>>>> + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27}, >>>>> }; >>>>> >>>>> /* > > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel