Provides some data struct used by EHCI controller driver.\r
\r
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) Microsoft Corporation.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
//\r
#define EHC_TPL TPL_NOTIFY\r
\r
-//\r
-//Iterate through the double linked list. NOT delete safe\r
-//\r
-#define EFI_LIST_FOR_EACH(Entry, ListHead) \\r
- for(Entry = (ListHead)->ForwardLink; Entry != (ListHead); Entry = Entry->ForwardLink)\r
-\r
-//\r
-//Iterate through the double linked list. This is delete-safe.\r
-//Don't touch NextEntry\r
-//\r
-#define EFI_LIST_FOR_EACH_SAFE(Entry, NextEntry, ListHead) \\r
- for(Entry = (ListHead)->ForwardLink, NextEntry = Entry->ForwardLink;\\r
- Entry != (ListHead); Entry = NextEntry, NextEntry = Entry->ForwardLink)\r
-\r
#define EFI_LIST_CONTAINER(Entry, Type, Field) BASE_CR(Entry, Type, Field)\r
\r
\r
This file provides the information dump support for EHCI when in debug mode.\r
\r
Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) Microsoft Corporation.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
DEBUG ((EFI_D_VERBOSE, "\n"));\r
\r
- EFI_LIST_FOR_EACH (Entry, &Qh->Qtds) {\r
+ BASE_LIST_FOR_EACH (Entry, &Qh->Qtds) {\r
Qtd = EFI_LIST_CONTAINER (Entry, EHC_QTD, QtdList);\r
EhcDumpQtd (Qtd, NULL);\r
\r
EHCI transfer scheduling routines.\r
\r
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) Microsoft Corporation.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
goto ON_EXIT;\r
}\r
\r
- EFI_LIST_FOR_EACH (Entry, &Urb->Qh->Qtds) {\r
+ BASE_LIST_FOR_EACH (Entry, &Urb->Qh->Qtds) {\r
Qtd = EFI_LIST_CONTAINER (Entry, EHC_QTD, QtdList);\r
QtdHw = &Qtd->QtdHw;\r
State = (UINT8) QtdHw->Status;\r
Direction = (((EpNum & 0x80) != 0) ? EfiUsbDataIn : EfiUsbDataOut);\r
EpNum &= 0x0F;\r
\r
- EFI_LIST_FOR_EACH_SAFE (Entry, Next, &Ehc->AsyncIntTransfers) {\r
+ BASE_LIST_FOR_EACH_SAFE (Entry, Next, &Ehc->AsyncIntTransfers) {\r
Urb = EFI_LIST_CONTAINER (Entry, URB, UrbList);\r
\r
if ((Urb->Ep.DevAddr == DevAddr) && (Urb->Ep.EpAddr == EpNum) &&\r
LIST_ENTRY *Next;\r
URB *Urb;\r
\r
- EFI_LIST_FOR_EACH_SAFE (Entry, Next, &Ehc->AsyncIntTransfers) {\r
+ BASE_LIST_FOR_EACH_SAFE (Entry, Next, &Ehc->AsyncIntTransfers) {\r
Urb = EFI_LIST_CONTAINER (Entry, URB, UrbList);\r
\r
EhcUnlinkQhFromPeriod (Ehc, Urb->Qh);\r
if (Urb->Result == EFI_USB_NOERROR) {\r
FirstQtd = NULL;\r
\r
- EFI_LIST_FOR_EACH (Entry, &Urb->Qh->Qtds) {\r
+ BASE_LIST_FOR_EACH (Entry, &Urb->Qh->Qtds) {\r
Qtd = EFI_LIST_CONTAINER (Entry, EHC_QTD, QtdList);\r
\r
if (FirstQtd == NULL) {\r
OldTpl = gBS->RaiseTPL (EHC_TPL);\r
Ehc = (USB2_HC_DEV *) Context;\r
\r
- EFI_LIST_FOR_EACH_SAFE (Entry, Next, &Ehc->AsyncIntTransfers) {\r
+ BASE_LIST_FOR_EACH_SAFE (Entry, Next, &Ehc->AsyncIntTransfers) {\r
Urb = EFI_LIST_CONTAINER (Entry, URB, UrbList);\r
\r
//\r
URB (Usb Request Block).\r
\r
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) Microsoft Corporation.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
LIST_ENTRY *Next;\r
EHC_QTD *Qtd;\r
\r
- EFI_LIST_FOR_EACH_SAFE (Entry, Next, Qtds) {\r
+ BASE_LIST_FOR_EACH_SAFE (Entry, Next, Qtds) {\r
Qtd = EFI_LIST_CONTAINER (Entry, EHC_QTD, QtdList);\r
\r
RemoveEntryList (&Qtd->QtdList);\r
//\r
// OK, all the QTDs needed are created. Now, fix the NextQtd point\r
//\r
- EFI_LIST_FOR_EACH (Entry, &Qh->Qtds) {\r
+ BASE_LIST_FOR_EACH (Entry, &Qh->Qtds) {\r
Qtd = EFI_LIST_CONTAINER (Entry, EHC_QTD, QtdList);\r
\r
//\r