From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from hqnvemgate24.nvidia.com (hqnvemgate24.nvidia.com [216.228.121.143]) by mx.groups.io with SMTP id smtpd.web10.24111.1591596404232967218 for ; Sun, 07 Jun 2020 23:06:44 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nvidia.com header.s=n1 header.b=RASrHjfn; spf=pass (domain: nvidia.com, ip: 216.228.121.143, mailfrom: ipark@nvidia.com) Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Sun, 07 Jun 2020 23:05:13 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Sun, 07 Jun 2020 23:06:43 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Sun, 07 Jun 2020 23:06:43 -0700 Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 8 Jun 2020 06:06:42 +0000 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.105) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Mon, 8 Jun 2020 06:06:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m7SlH4SffAXHBJnKh3Q2SUKCjRVKKTnBTYb5vU9LtKL6N4c4Rzp/DYMWTH2U6ksFRukhos6xRiIc5BSZbwMs99c7la+65DOqQvFV7wnECoCvx5l+6NxSutaqCSCnfDArtlNo/mgQidvOM7vX5R666I4BPD7iOhQGqEHiFPVJBRpN6wNQ6tn7gEXcyzP/fYt4C8s2WtC+GRQYKwgsy86u8tRZGMjXczVZUeLgi30xGyFhTsAPAx9u6zwR7ICbhdrf8duBzWnG2TRQ9kB3VEuLZG7O5hmUHlbYiN6IFfP75wE1HzDghAISc0KXZjxuTesTXBls4RmFFDs/xIPS3bBQBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9JHS4hOkwQR6W3BS0VrgemxH9fUwVz5c1EwlDGQ/OOU=; b=NVjTZDsQqnUhaPAZ5oZXPN6yBbG6ucjpV2tQTpK+ZIYrmDxaS6E3hFmAGG2y7Gqej0i54y69A/+QlpYkYSrnJP8uUHh0cPWG6kWED6Iucb0y8+KpKZRH3wskbQ85qJuTFZmVJFzx6s5Koi5t4j3Ni3dG1vnXh99ziF638lInV/MgMlipijqxVrflaRZziBtDybpxXL09wDvi9nubT/MslpbbTdeW/olTHDSxoXLRstrXbscl1Dzm4VDJ5JkSxFqivDffNfVDi0ZzJGAps1L2c06mKnbP287D2r0dOsYw1PUEnxd6zoVdkXmLDw+fVC/sIXWhTllDVX+2OB2wxZeAgg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none Received: from BN8PR12MB3458.namprd12.prod.outlook.com (2603:10b6:408:44::32) by BN8PR12MB3601.namprd12.prod.outlook.com (2603:10b6:408:46::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3066.20; Mon, 8 Jun 2020 06:06:41 +0000 Received: from BN8PR12MB3458.namprd12.prod.outlook.com ([fe80::3489:4bde:b7b9:3aec]) by BN8PR12MB3458.namprd12.prod.outlook.com ([fe80::3489:4bde:b7b9:3aec%7]) with mapi id 15.20.3066.023; Mon, 8 Jun 2020 06:06:41 +0000 From: "Irene Park" To: "devel@edk2.groups.io" , "ard.biesheuvel@linaro.org" Subject: Re: [PATCH] ArmPlatformPkg/PL011UartLib: Add PCD for FIFO depth Thread-Topic: [PATCH] ArmPlatformPkg/PL011UartLib: Add PCD for FIFO depth Thread-Index: AQHWO7HczreqCZOJa0mXnZV5vZYTPajK7HZwgANSC+A= Date: Mon, 8 Jun 2020 06:06:40 +0000 Message-ID: References: <5a94d7db2db04a22baa79c65d42feeea30bf81b8.1591413682.git.ipark@nvidia.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Enabled=True; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_SiteId=43083d15-7273-40c1-b7db-39efd9ccc17a; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Owner=ipark@nvidia.com; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_SetDate=2020-06-06T03:24:39.5802968Z; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Name=Unrestricted; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Application=Microsoft Azure Information Protection; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_ActionId=8ed73f2e-187d-4e86-bc3c-7f598c505a90; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Extended_MSFT_Method=Automatic authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [173.95.172.39] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 104b71ef-eaa0-4c80-8a2a-08d80b721ce4 x-ms-traffictypediagnostic: BN8PR12MB3601: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 042857DBB5 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7LJEUaeU7vKJJNTxfGpsblFEdpbQLODIrjDApuah8yGBYSaQmfOqyerL/cPs0qfUL3GgO/lHyoL3J6pks6EqU3yQYfjNMjzIXxNXRLO//aJG+3GypH9+3r+kVkYt6oSCVgIx+2yJUPLmCgDE4YQHInWsdR/3Ucad4/9vCphMCwBS0OtPBibBYNAfaty9CQirfaIsSHfk+VGiT0g+CMpR2zoWyRUTxiaCD7O0tPWwQCUIYyCgGSusaEO7FBbCy5F9hs+Gy38nrWhIHeBbqUqjjCvnF82dhAyvxyYi3gJrWa7xqCcOtXHlVbMX0wMOkb2JYcdhkfKI5TGUCnUsoMmMgw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR12MB3458.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(346002)(376002)(366004)(136003)(39860400002)(396003)(5660300002)(86362001)(55016002)(66476007)(71200400001)(66946007)(2906002)(7696005)(26005)(66556008)(66446008)(64756008)(76116006)(8676002)(186003)(52536014)(316002)(6506007)(478600001)(33656002)(110136005)(53546011)(9686003)(19627235002)(83380400001)(8936002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: ihRAVZK8v4no7lgCriAvjp7UdG6aFTZXidk4V/Ln1Ys//RDYowZT6Zza4asfaZMfZlptEfzMMUl6MoOA7kUX6HHDpnv6BoyIhJYbbRzHefHx+FTLe+K4Q9tiKI+gwd9YJZ3pa3FOzHi0oSqu5d3mmLxIySJbYGCKkygDTAbJMd9Gw1N/lbnpCHJiZOe2Y5Wy/yLKR9smOWckRxfYQQPz86euy9TrnHK9qvMEjc7XABOfRfoWp5YgQb7nAShsZ2BsVWp9zwqVFkwlTD4PIGhKHBvCD0hIEFIQ5jE0H5UzYkV0FiJwDXp3n4z9OELCYj0D5mntefqXNqn7o108YK1RRo5lVuvy11NGMWwlwQxpf9dbnjEkKXoecCXVq1VQdLSv/I1I0sLNAUiauluKJRp9H9DH7Jcdx6rmnDunDMgkZf9fuB1ntImuVWftXjOcj3y4AU63CvEwRxQKqS8L06OFt9UnOJXZiUYIAA1lnp+LQME= x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 104b71ef-eaa0-4c80-8a2a-08d80b721ce4 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jun 2020 06:06:40.8354 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: CiD2vTE7asMl3IJgdaKXnJJnKTk09C8e7laJj9+40xCa1/WCp2TaouShz+v2VAUPk0nZAOCiryZftmDHLVuWRg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR12MB3601 Return-Path: ipark@nvidia.com X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1591596313; bh=9JHS4hOkwQR6W3BS0VrgemxH9fUwVz5c1EwlDGQ/OOU=; h=X-PGP-Universal:ARC-Seal:ARC-Message-Signature: ARC-Authentication-Results:From:To:Subject:Thread-Topic: Thread-Index:Date:Message-ID:References:In-Reply-To: Accept-Language:X-MS-Has-Attach:X-MS-TNEF-Correlator:msip_labels: authentication-results:x-originating-ip:x-ms-publictraffictype: x-ms-office365-filtering-correlation-id:x-ms-traffictypediagnostic: x-microsoft-antispam-prvs:x-ms-oob-tlc-oobclassifiers: x-forefront-prvs:x-ms-exchange-senderadcheck:x-microsoft-antispam: x-microsoft-antispam-message-info:x-forefront-antispam-report: x-ms-exchange-antispam-messagedata:x-ms-exchange-transport-forked: MIME-Version:X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg: Content-Language:Content-Type:Content-Transfer-Encoding; b=RASrHjfnjENFePZ2CCUBetguQb/TSIsaxnZxnjmqhDAaJ3PM2GQASo0jShw0RtG3k wJQO2K0oiBn5f8maZObwgWN3Jf2Mw/ETCwI28+4w4vz9XL+EUkfb/SvCQOm2fCRIag SE4IPgmCAnsTnXMN+qo06CGjCeUqwFKkwVnpMRMT1hgQ2N6rTiu+FyLAWIbr6yGp4v p1UYvKj6B69DGTw/a2Yw3aatc4Zcgo9eGErVg4wrBeLKHGeyN+/vi/wGZcfZ6Ix7LO BYUaTfsc74ZAuHp1WnVFN0uzfSmo6P7t1iCti6xe0qNlmqq931ngZq1u2p7sW2/xGL 0nO6mSKJl+oNQ== Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hello Ard Biesheuvel, Would you please review this change? Thank you, Irene -----Original Message----- From: Irene Park Sent: Friday, June 5, 2020 11:23 PM To: devel@edk2.groups.io Cc: Irene Park Subject: [PATCH] ArmPlatformPkg/PL011UartLib: Add PCD for FIFO depth From: Irene Park PL011UartLib determines its FIFO depth based on the PID2 value but the regi= ster PID2 is not mandatory in the SBSA spec. This change adds a new 32bit PCD reference to define a FIFO depth and make = PL011UartLib available for the custom UART which is compliant to the SBSA s= pec but doesn't support the optional register of PID2. * Available values for PL011UartFifoDepth: 0, 16, 32 Note that a FIFO depth will be determined based on PID2 when the PCD refere= nce is set to 0. Signed-off-by: Irene Park --- ArmPlatformPkg/ArmPlatformPkg.dec | 2 ++ ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.c | 4 ++++ ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf | 1 + 3 files changed, 7 insertions(+) diff --git a/ArmPlatformPkg/ArmPlatformPkg.dec b/ArmPlatformPkg/ArmPlatform= Pkg.dec index 696d636..b4b950f 100644 --- a/ArmPlatformPkg/ArmPlatformPkg.dec +++ b/ArmPlatformPkg/ArmPlatformPkg.dec @@ -72,6 +72,8 @@ gArmPlatformTokenSpaceGuid.PL011UartFractional|0|UINT32|0x0000002D gArmPlatformTokenSpaceGuid.PL011UartInterrupt|0x00000000|UINT32|0x000000= 2F gArmPlatformTokenSpaceGuid.PL011UartRegOffsetVariant|0|UINT8|0x0000003E + ## FIFO Depth in 0/16/32 (0 to determine FIFO depth based on PID2)=20 + gArmPlatformTokenSpaceGuid.PL011UartFifoDepth|0|UINT32|0x0000003F =20 ## PL011 Serial Debug UART gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase|0x00000000|UINT64|0x= 00000030 diff --git a/ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.c b/ArmPlatfo= rmPkg/Library/PL011UartLib/PL011UartLib.c index 801990d..1aa6830 100644 --- a/ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.c +++ b/ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.c @@ -79,9 +79,13 @@ PL011UartInitializePort ( UINT32 Fractional; UINT32 HardwareFifoDepth; =20 + HardwareFifoDepth =3D FixedPcdGet8 (PL011UartFifoDepth); #if +FixedPcdGet8 (PL011UartFifoDepth) =3D=3D 0 HardwareFifoDepth =3D (PL011_UARTPID2_VER (MmioRead32 (UartBase + UARTPI= D2)) \ > PL011_VER_R1P4) \ ? 32 : 16 ; +#endif + // The PL011 supports a buffer of 1, 16 or 32 chars. Therefore we can ac= cept // 1 char buffer as the minimum FIFO size. Because everything can be rou= nded // down, there is no maximum FIFO size. diff --git a/ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf b/ArmPlat= formPkg/Library/PL011UartLib/PL011UartLib.inf index d99e89f..3e5efc7 100644 --- a/ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf +++ b/ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf @@ -35,3 +35,4 @@ gArmPlatformTokenSpaceGuid.PL011UartInteger gArmPlatformTokenSpaceGuid.PL011UartFractional gArmPlatformTokenSpaceGuid.PL011UartRegOffsetVariant + gArmPlatformTokenSpaceGuid.PL011UartFifoDepth -- 2.7.4