Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp2498028ybc; Sun, 24 Nov 2019 22:51:28 -0800 (PST) X-Google-Smtp-Source: APXvYqwKWtiPiRFQ7ohgBDGyKramFx4GXNljLQqv+1OD/pWh7vCnT0WwtobPHsGvJZhh4ZGm0KuI X-Received: by 2002:a50:8e41:: with SMTP id 1mr16598099edx.266.1574664688813; Sun, 24 Nov 2019 22:51:28 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1574664688; cv=pass; d=google.com; s=arc-20160816; b=mv/8KqhdwPZDlubYeH2NQNEJnxRp2LDgDFUYZ8vnksCKgzP1QMGeFVunnc1Xqz9NVI VOYuzSXTrj/YsoKVn+Hdp3tmhtiykpq19AeLMYYZ84xko4k7UAmF0SnQADHlUN5Mz/rm VdZyw8tNESRsekbDMwcvDopjS6JDhPuvp3W5WICjOilA48BS5c4BuLy5jV+jo7estLAF CyLYR24GTuIMgDxc2CdA/JJ0vFcKUd8cq4RZkLAa8KnKtLpmrsZvEz7BUr2v2Dk1Mc9W HLzjCVBl3Pesk10/epYn7U9iNL4UOMbTnO1WG7/bRE2ZMyp7J6dT/J0HGwOXDb5GZz4G K0qQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=h6l5KvdcJa0ccXBN+PYpy6Nc/2p21mtTmyjYszCsbwM=; b=helEsjX0D+bJGBBmHv4kfcpKsrlDFRf6cQYMs+SKUPG4OL/mAeqGl17P040+Q4WGtD sYuxxkSvVIygJ3ryv3pLq88yxZyKI33xWR8G6eDalDE6q8gShEDwMV/e4bNaSeuiddMH MUo86JKCfqHwGfU1qicq2MeZejbrnSpb2F+wjFywKUXPMjvr8mNpdgEaJpXE3Qfi6CBv 6fmdgF4hEv3acz5JGA5MDSHegBox9Qi900awi9IJdtYIeCVIvXp8wmVHRpxfZ3wngBMx lDBuH7sbtfMvGDChD3GsOJOiyM58+fYrybVZKvQD3NK0xq/aB0/KoR+AOruMBImEHITl YTOg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@xilinx.onmicrosoft.com header.s=selector2-xilinx-onmicrosoft-com header.b=CWNwUM5a; arc=pass (i=1); spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l3si3702986ejr.86.2019.11.24.22.51.04; Sun, 24 Nov 2019 22:51:28 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@xilinx.onmicrosoft.com header.s=selector2-xilinx-onmicrosoft-com header.b=CWNwUM5a; arc=pass (i=1); spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725906AbfKYGuI (ORCPT + 99 others); Mon, 25 Nov 2019 01:50:08 -0500 Received: from mail-eopbgr800059.outbound.protection.outlook.com ([40.107.80.59]:29472 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725535AbfKYGuI (ORCPT ); Mon, 25 Nov 2019 01:50:08 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W9fR9QYztQsxZ4tZ1QuJ2OGglhqQ4VC3JLLFvnu2uNLdkjhsSKnHxjiXuXXgeGYDAbrDE4uKFlpbOto+cufltUugT5zNd4CVIHUyhjPu7ediqKDxZ83GJ61isLq+YfRdwCtBFLeIp0367GcmeoQPEYGDPHLQv7RYprK/dpyqLhDYm0UaDF8y2oW0wQVuzoH5ZFlYfCpCx2Avgw1fbQuOAoAXN4B3Lx5Vn+G8+sYuwWKPIapmGt7/dVZKxwyl5OOWuxoREX/gl1UW2/qkqpZM09QY1RW4FidPbHTuVxB/gZLq4zef6hb+4Toalw/AYMSPwAIvCruAqcLT/d2kxGA5dQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=h6l5KvdcJa0ccXBN+PYpy6Nc/2p21mtTmyjYszCsbwM=; b=I3qNaGMqlHPYAs9OtHNNvkJtrzr50EnG+hE46UyKUFcT5/t151CTUm/x7NoCs3qV1iz+o3evIBkcb51K9uOb0HC1pSkqULTlfYPdeRz6CPA5JMKix/3J4RkOyRQ6R8DZDPsmVA4fLF6UdK9qN1yEva5gasZtEpe62PJeueSTwEoTfKGSN4ViNVcUdmBs1NJO559zBPqFRCfxQg+KY8F+rTTaZPrJs1CzGJ0QMELfzO/zS4QoFGlJAUNjBxbhnJD4/RZtO39w9icIj5jX52LGhUXvSYMhxLeSs5tMK5MarQ3mjPljBJTrYMpm0Y7IinnczFHH9xbMOShXvvX4fvUHWg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none (sender ip is 149.199.60.83) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=xhdpunnaia40.localdomain; dmarc=none action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=h6l5KvdcJa0ccXBN+PYpy6Nc/2p21mtTmyjYszCsbwM=; b=CWNwUM5avgO5QoedtsfOxfKd6CEgK4yMfSYCaSTCWyLtfVXryBWTZaHGrYpuUCln2n8oQY7G/6tRiqjz5Wl4E+vUFyzGAnlWIviUzbCi7F45aCBmTHU7NUIDwajHilTlk8+YcFqVH9HRiRiHMz2JuoYLXmCYOxfHM5r9XiEVqmo= Received: from SN4PR0201CA0041.namprd02.prod.outlook.com (2603:10b6:803:2e::27) by DM5PR02MB3704.namprd02.prod.outlook.com (2603:10b6:4:af::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2474.19; Mon, 25 Nov 2019 06:50:04 +0000 Received: from BL2NAM02FT054.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::204) by SN4PR0201CA0041.outlook.office365.com (2603:10b6:803:2e::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2474.17 via Frontend Transport; Mon, 25 Nov 2019 06:50:04 +0000 Authentication-Results: spf=none (sender IP is 149.199.60.83) smtp.mailfrom=xhdpunnaia40.localdomain; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=xilinx.com; Received-SPF: None (protection.outlook.com: xhdpunnaia40.localdomain does not designate permitted sender hosts) Received: from xsj-pvapsmtpgw01 (149.199.60.83) by BL2NAM02FT054.mail.protection.outlook.com (10.152.77.107) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.2474.17 via Frontend Transport; Mon, 25 Nov 2019 06:50:03 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1iZ84Y-0005dU-Gg; Sun, 24 Nov 2019 22:42:10 -0800 Received: from localhost ([127.0.0.1] helo=xsj-pvapsmtp01) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1iZ84R-0003BF-Vc; Sun, 24 Nov 2019 22:42:04 -0800 Received: from [10.140.184.180] (helo=xhdpunnaia40.localdomain) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1iZ84R-0003Af-6u; Sun, 24 Nov 2019 22:42:03 -0800 Received: by xhdpunnaia40.localdomain (Postfix, from userid 13245) id 65911105F6F; Mon, 25 Nov 2019 12:12:02 +0530 (IST) From: Radhey Shyam Pandey To: vkoul@kernel.org, dan.j.williams@intel.com, michal.simek@xilinx.com, nick.graumann@gmail.com, andrea.merello@gmail.com, appana.durga.rao@xilinx.com, mcgrof@kernel.org Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, git@xilinx.com, Radhey Shyam Pandey Subject: [PATCH] dmaengine: xilinx_dma: Reset DMA channel in dma_terminate_all Date: Mon, 25 Nov 2019 12:12:01 +0530 Message-Id: <1574664121-13451-1-git-send-email-radhey.shyam.pandey@xilinx.com> X-Mailer: git-send-email 2.7.4 X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-Result: No--0.351-7.0-31-1 X-imss-scan-details: No--0.351-7.0-31-1;No--0.351-5.0-31-1 X-TM-AS-User-Approved-Sender: No;No X-TM-AS-Result-Xfilter: Match text exemption rules:No X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(4636009)(346002)(396003)(39860400002)(136003)(376002)(428003)(249900001)(189003)(199004)(50466002)(14444005)(42186006)(16586007)(103686004)(51416003)(316002)(36756003)(5660300002)(26005)(2616005)(336012)(70586007)(42882007)(70206006)(305945005)(498600001)(81166006)(50226002)(81156014)(8676002)(48376002)(2906002)(8936002)(356004)(47776003)(4326008)(107886003)(6266002)(450100002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR02MB3704;H:xsj-pvapsmtpgw01;FPR:;SPF:None;LANG:en;PTR:unknown-60-83.xilinx.com;MX:0;A:0; MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 374d063a-3a8f-4f3d-13a7-08d77173b362 X-MS-TrafficTypeDiagnostic: DM5PR02MB3704: X-Microsoft-Antispam-PRVS: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:4502; X-Forefront-PRVS: 0232B30BBC X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XM6qyOSU4XYNgWGzWUS8WC7jNFjOXij1yxWkD+zfrlOukevpY6h6xab8vQYa3Ci5jrwW4L7T5Rt0VsnVfargeTNn9yha3TMQNrnTZNLmuTnvxF1mE4OJPc4EqGpMD467iw8NmfN2hdAUPOcPeFKqUAxPe5Odo8/lSGnGgo3KFup2SQcXnKi/50+UJSx6bdW9RRk2ewyaxaKd61wO4BhTaHYCstN8tYoSKbjqEWUMe8JrRNHNsbLaJQsG0p5M9flZhlcgpHe1prCJbY67ZN9/yjDpb7O9WwdyFGhlq3wPGK0lGa5fTmYYGCrHV2P4xHsjysjggfckjhwYLbMnxqbc52L2VMnXPq1WuMNSgggXmjpa+2dpTOgPibP9ZZqzYaGeUPDB7yncBGN0IDGlLHTMKrlPNKWFN5w/IjYbjmQWlGTomKP9RF9kLSKuhPskvjuS X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Nov 2019 06:50:03.9210 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 374d063a-3a8f-4f3d-13a7-08d77173b362 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.60.83];Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR02MB3704 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Reset DMA channel after stop to ensure that pending transfers and FIFOs in the datapath are flushed or completed. It fixes intermittent data verification failure reported by xilinx dma test client. Signed-off-by: Radhey Shyam Pandey --- drivers/dma/xilinx/xilinx_dma.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dma.c index a9c5d5c..6f1539c 100644 --- a/drivers/dma/xilinx/xilinx_dma.c +++ b/drivers/dma/xilinx/xilinx_dma.c @@ -2404,16 +2404,17 @@ static int xilinx_dma_terminate_all(struct dma_chan *dchan) u32 reg; int err; - if (chan->cyclic) - xilinx_dma_chan_reset(chan); - - err = chan->stop_transfer(chan); - if (err) { - dev_err(chan->dev, "Cannot stop channel %p: %x\n", - chan, dma_ctrl_read(chan, XILINX_DMA_REG_DMASR)); - chan->err = true; + if (!chan->cyclic) { + err = chan->stop_transfer(chan); + if (err) { + dev_err(chan->dev, "Cannot stop channel %p: %x\n", + chan, dma_ctrl_read(chan, + XILINX_DMA_REG_DMASR)); + chan->err = true; + } } + xilinx_dma_chan_reset(chan); /* Remove and free all of the descriptors in the lists */ xilinx_dma_free_descriptors(chan); chan->idle = true; -- 2.7.4