Received: by 10.213.65.68 with SMTP id h4csp2225008imn; Mon, 2 Apr 2018 03:42:06 -0700 (PDT) X-Google-Smtp-Source: AIpwx4873myoiP31jBB7LqmO8BMlxcdqZTH/V0CXpvlmknfGDMfwXA6pGnXWYJOFhTwrUrlX9b2X X-Received: by 10.98.189.14 with SMTP id a14mr354836pff.30.1522665726323; Mon, 02 Apr 2018 03:42:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522665726; cv=none; d=google.com; s=arc-20160816; b=YKl8xIsKi9FOft3yhYq7lE1oU25rabjrYXGgjx5K34Eye6xH8i70noWdbStYBWSBa/ 032ipyb/19ZHQ76ApTlBcU+LKGWYNr+XAuJR4DuCBitoQfJdsPr3LVeQ2yB3NgjpLv7k 9xVdbNATyRe0oQ8j2xTMbPFamwncVRDGVmJNFVozSb2vUB9ShAZsT44nxim+QjJUieU5 sk8E5fwrWvbkT4cdYoayzbb6ZKy5QFEZeGH258UNwkFKulstHluXLMm0g1Cp33BgsQuQ 3/FQXYDpocmQ3OvqmEvxaMW+1ZameDIOoBom0EbbLHirYvqpOLe7Bp5/faqzQUKPP2gS /ZyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:spamdiagnosticmetadata :spamdiagnosticoutput:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature:arc-authentication-results; bh=YPNC+6QsVr7Td0npnAAmtRjR0uEvc9cQ9q2ASwY/Cyc=; b=YEwaFi/kaJpcfLgPnbDeUKG6pxfhhwG6Nc3SREy1xz0O+YYuFOMqvIJcWJOVlH2yk3 WZ79v1XO91zW2SbdoxYStXXnWOBAV3+RHSyyxRuY+hxTio292dMr99qRMT1HFeJ0JGoc unwhx02ND00lBdap5JmKMub/+csWcoVX1lZt6JT4GyXjsKu0fm5JIosjEJ+TXFoh+HEe /Wm1qcaWobtUEvzqdmvZkZmI2a3dKXJQ7VqB2x7BfxclGyRd0DLT6w0KTQkOAe6SQIZ0 GS+nVIXJ8Zq+1LqTu9pzr/Bh9jjXyA2pai+iZRY4UAyTlwGCjk3pEAR4wYF8bH3CoW7B y6vw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@xilinx.onmicrosoft.com header.s=selector1-xilinx-com header.b=OPR512FJ; 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 s12-v6si46577plp.652.2018.04.02.03.41.52; Mon, 02 Apr 2018 03:42:06 -0700 (PDT) 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=selector1-xilinx-com header.b=OPR512FJ; 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 S1754444AbeDBKje (ORCPT + 99 others); Mon, 2 Apr 2018 06:39:34 -0400 Received: from mail-sn1nam02on0085.outbound.protection.outlook.com ([104.47.36.85]:55461 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754256AbeDBKj1 (ORCPT ); Mon, 2 Apr 2018 06:39:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=YPNC+6QsVr7Td0npnAAmtRjR0uEvc9cQ9q2ASwY/Cyc=; b=OPR512FJm6P3zwnyn+1T/6hCquR0GS6ikpM3sRRHV0acxDtK+ulMJ+wD4BkoqGAgXBiEKOJXFcMCiERTmeDjrQT78Qo8d7tgIxEruymKF5l/pkesdxA7rWb1GaJq8uiw6SK+GIdZCruSqc7hf51H0ektjBLFNZjvZuAFxlC1Y7c= Received: from MWHPR0201CA0025.namprd02.prod.outlook.com (2603:10b6:301:74::38) by CY4PR02MB2263.namprd02.prod.outlook.com (2603:10b6:903:a::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.631.10; Mon, 2 Apr 2018 10:39:25 +0000 Received: from CY1NAM02FT033.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::204) by MWHPR0201CA0025.outlook.office365.com (2603:10b6:301:74::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.631.10 via Frontend Transport; Mon, 2 Apr 2018 10:39:24 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by CY1NAM02FT033.mail.protection.outlook.com (10.152.75.179) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.631.7 via Frontend Transport; Mon, 2 Apr 2018 10:39:24 +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 1f2wrz-0001ec-Ty; Mon, 02 Apr 2018 03:39:23 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1f2wru-0003KE-Qw; Mon, 02 Apr 2018 03:39:18 -0700 Received: from xsj-pvapsmtp01 (smtp2.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w32Ad9WV025425; Mon, 2 Apr 2018 03:39:09 -0700 Received: from [172.23.37.80] (helo=xhd-paegbuild40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1f2wrl-0003IT-9q; Mon, 02 Apr 2018 03:39:09 -0700 Received: by xhd-paegbuild40.xilinx.com (Postfix, from userid 13245) id 7C8AFB20897; Mon, 2 Apr 2018 16:09:08 +0530 (IST) From: Radhey Shyam Pandey To: , , , , , CC: , , Subject: [RFC 4/6] dmaengine: xilinx_dma: Freeup active list based on descriptor completion bit Date: Mon, 2 Apr 2018 16:09:04 +0530 Message-ID: <1522665546-10035-5-git-send-email-radheys@xilinx.com> X-Mailer: git-send-email 2.4.4 In-Reply-To: <1522665546-10035-1-git-send-email-radheys@xilinx.com> References: <1522665546-10035-1-git-send-email-radheys@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes 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)(376002)(346002)(39860400002)(39380400002)(396003)(2980300002)(438002)(189003)(199004)(63266004)(47776003)(126002)(90966002)(2906002)(446003)(106002)(486005)(54906003)(16586007)(52956003)(2201001)(59450400001)(11346002)(36756003)(51416003)(110136005)(316002)(476003)(42186006)(2616005)(76176011)(486005)(26005)(186003)(426003)(103686004)(50466002)(81156014)(478600001)(4326008)(48376002)(8676002)(81166006)(36386004)(6266002)(5660300001)(8936002)(305945005)(6666003)(50226002)(356003)(106466001)(336012)(107986001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR02MB2263;H:xsj-pvapsmtpgw01;FPR:;SPF:Pass;LANG:en;PTR:unknown-60-83.xilinx.com;MX:1;A:1; X-Microsoft-Exchange-Diagnostics: 1;CY1NAM02FT033;1:DQOu0VICGaMMiBRr+ff7NDOAHU335xr/HeOmyOxXCCdqJ5R3S8vfmCAQ6rcc5L1asNUodk9K4QWZyoGr1baRl5lV4pkXmNXU4Um9dzejo+laZ5fL+U75MZcgpW/ZJdhe MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 16291310-d8c3-469b-b18e-08d59886009d X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4604075)(4608076)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060);SRVR:CY4PR02MB2263; X-Microsoft-Exchange-Diagnostics: 1;CY4PR02MB2263;3:3D3P7gCwIS8uZmbcqQqMEin/qEei+hOZLfEnwCYbLiECSx+m12a+Hv1Xn4yOtCGPYZgkS9QoyGf6zBfsZRDcVDmdelqR7K4Q1KVqaGTUrBhFJIRC/tIINfp9QNwbet3plepGr6x61gQM08vAah/iwYiVXziQHaqz5Nmd3RKHTJoZP6ekyjJ0wjYENTf78MYnZYklezqR5LiD/1LzO/kljpFQXRgu2Hp2NkZihWaiLqol7nvHPGJysy55BRVNmyqwtHdIg5vPXrp4vmpSS4FGPxshRp8hrBtf6/NWwVImCdA3qveNIdsX3djhGYoEVoUPrftuUBKQON/7C1EXT1PuvbCrGuvISOVKYX8GYVlhkPc=;25:/ewTYLgF86oB/AgNkX+KTcTLj+kO0uu42lTH8JXUsUWAUdISbUu3yIy06jqXt+w3lI3A9LsIqJIf957dD/Zb3SkUHnCD6XjzJ/DbFqMg8M79k+IXitlxczkZdrVg+zuV/+tqPTc9RluQdulBFjk6tKUuR6D6/9eFP56DoJO5BhhWbb+sQxEK15KWvQ3CBK5ShoNlcvv5Z5WWeNlmxgXMwsD+nnKsR1Fw47KnVDE2QXd4A8ExQWrV3uWvaAuv2H9gJ2OM5AxSNOf3RXR+GxXNw2xJWtLsJ7gAISBPP9NyrKm44CAfCBoCaj5c95z3VMKXWC1mfLtkD16QMbKW2mys0g== X-MS-TrafficTypeDiagnostic: CY4PR02MB2263: X-Microsoft-Exchange-Diagnostics: 1;CY4PR02MB2263;31:FwlEDZ5RmypuLdDRDSi89o+3WkHmSOcOs9s1+V1yzHG6ZWWFp7lbMp+juB5yTIaKUcxL4bFBzGuOT77Mo1zkoPsS5M1kJhcggplkjlOcaDEvhFFarGljT4o7ZRjkLloU/GtLn+rsA4yQxUkcBpdsNDlm5ArjGTZwmb3S6EvuCHUYyolxa6v+k0Jtrlg1ZatRgfaBy2ccbaM076BEnyJ/e60AFF/euiBWVfNRJ7/La7A=;20:pKeAqx5bRXJZieDxz2mA/5v0VPiCSloAh18RegtUHOrlcgwrKuow8xGt1QCf66MpbX46NZwhlAfOt0UG3U66hswzTp3UrGKQ7134Gorgc+2o2NB50/pTVS3eyB7uCmOG4jdai6CdOZMxdLZEoF1vRrYZBYQ6IPbAGguQyAxq2LOJ04z17rAUXG+9Tut3j7dTBmT94+zxxhH7EHehnXK1lMfXfNEpJZZXKkrWy0fo/wwhxZeTL3kZAs/XsMd+b/tTGbCvpFJolDUhOs0BP5BbgVpleQDnydTVFvY1IjHu53G9hgEkn5/VSSlrAmIx5FoqFwIHED5E/Vnhq1ysr9qWiDvb+HMa/f90EE2gVMp5zpXb1ehzd6loLmjMrHpiOJ5tlhpu6jOtfPdfUw0c2MKcQFqsdGnB224rqZh9ltnu8awAXAQtdTaeM9LX/BC1o4hSXLz0ct6SLo9jfc2pgQ19jZTbX7azG51S8QjVjPVcARMIjytjd9pl1S3ypjScyvyl X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93004095)(3231221)(944501327)(52105095)(6055026)(6041310)(20161123564045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(6072148)(201708071742011);SRVR:CY4PR02MB2263;BCL:0;PCL:0;RULEID:;SRVR:CY4PR02MB2263; X-Microsoft-Exchange-Diagnostics: 1;CY4PR02MB2263;4:5uPR2o+9ICbkCWAEm7rADH5sJ1H2EDQtmg4t+ufPuC/pFVpOUL4xALvBMqJGHsfm3aJ2JvXB+TxdLoY61ffQUk5GM57twGxvExNgTCp2fx76VFXeqg3IS4AGU9fDH+FomaZxYao2wK5rklJrXS71C4ETbjHvt/2cy2jhB/DbsjAhaTTmx7j99YWG0dTLunHkPkY0ZSGJV7cfGiw3kafCZ+2azVisBfScZqt+Tdly/MbgJYzhKAF1qtPMohlXF1WBjHhpqSeUseDJnX6E5980gM2Es8kx6xXW1n4EcZF42MEtNyrKrEcM2owuhw62Qjoj X-Forefront-PRVS: 0630013541 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY4PR02MB2263;23:t/L1WYFl3TGtTAPRCiGsdIw9ptGdEcS/VAWVU4XdV?= =?us-ascii?Q?kwrOy2Em34oC6kuDU8EWkEIwzuzlYoqLQ4y5J2z0WDjZjEFkCknVgXNOCmsm?= =?us-ascii?Q?rc/m6Wh7pPAkKnJhAEVbWwqNxYAV1eDKZQl+l/yAgo6Or1HNek9SsgzTUq5D?= =?us-ascii?Q?mgUfqBt3MSbk5o01SmBBg4SaKyHw827PHSTmx2mB716pln42r+cydLK3vU0L?= =?us-ascii?Q?jhSqBoebdEMnW/MNkoroI59WA0wT20tXQrELGootvdgsYhPSgDjVRm0trzfI?= =?us-ascii?Q?HIVBWSCUtVBdUyl58haHF5F2rKpLLb/gTmT0Dy7Bdcw+YEamqxBKqlRpQz11?= =?us-ascii?Q?IajN2o16Ks/WzZfJfx3d29yQHazhT72y4vxd6kSPPZtSSy7H++S4mU2Fakom?= =?us-ascii?Q?f7O8/RITLW33I/+cVOGJ4b3J4DRGEXoPqDS4k6dj5/n3Yw7aVAzYvg8Cqkmx?= =?us-ascii?Q?6nZLeQsdFqTmvZCfoG4flycFVL5hz1YpUkUArsdCQQvP9R7jEYL/YNoauvKA?= =?us-ascii?Q?ZN6mtxifap6iWqZF3cRGgerpEkpJXIzAsCmNY2UWoNXl9TPXya7RZCENitki?= =?us-ascii?Q?15i7N8YOdVhatG1Av094+qN/tGTQs5oxkO7bQ845AkUR3vC+mDKGTpcg8kp7?= =?us-ascii?Q?QbzfQxIBotT7iiA9DkanjZfFi81gItR5VAYHwjqeTPnBWe/SCcPIVwxhF5T3?= =?us-ascii?Q?BOLK1u2XxUmiQNS8sAMlZmsWV6755WligQ+mjXL3e696YuxZLUjnLe+rjVdo?= =?us-ascii?Q?q+IPGvhowjnYkBqyZ5fsIS54LMW4ZJ57eTOkS2WfSuveYmf5Nd4Iuivrh4nN?= =?us-ascii?Q?jCKYYDlx4Jy32o6mMSaS8HuIM6rBHD5GKYUxgSfifQ/DHSZ0Op+QOeBB8oBu?= =?us-ascii?Q?86M5A27vtC1gxdPnroLD2Warhf3vVQtCv/CPbXODFvZzkqqi3yF3aM1wNCH0?= =?us-ascii?Q?9kRzh4VwHy5st7AvjUoMkjW+53wq7Lgw8SJhvaSYwNu/LWkh9Ht+JbiUVSK3?= =?us-ascii?Q?+6yf3Hx3dcQtAw53KZ/Yk+WaYuo38NX8F98tdhNE6nnf3YFZ1S6o0LhJLy84?= =?us-ascii?Q?3o1pfJaN8zdS5qBmvYqGYY4eLFXS22k8w2VpkvluG+Tt9VdOlWE5x0B6Dwub?= =?us-ascii?Q?lzx2dC03esRjApWykTNP9DiG0KWZ0GsRoG5iDbztPwDqbws3Z25o3C+H7KJo?= =?us-ascii?Q?OQEKcceT/J8B5+sqpvHY8qR5xcrMitthuK8?= X-Microsoft-Antispam-Message-Info: 52VaWXrE3QoCmFksQWySaSs6tLmdI3i4DO3JcTRyEEVXurKGT1J8diGDfAp7CjihKg6U4OyRFY4RGYlstCaAP1PWfLxSMS0mJYK0JPumEJDyUyfxBKm/BYwPkVh/Nv+1r8YIgnXDMCtkzcGWuNdQq2iXFM7DvOQwuSbeKlf8DECe0dRnjouBFgYBSu2obcn5 X-Microsoft-Exchange-Diagnostics: 1;CY4PR02MB2263;6:jvjuu5CEu4i1hEcM/YLMkCp50qw2Mwwzveeg9Gn2K6WIoPIBhupjYeFETMEPmxzo5xVYcWYLZukTRKuvQmGKdmKn51EBgSfcN53tBPg5qwvhoafg/SiCYiOB+0pn7EcUl3luuR4Gc+rM5Da2V4Md2r4j7vxNWXhR3HLI/7T2fHu4eGUSf/fe5e3kG84vqj/SEzsJOm0wrU1zaBBXJIAQ/k9mp9YLnm1S4vWXNohN6zGmTS2YQOOfWhU2M/wTKEZIuLxXb8pMKSdnbbe73tcTI4fJ0j+oNvkhd6tvcnHvY5QQnGAn7OeEB9cLq+tuLvQOIxXnSpfoOeQTJt9leewD6Psg+vbop2lEYUHcjdgqQn9/fU67KqK/iKSzlLSLxmvEM0jORuz+fIxRhSmPEGCDJUuVFQksAjumVHOgq7McF2Q0aWyQVuMIlxSznH0GZGbpl9xfdTWEFJWn0rpKz33uzA==;5:DkILS7be25g08MUg3PZYSyO+kx10rRU4cdtBaeNHyXVYF6gny0aozyThjrnoMsi2VaigWIS3sroQIoZeUgrVaxZWveiR1rXQFcTShcNXZi7CpwVxrpISuKReNbn7L1LXSRy/XgeIn1uG8QIFS0mFx2BBo1JjucTpQyF5GO59lUA=;24:oCRgMQISQ1+5GZLUH2zENYBpzD2JJ5PaRac77dTRK+FsVjfxIo2TqFX107ES5bziD+W+z8gvkFpGsKPQSV7uKC7Rdc8bDJnQGtmwdmGjAO8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR02MB2263;7:q/hMH2ZA0gmd5Fdyz6j3yUh/Bk40xT7K+ZflbybPO6vAgq9jKLLJ6l5NwzBLLghPhyS1Qsilj5GcwP0mEskfWHTVG7TQnw7Xb2WjXvboch4JiFUWoaSm12uJovH7K3aK0pUaHgmBLgLyZJcXVS84tRcBXttXPmpBWC0s3sD5ddJNMBGDET+hTIOFg40VfEvJpy61e2Qw8SOUnQH88HKd/OOa9PZ9vT/BCagHTFYjMyQuH0ngWoCTIQVu3waPjzLq X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Apr 2018 10:39:24.2573 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 16291310-d8c3-469b-b18e-08d59886009d 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: CY4PR02MB2263 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org AXIDMA IP sets completion bit to 1 when the transfer is completed. Read this bit to move descriptor from active list to the done list. This feature is needed when interrupt delay timeout and IRQThreshold is enabled i.e Dly_IrqEn is triggered w/o completing Interrupt Threshold. Signed-off-by: Radhey Shyam Pandey --- drivers/dma/xilinx/xilinx_dma.c | 18 ++++++++++++++---- 1 files changed, 14 insertions(+), 4 deletions(-) diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dma.c index 36e1ab9..518465e 100644 --- a/drivers/dma/xilinx/xilinx_dma.c +++ b/drivers/dma/xilinx/xilinx_dma.c @@ -103,6 +103,7 @@ #define XILINX_DMA_PARK_PTR_RD_REF_SHIFT 0 #define XILINX_DMA_PARK_PTR_RD_REF_MASK GENMASK(4, 0) #define XILINX_DMA_REG_VDMA_VERSION 0x002c +#define XILINX_DMA_COMP_MASK BIT(31) /* Register Direct Mode Registers */ #define XILINX_DMA_REG_VSIZE 0x0000 @@ -1387,16 +1388,25 @@ static void xilinx_dma_issue_pending(struct dma_chan *dchan) static void xilinx_dma_complete_descriptor(struct xilinx_dma_chan *chan) { struct xilinx_dma_tx_descriptor *desc, *next; + struct xilinx_axidma_tx_segment *seg; /* This function was invoked with lock held */ if (list_empty(&chan->active_list)) return; list_for_each_entry_safe(desc, next, &chan->active_list, node) { - list_del(&desc->node); - if (!desc->cyclic) - dma_cookie_complete(&desc->async_tx); - list_add_tail(&desc->node, &chan->done_list); + + seg = list_last_entry(&desc->segments, + struct xilinx_axidma_tx_segment, node); + if ((seg->hw.status & XILINX_DMA_COMP_MASK) || + (!chan->xdev->has_axieth_connected)) { + list_del(&desc->node); + if (!desc->cyclic) + dma_cookie_complete(&desc->async_tx); + list_add_tail(&desc->node, &chan->done_list); + } else { + break; + } } } -- 1.7.1