]> git.proxmox.com Git - mirror_edk2.git/commitdiff
1. Add the GLOBAL_REMOVE_IF_UNREFERENCED to globe variables which are used only in...
authordtang2 <dtang2@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 13 Oct 2006 06:36:11 +0000 (06:36 +0000)
committerdtang2 <dtang2@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 13 Oct 2006 06:36:11 +0000 (06:36 +0000)
2. Use ZeroMem to replace gBS->SetMem;
3. Remove marked code;
4. Add IsHub judgement in UsbPortReset function to following EFI1.1 spec;
5. Add brackets for macro definition

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1740 6f19259b-4bc3-4df7-8a09-765794883524

13 files changed:
EdkModulePkg/Bus/Pci/Ehci/Dxe/Ehci.c
EdkModulePkg/Bus/Pci/Ehci/Dxe/Ehci.h
EdkModulePkg/Bus/Pci/Ehci/Dxe/EhciSched.c
EdkModulePkg/Bus/Pci/Uhci/Dxe/uhci.h
EdkModulePkg/Bus/Usb/UsbBus/Dxe/usb.c
EdkModulePkg/Bus/Usb/UsbBus/Dxe/usbbus.c
EdkModulePkg/Bus/Usb/UsbBus/Dxe/usbbus.h
EdkModulePkg/Bus/Usb/UsbBus/Dxe/usbio.c
EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/Cbi0.c
EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi1/cbi1.c
EdkModulePkg/Bus/Usb/UsbKb/Dxe/efikey.c
EdkModulePkg/Bus/Usb/UsbMassStorage/Dxe/UsbMassStorageData.h
EdkModulePkg/Bus/Usb/UsbMassStorage/Dxe/UsbMassStorageHelper.c

index 4975c8c187fe033f0c84712995674163abaeda9b..c6105eb0b545952ea47fa3680337ea3579152aa3 100644 (file)
@@ -22,8 +22,10 @@ Revision History
 \r
 #include "Ehci.h"\r
 \r
 \r
 #include "Ehci.h"\r
 \r
-UINTN                       gEHCDebugLevel  = EFI_D_INFO;\r
-UINTN                       gEHCErrorLevel  = EFI_D_ERROR;\r
+\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINTN    gEHCDebugLevel  = EFI_D_INFO;\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINTN    gEHCErrorLevel  = EFI_D_ERROR;\r
+\r
 \r
 //\r
 // Prototypes\r
 \r
 //\r
 // Prototypes\r
