On Tue, Sep 26, 2017 at 09:15:26PM +0100, [email protected] wrote:
> From: Girish Pathak <[email protected]>
> 
> Currently for ArmPlatformPkg, the UEFI Graphics Output Protocol is
> implemented using platform specific Libraries
> ((PL111|Hd)LcdArmVExpressLib) and DXE drivers
> ((PL111|Hd)LcdGraphicsOutputDxe). The platform library handles
> variations such as platform supported display modes, memory
> management of the frame buffer, and clock/mux setting. The DXE driver
> implements the GOP protocol and manages the respective display
> controller. Although this implementation works for current platforms,
> we think the way the current DXE driver sources are linked is
> sub-optimal and needs to be improved, before additions.
> 
> This change effectively partitions HdLcd.c and PL111Lcd.c from
> LcdGraphicsOutputProtocol and creates two libraries of type LcdHwLib
> which can be selected in the platform specific .dsc file.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Girish Pathak <[email protected]>
> Signed-off-by: Evan Lloyd <[email protected]>
> ---
>  
> ArmPlatformPkg/ArmVExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpressLib.inf
>                        |  3 +-
>  
> ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
>                  |  2 +-
>  ArmPlatformPkg/Drivers/{LcdGraphicsOutputDxe/HdLcdGraphicsOutputDxe.inf => 
> HdLcd/HdLcd.inf}             | 25 +-------
>  ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/{PL111LcdGraphicsOutputDxe.inf 
> => LcdGraphicsOutputDxe.inf} | 15 ++---
>  ArmPlatformPkg/Drivers/{LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf 
> => PL111Lcd/PL111Lcd.inf}    | 28 ++-------
>  ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h           
>                            | 21 -------
>  ArmPlatformPkg/Include/Drivers/LcdHw.h                                       
>                            | 64 ++++++++++++++++++++
>  ArmPlatformPkg/Include/Library/LcdPlatformLib.h                              
>                            |  1 +
>  ArmPlatformPkg/Drivers/{LcdGraphicsOutputDxe => HdLcd}/HdLcd.c               
>                            |  3 +-
>  ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.c           
>                            |  2 +
>  ArmPlatformPkg/Drivers/{LcdGraphicsOutputDxe => PL111Lcd}/PL111Lcd.c         
>                            |  5 +-
>  11 files changed, 85 insertions(+), 84 deletions(-)

Oh, dear Lord...
Not you, git.

Could you resubmit this one with --no-renames on the git command line?
If an entire new set is likely to arrive soon, can you also do some
alphabetical sorting in the new .inf files?

> diff --git 
> a/ArmPlatformPkg/ArmVExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpressLib.inf
>  
> b/ArmPlatformPkg/ArmVExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpressLib.inf
> index 
> 37756481596c7e978ed9ed0a932eeb2aa0a3b657..1fe93a53f81c46955c62383a2bad0e19a9662015
>  100644
> --- 
> a/ArmPlatformPkg/ArmVExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpressLib.inf
> +++ 
> b/ArmPlatformPkg/ArmVExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpressLib.inf
> @@ -18,7 +18,7 @@ [Defines]
>    INF_VERSION                    = 0x00010005
>    BASE_NAME                      = HdLcdArmVExpress
>    FILE_GUID                      = 535a720e-06c0-4bb9-b563-452216abbed4
> -  MODULE_TYPE                    = DXE_DRIVER
> +  MODULE_TYPE                    = BASE
>    VERSION_STRING                 = 1.0
>    LIBRARY_CLASS                  = LcdPlatformLib
>  
> @@ -40,6 +40,5 @@ [Protocols]
>    gEfiEdidActiveProtocolGuid                    # Produced
>  
>  [FixedPcd]
> -  gArmVExpressTokenSpaceGuid.PcdPL111LcdMaxMode
>    gArmVExpressTokenSpaceGuid.PcdHdLcdVideoModeOscId
>    gArmPlatformTokenSpaceGuid.PcdGopPixelFormat
> diff --git 
> a/ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
>  
> b/ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
> index 
> 6f1cb3b55ff814d007718b5597f821dd20100477..f6d5bf76dd375d97bac63ca427cc231792b9e52b
>  100644
> --- 
> a/ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
> +++ 
> b/ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
> @@ -18,7 +18,7 @@ [Defines]
>    INF_VERSION                    = 0x00010005
>    BASE_NAME                      = PL111LcdArmVExpressLib
>    FILE_GUID                      = b7f06f20-496f-11e0-a8e8-0002a5d5c51b
> -  MODULE_TYPE                    = DXE_DRIVER
> +  MODULE_TYPE                    = BASE
>    VERSION_STRING                 = 1.0
>    LIBRARY_CLASS                  = LcdPlatformLib
>  
> diff --git 
> a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcdGraphicsOutputDxe.inf 
> b/ArmPlatformPkg/Drivers/HdLcd/HdLcd.inf
> similarity index 59%
> rename from 
> ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcdGraphicsOutputDxe.inf
> rename to ArmPlatformPkg/Drivers/HdLcd/HdLcd.inf
> index 
> b050add98e3f9cf62ac335883193b9d0928c3dc9..e43c894538cfd7985862997aaa1b8a381cb6423a
>  100644
> --- a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcdGraphicsOutputDxe.inf
> +++ b/ArmPlatformPkg/Drivers/HdLcd/HdLcd.inf
> @@ -16,15 +16,13 @@
>  
>  [Defines]
>    INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = HdLcdGraphicsDxe
> +  BASE_NAME                      = HdLcd
>    FILE_GUID                      = ce660500-824d-11e0-ac72-0002a5d5c51b
> -  MODULE_TYPE                    = DXE_DRIVER
> +  MODULE_TYPE                    = BASE
>    VERSION_STRING                 = 1.0
> -  ENTRY_POINT                    = LcdGraphicsOutputDxeInitialize
> +  LIBRARY_CLASS                  = LcdHwLib
>  
>  [Sources.common]
> -  LcdGraphicsOutputDxe.c
> -  LcdGraphicsOutputBlt.c
>    HdLcd.c
>  
>  [Packages]
> @@ -39,26 +37,9 @@ [LibraryClasses]
>    UefiLib
>    BaseLib
>    DebugLib
> -  TimerLib
> -  UefiDriverEntryPoint
> -  UefiBootServicesTableLib
>    IoLib

Like here.

> -  BaseMemoryLib
> -  LcdPlatformLib
> -
> -[Protocols]
> -  gEfiDevicePathProtocolGuid
> -  gEfiGraphicsOutputProtocolGuid                # Produced
> -  gEfiEdidDiscoveredProtocolGuid                # Produced
> -  gEfiEdidActiveProtocolGuid                    # Produced
> -  gEfiEdidOverrideProtocolGuid                  # Produced
>  
>  [FixedPcd]
>    gArmPlatformTokenSpaceGuid.PcdArmHdLcdBase
>    gArmPlatformTokenSpaceGuid.PcdArmHdLcdSwapBlueRedSelect
>  
> -[FeaturePcd]
> -  gArmPlatformTokenSpaceGuid.PcdGopDisableOnExitBootServices
> -
> -[Depex]
> -  gEfiCpuArchProtocolGuid
> diff --git 
> a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf 
> b/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf
> similarity index 78%
> copy from 
> ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf
> copy to ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf
> index 
> ad0348500326c4567f0e1b235c84b694e61306bf..edd03c7eb1c39e397c72a4c22e7d05ab21b53def
>  100644
> --- 
> a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf
> +++ b/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf
> @@ -2,7 +2,7 @@
>  #
>  #  Component description file for PL111LcdGraphicsOutputDxe module
>  #
> -#  Copyright (c) 2011-2017, ARM Ltd. All rights reserved.<BR>
> +#  Copyright (c) 2017, ARM Ltd. All rights reserved.<BR>
>  #  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
> @@ -15,8 +15,8 @@
>  
>  [Defines]
>    INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = PL111LcdGraphicsDxe
> -  FILE_GUID                      = 407B4008-BF5B-11DF-9547-CF16E0D72085
> +  BASE_NAME                      = LcdGraphicsDxe
> +  FILE_GUID                      = 89464DAE-8DAA-41FE-A4C8-40D2175AF1E9
>    MODULE_TYPE                    = DXE_DRIVER
>    VERSION_STRING                 = 1.0
>    ENTRY_POINT                    = LcdGraphicsOutputDxeInitialize
> @@ -24,7 +24,6 @@ [Defines]
>  [Sources.common]
>    LcdGraphicsOutputDxe.c
>    LcdGraphicsOutputBlt.c
> -  PL111Lcd.c
>  
>  [Packages]
>    MdePkg/MdePkg.dec
> @@ -38,22 +37,18 @@ [LibraryClasses]
>    UefiLib
>    BaseLib
>    DebugLib
> -  TimerLib
>    UefiDriverEntryPoint
>    UefiBootServicesTableLib
> -  IoLib
>    BaseMemoryLib
>    LcdPlatformLib
> +  LcdHwLib

