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: [v1,1/2] dt-bindings: dmaengine: dw-dmac: add protection control property From: Christian Lamparter Message-Id: <1637379.5gUKLKV2Xl@debian64> Date: Tue, 06 Nov 2018 19:36:13 +0100 To: Rob Herring Cc: dmaengine@vger.kernel.org, devicetree@vger.kernel.org, Dan Williams , Vinod Koul , Andy Shevchenko , Viresh Kumar , Mark Rutland List-ID: T24gVHVlc2RheSwgTm92ZW1iZXIgNiwgMjAxOCAxMjowNjo1MiBBTSBDRVQgUm9iIEhlcnJpbmcg d3JvdGU6Cj4gT24gU3VuLCBOb3YgMDQsIDIwMTggYXQgMDY6MDE6MzhQTSArMDEwMCwgQ2hyaXN0 aWFuIExhbXBhcnRlciB3cm90ZToKPiA+IFRoaXMgcGF0Y2ggYWRkcyB0aGUgcGVyLWNoYW5uZWwg ZG1hIHByb3RlY3Rpb24gY29udHJvbAo+ID4gcHJvcC1lbmNvZGVkLWFycmF5IGFuZCBkdC1iaW5k aW5nIGRlZmluaXRpb25zIChpbmNsdWRpbmcKPiA+IGRlZmluaXRpb25zIGZvciB0aGUgZXhpc3Rp bmcgY2hhbm5lbCBhbGxvY2F0aW9uIGFuZCBwcmlvcml0eQo+ID4gb3JkZXIgdmFsdWVzIGJhc2Vk IG9uIGluY2x1ZGUvbGludXgvcGxhdGZvcm1fZGF0YS9kbWEtZHcuaCkKPiA+IGZvciB0aGUgRGVz aWduV2FyZSBBSEIgQ2VudHJhbCBEaXJlY3QgTWVtb3J5IEFjY2VzcyBDb250cm9sbGVyLgo+ID4g Cj4gPiBOb3RlOiBUaGUgcHJvdGVjdGlvbiBjb250cm9sIHNpZ25hbHMgYXJlIG9uZS10by1vbmUg bWFwcGVkIHRvCj4gPiB0aGUgQUhCIEhQUk9UWzE6M10gc2lnbmFscy4gIFRoZSBIUFJPVDAgKERh dGEgQWNjZXNzKSBpcwo+ID4gYWx3YXlzIGhhcmR3aXJlZCB0byAxIGZvciB0aGlzIGNvbnRyb2xs ZXIuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBMYW1wYXJ0ZXIgPGNodW5rZWV5 QGdtYWlsLmNvbT4KPiA+IC0tLQo+ID4gIC4uLi9kZXZpY2V0cmVlL2JpbmRpbmdzL2RtYS9zbnBz LWRtYS50eHQgICAgICB8ICA0ICsrKysKPiA+ICBNQUlOVEFJTkVSUyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgNCArKystCj4gPiAgaW5jbHVkZS9kdC1iaW5kaW5ncy9kbWEv ZHctZG1hYy5oICAgICAgICAgICAgIHwgMjAgKysrKysrKysrKysrKysrKysrKwo+ID4gIDMgZmls ZXMgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ID4gIGNyZWF0ZSBt b2RlIDEwMDY0NCBpbmNsdWRlL2R0LWJpbmRpbmdzL2RtYS9kdy1kbWFjLmgKPiA+IAo+ID4gZGlm ZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kbWEvc25wcy1kbWEu dHh0IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2RtYS9zbnBzLWRtYS50eHQK PiA+IGluZGV4IDM5ZTJiMjZiZTM0NC4uNzJiNDk4NGE0YzE4IDEwMDY0NAo+ID4gLS0tIGEvRG9j dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2RtYS9zbnBzLWRtYS50eHQKPiA+ICsrKyBi L0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kbWEvc25wcy1kbWEudHh0Cj4gPiBA QCAtMjcsNiArMjcsMTAgQEAgT3B0aW9uYWwgcHJvcGVydGllczoKPiA+ICAgIGdlbmVyYWwgcHVy cG9zZSBETUEgY2hhbm5lbCBhbGxvY2F0b3IuIEZhbHNlIGlmIG5vdCBwYXNzZWQuCj4gPiAgLSBt dWx0aS1ibG9jazogTXVsdGkgYmxvY2sgdHJhbnNmZXJzIHN1cHBvcnRlZCBieSBoYXJkd2FyZS4g QXJyYXkgcHJvcGVydHkgd2l0aAo+ID4gICAgb25lIGNlbGwgcGVyIGNoYW5uZWwuIDA6IG5vdCBz dXBwb3J0ZWQsIDEgKGRlZmF1bHQpOiBzdXBwb3J0ZWQuCj4gPiArLSBzbnBzLGRtYS1wcm90ZWN0 aW9uLWNvbnRyb2w6IENoYW5uZWwncyBBSEIgSFBST1RbMzoxXSBwcm90ZWN0aW9uIHNldHRpbmcu Cj4gPiArICBBcnJheSBwcm9wZXJ0eSB3aXRoIG9uZSBjZWxsIHBlciBjaGFubmVsLiBUaGUgZGVm YXVsdCB2YWx1ZSBmb3IgYSBjaGFubmVsCj4gPiArICBpcyAwIChmb3Igbm9uLWNhY2hlYWJsZSwg c3Ryb25nbHkgb3JkZXJlZCwgdW5wcml2aWxlZ2VkIGRhdGEgYWNjZXNzKS4KPiAKPiBJSVJDLCAn c3Ryb25nbHkgb3JkZXJlZCcgaXMgb3V0c2lkZSB0aGUgc2NvcGUgb2YgQUhCIChhbmQgQVhJKSAK PiBkZWZpbml0aW9ucy4gVGhlcmUgaXMgYSBtYXBwaW5nIG9mIFNPIHBhZ2UgdGFibGUgZW50cmll cyB0byBidXMgY29udHJvbCAKPiBzaWduYWxzLCBidXQgdGhhdCdzIHBhcnQgb2YgdGhlIGNwdSBh bmQgb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhpcyBkb2MuCk9rLCB0aGUgInN0b25nbHkgb3JkZXJl ZCIgaXMgdGhlIHRlcm0gSSBnb3QgZnJvbSB0aGUgQVJNIEFNQkEgc3BlY2lmaWNhdGlvbiBhcwp0 aGUgQU1DQy9BUE0gSGFyZHdhcmUgZG9jdW1lbnQgbGlua3MgdG8gaXQuIEhvd2V2ZXIsIGluIHRo ZSBQUk9UQ1RMIHJlZ2lzdGVyCmRlc2NyaXB0aW9uIGl0IHJlYWRzICJub24tYnVmZmVyZWQiOgoK IlRoZSBBTUJBIFNwZWNpZmljYXRpb24gcmVjb21tZW5kcyB0aGF0IHRoZSBkZWZhdWx0IHZhbHVl IG9mIEhQUk9UIGluZGljYXRlcwphIG5vbi1jYWNoZWQsIG5vbi1idWZmZXJlZCwgcHJpdmlsZWdl ZCBkYXRhIGFjY2Vzcy4gVGhlIHJlc2V0IHZhbHVlIGlzCnVzZWQgdG8gaW5kaWNhdGUgc3VjaCBh biBhY2Nlc3MuIEhQUk9UWzBdIGlzIHRpZWQgaGlnaCBiZWNhdXNlIGFsbCB0cmFuc2ZlcnMKYXJl IGRhdGEgYWNjZXNzZXMsIGFzIHRoZXJlIGFyZSBubyBvcGNvZGUgZmV0Y2hlcy4iCiAKPiA+ICsg IFJlZmVyIHRvIGluY2x1ZGUvZHQtYmluZGluZ3MvZG1hL2R3LWRtYWMuaCBmb3IgcG9zc2libGUg dmFsdWVzLgo+IAo+IERvIHlvdSByZWFsbHkgbmVlZCB0aGlzIHRvIGJlIHBlciBjaGFubmVsIHJh dGhlciB0aGFuIGp1c3QgcGVyIHBsYXRmb3JtPyAKPiBJZiBhbnl0aGluZywgdGhlIG9wdGltYWwg c2V0dGluZyBpcyBwcm9iYWJseSBiYXNlZCBvbiB0aGUgbWVtb3J5IGFkZHJlc3MgCj4gKGRldmlj ZSwgb24tY2hpcCBSQU0sIG9yIERSQU0pLCBub3QgdGhlIGNoYW5uZWwuIApGb3IgbXkgQVBNODIx ODEgYW5kIFBQQzQ2MEVYIFNvQ3MgInRoZSBwbGF0Zm9ybSIgYXBwcm9hY2ggd291bGQgd29yayBq dXN0CmZpbmUuIEkgbWFkZSB0aGlzICJwZXItY2hhbm5lbCIgYmVjYXVzZSB0aGUgSFBST1QgYml0 cyBjYW4gYmUgY29uZmlndXJlZApmb3IgZWFjaCBkbWEgY2hhbm5lbCBpbmRpdmlkdWFsbHkuIEJ1 dCBhcyBmYXIgYXMgdGhlIEFQTTgyMTgxIChhbmQgUFBDNDYwRVgpCmFyZSBjb25jZXJuZWQ6IFRo ZXkgYm90aCBhcmUgUG93ZXJQQy1Tb0NzIGFuZCB0aGUgQUhCIGlzIG5vdCBldmVuIHRoZSBtYWlu IGJ1cy4KSW5zdGVhZCB0aGUgZHctZG1hYyBETUEtQ29udHJvbGxlciBpcyBidW5kbGVkIHRvZ2V0 aGVyIHdpdGggdHdvIApTQVRBLUlJIENvbnRyb2xsZXJzIGJlaGluZCBhIGJpZGlyZWN0aW9uYWwg UExCNC1Uby1BSEItYnJpZGdlIHRoYXQgCmludGVyZmFjZXMgd2l0aCB0aGUgcmVzdCBvZiB0aGUg c3lzdGVtLiBUaGUgZnVua3luZXNzIHN0ZW1zIGZyb20gdGhlCmJyaWRnZSB0aGF0IHRyaWVzIHRv IHRyYW5zbGF0ZSwgYnVmZmVyIGFuZCBtb2RpZnkgdGhlIGRhdGEgKGluY2x1ZGluZwp0aGUgSFBS T1Qgc2lnbmFscykgdG8gbWFrZSBldmVyeXRoaW5nICJmaXQiIG1vcmUgb3IgbGVzcy4KClNvLCBJ J2xsIG1ha2UgdGhlIHNucHMsZG1hLXByb3RlY3Rpb24tY29udHJvbCBwcm9wZXJ0eSBhIHNpbmds ZSAidTMyIgphbmQgYXBwbHkgaXQgdG8gYWxsIHRoZSBjaGFubmVscyBmb3IgdGhlIHYyLgoKPiBJ J2QgZXhwZWN0IGZvciBtb3N0IHBsYXRmb3JtcywgYnVmZmVyYWJsZSB3b3JrcyB3aXRob3V0IGFu eSBzL3cgaXNzdWUKPiAoYW5kIHNob3VsZCBiZSBtb3JlIGNvcnJlY3QgaW4gdGhhdCBjb2hlcmVu dCBhbGxvY2F0aW9ucyBhcmUgYnVmZmVyYWJsZSAKPiAoYXQgbGVhc3QgZm9yIEFSTSkuIENhY2hl YWJsZSBwcm9iYWJseSBoYXMgbm8gZWZmZWN0IGFzIG1vc3Qgc3lzdGVtcyAKPiBkb24ndCBoYXZl IGNvaGVyZW50IGkvbyAoYWdhaW4sIGF0IGxlYXN0IGZvciBBUk0pLgpJIHRoaW5rIEkgd291bGQg aXQgbGVhdmUgdGhpcyBkZWNpc2lvbiB0byB0aGUgYXJjaC4gQmVjYXVzZSBmcm9tIHdoYXQgSQpj YW4gdGVsbCAoYmFzZWQgb24gZ3JlcHBpbmcgdGhlIGtlcm5lbCBzb3VyY2UpOiB0aGUgZHctZG1h YyBpcyB1c2VkIGJ5CnZhcmlvdXMgQVJNLCBBUkMsIFBvd2VyUEMgYW5kIHg4NiBtYWNoaW5lcy4g KFRoZSBhdnIzMiBhcmNoIHVzZWQgdG8gYmUKYSB1c2VyIHRvbywgYnV0IGl0IGhhcyBiZWVuIGRy b3BwZWQgaW4gNC4xMi4pLiBBbmQgSSBkb24ndCB3YW50IHRvIAphY2NpZGVudGFsbHkgYnJlYWsg dGhvc2UuIE9yLCBAVmlyZXNoIEt1bWFyIHdoYXQncyB5b3VyIG9waW5pb24/Cgo+ID4gIEV4YW1w bGU6Cj4gPiAgCj4gPiBkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMgYi9NQUlOVEFJTkVSUwo+ID4g aW5kZXggZGFjYmEyM2I4MGI0Li5jMzU5OThlMjBlOWQgMTAwNjQ0Cj4gPiAtLS0gYS9NQUlOVEFJ TkVSUwo+ID4gKysrIGIvTUFJTlRBSU5FUlMKPiA+IEBAIC0xNDEwNyw5ICsxNDEwNywxMSBAQCBT WU5PUFNZUyBERVNJR05XQVJFIERNQUMgRFJJVkVSCj4gPiAgTToJVmlyZXNoIEt1bWFyIDx2aXJl c2hrQGtlcm5lbC5vcmc+Cj4gPiAgUjoJQW5keSBTaGV2Y2hlbmtvIDxhbmRyaXkuc2hldmNoZW5r b0BsaW51eC5pbnRlbC5jb20+Cj4gPiAgUzoJTWFpbnRhaW5lZAo+ID4gK0Y6CURvY3VtZW50YXRp b24vZGV2aWNldHJlZS9iaW5kaW5ncy9kbWEvc25wcy1kbWEudHh0Cj4gPiArRjoJZHJpdmVycy9k bWEvZHcvCj4gPiArRjoJaW5jbHVkZS9kdC1iaW5kaW5ncy9kbWEvZHctZG1hYy5oCj4gPiAgRjoJ aW5jbHVkZS9saW51eC9kbWEvZHcuaAo+ID4gIEY6CWluY2x1ZGUvbGludXgvcGxhdGZvcm1fZGF0 YS9kbWEtZHcuaAo+ID4gLUY6CWRyaXZlcnMvZG1hL2R3Lwo+ID4gIAo+ID4gIFNZTk9QU1lTIERF U0lHTldBUkUgRU5URVJQUklTRSBFVEhFUk5FVCBEUklWRVIKPiA+ICBNOglKb3NlIEFicmV1IDxK b3NlLkFicmV1QHN5bm9wc3lzLmNvbT4KPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2R0LWJpbmRp bmdzL2RtYS9kdy1kbWFjLmggYi9pbmNsdWRlL2R0LWJpbmRpbmdzL2RtYS9kdy1kbWFjLmgKPiA+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjkxNTJhNmUyNDA2 Ywo+ID4gLS0tIC9kZXYvbnVsbAo+ID4gKysrIGIvaW5jbHVkZS9kdC1iaW5kaW5ncy9kbWEvZHct ZG1hYy5oCj4gPiBAQCAtMCwwICsxLDIwIEBACj4gPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IChHUEwtMi4wIE9SIE1JVCkgKi8KPiA+ICsKPiA+ICsjaWZuZGVmIF9fRFRfQklORElOR1Nf RE1BX0RXX0RNQUNfSF9fCj4gPiArI2RlZmluZSBfX0RUX0JJTkRJTkdTX0RNQV9EV19ETUFDX0hf Xwo+ID4gKwo+ID4gKyNkZWZpbmUgRFdfRE1BQ19DSEFOX0FMTE9DQVRJT05fQVNDRU5ESU5HICAg ICAgIDAgICAgICAgLyogemVybyB0byBzZXZlbiAqLwo+ID4gKyNkZWZpbmUgRFdfRE1BQ19DSEFO X0FMTE9DQVRJT05fREVTQ0VORElORyAgICAgIDEgICAgICAgLyogc2V2ZW4gdG8gemVybyAqLwo+ ID4gKyNkZWZpbmUgRFdfRE1BQ19DSEFOX1BSSU9SSVRZX0FTQ0VORElORyAgICAgICAgIDAgICAg ICAgLyogY2hhbjAgaGlnaGVzdCAqLwo+ID4gKyNkZWZpbmUgRFdfRE1BQ19DSEFOX1BSSU9SSVRZ X0RFU0NFTkRJTkcgICAgICAgIDEgICAgICAgLyogY2hhbjcgaGlnaGVzdCAqLwo+IAo+IFRoZXNl IHNlZW0gdW5yZWxhdGVkPwp0aGV5IGJlbG9uZyB0byB0aGUgZXhpc3RpbmcgY2hhbl9hbGxvY2F0 aW9uX29yZGVyIGFuZCB0aGUgY2hhbl9wcmlvcml0eSBEVApwcm9wZXJ0aWVzLiBUaGUgdmFsdWVz IGFyZSBtYXRjaGluZyB3aGF0IGlzIGFscmVhZHkgaW4gdGhlIGV4aXN0aW5nCmluY2x1ZGUvbGlu dXgvcGxhdGZvcm1fZGF0YS9kbWEtZHcuaC4gQnV0IE9rLCBJJ2xsIGxlYXZlIHRoZW0gb3V0IGlu IHRoZSBuZXh0CnZlcnNpb24uCiAKPiA+ICsKPiA+ICsvKgo+ID4gKyAqIFByb3RlY3Rpb24gQ29u dHJvbCBiaXRzIHByb3ZpZGUgcHJvdGVjdGlvbiBhZ2FpbnN0IGlsbGVnYWwgdHJhbnNhY3Rpb25z Lgo+ID4gKyAqIFRoZSBwcm90ZWN0aW9uIGJpdHNbMDoyXSBhcmUgb25lLXRvLW9uZSBtYXBwZWQg dG8gQUhCIEhQUk9UWzM6MV0gc2lnbmFscy4KPiA+ICsgKiBUaGUgQUhCIEhQUk9UWzBdIGJpdCBp cyBoYXJkd2lyZWQgdG8gMTogRGF0YSBBY2Nlc3MuCj4gPiArICovCj4gPiArI2RlZmluZSBEV19E TUFDX0hQUk9UMV9QUklWSUxFR0VEX01PREUJKDEgPDwgMCkJLyogUHJpdmlsZWdlZCBNb2RlICov Cj4gPiArI2RlZmluZSBEV19ETUFDX0hQUk9UMl9CVUZGRVJBQkxFCSgxIDw8IDEpCS8qIERNQSBp cyBidWZmZXJhYmxlICovCj4gPiArI2RlZmluZSBEV19ETUFDX0hQUk9UM19DQUNIRUFCTEUJKDEg PDwgMikJLyogRE1BIGlzIGNhY2hlYWJsZSAqLwo+ID4gKwo+ID4gKyNlbmRpZiAvKiBfX0RUX0JJ TkRJTkdTX0RNQV9EV19ETUFDX0hfXyAqLwo+Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Christian Lamparter Subject: Re: [PATCH v1 1/2] dt-bindings: dmaengine: dw-dmac: add protection control property Date: Tue, 06 Nov 2018 19:36:13 +0100 Message-ID: <1637379.5gUKLKV2Xl@debian64> In-Reply-To: <20181105230652.GA22828@bogus> References: <6b18bcf33d6473c166b607a5fa31ba63727cf6bb.1541350844.git.chunkeey@gmail.com> <20181105230652.GA22828@bogus> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" To: Rob Herring Cc: dmaengine@vger.kernel.org, devicetree@vger.kernel.org, Dan Williams , Vinod Koul , Andy Shevchenko , Viresh Kumar , Mark Rutland List-ID: On Tuesday, November 6, 2018 12:06:52 AM CET Rob Herring wrote: > On Sun, Nov 04, 2018 at 06:01:38PM +0100, Christian Lamparter wrote: > > This patch adds the per-channel dma protection control > > prop-encoded-array and dt-binding definitions (including > > definitions for the existing channel allocation and priority > > order values based on include/linux/platform_data/dma-dw.h) > > for the DesignWare AHB Central Direct Memory Access Controller. > > > > Note: The protection control signals are one-to-one mapped to > > the AHB HPROT[1:3] signals. The HPROT0 (Data Access) is > > always hardwired to 1 for this controller. > > > > Signed-off-by: Christian Lamparter > > --- > > .../devicetree/bindings/dma/snps-dma.txt | 4 ++++ > > MAINTAINERS | 4 +++- > > include/dt-bindings/dma/dw-dmac.h | 20 +++++++++++++++++++ > > 3 files changed, 27 insertions(+), 1 deletion(-) > > create mode 100644 include/dt-bindings/dma/dw-dmac.h > > > > diff --git a/Documentation/devicetree/bindings/dma/snps-dma.txt b/Documentation/devicetree/bindings/dma/snps-dma.txt > > index 39e2b26be344..72b4984a4c18 100644 > > --- a/Documentation/devicetree/bindings/dma/snps-dma.txt > > +++ b/Documentation/devicetree/bindings/dma/snps-dma.txt > > @@ -27,6 +27,10 @@ Optional properties: > > general purpose DMA channel allocator. False if not passed. > > - multi-block: Multi block transfers supported by hardware. Array property with > > one cell per channel. 0: not supported, 1 (default): supported. > > +- snps,dma-protection-control: Channel's AHB HPROT[3:1] protection setting. > > + Array property with one cell per channel. The default value for a channel > > + is 0 (for non-cacheable, strongly ordered, unprivileged data access). > > IIRC, 'strongly ordered' is outside the scope of AHB (and AXI) > definitions. There is a mapping of SO page table entries to bus control > signals, but that's part of the cpu and outside the scope of this doc. Ok, the "stongly ordered" is the term I got from the ARM AMBA specification as the AMCC/APM Hardware document links to it. However, in the PROTCTL register description it reads "non-buffered": "The AMBA Specification recommends that the default value of HPROT indicates a non-cached, non-buffered, privileged data access. The reset value is used to indicate such an access. HPROT[0] is tied high because all transfers are data accesses, as there are no opcode fetches." > > + Refer to include/dt-bindings/dma/dw-dmac.h for possible values. > > Do you really need this to be per channel rather than just per platform? > If anything, the optimal setting is probably based on the memory address > (device, on-chip RAM, or DRAM), not the channel. For my APM82181 and PPC460EX SoCs "the platform" approach would work just fine. I made this "per-channel" because the HPROT bits can be configured for each dma channel individually. But as far as the APM82181 (and PPC460EX) are concerned: They both are PowerPC-SoCs and the AHB is not even the main bus. Instead the dw-dmac DMA-Controller is bundled together with two SATA-II Controllers behind a bidirectional PLB4-To-AHB-bridge that interfaces with the rest of the system. The funkyness stems from the bridge that tries to translate, buffer and modify the data (including the HPROT signals) to make everything "fit" more or less. So, I'll make the snps,dma-protection-control property a single "u32" and apply it to all the channels for the v2. > I'd expect for most platforms, bufferable works without any s/w issue > (and should be more correct in that coherent allocations are bufferable > (at least for ARM). Cacheable probably has no effect as most systems > don't have coherent i/o (again, at least for ARM). I think I would it leave this decision to the arch. Because from what I can tell (based on grepping the kernel source): the dw-dmac is used by various ARM, ARC, PowerPC and x86 machines. (The avr32 arch used to be a user too, but it has been dropped in 4.12.). And I don't want to accidentally break those. Or, @Viresh Kumar what's your opinion? > > Example: > > > > diff --git a/MAINTAINERS b/MAINTAINERS > > index dacba23b80b4..c35998e20e9d 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -14107,9 +14107,11 @@ SYNOPSYS DESIGNWARE DMAC DRIVER > > M: Viresh Kumar > > R: Andy Shevchenko > > S: Maintained > > +F: Documentation/devicetree/bindings/dma/snps-dma.txt > > +F: drivers/dma/dw/ > > +F: include/dt-bindings/dma/dw-dmac.h > > F: include/linux/dma/dw.h > > F: include/linux/platform_data/dma-dw.h > > -F: drivers/dma/dw/ > > > > SYNOPSYS DESIGNWARE ENTERPRISE ETHERNET DRIVER > > M: Jose Abreu > > diff --git a/include/dt-bindings/dma/dw-dmac.h b/include/dt-bindings/dma/dw-dmac.h > > new file mode 100644 > > index 000000000000..9152a6e2406c > > --- /dev/null > > +++ b/include/dt-bindings/dma/dw-dmac.h > > @@ -0,0 +1,20 @@ > > +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ > > + > > +#ifndef __DT_BINDINGS_DMA_DW_DMAC_H__ > > +#define __DT_BINDINGS_DMA_DW_DMAC_H__ > > + > > +#define DW_DMAC_CHAN_ALLOCATION_ASCENDING 0 /* zero to seven */ > > +#define DW_DMAC_CHAN_ALLOCATION_DESCENDING 1 /* seven to zero */ > > +#define DW_DMAC_CHAN_PRIORITY_ASCENDING 0 /* chan0 highest */ > > +#define DW_DMAC_CHAN_PRIORITY_DESCENDING 1 /* chan7 highest */ > > These seem unrelated? they belong to the existing chan_allocation_order and the chan_priority DT properties. The values are matching what is already in the existing include/linux/platform_data/dma-dw.h. But Ok, I'll leave them out in the next version. > > + > > +/* > > + * Protection Control bits provide protection against illegal transactions. > > + * The protection bits[0:2] are one-to-one mapped to AHB HPROT[3:1] signals. > > + * The AHB HPROT[0] bit is hardwired to 1: Data Access. > > + */ > > +#define DW_DMAC_HPROT1_PRIVILEGED_MODE (1 << 0) /* Privileged Mode */ > > +#define DW_DMAC_HPROT2_BUFFERABLE (1 << 1) /* DMA is bufferable */ > > +#define DW_DMAC_HPROT3_CACHEABLE (1 << 2) /* DMA is cacheable */ > > + > > +#endif /* __DT_BINDINGS_DMA_DW_DMAC_H__ */ >