From patchwork Mon Jul 2 09:21:51 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yoshihiro Shimoda X-Patchwork-Id: 10500787 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 7915E60545 for ; Mon, 2 Jul 2018 09:22:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6990F28749 for ; Mon, 2 Jul 2018 09:22:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 67E5828874; Mon, 2 Jul 2018 09:22:58 +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=-5.3 required=2.0 tests=AXB_X_OUTLOOKPROT_ENVSDR, BAYES_00, DKIM_SIGNED, MAILING_LIST_MULTI, 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 D299828756 for ; Mon, 2 Jul 2018 09:22:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933826AbeGBJW5 (ORCPT ); Mon, 2 Jul 2018 05:22:57 -0400 Received: from relmlor3.renesas.com ([210.160.252.173]:7803 "EHLO relmlie2.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933470AbeGBJWz (ORCPT ); Mon, 2 Jul 2018 05:22:55 -0400 Received: from unknown (HELO relmlir3.idc.renesas.com) ([10.200.68.153]) by relmlie2.idc.renesas.com with ESMTP; 02 Jul 2018 18:22:54 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir3.idc.renesas.com (Postfix) with ESMTP id 73D658A488; Mon, 2 Jul 2018 18:22:54 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.51,298,1526310000"; d="scan'208";a="285693300" Received: from mail-pu1apc01lp0018.outbound.protection.outlook.com (HELO APC01-PU1-obe.outbound.protection.outlook.com) ([65.55.88.18]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 02 Jul 2018 18:22:52 +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:X-MS-Exchange-SenderADCheck; bh=EZV4Cn+G58FnU0Zp6EbYaeaLQg5gs8kGOROETWe+8BQ=; b=VzLbSaBekpsT12s11CS1ABv8pfk9WkrMSY9bTv3t3Sh8j0bDNVEgE7Fu/QEJZtyt2ZUon/KDNtItQdAvi57fPsuP+8KP535oVRQq/cYjzx7CuVnFecEKEy0Cf+M/w1zLKVYgT8TbCdqYvA9HtQLTBgfSZ1BXEHBjYSzF1Pxf1dQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=<>; Received: from localhost.localdomain (211.11.155.144) by TY2PR01MB2300.jpnprd01.prod.outlook.com (2603:1096:404:10::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.26; Mon, 2 Jul 2018 09:22:50 +0000 From: Yoshihiro Shimoda To: vinod.koul@intel.com Cc: dmaengine@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Yoshihiro Shimoda Subject: [PATCH 1/2] dma: sh: rcar-dmac: add a new function to clear CHCR.DE with barrier Date: Mon, 2 Jul 2018 18:21:51 +0900 Message-Id: <1530523312-2253-2-git-send-email-yoshihiro.shimoda.uh@renesas.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1530523312-2253-1-git-send-email-yoshihiro.shimoda.uh@renesas.com> References: <1530523312-2253-1-git-send-email-yoshihiro.shimoda.uh@renesas.com> MIME-Version: 1.0 X-Originating-IP: [211.11.155.144] X-ClientProxiedBy: TYAPR01CA0024.jpnprd01.prod.outlook.com (2603:1096:404::36) To TY2PR01MB2300.jpnprd01.prod.outlook.com (2603:1096:404:10::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 575bb219-f634-4f62-f64a-08d5dffd61f5 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(48565401081)(4534165)(4627221)(201703031133081)(8559017)(8990107)(2017052603328)(7153060)(7193020); SRVR:TY2PR01MB2300; X-Microsoft-Exchange-Diagnostics: 1; TY2PR01MB2300; 3:dRglqmDEY9iIL6AMInNy/IGF2gkPDC6ojS1v1eni6R062bj0abTHwf4fsw229w2G2/41fU0R5OQl1vvYq85243SsqQmkYCVlYphm23Amk2UMxaVHM2kwCdSakOsnb9BGvQ3INRaU6zvux/Id1JtCnIeLambihvVpjRuiIKM2DVwyyQu40fk9AjBqqlzRyCdHvGEHP6F6IosTqZ5tQGKQ73zoWQ3kkx0oOJyapugeEjpeLOjZ88GZkeRSMvf1Nz6o; 25:4oWcpDnyGriEFSgk2Lvln19NWJLp0JGJfR/13cMaoeyIOhNiIy9JSbKEc7FbI+g8h2fkJKrbS4HtZX0bQwO0oMp2KloeJ4vIOFoC2d3aYL/K6OZ8XwAeasW+qTVbfpvBF9PmTbvyuaD0n8r1f/GBNApdySdGdXCSlRCoRoZQPtn7F+XAmEOAGFz1lxtbWX2Wv4JPYZhGXdA04MDpK8UlqI5w1rCU3LscuW+KlX/zP8mia/0OoTsO8or60oiElyD7CMm67hIjxodoPUY8a2MRSG8yzjLP+jibuPSO33b8AyjxC4bSeLoTDcquqcC9Jr0iTV9u4oJCvPMe4K0dvN27ug==; 31:fQOT4iJHl0mAFbxkawSEYM++Ihs4m7sjC68bq4LZZ54tSHL5J48rvHNqRoy2+hdv12s9tEhKOvrDZzOaxb/GTp38pNm+g4qTirZvrewkB5mtwhiOXiVs7H1qwatuUuniCn0z52B10G51lchMpSisYpl/6nVwwkBFttAMkQ0vGjxse0+0KlpcIUIAklf7VBwEj0x2oeUsq2Va7f3/0hXfNDAwARTU9B1giG/sOJ6+KHE= X-MS-TrafficTypeDiagnostic: TY2PR01MB2300: X-Microsoft-Exchange-Diagnostics: 1; TY2PR01MB2300; 20:GfFBlB9mJNX60hNlszTtZ3A4YKoqINqao7cFYa0S9M089nYp35I13hhTvANn2MGnYb9y693yWsdjEeYwRx+qDlMmfykpmKHncb6LTsx6cecFk8DrgiZsyDdAmNxRlz8yHUIVHTfipY3q0ff2+uvgaDOQdFrQYdqWrtjesTafYN2sGt3uztU/GS0oM9optpzd6xkx7qBsVa/wem9FeVqi4kXfJlhsUfttbYXHTRI30QJg9QRCAhKvuLWIinc3tJ9FSKG7IDn6O8uTMDxik4mxLY0iDH2+0uKz5rUR7W9HERlsb8j914sHnOm3VtZv32GZ+EJ1MOvCfkN2Frm6RvgF2JLnKxRllw5tB0yZNiriGXIkDfhZby7jtb9SuG+UhO/kswc2U82G7xqzeOIidCwtfskGIVDaR+Tl8eDykhsM8l0/c83isaP6ib2jZ+m7+OeYAAgD3ROXkvz9kUhhpPYRbr7t0UD7B/DrCYrSSL+oGdL8Ymn0OZPeGbNKr1eVSYd5; 4:p3u8b1mHiCsya8P83tcflFWH+HEBozlHQlSOfOboxTTvLZJzJNcnDaprCGlUJlcJEFCBoC1dwRCqAyDW+MiHvdSfObJIVz+Klq2aUwtoVbDsT/Cwi/iojfHpAih8p/MejocOlD/T0rDiR8q/9wqiW/GzmbhHObmIgWpg6u5TuZsvUUeEJUtTMxqjHat5QXXwumtDexVLephbsvycRL0VXuoj0TnkgwqOOSy4knj6sdlOEeR7BsLznkmrJHotrMCAsP9YMytLVOqB7STk/fR5Zw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231254)(944501410)(52105095)(93006095)(3002001)(10201501046)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061750153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:TY2PR01MB2300; BCL:0; PCL:0; RULEID:; SRVR:TY2PR01MB2300; X-Forefront-PRVS: 07215D0470 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(1496009)(376002)(346002)(39860400002)(396003)(366004)(136003)(199004)(189003)(25786009)(107886003)(53936002)(16526019)(6506007)(386003)(26005)(42882007)(4326008)(8936002)(48376002)(8676002)(76176011)(81156014)(81166006)(51416003)(105586002)(52116002)(2351001)(16586007)(316002)(2906002)(106356001)(7736002)(50226002)(2361001)(3846002)(6116002)(6486002)(6512007)(66066001)(47776003)(305945005)(498600001)(36756003)(6916009)(78352004)(486006)(446003)(476003)(956004)(2616005)(11346002)(97736004)(5660300001)(68736007)(50466002)(3720700003); DIR:OUT; SFP:1102; SCL:1; SRVR:TY2PR01MB2300; H:localhost.localdomain; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:0; MX:0; Received-SPF: None (protection.outlook.com: localhost.localdomain does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; TY2PR01MB2300; 23:WF/Z5N6BBUwzGqfWgEFWxTjHsz0yW/8Gce1PyCR3z?= =?us-ascii?Q?IinjfONJIIBO65FsDjdAIVeJuJEZfcBSLZ0neWshmzfixhx8mKp1WRtNroDU?= =?us-ascii?Q?pN/u6skNdoODbfq2K16FcIVGYDgD+5+TrRLHjmO99Pie9BcctXNlkORTPo3A?= =?us-ascii?Q?PFAzvTShrr51nJogyj94aJP7Hov4rQq+VHMoKvuB23cdEY7yVFqtwHjKn9c7?= =?us-ascii?Q?EtdA1d9luEK59TMFmH/orvgBWrA/c+MeWnrU/8Nk6izuHK356xP93EkO9JTR?= =?us-ascii?Q?as4XxU0VcfoxPGR0ZJXgZJBBQi79Hvgh3PE0b5DvxTW1LwaVeU956uoWgsoc?= =?us-ascii?Q?vmj/nurOKx2i6welYb7mo6oME5sTvbrlPODJtgBXUVyTbw1Hom1GqdMSRtgB?= =?us-ascii?Q?dhWGRJ+wgTZZXIP7BqpWcU3UkLS9D3FKr/Kdln9I58jAfwDBrtUkmRnihpXf?= =?us-ascii?Q?ksPtQ4bjuAeVDBA/ByxaA54pAF3SR0JKtkXuGP7zhEGJDvLKwaK9YQShz4Ga?= =?us-ascii?Q?ps/OG9DanF2wLEknWoKJ1e8KPAiebVqKrF71GdvUqkJrCCe+g9frMHHgqFbG?= =?us-ascii?Q?qIhQLE7xHEURZs1zNcTOxEmxZEDMnZG7g7loec4t7hSwdfOSbdFA59tAShKn?= =?us-ascii?Q?pYZg2dyMh8BIYieiBWAjQgMB3dOpS3umD/gSgWUN9AC52t0vvq0vKhTI2/XG?= =?us-ascii?Q?fksyBBl1Q4q+Ch2l21Pnqlwi/aDsPVIpXb8bPNL1dymumNnCsWNgsnQT4E0o?= =?us-ascii?Q?vbG9QBXYhvmBboFr3MZMOvKRd/GgIyM8lYBFydlkQapy58zJZP+f7MXVmKA8?= =?us-ascii?Q?ZYtps4kZetAU7WsLeDXzMbUR+7CMsLGW1XP4DanVGgRkMvgrycIYhby9VJOP?= =?us-ascii?Q?P56izy2EdGd2e1kXsr4+wHTOrGPkfUJ9WO9jRCN/Q6oF4voDLmk3oMso7rNO?= =?us-ascii?Q?Xg8QR7xRCPM+RZJOM/aUnnKAI1NPmQHAgdLIn1ZKHb0xfAsk4luUREYpKGw+?= =?us-ascii?Q?2BtcX6L8XVf4G5akwuZd0nFQepS6u9KqbbFUz0FCsRL0DkPLonnlCktHZLkF?= =?us-ascii?Q?zD2GFPTHO7QHW5JaefHfr9Y8+1NSwPorrCRargOz4csYehbrtTFBwM4ijELC?= =?us-ascii?Q?QabCdK0OmYeZMdsgoCWafy9Rx5KS8F/MzldlVv0/OszHJYMnyB7AGEjiWVRm?= =?us-ascii?Q?A9fUgrwsdPpr9jKClROM4pgUa9NqRjzbhUGZl/SfTzBBVWldU396oIaLZkoT?= =?us-ascii?Q?9Vx+w9r8BWx6XKSkrKGIpWw9RuDYVwDTYpNhOvj?= X-Microsoft-Antispam-Message-Info: ilzI/hQU2gGPaiYWxozFZ67ppYFvGc/FKcQVRRk2425Au37OHcCSeq2irV0K8yxj3ZSRoIGknw9Kjy7DPn29fQ6tKFdZtdsYWoVEf+ZsM1sCgsx6MIax36WV6xYJCsoLCDexbk9aVPpnmLD4/Mp7Ok0cQUBrmL3NHCweOenTHbvTzl6tmhiIHBncYX7GNUd28HeV4BAPKLov4YuSLXDYluDuGxWW8DECul998dGPAo8EfxWvRt1VAkBcOF6ywjI+M79krNO+sebFYlU9G51BkQknfoNhwnH4/ki94yhp83EH032vwUD5qD7MkDCdHeuCEEl0Pf9TSQ5Q3nxV10WR0G04wh1noi6Tda37Dwx6bGI= X-Microsoft-Exchange-Diagnostics: 1; TY2PR01MB2300; 6:OkLoipIcdLhdKHHjUdq0H7Wmc2L5vtgV+/0rxTQXGH0Vsb3+pXcLqwPAgqUldXHn3qNyI4kPDFT2lJIXEldcpOH/X7j8kxSoZVFo/g5f/BlDQnskdB845f1tHONMJq8Ff/gqYikdcMcJJKsuTe9v9q4IqtAI1c719J0k2Ig1/D08EwUE1s9kWZU9hAZNxIbSohkcMmCWZdPIYskfUBIbqdmEyBmT8JqDMOK3wexoF/0qw+Hc+xvXCWyUlN2lRj60GsGwMlHyPi3LC6sXOLNe52L1qLkcxPDdKVC+TWVVQry5Fhnhc1F5psuFiDzCuVXj/NFAo7My4kCeJyribb8VI/qZSpawhSAK1ZSG0IZiR2FwLI3fMNt1oMslJz4rdZuoUozJ7gUiE2k3cwGn9blQLW8zrDBx1yxqEycw+KSTb8A5pGnuEObBeQ/TDPYu2bpZRiNxNhJ5tv8kfqM5pnLz4A==; 5:shIn/09S3RFelfmfH8ivX3lkSGEnzKwuz+TiPlplOIV4d3suyEnOgcwcPuzgjxyhRMHjGs4ZdqqfuJionKecMRjLTB3Z0xGGmqyOEOSZCOHb0Ef9AEE5Yq+0voYpycx7GqzhX98AweMGff9xacsT7OfDdIpgviPBSxxMmGHz2hA=; 24:FGN5ERIkne9a/svbaRr8nzsJeKkWDQkG0Gt0AB6Wk8Tzm7HHKpwZUALXMpn5rrSrB6St9C9pD8vH+oaH2scDf7jLHqGuawiPNEASwl+rT2c= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; TY2PR01MB2300; 7:1LkQFfwWxjNKFKdSWEYvfTnaJdXQq8ddQfe14uym4c6U09GYTz1IeUjlLLtxrmOlORzqz56IAw6ZzcFTGg6urcPnw9LNE/PA/Pl+0IcpdX+yGU2UJQW6JKU0XLsQUU0BdP8gXUmWRS6GGvQ0DyojSDeW3RSwcffAE1lx4rONmc8QGZnRdBYJyVh9uC+UI6St5/jg/t8pbGy8aP5nprceLEb9NbbVVuBO798kes8BElrlFT1E0pB/+lNUBImvy+7n; 20:q3391AV446D1wVdSQRE7xM2Fem4onrrg8T3d2CbgVGMR1tPtbfeAhMRoZa10tkRjeRTposKW+I5Um54yGZc8jeuhWuweTjckbX0kOavfz8LDtzceKz3pHWFLp2EbgOc3Ltn982aj/g/uaBZXV15WDiy11QXq5bNaVDWO9844g0o= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jul 2018 09:22:50.5492 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 575bb219-f634-4f62-f64a-08d5dffd61f5 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY2PR01MB2300 Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This patch adds a new function rcar_dmac_clear_chcr_de() to simplify adding pause function later. Signed-off-by: Yoshihiro Shimoda --- drivers/dma/sh/rcar-dmac.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/dma/sh/rcar-dmac.c b/drivers/dma/sh/rcar-dmac.c index 279c930..afd8c7b 100644 --- a/drivers/dma/sh/rcar-dmac.c +++ b/drivers/dma/sh/rcar-dmac.c @@ -762,18 +762,25 @@ 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) +static void rcar_dmac_clear_chcr_de(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); +} + +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; + + rcar_dmac_clear_chcr_de(chan); /* back DE */ rcar_dmac_chan_write(chan, RCAR_DMACHCR, chcr);