@@ -886,7 +888,7 @@ EhciReset (
     //\r
     Status = SetFrameListBaseAddr (\r
                HcDev, \r
     //\r
     Status = SetFrameListBaseAddr (\r
                HcDev, \r
-               GET_0B_TO_31B (HcDev->PeriodicFrameListBuffer)\r
+               (UINT32)GET_0B_TO_31B (HcDev->PeriodicFrameListBuffer)\r
                );\r
     if (EFI_ERROR (Status)) {\r
       Status = EFI_DEVICE_ERROR;\r
                );\r
     if (EFI_ERROR (Status)) {\r
       Status = EFI_DEVICE_ERROR;\r
index f22ce1a3e62696e3abfd83d0aad2b51dba50ea8d..ede8b43d2cce491b22a364836bfdfcb3a6b64998 100644 (file)
@@ -27,8 +27,10 @@ Revision History
 //\r
 #include <IndustryStandard/pci22.h>\r
 \r
 //\r
 #include <IndustryStandard/pci22.h>\r
 \r
-extern UINTN  gEHCDebugLevel;\r
-extern UINTN  gEHCErrorLevel;\r
+\r
+GLOBAL_REMOVE_IF_UNREFERENCED    extern UINTN  gEHCDebugLevel;\r
+GLOBAL_REMOVE_IF_UNREFERENCED    extern UINTN  gEHCErrorLevel;\r
+\r
 \r
 #define STALL_1_MACRO_SECOND              1\r
 #define STALL_1_MILLI_SECOND              1000 * STALL_1_MACRO_SECOND\r
 \r
 #define STALL_1_MACRO_SECOND              1\r
 #define STALL_1_MILLI_SECOND              1000 * STALL_1_MACRO_SECOND\r
@@ -192,10 +194,11 @@ extern EFI_COMPONENT_NAME_PROTOCOL  gEhciComponentName;
 #define OUTPUT_PACKET_ID        0xE1\r
 #define ERROR_PACKET_ID         0x55\r
 \r
 #define OUTPUT_PACKET_ID        0xE1\r
 #define ERROR_PACKET_ID         0x55\r
 \r
-#define bit(a)                  1 << (a)\r
+#define bit(a)                  (1 << (a))\r
+\r
+#define GET_0B_TO_31B(Addr)     (((UINTN) Addr) & (0xffffffff))\r
+#define GET_32B_TO_63B(Addr)    ((UINTN)RShiftU64((UINTN) Addr, 32) & (0xffffffff))\r
 \r
 \r
-#define GET_0B_TO_31B(Addr)     (UINT32) (UINTN) (Addr)\r
-#define GET_32B_TO_63B(Addr)    (UINT32) (RShiftU64(((UINT64) (UINTN) (Addr)), 32) & 0xffffffff)\r
 \r
 //\r
 // Ehci Data and Ctrl Structures\r
 \r
 //\r
 // Ehci Data and Ctrl Structures\r
index b6864ad058367cb81be512e608517f300d6e460a..1226d569cf73d7e1d8ed966fba8559225df287a7 100644 (file)
@@ -340,7 +340,7 @@ Returns:
   //\r
   // Init fields in Qh\r
   //\r
   //\r
   // Init fields in Qh\r
   //\r
-  gBS->SetMem (*QhPtrPtr, sizeof (EHCI_QH_ENTITY), 0);\r
+  ZeroMem (*QhPtrPtr, sizeof (EHCI_QH_ENTITY));\r
 \r
   //\r
   // Software field\r
 \r
   //\r
   // Software field\r
@@ -699,7 +699,8 @@ Returns:
   //\r
   // Init fields in Qtd\r
   //\r
   //\r
   // Init fields in Qtd\r
   //\r
-  gBS->SetMem (*QtdPtrPtr, sizeof (EHCI_QTD_ENTITY), 0);\r
+\r
+  ZeroMem (*QtdPtrPtr, sizeof (EHCI_QTD_ENTITY));\r
 \r
   //\r
   // Software field\r
 \r
   //\r
   // Software field\r
@@ -1386,7 +1387,7 @@ Returns:
   Value = NULL;\r
 \r
   if (!HwQtdPtr->AltNextQtdTerminate) {\r
   Value = NULL;\r
 \r
   if (!HwQtdPtr->AltNextQtdTerminate) {\r
-    Value = (EHCI_QTD_HW *) (UINTN) GET_0B_TO_31B (HwQtdPtr->AltNextQtdPointer << 5);\r
+    Value = (EHCI_QTD_HW *) GET_0B_TO_31B (HwQtdPtr->AltNextQtdPointer << 5);\r
   }\r
 \r
   return Value;\r
   }\r
 \r
   return Value;\r
@@ -1417,7 +1418,7 @@ Returns:
   Value = NULL;\r
 \r
   if (!HwQtdPtr->NextQtdTerminate) {\r
   Value = NULL;\r
 \r
   if (!HwQtdPtr->NextQtdTerminate) {\r
-    Value = (EHCI_QTD_HW *) (UINTN) GET_0B_TO_31B (HwQtdPtr->NextQtdPointer << 5);\r
+    Value = (EHCI_QTD_HW *) GET_0B_TO_31B (HwQtdPtr->NextQtdPointer << 5);\r
   }\r
 \r
   return Value;\r
   }\r
 \r
   return Value;\r
@@ -1727,7 +1728,7 @@ Returns:
       //\r
       // Not Null FrameList\r
       //\r
       //\r
       // Not Null FrameList\r
       //\r
-      FindQhHwPtr = (EHCI_QH_HW *) (UINTN) GET_0B_TO_31B (FrameEntryPtr->LinkPointer << 5);\r
+      FindQhHwPtr = (EHCI_QH_HW *) GET_0B_TO_31B (FrameEntryPtr->LinkPointer << 5);\r
       FindQhPtr   = (EHCI_QH_ENTITY *) GET_QH_ENTITY_ADDR (FindQhHwPtr);\r
       //\r
       // FindQh is Left/Right to Qh\r
       FindQhPtr   = (EHCI_QH_ENTITY *) GET_QH_ENTITY_ADDR (FindQhHwPtr);\r
       //\r
       // FindQh is Left/Right to Qh\r
@@ -1742,12 +1743,12 @@ Returns:
         //\r
         if (NULL != FindQhPtr->Next) {\r
           FindQhPtr->Next->Prev         = QhPtr;\r
         //\r
         if (NULL != FindQhPtr->Next) {\r
           FindQhPtr->Next->Prev         = QhPtr;\r
-          QhPtr->Qh.QhHorizontalPointer = (UINT32) GET_0B_TO_31B (((UINTN) &(FindQhPtr->Next->Qh)) >> 5);\r
+          QhPtr->Qh.QhHorizontalPointer = (UINT32) GET_0B_TO_31B (&(FindQhPtr->Next->Qh) >> 5);\r
           QhPtr->Qh.SelectType          = QH_SELECT_TYPE;\r
           QhPtr->Qh.QhTerminate         = FALSE;\r
         }\r
 \r
           QhPtr->Qh.SelectType          = QH_SELECT_TYPE;\r
           QhPtr->Qh.QhTerminate         = FALSE;\r
         }\r
 \r
-        FindQhPtr->Qh.QhHorizontalPointer = (UINT32) GET_0B_TO_31B (((UINTN)&(QhPtr->Qh)) >> 5);\r
+        FindQhPtr->Qh.QhHorizontalPointer = (UINT32) GET_0B_TO_31B (&(QhPtr->Qh) >> 5);\r
         FindQhPtr->Qh.SelectType          = QH_SELECT_TYPE;\r
         FindQhPtr->Qh.QhTerminate         = FALSE;\r
 \r
         FindQhPtr->Qh.SelectType          = QH_SELECT_TYPE;\r
         FindQhPtr->Qh.QhTerminate         = FALSE;\r
 \r
@@ -1762,7 +1763,7 @@ Returns:
           //\r
           // Qh is the First one in Frame[0] List\r
           //\r
           //\r
           // Qh is the First one in Frame[0] List\r
           //\r
-          FrameEntryPtr->LinkPointer    = (UINT32) GET_0B_TO_31B (((UINTN) &(QhPtr->Qh)) >> 5);\r
+          FrameEntryPtr->LinkPointer    = (UINT32) GET_0B_TO_31B (&(QhPtr->Qh) >> 5);\r
           FrameEntryPtr->SelectType     = QH_SELECT_TYPE;\r
           FrameEntryPtr->LinkTerminate  = FALSE;\r
         } else {\r
           FrameEntryPtr->SelectType     = QH_SELECT_TYPE;\r
           FrameEntryPtr->LinkTerminate  = FALSE;\r
         } else {\r
@@ -1770,12 +1771,12 @@ Returns:
           // Qh is not the First one in Frame[0] List\r
           //\r
           FindQhPtr->Prev->Next                   = QhPtr;\r
           // Qh is not the First one in Frame[0] List\r
           //\r
           FindQhPtr->Prev->Next                   = QhPtr;\r
-          FindQhPtr->Prev->Qh.QhHorizontalPointer = (UINT32) GET_0B_TO_31B (((UINTN) &(QhPtr->Qh)) >> 5);\r
+          FindQhPtr->Prev->Qh.QhHorizontalPointer = (UINT32) GET_0B_TO_31B (&(QhPtr->Qh) >> 5);\r
           FindQhPtr->Prev->Qh.SelectType          = QH_SELECT_TYPE;\r
           FindQhPtr->Prev->Qh.QhTerminate         = FALSE;\r
         }\r
 \r
           FindQhPtr->Prev->Qh.SelectType          = QH_SELECT_TYPE;\r
           FindQhPtr->Prev->Qh.QhTerminate         = FALSE;\r
         }\r
 \r
-        QhPtr->Qh.QhHorizontalPointer = (UINT32) GET_0B_TO_31B (((UINTN) &(FindQhPtr->Qh)) >> 5);\r
+        QhPtr->Qh.QhHorizontalPointer = (UINT32) GET_0B_TO_31B (&(FindQhPtr->Qh) >> 5);\r
         QhPtr->Qh.SelectType          = QH_SELECT_TYPE;\r
         QhPtr->Qh.QhTerminate         = FALSE;\r
 \r
         QhPtr->Qh.SelectType          = QH_SELECT_TYPE;\r
         QhPtr->Qh.QhTerminate         = FALSE;\r
 \r
@@ -1786,7 +1787,7 @@ Returns:
         //\r
         // Link Qh after FindQh, Qh is the Last one\r
         //\r
         //\r
         // Link Qh after FindQh, Qh is the Last one\r
         //\r
-        FindQhPtr->Qh.QhHorizontalPointer = (UINT32) GET_0B_TO_31B (((UINTN) &(QhPtr->Qh)) >> 5);\r
+        FindQhPtr->Qh.QhHorizontalPointer = (UINT32) GET_0B_TO_31B (&(QhPtr->Qh) >> 5);\r
         FindQhPtr->Prev->Qh.SelectType    = QH_SELECT_TYPE;\r
         FindQhPtr->Qh.QhTerminate         = FALSE;\r
 \r
         FindQhPtr->Prev->Qh.SelectType    = QH_SELECT_TYPE;\r
         FindQhPtr->Qh.QhTerminate         = FALSE;\r
 \r
@@ -1798,7 +1799,7 @@ Returns:
       //\r
       // Null FrameList\r
       //\r
       //\r
       // Null FrameList\r
       //\r
-      FrameEntryPtr->LinkPointer    = (UINT32) GET_0B_TO_31B (((UINTN) &(QhPtr->Qh)) >> 5);\r
+      FrameEntryPtr->LinkPointer    = (UINT32) GET_0B_TO_31B (&(QhPtr->Qh) >> 5);\r
       FrameEntryPtr->SelectType     = QH_SELECT_TYPE;\r
       FrameEntryPtr->LinkTerminate  = FALSE;\r
     }\r
       FrameEntryPtr->SelectType     = QH_SELECT_TYPE;\r
       FrameEntryPtr->LinkTerminate  = FALSE;\r
     }\r
