audk/MdeModulePkg
Michael D Kinney 6932f4bfe5 MdeModulePkg/PciSioSerialDxe: Flush Tx before config change
https://bugzilla.tianocore.org/show_bug.cgi?id=3114

Add logic to flush all UART transmit buffers if there is a
config change from Reset(), SetAttributes() or SetControl().
Use a timeout in the flush operation, so the system can
continue to boot if the transmit buffers can not be
flushed for any reason.

This change prevents lost characters on serial debug logs
and serial consoles when a config change is made.  It also
prevents a UART from getting into a bad state or reporting
error status due to characters being transmitted at the same
time registers are updated with new communications settings.

Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
2020-12-19 01:29:44 +00:00
..
Application MdeModulePkg/CapsuleApp: Fix spelling mistake 2020-08-07 18:53:01 +00:00
Bus MdeModulePkg/PciSioSerialDxe: Flush Tx before config change 2020-12-19 01:29:44 +00:00
Core MdeModulePkg: Fix undefined reference to memcpy with XCODE5 2020-12-04 02:59:38 +00:00
Include MdeModulePkg: Define the VarCheckPolicyLib and SMM interface 2020-11-17 01:03:43 +00:00
Library MdeModulePkg/FileExplorerLib: remove redundant null pointer check 2020-12-04 05:56:09 +00:00
Logo MdeModulePkg/Logo:Add RISCV64 architecture 2020-05-07 03:17:15 +00:00
Test MdeModulePkg/Variable/RuntimeDxe: Add Variable Lock Protocol Unit Tests 2020-12-15 06:26:34 +00:00
Universal MdeModulePkg/Variable/RuntimeDxe: Add Variable Lock Protocol Unit Tests 2020-12-15 06:26:34 +00:00
MdeModulePkg.ci.yaml MdeModulePkg: Define the VariablePolicyLib 2020-11-17 01:03:43 +00:00
MdeModulePkg.dec MdeModulePkg/Core/Dxe: limit FwVol encapsulation section recursion 2020-11-21 01:40:53 +00:00
MdeModulePkg.dsc MdeModulePkg: Define the VarCheckPolicyLib and SMM interface 2020-11-17 01:03:43 +00:00
MdeModulePkg.uni MdeModulePkg/Core/Dxe: limit FwVol encapsulation section recursion 2020-11-21 01:40:53 +00:00
MdeModulePkgExtra.uni MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00