Bug 73951 - [Bay Trail-I HPD] Hot plug detection doesn't work with Display Port
Summary: [Bay Trail-I HPD] Hot plug detection doesn't work with Display Port
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Todd Previte
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-23 00:56 UTC by Kenta Ueda
Modified: 2017-07-24 22:56 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg output (136.19 KB, text/plain)
2014-01-23 01:00 UTC, Kenta Ueda
no flags Details
intel_reg_dumpter output (17.12 KB, text/plain)
2014-01-23 01:00 UTC, Kenta Ueda
no flags Details
Xorg.0.log (37.79 KB, text/plain)
2014-01-23 01:00 UTC, Kenta Ueda
no flags Details
xorg.conf (5.27 KB, text/plain)
2014-01-23 01:01 UTC, Kenta Ueda
no flags Details
xrandr --verbose output (5.46 KB, text/plain)
2014-01-23 01:01 UTC, Kenta Ueda
no flags Details
dmesg.log of DP output error (67.44 KB, text/plain)
2014-01-27 08:24 UTC, Kenta Ueda
no flags Details

Description Kenta Ueda 2014-01-23 00:56:44 UTC
Display Port Hotplug detection doesn't work on BYT-I with Linux.

Here are my tested environment.
System environment:
-- chipset: BayTrail-I
-- system architecture: x86_64
-- xf86-video-intel/xserver/mesa/libdrm version: 2.4.46
-- kernel version: 3.11.9
-- Linux distribution: Ubuntu 13.10
-- Display connector: Display Port

Reproduce steps. Probability if not 100% reproducible.
	1. Boot OS and X window system
	2. Connect DisplayPort Monitor, but the monitor is not recognized.
Comment 1 Kenta Ueda 2014-01-23 01:00:10 UTC
Created attachment 92628 [details]
dmesg output
Comment 2 Kenta Ueda 2014-01-23 01:00:32 UTC
Created attachment 92629 [details]
intel_reg_dumpter output
Comment 3 Kenta Ueda 2014-01-23 01:00:48 UTC
Created attachment 92630 [details]
Xorg.0.log
Comment 4 Kenta Ueda 2014-01-23 01:01:04 UTC
Created attachment 92631 [details]
xorg.conf
Comment 5 Kenta Ueda 2014-01-23 01:01:54 UTC
Created attachment 92632 [details]
xrandr --verbose output
Comment 6 Kenta Ueda 2014-01-23 01:18:36 UTC
I use EFI boot.
Windows8 system can work HPD with same VBT setting.
Comment 7 Jani Nikula 2014-01-23 06:29:57 UTC
I suspect this is fixed by a patch Todd is working on. Reassigning.
Comment 8 Jani Nikula 2014-01-23 06:34:56 UTC
Please try the patch at http://mid.gmane.org/1390450952-3039-2-git-send-email-tprevite@gmail.com
Comment 9 Todd Previte 2014-01-23 07:18:19 UTC
I updated the patch shortly after Jani added the comment above. You'll want to use V4 of the patch that's posted to the mailing list. Please try that one and provide feedback here. Thanks.

-T
Comment 10 Kenta Ueda 2014-01-23 10:30:51 UTC
Thank you for your update.
I want to try V4 patch. Could you tell me which version of the kernel can I patch the V4?

Thanks
Kenta Ueda
Comment 11 Daniel Vetter 2014-01-23 10:51:57 UTC
commit 232a6ee9af8adb185640f67fcaaa9014a9aa0573
Author: Todd Previte <tprevite@gmail.com>
Date:   Thu Jan 23 00:13:41 2014 -0700

    drm/i915: VLV2 - Fix hotplug detect bits

Patch will land in 3.14-rc1 and will then get backported to older kernels.
Comment 12 Kenta Ueda 2014-01-24 00:07:21 UTC
Thanks!
I found the version. I tried to compile the kernel on Ubuntu 13.10. Compile was done, but I have kernel panic in boot the Ubuntu. I think kernel config is not good. I used Ubuntu 3.11.0 config file. 
So, I'll try the kernel on Ubuntu 14.04 environment. Thanks.
Comment 13 Kenta Ueda 2014-01-27 08:24:48 UTC
Created attachment 92838 [details]
dmesg.log of DP output error
Comment 14 Kenta Ueda 2014-01-27 08:25:17 UTC
I tried commit 232a6ee9af8adb185640f67fcaaa9014a9aa0573 kernel, but my system was frozen in login screen (CUI mode).
So, I tried 3.13.0-5-generic (Ubuntu 14.04 default kernel) kernel + commit 232a6ee9af8adb185640f67fcaaa9014a9aa0573 patch kernel.
HPD works with 3.13.0-5 + hotplug patch. But system doesn't show any picture for DP monitor.

