MCPcopy Create free account
hub / github.com/CloverHackyColor/CloverBootloader / SaveHdaDumpTxt

Function SaveHdaDumpTxt

rEFIt_UEFI/Platform/HdaCodecDump.cpp:268–343  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

266}
267
268EFI_STATUS SaveHdaDumpTxt()
269{
270 EFI_STATUS Status = EFI_NOT_FOUND;
271 AUDIO_IO_PRIVATE_DATA *AudioIoPrivateData;
272 HDA_CODEC_DEV *HdaCodecDev;
273// EFI_HDA_CODEC_INFO_PROTOCOL *HdaCodecInfo;
274 HDA_FUNC_GROUP *AudioFuncGroup;
275 EFI_HDA_IO_PROTOCOL *HdaIo;
276 XStringW MiscPath = SWPrintf("%ls\\misc", OEMPath.wc_str());
277 CHAR8 *MemLogStart;
278 UINTN MemLogStartLen;
279
280 // Print each codec found.
281 for (UINTN i = 0; i < AudioList.size(); i++) {
282 MemLogStartLen = GetMemLogLen();
283 MemLogStart = GetMemLogBuffer() + MemLogStartLen;
284
285 HdaLog("HdaCodecDump Start\n");
286
287 Status = gBS->HandleProtocol(AudioList[i].Handle, &gEfiAudioIoProtocolGuid, (VOID**)&AudioIo);
288
289 if (EFI_ERROR(Status))
290 continue;
291
292 AudioIoPrivateData = AUDIO_IO_PRIVATE_DATA_FROM_THIS(AudioIo);
293
294 if (!AudioIoPrivateData || !AudioIoPrivateData->HdaCodecDev ||
295 !AudioIoPrivateData->HdaCodecDev->HdaIo || !AudioIoPrivateData->HdaCodecDev->AudioFuncGroup)
296 continue;
297
298 HdaCodecDev = AudioIoPrivateData->HdaCodecDev;
299// HdaCodecInfo = &HdaCodecDev->HdaCodecInfoData->HdaCodecInfo;
300 AudioFuncGroup = HdaCodecDev->AudioFuncGroup;
301 HdaIo = HdaCodecDev->HdaIo;
302
303 // Get name.
304 HdaLog("Codec: %ls\n", HdaCodecDev->Name);
305
306 // Get address
307 UINT8 CodecAddress;
308 Status = HdaIo->GetAddress(HdaIo, &CodecAddress);
309 HdaLog("Address: %hhu\n", CodecAddress);
310
311 // Get AFG ID.
312 HdaLog("AFG Function Id: 0x%1hhX (unsol %hhu)\n", AudioFuncGroup->NodeId, AudioFuncGroup->UnsolCapable);
313
314 HdaLog("Vendor ID: 0x%08X\n", HdaCodecDev->VendorId);
315 HdaLog("Revision ID: 0x%08X\n", HdaCodecDev->RevisionId);
316
317 // Get supported rates/formats.
318 if ((AudioFuncGroup->SupportedPcmRates != 0) || (AudioFuncGroup->SupportedFormats != 0)) {
319 HdaLog("Default PCM:\n");
320 HdaCodecDumpPrintRatesFormats(AudioFuncGroup->SupportedPcmRates, AudioFuncGroup->SupportedFormats);
321 } else
322 HdaLog("Default PCM: N/A\n");
323
324 // Get default amp caps.
325 HdaLog("Default Amp-In caps: ");

Callers 1

RunGenericMenuMethod · 0.85

Calls 8

SWPrintfFunction · 0.85
GetMemLogLenFunction · 0.85
HdaCodecDumpPrintAmpCapsFunction · 0.85
HdaCodecDumpPrintWidgetsFunction · 0.85
egSaveFileFunction · 0.85
wc_strMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected