From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S938624AbcIVUYo (ORCPT ); Thu, 22 Sep 2016 16:24:44 -0400 Received: from mail-by2nam03on0061.outbound.protection.outlook.com ([104.47.42.61]:18688 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S965064AbcIVUYd (ORCPT ); Thu, 22 Sep 2016 16:24:33 -0400 X-Greylist: delayed 2000 seconds by postgrey-1.27 at vger.kernel.org; Thu, 22 Sep 2016 16:24:32 EDT Authentication-Results: spf=fail (sender IP is 66.35.236.227) smtp.mailfrom=opensource.altera.com; hurleysoftware.com; dkim=pass (signature was verified) header.d=altera.onmicrosoft.com;hurleysoftware.com; dmarc=none action=none header.from=opensource.altera.com; Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=tthayer@opensource.altera.com; From: To: , , , , , , , , , , , , CC: , , , , , , , , , Subject: [PATCHv2 3/4] serial: 8250: Set Altera 16550 TX FIFO Threshold Date: Thu, 22 Sep 2016 14:56:16 -0500 Message-ID: <1474574177-4984-4-git-send-email-tthayer@opensource.altera.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1474574177-4984-1-git-send-email-tthayer@opensource.altera.com> References: <1474574177-4984-1-git-send-email-tthayer@opensource.altera.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: BLUPR0401CA0028.namprd04.prod.outlook.com (10.162.114.166) To BY1PR03MB1402.namprd03.prod.outlook.com (10.162.127.144) X-MS-Office365-Filtering-Correlation-Id: 9c57fd0f-d4fa-47a4-ea17-08d3e321de26 X-Microsoft-Exchange-Diagnostics-untrusted: 1;BY1PR03MB1402;2:j7VYo5+e01el/CZOGC+QtGG2GKJ2nC2DbfhF74XWAzIq3ZbjvA0xb4yuk+4JYE3dL0CzRMe2Hql8/N+X/KpXl02gq+F0Qg4Rw0Ilp4fVW0IZqXy7+QAx3OqeFH1t/XUUQLjRarJ5aOaJFeaCVof8Zdi24pHG25zL+7uFby2yxIU13czU2i1ay6YJZmsrk3iS;3:O2d1PLjFDzfX+CMlTaHFA1NtD/LBhpTknv8Fu97Hn2vYbD5C1T5FpgYPsZrFpcsz+OeHPdkK/MxnA3QqKwIKeldXHkhBb3N27zI+eQg7nTAGVL02Zmux4uRcxAe5EQwt;25:AnXWgAU6+Wl3X/aO5uYR1lz34PbnQgcZuQY/7VUtBEqyib//7QoLEZfzUksVhp6Z2fkY88XNdWpI4r4L6lh6Acd5RXpD+uGYam2ztKkpkxRayfAw+ZUZoQo1DqlFiqN/KyxebOB072n8aDU1oTKn2KA+sdb9pK2sMu/MPNxKla3w5Nu2NtN8PHIdeo4ToMlmxstxWLk+m2fWP8LQTDyT+JJgf9LtgYnfTNj7ccNTi/7MjeVEv9OD7VHEXBDNZURr92YqF5ie4S0SU9nQ/eqSC0+vAP8PgcxLZWx7vMAUgstq709JnLLOvJdKTCsb/Cs4ZY0OQ6zo1UjN8FmMzTVXND4lEn94Ss5uqYv+hqsujyCBClxj+jYGiROKvs1M2y29yFarodFOy0C25hDMYk3bQd3O8UaxXHS34aPq9KTxTQc= X-Microsoft-Antispam-Untrusted: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1402; X-LD-Processed: fbd72e03-d4a5-4110-adce-614d51f2077a,ExtAddr X-Microsoft-Exchange-Diagnostics-untrusted: 1;BY1PR03MB1402;31:tFb5GF+Y/ch7sEu0h2X7OFgQjr/Asm9e3TY9UJafU1tf/Nn4lAJOzPof+rR3qH1uqlWP4ZVmfkt3nA72FYlRMgX39w1WWHECl/wBKRlgvYToonQQefS8f6iyEbhri1l/f5SU1b4Ttd8BxhiglAEmJ4H5AZoTjgy9QiIpop3og1G71NHbG6/wuZXsTuRmY3sUmbjqRyV4jT2XD40D8HeL38GwgJ7Hz07LNJF4nY6t71A=;20:MLQrhRQ6KnkImOYrHFRRIcfu5xwPSRLbys818om7s9SmI+YVgkWHYdJjItvtn0fZ5qsCIAqrvtNXj/lTpPPKCZtyajzE0KrN3MCBmAdOZaxoTQJIC3NIDFHbwDQN0mzbCaBUT8wYehW+W49qm4D1v1n2qN1QMf/sS3l/MwK7CcQ=;4:wRZheiPZx1LG/TmzyokOLz/Itb56BYvKY4Dfp0tFlAZCV4yaw+7hDlRGSagQ3hE/trE0QQ5WUuxk87tv5MTAtZQZvx0eJP12cQnx/hUOjgL35tu2rgvAHzIiCxCrQiGRqymTpK8QRlikGb7+APCNJV2XrxA1Lh49B5vvkkzH6exb22dA4G3G+gyBy6aj8V5Bsvw5b63Q1iuApmmqpTUdvPmOas/l8/Pu/fezReeI90mZuh3S5HCIm4vGiejQo/uCDHc9F+XHB+QQCya3ebGqNQVVuMqDjXOrpHJJufMqOW06EQdaKfx9m55NHzjnHbfLGUqM4qzby5rUEIk6M+bpfnhcO9m9G4T9Lz/A0tYsWDTiKK5GtetU9oZmUW45B9fbkav17hZ8cAhFQeIaJnF7GXWKZB0LZYqtnkLvh64YrDathBUdBWt6cGZwmNyFuOcnGMYw8NlGx/VG97Y2zcXCqg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(80048183373757);UriScan:(80048183373757); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026);SRVR:BY1PR03MB1402;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1402;BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(13015025)(13017025)(13023025)(13018025)(13024025)(8121501046)(5005006)(10201501046)(3002001)(6055026);SRVR:SN1PR0301MB2093;BCL:0;PCL:0;RULEID:;SRVR:SN1PR0301MB2093; X-Forefront-PRVS: 0073BFEF03 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(7916002)(199003)(189002)(7736002)(50226002)(50466002)(105586002)(229853001)(33646002)(2906002)(106356001)(101416001)(76176999)(4326007)(19580395003)(97736004)(50986999)(42186005)(5001770100001)(19580405001)(305945005)(68736007)(2201001)(77096005)(586003)(48376002)(5660300001)(47776003)(5003940100001)(7416002)(575784001)(92566002)(6116002)(86362001)(66066001)(3846002)(86152002)(81166006)(81156014)(2876002)(2950100001)(189998001)(7846002)(8666005)(8676002)(7059030)(326664003)(921003)(2101003)(83996005)(4720700001)(1121003);DIR:OUT;SFP:1101;SCL:1;SRVR:BY1PR03MB1402;H:tthayer-HP-Z620-Ubuntu.137.57.187.33;FPR:;SPF:None;PTR:InfoNoRecords;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: =?us-ascii?Q?1;BY1PR03MB1402;23:5HKhBJqcXz1GmaEDiOsmnajvF1iZNjA8bucDR/ixT?= =?us-ascii?Q?21xKq+d91mdHh6+2mucdFTuGWLSlVg4yAL1aFyKUlNp9puQ92n3+fNN5Uky2?= =?us-ascii?Q?fYmhG9O6M4Ldkz/fdACP0W605ahIw0FI6z3uhmBuXWA3G+KqSgzAQpI/igeF?= =?us-ascii?Q?VCpwrWyUlX7eEFTBrBFbv+ectFc/0BEaH8U1SyKxxv+n+weW6eGXPnO5waOk?= =?us-ascii?Q?WWjE2lxDUmGUKY2iXc7DDodZMby5rVAfcYlTHFIyFRNJeYGa14iBR73G3QB6?= =?us-ascii?Q?Q9KCmQTx6gQ2493WR0++wCSqMYbd93Nqmea47w8B+gjUPO3LxuHKvwGXezmE?= =?us-ascii?Q?DmDlV6lF/DYCqhOcd6Oef2zcbpEUlOSJffxOvcmW/MZn/KaUiNEynxzaHOzd?= =?us-ascii?Q?jPSdC7hZy7yicA9KkLqUC6ox2dkNLVhUyHM07KqPTceYsmw7dj12bAC6459F?= =?us-ascii?Q?WHNlLtHTcY7/OkZJ8Fmqn0NiimFXo+gqIBzxRPf4Y3fSKU+H2/HmvljJay7r?= =?us-ascii?Q?VTCa6lgiyP4D+UrjY1jumwLucWu5girvKeAsvtk95OKHsLFEHZADkDSa40I+?= =?us-ascii?Q?o9H0j1gWjxOk18gRWEYqPVohHZR59Wx5VeGB784uaUWpOZSCnkgfq0RObQon?= =?us-ascii?Q?L8trLUxf5iKdMXN9mS3j/1LQJk3ogr6ACuopTY6vj+D45UOybjs+rqRQth9u?= =?us-ascii?Q?UV0dc46mhTRNRn9EvJZ+CP8jtfartixaLtmJW/tHYSYBtlMP08QDttW27ycr?= =?us-ascii?Q?B5avj6Z61T1mfv4HCEcWTdzmxqnIDr+plUMgxSXUkC9RzYaNGBBQ7eR004a+?= =?us-ascii?Q?1FZTJt+sL9rbl9Evm5WyB63lBHZtwitvOkXo1M/Q9vRDk6i8Fw4Yq3a+Iwlm?= =?us-ascii?Q?CAtZb8chSWSHOmGHrDCX2HlDrYpsmnk13yHYaL7u4MTs+ELMqfz3QY4+La8u?= =?us-ascii?Q?jmpA3Vy61SIlzYB+ewlGAqYNhm7tVn3VTbKa+Jq7QgAgULRB0PunzaR2PPtb?= =?us-ascii?Q?Bwdt08nrAlF4qJXFuvfrbBknuw61IHwZ2jPZP4FJ9O7rhGZkp04yAttVleuE?= =?us-ascii?Q?AVXrv0K8+pjf5V0fH03icQ5HZOrFAWfmekL399jfQxm6wLk3UxE3ziK4HX8F?= =?us-ascii?Q?/gX/xs3GwiSQyLCZTY3CGYJV/5Uw1IJ5mXOQvdlbjjsyoAyyYpGtUNMsUvHd?= =?us-ascii?Q?n8tg6V+CL9ObQH6TrgoIIxsAsg3rfHu9fgeJ1nRv0zwSwiHmz3YhhR2oYiCR?= =?us-ascii?Q?8GSCscSX8B5xSBusGjFzBfEZ0kZwEH1lHRuTW4cm3TVgdMhp+9OreXz08qBL?= =?us-ascii?Q?gg1i+cBeqruRHAtWU7OLNI=3D?= X-Microsoft-Exchange-Diagnostics-untrusted: 1;BY1PR03MB1402;6:mzASP0Uw/7Mol7Mv9ggMpCBZs5h99YllCksNO0zBlDSDJG2STegD4onzGpQQaRgeN6WGDgdhu0KDQvnggWfK9D1d4nk6GxY3pA4DLlJfX5hOImPKPaGO6vbGt93gP75YGweyW2kX79vR0teO0bgCwXFnoJ3iJiDaL0Wt9JJ7oCPA5Bc82nrFw61OyotVjHTOxgM2f2lHRS/+YfKxfgLaUA4S45ewHNiC6EpB2GVwXe0d1g0Q4HunM7Nza+NSvigdnrqYCAKa1kGwIZi5hzQN1pHjnECPgvPy9kzNU2iG9rIudtyuVr5b6IITrNNRODhWoYP/JJxVuuuuvmigiY5QcA==;5:cYHIApnxlHbv2/NIBUhLb2YAxsMPP9ZZfHDM6zJw3+nPD7XEA4iQ3wVs7x0GKH2Dx0d1B7wE4U4nLycTNzthMtdF6RsHpH5dYlReay3xeWdc5rsTMmtztYuOqkKcPExwh8oKsis7Es4igmWb9psDOw==;24:YuaFgOkCqkGMQ4szqGrvq+pkgcqQ2J0KJpBfiN/JNXxWJ2sQ/yMZ+GhOdpt7ITTx0bmbtXboRk1ywPV9u8NP8lb2TaAC9hYu5Yp+2WBE7tA=;7:rO1n66xIyheEbzwoTAyLbik/pjaOaE63W261mys1VvzTwoZRWgWJCxDyv87EvkRFp8BRg8UdKtCIGps406EVDq+frRuF12r+OL//laiM+oDevUCzJ+CPfFvhNW+gD9AB3dPZBxf09N6/9/5wN0yGR4cMOtIlaBXsr2IR/neD7ESlHDOY7gKyPy94wesVZifY4DRQ214pavfwyC1m8FtJx4VbcyjZLymTrxQKQHgqiP1sclqpRfMUUyYxEUtM/zq3xfV7TlieRql8o20DUcVPD7wcoYmuCHqj1++7BXBdRZaHQODBsGb9XGKsHXgsVz6h SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB1402 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:66.35.236.227;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(19580405001)(305945005)(19580395003)(50226002)(4326007)(5660300001)(7846002)(2906002)(7736002)(2876002)(33646002)(68736007)(626004)(6116002)(86152002)(575784001)(3846002)(77096005)(956001)(50466002)(2201001)(8666005)(48376002)(2950100001)(86362001)(47776003)(66066001)(356003)(8936002)(16796002)(92566002)(3720700001)(229853001)(11100500001)(586003)(105606002)(50986999)(189998001)(81166006)(81156014)(5003940100001)(336002)(6070500001)(87936001)(5001770100001)(85426001)(97736004)(8676002)(106466001)(7416002)(76176999)(7099028)(326664003)(7059030)(921003)(4720700001)(83996005)(1121003)(2101003);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR0301MB2093;H:sj-itexedge03.altera.priv.altera.com;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD002;1:+Vn9Eu6SbqbY070ge0nq4z4Y+KvtQvh8Zd8Dz6nCn9ARidrQfDs22iRmmr/k2nzjA2lQSdHoCCJQNjhKOvbKvTVMHwP1pl9T5UOXp4cgQiTZ8WmYTbVnOtZPQnDPjdFshU2GxaTBL++67FCsoCL93gxL+0QvCmnYvyZud+SbJRwUjAxIimJqJZnHwJK4W4KgKe1SzLaZLgO4Jyc00HTwaXY7DBgyiSlRHLBmM2vhAqni2Otj0uUHLYEe/Jy8VSRGEvMIv4p56YP0dc3FqusTLSzXSdncCljYWIkIRLc0uI3iS4R8VzL5aueKAjLP3VU2jfR/YKifvqjvgsqmYX4cMTGrtWF52pAzLegHIUSrtB7EoVIUEmaQmB/alJ8QvqTlS53SKTPfwDdpQtNfzSrrYZxMl5ss+dtFG9tFsiy15obxiEf8JIPrv+zTzu9ldhv4WW9sIZ03TVUiyF0FnX9RuAvKQ9X8cL+cQzSCBgpt8SbBQhsqKKCbnkJVWdKBZ1A9a+WTAea/a53mSMWo3dN6ufN0jCzgIXZaPTfoyEfE1HmqAyAU6KAZs/vYnJ+lPcDPoZt0GEaee0eWESBFJ8H6HPibERiGRZVmbHG3MF3JPc8= X-MS-Exchange-Transport-CrossTenantHeadersStripped: BY2FFO11FD002.protection.gbl X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB2093;2:3/ENh0HUXqbDmYvtt711pseCRSOCEMQclxsoSpQkjHsSKOzY1sUrS8FI8qgV1spfPPwvWa2D8preArOVD4BtFkCaQ0+iPbOLPSeix7a4/R921uLS9gHdAhjLVtf3AfWpKCKrrlo+KCJC9F+QwXS9ozNLfOnj+I2TignTEJx3gQu8+A/ERBvk8vg7V8zuAod1;3:Gvraq1RH961b8qpjnsfpbgCLGZlu9nobkB/kuzX94Nv5R/CSmnoPdtm9lzW4u9BLw3QnZD0BIs3hWy9sNri9XpHIbf8ALY9+WTMphe3jksGckrHu/PbWhcxlctPzyLkQxyT5jkjMu++vAkix6AzlvN9mcYxIF2xyy8dM8Oij/sb7qTWKUiM3ukS0fkWRZlFJNLXOgEO+2jt0vfpleqSSDqrqm5W6ddGv8CGMJHtFUj3og7tl830B+SMpVe7Uwh3d;25:QRnp3Nv1FUvVPAofNLLWglDp1AE+8xU/pyeP+Wx66z3KjeB84tR4RQEBtxKlbTwCul0JvnBYjokzx8rOhahUYMS8KC6V1vUExAeCfOMV/s2NQHHwlJKoIrHuan3T7k41JDpFKEmJf9xYeke6Teu01FjWNh9JwB2NKwnT9mU4TV8ZK84WRc1zGi8kEFZvMZoDUiswOHSU4kDt/H1TolsGxHhGfzBYleXYCCdCcEQDxqSGNquzdz8kFJXQ0BtVFGRH4ncx6VoLt8tmydfhYlAoERlV+rdTaCjLfyQsjRGOobnA2hdD6nH2IuU8k6T40sbw4y/uNsQMUeGPz4FK6Sc+wyy6I23AyUNHX9Z1HUB8NJSJ+VFaBOwBjciK5Y5NL9TwxSGQlSha3uxGRFS/+aIVnX831qKo4kSagm9ahHBG1aQ= X-DkimResult-Test: Passed X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(3001016);SRVR:SN1PR0301MB2093; X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB2093;31:evo6kFqPHjWhY1GBjxmdbw8vt0CEaRIom9RWW9PndMs3C9h3k1+WBP47IcXwcQNcuhQJH33ZmZyYqyHbaZeDhfrvQAgdCj7Kd907aLe6kMe9ay0Z1iTzHzms9OeOkrq0hZCj6kNqnKgC5BDzWwgjyLGiNv7LLSNQqTxZUOt9OcvSa77xC/Az05LpXDtdYyZQMTw4l0WkpCToR9FIhdJ0U5hZIS2KFL7KbH36+bWp3TY=;20:CQ7YCo1CdOzsxIJOATVbWEAtR+VUvnsc50HwXUMNcnq5oVBglcjpebh0t6Md6zR1BPUoB2tKS5+OdUVXCauQ71hdqKqdubtD8F/vQuKpGvJ8nl3I/OBIOUdIruF8ho2Pl4J99pGlt22lbASfowFTy15pzCr5TPvB/lVf+onKcww=;4:lFce79/RMi0VqDb6Khc95T2bIN3/yuqdu5N3b6Qq8wLwo1qMH2mWM7ZehkloyJOZlQV0zZuEijEenBdaGt/EaprnMGC+txQkTs881bcvVLI9irvLHN32gKCdqgwSZ7zZixkWuR4l+Kwt8KYc05tRKpY0RYgQ95A07R17V7as5O9CuWrF28dzL4Ncys3KCvZUi4pL1O2KTxvVZjRQhiAsq2HwV4fztVPs3nMzPtiiBMoIBchrqfystigs09N24LKb9LGxrgz1Q6glAwEh7rgKJr+GV5ecfL7jsVzvPml5reF6WBmWYQXFRY8kjhuiPo3aGgolF+OmqVO3LI4Xv8rHb/aaqljaJjmLhYaHg6zoCnXUC5Gh2jm+tuT14IOkktj+EUtDhwO2ICc1hmbrxR40QlEtJJFqJyeqPrnxxPMUYF5Gb6gwNsILtFmbL0zKTFrakPbvE5xsAq2+LpgrksgCY+SDV16SxZnJ857AVYuhJdDtQSS1ygyzCwU61bexE/mS/pNRqWEL/5TZY5KFfVEksAClsvwBGUFJGzDcrWTXeOY= X-Forefront-PRVS: 0073BFEF03 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN1PR0301MB2093;23:C8BeSuvG0OQb48iYJMJrDrTdYASZgxSV7sOpD8K?= =?us-ascii?Q?xnGWmUbimDnm6SgqSFHV5dIEOpvNLuafK8xZa055L/q3n9cMi5iV87K+J7gw?= =?us-ascii?Q?El8bC4aIw3mf4gPK+/5SrVL1cX7smyFPhwGU/bTaCNwGulzJH2myBXapyCfc?= =?us-ascii?Q?+BNZ51neL6TanctpkSuXS2Si/G0JW1223cWQ0gtI+HwTekfLaCkDslaa6Qah?= =?us-ascii?Q?0HirwliLUlL/F7gKuKjlQx7Sfo2yCFUbE6jr8eoSuuGKytChGZIDsIDN2rMK?= =?us-ascii?Q?+NabuL60arjYpyBBhr2j0MNjn3i5pCl3xWFwt2pyd07HBz+fvGOXW9WZOK/D?= =?us-ascii?Q?pzmEaQaoEW0zfUgrbHv10GBnVZkwTXfWITRACxtukRF10IYR4ZQkIiZmJhlY?= =?us-ascii?Q?13bpi7ddH3LMmWnTdMexDhD6pdk0mQVRJrDOmkA5i/02AWUACsNr0LJCk5I7?= =?us-ascii?Q?rxcVqaLUFTj9WK4/FYrfJKyZ8BIJhT9Y7FixUzHwa9TV2wKvth9qpFliMHa6?= =?us-ascii?Q?MqYXTB3AtekAF6Kn8wsAQfov1MKv3Ft9vJI6SGCagyBEQpkmF4tOvQJplltq?= =?us-ascii?Q?iHfPQ7liKimk2tGvgFE782o3mgZOlhwHQOVI2jajC03Y/izLdKX71CTemgIR?= =?us-ascii?Q?rMy/q3pnlhBRSBPHcCQMkXr7+lcit7nxid5wt5i4nnI/O+eliMycW4CIEccI?= =?us-ascii?Q?CzPz+Z83bX3bE/p5PPTHteYhzIDi0TnO2QPSIXtdH1157fMyEmH9ZhpKhVPN?= =?us-ascii?Q?0ihMxQ7z1Mv4xvxRie4yjZFotSnYObMZ3/uIoeAq6PoSgzo58DCKmPyu1qAE?= =?us-ascii?Q?sGH+Qkszik8zcPN6isPNVzJ8RjXZv8yCmrn1O4S62NdG0+lG12cyo2rmEbW7?= =?us-ascii?Q?Tqy5WAoOz6MOfZNvpl4HBUsupgOj4HhidXD6QiBb/5bOkJHRsOoz/9tOUoBq?= =?us-ascii?Q?7tCHfZdKQWZg+7+4ZsuUHq/itrPLwW8bQaVth48iPLP6OG51CFFqlXnlEzkx?= =?us-ascii?Q?QzyNcCfeEJ8Ej4itLEi/d9MgW6gxXAROOroBy4Qaor0ShSDDlJPhf1XNQGIs?= =?us-ascii?Q?HDeLfc8UDoXZE66DM1kCskiVzaetoAZL4ZP5UMia/Mca6GJqrXD7qsdgaqeV?= =?us-ascii?Q?MjDZOn+0SKLWovhX3a/EJ9Hz7zBpZ6b6x/sjNF6h9HpBVBLG9otZTBfj7m8R?= =?us-ascii?Q?IHif1c68jEUCreWPy5jwgTJavJ3SCc6qThzQLfTuQlMN4ZPxe6a4SXmFemFN?= =?us-ascii?Q?dLKvcFow37MWWXm4x9F96KZOIRZrcBv3LClr6eFlsaGxj/V6thcgqZXMF0Ad?= =?us-ascii?Q?j2A7ZkBNXSlZ6HzlMGYRijih7YdONqwP5nay10sUHVB7wtxdqS0o24UdPEtj?= =?us-ascii?Q?rhLpKdpHETPm8vkBTpbZeKlUfk/UOFzkw+QEJ/EFVQWS89byE/UXoVdIHYjs?= =?us-ascii?Q?lrwWs4mjMS2gbQqcDHvdtR/U+r6XXkZn3TeFlpukJVd1UPghb6X+KNYDiv8Y?= =?us-ascii?Q?QBBJYOJuhyhV0dJw0G17mrOEl0J14sxARmI1if+d9PGct0Hpib+xmfJ7Epkt?= =?us-ascii?Q?fowaK01LJO47+7nXF0w=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB2093;6:d8dLlWunW0KBiBI8nrKXi5tXzdW+v2dS9kVl4+y0pAycnpSLBd6S0646lAi2kvsCMeBmOPfhACBgqhAoJZiOTKMAd6RJUfWuzwBBRk3i4a9UUbpx72m7bakdzr1IKD5LqId1JBZR4d2uPVR87PNhb78H6WueUXh4+i51/yGCGkBDrCuguUxnOXM4pOk/k3rwrhBjgmSaTUC9kxVB/4qXHjHdY1AzjE+hpMowJxTs/oaH25sOgkk4ADiU7oejyDmUb4awR7PEGtWM80J22pMmGWpSpK7npMvlUJLLv767dyJv3r6e2p85F9c/IH/cW13KzAOlVOJdTxdQhDvA6uBWUg==;5:op9LC3qOtqidApVGmYtsQf6V3FwijG34OobAbZlNJ5Np1U1Ka6MJnrP7tsxNhtggJg59ID5ObU04qOYfW/R+7VT+etHiKrLm4d6SiabjkJbU5XhyxBp2987KQQWgBg8usUg6JG1hyMaCKkMAKg0X4A==;24:+JnceGPppuPMger0+Sp4EG9Z1ExBLU/WkBl2R7wNUoIkdn0SJfgNHdrtE7PZ/iA/bxAuliUhqRADwBYWYJfHxzL+hNV94nWeJOb+4d3y7+0=;7:p68EoYsDVYrknBB0wttG7slKT5LYx1Pf8BaP+mKPajriHRd1yXMQ+2/3rWSy3LOQSfuHm2RHE4ESDMl+PDgiAaU8UeL8IN8RQRoTa02zU+maJjijG8P1mGLc1iD0VxlJYZgk0TJRCoU2dHns2ND/RNj9KHa3yj6hW+Ihut9J8aa2IdxoMAPNZOgNKmIB2hQLJCkoVM6cEAwSfR6eu+MYz47taC5DBp7hThlS3lQeeTDyWOKf+DELHzDptzwUvCrCzP4K6ZtvQzB3Cl38ocrsMQ== X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2016 19:51:38.3806 (UTC) X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fbd72e03-d4a5-4110-adce-614d51f2077a;Ip=[66.35.236.227];Helo=[sj-itexedge03.altera.priv.altera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR0301MB2093 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Thor Thayer The Altera 16550 soft IP UART requires 2 additional registers for TX FIFO threshold support. These 2 registers enable the TX FIFO Low Watermark and set the TX FIFO Low Watermark. Set the TX FIFO threshold to the FIFO size - tx_loadsz. Signed-off-by: Thor Thayer --- v2 Add bounds checking of tx threshold value. --- drivers/tty/serial/8250/8250_port.c | 43 +++++++++++++++++++++++++++++++++++ include/uapi/linux/serial_reg.h | 8 +++++++ 2 files changed, 51 insertions(+) diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c index ae3a104..24ef65a 100644 --- a/drivers/tty/serial/8250/8250_port.c +++ b/drivers/tty/serial/8250/8250_port.c @@ -1870,6 +1870,30 @@ static int exar_handle_irq(struct uart_port *port) return ret; } +/* + * Newer 16550 compatible parts such as the SC16C650 & Altera 16550 Soft IP + * have a programmable TX threshold that triggers the THRE interrupt in + * the IIR register. In this case, the THRE interrupt indicates the FIFO + * has space available. Load it up with tx_loadsz bytes. + */ +static int serial8250_tx_threshold_handle_irq(struct uart_port *port) +{ + unsigned long flags; + unsigned int iir = serial_port_in(port, UART_IIR); + + /* TX Threshold IRQ triggered so load up FIFO */ + if ((iir & UART_IIR_ID) == UART_IIR_THRI) { + struct uart_8250_port *up = up_to_u8250p(port); + + spin_lock_irqsave(&port->lock, flags); + serial8250_tx_chars(up); + spin_unlock_irqrestore(&port->lock, flags); + } + + iir = serial_port_in(port, UART_IIR); + return serial8250_handle_irq(port, iir); +} + static unsigned int serial8250_tx_empty(struct uart_port *port) { struct uart_8250_port *up = up_to_u8250p(port); @@ -2158,6 +2182,25 @@ int serial8250_do_startup(struct uart_port *port) serial_port_out(port, UART_LCR, 0); } + /* + * For the Altera 16550 variants, set TX threshold trigger level. + */ + if (((port->type == PORT_ALTR_16550_F32) || + (port->type == PORT_ALTR_16550_F64) || + (port->type == PORT_ALTR_16550_F128)) && (port->fifosize > 1)) { + /* Bounds checking of TX threshold (valid 0 to fifosize-2) */ + if ((up->tx_loadsz < 2) || (up->tx_loadsz > port->fifosize)) { + pr_err("ttyS%d TX FIFO Threshold errors, skipping\n", + serial_index(port)); + } else { + serial_port_out(port, UART_ALTR_AFR, + UART_ALTR_EN_TXFIFO_LW); + serial_port_out(port, UART_ALTR_TX_LOW, + port->fifosize - up->tx_loadsz); + port->handle_irq = serial8250_tx_threshold_handle_irq; + } + } + if (port->irq) { unsigned char iir1; /* diff --git a/include/uapi/linux/serial_reg.h b/include/uapi/linux/serial_reg.h index 1e5ac4e7..b4c0484 100644 --- a/include/uapi/linux/serial_reg.h +++ b/include/uapi/linux/serial_reg.h @@ -376,5 +376,13 @@ #define UART_EXAR_TXTRG 0x0a /* Tx FIFO trigger level write-only */ #define UART_EXAR_RXTRG 0x0b /* Rx FIFO trigger level write-only */ +/* + * These are definitions for the Altera ALTR_16550_F32/F64/F128 + * Normalized from 0x100 to 0x40 because of shift by 2 (32 bit regs). + */ +#define UART_ALTR_AFR 0x40 /* Additional Features Register */ +#define UART_ALTR_EN_TXFIFO_LW 0x01 /* Enable the TX FIFO Low Watermark */ +#define UART_ALTR_TX_LOW 0x41 /* Tx FIFO Low Watermark */ + #endif /* _LINUX_SERIAL_REG_H */ -- 1.7.9.5