audk/MdeModulePkg/Bus
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
..
Ata MdeModulePkg/AtaAtapiPassThru: Trace ATA packets 2020-11-11 02:27:59 +00:00
I2c/I2cDxe MdeModulePkg/Bus/I2c: Fix few typos 2020-02-10 22:30:07 +00:00
Isa MdeModulePkg/Bus/Isa: Fix various typos 2020-02-10 22:30:07 +00:00
Pci MdeModulePkg/PciSioSerialDxe: Flush Tx before config change 2020-12-19 01:29:44 +00:00
Scsi MdeModulePkg/Bus/Scsi: Fix various typos 2020-02-10 22:30:07 +00:00
Sd MdeModulePkg/SdDxe: Check the Token to avoid null pointer 2020-03-27 01:04:25 +00:00
Ufs MdeModulePkg/UfsPassThruDxe: Use BaseLib linked list iteration macros 2020-04-21 02:20:51 +00:00
Usb MdeModulePkg/Usb: Fix various typos 2020-02-10 22:30:07 +00:00