@@ -1812,7 +1813,7 @@ Returns:
       FrameIndex += QhPtr->Interval;\r
       while (FrameIndex < HcDev->PeriodicFrameListLength) {\r
         FrameEntryPtr                 = (FRAME_LIST_ENTRY *) (FrameEntryPtr + QhPtr->Interval);\r
       FrameIndex += QhPtr->Interval;\r
       while (FrameIndex < HcDev->PeriodicFrameListLength) {\r
         FrameEntryPtr                 = (FRAME_LIST_ENTRY *) (FrameEntryPtr + QhPtr->Interval);\r
-        FrameEntryPtr->LinkPointer    = (UINT32) GET_0B_TO_31B (((UINTN) &(QhPtr->Qh)) >> 5);\r
+        FrameEntryPtr->LinkPointer    = (UINT32) GET_0B_TO_31B (&(QhPtr->Qh) >> 5);\r
         FrameEntryPtr->SelectType     = QH_SELECT_TYPE;\r
         FrameEntryPtr->LinkTerminate  = FALSE;\r
         FrameIndex += QhPtr->Interval;\r
         FrameEntryPtr->SelectType     = QH_SELECT_TYPE;\r
         FrameEntryPtr->LinkTerminate  = FALSE;\r
         FrameIndex += QhPtr->Interval;\r
@@ -1825,7 +1826,7 @@ Returns:
       while (FrameIndex < HcDev->PeriodicFrameListLength) {\r
         FrameEntryPtr = (FRAME_LIST_ENTRY *) (FrameEntryPtr + QhPtr->Interval);\r
         if ((FrameIndex % QhPtr->Prev->Interval) != 0) {\r
       while (FrameIndex < HcDev->PeriodicFrameListLength) {\r
         FrameEntryPtr = (FRAME_LIST_ENTRY *) (FrameEntryPtr + QhPtr->Interval);\r
         if ((FrameIndex % QhPtr->Prev->Interval) != 0) {\r
-          FrameEntryPtr->LinkPointer    = (UINT32) GET_0B_TO_31B (((UINTN) &(QhPtr->Qh)) >> 5);\r
+          FrameEntryPtr->LinkPointer    = (UINT32) GET_0B_TO_31B (&(QhPtr->Qh) >> 5);\r
           FrameEntryPtr->SelectType     = QH_SELECT_TYPE;\r
           FrameEntryPtr->LinkTerminate  = FALSE;\r
         }\r
           FrameEntryPtr->SelectType     = QH_SELECT_TYPE;\r
           FrameEntryPtr->LinkTerminate  = FALSE;\r
         }\r
@@ -1843,7 +1844,7 @@ Returns:
       //\r
       // Not Null FrameList\r
       //\r
       //\r
       // Not Null FrameList\r
       //\r
-      FindQhHwPtr = (EHCI_QH_HW *) (UINTN) GET_0B_TO_31B (FrameEntryPtr->LinkPointer << 5);\r
+      FindQhHwPtr = (EHCI_QH_HW *) GET_0B_TO_31B (FrameEntryPtr->LinkPointer << 5);\r
       FindQhPtr   = (EHCI_QH_ENTITY *) GET_QH_ENTITY_ADDR (FindQhHwPtr);\r
       //\r
       // FindQh is Last Qh in the Asynchronous List, Link Qh after FindQh\r
       FindQhPtr   = (EHCI_QH_ENTITY *) GET_QH_ENTITY_ADDR (FindQhHwPtr);\r
       //\r
       // FindQh is Last Qh in the Asynchronous List, Link Qh after FindQh\r
@@ -1852,7 +1853,7 @@ Returns:
         FindQhPtr = FindQhPtr->Next;\r
       }\r
 \r
         FindQhPtr = FindQhPtr->Next;\r
       }\r
 \r
-      FindQhPtr->Qh.QhHorizontalPointer = (UINT32) GET_0B_TO_31B (((UINTN) &(QhPtr->Qh)) >> 5);\r
+      FindQhPtr->Qh.QhHorizontalPointer = (UINT32) GET_0B_TO_31B (&(QhPtr->Qh) >> 5);\r
       FindQhPtr->Qh.SelectType          = QH_SELECT_TYPE;\r
       FindQhPtr->Qh.QhTerminate         = FALSE;\r
 \r
       FindQhPtr->Qh.SelectType          = QH_SELECT_TYPE;\r
       FindQhPtr->Qh.QhTerminate         = FALSE;\r
 \r
@@ -1862,7 +1863,7 @@ Returns:
       //\r
       // Null FrameList\r
       //\r
       //\r
       // Null FrameList\r
       //\r
-      FrameEntryPtr->LinkPointer    = (UINT32) GET_0B_TO_31B (((UINTN) &(QhPtr->Qh)) >> 5);\r
+      FrameEntryPtr->LinkPointer    = (UINT32) GET_0B_TO_31B (&(QhPtr->Qh) >> 5);\r
       FrameEntryPtr->SelectType     = QH_SELECT_TYPE;\r
       FrameEntryPtr->LinkTerminate  = FALSE;\r
     }\r
       FrameEntryPtr->SelectType     = QH_SELECT_TYPE;\r
       FrameEntryPtr->LinkTerminate  = FALSE;\r
     }\r
@@ -1929,7 +1930,7 @@ Returns:
         }\r
       } else {\r
         while (FrameIndex < HcDev->PeriodicFrameListLength) {\r
         }\r
       } else {\r
         while (FrameIndex < HcDev->PeriodicFrameListLength) {\r
-          FrameEntryPtr->LinkPointer    = (UINT32) GET_0B_TO_31B (((UINTN) &(QhPtr->Next->Qh)) >> 5);\r
+          FrameEntryPtr->LinkPointer    = (UINT32) GET_0B_TO_31B (&(QhPtr->Next->Qh) >> 5);\r
           FrameEntryPtr->SelectType     = QH_SELECT_TYPE;\r
           FrameEntryPtr->LinkTerminate  = FALSE;\r
           FrameEntryPtr += Interval;\r
           FrameEntryPtr->SelectType     = QH_SELECT_TYPE;\r
           FrameEntryPtr->LinkTerminate  = FALSE;\r
           FrameEntryPtr += Interval;\r
@@ -1949,7 +1950,7 @@ Returns:
         QhPtr->Prev->Qh.SelectType          = 0;\r
         QhPtr->Prev->Qh.QhTerminate         = TRUE;\r
       } else {\r
         QhPtr->Prev->Qh.SelectType          = 0;\r
         QhPtr->Prev->Qh.QhTerminate         = TRUE;\r
       } else {\r
-        QhPtr->Prev->Qh.QhHorizontalPointer = (UINT32) GET_0B_TO_31B (((UINTN) &(QhPtr->Next->Qh)) >> 5);\r
+        QhPtr->Prev->Qh.QhHorizontalPointer = (UINT32) GET_0B_TO_31B (&(QhPtr->Next->Qh) >> 5);\r
         QhPtr->Prev->Qh.SelectType          = QH_SELECT_TYPE;\r
         QhPtr->Prev->Qh.QhTerminate         = FALSE;\r
       }\r
         QhPtr->Prev->Qh.SelectType          = QH_SELECT_TYPE;\r
         QhPtr->Prev->Qh.QhTerminate         = FALSE;\r
       }\r
@@ -2109,6 +2110,12 @@ Returns:
   RemainLen = DataLen;\r
   ASSERT (QtdHwPtr);\r
 \r
   RemainLen = DataLen;\r
   ASSERT (QtdHwPtr);\r
 \r
+  //\r
+  // Allow buffer address range across 4G.\r
+  // But EFI_USB_MAX_BULK_BUFFER_NUM = 1, so don't allow\r
+  // seperate buffer array.\r
+  //\r
+\r
   //\r
   // Set BufferPointer0, ExtBufferPointer0 and Offset\r
   //\r
   //\r
   // Set BufferPointer0, ExtBufferPointer0 and Offset\r
   //\r
@@ -2125,7 +2132,7 @@ Returns:
   }\r
 \r
   QtdHwPtr->BufferPointer1    = QtdHwPtr->BufferPointer0 + 1;\r
   }\r
 \r
   QtdHwPtr->BufferPointer1    = QtdHwPtr->BufferPointer0 + 1;\r
-  QtdHwPtr->ExtBufferPointer1 = QtdHwPtr->ExtBufferPointer0;\r
+  QtdHwPtr->ExtBufferPointer1 = (QtdHwPtr->BufferPointer1 == 0) ? (QtdHwPtr->ExtBufferPointer0 + 1) : QtdHwPtr->ExtBufferPointer0;\r
 \r
   //\r
   // Set BufferPointer2 and ExtBufferPointer2\r
 \r
   //\r
   // Set BufferPointer2 and ExtBufferPointer2\r
@@ -2136,7 +2143,7 @@ Returns:
   }\r
 \r
   QtdHwPtr->BufferPointer2    = QtdHwPtr->BufferPointer1 + 1;\r
   }\r
 \r
   QtdHwPtr->BufferPointer2    = QtdHwPtr->BufferPointer1 + 1;\r
-  QtdHwPtr->ExtBufferPointer2 = QtdHwPtr->ExtBufferPointer0;\r
+  QtdHwPtr->ExtBufferPointer2 = (QtdHwPtr->BufferPointer2 == 0) ? (QtdHwPtr->ExtBufferPointer1 + 1) : QtdHwPtr->ExtBufferPointer1;\r
 \r
   //\r
   // Set BufferPointer3 and ExtBufferPointer3\r
 \r
   //\r
   // Set BufferPointer3 and ExtBufferPointer3\r
@@ -2147,7 +2154,7 @@ Returns:
   }\r
 \r
   QtdHwPtr->BufferPointer3    = QtdHwPtr->BufferPointer2 + 1;\r
   }\r
 \r
   QtdHwPtr->BufferPointer3    = QtdHwPtr->BufferPointer2 + 1;\r
-  QtdHwPtr->ExtBufferPointer3 = QtdHwPtr->ExtBufferPointer0;\r
+  QtdHwPtr->ExtBufferPointer3 = (QtdHwPtr->BufferPointer2 == 0) ? (QtdHwPtr->ExtBufferPointer2 + 1) : QtdHwPtr->ExtBufferPointer2;\r
 \r
   //\r
   // Set BufferPointer4 and ExtBufferPointer4\r
 \r
   //\r
   // Set BufferPointer4 and ExtBufferPointer4\r
@@ -2158,7 +2165,7 @@ Returns:
   }\r
 \r
   QtdHwPtr->BufferPointer4    = QtdHwPtr->BufferPointer3 + 1;\r
   }\r
 \r
   QtdHwPtr->BufferPointer4    = QtdHwPtr->BufferPointer3 + 1;\r
-  QtdHwPtr->ExtBufferPointer4 = QtdHwPtr->ExtBufferPointer0;\r
+  QtdHwPtr->ExtBufferPointer4 = (QtdHwPtr->BufferPointer3 == 0) ? (QtdHwPtr->ExtBufferPointer3 + 1) : QtdHwPtr->ExtBufferPointer3;\r
 \r
 exit:\r
   return ;\r
 \r
 exit:\r
   return ;\r
@@ -2865,8 +2872,8 @@ Returns:
     }\r
 \r
     (*ErrQtdPos)++;\r
     }\r
 \r
     (*ErrQtdPos)++;\r
