[PATCH 2/2] drm/i915/gvt: Fix display port type issue.
Tina Zhang
tina.zhang at intel.com
Wed Mar 4 09:50:35 UTC 2020
According to the emulated opregion, the emulated display should support
dp type output instead of HDMI or DVI.
Otherwise, guest complains about the failures in HDMI initialization like:
[ 57.746829] WARN_ON(drm_crtc_vblank_get(crtc) == 0)
[ 57.746944] WARNING: CPU: 1 PID: 36 at drivers/gpu/drm/i915/display/intel_display.c:1322 assert_vblank_disabled+0x45/0x50 [i915]
[ 57.748593] Modules linked in: i915(E) intel_rapl_msr video drm_kms_helper cec intel_rapl_common rc_core drm kvm_intel kvm i2c_algo_bit fb_sys_fops syscopyarea sysfillrect sysimgblt crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel crypto_simd cryptd glue_helper joydev input_leds intel_rapl_perf serio_raw mac_hid qemu_fw_cfg sch_fq_codel parport_pc ppdev lp parport ip_tables x_tables autofs4 psmouse floppy e1000 pata_acpi i2c_piix4
[ 57.752619] CPU: 1 PID: 36 Comm: kworker/1:1 Tainted: G E 5.6.0-rc3+ #13
[ 57.753445] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.10.1-0-g8891697-dirty-20180511_165818-tinazhang-linux-1 04/01/2014
[ 57.754746] Workqueue: events output_poll_execute [drm_kms_helper]
[ 57.755394] RIP: 0010:assert_vblank_disabled+0x45/0x50 [i915]
[ 57.755973] Code: bd 67 12 00 00 48 c7 c6 b0 a9 51 c0 48 c7 c7 1b e7 53 c0 75 10 e8 3b 87 e9 ff 48 89 df e8 53 ae e9 ff 5b 5d c3 e8 4b c1 c6 c0 <0f> 0b eb ec 0f 1f 80 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 41 56
[ 57.757904] RSP: 0018:ffffc9000010f928 EFLAGS: 00010286
[ 57.758434] RAX: 0000000000000000 RBX: ffff88812129b000 RCX: 0000000000000000
[ 57.759203] RDX: 0000000000000027 RSI: ffffffff82b83c07 RDI: 0000000000000246
[ 57.759919] RBP: ffffc9000010f930 R08: ffffffff82b83be0 R09: 0000000000000027
[ 57.760631] R10: ffff88811f9ca800 R11: 0000000000000024 R12: ffff888128e25000
[ 57.761354] R13: ffff888100f06300 R14: ffff888128e25000 R15: ffff888128e27000
[ 57.762128] FS: 0000000000000000(0000) GS:ffff888133d00000(0000) knlGS:0000000000000000
[ 57.763095] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 57.763675] CR2: 0000555c6091f628 CR3: 000000011f80a004 CR4: 0000000000360ee0
[ 57.764391] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 57.765108] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 57.765836] Call Trace:
[ 57.766122] intel_crtc_vblank_on+0x1a/0x50 [i915]
[ 57.766631] intel_enable_ddi+0x4b/0x3f0 [i915]
[ 57.767110] intel_encoders_enable+0x85/0xb0 [i915]
[ 57.767624] hsw_crtc_enable+0x420/0x6b0 [i915]
[ 57.768104] intel_update_crtc+0x1b8/0x1e0 [i915]
[ 57.768601] skl_commit_modeset_enables+0x61b/0x6d0 [i915]
[ 57.769175] intel_atomic_commit_tail+0x328/0x1530 [i915]
[ 57.769729] ? flush_workqueue_prep_pwqs+0xfa/0x130
[ 57.770225] ? flush_workqueue+0x198/0x3c0
[ 57.770662] intel_atomic_commit+0x2ad/0x320 [i915]
[ 57.771173] drm_atomic_commit+0x4a/0x50 [drm]
[ 57.771636] drm_client_modeset_commit_atomic+0x1c4/0x200 [drm]
[ 57.772244] drm_client_modeset_commit_locked+0x47/0x170 [drm]
[ 57.772838] ? mutex_lock+0x12/0x40
[ 57.773202] drm_client_modeset_commit+0x26/0x50 [drm]
[ 57.773732] drm_fb_helper_restore_fbdev_mode_unlocked+0x4e/0xa0 [drm_kms_helper]
[ 57.774490] drm_fb_helper_set_par+0x2d/0x60 [drm_kms_helper]
[ 57.775076] drm_fb_helper_hotplug_event.part.21+0xb7/0xc0 [drm_kms_helper]
[ 57.775783] drm_fb_helper_hotplug_event+0x1f/0x30 [drm_kms_helper]
[ 57.776435] intel_fbdev_output_poll_changed+0x6b/0xa0 [i915]
[ 57.777045] drm_kms_helper_hotplug_event+0x2a/0x40 [drm_kms_helper]
[ 57.777769] output_poll_execute+0x181/0x1b0 [drm_kms_helper]
[ 57.778353] process_one_work+0x1fa/0x3f0
[ 57.778808] worker_thread+0x34/0x410
[ 57.779182] kthread+0x121/0x140
[ 57.779513] ? process_one_work+0x3f0/0x3f0
[ 57.779940] ? kthread_park+0x90/0x90
[ 57.780314] ret_from_fork+0x35/0x40
[ 57.780681] ---[ end trace b40a2ff1454022b5 ]---
[ 57.781195] ------------[ cut here ]------------
[ 57.781742] WARNING: CPU: 1 PID: 36 at drivers/gpu/drm/drm_vblank.c:1336 drm_crtc_set_max_vblank_count+0x44/0x50 [drm]
[ 57.782811] Modules linked in: i915(E) intel_rapl_msr video drm_kms_helper cec intel_rapl_common rc_core drm kvm_intel kvm i2c_algo_bit fb_sys_fops syscopyarea sysfillrect sysimgblt crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel crypto_simd cryptd glue_helper joydev input_leds intel_rapl_perf serio_raw mac_hid qemu_fw_cfg sch_fq_codel parport_pc ppdev lp parport ip_tables x_tables autofs4 psmouse floppy e1000 pata_acpi i2c_piix4
[ 57.786706] CPU: 1 PID: 36 Comm: kworker/1:1 Tainted: G W E 5.6.0-rc3+ #13
[ 57.787571] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.10.1-0-g8891697-dirty-20180511_165818-tinazhang-linux-1 04/01/2014
[ 57.788911] Workqueue: events output_poll_execute [drm_kms_helper]
[ 57.789546] RIP: 0010:drm_crtc_set_max_vblank_count+0x44/0x50 [drm]
[ 57.790177] Code: 48 c1 e0 04 48 03 82 30 01 00 00 8b 92 40 01 00 00 85 d2 75 0c 8b 50 6c 85 d2 74 0e 89 70 68 5d c3 0f 0b 8b 50 6c 85 d2 75 f2 <0f> 0b 89 70 68 5d c3 0f 1f 44 00 00 0f 1f 44 00 00 55 48 89 e5 41
[ 57.792168] RSP: 0018:ffffc9000010f930 EFLAGS: 00010246
[ 57.793752] RAX: ffff88811f9ca800 RBX: ffff88812129b000 RCX: 0000000000000000
[ 57.794589] RDX: 0000000000000000 RSI: 00000000ffffffff RDI: ffff88812129b000
[ 57.795298] RBP: ffffc9000010f930 R08: ffffffff82b83be0 R09: 0000000000000027
[ 57.796009] R10: ffff88811f9ca800 R11: 0000000000000024 R12: ffff888128e25000
[ 57.796721] R13: ffff888100f06300 R14: ffff888128e25000 R15: ffff888128e27000
[ 57.797439] FS: 0000000000000000(0000) GS:ffff888133d00000(0000) knlGS:0000000000000000
[ 57.798244] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 57.798820] CR2: 0000555c6091f628 CR3: 000000011f80a004 CR4: 0000000000360ee0
[ 57.799531] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 57.800243] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 57.800956] Call Trace:
[ 57.801373] intel_crtc_vblank_on+0x35/0x50 [i915]
[ 57.801881] intel_enable_ddi+0x4b/0x3f0 [i915]
[ 57.802357] intel_encoders_enable+0x85/0xb0 [i915]
[ 57.802865] hsw_crtc_enable+0x420/0x6b0 [i915]
[ 57.803338] intel_update_crtc+0x1b8/0x1e0 [i915]
[ 57.803829] skl_commit_modeset_enables+0x61b/0x6d0 [i915]
[ 57.804397] intel_atomic_commit_tail+0x328/0x1530 [i915]
[ 57.804942] ? flush_workqueue_prep_pwqs+0xfa/0x130
[ 57.805436] ? flush_workqueue+0x198/0x3c0
[ 57.805866] intel_atomic_commit+0x2ad/0x320 [i915]
[ 57.806369] drm_atomic_commit+0x4a/0x50 [drm]
[ 57.806827] drm_client_modeset_commit_atomic+0x1c4/0x200 [drm]
[ 57.807458] drm_client_modeset_commit_locked+0x47/0x170 [drm]
[ 57.808087] ? mutex_lock+0x12/0x40
[ 57.808445] drm_client_modeset_commit+0x26/0x50 [drm]
[ 57.808966] drm_fb_helper_restore_fbdev_mode_unlocked+0x4e/0xa0 [drm_kms_helper]
[ 57.809719] drm_fb_helper_set_par+0x2d/0x60 [drm_kms_helper]
[ 57.810296] drm_fb_helper_hotplug_event.part.21+0xb7/0xc0 [drm_kms_helper]
[ 57.810993] drm_fb_helper_hotplug_event+0x1f/0x30 [drm_kms_helper]
[ 57.811642] intel_fbdev_output_poll_changed+0x6b/0xa0 [i915]
[ 57.812219] drm_kms_helper_hotplug_event+0x2a/0x40 [drm_kms_helper]
[ 57.812925] output_poll_execute+0x181/0x1b0 [drm_kms_helper]
[ 57.813640] process_one_work+0x1fa/0x3f0
[ 57.814045] worker_thread+0x34/0x410
[ 57.814415] kthread+0x121/0x140
[ 57.814745] ? process_one_work+0x3f0/0x3f0
[ 57.815166] ? kthread_park+0x90/0x90
[ 57.815537] ret_from_fork+0x35/0x40
[ 57.815900] ---[ end trace b40a2ff1454022b6 ]---
Signed-off-by: Tina Zhang <tina.zhang at intel.com>
---
drivers/gpu/drm/i915/gvt/display.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/gvt/display.c b/drivers/gpu/drm/i915/gvt/display.c
index 14e139e66e45..86dc80405977 100644
--- a/drivers/gpu/drm/i915/gvt/display.c
+++ b/drivers/gpu/drm/i915/gvt/display.c
@@ -261,7 +261,7 @@ static void emulate_monitor_status_change(struct intel_vgpu *vgpu)
~(TRANS_DDI_BPC_MASK | TRANS_DDI_MODE_SELECT_MASK |
TRANS_DDI_PORT_MASK);
vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) |=
- (TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DVI |
+ (TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DP_SST |
(PORT_D << TRANS_DDI_PORT_SHIFT) |
TRANS_DDI_FUNC_ENABLE);
if (IS_BROADWELL(dev_priv)) {
--
2.17.1
More information about the intel-gvt-dev
mailing list