** Description changed: - Steps: - 1. Install manifest and boot into OS - 2. Connect an external monitor via HDMI port - 3. Check sound setting + This bug comes from the OEM project, and the engineer Jim Qu from AMD took + almost 2 weeks to investigate this problem, then he worte these two patches to + fix this problem and now the patches are merged to sound repository. - Expected results: System should able to detect HDMI audio output + According to Jim Qu's investigation, the root cause of this problem is: + 1. there is two GPU on the system. iGPU has a audio codec for HDMI output, + and dGPU is without audio codec it is only for offload rendering. + 2. under runtime pm, when dGPU suspend, amdgpu will also call vgaswitchroo + driver to power off audio which vgaswitchroo client is VGA_SWITCHEROO_DIS. + 3. In current HDA audio driver, the iGPU's audio will register to vgaswitchroo + as VGA_SWITCHEROO_DIS, therefore, the audio will be selected and powered off + by runtime pm. - Actual results: System can't detect HDMI audio output + [Impact] + On the Dell Latitude 5495, If we plug a monitor with audio capability to the + HDMI/DP ports, we can't find HDMI/DP audio sinks as expected, then we can't + play any sound through HDMI/DP audio. - Failure rate: 2/2 + [Fix] + With these two patches, the driver will not always set vgaswicheroo clients of + HDA audio as VGA_SWITCHEROO_DIS, it will set it to _DIS or _IGD with the help + of callback function of DRM drivers. So on this machine, the vgaswicheroo client + will be set _IGD, then it will not be powered off when discrete gpu is powered off. + + [Test Case] + We tested plug/unplug detection and playback through HDMI/DP audio, everything works + well. + + [Regression Potential] + Very low, without these two patches, the vgaswitchroo client of audio will be + set to _DIS unconditionally, it did not expose any problem because in the past, + all the HDMI/DP audio codecs are in the discreate GPU. But on Latitude 5495, the + HDMI/DP audio codec is in the integrated GPU, so we need to change the driver to + let DRM driver decide if it is _DIS or _IGD, it will not introduce regression for + old mahcines on old machines, the client will be set to _DIS as before. + + And we have tested these two patches on some old machines with two gpus like A+A + , I+A and I+N, all of them worked well as before.
-- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1782689 Title: HDMI/DP audio can't work on the laptop of Dell Latitude 5495 Status in HWE Next: New Status in linux package in Ubuntu: Incomplete Bug description: This bug comes from the OEM project, and the engineer Jim Qu from AMD took almost 2 weeks to investigate this problem, then he worte these two patches to fix this problem and now the patches are merged to sound repository. According to Jim Qu's investigation, the root cause of this problem is: 1. there is two GPU on the system. iGPU has a audio codec for HDMI output, and dGPU is without audio codec it is only for offload rendering. 2. under runtime pm, when dGPU suspend, amdgpu will also call vgaswitchroo driver to power off audio which vgaswitchroo client is VGA_SWITCHEROO_DIS. 3. In current HDA audio driver, the iGPU's audio will register to vgaswitchroo as VGA_SWITCHEROO_DIS, therefore, the audio will be selected and powered off by runtime pm. [Impact] On the Dell Latitude 5495, If we plug a monitor with audio capability to the HDMI/DP ports, we can't find HDMI/DP audio sinks as expected, then we can't play any sound through HDMI/DP audio. [Fix] With these two patches, the driver will not always set vgaswicheroo clients of HDA audio as VGA_SWITCHEROO_DIS, it will set it to _DIS or _IGD with the help of callback function of DRM drivers. So on this machine, the vgaswicheroo client will be set _IGD, then it will not be powered off when discrete gpu is powered off. [Test Case] We tested plug/unplug detection and playback through HDMI/DP audio, everything works well. [Regression Potential] Very low, without these two patches, the vgaswitchroo client of audio will be set to _DIS unconditionally, it did not expose any problem because in the past, all the HDMI/DP audio codecs are in the discreate GPU. But on Latitude 5495, the HDMI/DP audio codec is in the integrated GPU, so we need to change the driver to let DRM driver decide if it is _DIS or _IGD, it will not introduce regression for old mahcines on old machines, the client will be set to _DIS as before. And we have tested these two patches on some old machines with two gpus like A+A , I+A and I+N, all of them worked well as before. To manage notifications about this bug go to: https://bugs.launchpad.net/hwe-next/+bug/1782689/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp