Lines Matching +full:1 +full:hz

63 /* First detailed mode wrong, use largest 60Hz mode */
64 #define EDID_QUIRK_PREFER_LARGE_60 (1 << 0)
66 #define EDID_QUIRK_135_CLOCK_TOO_HIGH (1 << 1)
67 /* Prefer the largest mode at 75 Hz */
68 #define EDID_QUIRK_PREFER_LARGE_75 (1 << 2)
70 #define EDID_QUIRK_DETAILED_IN_CM (1 << 3)
74 #define EDID_QUIRK_DETAILED_USE_MAXIMUM_SIZE (1 << 4)
76 #define EDID_QUIRK_DETAILED_SYNC_PP (1 << 6)
78 #define EDID_QUIRK_FORCE_REDUCED_BLANKING (1 << 7)
80 #define EDID_QUIRK_FORCE_8BPC (1 << 8)
82 #define EDID_QUIRK_FORCE_12BPC (1 << 9)
84 #define EDID_QUIRK_FORCE_6BPC (1 << 10)
86 #define EDID_QUIRK_FORCE_10BPC (1 << 11)
88 #define EDID_QUIRK_NON_DESKTOP (1 << 12)
99 #define LEVEL_GTF 1
226 /* 0x01 - 640x350@85Hz */
230 /* 0x02 - 640x400@85Hz */
234 /* 0x03 - 720x400@85Hz */
238 /* 0x04 - 640x480@60Hz */
242 /* 0x05 - 640x480@72Hz */
246 /* 0x06 - 640x480@75Hz */
250 /* 0x07 - 640x480@85Hz */
254 /* 0x08 - 800x600@56Hz */
258 /* 0x09 - 800x600@60Hz */
262 /* 0x0a - 800x600@72Hz */
266 /* 0x0b - 800x600@75Hz */
270 /* 0x0c - 800x600@85Hz */
274 /* 0x0d - 800x600@120Hz RB */
278 /* 0x0e - 848x480@60Hz */
282 /* 0x0f - 1024x768@43Hz, interlace */
287 /* 0x10 - 1024x768@60Hz */
291 /* 0x11 - 1024x768@70Hz */
295 /* 0x12 - 1024x768@75Hz */
299 /* 0x13 - 1024x768@85Hz */
303 /* 0x14 - 1024x768@120Hz RB */
307 /* 0x15 - 1152x864@75Hz */
311 /* 0x55 - 1280x720@60Hz */
315 /* 0x16 - 1280x768@60Hz RB */
319 /* 0x17 - 1280x768@60Hz */
323 /* 0x18 - 1280x768@75Hz */
327 /* 0x19 - 1280x768@85Hz */
331 /* 0x1a - 1280x768@120Hz RB */
335 /* 0x1b - 1280x800@60Hz RB */
339 /* 0x1c - 1280x800@60Hz */
343 /* 0x1d - 1280x800@75Hz */
347 /* 0x1e - 1280x800@85Hz */
351 /* 0x1f - 1280x800@120Hz RB */
355 /* 0x20 - 1280x960@60Hz */
359 /* 0x21 - 1280x960@85Hz */
363 /* 0x22 - 1280x960@120Hz RB */
367 /* 0x23 - 1280x1024@60Hz */
371 /* 0x24 - 1280x1024@75Hz */
375 /* 0x25 - 1280x1024@85Hz */
379 /* 0x26 - 1280x1024@120Hz RB */
383 /* 0x27 - 1360x768@60Hz */
387 /* 0x28 - 1360x768@120Hz RB */
391 /* 0x51 - 1366x768@60Hz */
395 /* 0x56 - 1366x768@60Hz */
399 /* 0x29 - 1400x1050@60Hz RB */
403 /* 0x2a - 1400x1050@60Hz */
407 /* 0x2b - 1400x1050@75Hz */
411 /* 0x2c - 1400x1050@85Hz */
415 /* 0x2d - 1400x1050@120Hz RB */
419 /* 0x2e - 1440x900@60Hz RB */
423 /* 0x2f - 1440x900@60Hz */
427 /* 0x30 - 1440x900@75Hz */
431 /* 0x31 - 1440x900@85Hz */
435 /* 0x32 - 1440x900@120Hz RB */
439 /* 0x53 - 1600x900@60Hz */
443 /* 0x33 - 1600x1200@60Hz */
447 /* 0x34 - 1600x1200@65Hz */
451 /* 0x35 - 1600x1200@70Hz */
455 /* 0x36 - 1600x1200@75Hz */
459 /* 0x37 - 1600x1200@85Hz */
463 /* 0x38 - 1600x1200@120Hz RB */
467 /* 0x39 - 1680x1050@60Hz RB */
471 /* 0x3a - 1680x1050@60Hz */
475 /* 0x3b - 1680x1050@75Hz */
479 /* 0x3c - 1680x1050@85Hz */
483 /* 0x3d - 1680x1050@120Hz RB */
487 /* 0x3e - 1792x1344@60Hz */
491 /* 0x3f - 1792x1344@75Hz */
495 /* 0x40 - 1792x1344@120Hz RB */
499 /* 0x41 - 1856x1392@60Hz */
503 /* 0x42 - 1856x1392@75Hz */
507 /* 0x43 - 1856x1392@120Hz RB */
511 /* 0x52 - 1920x1080@60Hz */
515 /* 0x44 - 1920x1200@60Hz RB */
519 /* 0x45 - 1920x1200@60Hz */
523 /* 0x46 - 1920x1200@75Hz */
527 /* 0x47 - 1920x1200@85Hz */
531 /* 0x48 - 1920x1200@120Hz RB */
535 /* 0x49 - 1920x1440@60Hz */
539 /* 0x4a - 1920x1440@75Hz */
543 /* 0x4b - 1920x1440@120Hz RB */
547 /* 0x54 - 2048x1152@60Hz */
551 /* 0x4c - 2560x1600@60Hz RB */
555 /* 0x4d - 2560x1600@60Hz */
559 /* 0x4e - 2560x1600@75Hz */
563 /* 0x4f - 2560x1600@85Hz */
567 /* 0x50 - 2560x1600@120Hz RB */
571 /* 0x57 - 4096x2160@60Hz RB */
575 /* 0x58 - 4096x2160@59.94Hz RB */
593 DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, /* 800x600@60Hz */
596 DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, /* 800x600@56Hz */
599 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, /* 640x480@75Hz */
602 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, /* 640x480@72Hz */
605 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, /* 640x480@67Hz */
608 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, /* 640x480@60Hz */
611 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, /* 720x400@88Hz */
614 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) }, /* 720x400@70Hz */
617 DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, /* 1280x1024@75Hz */
620 DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, /* 1024x768@75Hz */
623 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, /* 1024x768@70Hz */
626 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, /* 1024x768@60Hz */
629 DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_INTERLACE) }, /* 1024x768@43Hz */
632 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, /* 832x624@75Hz */
635 DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, /* 800x600@75Hz */
638 DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, /* 800x600@72Hz */
641 DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, /* 1152x864@75Hz */
662 { 1280, 768, 60, 1 },
672 { 1440, 900, 60, 1 },
676 { 1400, 1050, 60, 1 },
681 { 1680, 1050, 60, 1 },
695 { 1920, 1200, 60, 1 },
720 /* 1 - 640x480@60Hz 4:3 */
725 /* 2 - 720x480@60Hz 4:3 */
730 /* 3 - 720x480@60Hz 16:9 */
735 /* 4 - 1280x720@60Hz 16:9 */
740 /* 5 - 1920x1080i@60Hz 16:9 */
746 /* 6 - 720(1440)x480i@60Hz 4:3 */
752 /* 7 - 720(1440)x480i@60Hz 16:9 */
758 /* 8 - 720(1440)x240@60Hz 4:3 */
764 /* 9 - 720(1440)x240@60Hz 16:9 */
770 /* 10 - 2880x480i@60Hz 4:3 */
776 /* 11 - 2880x480i@60Hz 16:9 */
782 /* 12 - 2880x240@60Hz 4:3 */
787 /* 13 - 2880x240@60Hz 16:9 */
792 /* 14 - 1440x480@60Hz 4:3 */
797 /* 15 - 1440x480@60Hz 16:9 */
802 /* 16 - 1920x1080@60Hz 16:9 */
807 /* 17 - 720x576@50Hz 4:3 */
812 /* 18 - 720x576@50Hz 16:9 */
817 /* 19 - 1280x720@50Hz 16:9 */
822 /* 20 - 1920x1080i@50Hz 16:9 */
828 /* 21 - 720(1440)x576i@50Hz 4:3 */
834 /* 22 - 720(1440)x576i@50Hz 16:9 */
840 /* 23 - 720(1440)x288@50Hz 4:3 */
846 /* 24 - 720(1440)x288@50Hz 16:9 */
852 /* 25 - 2880x576i@50Hz 4:3 */
858 /* 26 - 2880x576i@50Hz 16:9 */
864 /* 27 - 2880x288@50Hz 4:3 */
869 /* 28 - 2880x288@50Hz 16:9 */
874 /* 29 - 1440x576@50Hz 4:3 */
879 /* 30 - 1440x576@50Hz 16:9 */
884 /* 31 - 1920x1080@50Hz 16:9 */
889 /* 32 - 1920x1080@24Hz 16:9 */
894 /* 33 - 1920x1080@25Hz 16:9 */
899 /* 34 - 1920x1080@30Hz 16:9 */
904 /* 35 - 2880x480@60Hz 4:3 */
909 /* 36 - 2880x480@60Hz 16:9 */
914 /* 37 - 2880x576@50Hz 4:3 */
919 /* 38 - 2880x576@50Hz 16:9 */
924 /* 39 - 1920x1080i@50Hz 16:9 */
930 /* 40 - 1920x1080i@100Hz 16:9 */
936 /* 41 - 1280x720@100Hz 16:9 */
941 /* 42 - 720x576@100Hz 4:3 */
946 /* 43 - 720x576@100Hz 16:9 */
951 /* 44 - 720(1440)x576i@100Hz 4:3 */
957 /* 45 - 720(1440)x576i@100Hz 16:9 */
963 /* 46 - 1920x1080i@120Hz 16:9 */
969 /* 47 - 1280x720@120Hz 16:9 */
974 /* 48 - 720x480@120Hz 4:3 */
979 /* 49 - 720x480@120Hz 16:9 */
984 /* 50 - 720(1440)x480i@120Hz 4:3 */
990 /* 51 - 720(1440)x480i@120Hz 16:9 */
996 /* 52 - 720x576@200Hz 4:3 */
1001 /* 53 - 720x576@200Hz 16:9 */
1006 /* 54 - 720(1440)x576i@200Hz 4:3 */
1012 /* 55 - 720(1440)x576i@200Hz 16:9 */
1018 /* 56 - 720x480@240Hz 4:3 */
1023 /* 57 - 720x480@240Hz 16:9 */
1028 /* 58 - 720(1440)x480i@240Hz 4:3 */
1034 /* 59 - 720(1440)x480i@240Hz 16:9 */
1040 /* 60 - 1280x720@24Hz 16:9 */
1045 /* 61 - 1280x720@25Hz 16:9 */
1050 /* 62 - 1280x720@30Hz 16:9 */
1055 /* 63 - 1920x1080@120Hz 16:9 */
1060 /* 64 - 1920x1080@100Hz 16:9 */
1065 /* 65 - 1280x720@24Hz 64:27 */
1070 /* 66 - 1280x720@25Hz 64:27 */
1075 /* 67 - 1280x720@30Hz 64:27 */
1080 /* 68 - 1280x720@50Hz 64:27 */
1085 /* 69 - 1280x720@60Hz 64:27 */
1090 /* 70 - 1280x720@100Hz 64:27 */
1095 /* 71 - 1280x720@120Hz 64:27 */
1100 /* 72 - 1920x1080@24Hz 64:27 */
1105 /* 73 - 1920x1080@25Hz 64:27 */
1110 /* 74 - 1920x1080@30Hz 64:27 */
1115 /* 75 - 1920x1080@50Hz 64:27 */
1120 /* 76 - 1920x1080@60Hz 64:27 */
1125 /* 77 - 1920x1080@100Hz 64:27 */
1130 /* 78 - 1920x1080@120Hz 64:27 */
1135 /* 79 - 1680x720@24Hz 64:27 */
1140 /* 80 - 1680x720@25Hz 64:27 */
1145 /* 81 - 1680x720@30Hz 64:27 */
1150 /* 82 - 1680x720@50Hz 64:27 */
1155 /* 83 - 1680x720@60Hz 64:27 */
1160 /* 84 - 1680x720@100Hz 64:27 */
1165 /* 85 - 1680x720@120Hz 64:27 */
1170 /* 86 - 2560x1080@24Hz 64:27 */
1175 /* 87 - 2560x1080@25Hz 64:27 */
1180 /* 88 - 2560x1080@30Hz 64:27 */
1185 /* 89 - 2560x1080@50Hz 64:27 */
1190 /* 90 - 2560x1080@60Hz 64:27 */
1195 /* 91 - 2560x1080@100Hz 64:27 */
1200 /* 92 - 2560x1080@120Hz 64:27 */
1205 /* 93 - 3840x2160@24Hz 16:9 */
1210 /* 94 - 3840x2160@25Hz 16:9 */
1215 /* 95 - 3840x2160@30Hz 16:9 */
1220 /* 96 - 3840x2160@50Hz 16:9 */
1225 /* 97 - 3840x2160@60Hz 16:9 */
1230 /* 98 - 4096x2160@24Hz 256:135 */
1235 /* 99 - 4096x2160@25Hz 256:135 */
1240 /* 100 - 4096x2160@30Hz 256:135 */
1245 /* 101 - 4096x2160@50Hz 256:135 */
1250 /* 102 - 4096x2160@60Hz 256:135 */
1255 /* 103 - 3840x2160@24Hz 64:27 */
1260 /* 104 - 3840x2160@25Hz 64:27 */
1265 /* 105 - 3840x2160@30Hz 64:27 */
1270 /* 106 - 3840x2160@50Hz 64:27 */
1275 /* 107 - 3840x2160@60Hz 64:27 */
1280 /* 108 - 1280x720@48Hz 16:9 */
1285 /* 109 - 1280x720@48Hz 64:27 */
1290 /* 110 - 1680x720@48Hz 64:27 */
1295 /* 111 - 1920x1080@48Hz 16:9 */
1300 /* 112 - 1920x1080@48Hz 64:27 */
1305 /* 113 - 2560x1080@48Hz 64:27 */
1310 /* 114 - 3840x2160@48Hz 16:9 */
1315 /* 115 - 4096x2160@48Hz 256:135 */
1320 /* 116 - 3840x2160@48Hz 64:27 */
1325 /* 117 - 3840x2160@100Hz 16:9 */
1330 /* 118 - 3840x2160@120Hz 16:9 */
1335 /* 119 - 3840x2160@100Hz 64:27 */
1340 /* 120 - 3840x2160@120Hz 64:27 */
1345 /* 121 - 5120x2160@24Hz 64:27 */
1350 /* 122 - 5120x2160@25Hz 64:27 */
1355 /* 123 - 5120x2160@30Hz 64:27 */
1360 /* 124 - 5120x2160@48Hz 64:27 */
1365 /* 125 - 5120x2160@50Hz 64:27 */
1370 /* 126 - 5120x2160@60Hz 64:27 */
1375 /* 127 - 5120x2160@100Hz 64:27 */
1388 /* 193 - 5120x2160@120Hz 64:27 */
1393 /* 194 - 7680x4320@24Hz 16:9 */
1398 /* 195 - 7680x4320@25Hz 16:9 */
1403 /* 196 - 7680x4320@30Hz 16:9 */
1408 /* 197 - 7680x4320@48Hz 16:9 */
1413 /* 198 - 7680x4320@50Hz 16:9 */
1418 /* 199 - 7680x4320@60Hz 16:9 */
1423 /* 200 - 7680x4320@100Hz 16:9 */
1428 /* 201 - 7680x4320@120Hz 16:9 */
1433 /* 202 - 7680x4320@24Hz 64:27 */
1438 /* 203 - 7680x4320@25Hz 64:27 */
1443 /* 204 - 7680x4320@30Hz 64:27 */
1448 /* 205 - 7680x4320@48Hz 64:27 */
1453 /* 206 - 7680x4320@50Hz 64:27 */
1458 /* 207 - 7680x4320@60Hz 64:27 */
1463 /* 208 - 7680x4320@100Hz 64:27 */
1468 /* 209 - 7680x4320@120Hz 64:27 */
1473 /* 210 - 10240x4320@24Hz 64:27 */
1478 /* 211 - 10240x4320@25Hz 64:27 */
1483 /* 212 - 10240x4320@30Hz 64:27 */
1488 /* 213 - 10240x4320@48Hz 64:27 */
1493 /* 214 - 10240x4320@50Hz 64:27 */
1498 /* 215 - 10240x4320@60Hz 64:27 */
1503 /* 216 - 10240x4320@100Hz 64:27 */
1508 /* 217 - 10240x4320@120Hz 64:27 */
1513 /* 218 - 4096x2160@100Hz 256:135 */
1518 /* 219 - 4096x2160@120Hz 256:135 */
1529 /* 0 - dummy, VICs start at 1 */
1531 /* 1 - 3840x2160@30Hz */
1537 /* 2 - 3840x2160@25Hz */
1543 /* 3 - 3840x2160@24Hz */
1549 /* 4 - 4096x2160@24Hz (SMPTE) */
1593 for (i = 0; i < EDID_LENGTH - 1; i++) in drm_edid_block_checksum()
1603 if (raw_edid[EDID_LENGTH - 1] != real_checksum) in drm_edid_block_checksum_diff()
1634 edid1_len = EDID_LENGTH * (1 + edid1->extensions); in drm_edid_are_equal()
1635 edid2_len = EDID_LENGTH * (1 + edid2->extensions); in drm_edid_are_equal()
1679 /* Displayport Link CTS Core 1.2 rev1.1 test 4.2.2.6 in drm_edid_block_valid()
1715 if (edid->version != 1) { in drm_edid_block_valid()
1716 DRM_NOTE("EDID has major version %d, instead of 1\n", edid->version); in drm_edid_block_valid()
1737 " \t", DUMP_PREFIX_NONE, 16, 1, in drm_edid_block_valid()
1779 * Return: 0 on success or -1 on failure.
1786 unsigned char segment = block >> 1; in drm_do_probe_ddc_edid()
1802 .len = 1, in drm_do_probe_ddc_edid()
1807 .len = 1, in drm_do_probe_ddc_edid()
1830 return ret == xfers ? 0 : -1; in drm_do_probe_ddc_edid()
1841 * is 1 (base block) + num_ext_blocks big. That means we can think in connector_bad_edid()
1868 prefix, DUMP_PREFIX_NONE, 16, 1, in connector_bad_edid()
1973 new = krealloc(edid, (valid_extensions + 1) * EDID_LENGTH, GFP_KERNEL); in drm_do_get_edid()
1978 for (j = 1; j <= edid[0x7e]; j++) { in drm_do_get_edid()
1995 connector_bad_edid(connector, edid, edid[0x7e] + 1); in drm_do_get_edid()
1997 edid[EDID_LENGTH-1] += edid[0x7e] - valid_extensions; in drm_do_get_edid()
2000 new = kmalloc_array(valid_extensions + 1, EDID_LENGTH, in drm_do_get_edid()
2023 connector_bad_edid(connector, edid, 1); in drm_do_get_edid()
2041 return (drm_do_probe_ddc_edid(adapter, &out, 0, 1) == 0); in drm_probe_ddc()
2109 return kmemdup(edid, (edid->extensions + 1) * EDID_LENGTH, GFP_KERNEL); in drm_edid_duplicate()
2127 edid_vendor[1] = (((edid->mfg_id[0] & 0x3) << 3) | in edid_vendor()
2128 ((edid->mfg_id[1] & 0xe0) >> 5)) + '@'; in edid_vendor()
2129 edid_vendor[2] = (edid->mfg_id[1] & 0x1f) + '@'; in edid_vendor()
2256 return d[0] == 0x00 && d[1] == 0x00 && in is_display_descriptor()
2262 return d[0] != 0x00 || d[1] != 0x00; in is_detailed_timing_descriptor()
2288 if (ext[0x01] != 1) in vtb_for_each_detailed_block()
2307 for (i = 1; i <= raw_edid[0x7e]; i++) { in drm_for_each_detailed_block()
2480 } else if (aspect_ratio == 1) in drm_mode_std()
2487 /* HDTV hack, part 1 */ in drm_mode_std()
2513 mode->hsync_start = mode->hsync_start - 1; in drm_mode_std()
2514 mode->hsync_end = mode->hsync_end - 1; in drm_mode_std()
2598 mode->vtotal |= 1; in drm_mode_do_interlace_quirk()
2679 mode->htotal = mode->hsync_end + 1; in drm_mode_detailed()
2681 mode->vtotal = mode->vsync_end + 1; in drm_mode_detailed()
2917 if (!version_greater(closure->edid, 1, 1)) in do_inferred_modes()
2928 if (!version_greater(closure->edid, 1, 3)) in do_inferred_modes()
2949 if (version_greater(edid, 1, 0)) in add_inferred_modes()
2968 if (est[i] & (1 << j)) { in drm_est3_modes()
3018 if (est_bits & (1<<i)) { in add_established_modes()
3029 if (version_greater(edid, 1, 0)) in add_established_modes()
3088 if (version_greater(edid, 1, 0)) in add_standard_modes()
3115 height = (cvt->code[0] + ((cvt->code[1] & 0xf0) << 4) + 1) * 2; in drm_cvt_modes()
3116 switch (cvt->code[1] & 0x0c) { in drm_cvt_modes()
3133 for (j = 1; j < 5; j++) { in drm_cvt_modes()
3134 if (cvt->code[2] & (1 << j)) { in drm_cvt_modes()
3168 if (version_greater(edid, 1, 2)) in add_cvt_modes()
3225 if (closure.preferred && !version_greater(edid, 1, 3)) in add_detailed_modes()
3243 #define EDID_BASIC_AUDIO (1 << 6)
3244 #define EDID_CEA_YCRCB444 (1 << 5)
3245 #define EDID_CEA_YCRCB422 (1 << 4)
3246 #define EDID_CEA_VCDB_QS (1 << 6)
3263 edid_ext = (const u8 *)edid + EDID_LENGTH * (i + 1); in drm_find_edid_extension()
3271 *ext_index = i + 1; in drm_find_edid_extension()
3304 BUILD_BUG_ON(1 + ARRAY_SIZE(edid_cea_modes_1) - 1 != 127); in cea_mode_for_vic()
3305 BUILD_BUG_ON(193 + ARRAY_SIZE(edid_cea_modes_193) - 1 != 219); in cea_mode_for_vic()
3307 if (vic >= 1 && vic < 1 + ARRAY_SIZE(edid_cea_modes_1)) in cea_mode_for_vic()
3308 return &edid_cea_modes_1[vic - 1]; in cea_mode_for_vic()
3321 if (++vic == 1 + ARRAY_SIZE(edid_cea_modes_1)) in cea_next_vic()
3328 * (60Hz vs. 59.94Hz etc.)
3339 * edid_cea_modes contains the 59.94Hz in cea_mode_alternate_clock()
3341 * and the 60Hz variant otherwise. in cea_mode_alternate_clock()
3398 for (vic = 1; vic < cea_num_vics(); vic = cea_next_vic(vic)) { in drm_match_cea_mode_clock_tolerance()
3402 /* Check both 60Hz and 59.94Hz */ in drm_match_cea_mode_clock_tolerance()
3437 for (vic = 1; vic < cea_num_vics(); vic = cea_next_vic(vic)) { in drm_match_cea_mode()
3441 /* Check both 60Hz and 59.94Hz */ in drm_match_cea_mode()
3501 for (vic = 1; vic < ARRAY_SIZE(edid_4k_modes); vic++) { in drm_match_hdmi_mode_clock_tolerance()
3539 for (vic = 1; vic < ARRAY_SIZE(edid_4k_modes); vic++) { in drm_match_hdmi_mode()
3635 if ((svd >= 1 && svd <= 64) || (svd >= 129 && svd <= 192)) in svd_to_vic()
3653 /* CEA modes are numbered 1..127 */ in drm_display_mode_from_vic_index()
3693 bitmap_set(hdmi->y420_vdb_modes, vic, 1); in do_y420vdb_modes()
3719 bitmap_set(hdmi->y420_cmdb_modes, vic, 1); in drm_add_cmdb_modes()
3770 if (i < 64 && hdmi->y420_cmdb_map & (1ULL << i)) in do_cea_modes()
3861 return 1; in add_hdmi_mode()
3870 if (structure & (1 << 0)) { in add_3d_struct_modes()
3880 if (structure & (1 << 6)) { in add_3d_struct_modes()
3890 if (structure & (1 << 8)) { in add_3d_struct_modes()
3927 if (!(db[8] & (1 << 5))) in do_hdmi_vsdb_modes()
3931 if (db[8] & (1 << 7)) in do_hdmi_vsdb_modes()
3935 if (db[8] & (1 << 6)) in do_hdmi_vsdb_modes()
3945 if (db[8 + offset] & (1 << 7)) { in do_hdmi_vsdb_modes()
3962 offset += 1 + vic_len; in do_hdmi_vsdb_modes()
3964 if (multi_present == 1) in do_hdmi_vsdb_modes()
3971 if (len < (8 + offset + hdmi_3d_len - 1)) in do_hdmi_vsdb_modes()
3977 if (multi_present == 1 || multi_present == 2) { in do_hdmi_vsdb_modes()
3988 if (mask & (1 << i)) in do_hdmi_vsdb_modes()
4006 if (detail_present && (i + 1 == hdmi_3d_len - multi_len)) in do_hdmi_vsdb_modes()
4022 if ((db[9 + offset + i] >> 4) == 1) in do_hdmi_vsdb_modes()
4059 return db[1]; in cea_db_extended_tag()
4078 return cea[1]; in cea_revision()
4086 * 1) Byte 2 of the header specifies length differently, in cea_db_offsets()
4133 hdmi_id = db[1] | (db[2] << 8) | (db[3] << 16); in cea_db_is_hdmi_vsdb()
4148 oui = db[3] << 16 | db[2] << 8 | db[1]; in cea_db_is_hdmi_forum_vsdb()
4196 …(end) && (i) + cea_db_payload_len(&(cea)[(i)]) < (end); (i) += cea_db_payload_len(&(cea)[(i)]) + 1)
4203 u8 map_len = cea_db_payload_len(db) - 1; in drm_parse_y420cmdb_bitmap()
4257 video = db + 1; in add_cea_modes()
4269 dbl - 1); in add_cea_modes()
4333 if (db[1] != HDR_STATIC_METADATA_BLOCK) in cea_db_is_hdmi_hdr_metadata_block()
4382 if (len >= 6 && (db[6] & (1 << 7))) in drm_parse_hdmi_vsdb_audio()
4386 connector->latency_present[1] = (db[8] >> 6) & 1; in drm_parse_hdmi_vsdb_audio()
4393 connector->video_latency[1] = db[11]; in drm_parse_hdmi_vsdb_audio()
4395 connector->audio_latency[1] = db[12]; in drm_parse_hdmi_vsdb_audio()
4401 connector->latency_present[1], in drm_parse_hdmi_vsdb_audio()
4403 connector->video_latency[1], in drm_parse_hdmi_vsdb_audio()
4405 connector->audio_latency[1]); in drm_parse_hdmi_vsdb_audio()
4451 name_length = min(get_monitor_name(edid, buf), bufsize - 1); in drm_edid_get_monitor_name()
4462 connector->latency_present[1] = false; in clear_eld()
4465 connector->video_latency[1] = 0; in clear_eld()
4466 connector->audio_latency[1] = 0; in clear_eld()
4500 eld[DRM_ELD_CEA_EDID_VER_MNL] = cea[1] << DRM_ELD_CEA_EDID_VER_SHIFT; in drm_edid_to_eld()
4506 eld[DRM_ELD_MANUFACTURER_NAME1] = edid->mfg_id[1]; in drm_edid_to_eld()
4508 eld[DRM_ELD_PRODUCT_CODE1] = edid->prod_code[1]; in drm_edid_to_eld()
4527 if (sad_count >= 1) in drm_edid_to_eld()
4529 &db[1], sad_count * 3); in drm_edid_to_eld()
4534 if (dbl >= 1) in drm_edid_to_eld()
4535 eld[DRM_ELD_SPEAKER] = db[1]; in drm_edid_to_eld()
4608 const u8 *sad = &db[1 + j * 3]; in drm_edid_to_sad()
4612 (*sads)[j].freq = sad[1] & 0x7F; in drm_edid_to_sad()
4665 *sadb = kmemdup(&db[1], dbl, GFP_KERNEL); in drm_edid_to_speaker_allocation()
4694 if (!connector->latency_present[1]) in drm_av_sync_delay()
4711 a = min(2 * (a - 1), 500); in drm_av_sync_delay()
4713 v = min(2 * (v - 1), 500); in drm_av_sync_delay()
4792 for (j = 1; j < cea_db_payload_len(&edid_ext[i]) + 1; j += 3) in drm_detect_monitor_audio()
4816 /* All CEA modes other than VIC 1 use limited quantization range. */ in drm_default_rgb_quant_range()
4817 return drm_match_cea_mode(mode) > 1 ? in drm_default_rgb_quant_range()
4837 case 1: in drm_get_max_frl_rate()
4953 case 1: in drm_parse_hdmi_forum_vsdb()
4954 hdmi_dsc->max_slices = 1; in drm_parse_hdmi_forum_vsdb()
5068 info->dvi_dual = db[6] & 1; in drm_parse_hdmi_vsdb_video()
5091 info->cea_rev = edid_ext[1]; in drm_parse_cea_ext()
5131 * Check for flag range limits only. If flag == 1 then in get_monitor_range()
5149 if (!version_greater(edid, 1, 1)) in drm_get_monitor_range()
5155 DRM_DEBUG_KMS("Supported Monitor Refresh rate range is %d Hz - %d Hz\n", in drm_get_monitor_range()
5211 * Digital sink with "DFP 1.x compliant TMDS" according to EDID 1.3? in drm_add_display_info()
5269 (timings->pixel_clock[1] << 8) | in drm_mode_displayid_detailed()
5270 (timings->pixel_clock[2] << 16)) + 1; in drm_mode_displayid_detailed()
5271 unsigned hactive = (timings->hactive[0] | timings->hactive[1] << 8) + 1; in drm_mode_displayid_detailed()
5272 unsigned hblank = (timings->hblank[0] | timings->hblank[1] << 8) + 1; in drm_mode_displayid_detailed()
5273 unsigned hsync = (timings->hsync[0] | (timings->hsync[1] & 0x7f) << 8) + 1; in drm_mode_displayid_detailed()
5274 unsigned hsync_width = (timings->hsw[0] | timings->hsw[1] << 8) + 1; in drm_mode_displayid_detailed()
5275 unsigned vactive = (timings->vactive[0] | timings->vactive[1] << 8) + 1; in drm_mode_displayid_detailed()
5276 unsigned vblank = (timings->vblank[0] | timings->vblank[1] << 8) + 1; in drm_mode_displayid_detailed()
5277 unsigned vsync = (timings->vsync[0] | (timings->vsync[1] & 0x7f) << 8) + 1; in drm_mode_displayid_detailed()
5278 unsigned vsync_width = (timings->vsw[0] | timings->vsw[1] << 8) + 1; in drm_mode_displayid_detailed()
5279 bool hsync_positive = (timings->hsync[1] >> 7) & 0x1; in drm_mode_displayid_detailed()
5280 bool vsync_positive = (timings->vsync[1] >> 7) & 0x1; in drm_mode_displayid_detailed()
5620 * HDMI 1.4 VIC range: 1 <= VIC <= 64 (CEA-861-D) but in drm_mode_cea_vic()
5621 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we in drm_mode_cea_vic()
5653 frame->pixel_repeat = 1; in drm_hdmi_avi_infoframe_from_display_mode()
5719 #define HDMI_COLORIMETRY_SMPTE_170M_YCC (C(1) | EC(0) | ACE(0))
5722 #define HDMI_COLORIMETRY_XVYCC_709 (C(3) | EC(1) | ACE(0))
5730 #define HDMI_COLORIMETRY_DCI_P3_RGB_THEATER (C(3) | EC(7) | ACE(1))
5815 * set YQ=1) and the Sink shall ignore the YQ-field." in drm_hdmi_avi_infoframe_quant_range()
5938 w = tile->tile_size[0] | tile->tile_size[1] << 8; in drm_parse_tiled_block()
5943 tile_v_loc = (tile->topo[1] & 0xf) | ((tile->topo[2] & 0x3) << 4); in drm_parse_tiled_block()
5944 tile_h_loc = (tile->topo[1] >> 4) | (((tile->topo[2] >> 2) & 0x3) << 4); in drm_parse_tiled_block()
5950 connector->num_h_tile = num_h_tile + 1; in drm_parse_tiled_block()
5951 connector->num_v_tile = num_v_tile + 1; in drm_parse_tiled_block()
5954 connector->tile_h_size = w + 1; in drm_parse_tiled_block()
5955 connector->tile_v_size = h + 1; in drm_parse_tiled_block()
5958 DRM_DEBUG_KMS("tile_size %d x %d\n", w + 1, h + 1); in drm_parse_tiled_block()
5960 num_h_tile + 1, num_v_tile + 1, tile_h_loc, tile_v_loc); in drm_parse_tiled_block()
5961 DRM_DEBUG_KMS("vend %c%c%c\n", tile->topology_id[0], tile->topology_id[1], tile->topology_id[2]); in drm_parse_tiled_block()