Home | History | Annotate | Download | only in gvt

Lines Matching refs:edid

1 /*	$NetBSD: edid.c,v 1.2 2021/12/18 23:45:31 riastradh Exp $	*/
38 __KERNEL_RCSID(0, "$NetBSD: edid.c,v 1.2 2021/12/18 23:45:31 riastradh Exp $");
56 struct intel_vgpu_i2c_edid *edid = &vgpu->display.i2c_edid;
59 if (edid->state == I2C_NOT_SPECIFIED || !edid->slave_selected) {
60 gvt_vgpu_err("Driver tries to read EDID without proper sequence!\n");
63 if (edid->current_edid_read >= EDID_SIZE) {
64 gvt_vgpu_err("edid_get_byte() exceeds the size of EDID!\n");
68 if (!edid->edid_available) {
69 gvt_vgpu_err("Reading EDID but EDID is not available!\n");
73 if (intel_vgpu_has_monitor_on_port(vgpu, edid->port)) {
75 intel_vgpu_port(vgpu, edid->port)->edid;
77 chr = edid_data->edid_block[edid->current_edid_read];
78 edid->current_edid_read++;
80 gvt_vgpu_err("No EDID available during the reading?\n");
217 /* vgpu gmbus only support EDID */
534 * We only support EDID reading from I2C_over_AUX. And
537 * support the gfx driver to do EDID access.
560 * intel_vgpu_init_i2c_edid - initialize vGPU i2c edid emulation
563 * This function is used to initialize vGPU i2c edid emulation stuffs
568 struct intel_vgpu_i2c_edid *edid = &vgpu->display.i2c_edid;
570 edid->state = I2C_NOT_SPECIFIED;
572 edid->port = -1;
573 edid->slave_selected = false;
574 edid->edid_available = false;
575 edid->current_edid_read = 0;
577 memset(&edid->gmbus, 0, sizeof(struct intel_vgpu_i2c_gmbus));
579 edid->aux_ch.i2c_over_aux_ch = false;
580 edid->aux_ch.aux_ch_mot = false;