From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=helo; client-ip=104.47.41.77; helo=nam03-dm3-obe.outbound.protection.outlook.com; envelope-from=leo.duran@amd.com; receiver=edk2-devel@lists.01.org Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0077.outbound.protection.outlook.com [104.47.41.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 281652063D74F for ; Thu, 24 May 2018 12:07:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lQe5U9ylo/wxsQA7jmIVcH2kruq/t9cTV94p2Teo6V4=; b=dWljMk73f49jIinpoybDjwEulq9UVcJaG2NyREmr9xqGZwjVwZ92pH4nQ0cSjueBhC3pHoHwjV+zjU32X0FVWSv5qDQVcbFLLXnrNPYFT5m8o/AOFd/nLbWJ+F6ob0VAy7FcrxFy2zJ1I0V3Ng35wvXc4kqNCm421+0ZP7rEtnY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=leo.duran@amd.com; Received: from leduran-Precision-WorkStation-T5400.amd.com (165.204.77.1) by BN6PR12MB1811.namprd12.prod.outlook.com (2603:10b6:404:107::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.797.11; Thu, 24 May 2018 19:07:45 +0000 From: Leo Duran To: edk2-devel@lists.01.org Cc: Leo Duran , Star Zeng , Eric Dong Date: Thu, 24 May 2018 14:07:30 -0500 Message-Id: <1527188850-4553-2-git-send-email-leo.duran@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1527188850-4553-1-git-send-email-leo.duran@amd.com> References: <1527188850-4553-1-git-send-email-leo.duran@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: SN1PR12CA0087.namprd12.prod.outlook.com (2603:10b6:802:21::22) To BN6PR12MB1811.namprd12.prod.outlook.com (2603:10b6:404:107::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:BN6PR12MB1811; X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1811; 3:8B9JQ595QdfcLCeNg+IQeqXjhTC/AogqfqKBLW0L2aj2SWs/8IGeAMzMaxdE9CKs+UG2ZbMcyPmmRkT2MI5jWXR6Nd7VjZApkE4uDBOgyjVYiBHNfReSKDtrTybhWSzfk+DR57G9kmXPmx4DtA6Wcm/leS3vzq8tUq0X8t12gp+I+l0akL7SLYBJg7FmOTm85na59PpQN5IzjjXfgy3Xg5Gqk87X8odcRJfmX3vgrbLnq/IT+vSULpH5GUmq2fdi; 25:c9gEwUv05EQESavrUYVqhgcmH8Kg+TSdrNjTzV9aKGhlPd+EzKJ5xFv6ujBSkRL+xs8xyykIFv3PBXNraJc8QHm1F7I0MP76rOsERMo5NKH98Mwgcyz2N9JwN6LQ/QUh5Ss9Y7zMlBelOKUwSOj3n3ScOy85qVqgNIXTX2krRvZBt5KlaaOUI2Xs5J1R6HtGMe64eg9b5Q5RuX0R/7YjiEdsuKEJiz/jA4oCDqG+KHGeQnUbG6FO/wan6jjGiAGg/b2DQRw7fGrkHNI+l4F39664Q/MSCDhYBQdZJeb93/UTz7vxTy0nlC07rjyaHUtL+cM3S47BMUPTcn5U7zLHzg==; 31:hXxR2T5vXLrRPZfd8876MghT0B3AgPgwA+qffjIHJA/NfNDxngkCicTfwACbpQ4BOxujyl1t1N1KU+3Bh1uToQW2NGlubl2za4tkVSAUJ/i3enyD1kzVVkAI/MTvzPQJvam7mnS9yOIqtr7Aq1ZbbSphZgBJtdpLPDBaNqC7pfVAzouJwKgwxdZQ6UTYKycEzRkInZtJvgHtN6nN41C5G5BkTIDKUppxX21xfLU9X/o= X-MS-TrafficTypeDiagnostic: BN6PR12MB1811: X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1811; 20:DYPMfzbUA1/WtbwnA9G6nc8nh5C4vpklDM90tmK1Orclbcz0HQ0qA0KbQ2HP8/sXNhP6WkGM/aJzL2mEkztGpVXPl719LxfbvfoUL2UAu9bcvK7SQq7LVQdKtEdGgaLU7pt1pkVsPjjHdT/zwtr98ZggOL120Bhjo/flWcLBhuyPpyZDxEo+FGOevPnMdEvQonDzbUEvdwM2lClH0gU0dSnLZZc68cSybqBc+HcF0a34Kh1vIE3HDmlJRm7CiH9f572bZbCrAnCPqSns62QjwJae4gtuDm9/6qDMZ7VU617HA4TBEKH8dCajZlEmPtlOlx3NPArYb+r84/QirNiB13HQXG/0BU2SUSg52yOCtbCKnbw9Dm8W6/F4gdrVrXE/TsSY4qWrN84QIGmtPYfW20H6ORffr4qqw4KS9Kr34R1rvnFzBWUHJZYGu5kd+xVrYVepsXocehYn5fwSG5tPNWgOoiLxnFgYwca1MTscahg+a1FRILvbs4ff7gRdBrsX; 4:v7eNWKS9PgvHEVDNKpvHeJaSRuS0WPkcTKVuP2HVBplANKtDfDE/ii3nuwXsUJoVjxMjG5ZIA7bn+pJXGznE508/GiCvUbtKBfzr40W7VteMgaPr9D0yvdQx06KNfjgJYd+QiWSkvHX0xP+KYWFGkMNML/eoApqeJFAJHeb1RYPLKPUKgit8uVbKWG0dYw8erK/D+Qb3hSdbsBmWnjhsXJXPASOdLINYHTcRhFGWOnNiOXPc0kfIBAZYByMWj0g60ugoeMtivM+0Ilg5wndifDq7iUsD2bT/QMrHEpM09lcepkwNYpzKSxXdCI7l9NbgBVtc/IR9Ija/b2MPog7pRQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110)(228905959029699); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(10201501046)(3231254)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:BN6PR12MB1811; BCL:0; PCL:0; RULEID:; SRVR:BN6PR12MB1811; X-Forefront-PRVS: 0682FC00E8 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(376002)(366004)(346002)(39380400002)(39860400002)(189003)(199004)(386003)(48376002)(316002)(6486002)(52116002)(86362001)(7696005)(97736004)(44832011)(2906002)(36756003)(8936002)(51416003)(15760500003)(50466002)(50226002)(6916009)(3846002)(6116002)(76176011)(6666003)(2361001)(106356001)(2351001)(486006)(11346002)(4326008)(8676002)(81166006)(478600001)(26005)(81156014)(446003)(186003)(53936002)(105586002)(16526019)(16586007)(54906003)(1857600001)(956004)(476003)(2616005)(25786009)(47776003)(305945005)(68736007)(7736002)(53416004)(5660300001)(66066001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR12MB1811; H:leduran-Precision-WorkStation-T5400.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR12MB1811; 23:VUEV2WGiYfWOdJ97D/zJmqcxdME+n0xAy5RKc8NG9?= =?us-ascii?Q?s6zcJYyveAxNrwj8iHfzdmcN1YLgn4D1B3jBIxLHrwl9sf4THQOY5Hp0HACm?= =?us-ascii?Q?JjchZFzV+UW6ArT5vxfqqBYV+1YF3gaaQCsKJIv307ZxSfMwmWDidzr1ch2Q?= =?us-ascii?Q?YvY/2Q2LH/CwDvitDwBVyh70WtvEIIYvzXXfBfcuCeJBozuE/DuN3jWXxqKT?= =?us-ascii?Q?Dg2sKKwB+IPkYH4v2U1s1Mk1psuiG8ofNYIU5ifZl1NyPhsPyYEO1L0fSy4S?= =?us-ascii?Q?nRJQnT+Cw3m9tBQg2SijUI4BQTbuKDd6sNQlCMm1qNsE/WqWaFupkFl9FiIo?= =?us-ascii?Q?HwqQ81Kq0C8+67VxIYzhk5BxQNXa3X24H4bo3ru4W+akZ2BZ0RxJKlFRRzoy?= =?us-ascii?Q?EyB9alGfmA8xKTHnt8TgU9FvsB4/WJZImxBhrXSVFhRH7/E5sWMAFueykgb0?= =?us-ascii?Q?DKOpk6TC1i0isi8CfTiwwh23I2YxxDib+cMTle9b02FUKAjFTAaspjMgTyKA?= =?us-ascii?Q?E15YbakbsPsQOF2pNJzDTXh72/efNLCSV+mF/Mci0PmQ3boVOeWnY3NeESg6?= =?us-ascii?Q?RwHAb6X8S5WfFWNIn8+spWHLx+n2mcZLLTH/YXSbfjVakHXSZYTsR4WxfkAB?= =?us-ascii?Q?9NbogSqjc+5fmIeZTolRzMAkjwU7WBTLN04aLz/0MFVVXm6CRob6f9V53F/t?= =?us-ascii?Q?bZv0PUq1ZWAxs9GVB+ktJF0DnHr6XCp/6hSqEDebvD/hQI+6tcxtuYcXkRZt?= =?us-ascii?Q?JxwmX+1pMspNRKc9Ry1uuof77jAjb5+JELnxojstBzbX57F3viCdVT6vIE9H?= =?us-ascii?Q?ckxQ5yrZxW84QhC8zEjiMUuNuY+TDDHuecNwICt29nttBQxc4NtJaPG+RFm5?= =?us-ascii?Q?UvIa4/E2dn1Vt9KR0lKPWSUwDfsT489HZuugMB0LX2ouGdpb9C95lXynyq8D?= =?us-ascii?Q?TreA1L2agcOSot7qwoK/deDwjM5pvC+l7bOpvVfuoXDmieYSCFvTG1MOW1Sb?= =?us-ascii?Q?4SCEJfzmUvI+RyxXwAFiTL0HGaaZWfGZcvlEkM4anNQ0mfKluzcbsvWMHFbZ?= =?us-ascii?Q?KItsit11Tl475OItnMpW+LBFSLtn0Rdoh+egZcJMCN6gXVKT87L+EdX8liek?= =?us-ascii?Q?J+fEYfmQ943ONS4HZshJ9U+9bWWFYM65kVRp27E+z6tX81NjvYj5J5fWZa6X?= =?us-ascii?Q?B1vO1sKFdNQFkfUlG2mBd+GoY24EVjJBRrQRkZubwURz75myIX0DoMAQyCKY?= =?us-ascii?Q?N4HdjhbfP3avbx4VgYL0O4JA9vdXF3hKnbEXAPTbS35MsfHDlfxiuAvV/1wa?= =?us-ascii?Q?4vLqRhOoeMI7X2SYo9ayio=3D?= X-Microsoft-Antispam-Message-Info: wCUYqeyxqhsbggYEK5up3EZs2NJQ+Z5A5pAZwDVqsaAt5BLx44k2CbnnYIxkeeD8efCoMPUsTdhc1+TpoBBRktyxz6tYVenmotHo9V9hZ2rXvUXneJ/NwoQ84ZoHrXtGwqXWaiBI1i1wnQi/Bo55R5JTkf3WB3LjrZuNRfpKuPgIYiHgKgKR5kUAfLUBWzfo X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1811; 6:prFUA3odwpmK2CbSWVQTj1e0X72t/lmJZDpczW60VE5WJo9n5ss866fodjBDNS90FjldDiWACYmxHQKBOtN9miuHqi/OK3EHfkf79udXt21ddErcTtbh0WZT7OiJUhVFyVMMGKMQJpnfrTaM4F58SSCfhIXzTPgneTrjAKRsWsQj5YUdZ+gKl6Hrvhl9hEU79wBrZN1J648FF7S5/T9//GfFDHVPjO2an4N52OAEbFtwiNNVSZPeS54SSs1uWjusdm+IZhL1eg3P2h6zIP7QQSiJZ6MyTQpMMI+A6BCG2+vi34dp3J0990Cy4nUCghWC1SEke2vXBm526WTt/rcE+FBOUny6GEp5KS991hOpuw6jNdsJfXhvqP99rzCtgbseCYAF29w9penKqEQ/G0mXjRrtoYRfc/JLIkdjKdYg/qjyk5H/bxMh/7hUn4Ne2ruYBZa8XuAGVo93qTVvF5WUiA==; 5:wrTMv48CJLWwJiy9NpOgSA6vJwbTYic/6bEI/Q1ymBunTJ1aIxH8EJgoGYuwarAqdb39hSWyotJqS0yAFHY8Bvc+Li6/CnIX+0ik3B1H212wBsVBQiI0qAfmYPBOzJ4GuIL5mhJhg3+x1d9PmVnMYwJ3Zmgcs6Xs56ofbN3dExE=; 24:SyxXHLAyN77KmtxbOkAcMFAOz7km3kLdY1plgqBRccrq+dA6wiCHBpk2e15kNnc/u/3ve/+ZfiNfnsLo/R11KdNUWXJogYIMLT0lw/btBL8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1811; 7:4UnNp39io5Urr9pbhn7nWV/XzEXGR9PJ5aQbe64rJtUGkOovfig6qDktWX7ly1TR79S/TAl0zmhyk+pY2FwhDcxR3+98M9cDsvO6Fwb5bvzVZ73qpL6d4hvRm2E8v2NexnoiAIA7vB/7+6vxKvFni7l+tYN4G8qLtLvM9jZWJ+PFi9Xeyni4bB8+iRZ5cHjoO7i1lKpVx5GErwGOKk6MrDKtLz4Lg2SYaAq+Se30mz4TpqZWgbFiP/tAckIr4kjI; 20:PiYwAJUpRJ87maJji+dBxh/Qwgpst8gfg4UyAKHwgAktu/oMtUzP5C/wQ7r9u8YYbofeTIellgriayuMU2wh92maD4/4ma2WQeEFRZ6Vy/lKvt9UDV86s89znS3uFxT/D07HQ0haUn6PNgFdNkatbku/eMMTf/AMB7imkC3SNi21NERh9fzHNSh1qgknDU2gSyl2Tzi+A2kxSuOUD4u7ojOuvyiN9wtM41cc2W8kx749DSNnDjOLBo4iV7XKDkOk X-MS-Office365-Filtering-Correlation-Id: b35b5e98-4212-4a36-f74c-08d5c1a9a22b X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 May 2018 19:07:45.4194 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b35b5e98-4212-4a36-f74c-08d5c1a9a22b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1811 Subject: [PATCH] MdeModulePkg/Library/BaseSerialPortLib16550: Ensure FIFO Polled Mode X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 May 2018 19:07:47 -0000 Content-Type: text/plain Put the UART in FIFO Polled Mode by clearing IER after setting FCR. Also, add comments to show DLAB state for registers 0 and 1. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Leo Duran Cc: Star Zeng CC: Eric Dong --- .../BaseSerialPortLib16550/BaseSerialPortLib16550.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c b/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c index 0ccac96..6532c4d 100644 --- a/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c +++ b/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c @@ -3,6 +3,8 @@ (C) Copyright 2014 Hewlett-Packard Development Company, L.P.
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
+ Copyright (c) 2018, AMD Incorporated. All rights reserved.
+ 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 @@ -30,10 +32,11 @@ // // 16550 UART register offsets and bitfields // -#define R_UART_RXBUF 0 -#define R_UART_TXBUF 0 -#define R_UART_BAUD_LOW 0 -#define R_UART_BAUD_HIGH 1 +#define R_UART_RXBUF 0 // LCR_DLAB = 0 +#define R_UART_TXBUF 0 // LCR_DLAB = 0 +#define R_UART_BAUD_LOW 0 // LCR_DLAB = 1 +#define R_UART_BAUD_HIGH 1 // LCR_DLAB = 1 +#define R_UART_IER 1 // LCR_DLAB = 0 #define R_UART_FCR 2 #define B_UART_FCR_FIFOE BIT0 #define B_UART_FCR_FIFO64 BIT5 @@ -554,6 +557,11 @@ SerialPortInitialize ( SerialPortWriteRegister (SerialRegisterBase, R_UART_FCR, (UINT8)(PcdGet8 (PcdSerialFifoControl) & (B_UART_FCR_FIFOE | B_UART_FCR_FIFO64))); // + // Set FIFO Polled Mode by clearing IER after setting FCR + // + SerialPortWriteRegister (SerialRegisterBase, R_UART_IER, 0x00); + + // // Put Modem Control Register(MCR) into its reset state of 0x00. // SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, 0x00); -- 2.7.4