And here.

>  
>  [Protocols]
>    gEfiDevicePathProtocolGuid
>    gEfiGraphicsOutputProtocolGuid
>  
> -[FixedPcd]
> -  gArmPlatformTokenSpaceGuid.PcdPL111LcdBase
> -
>  [FeaturePcd]
>    gArmPlatformTokenSpaceGuid.PcdGopDisableOnExitBootServices
>  
>  [Depex]
> -  gEfiCpuArchProtocolGuid
> +  TRUE
> diff --git 
> a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf 
> b/ArmPlatformPkg/Drivers/PL111Lcd/PL111Lcd.inf
> similarity index 59%
> rename from 
> ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf
> rename to ArmPlatformPkg/Drivers/PL111Lcd/PL111Lcd.inf
> index 
> ad0348500326c4567f0e1b235c84b694e61306bf..8e571a02476142af787db90c0ee240a784b74a63
>  100644
> --- 
> a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf
> +++ b/ArmPlatformPkg/Drivers/PL111Lcd/PL111Lcd.inf
> @@ -1,6 +1,6 @@
> -#/** @file PL111LcdGraphicsOutputDxe.inf
> +#/** @file PL111Lcd.inf
>  #
> -#  Component description file for PL111LcdGraphicsOutputDxe module
> +#  Component description file for PL111Lcd module
>  #
>  #  Copyright (c) 2011-2017, ARM Ltd. All rights reserved.<BR>
>  #  This program and the accompanying materials
> @@ -15,15 +15,13 @@
>  
>  [Defines]
>    INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = PL111LcdGraphicsDxe
> +  BASE_NAME                      = PL111Lcd
>    FILE_GUID                      = 407B4008-BF5B-11DF-9547-CF16E0D72085
> -  MODULE_TYPE                    = DXE_DRIVER
> +  MODULE_TYPE                    = BASE
>    VERSION_STRING                 = 1.0
> -  ENTRY_POINT                    = LcdGraphicsOutputDxeInitialize
> +  LIBRARY_CLASS                  = LcdHwLib
>  
>  [Sources.common]
> -  LcdGraphicsOutputDxe.c
> -  LcdGraphicsOutputBlt.c
>    PL111Lcd.c
>  
>  [Packages]
> @@ -34,26 +32,10 @@ [Packages]
>    ArmPlatformPkg/ArmPlatformPkg.dec
>  
>  [LibraryClasses]
> -  ArmLib
>    UefiLib
>    BaseLib
>    DebugLib
> -  TimerLib
> -  UefiDriverEntryPoint
> -  UefiBootServicesTableLib
>    IoLib

