Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp3714485imm; Tue, 11 Sep 2018 00:28:03 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZFp6P6R2po6a9PdKo7Mm0PQ8PiW6Md45sPF4gHKaFcuFfK1TxVFJWroxjWxg93+qr1MIEm X-Received: by 2002:a63:3587:: with SMTP id c129-v6mr26732830pga.290.1536650883869; Tue, 11 Sep 2018 00:28:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536650883; cv=none; d=google.com; s=arc-20160816; b=dWGy0FFh75FIsf+O4Fx7cW7iaBdiG92mtaTfp3T4MrnvEmA1pL9Zfjz4n9pn5QUKRE hlsdi3EgebZLLYPMUssJiGZNeEEs9c4QEUSPYswRlCBiypRj3JAFQbjR6vqzJJU6YSRA Q4weLmpBLp94397AKN4JPG+893+YvN7/2xq/1Sv/3h3EDXHMSnXvfgtaujWEbIAzzi/V x+ilG4E7NoTRjpaQ3PZWZGdvR++OaAxQYf5vz8TgF4Wy79bWrrSOjAYBU5KPe0b3cuDm 6bGS/K95ndPoFaES8rEKJb2Gd5J+nQJ04tMay7jl5flsJplmgEwhW5lAAFfDGBIKBzUu dlAA== ARC-Message-Signature: i=1; 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; bh=ALI9hi36+JuMH+lScgf1wWR5tsyZt7gb6uAwH9D1/xg=; b=Qeh8jzBBa8bejoOxe5lJ0LzAMWj3qESU+Qd6DsNBXHHnjpWY8HUJPcnNgAMll50pv1 vbJGhVd3U2i+sELGQk2vj7VpZanycjPE4flZSsX+Yfw8fFsgJBVwJENVUrYdRTIqJnoa qxXqW/vgU7XXXMlo/+uKbIYMAx2SnifbzmRlIX/Xvx+pvm/as/Sm9L0omYPlkVilTJUC UivuVriTxk9iT4elJj2OxoKjrcBhXObPGBuH2/ZBjRyPEF7wQyjAnlc/91dfJrSU+22m gdmd5CcnyyjoOtdoOaxF+edT7e3YdSy1Oe5S5uirkHF/1bRpT5UchNe1bWW/jBUx1BsK fxJg== 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 f10-v6si18189646plt.4.2018.09.11.00.27.48; Tue, 11 Sep 2018 00:28:03 -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 S1727771AbeIKMZa (ORCPT + 99 others); Tue, 11 Sep 2018 08:25:30 -0400 Received: from mx07-00178001.pphosted.com ([62.209.51.94]:63966 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726811AbeIKMZa (ORCPT ); Tue, 11 Sep 2018 08:25:30 -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 w8B7Oa0C026425; Tue, 11 Sep 2018 09:27:06 +0200 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 2me62r0ycc-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 11 Sep 2018 09:27:06 +0200 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 7235A31; Tue, 11 Sep 2018 07:27:04 +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 4104A1DF8; Tue, 11 Sep 2018 07:27:04 +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, 11 Sep 2018 09:27:03 +0200 From: Pierre-Yves MORDRET To: Vinod Koul , Rob Herring , Mark Rutland , Alexandre Torgue , Maxime Coquelin , Dan Williams , , , , CC: Pierre-Yves MORDRET Subject: [PATCH v1 0/7] Add-DMA-MDMA-chaining-support Date: Tue, 11 Sep 2018 09:26:53 +0200 Message-ID: <1536650820-16076-1-git-send-email-pierre-yves.mordret@st.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.75.127.45] X-ClientProxiedBy: SFHDAG3NODE1.st.com (10.75.127.7) To SFHDAG5NODE2.st.com (10.75.127.14) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-09-11_03:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This serie adds support for M2M transfer triggered by STM32 DMA in order to transfer data from/to SRAM to/from DDR. Normally, this mode should not be needed as transferring data from/to DDR is supported by the STM32 DMA. However, the STM32 DMA don't have the ability to generate burst transfer on the DDR as it only embeds only a 4-word FIFO although the minimal burst length on the DDR is 8 words. Due to this constraint, the STM32 DMA transfers data from/to DDR in a single way and could lead to pollute the DDR. To avoid this, we have to use SRAM for all transfers where STM32 DMA is involved. An Hw design has been specially put in place to allow this chaining where DMA interrupt is connected on GIC and MDMA request line as well. This grants the possibility to trigger an MDMA transfer from the completion of DMA. At the same time MDMA has the ability to acknowlege DMA. The aim is to have an self refreching mechanism to transfer from/to device to/from DDR with minimal sw support. For instance the DMA is set in cyclic double buffering to feed SRAM and MDMA transfer to DDR thanks to LLI. Pierre-Yves MORDRET (7): dt-bindings: stm32-dma: Add DMA/MDMA chaining support bindings dt-bindings: stm32-dmamux: Add one cell to support DMA/MDMA chain dt-bindings: stm32-mdma: Add DMA/MDMA chaining support bindings dmaengine: stm32-dma: Add DMA/MDMA chaining support dmaengine: stm32-mdma: Add DMA/MDMA chaining support dmaengine: stm32-dma: enable descriptor_reuse dmaengine: stm32-mdma: enable descriptor_reuse .../devicetree/bindings/dma/stm32-dma.txt | 32 +- .../devicetree/bindings/dma/stm32-dmamux.txt | 5 +- .../devicetree/bindings/dma/stm32-mdma.txt | 22 +- drivers/dma/stm32-dma.c | 903 ++++++++++++++++++--- drivers/dma/stm32-mdma.c | 133 ++- 5 files changed, 954 insertions(+), 141 deletions(-) -- 2.7.4