Lines Matching +full:0 +full:- +full:1152
18 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
26 * @file This file covers code to convert a xf86MonPtr containing EDID-probed
27 * information into a list of modes, including applying monitor-specific
31 #include <xorg-config.h>
47 if (det_mon->type == DS_RANGES) in handle_detailed_rblank()
48 if (det_mon->section.ranges.supported_blanking & CVT_REDUCED) in handle_detailed_rblank()
56 if (DDC->ver.revision >= 4) { in xf86MonitorSupportsReducedBlanking()
64 if (DDC->features.input_type) in xf86MonitorSupportsReducedBlanking()
74 if (memcmp(DDC->vendor.name, "MAX", 4) == 0 && in quirk_prefer_large_60()
75 ((DDC->vendor.prod_id == 1516) || (DDC->vendor.prod_id == 0x77e))) in quirk_prefer_large_60()
79 if (memcmp(DDC->vendor.name, "ACR", 4) == 0 && DDC->vendor.prod_id == 44358) in quirk_prefer_large_60()
83 if (memcmp(DDC->vendor.name, "SAM", 4) == 0 && DDC->vendor.prod_id == 596) in quirk_prefer_large_60()
87 if (memcmp(DDC->vendor.name, "SAM", 4) == 0 && DDC->vendor.prod_id == 638) in quirk_prefer_large_60()
91 if (memcmp(DDC->vendor.name, "API", 4) == 0 && in quirk_prefer_large_60()
92 DDC->vendor.prod_id == 0x7602) in quirk_prefer_large_60()
102 if (memcmp(DDC->vendor.name, "FCM", 4) == 0 && DDC->vendor.prod_id == 13600) in quirk_prefer_large_75()
112 if (memcmp(DDC->vendor.name, "FCM", 4) == 0 && DDC->vendor.prod_id == 13600) in quirk_detailed_h_in_cm()
122 if (memcmp(DDC->vendor.name, "FCM", 4) == 0 && DDC->vendor.prod_id == 13600) in quirk_detailed_v_in_cm()
125 /* Bug #21000: LGPhilipsLCD LP154W01-TLAJ */ in quirk_detailed_v_in_cm()
126 if (memcmp(DDC->vendor.name, "LPL", 4) == 0 && DDC->vendor.prod_id == 47360) in quirk_detailed_v_in_cm()
129 /* Bug #10304: LGPhilipsLCD LP154W01-A5 */ in quirk_detailed_v_in_cm()
130 if (memcmp(DDC->vendor.name, "LPL", 4) == 0 && DDC->vendor.prod_id == 0) in quirk_detailed_v_in_cm()
133 /* Bug #24482: LGPhilipsLCD LP154W01-TLA1 */ in quirk_detailed_v_in_cm()
134 if (memcmp(DDC->vendor.name, "LPL", 4) == 0 && in quirk_detailed_v_in_cm()
135 DDC->vendor.prod_id == 0x2a00) in quirk_detailed_v_in_cm()
138 /* Bug #28414: HP Compaq NC8430 LP154W01-TLA8 */ in quirk_detailed_v_in_cm()
139 if (memcmp(DDC->vendor.name, "LPL", 4) == 0 && DDC->vendor.prod_id == 5750) in quirk_detailed_v_in_cm()
143 if (memcmp(DDC->vendor.name, "SAM", 4) == 0 && DDC->vendor.prod_id == 1157) in quirk_detailed_v_in_cm()
153 if (memcmp(DDC->vendor.name, "ADA", 4) == 0 && in quirk_detailed_use_maximum_size()
154 DDC->vendor.prod_id == 4) in quirk_detailed_use_maximum_size()
158 if (memcmp(DDC->vendor.name, "IVM", 4) == 0 && DDC->vendor.prod_id == 6400) in quirk_detailed_use_maximum_size()
162 if (memcmp(DDC->vendor.name, "LGD", 4) == 0 && in quirk_detailed_use_maximum_size()
163 DDC->vendor.prod_id == 0x7f01) in quirk_detailed_use_maximum_size()
167 if (memcmp(DDC->vendor.name, "MEI", 4) == 0 && in quirk_detailed_use_maximum_size()
168 DDC->vendor.prod_id == 0x96a2) in quirk_detailed_use_maximum_size()
177 /* Envision Peripherals, Inc. EN-7100e. See bug #9550. */ in quirk_135_clock_too_high()
178 if (memcmp(DDC->vendor.name, "EPI", 4) == 0 && DDC->vendor.prod_id == 59264) in quirk_135_clock_too_high()
188 if (memcmp(DDC->vendor.name, "PHL", 4) == 0 && DDC->vendor.prod_id == 57364) in quirk_first_detailed_preferred()
192 if (memcmp(DDC->vendor.name, "PTS", 4) == 0 && DDC->vendor.prod_id == 765) in quirk_first_detailed_preferred()
196 if (memcmp(DDC->vendor.name, "ACR", 4) == 0 && DDC->vendor.prod_id == 2423) in quirk_first_detailed_preferred()
200 if (memcmp(DDC->vendor.name, "PEA", 4) == 0 && DDC->vendor.prod_id == 9003) in quirk_first_detailed_preferred()
210 if (memcmp(DDC->vendor.name, "SAM", 4) == 0 && DDC->vendor.prod_id == 541) in quirk_detailed_sync_pp()
220 if (memcmp(DDC->vendor.name, "APL", 4) == 0 && in quirk_dvi_single_link()
221 DDC->vendor.prod_id == 0x921c) in quirk_dvi_single_link()
268 * modes are old-school Mac modes. The EDID spec says the 1152x864@75 mode
269 * should be 1152x870, again for the Mac, but instead we use the x864 DMT
272 * The DMT modes have been fact-checked; the rest are mild guesses.
274 #define MODEPREFIX NULL, NULL, NULL, 0, M_T_DRIVER
275 #define MODESUFFIX 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FALSE,FALSE,0,NULL,0,0.0,0.0
278 …{MODEPREFIX, 40000, 800, 840, 968, 1056, 0, 600, 601, 605, 628, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX…
279 …{MODEPREFIX, 36000, 800, 824, 896, 1024, 0, 600, 601, 603, 625, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX…
280 …{MODEPREFIX, 31500, 640, 656, 720, 840, 0, 480, 481, 484, 500, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
281 …{MODEPREFIX, 31500, 640, 664, 704, 832, 0, 480, 489, 492, 520, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
282 …{MODEPREFIX, 30240, 640, 704, 768, 864, 0, 480, 483, 486, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
283 …{MODEPREFIX, 25175, 640, 656, 752, 800, 0, 480, 490, 492, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
284 …{MODEPREFIX, 35500, 720, 738, 846, 900, 0, 400, 421, 423, 449, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
285 …{MODEPREFIX, 28320, 720, 738, 846, 900, 0, 400, 412, 414, 449, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX}…
286 …{MODEPREFIX, 135000, 1280, 1296, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0, V_PHSYNC | V_PVSYNC, MO…
287 …{MODEPREFIX, 78750, 1024, 1040, 1136, 1312, 0, 768, 769, 772, 800, 0, V_PHSYNC | V_PVSYNC, MODESUF…
288 …{MODEPREFIX, 75000, 1024, 1048, 1184, 1328, 0, 768, 771, 777, 806, 0, V_NHSYNC | V_NVSYNC, MODESUF…
289 …{MODEPREFIX, 65000, 1024, 1048, 1184, 1344, 0, 768, 771, 777, 806, 0, V_NHSYNC | V_NVSYNC, MODESUF…
290 …{MODEPREFIX, 44900, 1024, 1032, 1208, 1264, 0, 768, 768, 772, 817, 0, V_PHSYNC | V_PVSYNC | V_INTE…
291 …{MODEPREFIX, 57284, 832, 864, 928, 1152, 0, 624, 625, 628, 667, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX…
292 …{MODEPREFIX, 49500, 800, 816, 896, 1056, 0, 600, 601, 604, 625, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX…
293 …{MODEPREFIX, 50000, 800, 856, 976, 1040, 0, 600, 637, 643, 666, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX…
294 …{MODEPREFIX, 108000, 1152, 1216, 1344, 1600, 0, 864, 865, 868, 900, 0, V_PHSYNC | V_PVSYNC, MODESU…
302 CARD32 bits = (timing->t1) | (timing->t2 << 8) | in DDCModesFromEstablished()
303 ((timing->t_manu & 0x80) << 9); in DDCModesFromEstablished()
306 for (i = 0; i < 17; i++) { in DDCModesFromEstablished()
307 if (bits & (0x01 << i)) { in DDCModesFromEstablished()
318 …{MODEPREFIX, 31500, 640, 672, 736, 832, 0, 350, 382, 385, 445, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX}…
319 …{MODEPREFIX, 31500, 640, 672, 736, 832, 0, 400, 401, 404, 445, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX}…
320 …{MODEPREFIX, 35500, 720, 756, 828, 936, 0, 400, 401, 404, 446, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX}…
321 …{MODEPREFIX, 25175, 640, 656, 752, 800, 0, 480, 490, 492, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
322 …{MODEPREFIX, 31500, 640, 664, 704, 832, 0, 480, 489, 492, 520, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
323 …{MODEPREFIX, 31500, 640, 656, 720, 840, 0, 480, 481, 484, 500, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
324 …{MODEPREFIX, 36000, 640, 696, 752, 832, 0, 480, 481, 484, 509, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
325 …{MODEPREFIX, 36000, 800, 824, 896, 1024, 0, 600, 601, 603, 625, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX…
326 …{MODEPREFIX, 40000, 800, 840, 968, 1056, 0, 600, 601, 605, 628, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX…
327 …{MODEPREFIX, 50000, 800, 856, 976, 1040, 0, 600, 637, 643, 666, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX…
328 …{MODEPREFIX, 49500, 800, 816, 896, 1056, 0, 600, 601, 604, 625, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX…
329 …{MODEPREFIX, 56250, 800, 832, 896, 1048, 0, 600, 601, 604, 631, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX…
330 …{MODEPREFIX, 73250, 800, 848, 880, 960, 0, 600, 603, 607, 636, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX}…
331 …{MODEPREFIX, 33750, 848, 864, 976, 1088, 0, 480, 486, 494, 517, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX…
332 …{MODEPREFIX, 44900, 1024, 1032, 1208, 1264, 0, 768, 768, 772, 817, 0, V_PHSYNC | V_PVSYNC | V_INTE…
333 …{MODEPREFIX, 65000, 1024, 1048, 1184, 1344, 0, 768, 771, 777, 806, 0, V_NHSYNC | V_NVSYNC, MODESUF…
334 …{MODEPREFIX, 75000, 1024, 1048, 1184, 1328, 0, 768, 771, 777, 806, 0, V_NHSYNC | V_NVSYNC, MODESUF…
335 …{MODEPREFIX, 78750, 1024, 1040, 1136, 1312, 0, 768, 769, 772, 800, 0, V_PHSYNC | V_PVSYNC, MODESUF…
336 …{MODEPREFIX, 94500, 1024, 1072, 1168, 1376, 0, 768, 769, 772, 808, 0, V_PHSYNC | V_PVSYNC, MODESUF…
337 …{MODEPREFIX, 115500, 1024, 1072, 1104, 1184, 0, 768, 771, 775, 813, 0, V_PHSYNC | V_NVSYNC, MODESU…
338 …{MODEPREFIX, 108000, 1152, 1216, 1344, 1600, 0, 864, 865, 868, 900, 0, V_PHSYNC | V_PVSYNC, MODESU…
339 …{MODEPREFIX, 68250, 1280, 1328, 1360, 1440, 0, 768, 771, 778, 790, 0, V_PHSYNC | V_NVSYNC, MODESUF…
340 …{MODEPREFIX, 79500, 1280, 1344, 1472, 1664, 0, 768, 771, 778, 798, 0, V_NHSYNC | V_PVSYNC, MODESUF…
341 …{MODEPREFIX, 102250, 1280, 1360, 1488, 1696, 0, 768, 771, 778, 805, 0, V_NHSYNC | V_PVSYNC, MODESU…
342 …{MODEPREFIX, 117500, 1280, 1360, 1496, 1712, 0, 768, 771, 778, 809, 0, V_NHSYNC | V_PVSYNC, MODESU…
343 …{MODEPREFIX, 140250, 1280, 1328, 1360, 1440, 0, 768, 771, 778, 813, 0, V_PHSYNC | V_NVSYNC, MODESU…
344 …{MODEPREFIX, 71000, 1280, 1328, 1360, 1440, 0, 800, 803, 809, 823, 0, V_PHSYNC | V_NVSYNC, MODESUF…
345 …{MODEPREFIX, 83500, 1280, 1352, 1480, 1680, 0, 800, 803, 809, 831, 0, V_NHSYNC | V_PVSYNC, MODESUF…
346 …{MODEPREFIX, 106500, 1280, 1360, 1488, 1696, 0, 800, 803, 809, 838, 0, V_NHSYNC | V_PVSYNC, MODESU…
347 …{MODEPREFIX, 122500, 1280, 1360, 1496, 1712, 0, 800, 803, 809, 843, 0, V_NHSYNC | V_PVSYNC, MODESU…
348 …{MODEPREFIX, 146250, 1280, 1328, 1360, 1440, 0, 800, 803, 809, 847, 0, V_PHSYNC | V_NVSYNC, MODESU…
349 …{MODEPREFIX, 108000, 1280, 1376, 1488, 1800, 0, 960, 961, 964, 1000, 0, V_PHSYNC | V_PVSYNC, MODES…
350 …{MODEPREFIX, 148500, 1280, 1344, 1504, 1728, 0, 960, 961, 964, 1011, 0, V_PHSYNC | V_PVSYNC, MODES…
351 …{MODEPREFIX, 175500, 1280, 1328, 1360, 1440, 0, 960, 963, 967, 1017, 0, V_PHSYNC | V_NVSYNC, MODES…
352 …{MODEPREFIX, 108000, 1280, 1328, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0, V_PHSYNC | V_PVSYNC, MO…
353 …{MODEPREFIX, 135000, 1280, 1296, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0, V_PHSYNC | V_PVSYNC, MO…
354 …{MODEPREFIX, 157500, 1280, 1344, 1504, 1728, 0, 1024, 1025, 1028, 1072, 0, V_PHSYNC | V_PVSYNC, MO…
355 …{MODEPREFIX, 187250, 1280, 1328, 1360, 1440, 0, 1024, 1027, 1034, 1084, 0, V_PHSYNC | V_NVSYNC, MO…
356 …{MODEPREFIX, 85500, 1360, 1424, 1536, 1792, 0, 768, 771, 777, 795, 0, V_PHSYNC | V_PVSYNC, MODESUF…
357 …{MODEPREFIX, 148250, 1360, 1408, 1440, 1520, 0, 768, 771, 776, 813, 0, V_PHSYNC | V_NVSYNC, MODESU…
358 …{MODEPREFIX, 101000, 1400, 1448, 1480, 1560, 0, 1050, 1053, 1057, 1080, 0, V_PHSYNC | V_NVSYNC, MO…
359 …{MODEPREFIX, 121750, 1400, 1488, 1632, 1864, 0, 1050, 1053, 1057, 1089, 0, V_NHSYNC | V_PVSYNC, MO…
360 …{MODEPREFIX, 156000, 1400, 1504, 1648, 1896, 0, 1050, 1053, 1057, 1099, 0, V_NHSYNC | V_PVSYNC, MO…
361 …{MODEPREFIX, 179500, 1400, 1504, 1656, 1912, 0, 1050, 1053, 1057, 1105, 0, V_NHSYNC | V_PVSYNC, MO…
362 …{MODEPREFIX, 208000, 1400, 1448, 1480, 1560, 0, 1050, 1053, 1057, 1112, 0, V_PHSYNC | V_NVSYNC, MO…
363 …{MODEPREFIX, 88750, 1440, 1488, 1520, 1600, 0, 900, 903, 909, 926, 0, V_PHSYNC | V_NVSYNC, MODESUF…
364 …{MODEPREFIX, 106500, 1440, 1520, 1672, 1904, 0, 900, 903, 909, 934, 0, V_NHSYNC | V_PVSYNC, MODESU…
365 …{MODEPREFIX, 136750, 1440, 1536, 1688, 1936, 0, 900, 903, 909, 942, 0, V_NHSYNC | V_PVSYNC, MODESU…
366 …{MODEPREFIX, 157000, 1440, 1544, 1696, 1952, 0, 900, 903, 909, 948, 0, V_NHSYNC | V_PVSYNC, MODESU…
367 …{MODEPREFIX, 182750, 1440, 1488, 1520, 1600, 0, 900, 903, 909, 953, 0, V_PHSYNC | V_NVSYNC, MODESU…
368 …{MODEPREFIX, 162000, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, V_PHSYNC | V_PVSYNC, MO…
369 …{MODEPREFIX, 175500, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, V_PHSYNC | V_PVSYNC, MO…
370 …{MODEPREFIX, 189000, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, V_PHSYNC | V_PVSYNC, MO…
371 …{MODEPREFIX, 202500, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, V_PHSYNC | V_PVSYNC, MO…
372 …{MODEPREFIX, 229500, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, V_PHSYNC | V_PVSYNC, MO…
373 …{MODEPREFIX, 268250, 1600, 1648, 1680, 1760, 0, 1200, 1203, 1207, 1271, 0, V_PHSYNC | V_NVSYNC, MO…
374 …{MODEPREFIX, 119000, 1680, 1728, 1760, 1840, 0, 1050, 1053, 1059, 1080, 0, V_PHSYNC | V_NVSYNC, MO…
375 …{MODEPREFIX, 146250, 1680, 1784, 1960, 2240, 0, 1050, 1053, 1059, 1089, 0, V_NHSYNC | V_PVSYNC, MO…
376 …{MODEPREFIX, 187000, 1680, 1800, 1976, 2272, 0, 1050, 1053, 1059, 1099, 0, V_NHSYNC | V_PVSYNC, MO…
377 …{MODEPREFIX, 214750, 1680, 1808, 1984, 2288, 0, 1050, 1053, 1059, 1105, 0, V_NHSYNC | V_PVSYNC, MO…
378 …{MODEPREFIX, 245500, 1680, 1728, 1760, 1840, 0, 1050, 1053, 1059, 1112, 0, V_PHSYNC | V_NVSYNC, MO…
379 …{MODEPREFIX, 204750, 1792, 1920, 2120, 2448, 0, 1344, 1345, 1348, 1394, 0, V_NHSYNC | V_PVSYNC, MO…
380 …{MODEPREFIX, 261000, 1792, 1888, 2104, 2456, 0, 1344, 1345, 1348, 1417, 0, V_NHSYNC | V_PVSYNC, MO…
381 …{MODEPREFIX, 333250, 1792, 1840, 1872, 1952, 0, 1344, 1347, 1351, 1423, 0, V_PHSYNC | V_NVSYNC, MO…
382 …{MODEPREFIX, 218250, 1856, 1952, 2176, 2528, 0, 1392, 1393, 1396, 1439, 0, V_NHSYNC | V_PVSYNC, MO…
383 …{MODEPREFIX, 288000, 1856, 1984, 2208, 2560, 0, 1392, 1393, 1396, 1500, 0, V_NHSYNC | V_PVSYNC, MO…
384 …{MODEPREFIX, 356500, 1856, 1904, 1936, 2016, 0, 1392, 1395, 1399, 1474, 0, V_PHSYNC | V_NVSYNC, MO…
385 …{MODEPREFIX, 154000, 1920, 1968, 2000, 2080, 0, 1200, 1203, 1209, 1235, 0, V_PHSYNC | V_NVSYNC, MO…
386 …{MODEPREFIX, 193250, 1920, 2056, 2256, 2592, 0, 1200, 1203, 1209, 1245, 0, V_NHSYNC | V_PVSYNC, MO…
387 …{MODEPREFIX, 245250, 1920, 2056, 2264, 2608, 0, 1200, 1203, 1209, 1255, 0, V_NHSYNC | V_PVSYNC, MO…
388 …{MODEPREFIX, 281250, 1920, 2064, 2272, 2624, 0, 1200, 1203, 1209, 1262, 0, V_NHSYNC | V_PVSYNC, MO…
389 …{MODEPREFIX, 317000, 1920, 1968, 2000, 2080, 0, 1200, 1203, 1209, 1271, 0, V_PHSYNC | V_NVSYNC, MO…
390 …{MODEPREFIX, 234000, 1920, 2048, 2256, 2600, 0, 1440, 1441, 1444, 1500, 0, V_NHSYNC | V_PVSYNC, MO…
391 …{MODEPREFIX, 297000, 1920, 2064, 2288, 2640, 0, 1440, 1441, 1444, 1500, 0, V_NHSYNC | V_PVSYNC, MO…
392 …{MODEPREFIX, 380500, 1920, 1968, 2000, 2080, 0, 1440, 1443, 1447, 1525, 0, V_PHSYNC | V_NVSYNC, MO…
393 …{MODEPREFIX, 268500, 2560, 2608, 2640, 2720, 0, 1600, 1603, 1609, 1646, 0, V_PHSYNC | V_NVSYNC, MO…
394 …{MODEPREFIX, 348500, 2560, 2752, 3032, 3504, 0, 1600, 1603, 1609, 1658, 0, V_NHSYNC | V_PVSYNC, MO…
395 …{MODEPREFIX, 443250, 2560, 2768, 3048, 3536, 0, 1600, 1603, 1609, 1672, 0, V_NHSYNC | V_PVSYNC, MO…
396 …{MODEPREFIX, 505250, 2560, 2768, 3048, 3536, 0, 1600, 1603, 1609, 1682, 0, V_NHSYNC | V_PVSYNC, MO…
397 …{MODEPREFIX, 552750, 2560, 2608, 2640, 2720, 0, 1600, 1603, 1609, 1694, 0, V_PHSYNC | V_NVSYNC, MO…
400 #define LEVEL_DMT 0
407 if (DDC->ver.revision >= 2) { in MonitorStandardTimingLevel()
408 if (DDC->ver.revision >= 4 && CVT_SUPPORTED(DDC->features.msc)) { in MonitorStandardTimingLevel()
423 * If rb is not set, then we'll not consider reduced-blanking modes as
433 for (i = 0; i < ARRAY_SIZE(DMTModes); i++) { in FindDMTMode()
439 if (ret->HDisplay == hsize && in FindDMTMode()
440 ret->VDisplay == vsize && refresh == ModeRefresh(ret)) in FindDMTMode()
459 * as CVT-compliant (unless specified in an extension block I suppose).
472 for (i = 0; i < STD_TIMINGS; i++) { in DDCModesFromStandardTiming()
487 for (p = pool; p; p = p->next) { in DDCModesFromStandardTiming()
488 if (p->HDisplay == hsize && p->VDisplay == vsize && in DDCModesFromStandardTiming()
498 Mode->HDisplay = 1366; in DDCModesFromStandardTiming()
499 Mode->HSyncStart--; in DDCModesFromStandardTiming()
500 Mode->HSyncEnd--; in DDCModesFromStandardTiming()
516 Mode->type = M_T_DRIVER; in DDCModesFromStandardTiming()
549 for (i = 0; i < ARRAY_SIZE(cea_interlaced); i++) { in DDCModeDoInterlaceQuirks()
550 if ((mode->HDisplay == cea_interlaced[i].w) && in DDCModeDoInterlaceQuirks()
551 (mode->VDisplay == cea_interlaced[i].h / 2)) { in DDCModeDoInterlaceQuirks()
552 mode->VDisplay *= 2; in DDCModeDoInterlaceQuirks()
553 mode->VSyncStart *= 2; in DDCModeDoInterlaceQuirks()
554 mode->VSyncEnd *= 2; in DDCModeDoInterlaceQuirks()
555 mode->VTotal *= 2; in DDCModeDoInterlaceQuirks()
556 mode->VTotal |= 1; in DDCModeDoInterlaceQuirks()
560 mode->Flags |= V_INTERLACE; in DDCModeDoInterlaceQuirks()
578 if (timing->h_active < 64 || timing->v_active < 64) { in DDCModeFromDetailedTiming()
581 timing->h_active, timing->v_active); in DDCModeFromDetailedTiming()
586 if (timing->stereo) { in DDCModeFromDetailedTiming()
593 if (timing->sync != 0x03) { in DDCModeFromDetailedTiming()
596 " sync.\n", __func__, timing->h_active, timing->v_active); in DDCModeFromDetailedTiming()
601 Mode->type = M_T_DRIVER; in DDCModeFromDetailedTiming()
603 Mode->type |= M_T_PREFERRED; in DDCModeFromDetailedTiming()
605 if ((quirks & DDC_QUIRK_135_CLOCK_TOO_HIGH) && timing->clock == 135000000) in DDCModeFromDetailedTiming()
606 Mode->Clock = 108880; in DDCModeFromDetailedTiming()
608 Mode->Clock = timing->clock / 1000.0; in DDCModeFromDetailedTiming()
610 Mode->HDisplay = timing->h_active; in DDCModeFromDetailedTiming()
611 Mode->HSyncStart = timing->h_active + timing->h_sync_off; in DDCModeFromDetailedTiming()
612 Mode->HSyncEnd = Mode->HSyncStart + timing->h_sync_width; in DDCModeFromDetailedTiming()
613 Mode->HTotal = timing->h_active + timing->h_blanking; in DDCModeFromDetailedTiming()
615 Mode->VDisplay = timing->v_active; in DDCModeFromDetailedTiming()
616 Mode->VSyncStart = timing->v_active + timing->v_sync_off; in DDCModeFromDetailedTiming()
617 Mode->VSyncEnd = Mode->VSyncStart + timing->v_sync_width; in DDCModeFromDetailedTiming()
618 Mode->VTotal = timing->v_active + timing->v_blanking; in DDCModeFromDetailedTiming()
621 if (Mode->HSyncEnd > Mode->HTotal || Mode->VSyncEnd > Mode->VTotal) { in DDCModeFromDetailedTiming()
628 if (timing->interlaced) in DDCModeFromDetailedTiming()
632 Mode->Flags |= V_PVSYNC | V_PHSYNC; in DDCModeFromDetailedTiming()
634 if (timing->misc & 0x02) in DDCModeFromDetailedTiming()
635 Mode->Flags |= V_PVSYNC; in DDCModeFromDetailedTiming()
637 Mode->Flags |= V_NVSYNC; in DDCModeFromDetailedTiming()
639 if (timing->misc & 0x01) in DDCModeFromDetailedTiming()
640 Mode->Flags |= V_PHSYNC; in DDCModeFromDetailedTiming()
642 Mode->Flags |= V_NHSYNC; in DDCModeFromDetailedTiming()
656 for (i = 0; i < 4; i++) { in DDCModesFromCVT()
658 if (t[i].rates & 0x10) in DDCModesFromCVT()
660 xf86CVTMode(t[i].width, t[i].height, 50, 0, in DDCModesFromCVT()
661 0)); in DDCModesFromCVT()
662 if (t[i].rates & 0x08) in DDCModesFromCVT()
664 xf86CVTMode(t[i].width, t[i].height, 60, 0, in DDCModesFromCVT()
665 0)); in DDCModesFromCVT()
666 if (t[i].rates & 0x04) in DDCModesFromCVT()
668 xf86CVTMode(t[i].width, t[i].height, 75, 0, in DDCModesFromCVT()
669 0)); in DDCModesFromCVT()
670 if (t[i].rates & 0x02) in DDCModesFromCVT()
672 xf86CVTMode(t[i].width, t[i].height, 85, 0, in DDCModesFromCVT()
673 0)); in DDCModesFromCVT()
674 if (t[i].rates & 0x01) in DDCModesFromCVT()
677 0)); in DDCModesFromCVT()
693 {640, 350, 85, 0},
694 {640, 400, 85, 0},
695 {720, 400, 85, 0},
696 {640, 480, 85, 0},
697 {848, 480, 60, 0},
698 {800, 600, 85, 0},
699 {1024, 768, 85, 0},
700 {1152, 864, 75, 0},
703 {1280, 768, 60, 0},
704 {1280, 768, 75, 0},
705 {1280, 768, 85, 0},
706 {1280, 960, 60, 0},
707 {1280, 960, 85, 0},
708 {1280, 1024, 60, 0},
709 {1280, 1024, 85, 0},
711 {1360, 768, 60, 0},
713 {1440, 900, 60, 0},
714 {1440, 900, 75, 0},
715 {1440, 900, 85, 0},
717 {1400, 1050, 60, 0},
718 {1400, 1050, 75, 0},
720 {1400, 1050, 85, 0},
722 {1680, 1050, 60, 0},
723 {1680, 1050, 75, 0},
724 {1680, 1050, 85, 0},
725 {1600, 1200, 60, 0},
726 {1600, 1200, 65, 0},
727 {1600, 1200, 70, 0},
729 {1600, 1200, 75, 0},
730 {1600, 1200, 85, 0},
731 {1792, 1344, 60, 0},
732 {1792, 1344, 75, 0},
733 {1856, 1392, 60, 0},
734 {1856, 1392, 75, 0},
736 {1920, 1200, 60, 0},
738 {1920, 1200, 75, 0},
739 {1920, 1200, 85, 0},
740 {1920, 1440, 60, 0},
741 {1920, 1440, 75, 0},
743 {0,0,0,0},
744 {0,0,0,0},
745 {0,0,0,0},
746 {0,0,0,0},
755 for (i = 0; i < 6; i++) { in DDCModesFromEstIII()
756 for (j = 7; j >= 0; j--) { in DDCModesFromEstIII()
758 m = (i * 8) + (7 - j); in DDCModesFromEstIII()
773 * This is only valid when the sink claims to be continuous-frequency
776 * this; the non-RANDR code even punts the decision of optional sync
788 Monitor->nHsync = 1; in DDCGuessRangesFromModes()
789 Monitor->hsync[0].lo = 1024.0; in DDCGuessRangesFromModes()
790 Monitor->hsync[0].hi = 0.0; in DDCGuessRangesFromModes()
792 Monitor->nVrefresh = 1; in DDCGuessRangesFromModes()
793 Monitor->vrefresh[0].lo = 1024.0; in DDCGuessRangesFromModes()
794 Monitor->vrefresh[0].hi = 0.0; in DDCGuessRangesFromModes()
797 if (!Mode->HSync) in DDCGuessRangesFromModes()
798 Mode->HSync = ((float) Mode->Clock) / ((float) Mode->HTotal); in DDCGuessRangesFromModes()
800 if (!Mode->VRefresh) in DDCGuessRangesFromModes()
801 Mode->VRefresh = (1000.0 * ((float) Mode->Clock)) / in DDCGuessRangesFromModes()
802 ((float) (Mode->HTotal * Mode->VTotal)); in DDCGuessRangesFromModes()
804 if (Mode->HSync < Monitor->hsync[0].lo) in DDCGuessRangesFromModes()
805 Monitor->hsync[0].lo = Mode->HSync; in DDCGuessRangesFromModes()
807 if (Mode->HSync > Monitor->hsync[0].hi) in DDCGuessRangesFromModes()
808 Monitor->hsync[0].hi = Mode->HSync; in DDCGuessRangesFromModes()
810 if (Mode->VRefresh < Monitor->vrefresh[0].lo) in DDCGuessRangesFromModes()
811 Monitor->vrefresh[0].lo = Mode->VRefresh; in DDCGuessRangesFromModes()
813 if (Mode->VRefresh > Monitor->vrefresh[0].hi) in DDCGuessRangesFromModes()
814 Monitor->vrefresh[0].hi = Mode->VRefresh; in DDCGuessRangesFromModes()
816 Mode = Mode->next; in DDCGuessRangesFromModes()
827 for (i = 0; ddc_quirks[i].detect; i++) { in xf86DDCDetectQuirks()
844 if (det_mon->type != DT) in xf86DetTimingApplyQuirks()
848 det_mon->section.d_timings.h_size *= 10; in xf86DetTimingApplyQuirks()
851 det_mon->section.d_timings.v_size *= 10; in xf86DetTimingApplyQuirks()
854 det_mon->section.d_timings.h_size = 10 * hsize; in xf86DetTimingApplyQuirks()
855 det_mon->section.d_timings.v_size = 10 * vsize; in xf86DetTimingApplyQuirks()
860 * Applies monitor-specific quirks to the decoded EDID information.
871 for (i = 0; i < DET_TIMINGS; i++) { in xf86DDCApplyQuirks()
872 xf86DetTimingApplyQuirks(DDC->det_mon + i, quirks, in xf86DDCApplyQuirks()
873 DDC->features.hsize, DDC->features.vsize); in xf86DDCApplyQuirks()
887 for (mode = modes; mode; mode = mode->next) { in xf86DDCSetPreferredRefresh()
888 mode->type &= ~M_T_PREFERRED; in xf86DDCSetPreferredRefresh()
893 if (mode->HDisplay * mode->VDisplay > best->HDisplay * best->VDisplay) { in xf86DDCSetPreferredRefresh()
897 if (mode->HDisplay * mode->VDisplay == best->HDisplay * best->VDisplay) { in xf86DDCSetPreferredRefresh()
900 double mode_dist = fabs(mode_refresh - target_refresh); in xf86DDCSetPreferredRefresh()
901 double best_dist = fabs(best_refresh - target_refresh); in xf86DDCSetPreferredRefresh()
910 best->type |= M_T_PREFERRED; in xf86DDCSetPreferredRefresh()
915 …{MODEPREFIX, 25175, 640, 656, 752, 800, 0, 480, 490, 492, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
916 …{MODEPREFIX, 27000, 720, 736, 798, 858, 0, 480, 489, 495, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
917 …{MODEPREFIX, 27000, 720, 736, 798, 858, 0, 480, 489, 495, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
918 …{MODEPREFIX, 74250, 1280, 1390, 1430, 1650, 0, 720, 725, 730, 750, 0, V_PHSYNC | V_PVSYNC, MODESUF…
919 …{MODEPREFIX, 74250, 1920, 2008, 2052, 2200, 0, 1080, 1084, 1094, 1125, 0, V_PHSYNC | V_PVSYNC | V_…
920 …{MODEPREFIX, 27000, 1440, 1478, 1602, 1716, 0, 480, 488, 494, 525, 0, V_NHSYNC | V_NVSYNC | V_INTE…
921 …{MODEPREFIX, 27000, 1440, 1478, 1602, 1716, 0, 480, 488, 494, 525, 0, V_NHSYNC | V_NVSYNC | V_INTE…
922 …{MODEPREFIX, 27000, 1440, 1478, 1602, 1716, 0, 240, 244, 247, 262, 0, V_NHSYNC | V_NVSYNC, MODESUF…
923 …{MODEPREFIX, 27000, 1440, 1478, 1602, 1716, 0, 240, 244, 247, 262, 0, V_NHSYNC | V_NVSYNC, MODESUF…
924 …{MODEPREFIX, 54000, 2880, 2956, 3204, 3432, 0, 480, 488, 494, 525, 0, V_NHSYNC | V_NVSYNC | V_INTE…
925 …{MODEPREFIX, 54000, 2880, 2956, 3204, 3432, 0, 480, 488, 494, 525, 0, V_NHSYNC | V_NVSYNC | V_INTE…
926 …{MODEPREFIX, 54000, 2880, 2956, 3204, 3432, 0, 240, 244, 247, 262, 0, V_NHSYNC | V_NVSYNC, MODESUF…
927 …{MODEPREFIX, 54000, 2880, 2956, 3204, 3432, 0, 240, 244, 247, 262, 0, V_NHSYNC | V_NVSYNC, MODESUF…
928 …{MODEPREFIX, 54000, 1440, 1472, 1596, 1716, 0, 480, 489, 495, 525, 0, V_NHSYNC | V_NVSYNC, MODESUF…
929 …{MODEPREFIX, 54000, 1440, 1472, 1596, 1716, 0, 480, 489, 495, 525, 0, V_NHSYNC | V_NVSYNC, MODESUF…
930 …{MODEPREFIX, 148500, 1920, 2008, 2052, 2200, 0, 1080, 1084, 1089, 1125, 0, V_PHSYNC | V_PVSYNC, MO…
931 …{MODEPREFIX, 27000, 720, 732, 796, 864, 0, 576, 581, 586, 625, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
932 …{MODEPREFIX, 27000, 720, 732, 796, 864, 0, 576, 581, 586, 625, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
933 …{MODEPREFIX, 74250, 1280, 1720, 1760, 1980, 0, 720, 725, 730, 750, 0, V_PHSYNC | V_PVSYNC, MODESUF…
934 …{MODEPREFIX, 74250, 1920, 2448, 2492, 2640, 0, 1080, 1084, 1094, 1125, 0, V_PHSYNC | V_PVSYNC | V_…
935 …{MODEPREFIX, 27000, 1440, 1464, 1590, 1728, 0, 576, 580, 586, 625, 0, V_NHSYNC | V_NVSYNC | V_INTE…
936 …{MODEPREFIX, 27000, 1440, 1464, 1590, 1728, 0, 576, 580, 586, 625, 0, V_NHSYNC | V_NVSYNC | V_INTE…
937 …{MODEPREFIX, 27000, 1440, 1464, 1590, 1728, 0, 288, 290, 293, 312, 0, V_NHSYNC | V_NVSYNC, MODESUF…
938 …{MODEPREFIX, 27000, 1440, 1464, 1590, 1728, 0, 288, 290, 293, 312, 0, V_NHSYNC | V_NVSYNC, MODESUF…
939 …{MODEPREFIX, 54000, 2880, 2928, 3180, 3456, 0, 576, 580, 586, 625, 0, V_NHSYNC | V_NVSYNC | V_INTE…
940 …{MODEPREFIX, 54000, 2880, 2928, 3180, 3456, 0, 576, 580, 586, 625, 0, V_NHSYNC | V_NVSYNC | V_INTE…
941 …{MODEPREFIX, 54000, 2880, 2928, 3180, 3456, 0, 288, 290, 293, 312, 0, V_NHSYNC | V_NVSYNC, MODESUF…
942 …{MODEPREFIX, 54000, 2880, 2928, 3180, 3456, 0, 288, 290, 293, 312, 0, V_NHSYNC | V_NVSYNC, MODESUF…
943 …{MODEPREFIX, 54000, 1440, 1464, 1592, 1728, 0, 576, 581, 586, 625, 0, V_NHSYNC | V_NVSYNC, MODESUF…
944 …{MODEPREFIX, 54000, 1440, 1464, 1592, 1728, 0, 576, 581, 586, 625, 0, V_NHSYNC | V_NVSYNC, MODESUF…
945 …{MODEPREFIX, 148500, 1920, 2448, 2492, 2640, 0, 1080, 1084, 1089, 1125, 0, V_PHSYNC | V_PVSYNC, MO…
946 …{MODEPREFIX, 74250, 1920, 2558, 2602, 2750, 0, 1080, 1084, 1089, 1125, 0, V_PHSYNC | V_PVSYNC, MOD…
947 …{MODEPREFIX, 74250, 1920, 2448, 2492, 2640, 0, 1080, 1084, 1089, 1125, 0, V_PHSYNC | V_PVSYNC, MOD…
948 …{MODEPREFIX, 74250, 1920, 2008, 2052, 2200, 0, 1080, 1084, 1089, 1125, 0, V_PHSYNC | V_PVSYNC, MOD…
949 …{MODEPREFIX, 108000, 2880, 2944, 3192, 3432, 0, 480, 489, 495, 525, 0, V_NHSYNC | V_NVSYNC, MODESU…
950 …{MODEPREFIX, 108000, 2880, 2944, 3192, 3432, 0, 480, 489, 495, 525, 0, V_NHSYNC | V_NVSYNC, MODESU…
951 …{MODEPREFIX, 108000, 2880, 2928, 3184, 3456, 0, 576, 581, 586, 625, 0, V_NHSYNC | V_NVSYNC, MODESU…
952 …{MODEPREFIX, 108000, 2880, 2928, 3184, 3456, 0, 576, 581, 586, 625, 0, V_NHSYNC | V_NVSYNC, MODESU…
953 …{MODEPREFIX, 72000, 1920, 1952, 2120, 2304, 0, 1080, 1126, 1136, 1250, 0, V_PHSYNC | V_NVSYNC | V_…
954 …{MODEPREFIX, 148500, 1920, 2448, 2492, 2640, 0, 1080, 1084, 1094, 1125, 0, V_PHSYNC | V_PVSYNC | V…
955 …{MODEPREFIX, 148500, 1280, 1720, 1760, 1980, 0, 720, 725, 730, 750, 0, V_PHSYNC | V_PVSYNC, MODESU…
956 …{MODEPREFIX, 54000, 720, 732, 796, 864, 0, 576, 581, 586, 625, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
957 …{MODEPREFIX, 54000, 720, 732, 796, 864, 0, 576, 581, 586, 625, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
958 …{MODEPREFIX, 54000, 1440, 1464, 1590, 1728, 0, 576, 580, 586, 625, 0, V_NHSYNC | V_NVSYNC, MODESUF…
959 …{MODEPREFIX, 54000, 1440, 1464, 1590, 1728, 0, 576, 580, 586, 625, 0, V_NHSYNC | V_NVSYNC, MODESUF…
960 …{MODEPREFIX, 148500, 1920, 2008, 2052, 2200, 0, 1080, 1084, 1094, 1125, 0, V_PHSYNC | V_PVSYNC | V…
961 …{MODEPREFIX, 148500, 1280, 1390, 1430, 1650, 0, 720, 725, 730, 750, 0, V_PHSYNC | V_PVSYNC, MODESU…
962 …{MODEPREFIX, 54000, 720, 736, 798, 858, 0, 480, 489, 495, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
963 …{MODEPREFIX, 54000, 720, 736, 798, 858, 0, 480, 489, 495, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX}…
964 …{MODEPREFIX, 54000, 1440, 1478, 1602, 1716, 0, 480, 488, 494, 525, 0, V_NHSYNC | V_NVSYNC | V_INTE…
965 …{MODEPREFIX, 54000, 1440, 1478, 1602, 1716, 0, 480, 488, 494, 525, 0, V_NHSYNC | V_NVSYNC | V_INTE…
966 …{MODEPREFIX, 108000, 720, 732, 796, 864, 0, 576, 581, 586, 625, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX…
967 …{MODEPREFIX, 108000, 720, 732, 796, 864, 0, 576, 581, 586, 625, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX…
968 …{MODEPREFIX, 108000, 1440, 1464, 1590, 1728, 0, 576, 580, 586, 625, 0, V_NHSYNC | V_NVSYNC | V_INT…
969 …{MODEPREFIX, 108000, 1440, 1464, 1590, 1728, 0, 576, 580, 586, 625, 0, V_NHSYNC | V_NVSYNC | V_INT…
970 …{MODEPREFIX, 108000, 720, 736, 798, 858, 0, 480, 489, 495, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX…
971 …{MODEPREFIX, 108000, 720, 736, 798, 858, 0, 480, 489, 495, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX…
972 …{MODEPREFIX, 108000, 1440, 1478, 1602, 1716, 0, 480, 488, 494, 525, 0, V_NHSYNC | V_NVSYNC | V_INT…
973 …{MODEPREFIX, 108000, 1440, 1478, 1602, 1716, 0, 480, 488, 494, 525, 0, V_NHSYNC | V_NVSYNC | V_INT…
974 …{MODEPREFIX, 59400, 1280, 3040, 3080, 3300, 0, 720, 725, 730, 750, 0, V_PHSYNC | V_PVSYNC, MODESUF…
975 …{MODEPREFIX, 74250, 1280, 3700, 3740, 3960, 0, 720, 725, 730, 750, 0, V_PHSYNC | V_PVSYNC, MODESUF…
976 …{MODEPREFIX, 74250, 1280, 3040, 3080, 3300, 0, 720, 725, 730, 750, 0, V_PHSYNC | V_PVSYNC, MODESUF…
977 …{MODEPREFIX, 297000, 1920, 2008, 2052, 2200, 0, 1080, 1084, 1089, 1125, 0, V_PHSYNC | V_PVSYNC, MO…
978 …{MODEPREFIX, 297000, 1920, 2448, 2492, 2640, 0, 1080, 1084, 1094, 1125, 0, V_PHSYNC | V_PVSYNC, MO…
989 vid = video->video_code & 0x7f; in handle_cea_svd()
991 Mode = xf86DuplicateMode(CEAVideoModes + (vid - 1)); in handle_cea_svd()
1021 xf86DetTimingApplyQuirks(det_mon, p->quirks, in handle_detailed_modes()
1022 p->DDC->features.hsize, p->DDC->features.vsize); in handle_detailed_modes()
1024 switch (det_mon->type) { in handle_detailed_modes()
1026 Mode = DDCModeFromDetailedTiming(p->DDC->scrnIndex, in handle_detailed_modes()
1027 &det_mon->section.d_timings, in handle_detailed_modes()
1028 p->preferred, p->quirks); in handle_detailed_modes()
1029 p->preferred = FALSE; in handle_detailed_modes()
1030 p->Modes = xf86ModesAdd(p->Modes, Mode); in handle_detailed_modes()
1033 Mode = DDCModesFromStandardTiming(p->Modes, in handle_detailed_modes()
1034 det_mon->section.std_t, in handle_detailed_modes()
1035 p->quirks, p->timing_level, p->rb); in handle_detailed_modes()
1036 p->Modes = xf86ModesAdd(p->Modes, Mode); in handle_detailed_modes()
1039 Mode = DDCModesFromCVT(p->DDC->scrnIndex, det_mon->section.cvt); in handle_detailed_modes()
1040 p->Modes = xf86ModesAdd(p->Modes, Mode); in handle_detailed_modes()
1043 Mode = DDCModesFromEstIII(det_mon->section.est_iii); in handle_detailed_modes()
1044 p->Modes = xf86ModesAdd(p->Modes, Mode); in handle_detailed_modes()
1061 DDC->vendor.name, DDC->vendor.prod_id); in xf86DDCGetModes()
1065 preferred = PREFERRED_TIMING_MODE(DDC->features.msc); in xf86DDCGetModes()
1066 if (DDC->ver.revision >= 4) in xf86DDCGetModes()
1086 /* Add cea-extension mode timings */ in xf86DDCGetModes()
1091 Mode = DDCModesFromEstablished(scrnIndex, &DDC->timings1, quirks); in xf86DDCGetModes()
1095 Mode = DDCModesFromStandardTiming(Modes, DDC->timings2, quirks, in xf86DDCGetModes()
1123 int scrnIndex = ((xf86MonPtr) (p->Monitor->DDC))->scrnIndex; in handle_detailed_monset()
1125 switch (det_mon->type) { in handle_detailed_monset()
1127 if (!p->have_hsync) { in handle_detailed_monset()
1128 if (!p->Monitor->nHsync) in handle_detailed_monset()
1131 p->Monitor->hsync[p->Monitor->nHsync].lo = in handle_detailed_monset()
1132 det_mon->section.ranges.min_h; in handle_detailed_monset()
1133 p->Monitor->hsync[p->Monitor->nHsync].hi = in handle_detailed_monset()
1134 det_mon->section.ranges.max_h; in handle_detailed_monset()
1135 p->Monitor->nHsync++; in handle_detailed_monset()
1142 if (!p->have_vrefresh) { in handle_detailed_monset()
1143 if (!p->Monitor->nVrefresh) in handle_detailed_monset()
1146 p->Monitor->vrefresh[p->Monitor->nVrefresh].lo = in handle_detailed_monset()
1147 det_mon->section.ranges.min_v; in handle_detailed_monset()
1148 p->Monitor->vrefresh[p->Monitor->nVrefresh].hi = in handle_detailed_monset()
1149 det_mon->section.ranges.max_v; in handle_detailed_monset()
1150 p->Monitor->nVrefresh++; in handle_detailed_monset()
1157 clock = det_mon->section.ranges.max_clock * 1000; in handle_detailed_monset()
1158 if (p->quirks & DDC_QUIRK_DVI_SINGLE_LINK) in handle_detailed_monset()
1160 if (!p->have_maxpixclock && clock > p->Monitor->maxPixClock) in handle_detailed_monset()
1161 p->Monitor->maxPixClock = clock; in handle_detailed_monset()
1181 Monitor->DDC = DDC; in xf86EdidMonitorSet()
1183 if (Monitor->widthmm <= 0 || Monitor->heightmm <= 0) { in xf86EdidMonitorSet()
1184 Monitor->widthmm = 10 * DDC->features.hsize; in xf86EdidMonitorSet()
1185 Monitor->heightmm = 10 * DDC->features.vsize; in xf86EdidMonitorSet()
1188 Monitor->reducedblanking = xf86MonitorSupportsReducedBlanking(DDC); in xf86EdidMonitorSet()
1194 p.quirks = xf86DDCDetectQuirks(scrnIndex, Monitor->DDC, FALSE); in xf86EdidMonitorSet()
1195 p.have_hsync = (Monitor->nHsync != 0); in xf86EdidMonitorSet()
1196 p.have_vrefresh = (Monitor->nVrefresh != 0); in xf86EdidMonitorSet()
1197 p.have_maxpixclock = (Monitor->maxPixClock != 0); in xf86EdidMonitorSet()
1207 Mode = Mode->next; in xf86EdidMonitorSet()
1211 if (!Monitor->nHsync || !Monitor->nVrefresh) in xf86EdidMonitorSet()
1215 if (Monitor->Modes) { in xf86EdidMonitorSet()
1216 Monitor->Last->next = Modes; in xf86EdidMonitorSet()
1217 Modes->prev = Monitor->Last; in xf86EdidMonitorSet()
1220 Monitor->Modes = Modes; in xf86EdidMonitorSet()
1223 Monitor->Modes = xf86PruneDuplicateModes(Monitor->Modes); in xf86EdidMonitorSet()
1226 for (Mode = Monitor->Modes; Mode && Mode->next; Mode = Mode->next) {} in xf86EdidMonitorSet()
1227 Monitor->Last = Mode; in xf86EdidMonitorSet()