Bug 91255 - [Skly Regression]Failed to power on power well 2 when no HDMI/DP monitor is connected
Summary: [Skly Regression]Failed to power on power well 2 when no HDMI/DP monitor is c...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: Other All
: high major
Assignee: Mika Kahola
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-07-07 08:56 UTC by Libin Yang
Modified: 2017-07-24 22:46 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (14.62 KB, text/plain)
2015-07-07 08:56 UTC, Libin Yang
no flags Details
Han's patch (2.11 KB, text/plain)
2015-07-08 08:13 UTC, xubin
no flags Details

Description Libin Yang 2015-07-07 08:56:20 UTC
If there is no HDMI/DP monitor connected, it will fail to power on power well 2.
This will cause HDA display audio totally not work even get the information of the codec.

The attached dmesg shows the error message when audio try to power on the power well 2 when there is no monitor.
Comment 1 Libin Yang 2015-07-07 08:56:51 UTC
Created attachment 116991 [details]
dmesg
Comment 2 xubin 2015-07-08 08:12:13 UTC
Test drm-intel-testing-2015-05-22 (commit 62115e0dd5e7272ac28fe3549ea3e93f45d5c1a4) with Han's patch,it works well.
Then with the kernel snapshot when Han’s patch enter the upstream(commit 2377c3c388815cd0a33309a6b6bb713600258a3e),the issue exist.
Comment 3 xubin 2015-07-08 08:13:43 UTC
Created attachment 117001 [details]
Han's patch
Comment 4 Paulo Zanoni 2015-08-04 14:10:18 UTC
Is the audio driver correctly calling i915_audio_component's get_power() and put_power()? Those functions are supposed to grab POWER_DOMAIN_AUDIO, which is supposed to turn on power well 2 on the graphics driver.
Comment 5 cprigent 2015-08-04 15:47:32 UTC
Bug scrub: assigned to Mika
Comment 6 Libin Yang 2015-08-06 06:38:18 UTC
(In reply to Paulo Zanoni from comment #4)
> Is the audio driver correctly calling i915_audio_component's get_power() and
> put_power()? Those functions are supposed to grab POWER_DOMAIN_AUDIO, which
> is supposed to turn on power well 2 on the graphics driver.

Yes, the audio driver will call get_power()
The reproduce steps on SKL are:
1. bootup with HDMI monitor connected
2. disconnect the monitor
3. wait for several seconds. 5 seconds should be enough
4. run `cat /proc/asound/card0/codec#2
5. run `cat /proc/asound/card0/eld*

You will find the eld info and codec info are wrong. And when you run dmesg, you will find the CSR firmware not ready error message.

BTW: we tested today latest kernel, it seems we can get the correct eld info, but the CSR firmware not ready message still exists.
Comment 7 Mika Kahola 2015-08-12 10:58:21 UTC
CSR firmware warnings are probably not related to this original issue but still worth to take a closer look. 

Do you have a /lib/firmware/i915/skl_dmc_ver1.bin linked to skl_dmc_ver1_19.bin?
Comment 8 Libin Yang 2015-08-12 11:12:21 UTC
(In reply to Mika Kahola from comment #7)
> CSR firmware warnings are probably not related to this original issue but
> still worth to take a closer look. 

I agree. CSR firmware should be not related to this issue.

> 
> Do you have a /lib/firmware/i915/skl_dmc_ver1.bin linked to
> skl_dmc_ver1_19.bin?

Yes, there is skl_dmc_ver1.bin linked to the skl_dmc_ver1_19.bin (maybe another one, I will check it tomorrow).
Comment 9 Libin Yang 2015-08-18 11:27:41 UTC
This issue can't be reproduced on latest nightly kernel. So we can close this issue. Thanks for help.
Comment 10 Mika Kahola 2015-08-18 12:07:43 UTC
Ok, thanks for testing.


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.