Received: by 10.192.165.156 with SMTP id m28csp1779987imm; Tue, 17 Apr 2018 05:31:19 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+wIOEweXV6c5TdARj3hY/1M6VkpI/rxYRG37hk+SR8iIKwXpJJ5CBKWjZ9ogbZbfxe8Na0 X-Received: by 2002:a17:902:481:: with SMTP id e1-v6mr1884772ple.377.1523968279035; Tue, 17 Apr 2018 05:31:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523968278; cv=none; d=google.com; s=arc-20160816; b=hHNMb95XGcZfbX625iURg1ztguXvv9/SbGTBeoxN2xp0Te/b6uBMHl5NzlKskbwyw2 6x3bYugXnJXmlCTLJ5xo9z3NMSKdaTDiRYXe16r4qTqXA3/k00/fS8hDR+ex2JmtvKQZ 2rXCzfpT45BzM42Jr3rg93LeNhR/thKDl4BIrMTYMKMQNbhn7TmshdUVwScSq+lQb+Mw QAOZbF1POKXrcL9h7j7P8gb6g9WlmpS3em3bfhd5XL+mtmA8Hq5O7cKCfBsoucH24W2w IVgMMxo0nxSVKJoqIHUddIG5nlCfRax6YEwnzPWsRj86hsKhn7NikDfepi4prn/h2kaX UcZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :spamdiagnosticmetadata:spamdiagnosticoutput:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=nfKu7Ott0s/1YnHEVwZea11vLMeMC4Pt+nn2IEga9Xw=; b=NaupwWh+vDC5QXxNrYQrBfxAUn1PDTbE2wwUNZF7SjVDZZbXf/EXcxRggYai5m09BK Xr3oNYcMmwLSnlyHCaNValldEAvGpuVko/88gnGv0/RdH/wISOAxYFEJKL7v4f4LuaFU sqd26NAvFt9uFuRleLISri77CTjaah1yZc/qg53WPrgjlhmatlk9Gnv63pjb8pGsHNV9 pSGN4/9c51+K+sbZnexFvw/Q5DfR4/gRIP95gaw8eBG4beyqcTtp5JGCNYzeYjG1k9a4 YJWhLNYAG4U5+zdBeMmTkVhbHZcdPtTP1zDoR2K2ksmglxA41omN6XwK42FBl0emRsJW cAHQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@xilinx.onmicrosoft.com header.s=selector1-xilinx-com header.b=erzmgk2z; 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 s135si11467927pgs.629.2018.04.17.05.31.04; Tue, 17 Apr 2018 05:31:18 -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=erzmgk2z; 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 S1753097AbeDQM27 (ORCPT + 99 others); Tue, 17 Apr 2018 08:28:59 -0400 Received: from mail-sn1nam02on0072.outbound.protection.outlook.com ([104.47.36.72]:12896 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752087AbeDQM25 (ORCPT ); Tue, 17 Apr 2018 08:28:57 -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=nfKu7Ott0s/1YnHEVwZea11vLMeMC4Pt+nn2IEga9Xw=; b=erzmgk2zeb/fHPaIK0osUdLwBRN8B9xf/o5LEDiFCkTVvQww3Iy7K3pyS8rOTs65q3exXu6DqRbqsYAklsmWZCcTXgCxiBAWNkbI2HFWS28lIF/SSmn2YekkCzCBEbMw4QDQZhLIAfIJDc1IhxtpcrTzWr4NmyZ4lEPWP4hey5s= Received: from BN6PR02MB3282.namprd02.prod.outlook.com (10.161.152.142) by BN6PR02MB2370.namprd02.prod.outlook.com (10.168.254.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.696.12; Tue, 17 Apr 2018 12:28:53 +0000 Received: from BN6PR02MB3282.namprd02.prod.outlook.com ([fe80::11a8:1f43:f9e3:e6a7]) by BN6PR02MB3282.namprd02.prod.outlook.com ([fe80::11a8:1f43:f9e3:e6a7%13]) with mapi id 15.20.0675.015; Tue, 17 Apr 2018 12:28:52 +0000 From: Radhey Shyam Pandey To: Vinod Koul CC: "dan.j.williams@intel.com" , "michal.simek@xilinx.com" , "Appana Durga Kedareswara Rao" , "lars@metafoo.de" , "dmaengine@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "'RADHEYCS@GMAIL.COM'" Subject: RE: [RFC 4/6] dmaengine: xilinx_dma: Freeup active list based on descriptor completion bit Thread-Topic: [RFC 4/6] dmaengine: xilinx_dma: Freeup active list based on descriptor completion bit Thread-Index: AQHTym7jpd5Sj2JFfE2h6FzaUbI5DaP7VSmAgAmZbjA= Date: Tue, 17 Apr 2018 12:28:52 +0000 Message-ID: References: <1522665546-10035-1-git-send-email-radheys@xilinx.com> <1522665546-10035-5-git-send-email-radheys@xilinx.com> <20180411091102.GZ6014@localhost> In-Reply-To: <20180411091102.GZ6014@localhost> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=radheys@xilinx.com; x-originating-ip: [182.72.145.30] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;BN6PR02MB2370;7:WmtUxtM6HFF476u1cJRJplh3lo8qAK4GsU/4vb3FVMR3XSE1lxABovM+Fn4fZ0HAMYYOAaOjaxDujMmcpfEBMlOPisuUoApwrlNjr0oz19obZLlkJpIJFXlocW2lrNoubkX+k1raL8X6z8Vp4dcRnT7ArBCfmjMKVwNgwwCgHfhldohcJOViIRaHfCCyjyyef4c9M5q2dMZIV0zvWax1JjVRtOHSgH6nRNh5bSaBFmDlcNCMu1KRUvd4UOc0hkHf x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR; x-forefront-antispam-report: SFV:SKI;SCL:-1;SFV:NSPM;SFS:(10009020)(346002)(376002)(396003)(366004)(39380400002)(39860400002)(13464003)(199004)(189003)(74316002)(53936002)(6916009)(305945005)(4326008)(9686003)(2900100001)(6436002)(25786009)(5250100002)(11346002)(476003)(7736002)(3660700001)(8936002)(3280700002)(2906002)(55016002)(81156014)(8676002)(81166006)(446003)(486006)(14454004)(54906003)(575784001)(86362001)(316002)(7696005)(76176011)(105586002)(53546011)(102836004)(55236004)(59450400001)(39060400002)(33656002)(186003)(5660300001)(229853002)(6116002)(478600001)(66066001)(97736004)(6506007)(6246003)(106356001)(68736007)(99286004)(26005)(3846002);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR02MB2370;H:BN6PR02MB3282.namprd02.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(48565401081)(2017052603328)(7153060)(7193020);SRVR:BN6PR02MB2370; x-ms-traffictypediagnostic: BN6PR02MB2370: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(9452136761055)(258649278758335)(192813158149592)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3231232)(944501327)(52105095)(3002001)(93006095)(93001095)(6055026)(6041310)(20161123558120)(20161123560045)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:BN6PR02MB2370;BCL:0;PCL:0;RULEID:;SRVR:BN6PR02MB2370; x-forefront-prvs: 0645BEB7AA received-spf: None (protection.outlook.com: xilinx.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 63CylYm7pKjUWdJ64ImmulBzBwp7+At9d7xnv7hHVXjhUjJ5VkRT85sdN51wBsIBTZ015HkqO5B2SHmTMpa9ENlJTTTuEnt+lsb/IUB7JEd6d4qZaNH/P87sMTMoqi8MnpUIbkMO2dmN9VHPwmWxN/ag0bORONIbAO+hi/N7hWdtw99/kgNdckrTcIcpxEdO spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: d42e3f2f-9c6f-44d8-3190-08d5a45ec7ae X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-Network-Message-Id: d42e3f2f-9c6f-44d8-3190-08d5a45ec7ae X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Apr 2018 12:28:52.5818 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR02MB2370 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Vinod, > -----Original Message----- > From: Vinod Koul [mailto:vinod.koul@intel.com] > Sent: Wednesday, April 11, 2018 2:41 PM > To: Radhey Shyam Pandey > Cc: dan.j.williams@intel.com; michal.simek@xilinx.com; Appana Durga > Kedareswara Rao ; Radhey Shyam Pandey > ; lars@metafoo.de; dmaengine@vger.kernel.org; > linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org > Subject: Re: [RFC 4/6] dmaengine: xilinx_dma: Freeup active list based on > descriptor completion bit >=20 > On Mon, Apr 02, 2018 at 04:09:04PM +0530, Radhey Shyam Pandey wrote: > > 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 fea= ture > > 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 *cha= n) > > { > > 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 =3D list_last_entry(&desc->segments, > > + struct xilinx_axidma_tx_segment, node); > > + if ((seg->hw.status & XILINX_DMA_COMP_MASK) || > > + (!chan->xdev->has_axieth_connected)) { >=20 > why the second case ? That is not expalined in log? In the current implementation, delay timeout is enabled only for has_axieth_connected usecase. For ethernet, we need real-time processing while still having benefit of interrupt coalescing. Example: In RX interrup= t coalescing is set to 0x3. Without delay timeout, DMA engine will wait for all frames and then issue completion interrupt. In ethernet usecase, this can introduce huge latencies. Delay timeout interrupt will trigger if delay time period has expired and we can notify dma client with received frames. The second case is added to keep the previous implementation as is.(i.e whe= n Delay timeout interrupt is not enabled - move all active desc to done list)= .=20 Sure I will add a description for it in the commit log. >=20 > > + 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 > > >=20 > -- > ~Vinod