From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03on0623.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe08::623]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 2137721A13484 for ; Wed, 3 May 2017 09:58:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=LijP51XyPqmABQ0l82d2ZXTLQ1ZrrBzAvWIjBm4jiSY=; b=IHHMm5Qg/Ku4YQV4QpP3wj6z8noPsflMqHR5wjOg1cD8CFlcGxlt2id8IYxZCweZzCafJfZ40845Nw4qfupSWGGhCqYqW0HduMt7INpKE3s08yiA1qB5XeJ3DOKWzMDCfICfk+rTkWicxUc4toBSVJ8+t6xaN7bd9LjPNYft9b8= Received: from AM4PR0802MB2257.eurprd08.prod.outlook.com (10.172.217.147) by HE1PR0801MB1449.eurprd08.prod.outlook.com (10.167.190.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1075.11; Wed, 3 May 2017 16:58:34 +0000 Received: from AM4PR0802MB2257.eurprd08.prod.outlook.com ([fe80::6577:32a4:2279:3ea0]) by AM4PR0802MB2257.eurprd08.prod.outlook.com ([fe80::6577:32a4:2279:3ea0%15]) with mapi id 15.01.1061.020; Wed, 3 May 2017 16:58:33 +0000 From: Girish Pathak To: edk2-devel , "leif.lindholm@linaro.org" , "ard.biesheuvel@linaro.org" , "ryan.harkin@linaro.org" CC: Evan Lloyd , Sami Mujawar , Alexei Fedorov Thread-Topic: [edk2] ArmPlatformPkg: LcdGraphicsOutputDxe, PL111, and HdLcd rejig Thread-Index: AdLELlrVMbGPSdSsRF2QOZzClNoLPA== Date: Wed, 3 May 2017 16:58:33 +0000 Message-ID: Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: lists.01.org; dkim=none (message not signed) header.d=none;lists.01.org; dmarc=none action=none header.from=arm.com; x-originating-ip: [217.140.96.140] x-microsoft-exchange-diagnostics: 1; HE1PR0801MB1449; 7:+9nxh+lEkY5UQZqQerMT0Ca9Tg8emAmt65soO8VhjKAsXmO3FRP4yawaKYK/3OIbzWqRiz1JxOYnqwh0s9Q3Ckt6IoA2p6YiCyO3jk4uLrOdoBhxg2trEyqDfrCje5wWqfzzo30IEmEBLRNtuXqTZR7y9qimaekSpwdd6oo1sGS3jtMi4J2zB1RQM5rBkTu6t1M6KPA3ZU7wvXY3zFICNUd3Y2uzYyLNZhTIaaPiyAxjHG6Vlv5dHOGK51k/sQsmue+BJY1ffmZ4q59uw9gNRMgDzJ7dnaBYoTtplNOgjaMHKQS3aTV3KHmN7/WpFCHfRVH6a8VfEq1F7hQeAhtOnw== x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 702c9fa0-e88e-4a95-6aaa-08d49245a20c x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081); SRVR:HE1PR0801MB1449; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(21748063052155); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(20161123564025)(20161123558100)(20161123555025)(6072148); SRVR:HE1PR0801MB1449; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0801MB1449; x-forefront-prvs: 029651C7A1 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(6029001)(39860400002)(39840400002)(39450400003)(39850400002)(39400400002)(39410400002)(40434004)(45080400002)(9326002)(8936002)(4326008)(38730400002)(2201001)(86362001)(53936002)(478600001)(5660300001)(7696004)(6116002)(3846002)(790700001)(102836003)(5890100001)(8676002)(5250100002)(81166006)(2501003)(2900100001)(99286003)(54906002)(74316002)(3660700001)(54356999)(55016002)(9686003)(3280700002)(2906002)(25786009)(54896002)(6306002)(189998001)(6436002)(50986999)(7736002)(6506006)(33656002)(19627235001); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0801MB1449; H:AM4PR0802MB2257.eurprd08.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-originalarrivaltime: 03 May 2017 16:58:33.4373 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1449 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: ArmPlatformPkg: LcdGraphicsOutputDxe, PL111, and HdLcd rejig X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 May 2017 16:58:38 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, With a view to an upcoming change, we have been examining the current Graph= ics Output Protocol implementation. Currently for, ARM platforms, the UEFI Grap= hics Output Protocol is implemented using a platform specific Library (PL111LcdArmVExpressLib/HdLcdArmVExpressLib) and a DXE driver (PL111LcdGraphicsOutputDxe/HdLcdGraphicsOutputDxe). The platform specific library handles platform specific variations such as platform supported dis= play modes, memory management of the frame buffer, and clock/mux setting. The DX= E driver implements the GOP protocol and manages the respective display IP. Although this implementation works fine for current platforms, we think the= way the current DXE driver sources are linked is sub-optimal and can be improve= d to meet recommendation of the EDKII Module Writer's Guide. The DXE driver source contains three source files per driver. The files LcdGraphicsOutputDxe.c and LcdGraphicsOutputBlt.c implement common functionality whereas HdLcd.c/PL111Lcd.c implement display IP specific par= t of the DXE. The problem is, there are two .inf files for HdLcdGraphicsOutputDx= e and PL111LcdGraphicsOutputDxe and both link common code LcdGraphicsOutputDx= e.c and LcdGraphicsOutputBlt.c with display IP source instead of a library inst= ance , which seems incorrect and can be improved. We propose to separate HdLcd.c and PL111Lcd.c and create independent libraries managing only respective display IP which can then be instantiated as LcdHwLib and linked in a commo= n LcdGraphicsOutputDxe DXE driver. This will help to clearly partition implementation of the Graphics Output Protocol into three separate componen= ts, a platform specific component for the display IP, a display IP specific component and GOP common code. So instead of the current structure in ArmPlatformPkg for display DXE: ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcdGraphicsOutputDxe.inf = (HDLCD GOP DXE) ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf= (PL111 GOP DXE) We propose a structure like: ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf (= GOP DXE independent of hardware/platform) ArmPlatformPkg/Drivers/HdLcd/HdLcd.inf (Library code managing HDLCD HW= IP) ArmPlatformPkg/Drivers/PL111/PL11Lcd.inf (Library code managing PL111 = HW IP) LcdGraphicsOutputDxe.inf will link to LcdPlatformLib and LcdHwLib which can= be selected for the platform in the platform specific .dsc file. e.g. Under LibraryClasses we might have: LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/HdLcdArmVExpressLi= b/HdLcdArmVExpressLib.inf LcdHwLib|ArmPlatformPkg/Drivers/HdLcd/HdLcd.inf And Under Components: ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf (= Common GOP DXE code for ARM Platforms) This is a significant change and we would like to invite viewpoints before = we proceed with implementing these. Since the change would only be with respec= t to display aspects of ArmPlatformPkg we don't foresee any impact on any other functionality. Please reply if you feel this intended change might impact you and why ? Unless objections are raised, we will soon submit the patches for review. Regards, Girish IMPORTANT NOTICE: The contents of this email and any attachments are confid= ential and may also be privileged. If you are not the intended recipient, p= lease notify the sender immediately and do not disclose the contents to any= other person, use it for any purpose, or store or copy the information in = any medium. Thank you.