1 /** @file
2
3 This file provides the information dump support for Uhci when in debug mode.
4
5 Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #include "Uhci.h"
17
18 /**
19 Dump the content of QH structure.
20
21 @param QhSw Pointer to software QH structure.
22
23 **/
24 VOID
UhciDumpQh(IN UHCI_QH_SW * QhSw)25 UhciDumpQh (
26 IN UHCI_QH_SW *QhSw
27 )
28 {
29 DEBUG ((EFI_D_VERBOSE, "&QhSw @ 0x%p\n", QhSw));
30 DEBUG ((EFI_D_VERBOSE, "QhSw.NextQh - 0x%p\n", QhSw->NextQh));
31 DEBUG ((EFI_D_VERBOSE, "QhSw.TDs - 0x%p\n", QhSw->TDs));
32 DEBUG ((EFI_D_VERBOSE, "QhSw.QhHw:\n"));
33 DEBUG ((EFI_D_VERBOSE, " Horizon Link - %x\n", QhSw->QhHw.HorizonLink));
34 DEBUG ((EFI_D_VERBOSE, " Vertical Link - %x\n\n", QhSw->QhHw.VerticalLink));
35 }
36
37
38 /**
39 Dump the content of TD structure.
40
41 @param TdSw Pointer to software TD structure.
42
43 **/
44 VOID
UhciDumpTds(IN UHCI_TD_SW * TdSw)45 UhciDumpTds (
46 IN UHCI_TD_SW *TdSw
47 )
48 {
49 UHCI_TD_SW *CurTdSw;
50
51 CurTdSw = TdSw;
52
53 while (CurTdSw != NULL) {
54 DEBUG ((EFI_D_VERBOSE, "TdSw @ 0x%p\n", CurTdSw));
55 DEBUG ((EFI_D_VERBOSE, "TdSw.NextTd - 0x%p\n", CurTdSw->NextTd));
56 DEBUG ((EFI_D_VERBOSE, "TdSw.DataLen - %d\n", CurTdSw->DataLen));
57 DEBUG ((EFI_D_VERBOSE, "TdSw.Data - 0x%p\n", CurTdSw->Data));
58 DEBUG ((EFI_D_VERBOSE, "TdHw:\n"));
59 DEBUG ((EFI_D_VERBOSE, " NextLink - 0x%x\n", CurTdSw->TdHw.NextLink));
60 DEBUG ((EFI_D_VERBOSE, " ActualLen - %d\n", CurTdSw->TdHw.ActualLen));
61 DEBUG ((EFI_D_VERBOSE, " Status - 0x%x\n", CurTdSw->TdHw.Status));
62 DEBUG ((EFI_D_VERBOSE, " IOC - %d\n", CurTdSw->TdHw.IntOnCpl));
63 DEBUG ((EFI_D_VERBOSE, " IsIsoCh - %d\n", CurTdSw->TdHw.IsIsoch));
64 DEBUG ((EFI_D_VERBOSE, " LowSpeed - %d\n", CurTdSw->TdHw.LowSpeed));
65 DEBUG ((EFI_D_VERBOSE, " ErrorCount - %d\n", CurTdSw->TdHw.ErrorCount));
66 DEBUG ((EFI_D_VERBOSE, " ShortPacket - %d\n", CurTdSw->TdHw.ShortPacket));
67 DEBUG ((EFI_D_VERBOSE, " PidCode - 0x%x\n", CurTdSw->TdHw.PidCode));
68 DEBUG ((EFI_D_VERBOSE, " DevAddr - %d\n", CurTdSw->TdHw.DeviceAddr));
69 DEBUG ((EFI_D_VERBOSE, " EndPoint - %d\n", CurTdSw->TdHw.EndPoint));
70 DEBUG ((EFI_D_VERBOSE, " DataToggle - %d\n", CurTdSw->TdHw.DataToggle));
71 DEBUG ((EFI_D_VERBOSE, " MaxPacketLen - %d\n", CurTdSw->TdHw.MaxPacketLen));
72 DEBUG ((EFI_D_VERBOSE, " DataBuffer - 0x%x\n\n",CurTdSw->TdHw.DataBuffer));
73
74 CurTdSw = CurTdSw->NextTd;
75 }
76 }
77
78