Re: [edk2] It seems something wrong inGraphicsConsoleControllerDriverStart() when user defined resolution is notsupported

2015-11-17 Thread winddy
Hi RuiYu,
  patch file is attached. 
  Thanks.


--
BR
winddy_zhang


 




-- Original --
From:  "Ni, Ruiyu";<ruiyu...@intel.com>;
Date:  Tue, Nov 17, 2015 05:14 PM
To:  "winddy"<winddy_zh...@foxmail.com>; "edk2-devel"<edk2-devel@lists.01.org>; 

Subject:  RE: [edk2] It seems something wrong 
inGraphicsConsoleControllerDriverStart() when user definedresolution is 
notsupported



Winddy,
Thanks for reporting this issue back.
I agree with your analysis. Could you please submit a patch to correct this?

Regards,
Ray

-Original Message-
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of winddy
Sent: Tuesday, November 17, 2015 2:19 PM
To: edk2-devel <edk2-devel@lists.01.org>
Subject: [edk2] It seems something wrong in 
GraphicsConsoleControllerDriverStart() when user defined resolution is not 
supported

Dear Experts,
   Now I meet a problem: my GOP driver has something wrong that it only 
supports 800x600 and 640x480, but I defined screen resolution as 1024x768 
before (PcdVideoHorizontalResolution, PcdVideoVerticalResolution). When it 
boots to shell, screen scroll function seems wrong.
   I think the reason is that: variable HorizontalResolution and 
VerticalResolution are not set correctly.
   In line 473, Console driver will try to set OEM resolution, if failed, then 
try 800x600, if still failed, uses current resolution. in my case, 1024x768 
failed, 800x600 success, but HorizontalResolution and VerticalResolution are 
still 1024, 768. so InitializeGraphicsConsoleTextMode() may set wrong text mode.
   So I think solution is that: remove the result check of set mode 800x600 
(see below, line 490). Whatever 800x600 is set successfully or not, we should 
update HorizontalResolution, VerticalResolution, and CurrentMode(ModeNumber) to 
match the real setting.
   After removed it, screen scroll function is OK under shell. (my 
GraphicsConsole driver is older, but I think the problem is similar.)
   Thanks.




//
// if not supporting current mode, try 800x600 which is required by 
UEFI/EFI spec
//
Status = CheckModeSupported (
 Private->GraphicsOutput,
 800,
 600,
 
 );
Mode = Private->GraphicsOutput->Mode;
//-if (EFI_ERROR (Status) && Mode->MaxMode != 0) {   // 
<--- remove this line.
  //
  // Set default mode failed or device don't support default mode, then 
get the current mode information
  //
  HorizontalResolution = Mode->Info->HorizontalResolution;
  VerticalResolution = Mode->Info->VerticalResolution;
  ModeNumber = Mode->Mode;
//-}
   // <--- remove this line.

















--
BR
winddy_zhang
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] It seems something wrong inGraphicsConsoleControllerDriverStart() when user defined resolution is notsupported

2015-11-17 Thread Andrew Fish

> On Nov 17, 2015, at 5:31 PM, winddy <winddy_zh...@foxmail.com> wrote:
> 
> Hi RuiYu,
>  patch file is attached. 

I don't see the attachment. I've had trouble attaching patches to the mailing 
list too?

Thanks,

Andrew Fish

>  Thanks.
> 
> 
> --
> BR
> winddy_zhang
> 
> 
> 
> 
> 
> 
> 
> -- Original --
> From:  "Ni, Ruiyu";<ruiyu...@intel.com>;
> Date:  Tue, Nov 17, 2015 05:14 PM
> To:  "winddy"<winddy_zh...@foxmail.com>; 
> "edk2-devel"<edk2-devel@lists.01.org>; 
> 
> Subject:  RE: [edk2] It seems something wrong 
> inGraphicsConsoleControllerDriverStart() when user defined  resolution is 
> notsupported
> 
> 
> 
> Winddy,
> Thanks for reporting this issue back.
> I agree with your analysis. Could you please submit a patch to correct this?
> 
> Regards,
> Ray
> 
> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of winddy
> Sent: Tuesday, November 17, 2015 2:19 PM
> To: edk2-devel <edk2-devel@lists.01.org>
> Subject: [edk2] It seems something wrong in 
> GraphicsConsoleControllerDriverStart() when user defined resolution is not 
> supported
> 
> Dear Experts,
>   Now I meet a problem: my GOP driver has something wrong that it only 
> supports 800x600 and 640x480, but I defined screen resolution as 1024x768 
> before (PcdVideoHorizontalResolution, PcdVideoVerticalResolution). When it 
> boots to shell, screen scroll function seems wrong.
>   I think the reason is that: variable HorizontalResolution and 
> VerticalResolution are not set correctly.
>   In line 473, Console driver will try to set OEM resolution, if failed, then 
> try 800x600, if still failed, uses current resolution. in my case, 1024x768 
> failed, 800x600 success, but HorizontalResolution and VerticalResolution are 
> still 1024, 768. so InitializeGraphicsConsoleTextMode() may set wrong text 
> mode.
>   So I think solution is that: remove the result check of set mode 800x600 
> (see below, line 490). Whatever 800x600 is set successfully or not, we should 
> update HorizontalResolution, VerticalResolution, and CurrentMode(ModeNumber) 
> to match the real setting.
>   After removed it, screen scroll function is OK under shell. (my 
> GraphicsConsole driver is older, but I think the problem is similar.)
>   Thanks.
> 
> 
> 
> 
>//
>// if not supporting current mode, try 800x600 which is required by 
> UEFI/EFI spec
>//
>Status = CheckModeSupported (
> Private->GraphicsOutput,
> 800,
> 600,
> 
> );
>Mode = Private->GraphicsOutput->Mode;
> //-if (EFI_ERROR (Status) && Mode->MaxMode != 0) {   
> // <--- remove this line.
>  //
>  // Set default mode failed or device don't support default mode, 
> then get the current mode information
>  //
>  HorizontalResolution = Mode->Info->HorizontalResolution;
>  VerticalResolution = Mode->Info->VerticalResolution;
>  ModeNumber = Mode->Mode;
> //-}  
>  // <--- remove this line.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> --
> BR
> winddy_zhang
> ___
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
> ___
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel