[PATCH] drm/i915/gvt: Fix guest fail to read EDID leading to black guest console issue.

Xu Han xu.han at intel.com
Tue Mar 21 02:00:59 UTC 2017


It appears missing slaves on the i2c should cause 0xff to be returned
rather than 0. So, when the Windows driver tried to address a slave
at 0x40 and got 0’s back rather than 0xff’s it must have confused it.

Signed-off-by: Paul Durrant <Paul.Durrant at citrix.com>
Signed-off-by: Xu Han <xu.han at intel.com>
---
 drivers/gpu/drm/i915/gvt/edid.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gvt/edid.c b/drivers/gpu/drm/i915/gvt/edid.c
index f1648fe..42cd09ec 100644
--- a/drivers/gpu/drm/i915/gvt/edid.c
+++ b/drivers/gpu/drm/i915/gvt/edid.c
@@ -495,7 +495,8 @@ void intel_gvt_i2c_handle_aux_ch_write(struct intel_vgpu *vgpu,
 			unsigned char val = edid_get_byte(vgpu);
 
 			aux_data_for_write = (val << 16);
-		}
+		} else
+			aux_data_for_write = (0xff << 16);
 	}
 	/* write the return value in AUX_CH_DATA reg which includes:
 	 * ACK of I2C_WRITE
-- 
1.9.1



More information about the intel-gvt-dev mailing list