Message ID | 87efoxr7e9.wl%kuninori.morimoto.gx@renesas.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show
Return-Path: <dmaengine-owner@kernel.org> 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 2B90560235 for <patchwork-dmaengine@patchwork.kernel.org>; Fri, 17 Nov 2017 02:09:42 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1933428658 for <patchwork-dmaengine@patchwork.kernel.org>; Fri, 17 Nov 2017 02:09:42 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0BD432AB70; Fri, 17 Nov 2017 02:09:42 +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 3A0D028658 for <patchwork-dmaengine@patchwork.kernel.org>; Fri, 17 Nov 2017 02:09:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755455AbdKQCJk (ORCPT <rfc822;patchwork-dmaengine@patchwork.kernel.org>); Thu, 16 Nov 2017 21:09:40 -0500 Received: from relmlor4.renesas.com ([210.160.252.174]:23309 "EHLO relmlie3.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754930AbdKQCJi (ORCPT <rfc822; dmaengine@vger.kernel.org>); Thu, 16 Nov 2017 21:09:38 -0500 Received: from unknown (HELO relmlir2.idc.renesas.com) ([10.200.68.152]) by relmlie3.idc.renesas.com with ESMTP; 17 Nov 2017 11:09:36 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir2.idc.renesas.com (Postfix) with ESMTP id 451B762E59; Fri, 17 Nov 2017 11:09:36 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.44,405,1505746800"; d="scan'208";a="263729110" Received: from mail-hk2apc01lp0215.outbound.protection.outlook.com (HELO APC01-HK2-obe.outbound.protection.outlook.com) ([65.55.88.215]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 17 Nov 2017 11:09:35 +0900 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=AYeney+c7xKjBvv7pwqHwOPWVjrMwHU1SZoIMG38VsU=; b=GFNge9gdSULF0evYgkROsr7SrISSbkiRxV0CzNAMIZRzMZJ4ajnAe1jYKlrOZNn1J2azYEChYO/e4Qvro0zEqHpXVJrk6HgEWby/wj3/ceFdn8Bn0wapFd9/uSCSuEX1FwPc1Y2RWFSY1z0yl1gcDF5T4NWam1AJqAnAPku/fnE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.138) by HK2PR0601MB1874.apcprd06.prod.outlook.com (2603:1096:202:a::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.218.12; Fri, 17 Nov 2017 02:09:32 +0000 Message-ID: <87efoxr7e9.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Subject: [PATCH 2/2 v3] dmaengine: rcar-dmac: use TCRB instead of TCR for residue User-Agent: Wanderlust/2.15.9 Emacs/24.3 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") To: Geert Uytterhoeven <geert@linux-m68k.org>, Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Dan Williams <dan.j.williams@intel.com>, Vinod Koul <vinod.koul@intel.com> Cc: Niklas =?ISO-8859-1?Q?S=F6derlund?= <niklas.soderlund+renesas@ragnatech.se>, dmaengine@vger.kernel.org, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com> In-Reply-To: <87h8ttr7ge.wl%kuninori.morimoto.gx@renesas.com> References: <87h8ttr7ge.wl%kuninori.morimoto.gx@renesas.com> Content-Type: text/plain; charset=US-ASCII Date: Fri, 17 Nov 2017 02:09:32 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: SG2PR06CA0103.apcprd06.prod.outlook.com (2603:1096:3:14::29) To HK2PR0601MB1874.apcprd06.prod.outlook.com (2603:1096:202:a::18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2c501103-01f3-408b-11fd-08d52d603f04 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603258); SRVR:HK2PR0601MB1874; X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1874; 3:zxB4fTmy/zzZqAQPA+Tb1jDUW+fyvUHAP1PkT8kjqJXtLpOy6nDBHFvoPZkdfBlLnwHpuVFSyDzlx5pH/bKHG2vOFqMVv78Q4GT0VQRqFqYwgwrvz4J8wt2kt5fc/KjnGQGQiA+OXQvv24S5iIuK+7/eK1dMAYyNQzZXlWaSy7dxSTg/3VGRfZzMGQ8WJH3fmDTODZr5RTulVvJiljv2kPHiJCC9C9gkp1bDtjFMhEh7meiLUiNEGr1GzL/gD6fK; 25:ZdTNhjbfnWfmsPMd5sp3FuZUY99Gum49AL9yk45ZfvJaR+CenAePwuHsnaEJXNluRH05+yfJNTxJxrQi2hvvYBGySb4rGD/FRLy5ct/DgAr8buSpEUQUZXk5P6ujWywETlrYsDkbHA7PuJd9W1hJodeogMuMcuHd11PAc6gOkfy1JgAJ6nq0xloAhp2pTBbBzgNB3mqUHtiTkAHCgS8L2htK586mGbAUc+1EsEX2toYr5pSVpSjoF/81KvBiC351Fa+wd//dCrQsPsMIdz36cA1waKzBvrJad/MyKKt99AwqRL8K/XMgEu4FecmXLI3g9RI/2+zg+bpBm033xMbAvQ==; 31:FXNSEDBi3m+J+VayqZM2HbU8QNIz5dNBsdk6fz2P6lI0x1MuYYOKoxsor0wEaoX3qiellgSYilj6bh1NaSMoT1+7KuOi7SQbiZg4ZBVVGFogEkJxo/rSW4uAZGeNbCzn3MCq8PECZfeiOD8u/l8qbRfnoC8rqTpqAuOAKGF0KmZHSOBwmoBMdT12VjpWSJb4t2bPHSI7Oo2ezlChrpZiyAJcQXSWSj7l3UDkVvEqFnQ= X-MS-TrafficTypeDiagnostic: HK2PR0601MB1874: X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1874; 20:XRo2/KMkNGdKsThdOt/bVc7lYEdIxpAXGs9Cp1yFq71hbyHWpaPvl8tilPVg8jlHwdXR05VmaVMNaaawG+DMFUg4qoMm3QPbSQj54ChZg+A5nxFkEKGS/WHb+w7svyijNWD97AVPsol/vogn+F88qRNenufF4GEFdE6MS1sgB17QB4lpQWMqerHO1+VNpz4+dtGD+5gA7PpAP5wky9SGdiApe2yrGjruSKtBl8JQqXRo0duW6S62+ZUDL4y4XXSs3+o0rA0WOonJHfFYz93TzRErdICNHJbIiEbVrYCgq5dmuRfngfBwyiTS/iWw9qjoGz9XTn96uxVYaxxQGRDZgeMHLzUIRx3S6b0w8wM1ZpSFnBLiP2Dn2xpbc6rovCljzm32c3eAvApskFvd0sijAJAzO4J7myXvE98vK9uWfjwf9tpkvB2T7AjWbRhQ2Id1z+YaqedUt4hPGmX6SvzvIS2I9wyWujKnImha6GHvJEPmnMIuboQkNyrjyQ4rnDUc; 4:BlMDHdhR/uPj9+L8ToXewrDrkBHCRGS1vtrwYfZrKRQKtULfelHgdPrdOgDQNokTHJ+NG5DHEe3cvdOb7RMbchdJ7IaIVRC2ErBFsfthr4/txjpLN/ZVyTD0EdXvKhJcqM0LfJvreiPolsoc1G3wCnexl6z9QgISmxzRHxcCLt4u0bvJRMzc7KFBjB6t48UJjBos1p1LnnoBlkEktZBQzpCPVNgEWzNhR/B/lU8bZA11iQYMfsSZEwtBz2MSYKIw7Liw5Ye83NvPaOwamprZKQ== X-Microsoft-Antispam-PRVS: <HK2PR0601MB18740E72EA1ED5D40A3CC599D42F0@HK2PR0601MB1874.apcprd06.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(10201501046)(3231022)(100000703101)(100105400095)(93006095)(93001095)(3002001)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(20161123558100)(20161123564025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:HK2PR0601MB1874; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:HK2PR0601MB1874; X-Forefront-PRVS: 049486C505 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(39860400002)(346002)(189002)(199003)(7736002)(76176999)(81156014)(2906002)(83506002)(101416001)(189998001)(16526018)(68736007)(54356999)(478600001)(2950100002)(8936002)(33646002)(106356001)(105586002)(81166006)(50986999)(53416004)(8676002)(305945005)(69596002)(53936002)(50466002)(47776003)(316002)(66066001)(6486002)(25786009)(5660300001)(107886003)(575784001)(110136005)(23726003)(58126008)(86362001)(36756003)(16586007)(4326008)(3846002)(97736004)(6116002)(54906003)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:HK2PR0601MB1874; H:morimoto-PC.renesas.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HK2PR0601MB1874; 23:++P+SFIvQwgoVW9Lp7O5ZFYdi0idj0762Ys6INJ?= =?us-ascii?Q?R1xEppNisNjautHVaM9twLi7Cx9E1cOKfcdKZFQmcmsRzsbvLCCBKpzO/erV?= =?us-ascii?Q?Gr54vsd/xOogjs96sw1g7Zh3WL1+8jfRqw+5HOPhR0iAJ5g+lf65IeWF9/mG?= =?us-ascii?Q?2WNLNqLIHclzGVLjqp7X4mYkUqYWynA/5EFZmQ01hZAiWZGeU/SdyZFffvUu?= =?us-ascii?Q?ewWuC1jIig2NCT4CC9lhd/wFba6YGUrEh21/R0BZOQoco+ml8kgrEzE5glT1?= =?us-ascii?Q?0wpdwshie80JaXkwY9avq7WbzODBq87TSV8cdRWuqBHncYc/kkNC7p+hlOkj?= =?us-ascii?Q?z1hgki/4fUlpNdDyTtk/FMohDPIAaqCN/q+G8RLVd1tXNCgrkSngBeS5rH6G?= =?us-ascii?Q?tGrTgFVjVj6GKIWhGYKyJ67EOqjAZxkhfpru+npbT7FYUZUFwj1u+nquxWxi?= =?us-ascii?Q?EWQTwvnNZC2VCxQd+f3eNxSNqTBSJ6FGoKCD1rBuRLbsmoQOsUMAc/XBnTPf?= =?us-ascii?Q?KEP/yYAYzV6kJ/8oWynxkFLqS128QYODC05X+dt6qFFnLuFOnA9b5gizN3X9?= =?us-ascii?Q?KHuaYmJAfw1cRmqLPTL7ZXwCG0wD3hz694rIgxn+gLCUZ3XBG2NESG2x8rHs?= =?us-ascii?Q?SPTvcuVanvgB4SxGgOJTb0KUnXUQzewjgLbV2Oi4o4TWOS68f1m843B4vu3g?= =?us-ascii?Q?NxHB+mBIfYCTXliOYIM13C0VV4a6xLXM/jTq1RXtjlgAdpRk16ipTDk3AiQZ?= =?us-ascii?Q?Pexk7ihXW+UgRWvVeg+FMTucC37nbs/1lXxerbdaRNlaNtk892xtZxw2YeSl?= =?us-ascii?Q?T8zh+OFGp43YojNhC9A5rZIUBCuNmxO/+U/NUbPpTMe0OD94eOTrcWHt/u8B?= =?us-ascii?Q?cKXvxYlnYgbjbSU9fI/0pPrW9/Y1yPb4OVsbMAeuGM3YRFYVSLtuj0SCVUzo?= =?us-ascii?Q?x8PjJpPCdaFGJvALl9APfVilKlIHWLQxnXcgx7aks4Fqin6IjWikCAWrQMQH?= =?us-ascii?Q?v8dCTwIRp7wncHjqaN+f11DJOjknDEtt6UeDz+JE6OigA1Ho0BRlJABB38NM?= =?us-ascii?Q?kbKg6VcU0qRiqJuxRLS3AznYhe5o6Vyrq25EXsfgAXQhzmGdqFGNZbPEb1pT?= =?us-ascii?Q?b3onhFkkRCy4EXNWGZoeSGLjhYIxj6ANVGgQm8S6OvZpAAlwHO6DHSoH3CVo?= =?us-ascii?Q?XbVKK8UtExrC8ULI=3D?= X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1874; 6:v013AiA0B4ZwUYt61Zc04Pl2ZxCcKSTy+EaZBb9vgU63K13dkUkNSXx+7TdYF0TsRcybtMBVABO7NzKYf+ygIwD2/DwyQz0UTxF+qnfnC57bpdlfxz2O82vkPwr2g1DTRB4RLM0aA/OEQHiIk4VJ4mLkJLmsCUmifxEWAoqwP3gEBdhXdV1DVyO3YVc/jHMgtr9sjRv45QG3yVx84omxPIejtmezPgglnxfiCI6gb2nRHmUY8zEVup/5loJNbHKkSPSP8LBepsaMxb3ZONY2EwTUIhdRSJk4RVsQxYVeX+UkwmEruE147Mxelio3/B8+fl/8Rc77py1XVxnyK92IfX7qRHPtZRmnE1WDq66sRa0=; 5:l/H4IPvoOUtFBRRRIWu1X3RS9W4vvGcus6sqx/toW4BYpLmn7oC3xR2GbCi0WdbIKyEIkbWJc1aCSLkXK1GoyXQNFe3YowlfMh50TYvfvHVigFsE4xSQeKNARcV3xkAdH1PcGxbDgdJ5zdrgsG6TRg5Ks4wzBkQgoyedmHHvhi4=; 24:Ad8k7gWJNVB7Vl/ubfldGbeDaoNJecFIDIP6cEoYTYqQgWgV+NUD3Myf1x0rizDqz+Re4X3FFkXWskDJHCNUq1OCg52Vcl83zCsA8QpHUQU=; 7:6jYcdlLdmzvjE/6/ZGoNYLxIPL8cZgd6Z28FQIGvvr0CfSlnzPArILayMsEEqoOLqVmMh5OPJQWtX00+qCxmk8TYfk0+xdysb5pYw5mAPm9V98N3P9jpStdHPBzAPHDWTcj/Mfi6Ig3vah5pHb6dsBJhG4tg/Cr/dW1fOdc10PtU2pkvQbRFasRbP6M+rbol2tTqqW/hYCQxud2GNGf033KlrO0EmVYbAKk8HgShWv7kwbUL/4y61UhCYzaApz6G SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1874; 20:xCjm8XlJJew8Qj93/sDzad9lhnULZy5SUTTFHkVo7hSZMYT1/pkjHqKyn6PiPIE2GB8B0UVgo8QCKbOIwNoMpncwH9Cynn4qHZSQVuhHvaF03DatJ1vUeYEES0vRe/xzqf6R0FbJ6n9tGpAExXeGbR8oI9USer/4tcnoKU+/Z4c= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2017 02:09:32.8259 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2c501103-01f3-408b-11fd-08d52d603f04 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK2PR0601MB1874 Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: <dmaengine.vger.kernel.org> X-Mailing-List: dmaengine@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP |
diff --git a/drivers/dma/sh/rcar-dmac.c b/drivers/dma/sh/rcar-dmac.c index c99fd0f..3bbd11d 100644 --- a/drivers/dma/sh/rcar-dmac.c +++ b/drivers/dma/sh/rcar-dmac.c @@ -761,6 +761,23 @@ static void rcar_dmac_chcr_de_barrier(struct rcar_dmac_chan *chan) dev_err(chan->chan.device->dev, "CHCR DE check error\n"); } +static void rcar_dmac_sync_tcr(struct rcar_dmac_chan *chan) +{ + u32 chcr = rcar_dmac_chan_read(chan, RCAR_DMACHCR); + + if (!(chcr & RCAR_DMACHCR_DE)) + return; + + /* set DE=0 and flush remaining data */ + rcar_dmac_chan_write(chan, RCAR_DMACHCR, (chcr & ~RCAR_DMACHCR_DE)); + + /* make sure all remaining data was flushed */ + rcar_dmac_chcr_de_barrier(chan); + + /* back DE */ + rcar_dmac_chan_write(chan, RCAR_DMACHCR, chcr); +} + static void rcar_dmac_chan_halt(struct rcar_dmac_chan *chan) { u32 chcr = rcar_dmac_chan_read(chan, RCAR_DMACHCR); @@ -1329,8 +1346,11 @@ static unsigned int rcar_dmac_chan_get_residue(struct rcar_dmac_chan *chan, residue += chunk->size; } + if (desc->direction == DMA_DEV_TO_MEM) + rcar_dmac_sync_tcr(chan); + /* Add the residue for the current chunk. */ - residue += rcar_dmac_chan_read(chan, RCAR_DMATCR) << desc->xfer_shift; + residue += rcar_dmac_chan_read(chan, RCAR_DMATCRB) << desc->xfer_shift; return residue; }