And here.

> -  BaseMemoryLib
> -  LcdPlatformLib
> -
> -[Protocols]
> -  gEfiDevicePathProtocolGuid
> -  gEfiGraphicsOutputProtocolGuid
>  
>  [FixedPcd]
>    gArmPlatformTokenSpaceGuid.PcdPL111LcdBase
> -
> -[FeaturePcd]
> -  gArmPlatformTokenSpaceGuid.PcdGopDisableOnExitBootServices
> -
> -[Depex]
> -  gEfiCpuArchProtocolGuid
> diff --git 
> a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h 
> b/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h
> index 
> 85e918de66624d61c6d0e05c5a67c516cd7619aa..76a710fda59279a6642dc2408c790afcf49360b8
>  100644
> --- a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h
> +++ b/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h
> @@ -19,7 +19,6 @@
>  
>  #include <Library/DebugLib.h>
>  #include <Library/LcdPlatformLib.h>
> -#include <Library/PcdLib.h>
>  #include <Library/UefiLib.h>
>  
>  #include <Protocol/DevicePath.h>
> @@ -92,7 +91,6 @@ UINTN
>  GetBytesPerPixel (
>    IN  LCD_BPP       Bpp
>    );
> -

Unrelated whitespace change.

>  EFI_STATUS
>  EFIAPI
>  GraphicsOutputDxeInitialize (
> @@ -105,23 +103,4 @@ InitializeDisplay (
>    IN LCD_INSTANCE* Instance
>  );
>  
> -EFI_STATUS
> -LcdIdentify (
> -  VOID
> -);
> -
> -EFI_STATUS
> -LcdInitialize (
> -  EFI_PHYSICAL_ADDRESS  VramBaseAddress
> -);
> -
> -EFI_STATUS
> -LcdSetMode (
> -  IN UINT32  ModeNumber
> -);
> -
> -VOID
> -LcdShutdown (
> -  VOID
> -);
>  #endif /* LCD_GRAPHICS_OUTPUT_DXE_H_ */
> diff --git a/ArmPlatformPkg/Include/Drivers/LcdHw.h 
> b/ArmPlatformPkg/Include/Drivers/LcdHw.h
> new file mode 100644
> index 
> 0000000000000000000000000000000000000000..1f5b9c0b7e7decbf1136614b5b1b482ccd805604
> --- /dev/null
> +++ b/ArmPlatformPkg/Include/Drivers/LcdHw.h
> @@ -0,0 +1,64 @@
> +/** @file LcdHw.h
> +
> +  This file contains interface functions for LcdHwLib of ArmPlatformPkg
> +
> +  Copyright (c) 2017, ARM Ltd. All rights reserved.<BR>
> +  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
> +  http://opensource.org/licenses/bsd-license.php
> +
> +  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> +  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
> +
> +**/
> +
> +#ifndef LCD_HW_H_
> +#define LCD_HW_H_
> +
> +#include <Library/LcdPlatformLib.h>
> +
> +/** Check for presence of display
> + *
> + *  @retval EFI_SUCCESS            Platform implements display.
> + *  @retval EFI_NOT_FOUND          Display not found on the platform.
> + */
> +EFI_STATUS
> +LcdIdentify (
> +  VOID
> +);
> +
> +/** Initialize display.
> + *
> + *  @param  FrameBaseAddress       Address of the frame buffer.
> + *  @retval EFI_SUCCESS            Display initialization success.
> + *  @retval !(EFI_SUCCESS)         Display initialization failure.
> + *
> +**/
> +EFI_STATUS
> +LcdInitialize (
> +  EFI_PHYSICAL_ADDRESS  FrameBaseAddress
> +);
> +
> +/** Set requested mode of the display.
> + *
> + *  @param  ModeNumber             Display mode number.
> + *  @retval EFI_SUCCESS            Display set mode success.
> + *  @retval EFI_DEVICE_ERROR       If mode not found/supported.
> + *
> +**/
> +EFI_STATUS
> +LcdSetMode (
> +  IN UINT32  ModeNumber
> +);
> +
> +
> +/** De-initializes the display.
> + *
> +**/
> +VOID
> +LcdShutdown (
> +  VOID
> +);
> +
> +#endif /* LCD_HW_H_ */
> diff --git a/ArmPlatformPkg/Include/Library/LcdPlatformLib.h 
> b/ArmPlatformPkg/Include/Library/LcdPlatformLib.h
> index 
> d357c22c46b62966859793372c447883e12e1e80..78b1780d82b8b698924cc55a292c30728a3e7060
>  100644
> --- a/ArmPlatformPkg/Include/Library/LcdPlatformLib.h
> +++ b/ArmPlatformPkg/Include/Library/LcdPlatformLib.h
> @@ -14,6 +14,7 @@
>  #ifndef LCD_PLATFORM_LIB_H_
>  #define LCD_PLATFORM_LIB_H_
>  
> +#include <Uefi/UefiBaseType.h>
>  #include <Protocol/GraphicsOutput.h>
>  
>  #define LCD_VRAM_SIZE                     SIZE_8MB
> diff --git a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcd.c 
> b/ArmPlatformPkg/Drivers/HdLcd/HdLcd.c
> similarity index 95%
> rename from ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcd.c
> rename to ArmPlatformPkg/Drivers/HdLcd/HdLcd.c
> index 
> 8f83d6ecba290994dbced1c11dfdb6d705323c03..d0f678acc7ac539f4e05a9b35ce28baded6c7244
>  100644
> --- a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcd.c
> +++ b/ArmPlatformPkg/Drivers/HdLcd/HdLcd.c
> @@ -19,8 +19,7 @@
>  #include <Library/PcdLib.h>
>  
>  #include <Drivers/HdLcd.h>
> -
> -#include "LcdGraphicsOutputDxe.h"

(For clarity - I have no issue with the unrelated whitespace change
above here, because it is not the only change in its hunk and it is
directly adjacent to the modification.)

/
    Leif

> +#include <Drivers/LcdHw.h>
>  
>  #define BYTES_PER_PIXEL 4
>  
> diff --git 
> a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.c 
> b/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.c
> index 
> c40c8e0fa6f4b5f7798aeb3c8bf3f261f14cb67b..e47142319045783cf98243a1372d933d89718922
>  100644
> --- a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.c
> +++ b/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.c
> @@ -20,6 +20,8 @@
>  
>  #include <Guid/GlobalVariable.h>
>  
> +#include <Drivers/LcdHw.h>
> +
>  #include "LcdGraphicsOutputDxe.h"
>  
>  /**********************************************************************
> diff --git a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111Lcd.c 
> b/ArmPlatformPkg/Drivers/PL111Lcd/PL111Lcd.c
> similarity index 95%
> rename from ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111Lcd.c
> rename to ArmPlatformPkg/Drivers/PL111Lcd/PL111Lcd.c
> index 
> 4bad2367982e16d5d23c4eab2e6d91bf7db1c031..439f4f9c1fd7c6339cfa75287f3fa3718de34d92
>  100644
> --- a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111Lcd.c
> +++ b/ArmPlatformPkg/Drivers/PL111Lcd/PL111Lcd.c
> @@ -11,13 +11,12 @@
>    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
>  
>  **/
> -
> +#include <Library/DebugLib.h>
>  #include <Library/IoLib.h>
>  #include <Library/MemoryAllocationLib.h>
>  
>  #include <Drivers/PL111Lcd.h>
> -
> -#include "LcdGraphicsOutputDxe.h"
> +#include <Drivers/LcdHw.h>
>  
>  /**********************************************************************
>   *
> -- 
> Guid("CE165669-3EF3-493F-B85D-6190EE5B9759")
> 
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to