MdeModulePkg/ConPlatform: Support GOP created as PCI's grandson
authorRuiyu Ni <ruiyu.ni@intel.com>
Thu, 16 Mar 2017 05:14:25 +0000 (13:14 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Fri, 17 Mar 2017 04:25:14 +0000 (12:25 +0800)
commit56dee83a5503a30628cb101addff97d60243f5c2
treed62e10f758e006422a76d436a37f7f5c5c092325
parentd555699b3ccda17b79abc436d191228921d2631c
MdeModulePkg/ConPlatform: Support GOP created as PCI's grandson

The original logic assumes GOP hande is son of PCI handle but it
is not always true.
Below wordings are from UEFI Spec:
If a graphics device supports multiple frame buffers, then
handles for the frame buffers must be created first, and then the
handles for the video output devices can be created as children of
the frame buffer handles.

So the GOP handle could be grandson of the PCI handle.

EfiBootManagerGetGopDevicePath(VideoController) is used to fix
this bug.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatform.c
MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatform.h
MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf