mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-27 07:34:06 +02:00
Fix the issue that the GOP produced by ConSplitter requires SetMode before GetMode, otherwise EFI_NOT_STARTED is returned from GetMode.
Signed-off-by: niruiyu Reviewed-by: xdu2 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11815 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
77df6ed94e
commit
9de33db48b
@ -16,7 +16,7 @@
|
|||||||
never removed. Such design ensures sytem function well during none console
|
never removed. Such design ensures sytem function well during none console
|
||||||
device situation.
|
device situation.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
@ -169,7 +169,6 @@ GLOBAL_REMOVE_IF_UNREFERENCED TEXT_OUT_SPLITTER_PRIVATE_DATA mConOut = {
|
|||||||
(EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *) NULL,
|
(EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *) NULL,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
TRUE,
|
|
||||||
|
|
||||||
0,
|
0,
|
||||||
(TEXT_OUT_AND_GOP_DATA *) NULL,
|
(TEXT_OUT_AND_GOP_DATA *) NULL,
|
||||||
@ -225,7 +224,6 @@ GLOBAL_REMOVE_IF_UNREFERENCED TEXT_OUT_SPLITTER_PRIVATE_DATA mStdErr = {
|
|||||||
(EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *) NULL,
|
(EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *) NULL,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
TRUE,
|
|
||||||
|
|
||||||
0,
|
0,
|
||||||
(TEXT_OUT_AND_GOP_DATA *) NULL,
|
(TEXT_OUT_AND_GOP_DATA *) NULL,
|
||||||
@ -2832,9 +2830,7 @@ Done:
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Force GraphicsOutput mode to be set,
|
// Force GraphicsOutput mode to be set,
|
||||||
// regardless whether the console is in EfiConsoleControlScreenGraphics or EfiConsoleControlScreenText mode
|
|
||||||
//
|
//
|
||||||
Private->HardwareNeedsStarting = TRUE;
|
|
||||||
|
|
||||||
Mode = &Private->GraphicsOutputModeBuffer[CurrentIndex];
|
Mode = &Private->GraphicsOutputModeBuffer[CurrentIndex];
|
||||||
if ((GraphicsOutput != NULL) &&
|
if ((GraphicsOutput != NULL) &&
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/** @file
|
/** @file
|
||||||
Private data structures for the Console Splitter driver
|
Private data structures for the Console Splitter driver
|
||||||
|
|
||||||
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
@ -203,7 +203,6 @@ typedef struct {
|
|||||||
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *GraphicsOutputModeBuffer;
|
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *GraphicsOutputModeBuffer;
|
||||||
UINTN CurrentNumberOfGraphicsOutput;
|
UINTN CurrentNumberOfGraphicsOutput;
|
||||||
UINTN CurrentNumberOfUgaDraw;
|
UINTN CurrentNumberOfUgaDraw;
|
||||||
BOOLEAN HardwareNeedsStarting;
|
|
||||||
|
|
||||||
UINTN CurrentNumberOfConsoles;
|
UINTN CurrentNumberOfConsoles;
|
||||||
TEXT_OUT_AND_GOP_DATA *TextOutList;
|
TEXT_OUT_AND_GOP_DATA *TextOutList;
|
||||||
@ -1766,7 +1765,6 @@ ConSplitterGrowBuffer (
|
|||||||
@retval EFI_SUCCESS Mode information returned.
|
@retval EFI_SUCCESS Mode information returned.
|
||||||
@retval EFI_BUFFER_TOO_SMALL The Info buffer was too small.
|
@retval EFI_BUFFER_TOO_SMALL The Info buffer was too small.
|
||||||
@retval EFI_DEVICE_ERROR A hardware error occurred trying to retrieve the video mode.
|
@retval EFI_DEVICE_ERROR A hardware error occurred trying to retrieve the video mode.
|
||||||
@retval EFI_NOT_STARTED Video display is not initialized. Call SetMode ()
|
|
||||||
@retval EFI_INVALID_PARAMETER One of the input args was NULL.
|
@retval EFI_INVALID_PARAMETER One of the input args was NULL.
|
||||||
@retval EFI_OUT_OF_RESOURCES No resource available.
|
@retval EFI_OUT_OF_RESOURCES No resource available.
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/** @file
|
/** @file
|
||||||
Support for Graphics output spliter.
|
Support for Graphics output spliter.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
@ -30,7 +30,6 @@ CHAR16 mCrLfString[3] = { CHAR_CARRIAGE_RETURN, CHAR_LINEFEED, CHAR_NULL };
|
|||||||
@retval EFI_SUCCESS Mode information returned.
|
@retval EFI_SUCCESS Mode information returned.
|
||||||
@retval EFI_BUFFER_TOO_SMALL The Info buffer was too small.
|
@retval EFI_BUFFER_TOO_SMALL The Info buffer was too small.
|
||||||
@retval EFI_DEVICE_ERROR A hardware error occurred trying to retrieve the video mode.
|
@retval EFI_DEVICE_ERROR A hardware error occurred trying to retrieve the video mode.
|
||||||
@retval EFI_NOT_STARTED Video display is not initialized. Call SetMode ()
|
|
||||||
@retval EFI_INVALID_PARAMETER One of the input args was NULL.
|
@retval EFI_INVALID_PARAMETER One of the input args was NULL.
|
||||||
@retval EFI_OUT_OF_RESOURCES No resource available.
|
@retval EFI_OUT_OF_RESOURCES No resource available.
|
||||||
|
|
||||||
@ -55,10 +54,6 @@ ConSplitterGraphicsOutputQueryMode (
|
|||||||
//
|
//
|
||||||
Private = GRAPHICS_OUTPUT_SPLITTER_PRIVATE_DATA_FROM_THIS (This);
|
Private = GRAPHICS_OUTPUT_SPLITTER_PRIVATE_DATA_FROM_THIS (This);
|
||||||
|
|
||||||
if (Private->HardwareNeedsStarting) {
|
|
||||||
return EFI_NOT_STARTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
*Info = AllocatePool (sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION));
|
*Info = AllocatePool (sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION));
|
||||||
if (*Info == NULL) {
|
if (*Info == NULL) {
|
||||||
return EFI_OUT_OF_RESOURCES;
|
return EFI_OUT_OF_RESOURCES;
|
||||||
@ -164,8 +159,6 @@ ConSplitterGraphicsOutputSetMode (
|
|||||||
// These items will be initialized/updated when a new GOP device is added into ConsoleSplitter.
|
// These items will be initialized/updated when a new GOP device is added into ConsoleSplitter.
|
||||||
//
|
//
|
||||||
|
|
||||||
Private->HardwareNeedsStarting = FALSE;
|
|
||||||
|
|
||||||
return ReturnStatus;
|
return ReturnStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user