]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/PciRootBridgeNoEnumerationDxe/PcatPciRootBridgeIo.c
updated IdeBus driver not to create new child handle if RemainingDeviepath is the...
[mirror_edk2.git] / DuetPkg / PciRootBridgeNoEnumerationDxe / PcatPciRootBridgeIo.c
index ed2aea7dc0053803c70ca5c82e9b0f239dbb0a41..081235aa2a6907a3b4a02925297fe4b131b31672 100644 (file)
@@ -1,6 +1,6 @@
 /*++\r
 \r
-Copyright (c) 2005 - 2007, Intel Corporation                                                         \r
+Copyright (c) 2005 - 2009, Intel Corporation                                                         \r
 All rights reserved. This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
@@ -202,7 +202,7 @@ PcatRootBridgeIoMemRW (
 \r
 EFI_STATUS\r
 PcatRootBridgeIoConstructor (\r
-       IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *Protocol,\r
+  IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *Protocol,\r
   IN UINTN                            SegmentNumber\r
   )\r
 /*++\r
@@ -290,7 +290,9 @@ PcatRootBridgeIoPollMem (
     return EFI_SUCCESS;\r
   }\r
 \r
-  if ( Delay != 0 ) {\r
+  if (Delay == 0) {\r
+    return EFI_SUCCESS;\r
+  } else {\r
 \r
     NumberOfTicks = DivU64x32Remainder (Delay, 100, &Remainder);\r
     if ( Remainder !=0 ) {\r
@@ -351,7 +353,9 @@ PcatRootBridgeIoPollIo (
     return EFI_SUCCESS;\r
   }\r
 \r
-  if (Delay != 0) {\r
+  if (Delay == 0) {\r
+    return EFI_SUCCESS;\r
+  } else {\r
 \r
     NumberOfTicks = DivU64x32Remainder (Delay, 100, &Remainder);\r
     if ( Remainder !=0 ) {\r
@@ -635,7 +639,7 @@ PcatRootBridgeIoMap (
   // map the DMA transfer to a buffer below 4GB.\r
   //\r
   PhysicalAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)HostAddress;\r
-  if ((PhysicalAddress + *NumberOfBytes) > 0x100000000) {\r
+  if ((PhysicalAddress + *NumberOfBytes) > 0x100000000ULL) {\r
 \r
     //\r
     // Common Buffer operations can not be remapped.  If the common buffer\r
@@ -653,7 +657,7 @@ PcatRootBridgeIoMap (
     Status = gBS->AllocatePool (\r
                     EfiBootServicesData, \r
                     sizeof(MAP_INFO), \r
-                    &MapInfo\r
+                    (VOID **)&MapInfo\r
                     );\r
     if (EFI_ERROR (Status)) {\r
       *NumberOfBytes = 0;\r
@@ -703,10 +707,10 @@ PcatRootBridgeIoMap (
     }\r
 \r
 \r
-       Status =gBS->AllocatePool (\r
+  Status =gBS->AllocatePool (\r
                     EfiBootServicesData, \r
                     sizeof(MAP_INFO_INSTANCE), \r
-                    &MapInstance\r
+                    (VOID **)&MapInstance\r
                     );                    \r
     if (EFI_ERROR(Status)) {\r
       gBS->FreePages (MapInfo->MappedHostAddress,MapInfo->NumberOfPages);\r
@@ -719,7 +723,7 @@ PcatRootBridgeIoMap (
     PrivateData = DRIVER_INSTANCE_FROM_PCI_ROOT_BRIDGE_IO_THIS(This);\r
     InsertTailList(&PrivateData->MapInfo,&MapInstance->Link);\r
     \r
-       //\r
+  //\r
     // The DeviceAddress is the address of the maped buffer below 4GB\r
     //\r
     *DeviceAddress = MapInfo->MappedHostAddress;\r
@@ -766,14 +770,14 @@ PcatRootBridgeIoUnmap (
     //\r
     MapInfo = (MAP_INFO *)Mapping;\r
 \r
-       for (Link = PrivateData->MapInfo.ForwardLink; Link != &PrivateData->MapInfo; Link = Link->ForwardLink) {\r
-       if (((MAP_INFO_INSTANCE*)Link)->Map == MapInfo)\r
-               break;\r
+  for (Link = PrivateData->MapInfo.ForwardLink; Link != &PrivateData->MapInfo; Link = Link->ForwardLink) {\r
+      if (((MAP_INFO_INSTANCE*)Link)->Map == MapInfo)\r
+        break;\r
     }\r
 \r
     if (Link == &PrivateData->MapInfo) {\r
-       return EFI_INVALID_PARAMETER;\r
-       }\r
+      return EFI_INVALID_PARAMETER;\r
+  }\r
 \r
     RemoveEntryList(Link);\r
     ((MAP_INFO_INSTANCE*)Link)->Map = NULL;\r
@@ -868,7 +872,7 @@ PcatRootBridgeIoFreeBuffer (
 {\r
 \r
   if( HostAddress == NULL ){\r
-        return EFI_INVALID_PARAMETER;\r
+     return EFI_INVALID_PARAMETER;\r
   } \r
   return gBS->FreePages ((EFI_PHYSICAL_ADDRESS)(UINTN)HostAddress, Pages);\r
 }\r
@@ -1013,7 +1017,7 @@ Returns:
   UINTN  OutStride;\r
 \r
 \r
-  Width     = Width & 0x03;\r
+  Width     = (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) (Width & 0x03);\r
   Stride    = (UINTN)1 << Width;\r
   InStride  = InStrideFlag  ? Stride : 0;\r
   OutStride = OutStrideFlag ? Stride : 0;\r