From 9de33db48b8e24aa8fa446a6e6983b4e40126fe5 Mon Sep 17 00:00:00 2001 From: niruiyu Date: Mon, 13 Jun 2011 05:16:02 +0000 Subject: 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 --- MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c | 6 +----- MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.h | 4 +--- .../Universal/Console/ConSplitterDxe/ConSplitterGraphics.c | 9 +-------- 3 files changed, 3 insertions(+), 16 deletions(-) (limited to 'MdeModulePkg/Universal/Console/ConSplitterDxe') diff --git a/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c b/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c index 57704d8..8b9b2e7 100644 --- a/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c +++ b/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c @@ -16,7 +16,7 @@ never removed. Such design ensures sytem function well during none console device situation. -Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.
This program and the accompanying materials 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 @@ -169,7 +169,6 @@ GLOBAL_REMOVE_IF_UNREFERENCED TEXT_OUT_SPLITTER_PRIVATE_DATA mConOut = { (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *) NULL, 0, 0, - TRUE, 0, (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, 0, 0, - TRUE, 0, (TEXT_OUT_AND_GOP_DATA *) NULL, @@ -2832,9 +2830,7 @@ Done: // // Force GraphicsOutput mode to be set, - // regardless whether the console is in EfiConsoleControlScreenGraphics or EfiConsoleControlScreenText mode // - Private->HardwareNeedsStarting = TRUE; Mode = &Private->GraphicsOutputModeBuffer[CurrentIndex]; if ((GraphicsOutput != NULL) && diff --git a/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.h b/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.h index 1ab8264..4ac4f8d 100644 --- a/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.h +++ b/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.h @@ -1,7 +1,7 @@ /** @file Private data structures for the Console Splitter driver -Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.
This program and the accompanying materials 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 @@ -203,7 +203,6 @@ typedef struct { EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *GraphicsOutputModeBuffer; UINTN CurrentNumberOfGraphicsOutput; UINTN CurrentNumberOfUgaDraw; - BOOLEAN HardwareNeedsStarting; UINTN CurrentNumberOfConsoles; TEXT_OUT_AND_GOP_DATA *TextOutList; @@ -1766,7 +1765,6 @@ ConSplitterGrowBuffer ( @retval EFI_SUCCESS Mode information returned. @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_NOT_STARTED Video display is not initialized. Call SetMode () @retval EFI_INVALID_PARAMETER One of the input args was NULL. @retval EFI_OUT_OF_RESOURCES No resource available. diff --git a/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterGraphics.c b/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterGraphics.c index 6a09de5..89cef72 100644 --- a/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterGraphics.c +++ b/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterGraphics.c @@ -1,7 +1,7 @@ /** @file Support for Graphics output spliter. -Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.
This program and the accompanying materials 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 @@ -30,7 +30,6 @@ CHAR16 mCrLfString[3] = { CHAR_CARRIAGE_RETURN, CHAR_LINEFEED, CHAR_NULL }; @retval EFI_SUCCESS Mode information returned. @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_NOT_STARTED Video display is not initialized. Call SetMode () @retval EFI_INVALID_PARAMETER One of the input args was NULL. @retval EFI_OUT_OF_RESOURCES No resource available. @@ -55,10 +54,6 @@ ConSplitterGraphicsOutputQueryMode ( // Private = GRAPHICS_OUTPUT_SPLITTER_PRIVATE_DATA_FROM_THIS (This); - if (Private->HardwareNeedsStarting) { - return EFI_NOT_STARTED; - } - *Info = AllocatePool (sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION)); if (*Info == NULL) { 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. // - Private->HardwareNeedsStarting = FALSE; - return ReturnStatus; } -- cgit v1.1