diff options
author | Xu Han <xu.han@intel.com> | 2017-03-21 10:00:59 +0800 |
---|---|---|
committer | Zhenyu Wang <zhenyuw@linux.intel.com> | 2017-03-21 10:50:02 +0800 |
commit | 14f5ba26aa7060b4cad9c4c288b9a785bd0cd1a8 (patch) | |
tree | 2859ce204875e6a087e43cfcaa7b745522f4b609 /drivers/gpu | |
parent | 4a53148868493bd5e0b18a9814aaa20bf74e3b26 (diff) | |
download | linux-14f5ba26aa7060b4cad9c4c288b9a785bd0cd1a8.tar.bz2 |
drm/i915/gvt: Fix guest fail to read EDID leading to black guest console issue.
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@citrix.com>
Signed-off-by: Xu Han <xu.han@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/i915/gvt/edid.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/gvt/edid.c b/drivers/gpu/drm/i915/gvt/edid.c index f1648fe5e5ea..42cd09ec63fa 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 |