audk/MdeModulePkg/Bus/Pci
Ray Ni 0fa92d5839 MdeModulePkg/PciBus: Fix a bug PPB MEM32 BAR isn't restored sometimes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1505

When a device under PPB contains option ROM but doesn't require 32bit
MMIO, ProgrameUpstreamBridgeForRom() cannot correctly restore the
PPB MEM32 RANGE BAR. It causes the 32bit MMIO conflict which may
cause system hangs in boot.

The root cause is when ProgrameUpstreamBridgeForRom() calls
ProgramPpbApperture() to restore the PPB MEM32 RANGE BAR, the
ProgramPpbApperture() skips to program the BAR when the resource
length is 0.

This patch fixes this issue by not calling ProgramPpbApperture().
Instead, it directly programs the PPB MEM32 RANGE BAR.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
2019-02-14 14:56:57 +08:00
..
EhciDxe Revert "EhciDxe: Use common buffer for AsyncInterruptTransfer" 2018-11-07 22:48:01 +08:00
EhciPei MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
IdeBusPei MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
IncompatiblePciDeviceSupportDxe MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
NonDiscoverablePciDeviceDxe MdeModulePkg/NonDiscoverablePciDevice: Remove the redundant check 2019-01-08 09:59:30 +08:00
NvmExpressDxe MdeModulePkg/NvmExpressDxe: Report StatusCode for device init failure 2019-02-13 11:31:09 +08:00
NvmExpressPei MdeModulePkg/NvmExpressPei: Refine data buffer & len check in PassThru 2018-11-13 20:54:44 +08:00
PciBusDxe MdeModulePkg/PciBus: Fix a bug PPB MEM32 BAR isn't restored sometimes 2019-02-14 14:56:57 +08:00
PciHostBridgeDxe MdeModulePkg/PciHostBridge: Move declaration of mIoMmu to header file 2018-09-26 12:12:53 +08:00
PciSioSerialDxe MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
SataControllerDxe MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
SdMmcPciHcDxe MdeModulePkg/SdMmcPciHcDxe: Update comment for spec compliance status 2019-02-01 16:39:23 +08:00
SdMmcPciHcPei MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
UfsPciHcDxe MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
UfsPciHcPei MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
UhciDxe MdeModulePkg/Usb: Make sure data from HW is no more than expected 2018-10-17 11:03:58 +08:00
UhciPei MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
XhciDxe Revert "XhciDxe: Use common buffer for AsyncInterruptTransfer" 2018-11-07 22:48:07 +08:00
XhciPei MdeModulePkg Xhci: Handle value 5 in Port Speed field of PORTSC 2018-10-23 11:17:32 +08:00