Lines Matching +full:vendor +full:- +full:extension

5  * See the COPYING file in the top-level directory.
19 /* dea/dta extension timings (all @ 50 Hz) */
27 /* dea/dta extension timings (all @ 60 Hz) */
67 timings->xfront = xres * 25 / 100; in generate_timings()
68 timings->xsync = xres * 3 / 100; in generate_timings()
69 timings->xblank = xres * 35 / 100; in generate_timings()
71 timings->yfront = yres * 5 / 1000; in generate_timings()
72 timings->ysync = yres * 5 / 1000; in generate_timings()
73 timings->yblank = yres * 35 / 1000; in generate_timings()
75 timings->clock = ((uint64_t)refresh_rate * in generate_timings()
76 (xres + timings->xblank) * in generate_timings()
77 (yres + timings->yblank)) / 10000000; in generate_timings()
116 return -1; in edid_std_mode()
119 if ((xres / 8) - 31 > 255) { in edid_std_mode()
120 return -1; in edid_std_mode()
123 mode[0] = (xres / 8) - 31; in edid_std_mode()
124 mode[1] = ((aspect << 6) | (60 - 60)); in edid_std_mode()
138 if ((maxx && mode->xres > maxx) || in edid_fill_modes()
139 (maxy && mode->yres > maxy)) { in edid_fill_modes()
143 if (mode->byte) { in edid_fill_modes()
144 edid[mode->byte] |= (1 << mode->bit); in edid_fill_modes()
146 rc = edid_std_mode(edid + std, mode->xres, mode->yres); in edid_fill_modes()
150 } else if (mode->xtra3 && xtra3) { in edid_fill_modes()
151 xtra3[mode->xtra3] |= (1 << mode->bit); in edid_fill_modes()
154 if (dta && mode->dta) { in edid_fill_modes()
155 edid_ext_dta_mode(dta, mode->dta); in edid_fill_modes()
175 edid[len] = 0x100 - sum; in edid_checksum()
227 /* vertical (50 -> 125 Hz) */ in edid_desc_ranges()
231 /* horizontal (30 -> 160 kHz) */ in edid_desc_ranges()
262 stw_le_p(desc, timings->clock); in edid_desc_timing()
265 desc[3] = timings->xblank & 0xff; in edid_desc_timing()
267 ((timings->xblank & 0xf00) >> 8)); in edid_desc_timing()
270 desc[6] = timings->yblank & 0xff; in edid_desc_timing()
272 ((timings->yblank & 0xf00) >> 8)); in edid_desc_timing()
274 desc[8] = timings->xfront & 0xff; in edid_desc_timing()
275 desc[9] = timings->xsync & 0xff; in edid_desc_timing()
277 desc[10] = (((timings->yfront & 0x00f) << 4) | in edid_desc_timing()
278 ((timings->ysync & 0x00f) << 0)); in edid_desc_timing()
279 desc[11] = (((timings->xfront & 0x300) >> 2) | in edid_desc_timing()
280 ((timings->xsync & 0x300) >> 4) | in edid_desc_timing()
281 ((timings->yfront & 0x030) >> 2) | in edid_desc_timing()
282 ((timings->ysync & 0x030) >> 4)); in edid_desc_timing()
342 did[0] = 0x70; /* display id extension */ in init_displayid()
353 did[0] = 0x70; /* display id extension */ in qemu_displayid_generate()
362 did[8] = timings->clock & 0xff; in qemu_displayid_generate()
363 did[9] = (timings->clock & 0xff00) >> 8; in qemu_displayid_generate()
364 did[10] = (timings->clock & 0xff0000) >> 16; in qemu_displayid_generate()
368 stw_le_p(did + 12, 0xffff & (xres - 1)); in qemu_displayid_generate()
369 stw_le_p(did + 14, 0xffff & (timings->xblank - 1)); in qemu_displayid_generate()
370 stw_le_p(did + 16, 0xffff & (timings->xfront - 1)); in qemu_displayid_generate()
371 stw_le_p(did + 18, 0xffff & (timings->xsync - 1)); in qemu_displayid_generate()
373 stw_le_p(did + 20, 0xffff & (yres - 1)); in qemu_displayid_generate()
374 stw_le_p(did + 22, 0xffff & (timings->yblank - 1)); in qemu_displayid_generate()
375 stw_le_p(did + 24, 0xffff & (timings->yfront - 1)); in qemu_displayid_generate()
376 stw_le_p(did + 26, 0xffff & (timings->ysync - 1)); in qemu_displayid_generate()
390 uint32_t refresh_rate = info->refresh_rate ? info->refresh_rate : 75000; in qemu_edid_generate()
396 if (!info->vendor || strlen(info->vendor) != 3) { in qemu_edid_generate()
397 info->vendor = "RHT"; in qemu_edid_generate()
399 if (!info->name) { in qemu_edid_generate()
400 info->name = "QEMU Monitor"; in qemu_edid_generate()
402 if (!info->prefx) { in qemu_edid_generate()
403 info->prefx = 1280; in qemu_edid_generate()
405 if (!info->prefy) { in qemu_edid_generate()
406 info->prefy = 800; in qemu_edid_generate()
408 if (info->width_mm && info->height_mm) { in qemu_edid_generate()
409 width_mm = info->width_mm; in qemu_edid_generate()
410 height_mm = info->height_mm; in qemu_edid_generate()
411 dpi = qemu_edid_dpi_from_mm(width_mm, info->prefx); in qemu_edid_generate()
413 width_mm = qemu_edid_dpi_to_mm(dpi, info->prefx); in qemu_edid_generate()
414 height_mm = qemu_edid_dpi_to_mm(dpi, info->prefy); in qemu_edid_generate()
417 generate_timings(&timings, refresh_rate, info->prefx, info->prefy); in qemu_edid_generate()
418 if (info->prefx >= 4096 || info->prefy >= 4096 || timings.clock >= 65536) { in qemu_edid_generate()
449 uint16_t vendor_id = ((((info->vendor[0] - '@') & 0x1f) << 10) | in qemu_edid_generate()
450 (((info->vendor[1] - '@') & 0x1f) << 5) | in qemu_edid_generate()
451 (((info->vendor[2] - '@') & 0x1f) << 0)); in qemu_edid_generate()
453 uint32_t serial_nr = info->serial ? atoi(info->serial) : 0; in qemu_edid_generate()
460 edid[17] = 2014 - 1990; in qemu_edid_generate()
477 edid[23] = 220 - 100; in qemu_edid_generate()
502 edid_desc_timing(desc, &timings, info->prefx, info->prefy, in qemu_edid_generate()
510 edid_fill_modes(edid, xtra3, dta, info->maxx, info->maxy); in qemu_edid_generate()
519 if (desc && info->name) { in qemu_edid_generate()
520 edid_desc_text(desc, 0xfc, info->name); in qemu_edid_generate()
524 if (desc && info->serial) { in qemu_edid_generate()
525 edid_desc_text(desc, 0xff, info->serial); in qemu_edid_generate()
537 qemu_displayid_generate(did, &timings, info->prefx, info->prefy, in qemu_edid_generate()