**/\r
EFI_STATUS\r
BotRecoveryReset (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN PEI_BOT_DEVICE *PeiBotDev\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_BOT_DEVICE *PeiBotDev\r
)\r
{\r
EFI_USB_DEVICE_REQUEST DevReq;\r
\r
ZeroMem (&DevReq, sizeof (EFI_USB_DEVICE_REQUEST));\r
\r
- DevReq.RequestType = 0x21;\r
- DevReq.Request = 0xFF;\r
- DevReq.Value = 0;\r
- DevReq.Index = 0;\r
- DevReq.Length = 0;\r
+ DevReq.RequestType = 0x21;\r
+ DevReq.Request = 0xFF;\r
+ DevReq.Value = 0;\r
+ DevReq.Index = 0;\r
+ DevReq.Length = 0;\r
\r
- Timeout = 3000;\r
+ Timeout = 3000;\r
\r
Status = UsbIoPpi->UsbControlTransfer (\r
- PeiServices,\r
- UsbIoPpi,\r
- &DevReq,\r
- EfiUsbNoData,\r
- Timeout,\r
- NULL,\r
- 0\r
- );\r
+ PeiServices,\r
+ UsbIoPpi,\r
+ &DevReq,\r
+ EfiUsbNoData,\r
+ Timeout,\r
+ NULL,\r
+ 0\r
+ );\r
\r
//\r
// clear bulk in endpoint stall feature\r
**/\r
EFI_STATUS\r
BotCommandPhase (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN PEI_BOT_DEVICE *PeiBotDev,\r
- IN VOID *Command,\r
- IN UINT8 CommandSize,\r
- IN UINT32 DataTransferLength,\r
- IN EFI_USB_DATA_DIRECTION Direction,\r
- IN UINT16 Timeout\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_BOT_DEVICE *PeiBotDev,\r
+ IN VOID *Command,\r
+ IN UINT8 CommandSize,\r
+ IN UINT32 DataTransferLength,\r
+ IN EFI_USB_DATA_DIRECTION Direction,\r
+ IN UINT16 Timeout\r
)\r
{\r
CBW Cbw;\r
//\r
// Fill the command block, detailed see BOT spec\r
//\r
- Cbw.Signature = CBWSIG;\r
- Cbw.Tag = 0x01;\r
- Cbw.DataTransferLength = DataTransferLength;\r
- Cbw.Flags = (UINT8) ((Direction == EfiUsbDataIn) ? 0x80 : 0);\r
- Cbw.Lun = 0;\r
- Cbw.CmdLen = CommandSize;\r
+ Cbw.Signature = CBWSIG;\r
+ Cbw.Tag = 0x01;\r
+ Cbw.DataTransferLength = DataTransferLength;\r
+ Cbw.Flags = (UINT8)((Direction == EfiUsbDataIn) ? 0x80 : 0);\r
+ Cbw.Lun = 0;\r
+ Cbw.CmdLen = CommandSize;\r
\r
CopyMem (Cbw.CmdBlock, Command, CommandSize);\r
\r
DataSize = sizeof (CBW);\r
\r
Status = UsbIoPpi->UsbBulkTransfer (\r
- PeiServices,\r
- UsbIoPpi,\r
- (PeiBotDev->BulkOutEndpoint)->EndpointAddress,\r
- (UINT8 *) &Cbw,\r
- &DataSize,\r
- Timeout\r
- );\r
+ PeiServices,\r
+ UsbIoPpi,\r
+ (PeiBotDev->BulkOutEndpoint)->EndpointAddress,\r
+ (UINT8 *)&Cbw,\r
+ &DataSize,\r
+ Timeout\r
+ );\r
if (EFI_ERROR (Status)) {\r
//\r
// Command phase fail, we need to recovery reset this device\r
**/\r
EFI_STATUS\r
BotDataPhase (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN PEI_BOT_DEVICE *PeiBotDev,\r
- IN UINT32 *DataSize,\r
- IN OUT VOID *DataBuffer,\r
- IN EFI_USB_DATA_DIRECTION Direction,\r
- IN UINT16 Timeout\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_BOT_DEVICE *PeiBotDev,\r
+ IN UINT32 *DataSize,\r
+ IN OUT VOID *DataBuffer,\r
+ IN EFI_USB_DATA_DIRECTION Direction,\r
+ IN UINT16 Timeout\r
)\r
{\r
EFI_STATUS Status;\r
UINT8 *BufferPtr;\r
UINTN TransferredSize;\r
\r
- UsbIoPpi = PeiBotDev->UsbIoPpi;\r
+ UsbIoPpi = PeiBotDev->UsbIoPpi;\r
\r
Remain = *DataSize;\r
- BufferPtr = (UINT8 *) DataBuffer;\r
+ BufferPtr = (UINT8 *)DataBuffer;\r
TransferredSize = 0;\r
\r
//\r
// retrieve the max packet length of the given endpoint\r
//\r
if (Direction == EfiUsbDataIn) {\r
- MaxPacketLen = (PeiBotDev->BulkInEndpoint)->MaxPacketSize;\r
- EndpointAddr = (PeiBotDev->BulkInEndpoint)->EndpointAddress;\r
+ MaxPacketLen = (PeiBotDev->BulkInEndpoint)->MaxPacketSize;\r
+ EndpointAddr = (PeiBotDev->BulkInEndpoint)->EndpointAddress;\r
} else {\r
- MaxPacketLen = (PeiBotDev->BulkOutEndpoint)->MaxPacketSize;\r
- EndpointAddr = (PeiBotDev->BulkOutEndpoint)->EndpointAddress;\r
+ MaxPacketLen = (PeiBotDev->BulkOutEndpoint)->MaxPacketSize;\r
+ EndpointAddr = (PeiBotDev->BulkOutEndpoint)->EndpointAddress;\r
}\r
\r
while (Remain > 0) {\r
}\r
\r
Status = UsbIoPpi->UsbBulkTransfer (\r
- PeiServices,\r
- UsbIoPpi,\r
- EndpointAddr,\r
- BufferPtr,\r
- &Increment,\r
- Timeout\r
- );\r
+ PeiServices,\r
+ UsbIoPpi,\r
+ EndpointAddr,\r
+ BufferPtr,\r
+ &Increment,\r
+ Timeout\r
+ );\r
\r
TransferredSize += Increment;\r
\r
}\r
\r
BufferPtr += Increment;\r
- Remain -= Increment;\r
+ Remain -= Increment;\r
}\r
\r
- *DataSize = (UINT32) TransferredSize;\r
+ *DataSize = (UINT32)TransferredSize;\r
\r
return EFI_SUCCESS;\r
}\r
**/\r
EFI_STATUS\r
BotStatusPhase (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN PEI_BOT_DEVICE *PeiBotDev,\r
- OUT UINT8 *TransferStatus,\r
- IN UINT16 Timeout\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_BOT_DEVICE *PeiBotDev,\r
+ OUT UINT8 *TransferStatus,\r
+ IN UINT16 Timeout\r
)\r
{\r
CSW Csw;\r
\r
ZeroMem (&Csw, sizeof (CSW));\r
\r
- EndpointAddr = (PeiBotDev->BulkInEndpoint)->EndpointAddress;\r
+ EndpointAddr = (PeiBotDev->BulkInEndpoint)->EndpointAddress;\r
\r
- DataSize = sizeof (CSW);\r
+ DataSize = sizeof (CSW);\r
\r
//\r
// Get the status field from bulk transfer\r
//\r
Status = UsbIoPpi->UsbBulkTransfer (\r
- PeiServices,\r
- UsbIoPpi,\r
- EndpointAddr,\r
- &Csw,\r
- &DataSize,\r
- Timeout\r
- );\r
+ PeiServices,\r
+ UsbIoPpi,\r
+ EndpointAddr,\r
+ &Csw,\r
+ &DataSize,\r
+ Timeout\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
**/\r
EFI_STATUS\r
PeiAtapiCommand (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN PEI_BOT_DEVICE *PeiBotDev,\r
- IN VOID *Command,\r
- IN UINT8 CommandSize,\r
- IN VOID *DataBuffer,\r
- IN UINT32 BufferLength,\r
- IN EFI_USB_DATA_DIRECTION Direction,\r
- IN UINT16 TimeOutInMilliSeconds\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_BOT_DEVICE *PeiBotDev,\r
+ IN VOID *Command,\r
+ IN UINT8 CommandSize,\r
+ IN VOID *DataBuffer,\r
+ IN UINT32 BufferLength,\r
+ IN EFI_USB_DATA_DIRECTION Direction,\r
+ IN UINT16 TimeOutInMilliSeconds\r
)\r
{\r
EFI_STATUS Status;\r
// First send ATAPI command through Bot\r
//\r
Status = BotCommandPhase (\r
- PeiServices,\r
- PeiBotDev,\r
- Command,\r
- CommandSize,\r
- BufferLength,\r
- Direction,\r
- TimeOutInMilliSeconds\r
- );\r
+ PeiServices,\r
+ PeiBotDev,\r
+ Command,\r
+ CommandSize,\r
+ BufferLength,\r
+ Direction,\r
+ TimeOutInMilliSeconds\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
+\r
//\r
// Send/Get Data if there is a Data Stage\r
//\r
switch (Direction) {\r
- case EfiUsbDataIn:\r
- case EfiUsbDataOut:\r
- BufferSize = BufferLength;\r
-\r
- BotDataStatus = BotDataPhase (\r
- PeiServices,\r
- PeiBotDev,\r
- &BufferSize,\r
- DataBuffer,\r
- Direction,\r
- TimeOutInMilliSeconds\r
- );\r
- break;\r
-\r
- case EfiUsbNoData:\r
- break;\r
+ case EfiUsbDataIn:\r
+ case EfiUsbDataOut:\r
+ BufferSize = BufferLength;\r
+\r
+ BotDataStatus = BotDataPhase (\r
+ PeiServices,\r
+ PeiBotDev,\r
+ &BufferSize,\r
+ DataBuffer,\r
+ Direction,\r
+ TimeOutInMilliSeconds\r
+ );\r
+ break;\r
+\r
+ case EfiUsbNoData:\r
+ break;\r
}\r
+\r
//\r
// Status Phase\r
//\r
Status = BotStatusPhase (\r
- PeiServices,\r
- PeiBotDev,\r
- &TransferStatus,\r
- TimeOutInMilliSeconds\r
- );\r
+ PeiServices,\r
+ PeiBotDev,\r
+ &TransferStatus,\r
+ TimeOutInMilliSeconds\r
+ );\r
if (EFI_ERROR (Status)) {\r
BotRecoveryReset (PeiServices, PeiBotDev);\r
return EFI_DEVICE_ERROR;\r