Received: by 10.213.65.68 with SMTP id h4csp460173imn; Tue, 13 Mar 2018 09:45:40 -0700 (PDT) X-Google-Smtp-Source: AG47ELti00h5B9dw9Zdi+1SLLVOSCCEHOGh52KJFC/QzI77yhVi/Vy0RMwvx0VbmY+InQS419ZQw X-Received: by 10.99.143.3 with SMTP id n3mr1002741pgd.159.1520959540499; Tue, 13 Mar 2018 09:45:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520959540; cv=none; d=google.com; s=arc-20160816; b=IwBCZHHaUXcsXYHdaBPDQkx8T/ZmzUBEKFsUgcG5wOM8IE0YxbfuCbeFQOAa28Bu58 N7aX07pZcJUMny85+D92K3TsbCSX4egO7MAtwakp0SDLzOWGvbHgzFAxkGShvMmmr2R6 JVl0EV7GAEgKNnSy0tmFSWbaaU1kiaVVn1FMaLlm355KVepRVWH68wvVySDoEQOUJLkL xnnxtK5ff5C2g1tDdsYFZCU7v1AWmneP45MDV2tS+NFThCcG1HZ52OVsQnSO+nguHrHY wtlsu9Sx/qOADATWowt+4Bo8STTryY93U4TNiiOavrZoNlp+w37F2IZIQ3QpCiN+Iaij cHAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:arc-authentication-results; bh=kVz+t0CBWunqQ/xNFIW3WYikemjSQKDZ2KeTIIEH38g=; b=lySRDvg9u/IflnnQZZC3JQoDgwQ8i77fk756nkJN/yrCZ8gqf4xztkqRwqEgg1a8L+ 2vRsfeaNItwywmrf+KmuI1FEpsQFNMVr3F10Bsn98+F3B9AMY/GcMqHjrESa3f05kV6L Xsg23PFBalrLmchR45Dm9mrrh7+1KaIvLVWmLAlewEUwqIr/wtMxgq7/L2ynSgq5508w /z3HeSEYCtC2x/luWetYwaHmfqfGWl9W8klzROrjBhkxbeiBHRugA8jupt3xh0+fe1LZ dovm5hFFVSVPqPG1/QM6nVfPkbf5HcCtIaqWcYdXTvX8NcV7KO70nFFe1Hv0Nr9s+8pU EsAg== ARC-Authentication-Results: i=1; mx.google.com; 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 q4-v6si277855plr.365.2018.03.13.09.45.26; Tue, 13 Mar 2018 09:45:40 -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; 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 S933626AbeCMQnU (ORCPT + 99 others); Tue, 13 Mar 2018 12:43:20 -0400 Received: from mx07-00178001.pphosted.com ([62.209.51.94]:46822 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933599AbeCMQmz (ORCPT ); Tue, 13 Mar 2018 12:42:55 -0400 Received: from pps.filterd (m0046668.ppops.net [127.0.0.1]) by mx07-.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id w2DGdqo3013762; Tue, 13 Mar 2018 17:42:19 +0100 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 2gpc5sa0sx-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 13 Mar 2018 17:42:19 +0100 Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 1406241; Tue, 13 Mar 2018 16:42:19 +0000 (GMT) Received: from Webmail-eu.st.com (sfhdag5node2.st.com [10.75.127.14]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id EC2D0A675; Tue, 13 Mar 2018 16:42:18 +0000 (GMT) Received: from localhost (10.75.127.45) by SFHDAG5NODE2.st.com (10.75.127.14) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Tue, 13 Mar 2018 17:42:18 +0100 From: Pierre-Yves MORDRET To: Vinod Koul , Rob Herring , Mark Rutland , Maxime Coquelin , Alexandre Torgue , Dan Williams , "M'boumba Cedric Madianga" , , , , CC: Pierre-Yves MORDRET Subject: [PATCH v1 7/8] dmaengine: stm32-dma: fix incomplete configuration in cyclic mode Date: Tue, 13 Mar 2018 17:42:06 +0100 Message-ID: <1520959327-25760-8-git-send-email-pierre-yves.mordret@st.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1520959327-25760-1-git-send-email-pierre-yves.mordret@st.com> References: <1520959327-25760-1-git-send-email-pierre-yves.mordret@st.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.75.127.45] X-ClientProxiedBy: SFHDAG5NODE1.st.com (10.75.127.13) To SFHDAG5NODE2.st.com (10.75.127.14) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2018-03-13_07:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When in cyclic mode, the configuration is updated after having started the DMA hardware (STM32_DMA_SCR_EN) leading to incomplete configuration of SMxAR registers. Signed-off-by: Pierre-Yves MORDRET Signed-off-by: Hugues Fruchet --- Version history: v1: * Initial --- --- drivers/dma/stm32-dma.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/dma/stm32-dma.c b/drivers/dma/stm32-dma.c index a11cbee..38c545d 100644 --- a/drivers/dma/stm32-dma.c +++ b/drivers/dma/stm32-dma.c @@ -538,6 +538,8 @@ static void stm32_dma_dump_reg(struct stm32_dma_chan *chan) dev_dbg(chan2dev(chan), "SFCR: 0x%08x\n", sfcr); } +static void stm32_dma_configure_next_sg(struct stm32_dma_chan *chan); + static void stm32_dma_start_transfer(struct stm32_dma_chan *chan) { struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); @@ -580,6 +582,9 @@ static void stm32_dma_start_transfer(struct stm32_dma_chan *chan) if (status) stm32_dma_irq_clear(chan, status); + if (chan->desc->cyclic) + stm32_dma_configure_next_sg(chan); + stm32_dma_dump_reg(chan); /* Start DMA */ @@ -689,8 +694,7 @@ static void stm32_dma_issue_pending(struct dma_chan *c) if (vchan_issue_pending(&chan->vchan) && !chan->desc && !chan->busy) { dev_dbg(chan2dev(chan), "vchan %p: issued\n", &chan->vchan); stm32_dma_start_transfer(chan); - if (chan->desc->cyclic) - stm32_dma_configure_next_sg(chan); + } spin_unlock_irqrestore(&chan->vchan.lock, flags); } -- 2.7.4