audk/MdeModulePkg/Bus/Pci
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
..
EhciDxe MdeModulePkg/EhciDxe: Use BaseLib linked list iteration macros 2020-04-21 02:20:51 +00:00
EhciPei MdeModulePkg/EhciPei: Use BaseLib linked list iteration macros 2020-04-21 02:20:51 +00:00
IdeBusPei MdeModulePkg: Remove BootInRecoveryMode PPI 2019-05-09 20:52:41 +08:00
IncompatiblePciDeviceSupportDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
NonDiscoverablePciDeviceDxe MdeModulePkg/NonDiscoverablePciDeviceDxe: Add NULL pointer check 2020-09-18 02:45:21 +00:00
NvmExpressDxe MdeModulePkg/NvmExpressDxe: Fix wrong queue size for async IO queues 2019-11-20 02:47:19 +00:00
NvmExpressPei MdeModulePkg/NvmExpressPei: Fix Opal S3 unlock issue 2019-10-30 08:17:49 +08:00
PciBusDxe MdeModulePkg: Issues reported by ECC in EDK2. 2020-02-14 07:27:28 +00:00
PciHostBridgeDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
PciSioSerialDxe MdeModulePkg/PciSioSerialDxe: Flush Tx before config change 2020-12-19 01:29:44 +00:00
SataControllerDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
SdMmcPciHcDxe MdeModulePkg/SdMmcPciHcDxe: Fix PIO transfer mode 2020-03-05 01:51:59 +00:00
SdMmcPciHcPei MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
UfsPciHcDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
UfsPciHcPei MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
UhciDxe MdeModulePkg: Fix spelling mistake for occurred 2020-08-19 00:54:23 +00:00
UhciPei MdeModulePkg/UhciPei: Initialize the variable RequestMap 2019-11-04 08:56:12 +08:00
XhciDxe MdeModulePkg/XhciDxe: Retry device slot init on failure 2020-11-02 01:30:24 +00:00
XhciPei MdeModulePkg/XhciPei: Fix Aligned Page Allocation 2019-10-21 08:59:36 +08:00