///\r
/// EFI_DRIVER_BINDING_PROTOCOL instance\r
///\r
-EFI_DRIVER_BINDING_PROTOCOL gSataControllerDriverBinding = {\r
+EFI_DRIVER_BINDING_PROTOCOL gSataControllerDriverBinding = {\r
SataControllerSupported,\r
SataControllerStart,\r
SataControllerStop,\r
UINT32\r
EFIAPI\r
AhciReadReg (\r
- IN EFI_PCI_IO_PROTOCOL *PciIo,\r
- IN UINT32 Offset\r
+ IN EFI_PCI_IO_PROTOCOL *PciIo,\r
+ IN UINT32 Offset\r
)\r
{\r
- UINT32 Data;\r
+ UINT32 Data;\r
\r
ASSERT (PciIo != NULL);\r
\r
PciIo,\r
EfiPciIoWidthUint32,\r
AHCI_BAR_INDEX,\r
- (UINT64) Offset,\r
+ (UINT64)Offset,\r
1,\r
&Data\r
);\r
OUT UINT16 *SelectedMode\r
)\r
{\r
- UINT16 PioMode;\r
- UINT16 AdvancedPioMode;\r
- UINT16 Temp;\r
- UINT16 Index;\r
- UINT16 MinimumPioCycleTime;\r
+ UINT16 PioMode;\r
+ UINT16 AdvancedPioMode;\r
+ UINT16 Temp;\r
+ UINT16 Index;\r
+ UINT16 MinimumPioCycleTime;\r
\r
Temp = 0xff;\r
\r
- PioMode = (UINT8) (((ATA5_IDENTIFY_DATA *) (&(IdentifyData->AtaData)))->pio_cycle_timing >> 8);\r
+ PioMode = (UINT8)(((ATA5_IDENTIFY_DATA *)(&(IdentifyData->AtaData)))->pio_cycle_timing >> 8);\r
\r
//\r
// See whether Identify Data word 64 - 70 are valid\r
//\r
if ((IdentifyData->AtaData.field_validity & 0x02) == 0x02) {\r
-\r
AdvancedPioMode = IdentifyData->AtaData.advanced_pio_modes;\r
DEBUG ((DEBUG_INFO, "CalculateBestPioMode: AdvancedPioMode = %x\n", AdvancedPioMode));\r
\r
// the best PIO Mode is the value in pio_cycle_timing.\r
//\r
if (Temp != 0xff) {\r
- AdvancedPioMode = (UINT16) (Temp + 3);\r
+ AdvancedPioMode = (UINT16)(Temp + 3);\r
} else {\r
AdvancedPioMode = PioMode;\r
}\r
//\r
// Limit the PIO mode to at most PIO4.\r
//\r
- PioMode = (UINT16) MIN (AdvancedPioMode, 4);\r
+ PioMode = (UINT16)MIN (AdvancedPioMode, 4);\r
\r
MinimumPioCycleTime = IdentifyData->AtaData.min_pio_cycle_time_with_flow_control;\r
\r
if (MinimumPioCycleTime <= 120) {\r
- PioMode = (UINT16) MIN (4, PioMode);\r
+ PioMode = (UINT16)MIN (4, PioMode);\r
} else if (MinimumPioCycleTime <= 180) {\r
- PioMode = (UINT16) MIN (3, PioMode);\r
+ PioMode = (UINT16)MIN (3, PioMode);\r
} else if (MinimumPioCycleTime <= 240) {\r
- PioMode = (UINT16) MIN (2, PioMode);\r
+ PioMode = (UINT16)MIN (2, PioMode);\r
} else {\r
PioMode = 0;\r
}\r
}\r
\r
if (PioMode >= *DisPioMode) {\r
- PioMode = (UINT16) (*DisPioMode - 1);\r
+ PioMode = (UINT16)(*DisPioMode - 1);\r
}\r
}\r
\r
} else {\r
*SelectedMode = PioMode; // ATA_PIO_MODE_2 to ATA_PIO_MODE_4;\r
}\r
-\r
} else {\r
//\r
// Identify Data word 64 - 70 are not valid\r
} else {\r
*SelectedMode = 2; // ATA_PIO_MODE_2;\r
}\r
-\r
}\r
\r
return EFI_SUCCESS;\r
OUT UINT16 *SelectedMode\r
)\r
{\r
- UINT16 TempMode;\r
- UINT16 DeviceUDmaMode;\r
+ UINT16 TempMode;\r
+ UINT16 DeviceUDmaMode;\r
\r
DeviceUDmaMode = 0;\r
\r
DeviceUDmaMode = IdentifyData->AtaData.ultra_dma_mode;\r
DEBUG ((DEBUG_INFO, "CalculateBestUdmaMode: DeviceUDmaMode = %x\n", DeviceUDmaMode));\r
DeviceUDmaMode &= 0x3f;\r
- TempMode = 0; // initialize it to UDMA-0\r
+ TempMode = 0; // initialize it to UDMA-0\r
\r
while ((DeviceUDmaMode >>= 1) != 0) {\r
TempMode++;\r
}\r
\r
if (TempMode >= *DisUDmaMode) {\r
- TempMode = (UINT16) (*DisUDmaMode - 1);\r
+ TempMode = (UINT16)(*DisUDmaMode - 1);\r
}\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
InitializeSataControllerDriver (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
//\r
// Install driver model protocol(s).\r
EFI_STATUS\r
EFIAPI\r
SataControllerSupported (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Controller,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_PCI_IO_PROTOCOL *PciIo;\r
- PCI_TYPE00 PciData;\r
+ EFI_STATUS Status;\r
+ EFI_PCI_IO_PROTOCOL *PciIo;\r
+ PCI_TYPE00 PciData;\r
\r
//\r
// Attempt to open PCI I/O Protocol\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiPciIoProtocolGuid,\r
- (VOID **) &PciIo,\r
+ (VOID **)&PciIo,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
EFI_STATUS\r
EFIAPI\r
SataControllerStart (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Controller,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
)\r
{\r
EFI_STATUS Status;\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiPciIoProtocolGuid,\r
- (VOID **) &PciIo,\r
+ (VOID **)&PciIo,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
//\r
// Initialize Sata Private Data\r
//\r
- Private->Signature = SATA_CONTROLLER_SIGNATURE;\r
- Private->PciIo = PciIo;\r
+ Private->Signature = SATA_CONTROLLER_SIGNATURE;\r
+ Private->PciIo = PciIo;\r
Private->IdeInit.GetChannelInfo = IdeInitGetChannelInfo;\r
Private->IdeInit.NotifyPhase = IdeInitNotifyPhase;\r
Private->IdeInit.SubmitData = IdeInitSubmitData;\r
&Private->OriginalPciAttributes\r
);\r
if (EFI_ERROR (Status)) {\r
- goto Done;\r
+ goto Done;\r
}\r
\r
DEBUG ((\r
DEBUG ((DEBUG_INFO, "Supported PCI Attributes = 0x%llx\n", Supports));\r
\r
Supports &= (UINT64)EFI_PCI_DEVICE_ENABLE;\r
- Status = PciIo->Attributes (\r
- PciIo,\r
- EfiPciIoAttributeOperationEnable,\r
- Supports,\r
- NULL\r
- );\r
+ Status = PciIo->Attributes (\r
+ PciIo,\r
+ EfiPciIoAttributeOperationEnable,\r
+ Supports,\r
+ NULL\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto Done;\r
}\r
Status = EFI_UNSUPPORTED;\r
goto Done;\r
}\r
+\r
MaxPortNumber = 31;\r
while (MaxPortNumber > 0) {\r
if ((Data32 & ((UINT32)1 << MaxPortNumber)) != 0) {\r
break;\r
}\r
+\r
MaxPortNumber--;\r
}\r
+\r
//\r
// Make the ChannelCount equal to the max port number (0 based) plus 1.\r
//\r
//\r
Data32 = AhciReadReg (PciIo, R_AHCI_CAP);\r
DEBUG ((DEBUG_INFO, "HBA Capabilities(CAP) = 0x%x\n", Data32));\r
- Private->DeviceCount = AHCI_MAX_DEVICES;\r
+ Private->DeviceCount = AHCI_MAX_DEVICES;\r
if ((Data32 & B_AHCI_CAP_SPM) == B_AHCI_CAP_SPM) {\r
Private->DeviceCount = AHCI_MULTI_MAX_DEVICES;\r
}\r
}\r
\r
- TotalCount = (UINTN) (Private->IdeInit.ChannelCount) * (UINTN) (Private->DeviceCount);\r
+ TotalCount = (UINTN)(Private->IdeInit.ChannelCount) * (UINTN)(Private->DeviceCount);\r
Private->DisqualifiedModes = AllocateZeroPool ((sizeof (EFI_ATA_COLLECTIVE_MODE)) * TotalCount);\r
if (Private->DisqualifiedModes == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
\r
Done:\r
if (EFI_ERROR (Status)) {\r
-\r
gBS->CloseProtocol (\r
- Controller,\r
- &gEfiPciIoProtocolGuid,\r
- This->DriverBindingHandle,\r
- Controller\r
- );\r
+ Controller,\r
+ &gEfiPciIoProtocolGuid,\r
+ This->DriverBindingHandle,\r
+ Controller\r
+ );\r
if (Private != NULL) {\r
if (Private->DisqualifiedModes != NULL) {\r
FreePool (Private->DisqualifiedModes);\r
}\r
+\r
if (Private->IdentifyData != NULL) {\r
FreePool (Private->IdentifyData);\r
}\r
+\r
if (Private->IdentifyValid != NULL) {\r
FreePool (Private->IdentifyValid);\r
}\r
+\r
if (Private->PciAttributesChanged) {\r
//\r
// Restore original PCI attributes\r
NULL\r
);\r
}\r
+\r
FreePool (Private);\r
}\r
}\r
EFI_STATUS\r
EFIAPI\r
SataControllerStop (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Controller,\r
- IN UINTN NumberOfChildren,\r
- IN EFI_HANDLE *ChildHandleBuffer\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN UINTN NumberOfChildren,\r
+ IN EFI_HANDLE *ChildHandleBuffer\r
)\r
{\r
EFI_STATUS Status;\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiIdeControllerInitProtocolGuid,\r
- (VOID **) &IdeInit,\r
+ (VOID **)&IdeInit,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
if (Private->DisqualifiedModes != NULL) {\r
FreePool (Private->DisqualifiedModes);\r
}\r
+\r
if (Private->IdentifyData != NULL) {\r
FreePool (Private->IdentifyData);\r
}\r
+\r
if (Private->IdentifyValid != NULL) {\r
FreePool (Private->IdentifyValid);\r
}\r
+\r
if (Private->PciAttributesChanged) {\r
//\r
// Restore original PCI attributes\r
NULL\r
);\r
}\r
+\r
FreePool (Private);\r
}\r
\r
//\r
// Interface functions of IDE_CONTROLLER_INIT protocol\r
//\r
+\r
/**\r
Returns the information about the specified IDE channel.\r
\r
EFI_STATUS\r
EFIAPI\r
IdeInitGetChannelInfo (\r
- IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
- IN UINT8 Channel,\r
- OUT BOOLEAN *Enabled,\r
- OUT UINT8 *MaxDevices\r
+ IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
+ IN UINT8 Channel,\r
+ OUT BOOLEAN *Enabled,\r
+ OUT UINT8 *MaxDevices\r
)\r
{\r
EFI_SATA_CONTROLLER_PRIVATE_DATA *Private;\r
+\r
Private = SATA_CONTROLLER_PRIVATE_DATA_FROM_THIS (This);\r
ASSERT (Private != NULL);\r
\r
if (Channel < This->ChannelCount) {\r
- *Enabled = TRUE;\r
+ *Enabled = TRUE;\r
*MaxDevices = Private->DeviceCount;\r
return EFI_SUCCESS;\r
}\r
EFI_STATUS\r
EFIAPI\r
IdeInitNotifyPhase (\r
- IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
- IN EFI_IDE_CONTROLLER_ENUM_PHASE Phase,\r
- IN UINT8 Channel\r
+ IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
+ IN EFI_IDE_CONTROLLER_ENUM_PHASE Phase,\r
+ IN UINT8 Channel\r
)\r
{\r
return EFI_SUCCESS;\r
EFI_STATUS\r
EFIAPI\r
IdeInitSubmitData (\r
- IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
- IN UINT8 Channel,\r
- IN UINT8 Device,\r
- IN EFI_IDENTIFY_DATA *IdentifyData\r
+ IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
+ IN UINT8 Channel,\r
+ IN UINT8 Device,\r
+ IN EFI_IDENTIFY_DATA *IdentifyData\r
)\r
{\r
EFI_SATA_CONTROLLER_PRIVATE_DATA *Private;\r
EFI_STATUS\r
EFIAPI\r
IdeInitDisqualifyMode (\r
- IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
- IN UINT8 Channel,\r
- IN UINT8 Device,\r
- IN EFI_ATA_COLLECTIVE_MODE *BadModes\r
+ IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
+ IN UINT8 Channel,\r
+ IN UINT8 Device,\r
+ IN EFI_ATA_COLLECTIVE_MODE *BadModes\r
)\r
{\r
EFI_SATA_CONTROLLER_PRIVATE_DATA *Private;\r
EFI_STATUS\r
EFIAPI\r
IdeInitCalculateMode (\r
- IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
- IN UINT8 Channel,\r
- IN UINT8 Device,\r
- OUT EFI_ATA_COLLECTIVE_MODE **SupportedModes\r
+ IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
+ IN UINT8 Channel,\r
+ IN UINT8 Device,\r
+ OUT EFI_ATA_COLLECTIVE_MODE **SupportedModes\r
)\r
{\r
EFI_SATA_CONTROLLER_PRIVATE_DATA *Private;\r
\r
DeviceIndex = FlatDeviceIndex (Private, Channel, Device);\r
\r
- IdentifyData = &(Private->IdentifyData[DeviceIndex]);\r
- IdentifyValid = Private->IdentifyValid[DeviceIndex];\r
+ IdentifyData = &(Private->IdentifyData[DeviceIndex]);\r
+ IdentifyValid = Private->IdentifyValid[DeviceIndex];\r
DisqualifiedModes = &(Private->DisqualifiedModes[DeviceIndex]);\r
\r
//\r
}\r
\r
Status = CalculateBestPioMode (\r
- IdentifyData,\r
- (DisqualifiedModes->PioMode.Valid ? ((UINT16 *) &(DisqualifiedModes->PioMode.Mode)) : NULL),\r
- &SelectedMode\r
- );\r
+ IdentifyData,\r
+ (DisqualifiedModes->PioMode.Valid ? ((UINT16 *)&(DisqualifiedModes->PioMode.Mode)) : NULL),\r
+ &SelectedMode\r
+ );\r
if (!EFI_ERROR (Status)) {\r
(*SupportedModes)->PioMode.Valid = TRUE;\r
- (*SupportedModes)->PioMode.Mode = SelectedMode;\r
-\r
+ (*SupportedModes)->PioMode.Mode = SelectedMode;\r
} else {\r
(*SupportedModes)->PioMode.Valid = FALSE;\r
}\r
+\r
DEBUG ((DEBUG_INFO, "IdeInitCalculateMode: PioMode = %x\n", (*SupportedModes)->PioMode.Mode));\r
\r
Status = CalculateBestUdmaMode (\r
- IdentifyData,\r
- (DisqualifiedModes->UdmaMode.Valid ? ((UINT16 *) &(DisqualifiedModes->UdmaMode.Mode)) : NULL),\r
- &SelectedMode\r
- );\r
+ IdentifyData,\r
+ (DisqualifiedModes->UdmaMode.Valid ? ((UINT16 *)&(DisqualifiedModes->UdmaMode.Mode)) : NULL),\r
+ &SelectedMode\r
+ );\r
\r
if (!EFI_ERROR (Status)) {\r
(*SupportedModes)->UdmaMode.Valid = TRUE;\r
(*SupportedModes)->UdmaMode.Mode = SelectedMode;\r
-\r
} else {\r
(*SupportedModes)->UdmaMode.Valid = FALSE;\r
}\r
+\r
DEBUG ((DEBUG_INFO, "IdeInitCalculateMode: UdmaMode = %x\n", (*SupportedModes)->UdmaMode.Mode));\r
\r
//\r
EFI_STATUS\r
EFIAPI\r
IdeInitSetTiming (\r
- IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
- IN UINT8 Channel,\r
- IN UINT8 Device,\r
- IN EFI_ATA_COLLECTIVE_MODE *Modes\r
+ IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
+ IN UINT8 Channel,\r
+ IN UINT8 Device,\r
+ IN EFI_ATA_COLLECTIVE_MODE *Modes\r
)\r
{\r
return EFI_SUCCESS;\r