From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v2,1/2] dmaengine: Introduce DW AXI DMAC driver From: Eugeniy Paltsev Message-Id: <1520263566.3152.17.camel@synopsys.com> Date: Mon, 5 Mar 2018 15:26:07 +0000 To: "andy.shevchenko@gmail.com" Cc: "vinod.koul@intel.com" , "linux-kernel@vger.kernel.org" , "robh+dt@kernel.org" , "Alexey.Brodkin@synopsys.com" , "devicetree@vger.kernel.org" , "linux-snps-arc@lists.infradead.org" , "dan.j.williams@intel.com" , "dmaengine@vger.kernel.org" , "wan.ahmad.zainie.wan.mohamad@intel.com" List-ID: T24gTW9uLCAyMDE4LTAyLTI2IGF0IDE4OjQyICswMjAwLCBBbmR5IFNoZXZjaGVua28gd3JvdGU6 DQo+IE9uIE1vbiwgRmViIDI2LCAyMDE4IGF0IDQ6NTYgUE0sIEV1Z2VuaXkgUGFsdHNldg0KPiA8 RXVnZW5peS5QYWx0c2V2QHN5bm9wc3lzLmNvbT4gd3JvdGU6DQo+ID4gK3N0YXRpYyBpbnQgcGFy c2VfZGV2aWNlX3Byb3BlcnRpZXMoc3RydWN0IGF4aV9kbWFfY2hpcCAqY2hpcCkNCj4gPiArew0K PiA+ICsgICAgICAgcmV0ID0gZGV2aWNlX3Byb3BlcnR5X3JlYWRfdTMyKGRldiwgInNucHMsZG1h LW1hc3RlcnMiLCAmdG1wKTsNCj4gDQo+IFdoeSBpdCBoYXMgcHJlZml4Pw0KPiANCj4gPiArICAg ICAgIHJldCA9IGRldmljZV9wcm9wZXJ0eV9yZWFkX3UzMihkZXYsICJzbnBzLGRhdGEtd2lkdGgi LCAmdG1wKTsNCj4gDQo+IERpdHRvLg0KPiANCj4gPiArICAgICAgIHJldCA9IGRldmljZV9wcm9w ZXJ0eV9yZWFkX3UzMl9hcnJheShkZXYsICJzbnBzLGJsb2NrLXNpemUiLCBjYXJyLA0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaXAtPmR3LT5oZGF0 YS0+bnJfY2hhbm5lbHMpOw0KPiANCj4gKHBlcmhhcHMgdGhpcyBvbmUgY2FuIGJlIG1vdmVkIG91 dHNpZGUgb2YgbG9jYWwgbmFtZXNwYWNlKQ0KPiANCj4gPiArICAgICAgIHJldCA9IGRldmljZV9w cm9wZXJ0eV9yZWFkX3UzMl9hcnJheShkZXYsICJzbnBzLHByaW9yaXR5IiwgY2FyciwNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlwLT5kdy0+aGRh dGEtPm5yX2NoYW5uZWxzKTsNCj4gDQo+IENhbiB5b3UgdXNlIGp1c3QgInByaW9yaXR5Ij8NCj4g DQo+IA0KDQpSb2IgSGVycmluZyBhc2tlZCBtZSB0byBhZGQgdmVuZG9yIHByZWZpeCB0byB0aGlz IHByb3BlcnRpZXMuDQpTZWUgaHR0cDovL3BhdGNod29yay5vemxhYnMub3JnL3BhdGNoLzcxOTcw OC8NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0+OC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ ID4gK1JlcXVpcmVkIHByb3BlcnRpZXM6DQo+ID4gKy0gY29tcGF0aWJsZTogInNucHMsYXhpLWRt YSINCj4gDQo+IFRvbyBnZW5lcmljLiBUaGlzIG5lZWRzIGFuIElQIHZlcnNpb24gYXQgbGVhc3Qu DQo+IA0KPiA+ICstIHJlZzogQWRkcmVzcyByYW5nZSBvZiB0aGUgRE1BQyByZWdpc3RlcnMuIFRo aXMgc2hvdWxkIGluY2x1ZGUNCj4gPiArICBhbGwgb2YgdGhlIHBlci1jaGFubmVsIHJlZ2lzdGVy cy4NCj4gPiArLSBpbnRlcnJ1cHQ6IFNob3VsZCBjb250YWluIHRoZSBETUFDIGludGVycnVwdCBu dW1iZXIuDQo+ID4gKy0gaW50ZXJydXB0LXBhcmVudDogU2hvdWxkIGJlIHRoZSBwaGFuZGxlIGZv ciB0aGUgaW50ZXJydXB0IGNvbnRyb2xsZXINCj4gPiArICB0aGF0IHNlcnZpY2VzIGludGVycnVw dHMgZm9yIHRoaXMgZGV2aWNlLg0KPiA+ICstIGRtYS1jaGFubmVsczogTnVtYmVyIG9mIGNoYW5u ZWxzIHN1cHBvcnRlZCBieSBoYXJkd2FyZS4NCj4gPiArLSBkbWEtbWFzdGVyczogTnVtYmVyIG9m IEFYSSBtYXN0ZXJzIHN1cHBvcnRlZCBieSB0aGUgaGFyZHdhcmUuDQo+ID4gKy0gZGF0YS13aWR0 aDogTWF4aW11bSBBWEkgZGF0YSB3aWR0aCBzdXBwb3J0ZWQgYnkgaGFyZHdhcmUuDQo+ID4gKyAg KDAgLSA4Yml0cywgMSAtIDE2Yml0cywgMiAtIDMyYml0cywgLi4uLCA2IC0gNTEyYml0cykNCj4g DQo+ID4gKy0gcHJpb3JpdHk6IFByaW9yaXR5IG9mIGNoYW5uZWwuIEFycmF5IHByb3BlcnR5LiBQ cmlvcml0eSB2YWx1ZSBtdXN0IGJlDQo+ID4gKyAgcHJvZ3JhbW1lZCB3aXRoaW4gWzA6ZG1hLWNo YW5uZWxzLTFdIHJhbmdlLiAoMCAtIG1pbmltdW0gcHJpb3JpdHkpDQo+ID4gKy0gYmxvY2stc2l6 ZTogTWF4aW11bSBibG9jayBzaXplIHN1cHBvcnRlZCBieSB0aGUgY29udHJvbGxlciBjaGFubmVs LiBBcnJheQ0KPiA+ICsgIHByb3BlcnR5Lg0KPiANCj4gT3RoZXIgdGhhbiBkbWEtY2hhbm5lbHMs IGFsbCB0aGVzZSBlaXRoZXIgbmVlZCB2ZW5kb3IgcHJlZml4Lg0KPiANCi0tLS0tLS0tLS0tLS0t LS0tLS0tPjgtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KT24gRnJpLCAyMDE4LTAz LTAyIGF0IDEzOjQ0ICswNTMwLCBWaW5vZCBLb3VsIHdyb3RlOg0KPiBPbiBNb24sIEZlYiAyNiwg MjAxOCBhdCAwNTo1NjoyOFBNICswMzAwLCBFdWdlbml5IFBhbHRzZXYgd3JvdGU6DQo+ID4gK2Rt YWM6IGRtYS1jb250cm9sbGVyQDgwMDAwIHsNCj4gPiArCWNvbXBhdGlibGUgPSAic25wcyxheGkt ZG1hLTEuMDFhIjsNCj4gDQo+IGRvIHdlIG5lZWQgInNucHMgaGVyZS4uPw0KPiANCg0KRGl0dG8u DQoNCi0tIA0KIEV1Z2VuaXkgUGFsdHNldgo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eugeniy.Paltsev@synopsys.com (Eugeniy Paltsev) Date: Mon, 5 Mar 2018 15:26:07 +0000 Subject: [PATCH v2 1/2] dmaengine: Introduce DW AXI DMAC driver In-Reply-To: References: <20180226145628.11892-1-Eugeniy.Paltsev@synopsys.com> <20180226145628.11892-2-Eugeniy.Paltsev@synopsys.com> List-ID: Message-ID: <1520263566.3152.17.camel@synopsys.com> To: linux-snps-arc@lists.infradead.org On Mon, 2018-02-26@18:42 +0200, Andy Shevchenko wrote: > On Mon, Feb 26, 2018 at 4:56 PM, Eugeniy Paltsev > wrote: > > +static int parse_device_properties(struct axi_dma_chip *chip) > > +{ > > + ret = device_property_read_u32(dev, "snps,dma-masters", &tmp); > > Why it has prefix? > > > + ret = device_property_read_u32(dev, "snps,data-width", &tmp); > > Ditto. > > > + ret = device_property_read_u32_array(dev, "snps,block-size", carr, > > + chip->dw->hdata->nr_channels); > > (perhaps this one can be moved outside of local namespace) > > > + ret = device_property_read_u32_array(dev, "snps,priority", carr, > > + chip->dw->hdata->nr_channels); > > Can you use just "priority"? > > Rob Herring asked me to add vendor prefix to this properties. See http://patchwork.ozlabs.org/patch/719708/ -------------------->8-------------------------- > > +Required properties: > > +- compatible: "snps,axi-dma" > > Too generic. This needs an IP version at least. > > > +- reg: Address range of the DMAC registers. This should include > > + all of the per-channel registers. > > +- interrupt: Should contain the DMAC interrupt number. > > +- interrupt-parent: Should be the phandle for the interrupt controller > > + that services interrupts for this device. > > +- dma-channels: Number of channels supported by hardware. > > +- dma-masters: Number of AXI masters supported by the hardware. > > +- data-width: Maximum AXI data width supported by hardware. > > + (0 - 8bits, 1 - 16bits, 2 - 32bits, ..., 6 - 512bits) > > > +- priority: Priority of channel. Array property. Priority value must be > > + programmed within [0:dma-channels-1] range. (0 - minimum priority) > > +- block-size: Maximum block size supported by the controller channel. Array > > + property. > > Other than dma-channels, all these either need vendor prefix. > -------------------->8-------------------------- On Fri, 2018-03-02@13:44 +0530, Vinod Koul wrote: > On Mon, Feb 26, 2018@05:56:28PM +0300, Eugeniy Paltsev wrote: > > +dmac: dma-controller at 80000 { > > + compatible = "snps,axi-dma-1.01a"; > > do we need "snps here..? > Ditto. -- Eugeniy Paltsev From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eugeniy Paltsev Subject: Re: [PATCH v2 1/2] dmaengine: Introduce DW AXI DMAC driver Date: Mon, 5 Mar 2018 15:26:07 +0000 Message-ID: <1520263566.3152.17.camel@synopsys.com> References: <20180226145628.11892-1-Eugeniy.Paltsev@synopsys.com> <20180226145628.11892-2-Eugeniy.Paltsev@synopsys.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Content-Language: en-US Content-ID: <78788F79FADF0D4D91A0F9E14416F4D6@internal.synopsys.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-snps-arc" Errors-To: linux-snps-arc-bounces+gla-linux-snps-arc=m.gmane.org@lists.infradead.org To: "andy.shevchenko@gmail.com" Cc: "devicetree@vger.kernel.org" , "vinod.koul@intel.com" , "Alexey.Brodkin@synopsys.com" , "linux-kernel@vger.kernel.org" , "wan.ahmad.zainie.wan.mohamad@intel.com" , "robh+dt@kernel.org" , "dmaengine@vger.kernel.org" , "dan.j.williams@intel.com" , "linux-snps-arc@lists.infradead.org" List-Id: devicetree@vger.kernel.org On Mon, 2018-02-26 at 18:42 +0200, Andy Shevchenko wrote: > On Mon, Feb 26, 2018 at 4:56 PM, Eugeniy Paltsev > wrote: > > +static int parse_device_properties(struct axi_dma_chip *chip) > > +{ > > + ret = device_property_read_u32(dev, "snps,dma-masters", &tmp); > > Why it has prefix? > > > + ret = device_property_read_u32(dev, "snps,data-width", &tmp); > > Ditto. > > > + ret = device_property_read_u32_array(dev, "snps,block-size", carr, > > + chip->dw->hdata->nr_channels); > > (perhaps this one can be moved outside of local namespace) > > > + ret = device_property_read_u32_array(dev, "snps,priority", carr, > > + chip->dw->hdata->nr_channels); > > Can you use just "priority"? > > Rob Herring asked me to add vendor prefix to this properties. See http://patchwork.ozlabs.org/patch/719708/ -------------------->8-------------------------- > > +Required properties: > > +- compatible: "snps,axi-dma" > > Too generic. This needs an IP version at least. > > > +- reg: Address range of the DMAC registers. This should include > > + all of the per-channel registers. > > +- interrupt: Should contain the DMAC interrupt number. > > +- interrupt-parent: Should be the phandle for the interrupt controller > > + that services interrupts for this device. > > +- dma-channels: Number of channels supported by hardware. > > +- dma-masters: Number of AXI masters supported by the hardware. > > +- data-width: Maximum AXI data width supported by hardware. > > + (0 - 8bits, 1 - 16bits, 2 - 32bits, ..., 6 - 512bits) > > > +- priority: Priority of channel. Array property. Priority value must be > > + programmed within [0:dma-channels-1] range. (0 - minimum priority) > > +- block-size: Maximum block size supported by the controller channel. Array > > + property. > > Other than dma-channels, all these either need vendor prefix. > -------------------->8-------------------------- On Fri, 2018-03-02 at 13:44 +0530, Vinod Koul wrote: > On Mon, Feb 26, 2018 at 05:56:28PM +0300, Eugeniy Paltsev wrote: > > +dmac: dma-controller@80000 { > > + compatible = "snps,axi-dma-1.01a"; > > do we need "snps here..? > Ditto. -- Eugeniy Paltsev From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752340AbeCEP0Y (ORCPT ); Mon, 5 Mar 2018 10:26:24 -0500 Received: from smtprelay.synopsys.com ([198.182.47.9]:60584 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751389AbeCEP0U (ORCPT ); Mon, 5 Mar 2018 10:26:20 -0500 From: Eugeniy Paltsev To: "andy.shevchenko@gmail.com" CC: "vinod.koul@intel.com" , "linux-kernel@vger.kernel.org" , "robh+dt@kernel.org" , "Alexey.Brodkin@synopsys.com" , "devicetree@vger.kernel.org" , "linux-snps-arc@lists.infradead.org" , "dan.j.williams@intel.com" , "dmaengine@vger.kernel.org" , "wan.ahmad.zainie.wan.mohamad@intel.com" Subject: Re: [PATCH v2 1/2] dmaengine: Introduce DW AXI DMAC driver Thread-Topic: [PATCH v2 1/2] dmaengine: Introduce DW AXI DMAC driver Thread-Index: AQHTrxIKKwJ+pE4H3kOhh2UUT+cHx6O20tCAgArq1wA= Date: Mon, 5 Mar 2018 15:26:07 +0000 Message-ID: <1520263566.3152.17.camel@synopsys.com> References: <20180226145628.11892-1-Eugeniy.Paltsev@synopsys.com> <20180226145628.11892-2-Eugeniy.Paltsev@synopsys.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.121.8.67] Content-Type: text/plain; charset="utf-8" Content-ID: <78788F79FADF0D4D91A0F9E14416F4D6@internal.synopsys.com> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id w25FQUQn024709 On Mon, 2018-02-26 at 18:42 +0200, Andy Shevchenko wrote: > On Mon, Feb 26, 2018 at 4:56 PM, Eugeniy Paltsev > wrote: > > +static int parse_device_properties(struct axi_dma_chip *chip) > > +{ > > + ret = device_property_read_u32(dev, "snps,dma-masters", &tmp); > > Why it has prefix? > > > + ret = device_property_read_u32(dev, "snps,data-width", &tmp); > > Ditto. > > > + ret = device_property_read_u32_array(dev, "snps,block-size", carr, > > + chip->dw->hdata->nr_channels); > > (perhaps this one can be moved outside of local namespace) > > > + ret = device_property_read_u32_array(dev, "snps,priority", carr, > > + chip->dw->hdata->nr_channels); > > Can you use just "priority"? > > Rob Herring asked me to add vendor prefix to this properties. See http://patchwork.ozlabs.org/patch/719708/ -------------------->8-------------------------- > > +Required properties: > > +- compatible: "snps,axi-dma" > > Too generic. This needs an IP version at least. > > > +- reg: Address range of the DMAC registers. This should include > > + all of the per-channel registers. > > +- interrupt: Should contain the DMAC interrupt number. > > +- interrupt-parent: Should be the phandle for the interrupt controller > > + that services interrupts for this device. > > +- dma-channels: Number of channels supported by hardware. > > +- dma-masters: Number of AXI masters supported by the hardware. > > +- data-width: Maximum AXI data width supported by hardware. > > + (0 - 8bits, 1 - 16bits, 2 - 32bits, ..., 6 - 512bits) > > > +- priority: Priority of channel. Array property. Priority value must be > > + programmed within [0:dma-channels-1] range. (0 - minimum priority) > > +- block-size: Maximum block size supported by the controller channel. Array > > + property. > > Other than dma-channels, all these either need vendor prefix. > -------------------->8-------------------------- On Fri, 2018-03-02 at 13:44 +0530, Vinod Koul wrote: > On Mon, Feb 26, 2018 at 05:56:28PM +0300, Eugeniy Paltsev wrote: > > +dmac: dma-controller@80000 { > > + compatible = "snps,axi-dma-1.01a"; > > do we need "snps here..? > Ditto. -- Eugeniy Paltsev