Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp217848imm; Tue, 28 Aug 2018 21:03:42 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZlyt3+hK2qS/ipdwW7x3kzy+NdZyuwkuJycNDhpR/0GeoEnwjYQ6og9IKlj3dir9MqsOGL X-Received: by 2002:a63:4b1f:: with SMTP id y31-v6mr4095534pga.14.1535515422765; Tue, 28 Aug 2018 21:03:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535515422; cv=none; d=google.com; s=arc-20160816; b=k4NwRz5Flwr2hsRxL4o3y9h4qTZBuar16XExocKBH8J6Hprg6hyHYgvaSZO1+F+XDl ryXc8kzuDJKmiIX/ESiijSXKxV6XObOtNGHD+9g6BkrI+GyW7HCkEf08wZOGXtRMVLF/ OPR0ifOHcFCznAgTxAvyQr5B+Qjq6CNnXIzqzDSAyQ7e36syEaowq62uF1cDIJr2cSXR KTfEKnZ5WwholI4XxV6Qkw/42JANYzli+SvjIAJQZr5nq8hllJT6DX8KJge4A9QAiYzE 2m3FoOuEbk5k+Q8xpp86g8gQcwJdICvlPNYIbYQG/AbOfEpd0gi63nF3W+RHXJqqvlNS IUQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=aKixiXXEA/cxzjPwhOD0feiRjGibf64PrWdYeA0NEPo=; b=Qkz70thJKJuBJjV2z6q7GS+8SnNlot9Du6bNzuq7QKuhj76rBMa4pDJvsmI8hl8MQi N/ae6Ks2Vu1m0sljxyEEXmBSFEVVcbI/N6+HLMkwOO9eC4pQXytfPRPVs1apcEY6jJTK K9Frktq7hInn4fDvNkCe9T9zz61zQZYuzPKHgoyO5QZFsE5AKkDMveDDHLLif20se7DB q4OkbY5QW/+FuF43s5ZUp9lGQSgJcMG0iSjH4bZQprmLPGZ7gtXzMAb9VMlnzsOT6ETZ v0YiTk3rS7OQpjdQqeGm6Jc+4X8rMuWFmZQHhxb0eLgtrBtHxfGnNkAMPBXmcbwVZJ+A 4nyQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=VwI1Ggmw; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g34-v6si2734396pld.244.2018.08.28.21.03.14; Tue, 28 Aug 2018 21:03:42 -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=@kernel.org header.s=default header.b=VwI1Ggmw; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727336AbeH2H4K (ORCPT + 99 others); Wed, 29 Aug 2018 03:56:10 -0400 Received: from mail.kernel.org ([198.145.29.99]:51534 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726857AbeH2H4K (ORCPT ); Wed, 29 Aug 2018 03:56:10 -0400 Received: from localhost (unknown [171.76.77.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id E4FE220850; Wed, 29 Aug 2018 04:01:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1535515281; bh=mzGPb9ii1y+rcmHuqMM7Mi4BNtiBHe2MgIrJn3+j94k=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=VwI1GgmwOdPNQ1p6EdkXgZwGwrVpdby47JOy82CblWGw9ttVvKpdl5j1DwlIt3KJ1 DeUGUPeHVfCMnVMGgAwtPYPgAWUdwxJ4eVIH+pgNeUJP17ekchCFeDhoq9nOaZtiYS YHTotAYYPiWLeDWZeUcaHndTfUcACccaou6Wfg3o= Date: Wed, 29 Aug 2018 09:31:11 +0530 From: Vinod To: Radhey Shyam Pandey Cc: "dan.j.williams@intel.com" , Michal Simek , Appana Durga Kedareswara Rao , "lars@metafoo.de" , "dmaengine@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH 3/3] dmaengine: xilinx_dma: Fix 64-bit simple CDMA transfer Message-ID: <20180829040111.GD2388@vkoul-mobl> References: <1532688639-32230-1-git-send-email-radhey.shyam.pandey@xilinx.com> <1532688639-32230-4-git-send-email-radhey.shyam.pandey@xilinx.com> <20180821155553.GI2388@vkoul-mobl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 28-08-18, 14:03, Radhey Shyam Pandey wrote: > > On 27-07-18, 16:20, Radhey Shyam Pandey wrote: > > > In AXI CDMA simple mode also pass MSB bits of source and destination > > > address to xilinx_write function. This fixes simple CDMA operation > > > mode using 64-bit addressing. > > > > > > Signed-off-by: Radhey Shyam Pandey > > > Signed-off-by: Michal Simek > > > --- > > > drivers/dma/xilinx/xilinx_dma.c | 6 ++++-- > > > 1 files changed, 4 insertions(+), 2 deletions(-) > > > > > > diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dma.c > > > index a37871e..2e15d86 100644 > > > --- a/drivers/dma/xilinx/xilinx_dma.c > > > +++ b/drivers/dma/xilinx/xilinx_dma.c > > > @@ -1245,8 +1245,10 @@ static void xilinx_cdma_start_transfer(struct > > xilinx_dma_chan *chan) > > > > > > hw = &segment->hw; > > > > > > - xilinx_write(chan, XILINX_CDMA_REG_SRCADDR, hw- > > >src_addr); > > > - xilinx_write(chan, XILINX_CDMA_REG_DSTADDR, hw- > > >dest_addr); > > > + xilinx_write(chan, XILINX_CDMA_REG_SRCADDR, > > (dma_addr_t) > > > + ((u64)hw->src_addr_msb << 32 | hw->src_addr)); > > > > so this is: > > (dma_addr_t)((u64)hw->src_addr_msb << 32 | hw->src_addr) > > > > what is src_addr data type? I think its u32. It would be better to > > update xilinx_write() to take u64 and not dma_addr_t. > > Yes, src_addr_msb and src_addr BD fields are u32. To explain: There is no > prob in xilinx_write it takes dma_addr_t as an arg which is 32/64 bit > depending on _DMA_ADDR_T_64BIT. In 64bit CDMA transfer, there was a bug > i.e in the call to xilinx_write src_addr_msb 32 bits were not passed. To fix > that combine MSB and LSB 32 bits before passing it to xilinx_write. Yeah that part was clear but the implementation can be better.. -- ~Vinod