From patchwork Thu Jun 9 15:10:34 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bhuvanchandra DV X-Patchwork-Id: 9167351 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id D45F36048F for ; Thu, 9 Jun 2016 15:44:05 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C692A2834F for ; Thu, 9 Jun 2016 15:44:05 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BAC962835A; Thu, 9 Jun 2016 15:44:05 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 090A82834F for ; Thu, 9 Jun 2016 15:44:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932405AbcFIPn4 (ORCPT ); Thu, 9 Jun 2016 11:43:56 -0400 Received: from mail-db5eur01on0105.outbound.protection.outlook.com ([104.47.2.105]:59732 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752516AbcFIPny (ORCPT ); Thu, 9 Jun 2016 11:43:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=toradex.onmicrosoft.com; s=selector1-toradex-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=G+ICvaxMqBYbmabq48lOD1bjnRxdOjLmpFcpST1Pi+w=; b=FIcJV0OHVPonMxd7t7OTBhUcguxOzLNwApZFqXyheahVo5KxQKpBnVSyLdMYyuymHkj1VQI7pSMk6Uag6EAdvY7GGA5XMNEPg88LNQJ9BVjXgKPcn008aOIHzJodHS2HEiQrwLXmuAcqh4b9naF9ELNv4VbnTtTZtIlyvp2ppYo= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=bhuvanchandra.dv@toradex.com; Received: from tdx-in-nb-0014.toradex.ext (115.115.243.34) by DB4PR05MB270.eurprd05.prod.outlook.com (10.242.158.24) with Microsoft SMTP Server (TLS) id 15.1.511.8; Thu, 9 Jun 2016 15:11:19 +0000 From: Bhuvanchandra DV To: CC: , , , , , , , , , , Stefan Agner Subject: [PATCH 3/8] tty: serial: fsl_lpuart: fix clearing of receive flag Date: Thu, 9 Jun 2016 20:40:34 +0530 Message-ID: <20160609151039.20817-4-bhuvanchandra.dv@toradex.com> X-Mailer: git-send-email 2.8.3 In-Reply-To: <20160609151039.20817-1-bhuvanchandra.dv@toradex.com> References: <20160609151039.20817-1-bhuvanchandra.dv@toradex.com> MIME-Version: 1.0 X-Originating-IP: [115.115.243.34] X-ClientProxiedBy: SIXPR04CA0050.apcprd04.prod.outlook.com (10.162.171.40) To DB4PR05MB270.eurprd05.prod.outlook.com (10.242.158.24) X-MS-Office365-Filtering-Correlation-Id: 449813a9-4690-4d99-4834-08d390785286 X-Microsoft-Exchange-Diagnostics: 1; DB4PR05MB270; 2:Y00cNdXIS9yQ+mATKvprmFMjRx09qPgzshxnSDYIStoQPj/oan5yuwhpE+nPzHIUTghMEYIxd7kFUicEBbeskGLG+1WLLae7iiQzfWBZC/g09gVQ4m6qNSUlH/KWxu1Yw2YOM3iJbGGp3A/Hz7aMWP38giU8mk6reb3m83wnRrUwwHmsccTTKGC4vzp5p1Zh; 3:y6g5PU45U58OJSNrnmNzNJY0eQFQFXxsucUv7HCQlU02ylKRT24uW6euxsxzYqz8Db79nHKPaTD5AoModa3Tqp0aVsav5bAzLcRP/u9B7vRE6wjP7OHUYYzcge4kJ8G/ X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB4PR05MB270; X-Microsoft-Exchange-Diagnostics: 1; DB4PR05MB270; 25:mPNY7pavSSrDdwxx4NXNhvtT7Bvmuqs4xfPuXD/HH+YWIz8Ru16WAwZVhzjNo0zBXwfeQwAYDDEDGU2uXDP6xgrwsUShtNklmsU7Qi2UacQI9uUV7D9uvqNlBEPlULByBk1XIHMACQCxOAl6BVlY5UUV8UGTHnRITKL+n1eYMgfzOYF2/kDRFXY4znCmrsgr6hoMwvXjvgSuwkTb6QN6URnREP+Srq90H0LPJnF8Z1bOqENyv1YhCg15/Fy5RaAEPxxkXO9pV7U01Es8DBqIRaEN6M90TQdv7q5wsBVNY1+lOeT+/3bESTFFMLERoGGoxRHFkfyNWi0htyBtDzliiyhBTHMLuIjg1h/p8J5s9E5bnaCl9fzD9XxZNn30Fsu1Kfz1Lo3Mfe0dqXKRIt8AKBn+6ajKkZqyPRbdgMvhN/KwMJ9y63SvKlz5oLjzTX+WSy85c0DehE6sqcQBlH3ZX9goT5AsmxR2YVCcxOIZ+B9l//KgRNrqSZ1VnJzrYBgCBOJVHqdQukAJANeJTv4R0p8zVmp4icIfWO+Ft2NWi3pkCwp8BsDSWNczEokKZe0x4vlMevUiJOz3Ltz4zDwGHt8oGClvNFlIxNw5GDEQhu5l1PpQ8cgh33PZ14Wxkf51973QdV0Z1f52tOzH4ajHBQomd8u3lc/GLVe6bzNVjfwH/qlqsunudOWbyzFu1BzU7AQR0zbwJexx7H5BlG31PMnUa1c9i2ikYCxJ68j2D28= X-Microsoft-Exchange-Diagnostics: 1; DB4PR05MB270; 20:s60zJ9kJS8yc9tZysBos0gCkN7cs6AE+5B1PfXseXTKx+QLUkCd0tCRYqQLAP3P+ffZ3+b1v6Fll5QLQgMXO4IjWAaQPegQ49my4uF5xjtH2i/aoZKYea8svP8HAr9FqBW4rCvBrcNClaGFIVC0oLno/xlgl39//dBVWXkEqqIjeiYj+uLrXCBpLXgaH3POkQKt2tU52bzucW2ZheV3F02JsdVnk4hVqLiaZ0z0dJaaZwG4fjFo8GvO8xHZVtQoq3ARCh1U45ZTY1bySZRJpQbNR/xLN3fRPXVQ69TsFlmoqGFnxMspFEsM4nK9KXOa9zF1pfPV0AUJPcn1j/wyiUw==; 4:sm5P9HX/dqMVsqPoWs2Tz3yklOSb/hD0ZbCYfYfnwUeWZSc0ufpYbgMBMLiN4UMwW/Q+xBrXZS5mVLiZ1gmfxlniqVjE9J6N1HepWL4rujqTHQ654R07gZAeqe2UiRFg4Lh3zh9Hyh1V1YptAK85euC4KZ7dqVi/KbHYpZW5utEar5lw5Dr8f01xAVd4hyXAkpsVkXENVG6w61z+y5rLWU6dHMNJ3+HmdgLRN0otoxcP9ko23f5Otbu5shuejCiFAdNSKfannFmfj+NWO3dvkZOxbP6blOSneyFayPnGZXWdMiHTE8HaYsFzaf/aiLrG+84gjk83OJjvP1wLvfbMZZr8526lOQQaV/ZSR99XEyrZJeg8IkYJlfEvhzTfHz3n X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046); SRVR:DB4PR05MB270; BCL:0; PCL:0; RULEID:; SRVR:DB4PR05MB270; X-Forefront-PRVS: 0968D37274 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(189002)(199003)(36756003)(50466002)(4001430100002)(42186005)(1076002)(86362001)(19580395003)(69596002)(48376002)(5008740100001)(81156014)(19580405001)(97736004)(4326007)(2906002)(77096005)(101416001)(81166006)(50226002)(2950100001)(33646002)(6116002)(68736007)(2351001)(3846002)(5003940100001)(107886002)(105586002)(110136002)(106356001)(53416004)(229853001)(50986999)(8676002)(189998001)(92566002)(5004730100002)(66066001)(586003)(76176999)(47776003); DIR:OUT; SFP:1102; SCL:1; SRVR:DB4PR05MB270; H:tdx-in-nb-0014.toradex.ext; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: toradex.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB4PR05MB270; 23:4GPOfjHNm3MEnN6isvbIu+s9QltSbvynzrPg+meXBh?= =?us-ascii?Q?EIIpA+1/odLR9HpJ1WFKonYmgDBf0rDjyR0nAQKjH4URmcwD0Z8SrsGH3VRs?= =?us-ascii?Q?2WrEd7+EFUtWhQ9iXdIUdTKAOyL+sTUi//nm99j4UNP6UrL1gdBrTmt0W4SN?= =?us-ascii?Q?EPQcT+tnrm6czEn+6YE4Ic4Q4+1ukq50oEl/1ssrNjFPLS4cQ8V9CzN2T8YI?= =?us-ascii?Q?EogrOHdrZ6oYlOI/K7L1L/PfDPfzjjfJQutGiJoRG3L0BSxYE9Z3ZUwh9RJY?= =?us-ascii?Q?/pC5jkZtrCgiiXglIlEGl6OaSV/2caAwXuy2qJ5c68HX+/XkrN15Wd6fkuqt?= =?us-ascii?Q?nNYxW0gMZkf0B7i5rRGjnTXrTqTL4v05vToOKp+kRsmsjFTBWJfpo8kg16YZ?= =?us-ascii?Q?fkP1JK2TUZEnvLbCrf1I7nupN8uoQA6cEjgn75Nv2ukrxBxxwO8aDWvcOZ5i?= =?us-ascii?Q?DZf5kKLo9LvQdGzDhB4WvPcXAm3S6iiimXh5Qrw6AMa+DjOhS4rn161Mv4+e?= =?us-ascii?Q?/M1u+7m/2jHuQ3XHyjs1lTT27dSRcUoiEYmpWZFtCgWRS0GbIVKXqzFg5h8h?= =?us-ascii?Q?3syLqWjaEHzpxbybX3qooJbBJxZJn/PHiE/+IO9zKK+Ob3Th7C75gJDSNA5E?= =?us-ascii?Q?6KOyLOxTDaSnNxJ9R/WEkqlDAdBLCGE01PVY3jaGy6TpMHyZgrjGWhxRmcNC?= =?us-ascii?Q?piLgU13/60W6YqS6GzoMpK1YSh5OxYEhX3LGwXvFMNv0M/QN8VRBeE6MhfAa?= =?us-ascii?Q?6KA9YkfAAu9+sKUiN1moEnA4lw35G2+gv+fsDdhPSVPUecWV/xj1ApfXga0e?= =?us-ascii?Q?dg2SS4Qj4PRkKCKr6oxOSKEYYicKa8iV+MNaBHibiScE1RNN90kg+Cy30g3P?= =?us-ascii?Q?mdP7a2dui3huWEm/upCKSS1oicKviBzV+s3Os2dtFTsarz15Eju1d3j81jEB?= =?us-ascii?Q?YAE0hHVxCcWwEbrleQpEfmIVrwJTnm7ziA9nUJ5emH3p1oPJfaT1obpzk2PZ?= =?us-ascii?Q?N8aQ4tpI/bAfjbLzCf+DwT34cT+e/OihCtzoy8zfnUWzIjVKZoCJ6NWhSCpk?= =?us-ascii?Q?mHllwqIsn19oRNsqj90qk+4uyqGtOlzxZV4bm6ckCvtNVXVFBj5slsBy4who?= =?us-ascii?Q?iMeGHplAMxPGeNgsNBKK6Qx52XK2Yn0k8l7dRD5KNDgf1zknDjmw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB4PR05MB270; 5:vvDrnKdsB0DcMHZ9sbe4c0fSyBcfnYpxJTd8uiqFK41bMheBBvPQ+ed+nxu09T7pmwOjSF7OIzqlzZnm69pIMO0klNhDU5lXBOnYe+xoTB2up5cfbENs/hgh2/dkujR03S1EQpE4qvmd8t+RRFy30w==; 24:NeX36wKh70gWtFq+n1/ujcXc2U5r3DuezCtmnUv5pwD8aFolohk+8iJVsm5sxdQxF6NsYK7FYXMeTVANZ/jfqImBVSQUJZLX3kt3z16HvKE=; 7:o3Ku1z8VdS7SqFn5dMYMylaYZCBJGRA/Rujx34WT4k2lFW5GfFB/XLCr84fWyrdf1PCWEubejUJnSFYxCtL3y0MT941pdKNjtoamwXyb9qPeuNx/xVb8XB9fJN5nPEeyVVmHhCKBKrJjkfnmGj0EIufVZ/vITXWe3vA0egMnFHL4gssfDidFPknOwgrorb88wV3dQ63PLTLwq3a27R3gqw== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: toradex.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2016 15:11:19.5316 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR05MB270 Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Stefan Agner Commit 8e4934c6d6c6 ("tty: serial: fsl_lpuart: clear receive flag on FIFO flush") implemented clearing of the receive flag by reading the status register only. It turned out that even though we flush the FIFO afterwards, a explicit read of the data register is still required. This leads to a FIFO underrun. To avoid this, follow the advice in the overrun "Operation section": Unconditionally clear RXUF after using RXFLUSH. Signed-off-by: Stefan Agner --- drivers/tty/serial/fsl_lpuart.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c index 75a2098..97c1fda 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -935,13 +935,16 @@ static void lpuart_setup_watermark(struct lpuart_port *sport) writeb(val | UARTPFIFO_TXFE | UARTPFIFO_RXFE, sport->port.membase + UARTPFIFO); - /* explicitly clear RDRF */ - readb(sport->port.membase + UARTSR1); - /* flush Tx and Rx FIFO */ writeb(UARTCFIFO_TXFLUSH | UARTCFIFO_RXFLUSH, sport->port.membase + UARTCFIFO); + /* explicitly clear RDRF */ + if (readb(sport->port.membase + UARTSR1) & UARTSR1_RDRF) { + readb(sport->port.membase + UARTDR); + writeb(UARTSFIFO_RXUF, sport->port.membase + UARTSFIFO); + } + writeb(0, sport->port.membase + UARTTWFIFO); writeb(1, sport->port.membase + UARTRWFIFO);