I found similar issue (bug#73477).

Here is the dmesg output. I attach all dmesg output. Thanks.
[   44.490952] ------------[ cut here ]------------$
[   44.490990] WARNING: CPU: 0 PID: 57 at /build/buildd/linux-3.13.0/drivers/gpu/drm/i915/intel_display.c:1508 vlv_wait_port_ready+0x104/0x110 [i915]()$
[   44.491000] timed out waiting for port C ready: 0xf000a0ff$
[   44.491003] Modules linked in: intel_rapl coretemp kvm_intel kvm crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd microcode psmouse i915
serio_raw joydev drm_kms_helper dw_dmac_pci drm dw_dmac_core i2c_algo_bit parport_pc ppdev bnep rfcomm bluetooth binfmt_misc nls_iso8859_1 video mac_hid lp parport hid_logitech ff_memless e1000e ptp usbhid hid sdhci_pci ahci pps_core libahci sdhci$
[   44.491097] CPU: 0 PID: 57 Comm: kworker/0:1 Not tainted 3.13.0-5-generic #20-Ubuntu$
[   44.491106] Hardware name: Intel Corp. VALLEYVIEW B0 PLATFORM/NOTEBOOK, BIOS BYTICRB1.X64.0072.R11.1312171421 12/17/2013$
[   44.491129] Workqueue: events i915_hotplug_work_func [i915]$
[   44.491138]  0000000000000009 ffff880136557a30 ffffffff81705069 ffff880136557a78$
[   44.491150]  ffff880136557a68 ffffffff8106467d ffff8800aaa34000 00000000000000f0$
[   44.491161]  00000000ffff0680 0000000000000001 ffff8800aa93b800 ffff880136557ac8$
[   44.491172] Call Trace:$
[   44.491187]  [<ffffffff81705069>] dump_stack+0x45/0x56$
[   44.491201]  [<ffffffff8106467d>] warn_slowpath_common+0x7d/0xa0$
[   44.491212]  [<ffffffff810646ec>] warn_slowpath_fmt+0x4c/0x50$
[   44.491244]  [<ffffffffa0212de4>] vlv_wait_port_ready+0x104/0x110 [i915]$
[   44.491276]  [<ffffffffa022ee33>] vlv_pre_enable_dp+0x113/0x160 [i915]$
[   44.491305]  [<ffffffffa0217fec>] valleyview_crtc_enable+0x12c/0x490 [i915]$
[   44.491334]  [<ffffffffa021a6c9>] __intel_set_mode+0x859/0x9c0 [i915]$
[   44.491347]  [<ffffffff81358d6f>] ? idr_get_empty_slot+0x16f/0x3c0$
[   44.491377]  [<ffffffffa021d376>] intel_set_mode+0x16/0x30 [i915]$
[   44.491407]  [<ffffffffa021dc2b>] intel_crtc_set_config+0x7ab/0x9a0 [i915]$
[   44.491433]  [<ffffffffa0183e6d>] drm_mode_set_config_internal+0x5d/0xe0 [drm]$
[   44.491450]  [<ffffffffa01c3f61>] drm_fb_helper_set_par+0x71/0xf0 [drm_kms_helper]$
[   44.491473]  [<ffffffffa0182ce2>] ? drm_modeset_unlock_all+0x52/0x60 [drm]$
[   44.491487]  [<ffffffffa01c3ee5>] drm_fb_helper_hotplug_event+0x105/0x110 [drm_kms_helper]$
[   44.491522]  [<ffffffffa025726c>] intel_fbdev_output_poll_changed+0x1c/0x20 [i915]$
[   44.491535]  [<ffffffffa01bfde7>] drm_kms_helper_hotplug_event+0x27/0x30 [drm_kms_helper]$
[   44.491558]  [<ffffffffa01e489a>] i915_hotplug_work_func+0x27a/0x360 [i915]$
[   44.491573]  [<ffffffff81080872>] process_one_work+0x182/0x450$
[   44.491584]  [<ffffffff81081611>] worker_thread+0x121/0x410$
[   44.491590]  [<ffffffff810814f0>] ? rescuer_thread+0x3e0/0x3e0$
[   44.491596]  [<ffffffff81088262>] kthread+0xd2/0xf0$
[   44.491606]  [<ffffffff81088190>] ? kthread_create_on_node+0x190/0x190$
[   44.491618]  [<ffffffff8171597c>] ret_from_fork+0x7c/0xb0$
[   44.491631]  [<ffffffff81088190>] ? kthread_create_on_node+0x190/0x190$
[   44.491635] ---[ end trace 86f6c365b130eff9 ]---$
Comment 15 Todd Previte 2014-02-04 16:26:38 UTC
Yes you're now running into the same issue as bug 72896. That bug has been fixed and the relevant commit information posted in there. The fixes have been merged into drm-intel-nightly, so please update your kernel and test to verify this issue is resolved for you. If not, please reopen this bug and I'll look into it.
Comment 16 Kenta Ueda 2014-02-05 09:33:00 UTC
Thanks.
I tried drm-intel kernel commit:acd7e92bd669fbd86797cb763ded6b4980db7a62.
This compile was complete. But system freeze was occurred on my BayTrail-I board.
For 3.13.0-6-generic (Ubuntu 14.04 releases) kernel, this issue is not occurred.
I found similar phenomenon report (http://comments.gmane.org/gmane.linux.kernel/1608974).
According to the report, this issue relates to drivers/cpufreq/intel_pstate.c.
But I cannot find any difference of drivers/cpufreq/intel_pstate.c between drm-intel kernel and Ubuntu 14.04 released.

Did you test this fixed kernel on your side with BayTrail-I system?
I tried the drm-intel kernel on Ivy Bridge environment. The system could boot without the system freeze.
Thanks.
Comment 17 Kenta Ueda 2014-02-06 10:08:46 UTC
I found that the freeze issue relates to BayTrail-I stepping. 
B3 stepping has not the freeze issue. I could confirm the DP output issue's fix with drm-intel kernel commit:acd7e92bd669fbd86797cb763ded6b4980db7a62.
I could show DP screen.
Thanks.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.