Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752690AbcDOIws (ORCPT ); Fri, 15 Apr 2016 04:52:48 -0400 Received: from mail-bl2nam02on0062.outbound.protection.outlook.com ([104.47.38.62]:60784 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751591AbcDOIwl convert rfc822-to-8bit (ORCPT ); Fri, 15 Apr 2016 04:52:41 -0400 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; From: Appana Durga Kedareswara Rao To: Rob Herring CC: "pawel.moll@arm.com" , "mark.rutland@arm.com" , "ijc+devicetree@hellion.org.uk" , "galak@codeaurora.org" , Michal Simek , Soren Brinkmann , "vinod.koul@intel.com" , "dan.j.williams@intel.com" , "moritz.fischer@ettus.com" , "laurent.pinchart@ideasonboard.com" , "luis@debethencourt.com" , Anirudha Sarangi , Punnaiah Choudary Kalluri , "devicetree@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "dmaengine@vger.kernel.org" Subject: RE: [PATCH v5 1/2] Documentation: DT: dma: Add Xilinx zynqmp dma device tree binding documentation Thread-Topic: [PATCH v5 1/2] Documentation: DT: dma: Add Xilinx zynqmp dma device tree binding documentation Thread-Index: AQHRlUO4nM3fAKbIRUeQXSpNblBNOp+JDSuAgAFwCSA= Date: Fri, 15 Apr 2016 08:52:33 +0000 Message-ID: References: <1460524609-8722-1-git-send-email-appanad@xilinx.com> <20160414150413.GA24644@rob-hp-laptop> In-Reply-To: <20160414150413.GA24644@rob-hp-laptop> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.23.94.217] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.0.0.1202-22262.001 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:149.199.60.83;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(189002)(377454003)(13464003)(199003)(51914003)(24454002)(33656002)(11100500001)(46406003)(551934003)(87936001)(189998001)(92566002)(86362001)(19580395003)(5008740100001)(586003)(19580405001)(575784001)(6116002)(1096002)(50986999)(2906002)(23726003)(102836003)(106116001)(55846006)(5003600100002)(50466002)(6806005)(5250100002)(2920100001)(63266004)(106466001)(5004730100002)(1220700001)(2950100001)(110136002)(3846002)(97756001)(76176999)(47776003)(2900100001)(81166005)(54356999)(4326007)(107986001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1NAM02HT031;H:xsj-pvapsmtpgw01;FPR:;SPF:Pass;MLV:sfv;MX:1;A:1;LANG:en; X-MS-Office365-Filtering-Correlation-Id: 9b3101e1-2d8c-4fb3-3ad1-08d3650b4c3d X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501002);SRVR:SN1NAM02HT031; X-Microsoft-Antispam-PRVS: <079c6ccc0cb94134a26ed907b257724f@SN1NAM02HT031.eop-nam02.prod.protection.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(9101521026)(601004)(2401047)(13024025)(13018025)(5005006)(13017025)(13023025)(8121501046)(13015025)(10201501046)(3002001)(6055026);SRVR:SN1NAM02HT031;BCL:0;PCL:0;RULEID:;SRVR:SN1NAM02HT031; X-Forefront-PRVS: 0913EA1D60 X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2016 08:52:38.1873 (UTC) 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: SN1NAM02HT031 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4792 Lines: 136 Hi Rob, Thanks for the review... > -----Original Message----- > From: Rob Herring [mailto:robh@kernel.org] > Sent: Thursday, April 14, 2016 8:34 PM > To: Appana Durga Kedareswara Rao > Cc: pawel.moll@arm.com; mark.rutland@arm.com; > ijc+devicetree@hellion.org.uk; galak@codeaurora.org; Michal Simek > ; Soren Brinkmann ; > vinod.koul@intel.com; dan.j.williams@intel.com; Appana Durga Kedareswara > Rao ; moritz.fischer@ettus.com; > laurent.pinchart@ideasonboard.com; luis@debethencourt.com; Anirudha > Sarangi ; Punnaiah Choudary Kalluri > ; devicetree@vger.kernel.org; linux-arm- > kernel@lists.infradead.org; linux-kernel@vger.kernel.org; > dmaengine@vger.kernel.org > Subject: Re: [PATCH v5 1/2] Documentation: DT: dma: Add Xilinx zynqmp dma > device tree binding documentation > > On Wed, Apr 13, 2016 at 10:46:48AM +0530, Kedareswara rao Appana wrote: > > Device-tree binding documentation for Xilinx zynqmp dma engine used in > > Zynq UltraScale+ MPSoC. > > > > Signed-off-by: Punnaiah Choudary Kalluri > > Signed-off-by: Kedareswara rao Appana > > --- > > Changes in v5: > > - Use dma-coherent flag for coherent transfers as suggested by rob. > > - Removed unnecessary properties from binding doc as suggested by Rob. > > Changes in v4: > > - None > > Changes in v3: > > - None > > Changes in v2: > > - None. > > > > .../devicetree/bindings/dma/xilinx/zynqmp_dma.txt | 50 > ++++++++++++++++++++++ > > 1 file changed, 50 insertions(+) > > create mode 100644 > Documentation/devicetree/bindings/dma/xilinx/zynqmp_dma.txt > > > > diff --git a/Documentation/devicetree/bindings/dma/xilinx/zynqmp_dma.txt > b/Documentation/devicetree/bindings/dma/xilinx/zynqmp_dma.txt > > new file mode 100644 > > index 0000000..4ad0aea40 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/dma/xilinx/zynqmp_dma.txt > > @@ -0,0 +1,50 @@ > > +Xilinx ZynqMP DMA engine, it does support memory to memory transfers, > > +memory to device and device to memory transfers. It also has flow > > +control and rate control support for slave/peripheral dma access. > > + > > +Required properties: > > +- compatible : Should be "xlnx,zynqmp-dma-1.0" > > +- reg : Memory map for gdma/adma module access. > > +- interrupt-parent : Interrupt controller the interrupt is routed through > > +- interrupts : Should contain DMA channel interrupt. > > +- xlnx,bus-width : Axi buswidth in bits. Should contain 128 or 64 > > +- clock-names : List of input clocks "clk_main", "clk_apb" > > + (see clock bindings for details) > > + > > +Optional properties: > > +- xlnx,include-sg : Indicates the controller to operate in simple or > > + scatter gather dma mode > > +- xlnx,ratectrl : Scheduling interval in terms of clock cycles for > > + source AXI transaction > > +- xlnx,overfetch : Tells whether the channel is allowed to over > > + fetch the data > > +- xlnx,src-issue : Number of AXI outstanding transactions on source > side > > +- xlnx,desc-axi-cache : AXI cache bits to be used for descriptor fetch > > +- xlnx,src-axi-cache : AXI cache bits to be used for data read > > +- xlnx,dst-axi-cache : AXI cache bits to be used for data write > > Shouldn't you be able to derive these values from whether dma-coherent > is set. To put it another way, allowing setting both allows for lots of > broken combinations. Ok will remove these properties and will set these cache bits only When dma-coherent is present in the driver. > > > +- xlnx,src-burst-len : AXI length for data read. Support only power of > > + 2 values. > > +- xlnx,dst-burst-len : AXI length for data write. Support only power of > > + 2 values. > > What unit? Seems to be beats from the example. I would suggest bytes > instead. Bytes only will fix in next version... > > > +- dma-coherent : Present if dma operations are coherent. > > + > > +Example: > > +++++++++ > > +fpd_dma_chan1: dma@FD500000 { > > lowercase address. Will fix in next version. > > > + compatible = "xlnx,zynqmp-dma-1.0"; > > + reg = <0x0 0xFD500000 0x1000>; > > + interrupt-parent = <&gic>; > > + interrupts = <0 117 4>; > > + clock-names = "clk_main", "clk_apb"; > > + xlnx,bus-width = <128>; > > + xlnx,include-sg; > > + xlnx,overfetch; > > + dma-coherent; > > + xlnx,ratectrl = <0>; > > + xlnx,src-issue = <16>; > > + xlnx,desc-axi-cache = <0xFF>; > > + xlnx,src-axi-cache = <0xFF>; > > + xlnx,dst-axi-cache = <0xFF>; > > Last I checked, AXI only has 4 cache bits. Hmm wrong example anyway will remove these properties in the next version... Regards, Kedar. > > > + xlnx,src-burst-len = <4>; > > + xlnx,dst-burst-len = <4>; > > +}; > > -- > > 2.1.2 > >