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>
This commit is contained in:
parent
510fe10b61
commit
a4cae23cc0
|
@ -196,7 +196,7 @@ static void emulate_monitor_status_change(struct intel_vgpu *vgpu)
|
||||||
~(TRANS_DDI_BPC_MASK | TRANS_DDI_MODE_SELECT_MASK |
|
~(TRANS_DDI_BPC_MASK | TRANS_DDI_MODE_SELECT_MASK |
|
||||||
TRANS_DDI_PORT_MASK);
|
TRANS_DDI_PORT_MASK);
|
||||||
vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) |=
|
vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) |=
|
||||||
(TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DP_SST |
|
(TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DVI |
|
||||||
(PORT_B << TRANS_DDI_PORT_SHIFT) |
|
(PORT_B << TRANS_DDI_PORT_SHIFT) |
|
||||||
TRANS_DDI_FUNC_ENABLE);
|
TRANS_DDI_FUNC_ENABLE);
|
||||||
if (IS_BROADWELL(dev_priv)) {
|
if (IS_BROADWELL(dev_priv)) {
|
||||||
|
@ -216,7 +216,7 @@ static void emulate_monitor_status_change(struct intel_vgpu *vgpu)
|
||||||
~(TRANS_DDI_BPC_MASK | TRANS_DDI_MODE_SELECT_MASK |
|
~(TRANS_DDI_BPC_MASK | TRANS_DDI_MODE_SELECT_MASK |
|
||||||
TRANS_DDI_PORT_MASK);
|
TRANS_DDI_PORT_MASK);
|
||||||
vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) |=
|
vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) |=
|
||||||
(TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DP_SST |
|
(TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DVI |
|
||||||
(PORT_C << TRANS_DDI_PORT_SHIFT) |
|
(PORT_C << TRANS_DDI_PORT_SHIFT) |
|
||||||
TRANS_DDI_FUNC_ENABLE);
|
TRANS_DDI_FUNC_ENABLE);
|
||||||
if (IS_BROADWELL(dev_priv)) {
|
if (IS_BROADWELL(dev_priv)) {
|
||||||
|
@ -236,7 +236,7 @@ static void emulate_monitor_status_change(struct intel_vgpu *vgpu)
|
||||||
~(TRANS_DDI_BPC_MASK | TRANS_DDI_MODE_SELECT_MASK |
|
~(TRANS_DDI_BPC_MASK | TRANS_DDI_MODE_SELECT_MASK |
|
||||||
TRANS_DDI_PORT_MASK);
|
TRANS_DDI_PORT_MASK);
|
||||||
vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) |=
|
vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) |=
|
||||||
(TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DP_SST |
|
(TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DVI |
|
||||||
(PORT_D << TRANS_DDI_PORT_SHIFT) |
|
(PORT_D << TRANS_DDI_PORT_SHIFT) |
|
||||||
TRANS_DDI_FUNC_ENABLE);
|
TRANS_DDI_FUNC_ENABLE);
|
||||||
if (IS_BROADWELL(dev_priv)) {
|
if (IS_BROADWELL(dev_priv)) {
|
||||||
|
|
Loading…
Reference in New Issue