Abstract:\r
\r
This file provides the information dump support for Uhci when in debug mode.\r
- You can dynamically adjust the debug level by changing variable gEHCDebugLevel\r
- and gEHCErrorLevel.\r
\r
Revision History\r
\r
#include "Uhci.h"\r
#include "UhciDebug.h"\r
\r
-#ifdef EFI_DEBUG\r
-\r
-UINTN mUhciDebugMask = USB_DEBUG_FORCE_OUTPUT;\r
-\r
-\r
-/**\r
- Debug debug print interface for UHCI\r
-\r
- @param Format String to use for the print, followed by print arguments\r
-\r
- @return None\r
-\r
-**/\r
-VOID\r
-UhciDebug (\r
- IN CHAR8 *Format,\r
- ...\r
- )\r
-{\r
- VA_LIST Marker;\r
-\r
- VA_START (Marker, Format);\r
- DebugVPrint (DEBUG_INFO, Format, Marker);\r
- VA_END (Marker);\r
-}\r
-\r
-\r
-/**\r
- Debug error print interface for UHCI\r
-\r
- @param Format String to use for the print, followed by print arguments\r
-\r
- @return None\r
-\r
-**/\r
-VOID\r
-UhciError (\r
- IN CHAR8 *Format,\r
- ...\r
- )\r
-{\r
- VA_LIST Marker;\r
-\r
- VA_START (Marker, Format);\r
- DebugVPrint (DEBUG_ERROR, Format, Marker);\r
- VA_END (Marker);\r
-}\r
-\r
-\r
-\r
-/**\r
- Debug print interface for UHCI\r
-\r
- @param Level Level to control debug print\r
- @param Format String to use for the print, followed by print arguments\r
-\r
- @return None\r
-\r
-**/\r
-VOID\r
-UhciDebugPrint (\r
- IN UINTN Level,\r
- IN CHAR8 *Format,\r
- ...\r
- )\r
-{\r
- VA_LIST Marker;\r
-\r
- VA_START (Marker, Format);\r
-\r
- if (Level & mUhciDebugMask) {\r
- if (mUhciDebugMask & USB_DEBUG_FORCE_OUTPUT) {\r
- DebugVPrint (DEBUG_ERROR, Format, Marker);\r
- } else {\r
- DebugVPrint (DEBUG_INFO, Format, Marker);\r
- }\r
- }\r
-\r
- VA_END (Marker);\r
-}\r
-\r
\r
/**\r
Dump the content of QH structure\r
IN UHCI_QH_SW *QhSw\r
)\r
{\r
- UINTN Level;\r
-\r
- Level = UHCI_DEBUG_QH;\r
-\r
- UhciDebugPrint (Level, "&QhSw @ 0x%x\n", QhSw);\r
- UhciDebugPrint (Level, "QhSw.NextQh - 0x%x\n", QhSw->NextQh);\r
- UhciDebugPrint (Level, "QhSw.TDs - 0x%x\n", QhSw->TDs);\r
- UhciDebugPrint (Level, "QhSw.QhHw:\n");\r
- UhciDebugPrint (Level, " Horizon Link - %x\n", QhSw->QhHw.HorizonLink);\r
- UhciDebugPrint (Level, " Vertical Link - %x\n\n", QhSw->QhHw.VerticalLink);\r
+ DEBUG ((EFI_D_INFO, "&QhSw @ 0x%x\n", QhSw));\r
+ DEBUG ((EFI_D_INFO, "QhSw.NextQh - 0x%x\n", QhSw->NextQh));\r
+ DEBUG ((EFI_D_INFO, "QhSw.TDs - 0x%x\n", QhSw->TDs));\r
+ DEBUG ((EFI_D_INFO, "QhSw.QhHw:\n"));\r
+ DEBUG ((EFI_D_INFO, " Horizon Link - %x\n", QhSw->QhHw.HorizonLink));\r
+ DEBUG ((EFI_D_INFO, " Vertical Link - %x\n\n", QhSw->QhHw.VerticalLink));\r
}\r
\r
\r
)\r
{\r
UHCI_TD_SW *CurTdSw;\r
- UINTN Level;\r
\r
- Level = UHCI_DEBUG_TD;\r
CurTdSw = TdSw;\r
\r
while (CurTdSw != NULL) {\r
- UhciDebugPrint (Level, "TdSw @ 0x%x\n", CurTdSw);\r
- UhciDebugPrint (Level, "TdSw.NextTd - 0x%x\n", CurTdSw->NextTd);\r
- UhciDebugPrint (Level, "TdSw.DataLen - %d\n", CurTdSw->DataLen);\r
- UhciDebugPrint (Level, "TdSw.Data - 0x%x\n", CurTdSw->Data);\r
- UhciDebugPrint (Level, "TdHw:\n");\r
- UhciDebugPrint (Level, " NextLink - 0x%x\n", CurTdSw->TdHw.NextLink);\r
- UhciDebugPrint (Level, " ActualLen - %d\n", CurTdSw->TdHw.ActualLen);\r
- UhciDebugPrint (Level, " Status - 0x%x\n", CurTdSw->TdHw.Status);\r
- UhciDebugPrint (Level, " IOC - %d\n", CurTdSw->TdHw.IntOnCpl);\r
- UhciDebugPrint (Level, " IsIsoCh - %d\n", CurTdSw->TdHw.IsIsoch);\r
- UhciDebugPrint (Level, " LowSpeed - %d\n", CurTdSw->TdHw.LowSpeed);\r
- UhciDebugPrint (Level, " ErrorCount - %d\n", CurTdSw->TdHw.ErrorCount);\r
- UhciDebugPrint (Level, " ShortPacket - %d\n", CurTdSw->TdHw.ShortPacket);\r
- UhciDebugPrint (Level, " PidCode - 0x%x\n", CurTdSw->TdHw.PidCode);\r
- UhciDebugPrint (Level, " DevAddr - %d\n", CurTdSw->TdHw.DeviceAddr);\r
- UhciDebugPrint (Level, " EndPoint - %d\n", CurTdSw->TdHw.EndPoint);\r
- UhciDebugPrint (Level, " DataToggle - %d\n", CurTdSw->TdHw.DataToggle);\r
- UhciDebugPrint (Level, " MaxPacketLen - %d\n", CurTdSw->TdHw.MaxPacketLen);\r
- UhciDebugPrint (Level, " DataBuffer - 0x%x\n\n",CurTdSw->TdHw.DataBuffer);\r
+ DEBUG ((EFI_D_INFO, "TdSw @ 0x%x\n", CurTdSw));\r
+ DEBUG ((EFI_D_INFO, "TdSw.NextTd - 0x%x\n", CurTdSw->NextTd));\r
+ DEBUG ((EFI_D_INFO, "TdSw.DataLen - %d\n", CurTdSw->DataLen));\r
+ DEBUG ((EFI_D_INFO, "TdSw.Data - 0x%x\n", CurTdSw->Data));\r
+ DEBUG ((EFI_D_INFO, "TdHw:\n"));\r
+ DEBUG ((EFI_D_INFO, " NextLink - 0x%x\n", CurTdSw->TdHw.NextLink));\r
+ DEBUG ((EFI_D_INFO, " ActualLen - %d\n", CurTdSw->TdHw.ActualLen));\r
+ DEBUG ((EFI_D_INFO, " Status - 0x%x\n", CurTdSw->TdHw.Status));\r
+ DEBUG ((EFI_D_INFO, " IOC - %d\n", CurTdSw->TdHw.IntOnCpl));\r
+ DEBUG ((EFI_D_INFO, " IsIsoCh - %d\n", CurTdSw->TdHw.IsIsoch));\r
+ DEBUG ((EFI_D_INFO, " LowSpeed - %d\n", CurTdSw->TdHw.LowSpeed));\r
+ DEBUG ((EFI_D_INFO, " ErrorCount - %d\n", CurTdSw->TdHw.ErrorCount));\r
+ DEBUG ((EFI_D_INFO, " ShortPacket - %d\n", CurTdSw->TdHw.ShortPacket));\r
+ DEBUG ((EFI_D_INFO, " PidCode - 0x%x\n", CurTdSw->TdHw.PidCode));\r
+ DEBUG ((EFI_D_INFO, " DevAddr - %d\n", CurTdSw->TdHw.DeviceAddr));\r
+ DEBUG ((EFI_D_INFO, " EndPoint - %d\n", CurTdSw->TdHw.EndPoint));\r
+ DEBUG ((EFI_D_INFO, " DataToggle - %d\n", CurTdSw->TdHw.DataToggle));\r
+ DEBUG ((EFI_D_INFO, " MaxPacketLen - %d\n", CurTdSw->TdHw.MaxPacketLen));\r
+ DEBUG ((EFI_D_INFO, " DataBuffer - 0x%x\n\n",CurTdSw->TdHw.DataBuffer));\r
\r
CurTdSw = CurTdSw->NextTd;\r
}\r
}\r
\r
-#endif\r