AudioDxe: Re-enable automatic switch to protocol GET mode on failure

It is still needed on some systems such as Acer E5 where DisconnectHda
does not work.
This commit is contained in:
Mike Beaton 2024-01-04 04:39:53 +00:00
parent a61a208a77
commit b24d13e6ab
3 changed files with 4 additions and 2 deletions

View File

@ -11,6 +11,7 @@ OpenCore Changelog
- Modified NVRAM logout hook to handle XML entities in string vars
- Fixed CPU frequency calculation on AMD 0Fh family
- Added kext blocker `Exclude` strategy for mkext
- Re-enabled AudioDxe failover to protocol GET mode for systems such as Acer E5 where it works when DisconnectHda doesn't
#### v0.9.7
- Updated recovery_urls.txt

View File

@ -740,7 +740,7 @@
## TRUE - Use EFI_OPEN_PROTOCOL_GET_PROTOCOL if EFI_OPEN_PROTOCOL_BY_DRIVER fails.<BR>
## FALSE - Do not use EFI_OPEN_PROTOCOL_GET_PROTOCOL.<BR>
## @Prompt Try EFI_OPEN_PROTOCOL_GET_PROTOCOL if EFI_OPEN_PROTOCOL_BY_DRIVER fails.
gOpenCorePkgTokenSpaceGuid.PcdAudioControllerTryProtocolGetMode|FALSE|BOOLEAN|0x00000007
gOpenCorePkgTokenSpaceGuid.PcdAudioControllerTryProtocolGetMode|TRUE|BOOLEAN|0x00000007
## Indicates if AudioDxe will use Pin Capabilities to identify outputs.<BR><BR>
## TRUE - Use Pin Capabilities to identify outputs.<BR>

View File

@ -1104,7 +1104,8 @@ HdaControllerDriverBindingStart (
//
// No longer applied just if protocol gVMwareHdaProtocolGuid is found, since it also
// allows sound on other devices where HDA controller is already connected, e.g. Macs.
// Now on Pcd because it appears never to be needed if DisconnectHda is applied.
// On many systems DisconnectHda can be used to avoid the need for this fallback, but
// on some - such as Acer E5 - DisconnectHda does not work but this method does.
//
DEBUG ((DEBUG_INFO, "HDA: %r using DRIVER mode, trying GET mode\n", Status));
OpenMode = EFI_OPEN_PROTOCOL_GET_PROTOCOL;