-    QtdHwPtr = GetQtdNextPointer (QtdHwPtr);\r
-    QtdPtr = (EHCI_QTD_ENTITY *) GET_QTD_ENTITY_ADDR (QtdHwPtr);\r
+    QtdPtr   = QtdPtr->Next;\r
+    QtdHwPtr = &(QtdPtr->Qtd);\r
 \r
   }\r
 \r
 \r
   }\r
 \r
@@ -3026,7 +3033,7 @@ Returns:
     }\r
 \r
     QtdHwPtr = &(AsyncRequestPtr->QhPtr->FirstQtdPtr->Qtd);\r
     }\r
 \r
     QtdHwPtr = &(AsyncRequestPtr->QhPtr->FirstQtdPtr->Qtd);\r
-    ReceiveBuffer = (UINT8 *) (UINTN) GET_0B_TO_31B ((QtdHwPtr->BufferPointer0 << 12) | AsyncRequestPtr->QhPtr->FirstQtdPtr->StaticCurrentOffset);\r
+    ReceiveBuffer = (UINT8 *) GET_0B_TO_31B ((QtdHwPtr->BufferPointer0 << 12) | AsyncRequestPtr->QhPtr->FirstQtdPtr->StaticCurrentOffset);\r
     CopyMem (\r
       ProcessBuffer,\r
       ReceiveBuffer,\r
     CopyMem (\r
       ProcessBuffer,\r
       ReceiveBuffer,\r
index ab9a5b6a0e3c75af7af9537fc3b5195c25da2989..c224a16ac622b22911134965821940422dfa5022 100644 (file)
@@ -59,7 +59,7 @@ Revision History
 //\r
 #define NORMAL_MEMORY_BLOCK_UNIT_IN_PAGES 1\r
 \r
 //\r
 #define NORMAL_MEMORY_BLOCK_UNIT_IN_PAGES 1\r
 \r
-#define bit(a)                            1 << (a)\r
+#define bit(a)                            (1 << (a))\r
 \r
 //\r
 // ////////////////////////////////////////////////////////////////////////\r
 \r
 //\r
 // ////////////////////////////////////////////////////////////////////////\r
index 474e38829ead856a6776d38231013eca7fbbbc3b..272161083b10c2aa47ef638487062580a8fbdd1f 100644 (file)
@@ -696,7 +696,7 @@ UsbSetConfiguration (
     \r
 --*/\r
 {\r
     \r
 --*/\r
 {\r
-  LIST_ENTRY          *NextEntry;\r
+  LIST_ENTRY              *NextEntry;\r
   CONFIG_DESC_LIST_ENTRY  *ConfigEntry;\r
   UINT32                  Status;\r
   EFI_STATUS              Result;\r
   CONFIG_DESC_LIST_ENTRY  *ConfigEntry;\r
   UINT32                  Status;\r
   EFI_STATUS              Result;\r
@@ -752,7 +752,7 @@ UsbSetDefaultConfiguration (
 {\r
   CONFIG_DESC_LIST_ENTRY  *ConfigEntry;\r
   UINT16                  ConfigValue;\r
 {\r
   CONFIG_DESC_LIST_ENTRY  *ConfigEntry;\r
   UINT16                  ConfigValue;\r
-  LIST_ENTRY          *NextEntry;\r
+  LIST_ENTRY              *NextEntry;\r
 \r
   if (IsListEmpty (&UsbIoDev->ConfigDescListHead)) {\r
     return EFI_DEVICE_ERROR;\r
 \r
   if (IsListEmpty (&UsbIoDev->ConfigDescListHead)) {\r
     return EFI_DEVICE_ERROR;\r
index 1d1f44d63874e30f8cba948cb31ad857be97f808..d9387a60b1171f0dc578c540068da7fa1bfd9e00 100644 (file)
@@ -23,8 +23,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #include "usbbus.h"\r
 \r
 \r
 #include "usbbus.h"\r
 \r
-UINTN                       gUSBDebugLevel  = EFI_D_INFO;\r
-UINTN                       gUSBErrorLevel  = EFI_D_ERROR;\r
+\r
+GLOBAL_REMOVE_IF_UNREFERENCED    UINTN    gUSBDebugLevel  = EFI_D_INFO;\r
+GLOBAL_REMOVE_IF_UNREFERENCED    UINTN    gUSBErrorLevel  = EFI_D_ERROR;\r
 \r
 //\r
 // The UsbBusProtocol is just used to locate USB_BUS_CONTROLLER\r
 \r
 //\r
 // The UsbBusProtocol is just used to locate USB_BUS_CONTROLLER\r
@@ -2328,17 +2329,18 @@ UsbPortReset (
 --*/\r
 {\r
   USB_IO_CONTROLLER_DEVICE  *UsbIoController;\r
 --*/\r
 {\r
   USB_IO_CONTROLLER_DEVICE  *UsbIoController;\r
-  EFI_STATUS                Status;\r
 \r
   UsbIoController = USB_IO_CONTROLLER_DEVICE_FROM_USB_IO_THIS (This);\r
 \r
 \r
   UsbIoController = USB_IO_CONTROLLER_DEVICE_FROM_USB_IO_THIS (This);\r
 \r
+  if (IsHub (UsbIoController)) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
+  \r
   //\r
   // Since at this time, this device has already been configured,\r
   // it needs to be re-configured.\r
   //\r
   //\r
   // Since at this time, this device has already been configured,\r
   // it needs to be re-configured.\r
   //\r
-  Status = ParentPortReset (UsbIoController, TRUE, 0);\r
-\r
-  return Status;\r
+  return ParentPortReset (UsbIoController, TRUE, 0);\r
 }\r
 \r
 EFI_STATUS\r
 }\r
 \r
 EFI_STATUS\r
index 47f0fd804fb8c5ede0a9dc16f86ecd46f2b98bc9..8dd36f35d45d42cd3d0aa4dbe16566f2246932e5 100644 (file)
@@ -30,8 +30,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include "hub.h"\r
 #include "usbutil.h"\r
 \r
 #include "hub.h"\r
 #include "usbutil.h"\r
 \r
-extern UINTN  gUSBDebugLevel;\r
-extern UINTN  gUSBErrorLevel;\r
+\r
+GLOBAL_REMOVE_IF_UNREFERENCED    extern UINTN  gUSBDebugLevel;\r
+GLOBAL_REMOVE_IF_UNREFERENCED    extern UINTN  gUSBErrorLevel;\r
+\r
 \r
 #define MICROSECOND       10000\r
 #define ONESECOND         (1000 * MICROSECOND)\r
 \r
 #define MICROSECOND       10000\r
 #define ONESECOND         (1000 * MICROSECOND)\r
index eb563b8e8b175471f1127b5df6655870b8d3d1b5..afd2e465415deb63050fec60150053466bc07ce0 100644 (file)
@@ -181,6 +181,19 @@ VOID
 InitializeUsbIoInstance (\r
   IN USB_IO_CONTROLLER_DEVICE     *UsbIoController\r
   )\r
 InitializeUsbIoInstance (\r
   IN USB_IO_CONTROLLER_DEVICE     *UsbIoController\r
   )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  Initialize the instance of UsbIo controller\r
+\r
+Arguments:\r
+\r
+  UsbIoController - A pointer to controller structure of UsbIo\r
+\r
+Returns:\r
+\r
+--*/\r
 {\r
   //\r
   // Copy EFI_USB_IO protocol instance\r
 {\r
   //\r
   // Copy EFI_USB_IO protocol instance\r
@@ -349,11 +362,10 @@ UsbBulkTransfer (
   UINT8                       DataToggle;\r
   UINT8                       OldToggle;\r
   EFI_STATUS                  RetStatus;\r
   UINT8                       DataToggle;\r
   UINT8                       OldToggle;\r
   EFI_STATUS                  RetStatus;\r
-\r
   USB_IO_CONTROLLER_DEVICE    *UsbIoController;\r
   ENDPOINT_DESC_LIST_ENTRY    *EndPointListEntry;\r
   USB_IO_CONTROLLER_DEVICE    *UsbIoController;\r
   ENDPOINT_DESC_LIST_ENTRY    *EndPointListEntry;\r
-  UINT32                      TransferResult;\r
   UINT8                       DataBuffersNumber;\r
   UINT8                       DataBuffersNumber;\r
+  UINT32                      TransferResult;\r
   \r
   DataBuffersNumber = 1;\r
   UsbIoController   = USB_IO_CONTROLLER_DEVICE_FROM_USB_IO_THIS (This);\r
   \r
   DataBuffersNumber = 1;\r
   UsbIoController   = USB_IO_CONTROLLER_DEVICE_FROM_USB_IO_THIS (This);\r
index afd4d623c3de981772e4be7fc2d34c6c167faf64..913ac225e9121e0447ced2e6e474595354bd85fa 100644 (file)
@@ -354,21 +354,18 @@ Cbi0DriverBindingStart (
     //\r
     if (EndpointDescriptor.Attributes == 0x02) {\r
       if (EndpointDescriptor.EndpointAddress & 0x80) {\r
     //\r
     if (EndpointDescriptor.Attributes == 0x02) {\r
       if (EndpointDescriptor.EndpointAddress & 0x80) {\r
-        CopyMem (&UsbCbiDev->BulkInEndpointDescriptor, &EndpointDescriptor, sizeof(EndpointDescriptor));\r
-        // UsbCbiDev->BulkInEndpointDescriptor = EndpointDescriptor;\r
-        EndpointExistMask |= bit (0);\r
+        CopyMem (&UsbCbiDev->BulkInEndpointDescriptor, &EndpointDescriptor, sizeof (EndpointDescriptor));\r
+           EndpointExistMask |= bit (0);\r
       } else {\r
       } else {\r
-        CopyMem (&UsbCbiDev->BulkOutEndpointDescriptor, &EndpointDescriptor, sizeof(EndpointDescriptor));\r
-        // UsbCbiDev->BulkOutEndpointDescriptor = EndpointDescriptor;\r
-        EndpointExistMask |= bit (1);\r
+        CopyMem (&UsbCbiDev->BulkOutEndpointDescriptor, &EndpointDescriptor, sizeof (EndpointDescriptor));\r
+           EndpointExistMask |= bit (1);\r
       }\r
     }\r
     //\r
     // We parse interrupt endpoint\r
     //\r
     if (EndpointDescriptor.Attributes == 0x03) {\r
       }\r
     }\r
     //\r
     // We parse interrupt endpoint\r
     //\r
     if (EndpointDescriptor.Attributes == 0x03) {\r
-      CopyMem (&UsbCbiDev->InterruptEndpointDescriptor, &EndpointDescriptor, sizeof(EndpointDescriptor));\r
-      // UsbCbiDev->InterruptEndpointDescriptor = EndpointDescriptor;\r
+      CopyMem (&UsbCbiDev->InterruptEndpointDescriptor, &EndpointDescriptor, sizeof (EndpointDescriptor));\r
       EndpointExistMask |= bit (2);\r
     }\r
 \r
       EndpointExistMask |= bit (2);\r
     }\r
 \r
index 3f1b02cf70b6bb34fc3443ea0c1220ac06145df3..dd1c927daec0ab244baca2cf0ad84a967c969fb5 100644 (file)
@@ -309,12 +309,10 @@ CBI1DriverBindingStart (
     //\r
     if (EndpointDescriptor.Attributes == 0x02) {\r
       if (EndpointDescriptor.EndpointAddress & 0x80) {\r
     //\r
     if (EndpointDescriptor.Attributes == 0x02) {\r
       if (EndpointDescriptor.EndpointAddress & 0x80) {\r
-        CopyMem (&UsbCbiDev->BulkInEndpointDescriptor, &EndpointDescriptor, sizeof(EndpointDescriptor));\r
-        //UsbCbiDev->BulkInEndpointDescriptor = EndpointDescriptor;\r
-      } else {\r
-        CopyMem (&UsbCbiDev->BulkOutEndpointDescriptor, &EndpointDescriptor, sizeof(EndpointDescriptor));\r
-         //UsbCbiDev->BulkOutEndpointDescriptor = EndpointDescriptor;\r
-      }\r
+        CopyMem (&UsbCbiDev->BulkInEndpointDescriptor, &EndpointDescriptor, sizeof (EndpointDescriptor));\r
+         } else {\r
+        CopyMem (&UsbCbiDev->BulkOutEndpointDescriptor, &EndpointDescriptor, sizeof (EndpointDescriptor));\r
+         }\r
 \r
       Found = TRUE;\r
     }\r
 \r
       Found = TRUE;\r
     }\r
@@ -322,8 +320,7 @@ CBI1DriverBindingStart (
     // We parse interrupt endpoint\r
     //\r
     if (EndpointDescriptor.Attributes == 0x03) {\r
     // We parse interrupt endpoint\r
     //\r
     if (EndpointDescriptor.Attributes == 0x03) {\r
-      CopyMem (&UsbCbiDev->InterruptEndpointDescriptor, &EndpointDescriptor, sizeof(EndpointDescriptor));\r
-      //UsbCbiDev->InterruptEndpointDescriptor  = EndpointDescriptor;\r
+      CopyMem (&UsbCbiDev->InterruptEndpointDescriptor, &EndpointDescriptor, sizeof (EndpointDescriptor));\r
       Found = TRUE;\r
     }\r
 \r
       Found = TRUE;\r
     }\r
 \r
index a9cdbc8760a0dd496aafabc1217096d4b961b673..a59de119982cee48d276786c92387508e48c9b13 100644 (file)
@@ -297,7 +297,6 @@ USBKeyboardDriverBindingStart (
       // We only care interrupt endpoint here\r
       //\r
       CopyMem (&UsbKeyboardDevice->IntEndpointDescriptor, &EndpointDescriptor, sizeof (EndpointDescriptor));\r
       // We only care interrupt endpoint here\r
       //\r
       CopyMem (&UsbKeyboardDevice->IntEndpointDescriptor, &EndpointDescriptor, sizeof (EndpointDescriptor));\r
-      //UsbKeyboardDevice->IntEndpointDescriptor  = EndpointDescriptor;\r
       Found = TRUE;\r
     }\r
   }\r
       Found = TRUE;\r
     }\r
   }\r
index 598c82e220e1f2b8e0d0e4e3909facfeee68e41e..45433edfc2ca7d322cd6998cbeb3d20a48c3a6f7 100644 (file)
@@ -25,7 +25,7 @@ Revision History
 //\r
 // bit definition\r
 //\r
 //\r
 // bit definition\r
 //\r
-#define bit(a)  1 << (a)\r
+#define bit(a)  (1 << (a))\r
 \r
 //\r
 // timeout unit is in millisecond.\r
 \r
 //\r
 // timeout unit is in millisecond.\r
index b8ed813ea21b20c8bcfa377ba934b39c56fc4966..3d6a6d977b2e983ec759cac351c87378b91d1516 100644 (file)
@@ -924,7 +924,6 @@ UsbFloppyDetectMedia (
   Status            = EFI_SUCCESS;\r
   FloppyStatus      = EFI_SUCCESS;\r
   CopyMem (&OldMediaInfo, UsbFloppyDevice->BlkIo.Media, sizeof (OldMediaInfo));\r
   Status            = EFI_SUCCESS;\r
   FloppyStatus      = EFI_SUCCESS;\r
   CopyMem (&OldMediaInfo, UsbFloppyDevice->BlkIo.Media, sizeof (OldMediaInfo));\r
-  //OldMediaInfo      = *UsbFloppyDevice->BlkIo.Media;\r
   *MediaChange      = FALSE;\r
   NeedReadCapacity  = TRUE;\r
 \r
   *MediaChange      = FALSE;\r
   NeedReadCapacity  = TRUE;\r
 \r