On 01/15/16 16:42, Ard Biesheuvel wrote:
> SerialDxe was migrated to MdeModulePkg from EmbeddedPkg, and all
> users of the latter were moved to the former. However, the new
> version is not quite identical to the original, in ways that break
> ARM platforms that use the PL011 driver.
> 
> In SerialReset(), the serial port is reset to its default values,
> but the defaults used by the new version for ReceiveFifoDepth and
> Timeout deviate from the original values. So put them back.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ard Biesheuvel <[email protected]>
> ---
>  MdeModulePkg/Universal/SerialDxe/SerialIo.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/MdeModulePkg/Universal/SerialDxe/SerialIo.c 
> b/MdeModulePkg/Universal/SerialDxe/SerialIo.c
> index de928d1719e9..9e9db28ce5cc 100644
> --- a/MdeModulePkg/Universal/SerialDxe/SerialIo.c
> +++ b/MdeModulePkg/Universal/SerialDxe/SerialIo.c
> @@ -233,8 +233,8 @@ SerialReset (
>    //
>    // Set the Serial I/O mode
>    //
> -  This->Mode->ReceiveFifoDepth  = 1;
> -  This->Mode->Timeout           = 0;
> +  This->Mode->ReceiveFifoDepth  = 0;
> +  This->Mode->Timeout           = 1000000;
>    This->Mode->BaudRate          = PcdGet64 (PcdUartDefaultBaudRate);
>    This->Mode->DataBits          = (UINT32) PcdGet8 (PcdUartDefaultDataBits);
>    This->Mode->Parity            = (UINT32) PcdGet8 (PcdUartDefaultParity);
> 

Great; we seem to agree on what exactly triggered / exposed this issue.

Alas :), I tend to disagree with this patch, as a whole. The Timeout
change is good, but the ReceiveFifoDepth change would diverge from the
UEFI spec.

SerialDxe does need a fix: Timeout has to be set to 1 million both in
the Reset() protocol member, and in the mSerialIoMode global variable.

However, the ReceiveFifoDepth issue has to be fixed in the *client* of
the serial IO protocol; that is, TerminalDxe.

Thanks
Laszlo
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to