Summary: | [Bisected] Apple miniDP-to-DP and HDMI can be detected but can't light up | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Qingshuai Tian <qingshuai.tian> | ||||||
Component: | DRM/Intel | Assignee: | Jesse Barnes <jbarnes> | ||||||
Status: | CLOSED DUPLICATE | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||
Severity: | major | ||||||||
Priority: | high | CC: | guang.a.yang, intel-gfx-bugs, jinxianx.guo | ||||||
Version: | unspecified | ||||||||
Hardware: | Other | ||||||||
OS: | Linux (All) | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Attachments: |
|
As this is a regression, please perform a bisection. I finished the bisect and it shows: eb1bfe807cb7b62a326fa20df5e3118a32c6f923 is the first bad commit commit eb1bfe807cb7b62a326fa20df5e3118a32c6f923 Author: Jesse Barnes <jbarnes@virtuousgeek.org> Date: Wed Feb 12 12:26:25 2014 -0800 drm/i915: allow re-use BIOS connector config for initial fbdev config v3 The BIOS or boot loader will generally create an initial display configuration for us that includes some set of active pipes and displays. This routine tries to figure out which pipes and connectors are active and stuffs them into the crtcs and modes array given to us by the drm_fb_helper code. The overall sequence is: intel_fbdev_init - from driver load intel_fbdev_init_bios - initialize the intel_fbdev using BIOS data drm_fb_helper_init - build fb helper structs drm_fb_helper_single_add_all_connectors - more fb helper structs intel_fbdev_initial_config - apply the config drm_fb_helper_initial_config - call ->probe then register_framebuffer() drm_setup_crtcs - build crtc config for fbdev intel_fb_initial_config - find active connectors etc drm_fb_helper_single_fb_probe - set up fbdev intelfb_create - re-use or alloc fb, build out fbdev structs v2: use BIOS connector config unconditionally if possible (Daniel) check for crtc cloning and reject (Daniel) fix up comments (Daniel) v3: use command line args and preferred modes first (Ville) Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com> [danvet: Re-add the WARN_ON for a missing encoder crtc - the state sanitizer should take care of this. And spell-ocd the comments.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> :040000 040000 dbe7ef821ba404c994fbc579461b7e0d4febf10a 1b40c56483f03c15ae495a85a78fe740beeeb0e9 M drivers Created attachment 94326 [details]
dmesg of the kernel at first bad commit with HDMI connected
This problem also appeared when connected with HDMI port. I added the dmesg in the attachment. Hope it's helpful.
*** Bug 75552 has been marked as a duplicate of this bug. *** *** Bug 75246 has been marked as a duplicate of this bug. *** So testdisplay works properly on the DP output even though it wasn't enabled at boot time? Once X starts, can you use xrandr to enable the DP port? Ah Daniel already marked this as a dupe. *** This bug has been marked as a duplicate of bug 75552 *** Closing verified as duplicate of closed+verified. |
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.
Created attachment 94184 [details] dmesg after run case "testdisplay -i "&"testdisplay -a" Environment: ------------------- Kernel: (drm-intel-next-queued) 4c0e552882114d1edb588242d45035246ab078a0 Hardware name: Apple Inc. MacBookPro10,2/Mac-AFD8A9D944EA4843, BIOS MBP102.88Z.0106.B03.1211161133 11/16/2012 Description: ------------------------ When Apple boot up with eDP and miniDP-to-DP connected, the eDP monitor can be lighted up correctly, while the DP monitor was black without any output. But when I run case "testdisplay -i", it shows: Connectors: id encoder status type size (mm) modes 12 11 connected eDP 290x180 1 modes: name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot flags type clock [0] 2560x1600 60 2560 2608 2640 2720 1600 1603 1609 1646 0x9 0x48 268500 9 0 disconnected VGA 0x0 0 20 0 disconnected HDMI-A 0x0 0 22 0 disconnected DP 0x0 0 24 0 disconnected HDMI-A 0x0 0 26 0 disconnected HDMI-A 0x0 0 28 0 connected DP 470x300 11 modes: name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot flags type clock [0] 1680x1050 60 1680 1728 1760 1840 1050 1053 1059 1080 0x9 0x48 119000 [1] 1280x1024 75 1280 1296 1440 1688 1024 1025 1028 1066 0x5 0x40 135000 [2] 1280x1024 60 1280 1328 1440 1688 1024 1025 1028 1066 0x5 0x40 108000 [3] 1152x864 75 1152 1216 1344 1600 864 865 868 900 0x5 0x40 108000 [4] 1024x768 75 1024 1040 1136 1312 768 769 772 800 0x5 0x40 78800 [5] 1024x768 60 1024 1048 1184 1344 768 771 777 806 0xa 0x40 65000 [6] 800x600 75 800 816 896 1056 600 601 604 625 0x5 0x40 49500 [7] 800x600 60 800 840 968 1056 600 601 605 628 0x5 0x40 40000 [8] 640x480 75 640 656 720 840 480 481 484 500 0xa 0x40 31500 [9] 640x480 60 640 656 752 800 480 490 492 525 0xa 0x40 25200 [10] 720x400 70 720 738 846 900 400 412 414 449 0x6 0x40 28320 30 0 disconnected DP 0x0 0 And when I run case "testdisplay -a", the DP monitor can show all modes correctly. After I start X, the eDP can show the X window correctly , but the DP can't either. Test Step: -------------------- 1. connect miniDP-to-DP 2. Boot up 3. testdisplay -i 4. testdisplay -a