From: Girish Pathak <girish.pathak@arm.com>
To: edk2-devel@lists.01.org
Cc: ard.biesheuvel@linaro.org, leif.lindholm@linaro.org,
Matteo.Carlini@arm.com, Stephanie.Hughes-Fitt@arm.com,
nd@arm.com, Arvind.Chauhan@arm.com, Daniil.Egranov@arm.com,
thomas.abraham@arm.com
Subject: [PATCH edk2-platforms v4 03/17] ARM/VExpressPkg: Tidy HdLcd/PL111Lcd code: Updated comments
Date: Thu, 5 Apr 2018 19:07:49 +0100 [thread overview]
Message-ID: <20180405180803.33684-4-girish.pathak@arm.com> (raw)
In-Reply-To: <20180405180803.33684-1-girish.pathak@arm.com>
From: Girish Pathak <girish.pathak at arm.com>
There is no functional modification in this change.
In this change some comments in HDLCD and PL111LCD platform library
code are modified and a few new comments are added. This is to
prevent mixing formatting changes with functional changes.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Girish Pathak <girish.pathak@arm.com>
Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpress.c | 74 ++++++++++++++++++++
Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c | 73 +++++++++++++++++++
Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf | 2 +-
3 files changed, 148 insertions(+), 1 deletion(-)
diff --git a/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpress.c b/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpress.c
index 36ea484bbceac51566bfeaf029b1aa0ede93dee1..80603f04df3793b8b62196990c846de9ba8f130d 100644
--- a/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpress.c
+++ b/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpress.c
@@ -44,6 +44,8 @@ typedef struct {
UINT32 VFrontPorch;
} LCD_RESOLUTION;
+/** The display modes supported by the platform.
+**/
LCD_RESOLUTION mResolutions[] = {
{ // Mode 0 : VGA : 640 x 480 x 24 bpp
VGA, VGA_H_RES_PIXELS, VGA_V_RES_PIXELS, LCD_BITS_PER_PIXEL_24,
@@ -93,6 +95,13 @@ EFI_EDID_ACTIVE_PROTOCOL mEdidActive = {
NULL
};
+/** HDLCD platform specific initialization function.
+
+ @param[in] Handle Handle to the LCD device instance.
+
+ @retval EFI_SUCCESS Plaform library initialized successfully.
+ @retval !(EFI_SUCCESS) Other errors.
+**/
EFI_STATUS
LcdPlatformInitializeDisplay (
IN EFI_HANDLE Handle
@@ -123,6 +132,18 @@ LcdPlatformInitializeDisplay (
return Status;
}
+/** Allocate VRAM memory in DRAM for the framebuffer
+ (unless it is reserved already).
+
+ The allocated address can be used to set the framebuffer.
+
+ @param[out] VramBaseAddress A pointer to the framebuffer address.
+ @param[out] VramSize A pointer to the size of the framebuffer
+ in bytes
+
+ @retval EFI_SUCCESS Framebuffer memory allocated successfully.
+ @retval !(EFI_SUCCESS) Other errors.
+**/
EFI_STATUS
LcdPlatformGetVram (
OUT EFI_PHYSICAL_ADDRESS* VramBaseAddress,
@@ -169,6 +190,13 @@ LcdPlatformGetVram (
return EFI_SUCCESS;
}
+/** Return total number of modes supported.
+
+ Note: Valid mode numbers are 0 to MaxMode - 1
+ See Section 12.9 of the UEFI Specification 2.7
+
+ @retval UINT32 Mode Number.
+**/
UINT32
LcdPlatformGetMaxMode (VOID)
{
@@ -177,6 +205,14 @@ LcdPlatformGetMaxMode (VOID)
return (sizeof (mResolutions) / sizeof (LCD_RESOLUTION));
}
+/** Set the requested display mode.
+
+ @param[in] ModeNumber Mode Number.
+
+ @retval EFI_SUCCESS Mode set successfully.
+ @retval EFI_INVALID_PARAMETER Requested mode not found.
+ @retval !(EFI_SUCCESS) Other errors.
+**/
EFI_STATUS
LcdPlatformSetMode (
IN UINT32 ModeNumber
@@ -226,6 +262,17 @@ LcdPlatformSetMode (
return Status;
}
+/** Return information for the requested mode number.
+
+ @param[in] ModeNumber Mode Number.
+
+ @param[out] Info Pointer for returned mode information
+ (on success).
+
+ @retval EFI_SUCCESS Mode information for the requested mode
+ returned successfully.
+ @retval EFI_INVALID_PARAMETER Requested mode not found.
+**/
EFI_STATUS
LcdPlatformQueryMode (
IN UINT32 ModeNumber,
@@ -266,6 +313,23 @@ LcdPlatformQueryMode (
return EFI_SUCCESS;
}
+/** Return display timing information for the requested mode number.
+
+ @param[in] ModeNumber Mode Number.
+
+ @param[out] HRes Pointer to horizontal resolution.
+ @param[out] HSync Pointer to horizontal sync width.
+ @param[out] HBackPorch Pointer to horizontal back porch.
+ @param[out] HFrontPorch Pointer to horizontal front porch.
+ @param[out] VRes Pointer to vertical resolution.
+ @param[out] VSync Pointer to vertical sync width.
+ @param[out] VBackPorch Pointer to vertical back porch.
+ @param[out] VFrontPorch Pointer to vertical front porch.
+
+ @retval EFI_SUCCESS Display timing information for the requested
+ mode returned successfully.
+ @retval EFI_INVALID_PARAMETER Requested mode not found.
+**/
EFI_STATUS
LcdPlatformGetTimings (
IN UINT32 ModeNumber,
@@ -295,6 +359,16 @@ LcdPlatformGetTimings (
return EFI_SUCCESS;
}
+/** Return bits per pixel information for a mode number.
+
+ @param[in] ModeNumber Mode Number.
+
+ @param[out] Bpp Pointer to bits per pixel information.
+
+ @retval EFI_SUCCESS Bits per pixel information for the requested
+ mode returned successfully.
+ @retval EFI_INVALID_PARAMETER Requested mode not found.
+**/
EFI_STATUS
LcdPlatformGetBpp (
IN UINT32 ModeNumber,
diff --git a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c
index 3ab9fe4abb15a41731a518a8500cd414f670fd66..3e3102623ebc46cbe31b7f3500021f53f2281d1b 100644
--- a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c
+++ b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c
@@ -41,6 +41,8 @@ typedef struct {
UINT32 VFrontPorch;
} LCD_RESOLUTION;
+/** The display modes supported by the platform.
+**/
LCD_RESOLUTION mResolutions[] = {
{ // Mode 0 : VGA : 640 x 480 x 24 bpp
VGA, VGA_H_RES_PIXELS, VGA_V_RES_PIXELS, LCD_BITS_PER_PIXEL_24,
@@ -150,6 +152,12 @@ EFI_EDID_ACTIVE_PROTOCOL mEdidActive = {
NULL
};
+/** PL111 Platform specific initialization function.
+
+ @param[in] Handle Handle to the LCD device instance.
+ @retval EFI_SUCCESS Plaform library initialized successfully.
+ @retval !(EFI_SUCCESS) Other errors.
+**/
EFI_STATUS
LcdPlatformInitializeDisplay (
IN EFI_HANDLE Handle
@@ -175,6 +183,18 @@ LcdPlatformInitializeDisplay (
return Status;
}
+/** Allocate VRAM memory in DRAM for the framebuffer
+ (unless it is reserved already).
+
+ The allocated address can be used to set the framebuffer.
+
+ @param[out] VramBaseAddress A pointer to the framebuffer address.
+ @param[out] VramSize A pointer to the size of the framebuffer
+ in bytes
+
+ @retval EFI_SUCCESS Framebuffer memory allocated successfully.
+ @retval !(EFI_SUCCESS) Other errors.
+**/
EFI_STATUS
LcdPlatformGetVram (
OUT EFI_PHYSICAL_ADDRESS* VramBaseAddress,
@@ -231,6 +251,13 @@ LcdPlatformGetVram (
return Status;
}
+/** Return total number of modes supported.
+
+ Note: Valid mode numbers are 0 to MaxMode - 1
+ See Section 12.9 of the UEFI Specification 2.7
+
+ @retval UINT32 Mode Number.
+**/
UINT32
LcdPlatformGetMaxMode (VOID)
{
@@ -246,6 +273,15 @@ LcdPlatformGetMaxMode (VOID)
return (PcdGet32 (PcdPL111LcdMaxMode));
}
+/** Set the requested display mode.
+
+ @param[in] ModeNumber Mode Number.
+
+ @retval EFI_SUCCESS Mode set successfully.
+ @retval EFI_INVALID_PARAMETER Requested mode not found.
+ @retval EFI_UNSUPPORTED PLL111 configuration not supported.
+ @retval !(EFI_SUCCESS) Other errors.
+**/
EFI_STATUS
LcdPlatformSetMode (
IN UINT32 ModeNumber
@@ -317,6 +353,16 @@ LcdPlatformSetMode (
return Status;
}
+/** Return information for the requested mode number.
+
+ @param[in] ModeNumber Mode Number.
+ @param[out] Info Pointer for returned mode information
+ (on success).
+
+ @retval EFI_SUCCESS Mode information for the requested mode
+ returned successfully.
+ @retval EFI_INVALID_PARAMETER Requested mode not found.
+**/
EFI_STATUS
LcdPlatformQueryMode (
IN UINT32 ModeNumber,
@@ -357,6 +403,23 @@ LcdPlatformQueryMode (
return EFI_SUCCESS;
}
+/** Return display timing information for the requested mode number.
+
+ @param[in] ModeNumber Mode Number.
+
+ @param[out] HRes Pointer to horizontal resolution.
+ @param[out] HSync Pointer to horizontal sync width.
+ @param[out] HBackPorch Pointer to horizontal back porch.
+ @param[out] HFrontPorch Pointer to horizontal front porch.
+ @param[out] VRes Pointer to vertical resolution.
+ @param[out] VSync Pointer to vertical sync width.
+ @param[out] VBackPorch Pointer to vertical back porch.
+ @param[out] VFrontPorch Pointer to vertical front porch.
+
+ @retval EFI_SUCCESS Display timing information for the requested
+ mode returned successfully.
+ @retval EFI_INVALID_PARAMETER Requested mode not found.
+**/
EFI_STATUS
LcdPlatformGetTimings (
IN UINT32 ModeNumber,
@@ -386,6 +449,16 @@ LcdPlatformGetTimings (
return EFI_SUCCESS;
}
+/** Return bits per pixel information for a mode number.
+
+ @param[in] ModeNumber Mode Number.
+
+ @param[out] Bpp Pointer to bits per pixel information.
+
+ @retval EFI_SUCCESS Bits per pixel information for the requested
+ mode returned successfully.
+ @retval EFI_INVALID_PARAMETER Requested mode not found.
+**/
EFI_STATUS
LcdPlatformGetBpp (
IN UINT32 ModeNumber,
diff --git a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
index 7ffd217a7d1eefb06b99042c2b2a9ed0079f2bd3..9ca2ace9594d21050c3e53705054c25c69e238f4 100644
--- a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
+++ b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
@@ -1,6 +1,6 @@
#/** @file
#
-# Component description file for ArmVeGraphicsDxe module
+# Component description file for PL111LcdArmVExpressLib module
#
# Copyright (c) 2011-2018, ARM Ltd. All rights reserved.<BR>
#
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
next prev parent reply other threads:[~2018-04-05 18:08 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-05 18:07 [PATCH edk2-platforms v4 00/17] Update GOP Girish Pathak
2018-04-05 18:07 ` [PATCH edk2-platforms v4 01/17] ARM/VExpressPkg: Fix MODULE_TYPE of HDLCD/PL111 platform libraries Girish Pathak
2018-04-05 18:07 ` [PATCH edk2-platforms v4 02/17] ARM/VExpressPkg: Tidy HDLCD and PL11LCD platform Lib: Coding standard Girish Pathak
2018-04-05 18:07 ` Girish Pathak [this message]
2018-04-05 18:07 ` [PATCH edk2-platforms v4 04/17] ARM/VExpressPkg: Remove unused PcdPL111LcdMaxMode from HDLCD inf Girish Pathak
2018-04-23 17:03 ` Leif Lindholm
2018-04-23 17:07 ` Girish Pathak
2018-04-23 17:10 ` Leif Lindholm
2018-04-05 18:07 ` [PATCH edk2-platforms v4 05/17] ARM/VExpressPkg: Add and update debug ASSERTS Girish Pathak
2018-04-05 18:07 ` [PATCH edk2-platforms v4 06/17] ARM/VExpressPkg: PL111Lcd/HdLcd plaform libs: Minor code cleanup Girish Pathak
2018-04-05 18:07 ` [PATCH edk2-platforms v4 07/17] ARM/VExpressPkg: PL111 and HDLCD: Use FixedPcdGet32 Girish Pathak
2018-04-05 18:07 ` [PATCH edk2-platforms v4 08/17] ARM/VExpressPkg: HdLcdArmVExpressLib: Remove status check EFI_TIMEOUT Girish Pathak
2018-04-05 18:07 ` [PATCH edk2-platforms v4 09/17] ARM/VExpressPkg: HdLcdArmVExpressLib: Remove redundant Bpp Girish Pathak
2018-04-05 18:07 ` [PATCH edk2-platforms v4 10/17] ARM/VExpressPkg: Redefine LcdPlatformGetTimings function Girish Pathak
2018-04-05 18:07 ` [PATCH edk2-platforms v4 11/17] ARM/VExpressPkg: PL111 and HDLCD: Add PCD to select pixel format Girish Pathak
2018-04-05 18:07 ` [PATCH edk2-platforms v4 12/17] ARM/VExpressPkg: Allocate framebuffer using EfiReservedMemoryType Girish Pathak
2018-04-05 18:07 ` [PATCH edk2-platforms v4 13/17] ARM/VExpressPkg: Reserving framebuffer at build Girish Pathak
2018-04-05 18:08 ` [PATCH edk2-platforms v4 14/17] ARM/VExpressPkg: Set EFI_MEMORY_XP flag on GOP framebuffer Girish Pathak
2018-04-05 18:08 ` [PATCH edk2-platforms v4 15/17] ARM/VExpressPkg: New DP500/DP550/DP650 platform library Girish Pathak
2018-04-05 18:08 ` [PATCH edk2-platforms v4 16/17] ARM/JunoPkg: Adding SCMI MTL library Girish Pathak
2018-04-05 18:08 ` [PATCH edk2-platforms v4 17/17] ARM/JunoPkg: Add HDLCD platform library Girish Pathak
2018-04-23 13:00 ` [PATCH edk2-platforms v4 00/17] Update GOP Leif Lindholm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180405180803.33684-4-girish.pathak@arm.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox