-/**@file\r
+/** @file\r
Serial driver for standard UARTS on an ISA bus.\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\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
- http://opensource.org/licenses/bsd-license.php\r
+Copyright (c) 2006 - 2009, Intel Corporation<BR>\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
+http://opensource.org/licenses/bsd-license.php\r
\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
**/\r
\r
},\r
FALSE,\r
FALSE,\r
- UART16550A,\r
+ Uart16550A,\r
NULL\r
};\r
\r
/**\r
Check to see if this driver supports the given controller\r
\r
- @param This - A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.\r
- @param Controller - The handle of the controller to test.\r
- @param RemainingDevicePath - A pointer to the remaining portion of a device path.\r
+ @param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.\r
+ @param Controller The handle of the controller to test.\r
+ @param RemainingDevicePath A pointer to the remaining portion of a device path.\r
\r
- @return EFI_SUCCESS - This driver can support the given controller\r
+ @return EFI_SUCCESS This driver can support the given controller\r
\r
**/\r
EFI_STATUS\r
/**\r
Start to management the controller passed in\r
\r
- @param This - A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.\r
- @param Controller - The handle of the controller to test.\r
- @param RemainingDevicePath - A pointer to the remaining portion of a device path.\r
+ @param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.\r
+ @param Controller The handle of the controller to test.\r
+ @param RemainingDevicePath A pointer to the remaining portion of a device path.\r
\r
- @return EFI_SUCCESS - Driver is started successfully\r
+ @return EFI_SUCCESS Driver is started successfully\r
\r
**/\r
EFI_STATUS\r
SerialDevice->IsaIo = IsaIo;\r
SerialDevice->ParentDevicePath = ParentDevicePath;\r
\r
- ADD_SERIAL_NAME (SerialDevice, IsaIo);\r
+ AddName (SerialDevice, IsaIo);\r
\r
for (Index = 0; SerialDevice->IsaIo->ResourceList->ResourceItem[Index].Type != EfiIsaAcpiResourceEndOfList; Index++) {\r
if (SerialDevice->IsaIo->ResourceList->ResourceItem[Index].Type == EfiIsaAcpiResourceIo) {\r
This->DriverBindingHandle,\r
Controller\r
);\r
- if (SerialDevice) {\r
- if (SerialDevice->DevicePath) {\r
+ if (SerialDevice != NULL) {\r
+ if (SerialDevice->DevicePath != NULL) {\r
gBS->FreePool (SerialDevice->DevicePath);\r
}\r
\r
/**\r
Disconnect this driver with the controller, uninstall related protocol instance\r
\r
- @param This - A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.\r
- @param Controller - The handle of the controller to test.\r
- @param NumberOfChildren - Number of child device.\r
- @param ChildHandleBuffer - A pointer to the remaining portion of a device path.\r
+ @param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.\r
+ @param Controller The handle of the controller to test.\r
+ @param NumberOfChildren Number of child device.\r
+ @param ChildHandleBuffer A pointer to the remaining portion of a device path.\r
\r
- @retval EFI_SUCCESS - Operation successfully\r
- @retval EFI_DEVICE_ERROR - Cannot stop the driver successfully\r
+ @retval EFI_SUCCESS Operation successfully\r
+ @retval EFI_DEVICE_ERROR Cannot stop the driver successfully\r
\r
**/\r
EFI_STATUS\r
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
);\r
} else {\r
- if (SerialDevice->DevicePath) {\r
+ if (SerialDevice->DevicePath != NULL) {\r
gBS->FreePool (SerialDevice->DevicePath);\r
}\r
\r
}\r
\r
/**\r
- Detect whether specific FIFO is full or not\r
+ Detect whether specific FIFO is full or not.\r
\r
- @param Fifo - A pointer to the Data Structure SERIAL_DEV_FIFO\r
+ @param Fifo A pointer to the Data Structure SERIAL_DEV_FIFO\r
\r
@return whether specific FIFO is full or not\r
\r
}\r
\r
/**\r
- Detect whether specific FIFO is empty or not\r
-\r
+ Detect whether specific FIFO is empty or not.\r
\r
- @param Fifo - A pointer to the Data Structure SERIAL_DEV_FIFO\r
+ @param Fifo A pointer to the Data Structure SERIAL_DEV_FIFO\r
\r
@return whether specific FIFO is empty or not\r
\r
}\r
\r
/**\r
- Add data to specific FIFO\r
+ Add data to specific FIFO.\r
\r
- @param Fifo - A pointer to the Data Structure SERIAL_DEV_FIFO\r
- @param Data - the data added to FIFO\r
+ @param Fifo A pointer to the Data Structure SERIAL_DEV_FIFO\r
+ @param Data the data added to FIFO\r
\r
- @retval EFI_SUCCESS - Add data to specific FIFO successfully\r
- @retval EFI_OUT_OF_RESOURCE - Failed to add data because FIFO is already full\r
+ @retval EFI_SUCCESS Add data to specific FIFO successfully\r
+ @retval EFI_OUT_OF_RESOURCE Failed to add data because FIFO is already full\r
\r
**/\r
EFI_STATUS\r
}\r
\r
/**\r
- Remove data from specific FIFO\r
+ Remove data from specific FIFO.\r
\r
- @param Fifo - A pointer to the Data Structure SERIAL_DEV_FIFO\r
- @param Data - the data removed from FIFO\r
+ @param Fifo A pointer to the Data Structure SERIAL_DEV_FIFO\r
+ @param Data the data removed from FIFO\r
\r
- @retval EFI_SUCCESS - Remove data from specific FIFO successfully\r
- @retval EFI_OUT_OF_RESOURCE - Failed to remove data because FIFO is empty\r
+ @retval EFI_SUCCESS Remove data from specific FIFO successfully\r
+ @retval EFI_OUT_OF_RESOURCE Failed to remove data because FIFO is empty\r
\r
**/\r
EFI_STATUS\r
/**\r
Reads and writes all avaliable data.\r
\r
- @param SerialDevice - The device to flush\r
+ @param SerialDevice The device to flush\r
\r
- @retval EFI_SUCCESS - Data was read/written successfully.\r
- @retval EFI_OUT_OF_RESOURCE - Failed because software receive FIFO is full. Note, when\r
+ @retval EFI_SUCCESS Data was read/written successfully.\r
+ @retval EFI_OUT_OF_RESOURCE Failed because software receive FIFO is full. Note, when\r
this happens, pending writes are not done.\r
\r
**/\r
//\r
// Flush incomming data to prevent a an overrun during a long write\r
//\r
- if (Lsr.Bits.DR && !ReceiveFifoFull) {\r
+ if ((Lsr.Bits.Dr == 1) && !ReceiveFifoFull) {\r
ReceiveFifoFull = IsaSerialFifoFull (&SerialDevice->Receive);\r
if (!ReceiveFifoFull) {\r
- if (Lsr.Bits.FIFOE || Lsr.Bits.OE || Lsr.Bits.PE || Lsr.Bits.FE || Lsr.Bits.BI) {\r
+ if (Lsr.Bits.FIFOe == 1 || Lsr.Bits.Oe == 1 || Lsr.Bits.Pe == 1 || Lsr.Bits.Fe == 1 || Lsr.Bits.Bi == 1) {\r
REPORT_STATUS_CODE_WITH_DEVICE_PATH (\r
EFI_ERROR_CODE,\r
EFI_P_EC_INPUT_ERROR | EFI_PERIPHERAL_SERIAL_PORT,\r
SerialDevice->DevicePath\r
);\r
- if (Lsr.Bits.FIFOE || Lsr.Bits.PE || Lsr.Bits.FE || Lsr.Bits.BI) {\r
+ if (Lsr.Bits.FIFOe == 1 || Lsr.Bits.Pe == 1|| Lsr.Bits.Fe == 1 || Lsr.Bits.Bi == 1) {\r
Data = READ_RBR (SerialDevice->IsaIo, SerialDevice->BaseAddress);\r
continue;\r
}\r
//\r
if (SerialDevice->HardwareFlowControl) {\r
Mcr.Data = READ_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress);\r
- Mcr.Bits.DTRC &= 0;\r
+ Mcr.Bits.DtrC &= 0;\r
WRITE_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress, Mcr.Data);\r
}\r
\r
//\r
if (SerialDevice->HardwareFlowControl) {\r
Mcr.Data = READ_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress);\r
- Mcr.Bits.DTRC |= 1;\r
+ Mcr.Bits.DtrC |= 1;\r
WRITE_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress, Mcr.Data);\r
}\r
\r
//\r
// Do the write\r
//\r
- if (Lsr.Bits.THRE && !IsaSerialFifoEmpty (&SerialDevice->Transmit)) {\r
+ if (Lsr.Bits.Thre == 1 && !IsaSerialFifoEmpty (&SerialDevice->Transmit)) {\r
//\r
// Make sure the transmit data will not be missed\r
//\r
// Send RTS\r
//\r
Mcr.Data = READ_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress);\r
- Mcr.Bits.RTS |= 1;\r
+ Mcr.Bits.Rts |= 1;\r
WRITE_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress, Mcr.Data);\r
//\r
// Wait for CTS\r
//\r
TimeOut = 0;\r
Msr.Data = READ_MSR (SerialDevice->IsaIo, SerialDevice->BaseAddress);\r
- while (!Msr.Bits.CTS) {\r
+ while (Msr.Bits.Cts == 0) {\r
gBS->Stall (TIMEOUT_STALL_INTERVAL);\r
TimeOut++;\r
if (TimeOut > 5) {\r
Msr.Data = READ_MSR (SerialDevice->IsaIo, SerialDevice->BaseAddress);\r
}\r
\r
- if (Msr.Bits.CTS) {\r
+ if (Msr.Bits.Cts == 1) {\r
IsaSerialFifoRemove (&SerialDevice->Transmit, &Data);\r
WRITE_THR (SerialDevice->IsaIo, SerialDevice->BaseAddress, Data);\r
}\r
// Assert RTS\r
//\r
Mcr.Data = READ_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress);\r
- Mcr.Bits.RTS &= 0;\r
+ Mcr.Bits.Rts &= 0;\r
WRITE_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress, Mcr.Data);\r
}\r
}\r
- } while (Lsr.Bits.THRE && !IsaSerialFifoEmpty (&SerialDevice->Transmit));\r
+ } while (Lsr.Bits.Thre == 1 && !IsaSerialFifoEmpty (&SerialDevice->Transmit));\r
}\r
\r
return EFI_SUCCESS;\r
// Interface Functions\r
//\r
/**\r
- Reset serial device\r
+ Reset serial device.\r
\r
- @param This - Pointer to EFI_SERIAL_IO_PROTOCOL\r
+ @param This Pointer to EFI_SERIAL_IO_PROTOCOL\r
\r
- @retval EFI_SUCCESS - Reset successfully\r
- @retval EFI_DEVICE_ERROR - Failed to reset\r
+ @retval EFI_SUCCESS Reset successfully\r
+ @retval EFI_DEVICE_ERROR Failed to reset\r
\r
**/\r
EFI_STATUS\r
// Make sure DLAB is 0.\r
//\r
Lcr.Data = READ_LCR (SerialDevice->IsaIo, SerialDevice->BaseAddress);\r
- Lcr.Bits.DLAB = 0;\r
+ Lcr.Bits.DLab = 0;\r
WRITE_LCR (SerialDevice->IsaIo, SerialDevice->BaseAddress, Lcr.Data);\r
\r
//\r
// Turn off all interrupts\r
//\r
Ier.Data = READ_IER (SerialDevice->IsaIo, SerialDevice->BaseAddress);\r
- Ier.Bits.RAVIE = 0;\r
- Ier.Bits.THEIE = 0;\r
- Ier.Bits.RIE = 0;\r
- Ier.Bits.MIE = 0;\r
+ Ier.Bits.Ravie = 0;\r
+ Ier.Bits.Theie = 0;\r
+ Ier.Bits.Rie = 0;\r
+ Ier.Bits.Mie = 0;\r
WRITE_IER (SerialDevice->IsaIo, SerialDevice->BaseAddress, Ier.Data);\r
\r
//\r
// Disable the FIFO.\r
//\r
- Fcr.Bits.TRFIFOE = 0;\r
+ Fcr.Bits.TrFIFOE = 0;\r
WRITE_FCR (SerialDevice->IsaIo, SerialDevice->BaseAddress, Fcr.Data);\r
\r
//\r
// Turn off loopback and disable device interrupt.\r
//\r
Mcr.Data = READ_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress);\r
- Mcr.Bits.OUT1 = 0;\r
- Mcr.Bits.OUT2 = 0;\r
- Mcr.Bits.LME = 0;\r
+ Mcr.Bits.Out1 = 0;\r
+ Mcr.Bits.Out2 = 0;\r
+ Mcr.Bits.Lme = 0;\r
WRITE_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress, Mcr.Data);\r
\r
//\r
//\r
// for 16550A enable FIFO, 16550 disable FIFO\r
//\r
- Fcr.Bits.TRFIFOE = 1;\r
- Fcr.Bits.RESETRF = 1;\r
- Fcr.Bits.RESETTF = 1;\r
+ Fcr.Bits.TrFIFOE = 1;\r
+ Fcr.Bits.ResetRF = 1;\r
+ Fcr.Bits.ResetTF = 1;\r
WRITE_FCR (SerialDevice->IsaIo, SerialDevice->BaseAddress, Fcr.Data);\r
\r
//\r
}\r
\r
/**\r
- Set new attributes to a serial device\r
+ Set new attributes to a serial device.\r
\r
- @param This - Pointer to EFI_SERIAL_IO_PROTOCOL\r
- @param BaudRate - The baudrate of the serial device\r
- @param ReceiveFifoDepth - The depth of receive FIFO buffer\r
- @param Timeout - The request timeout for a single char\r
- @param Parity - The type of parity used in serial device\r
- @param DataBits - Number of databits used in serial device\r
- @param StopBits - Number of stopbits used in serial device\r
+ @param This Pointer to EFI_SERIAL_IO_PROTOCOL\r
+ @param BaudRate The baudrate of the serial device\r
+ @param ReceiveFifoDepth The depth of receive FIFO buffer\r
+ @param Timeout The request timeout for a single char\r
+ @param Parity The type of parity used in serial device\r
+ @param DataBits Number of databits used in serial device\r
+ @param StopBits Number of stopbits used in serial device\r
\r
- @retval EFI_SUCCESS - The new attributes were set\r
- @retval EFI_INVALID_PARAMETERS - One or more attributes have an unsupported value\r
- @retval EFI_UNSUPPORTED - Data Bits can not set to 5 or 6\r
- @retval EFI_DEVICE_ERROR - The serial device is not functioning correctly (no return)\r
+ @retval EFI_SUCCESS The new attributes were set\r
+ @retval EFI_INVALID_PARAMETERS One or more attributes have an unsupported value\r
+ @retval EFI_UNSUPPORTED Data Bits can not set to 5 or 6\r
+ @retval EFI_DEVICE_ERROR The serial device is not functioning correctly (no return)\r
\r
**/\r
EFI_STATUS\r
((UINT32) BaudRate * 16),\r
&Remained\r
);\r
- if (Remained) {\r
+ if (Remained != 0) {\r
Divisor += 1;\r
}\r
\r
- if ((Divisor == 0) || (Divisor & 0xffff0000)) {\r
+ if ((Divisor == 0) || ((Divisor & 0xffff0000) != 0)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
// Put serial port on Divisor Latch Mode\r
//\r
Lcr.Data = READ_LCR (SerialDevice->IsaIo, SerialDevice->BaseAddress);\r
- Lcr.Bits.DLAB = 1;\r
+ Lcr.Bits.DLab = 1;\r
WRITE_LCR (SerialDevice->IsaIo, SerialDevice->BaseAddress, Lcr.Data);\r
\r
//\r
//\r
// Put serial port back in normal mode and set remaining attributes.\r
//\r
- Lcr.Bits.DLAB = 0;\r
+ Lcr.Bits.DLab = 0;\r
\r
switch (Parity) {\r
case NoParity:\r
- Lcr.Bits.PAREN = 0;\r
- Lcr.Bits.EVENPAR = 0;\r
- Lcr.Bits.STICPAR = 0;\r
+ Lcr.Bits.ParEn = 0;\r
+ Lcr.Bits.EvenPar = 0;\r
+ Lcr.Bits.SticPar = 0;\r
break;\r
\r
case EvenParity:\r
- Lcr.Bits.PAREN = 1;\r
- Lcr.Bits.EVENPAR = 1;\r
- Lcr.Bits.STICPAR = 0;\r
+ Lcr.Bits.ParEn = 1;\r
+ Lcr.Bits.EvenPar = 1;\r
+ Lcr.Bits.SticPar = 0;\r
break;\r
\r
case OddParity:\r
- Lcr.Bits.PAREN = 1;\r
- Lcr.Bits.EVENPAR = 0;\r
- Lcr.Bits.STICPAR = 0;\r
+ Lcr.Bits.ParEn = 1;\r
+ Lcr.Bits.EvenPar = 0;\r
+ Lcr.Bits.SticPar = 0;\r
break;\r
\r
case SpaceParity:\r
- Lcr.Bits.PAREN = 1;\r
- Lcr.Bits.EVENPAR = 1;\r
- Lcr.Bits.STICPAR = 1;\r
+ Lcr.Bits.ParEn = 1;\r
+ Lcr.Bits.EvenPar = 1;\r
+ Lcr.Bits.SticPar = 1;\r
break;\r
\r
case MarkParity:\r
- Lcr.Bits.PAREN = 1;\r
- Lcr.Bits.EVENPAR = 0;\r
- Lcr.Bits.STICPAR = 1;\r
+ Lcr.Bits.ParEn = 1;\r
+ Lcr.Bits.EvenPar = 0;\r
+ Lcr.Bits.SticPar = 1;\r
break;\r
\r
default:\r
\r
switch (StopBits) {\r
case OneStopBit:\r
- Lcr.Bits.STOPB = 0;\r
+ Lcr.Bits.StopB = 0;\r
break;\r
\r
case OneFiveStopBits:\r
case TwoStopBits:\r
- Lcr.Bits.STOPB = 1;\r
+ Lcr.Bits.StopB = 1;\r
break;\r
\r
default:\r
//\r
// DataBits\r
//\r
- Lcr.Bits.SERIALDB = (UINT8) ((DataBits - 5) & 0x03);\r
+ Lcr.Bits.SerialDB = (UINT8) ((DataBits - 5) & 0x03);\r
WRITE_LCR (SerialDevice->IsaIo, SerialDevice->BaseAddress, Lcr.Data);\r
\r
//\r
}\r
}\r
\r
- if (SerialDevice->DevicePath) {\r
+ if (SerialDevice->DevicePath != NULL) {\r
gBS->FreePool (SerialDevice->DevicePath);\r
}\r
\r
}\r
\r
/**\r
- Set Control Bits\r
+ Set Control Bits.\r
\r
- @param This - Pointer to EFI_SERIAL_IO_PROTOCOL\r
- @param Control - Control bits that can be settable\r
+ @param This Pointer to EFI_SERIAL_IO_PROTOCOL\r
+ @param Control Control bits that can be settable\r
\r
- @retval EFI_SUCCESS - New Control bits were set successfully\r
- @retval EFI_UNSUPPORTED - The Control bits wanted to set are not supported\r
+ @retval EFI_SUCCESS New Control bits were set successfully\r
+ @retval EFI_UNSUPPORTED The Control bits wanted to set are not supported\r
\r
**/\r
EFI_STATUS\r
//\r
// first determine the parameter is invalid\r
//\r
- if (Control & 0xffff8ffc) {\r
+ if ((Control & 0xffff8ffc) != 0) {\r
return EFI_UNSUPPORTED;\r
}\r
\r
Tpl = gBS->RaiseTPL (TPL_NOTIFY);\r
\r
Mcr.Data = READ_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress);\r
- Mcr.Bits.DTRC = 0;\r
- Mcr.Bits.RTS = 0;\r
- Mcr.Bits.LME = 0;\r
+ Mcr.Bits.DtrC = 0;\r
+ Mcr.Bits.Rts = 0;\r
+ Mcr.Bits.Lme = 0;\r
SerialDevice->SoftwareLoopbackEnable = FALSE;\r
SerialDevice->HardwareFlowControl = FALSE;\r
\r
- if (Control & EFI_SERIAL_DATA_TERMINAL_READY) {\r
- Mcr.Bits.DTRC = 1;\r
+ if ((Control & EFI_SERIAL_DATA_TERMINAL_READY) == EFI_SERIAL_DATA_TERMINAL_READY) {\r
+ Mcr.Bits.DtrC = 1;\r
}\r
\r
- if (Control & EFI_SERIAL_REQUEST_TO_SEND) {\r
- Mcr.Bits.RTS = 1;\r
+ if ((Control & EFI_SERIAL_REQUEST_TO_SEND) == EFI_SERIAL_REQUEST_TO_SEND) {\r
+ Mcr.Bits.Rts = 1;\r
}\r
\r
- if (Control & EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE) {\r
- Mcr.Bits.LME = 1;\r
+ if ((Control & EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE) == EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE) {\r
+ Mcr.Bits.Lme = 1;\r
}\r
\r
- if (Control & EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE) {\r
+ if ((Control & EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE) == EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE) {\r
SerialDevice->HardwareFlowControl = TRUE;\r
}\r
\r
WRITE_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress, Mcr.Data);\r
\r
- if (Control & EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE) {\r
+ if ((Control & EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE) == EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE) {\r
SerialDevice->SoftwareLoopbackEnable = TRUE;\r
}\r
\r
}\r
\r
/**\r
- Get ControlBits\r
+ Get ControlBits.\r
\r
- @param This - Pointer to EFI_SERIAL_IO_PROTOCOL\r
- @param Control - Control signals of the serial device\r
+ @param This Pointer to EFI_SERIAL_IO_PROTOCOL\r
+ @param Control Control signals of the serial device\r
\r
- @retval EFI_SUCCESS - Get Control signals successfully\r
+ @retval EFI_SUCCESS Get Control signals successfully\r
\r
**/\r
EFI_STATUS\r
//\r
Msr.Data = READ_MSR (SerialDevice->IsaIo, SerialDevice->BaseAddress);\r
\r
- if (Msr.Bits.CTS) {\r
+ if (Msr.Bits.Cts == 1) {\r
*Control |= EFI_SERIAL_CLEAR_TO_SEND;\r
}\r
\r
- if (Msr.Bits.DSR) {\r
+ if (Msr.Bits.Dsr == 1) {\r
*Control |= EFI_SERIAL_DATA_SET_READY;\r
}\r
\r
- if (Msr.Bits.RI) {\r
+ if (Msr.Bits.Ri == 1) {\r
*Control |= EFI_SERIAL_RING_INDICATE;\r
}\r
\r
- if (Msr.Bits.DCD) {\r
+ if (Msr.Bits.Dcd == 1) {\r
*Control |= EFI_SERIAL_CARRIER_DETECT;\r
}\r
//\r
//\r
Mcr.Data = READ_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress);\r
\r
- if (Mcr.Bits.DTRC) {\r
+ if (Mcr.Bits.DtrC == 1) {\r
*Control |= EFI_SERIAL_DATA_TERMINAL_READY;\r
}\r
\r
- if (Mcr.Bits.RTS) {\r
+ if (Mcr.Bits.Rts == 1) {\r
*Control |= EFI_SERIAL_REQUEST_TO_SEND;\r
}\r
\r
- if (Mcr.Bits.LME) {\r
+ if (Mcr.Bits.Lme == 1) {\r
*Control |= EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE;\r
}\r
\r
}\r
\r
/**\r
- Write the specified number of bytes to serial device\r
+ Write the specified number of bytes to serial device.\r
\r
- @param This - Pointer to EFI_SERIAL_IO_PROTOCOL\r
- @param BufferSize - On input the size of Buffer, on output the amount of\r
+ @param This Pointer to EFI_SERIAL_IO_PROTOCOL\r
+ @param BufferSize On input the size of Buffer, on output the amount of\r
data actually written\r
- @param Buffer - The buffer of data to write\r
+ @param Buffer The buffer of data to write\r
\r
- @retval EFI_SUCCESS - The data were written successfully\r
- @retval EFI_DEVICE_ERROR - The device reported an error\r
- @retval EFI_TIMEOUT - The write operation was stopped due to timeout\r
+ @retval EFI_SUCCESS The data were written successfully\r
+ @retval EFI_DEVICE_ERROR The device reported an error\r
+ @retval EFI_TIMEOUT The write operation was stopped due to timeout\r
\r
**/\r
EFI_STATUS\r
return EFI_SUCCESS;\r
}\r
\r
- if (!Buffer) {\r
+ if (Buffer == NULL) {\r
REPORT_STATUS_CODE_WITH_DEVICE_PATH (\r
EFI_ERROR_CODE,\r
EFI_P_EC_OUTPUT_ERROR | EFI_PERIPHERAL_SERIAL_PORT,\r
}\r
\r
/**\r
- Read the specified number of bytes from serial device\r
+ Read the specified number of bytes from serial device.\r
\r
- @param This - Pointer to EFI_SERIAL_IO_PROTOCOL\r
- @param BufferSize - On input the size of Buffer, on output the amount of\r
- data returned in buffer\r
- @param Buffer - The buffer to return the data into\r
+ @param This Pointer to EFI_SERIAL_IO_PROTOCOL\r
+ @param BufferSize On input the size of Buffer, on output the amount of\r
+ data returned in buffer\r
+ @param Buffer The buffer to return the data into\r
\r
- @retval EFI_SUCCESS - The data were read successfully\r
- @retval EFI_DEVICE_ERROR - The device reported an error\r
- @retval EFI_TIMEOUT - The read operation was stopped due to timeout\r
+ @retval EFI_SUCCESS The data were read successfully\r
+ @retval EFI_DEVICE_ERROR The device reported an error\r
+ @retval EFI_TIMEOUT The read operation was stopped due to timeout\r
\r
**/\r
EFI_STATUS\r
return EFI_SUCCESS;\r
}\r
\r
- if (!Buffer) {\r
+ if (Buffer == NULL) {\r
return EFI_DEVICE_ERROR;\r
}\r
\r
}\r
\r
/**\r
- Use scratchpad register to test if this serial port is present\r
+ Use scratchpad register to test if this serial port is present.\r
\r
- @param SerialDevice - Pointer to serial device structure\r
+ @param SerialDevice Pointer to serial device structure\r
\r
@return if this serial port is present\r
**/\r
}\r
\r
/**\r
- Use IsaIo protocol to read serial port\r
+ Use IsaIo protocol to read serial port.\r
\r
- @param IsaIo - Pointer to EFI_ISA_IO_PROTOCOL instance\r
- @param BaseAddress - Serial port register group base address\r
- @param Offset - Offset in register group\r
+ @param IsaIo Pointer to EFI_ISA_IO_PROTOCOL instance\r
+ @param BaseAddress Serial port register group base address\r
+ @param Offset Offset in register group\r
\r
@return Data read from serial port\r
\r
}\r
\r
/**\r
- Use IsaIo protocol to write serial port\r
+ Use IsaIo protocol to write serial port.\r
\r
- @param IsaIo - Pointer to EFI_ISA_IO_PROTOCOL instance\r
- @param BaseAddress - Serial port register group base address\r
- @param Offset - Offset in register group\r
- @param Data - data which is to be written to some serial port register\r
+ @param IsaIo Pointer to EFI_ISA_IO_PROTOCOL instance\r
+ @param BaseAddress Serial port register group base address\r
+ @param Offset Offset in register group\r
+ @param Data data which is to be written to some serial port register\r
\r
**/\r
VOID\r