You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@plbossart so the initial code from @RanderWang printed the error and returned an error if no monitor was connected (meaning SOF would not probe on devices with no monitors connected). @RanderWang should this error be visible when no monitors are connected or does it mean something more fatal perhaps unrecoverable has happened ?
@lgirdwood the connection state (plugged/unplugged) is irrelevant. Even when there is nothing connected you can establish the link with the iDISP codec. With HDaudio you can even stream audio out with nothing connected. So this error really means the link with the graphics IP is not working, and that is non-recoverable, so we should fail big-time and early rather than try to continue.
@plbossart same error on Leafhill too. My only thoughts are if you are not seeing this then a Kconfig option is breaking this (and it should be non fatal).
All machine drivers which support HDMI should select HDAC_HDMI. This is not the case today.
That said, we will need to make the select conditional as well to build without HDMI when SOF_HDA is not selected. Kconfig mess again.
@lgirdwood @plbossart
After checking the code, I mainly knows why this bug happens and what's the design in SOF for HDMI.
Actually, the code is somehow copy from HDA. But the copier missed one point, in HDA we will return error directly in some cases. These cases are the controller is only for HDMI/DP audio. This means we never need initialize the HDA audio controller after we met the i915 init fails (no other codec is connected to this controller). And the copier copied this solution for all controller. This is wrong. Because in SOF, the controller will connect both to HDMI/DP codec and to other codecs. So we should still init the SOF even i915 init fails. So Rander/Liam made a patch for it (There is a little defect in the patch. We should only logout "no HDMI" info only init i915 fails).
The right solution is: after init i915 fails, we logout the information and set a flag. And in the later code, we will skip all HDMI/DP operations.
What's your opinion? If it is OK for you, I will make a patch.
The latest sof-dev branch should have already fixed this issue. Should I porting the patch to debug/v4.19-backport? code is like:
ret = hda_codec_i915_init(sdev);
if (ret < 0) {
dev_err(&pci->dev, "no HDMI audio devices found\n");
return ret;
}
On 11/19/18 2:43 AM, Libin Yang wrote:
The latest sof-dev branch should have already fixed this issue. Should
I porting the patch to debug/v4.19-backport? code is like:
No one should be using debug/v4.19-backport, I will push it to the
archives. All the 4.19 code is now in topic/sof-dev, the debug branches
are temporary to check for bugs or missing features during transitions.
one should be using debug/v4.19-backport, I will push it to the archives. All the 4.1
No one should be using debug/v4.19-backport, I will push it to the archives. All the 4.19 code is now in topic/sof-dev, the debug branches are temporary to check for bugs or missing features during transitions.
Activity
markyang commentedon Nov 1, 2018
Summary:
This issue can be reproduced on UP2.
[ 6.061752] sof-audio-pci 0000:00:0e.0: no HDMI audio devices found
Test env:
sof master: 43da169
sof tool: 4ac9248
kernel debug/v4.19-backport: 925637e
tplg: sof-apl-pcm512x.tplg-4ac9248
dmesg-apl-hdmi.txt
plbossart commentedon Nov 6, 2018
This was introduced w/ the patch 89bef7a ('ASoC: SOF: Intel HDA: continue probe if no HDMI devices found');
@lgirdwood why was the error control removed? if you've compiled in HDMI support and can't init the i915 parts then something is just very wrong.
lgirdwood commentedon Nov 7, 2018
@plbossart so the initial code from @RanderWang printed the error and returned an error if no monitor was connected (meaning SOF would not probe on devices with no monitors connected).
@RanderWang should this error be visible when no monitors are connected or does it mean something more fatal perhaps unrecoverable has happened ?
plbossart commentedon Nov 8, 2018
@lgirdwood the connection state (plugged/unplugged) is irrelevant. Even when there is nothing connected you can establish the link with the iDISP codec. With HDaudio you can even stream audio out with nothing connected. So this error really means the link with the graphics IP is not working, and that is non-recoverable, so we should fail big-time and early rather than try to continue.
lgirdwood commentedon Nov 8, 2018
@plbossart ok, the initial error message made it seem like a codec was not detected and non fatal.
lgirdwood commentedon Nov 9, 2018
Updated to HEAD 3277edc, regarding above this error should only be fatal if HDMI based topologies are loaded.
lgirdwood commentedon Nov 9, 2018
@plbossart same error on Leafhill too. My only thoughts are if you are not seeing this then a Kconfig option is breaking this (and it should be non fatal).
lgirdwood commentedon Nov 9, 2018
Ok, @RanderWang the SOF HDMI support depends on the Intel display driver. Can you add such a rule in Kconfig otherwise we get this error.
plbossart commentedon Nov 9, 2018
All machine drivers which support HDMI should select HDAC_HDMI. This is not the case today.
That said, we will need to make the select conditional as well to build without HDMI when SOF_HDA is not selected. Kconfig mess again.
plbossart commentedon Nov 9, 2018
@lgirdwood actually if you are using nocodec you should not have HDMI enabled, not sure how you reached this point?
libinyang commentedon Nov 14, 2018
@lgirdwood
@plbossart
After checking the code, I mainly knows why this bug happens and what's the design in SOF for HDMI.
Actually, the code is somehow copy from HDA. But the copier missed one point, in HDA we will return error directly in some cases. These cases are the controller is only for HDMI/DP audio. This means we never need initialize the HDA audio controller after we met the i915 init fails (no other codec is connected to this controller). And the copier copied this solution for all controller. This is wrong. Because in SOF, the controller will connect both to HDMI/DP codec and to other codecs. So we should still init the SOF even i915 init fails. So Rander/Liam made a patch for it (There is a little defect in the patch. We should only logout "no HDMI" info only init i915 fails).
The right solution is: after init i915 fails, we logout the information and set a flag. And in the later code, we will skip all HDMI/DP operations.
What's your opinion? If it is OK for you, I will make a patch.
2 remaining items
plbossart commentedon Nov 14, 2018
@libinyang I am not able to follow your explanations, can you submit a PR if you believe something is not correct.
libinyang commentedon Nov 15, 2018
Sure. I will submit a patch.
libinyang commentedon Nov 16, 2018
@plbossart
@lgirdwood
Patch submitted: #295.
Please help review.
libinyang commentedon Nov 19, 2018
The latest sof-dev branch should have already fixed this issue. Should I porting the patch to debug/v4.19-backport? code is like:
ret = hda_codec_i915_init(sdev);
if (ret < 0) {
dev_err(&pci->dev, "no HDMI audio devices found\n");
return ret;
}
plbossart commentedon Nov 19, 2018
libinyang commentedon Nov 20, 2018
Got it.
mengdonglin commentedon Nov 20, 2018
@libinyang @plbossart Can we close this issue if "the latest sof-dev branch should have already fixed this issue"?
libinyang commentedon Nov 21, 2018
i think so
RanderWang commentedon Nov 21, 2018
sorry, I am late.
Now the error message has been removed after I refine the algorithm of HDA codec detection.
So, It could be closed.
vmw_balloon: Fix offline page marking with compaction
mac80211: clear sta->fast_rx when STA removed from 4-addr VLAN
Merge pull request thesofproject#227 from Kloenk/ra
selftests/bpf: Add mprog API tests for BPF tcx links