aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXiaolin Zhang <xiaolin.zhang@intel.com>2018-06-21 02:33:43 -0400
committerZhenyu Wang <zhenyuw@linux.intel.com>2018-07-01 23:09:59 -0400
commita4cae23cc05ccec749c2fc70fa9d8cda7c582319 (patch)
treea5f181a394064a3afb9065776c77f843f7e7c225
parent510fe10b6180137773dce9032b51bb82ff946c2d (diff)
drm/i915/gvt: changed DDI mode emulation type
changed gvt display transcode DDI mode from DP_SST to DVI to address below calltrace issue during guest booting up which is caused by zero dotclock initial value with DP_SST mode. transcode DVI mode emulation also align with native with DP connection. [drm:drm_calc_timestamping_constants] ERROR crtc 41: Can't calculate constants, dotclock = 0! WARNING: at drivers/gpu/drm/drm_vblank.c:620 drm_calc_vbltimestamp_from_scanoutpos Call Trace: ? drm_calc_timestamping_constants+0x144/0x150 [drm] drm_get_last_vbltimestamp+0x54/0x90 [drm] drm_reset_vblank_timestamp+0x59/0xd0 [drm] drm_crtc_vblank_on+0x7b/0xd0 [drm] intel_modeset_setup_hw_state+0xb67/0xfd0 [i915] ? gen2_read32+0x110/0x110 [i915] ? drm_modeset_lock+0x30/0xa0 [drm] intel_modeset_init+0x794/0x19d0 [i915] ? intel_setup_gmbus+0x232/0x2e0 [i915] i915_driver_load+0xb4a/0xf40 [i915] Signed-off-by: Xiaolin Zhang <xiaolin.zhang@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
-rw-r--r--drivers/gpu/drm/i915/gvt/display.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/gvt/display.c b/drivers/gpu/drm/i915/gvt/display.c
index 6d8180e8d1e2..4b072ade8c38 100644
--- a/drivers/gpu/drm/i915/gvt/display.c
+++ b/drivers/gpu/drm/i915/gvt/display.c
@@ -196,7 +196,7 @@ static void emulate_monitor_status_change(struct intel_vgpu *vgpu)
196 ~(TRANS_DDI_BPC_MASK | TRANS_DDI_MODE_SELECT_MASK | 196 ~(TRANS_DDI_BPC_MASK | TRANS_DDI_MODE_SELECT_MASK |
197 TRANS_DDI_PORT_MASK); 197 TRANS_DDI_PORT_MASK);
198 vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) |= 198 vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) |=
199 (TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DP_SST | 199 (TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DVI |
200 (PORT_B << TRANS_DDI_PORT_SHIFT) | 200 (PORT_B << TRANS_DDI_PORT_SHIFT) |
201 TRANS_DDI_FUNC_ENABLE); 201 TRANS_DDI_FUNC_ENABLE);
202 if (IS_BROADWELL(dev_priv)) { 202 if (IS_BROADWELL(dev_priv)) {
@@ -216,7 +216,7 @@ static void emulate_monitor_status_change(struct intel_vgpu *vgpu)
216 ~(TRANS_DDI_BPC_MASK | TRANS_DDI_MODE_SELECT_MASK | 216 ~(TRANS_DDI_BPC_MASK | TRANS_DDI_MODE_SELECT_MASK |
217 TRANS_DDI_PORT_MASK); 217 TRANS_DDI_PORT_MASK);
218 vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) |= 218 vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) |=
219 (TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DP_SST | 219 (TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DVI |
220 (PORT_C << TRANS_DDI_PORT_SHIFT) | 220 (PORT_C << TRANS_DDI_PORT_SHIFT) |
221 TRANS_DDI_FUNC_ENABLE); 221 TRANS_DDI_FUNC_ENABLE);
222 if (IS_BROADWELL(dev_priv)) { 222 if (IS_BROADWELL(dev_priv)) {
@@ -236,7 +236,7 @@ static void emulate_monitor_status_change(struct intel_vgpu *vgpu)
236 ~(TRANS_DDI_BPC_MASK | TRANS_DDI_MODE_SELECT_MASK | 236 ~(TRANS_DDI_BPC_MASK | TRANS_DDI_MODE_SELECT_MASK |
237 TRANS_DDI_PORT_MASK); 237 TRANS_DDI_PORT_MASK);
238 vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) |= 238 vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) |=
239 (TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DP_SST | 239 (TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DVI |
240 (PORT_D << TRANS_DDI_PORT_SHIFT) | 240 (PORT_D << TRANS_DDI_PORT_SHIFT) |
241 TRANS_DDI_FUNC_ENABLE); 241 TRANS_DDI_FUNC_ENABLE);
242 if (IS_BROADWELL(dev_priv)) { 242 if (IS_BROADWELL(dev_priv)) {