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: [RFC,4/6] dma: Add Synopsys eDMA IP PCIe glue-logic From: Gustavo Pimentel Message-Id: Date: Thu, 3 Jan 2019 18:00:46 +0000 To: Andy Shevchenko , Gustavo Pimentel Cc: "linux-pci@vger.kernel.org" , "dmaengine@vger.kernel.org" , Vinod Koul , Eugeniy Paltsev , Lorenzo Pieralisi , Joao Pinto List-ID: T24gMDMvMDEvMjAxOSAxNzozNSwgQW5keSBTaGV2Y2hlbmtvIHdyb3RlOgo+IE9uIFRodSwgRGVj IDEzLCAyMDE4IGF0IDAyOjQwOjQwUE0gKzAwMDAsIEd1c3Rhdm8gUGltZW50ZWwgd3JvdGU6Cj4+ IE9uIDEyLzEyLzIwMTggMTM6MjUsIEFuZHkgU2hldmNoZW5rbyB3cm90ZToKPj4+IE9uIFdlZCwg RGVjIDEyLCAyMDE4IGF0IDEyOjEzOjI0UE0gKzAxMDAsIEd1c3Rhdm8gUGltZW50ZWwgd3JvdGU6 Cj4gCj4+PiBJdCBzZWVtcyB0aGlzIGRyaXZlciBzb21laG93IHdyaXR0ZW4gYXMgYSBjb3B5LXBh c3RlIG9mIGV4aXN0aW5nIHBpZWNlcyB3L28gZ29vZCByZWFzb25zIHRvIGRvIHN1Y2guCj4+Cj4g Cj4gKDEpCj4gCj4+IFdoYXQgZG8geW91IG1lYW4/IEl0J3MgdHJ1ZSBJIHJlbGllZCBvbiBleGlz dGluZyBkcml2ZXJzIHRvIGRldmVsb3AgdGhpcwo+PiBzb2x1dGlvbiwgYnV0IGlzIG5vdCBpdCBz dXBwb3NlZCB0byBiZSBzbz8KPiAKPiBTZWUgYmVsb3cuCj4gCj4+Pj4gK2VudW0gZHdfZWRtYV9w Y2llX2JhciB7Cj4+Pj4gKwlCQVJfMCwKPj4+PiArCUJBUl8xLAo+Pj4+ICsJQkFSXzIsCj4+Pj4g KwlCQVJfMywKPj4+PiArCUJBUl80LAo+Pj4+ICsJQkFSXzUKPj4+PiArfTsKPj4+Cj4+PiBXaHkg ZG8geW91IG5lZWQgdGhpcyBhdCBhbGw/Cj4+Cj4+IFNlZSBteSBhbnN3ZXIgYmVsb3cuCj4+Cj4+ Pgo+Pj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGR3X2VkbWFfcGNpZV9kYXRhIHNucHNfZWRkYV9k YXRhID0gewo+Pj4+ICsJLy8gZURNQSByZWdpc3RlcnMgbG9jYXRpb24KPj4+PiArCS5yZWdzX2Jh cgkJCT0gQkFSXzAsCj4+Pj4gKwkucmVnc19vZmYJCQk9IDB4MTAwMCwJLy8gICA0IEtCeXRlcwo+ Pj4+ICsJLy8gZURNQSBtZW1vcnkgbGlua2VkIGxpc3QgbG9jYXRpb24KPj4+PiArCS5sbF9iYXIJ CQkJPSBCQVJfMiwKPj4+PiArCS5sbF9vZmYJCQkJPSAwLAkJLy8gICAwIEtCeXRlcwo+Pj4+ICsJ LmxsX3N6CQkJCT0gMHgyMDAwMCwJLy8gMTI4IEtCeXRlcwo+Pj4+ICsJLy8gT3RoZXIKPj4+PiAr CS52ZXJzaW9uCQkJPSAwLAo+Pj4+ICsJLm1vZGUJCQkJPSBFRE1BX01PREVfVU5ST0xMLAo+Pj4+ ICt9Owo+Pj4KPj4+IEh1aD8gSXNuJ3QgdGhpcyAKPj4KPj4gVGhlIGVETUEgaXMgYSBoYXJkd2Fy ZSBibG9jayAod2l0aCByZXF1aXJlcyBzb21lIGNvbmZpZ3VyYXRpb24pIGFjY2Vzc2libGUKPj4g dGhyb3VnaCBhIFBDSWUgRW5kUG9pbnQsIHVuZm9ydHVuYXRlbHkgdGhlcmUgaXNuJ3QgYW55IHdh eSBmb3Igbm93IChhdCBsZWFzdCkKPj4gdGhyb3VnaCBhbiBQQ0llIGNhcGFiaWxpdHkgZm9yIGlu c3RhbmNlIHRvIGRldGVjdCB0aG9zZSBjb25maWd1cmF0aW9ucwo+PiBhdXRvbWF0aWNhbGx5LCB0 aGVyZWZvcmUgdGhlIG9ubHkgd2F5IHRvIHBhc3MgdGhhdCBjb25maWd1cmF0aW9uIGlzIHRvIGFz c29jaWF0ZQo+PiBpdCB0byBQQ0llIFZlbmRvcigweDE2YzMpIGFuZCBEZXZpY2UgKDB4ZWRkYSkg SWQuCj4+Cj4+IFRvIGludGVyYWN0IHdpdGggZURNQSBoYXJkd2FyZSBibG9jayB0aGUgZHJpdmVy IG5lZWRzIHRvIGFjY2VzcyB0aGUgZURNQQo+PiByZWdpc3RlcnMgYW5kIHRoZSBvbmx5IHdheSB0 byBkbyBpdCBpcyB0aHJvdWdoIFBDSWUgbWFwcGluZy4gSW4gdGhpcyB0aG9zZQo+PiByZWdpc3Rl cnMgd2lsbCBiZSBhdmFpbGFibGUgb24gQkFSIDAsIHdpdGggYSBvZmZzZXQgb2YgNEtCIGZyb20g dGhlIHN0YXJ0Lgo+Pgo+PiBUaGUgZHJpdmVyIGFsc28gcmVxdWlyZXMgYSBtZW1vcnkgc3BhY2Ug KFJBTSkgdG8gY3JlYXRlIGEgbGlua2VkIGxpc3QKPj4gZGVzY3JpcHRvcnMgYW5kIHBhc3MgdGhl IGZpcnN0IGRlc2NyaXB0b3IgYWRkcmVzcyB0byB0aGUgZURNQSBoYXJkd2FyZSBibG9jayBzbwo+ PiB0aGF0IGl0IGNhbiBzdGFydCBwZXJmb3JtaW5nIHRoZSB0cmFuc2ZlciBhdXRvbm9tb3VzbHku IE9uY2UgYWdhaW4gdGhpcyBtZW1vcnkKPj4gc3BhY2UgaXMgcHJvdmlkZSB0aHJvdWdoIFBDSWUg b24gQkFSIDIuIFRoaXMgbGlua2VkIGxpc3Qgc3BhY2UgaXMgaW4gdGhlCj4+IGJlZ2lubmluZyBh bmQgaXQncyByZXN0cmljdGVkIHRvIGEgc2l6ZSBvZiAxMjhLQi4KPj4KPj4gU2luY2UgdGhpcyBl RE1BIGhhcmR3YXJlIGJsb2NrIChtb3JlIHNwZWNpZmljYWxseSBlRE1BIHJlZ2lzdGVycykgY2Fu IGV2b2x2ZSBpbgo+PiB0aGUgZnV0dXJlLCBJIGNob29zZWQgdG8gcHV0IGhlcmUgYSB2ZXJzaW9u IGluIG9yZGVyIHRvIGhhdmUgYSBkcml2ZXIgdGhhdCBjYW4KPj4gYmUgZWFzaWx5IGFkYXB0YWJs ZSBhbmQgcmV1c2FibGUgd2l0aG91dCBtdWNoIGVmZm9ydC4KPiAKPiAoMikKPiAKPj4+PiArCWVy ciA9IHBjaV90cnlfc2V0X213aShwZGV2KTsKPj4+PiArCWlmIChlcnIpIHsKPj4+PiArCQlkZXZf ZXJyKGRldiwgIiVzIERNQSBtZW1vcnkgd3JpdGUgaW52YWxpZGF0ZVxuIiwKPj4+PiArCQkJcGNp X25hbWUocGRldikpOwo+Pj4+ICsJCXJldHVybiBlcnI7Cj4+Pj4gKwl9Cj4+Pgo+Pj4gQXJlIHlv dSBzdXJlIHlvdSBuZWVkIHRoaXM/Cj4+Cj4+IEknbSBub3Qgc3VyZSwgcHJvYmFibHkgbm90LiBJ IHNhdyB1c2luZyB0aGlzIGJlaW5nIHVzZSBvbiAvZG1hL2R3L3BjaS5jIGRyaXZlci4KPj4gSSds bCB0ZXN0IHdpdGhvdXQgaXQuCj4gCj4gVGhhdCdzIGV4YWN0bHkgdGhlIHBvaW50IHdoYXQgSSBy ZWZlcnJlZCB0byBpbiAoMSkgYWJvdmUuCj4gTG9va3MgbGlrZSBoZXJlIGlzIGNhcmdvLWN1bHQg cHJvZ3JhbW1pbmcgZG9uZSB3aXRob3V0IHVuZGVyc3RhbmRpbmcgd2h5Lgo+IEkgZHVubm8gaG93 IG1hbnkgb3RoZXIgY2FzZXMgaW4gdGhlIGRyaXZlciBsaWtlIHRoaXMuCgpJIHVuZGVyc3RhbmQg eW91ciBwb2ludCBvZiB2aWV3IGFuZCBJIGFncmVlIHdpdGggaXQgYW5kIHRoYXQncyBvbmUgb2Yg c2V2ZXJhbApyZWFzb25zIHdoeSBJIGxhdW5jaGVkIHRoaXMgcGF0Y2ggc2VyaWVzIGFzIGEgUkZD LCB0byBhY3F1aXJlIHNvbWUgZmVlZGJhY2sgYW5kCmV4cGVydGlzZSBmcm9tIG1vcmUgc2VuaW9y cyBkZXZlbG9wZXJzIGFib3V0IHRoaXMgbWF0dGVyLgoKPiAKPj4+PiArCWRldl9pbmZvKGRldiwg Ik1vZGU6XHQlc1xuIiwKPj4+PiArCQkgZHctPm1vZGUgPT0gRURNQV9NT0RFX0xFR0FDWSA/ICJM ZWdhY3kiIDogIlVucm9sbCIpOwo+Pj4+ICsKPj4+Cj4+Pgo+Pj4+ICsJZGV2X2luZm8oZGV2LCAi UmVnaXN0ZXJzOlx0QkFSPSV1LCBvZmY9MHglLjE2bGx4IEIsIGFkZHI9MHglLjhseFxuIiwKPj4+ PiArCQkgcGRhdGEtPnJlZ3NfYmFyLCBwZGF0YS0+cmVnc19vZmYsCj4+Pj4gKwkJICh1bnNpZ25l ZCBsb25nKSBkdy0+cmVncyk7Cj4+Pgo+Pj4gT2gsIG5vLCBkb24ndCBkbyBjYXN0aW5nIHdoZW4g cHJpbnRpbmcgc29tZXRoaW5nLiBJbiBvbmx5IHJhcmUgY2FzZXMgaXQncyBuZWVkZWQsIG5vdCBo ZXJlLgo+Pgo+PiBJJ3ZlIHB1dCB0aGUgY2FzdCB0byByZW1vdmUgdGhlIGZvbGxvd2luZyB3YXJu aW5nOgo+Pgo+PiBkcml2ZXJzL2RtYS9kdy1lZG1hL2R3LWVkbWEtcGNpZS5jOjEzODoxNTogIHdh cm5pbmc6IGZvcm1hdCDigJglbHjigJkgZXhwZWN0cwo+PiBhcmd1bWVudCBvZiB0eXBlIOKAmGxv bmcgdW5zaWduZWQgaW504oCZLCBidXQgYXJndW1lbnQgNiBoYXMgdHlwZSDigJh2b2lkICrigJkK PiAKPiAuLi5hbmQgYXMgSSBzYWlkIHRoaXMgaXMgd3JvbmcuIFBsZWFzZSwgZmluZCBzdWl0YWJs ZSBzcGVjaWZpZXJzIGZvciB5b3VyIGNhc2UuCgpZb3Ugd2VyZSByaWdodCwgSSBjb3JyZWN0ZWQg dGhhdCBpbiB0aGUgbWVhbnRpbWUgKGZpeGVkIG9uIFJGQyB2MykKCj4gCj4+Pj4gKwlpZiAocGRl di0+bXNpX2NhcCAmJiBwZGV2LT5tc2lfZW5hYmxlZCkgewo+Pj4+ICsJCWNhcF9vZmYgPSBwZGV2 LT5tc2lfY2FwICsgUENJX01TSV9GTEFHUzsKPj4+PiArCQlwY2lfcmVhZF9jb25maWdfd29yZChw ZGV2LCBjYXBfb2ZmLCAmZmxhZ3MpOwo+Pj4+ICsJCWlmIChmbGFncyAmIFBDSV9NU0lfRkxBR1Nf RU5BQkxFKSB7Cj4+Pj4gKwkJCWNhcF9vZmYgPSBwZGV2LT5tc2lfY2FwICsgUENJX01TSV9BRERS RVNTX0xPOwo+Pj4+ICsJCQlwY2lfcmVhZF9jb25maWdfZHdvcmQocGRldiwgY2FwX29mZiwgJmFk ZHJfbG8pOwo+Pj4+ICsKPj4+PiArCQkJaWYgKGZsYWdzICYgUENJX01TSV9GTEFHU182NEJJVCkg ewo+Pj4+ICsJCQkJY2FwX29mZiA9IHBkZXYtPm1zaV9jYXAgKyBQQ0lfTVNJX0FERFJFU1NfSEk7 Cj4+Pj4gKwkJCQlwY2lfcmVhZF9jb25maWdfZHdvcmQocGRldiwgY2FwX29mZiwgJmFkZHJfaGkp Owo+Pj4+ICsJCQkJY2FwX29mZiA9IHBkZXYtPm1zaV9jYXAgKyBQQ0lfTVNJX0RBVEFfNjQ7Cj4+ Pj4gKwkJCX0gZWxzZSB7Cj4+Pj4gKwkJCQlhZGRyX2hpID0gMDsKPj4+PiArCQkJCWNhcF9vZmYg PSBwZGV2LT5tc2lfY2FwICsgUENJX01TSV9EQVRBXzMyOwo+Pj4+ICsJCQl9Cj4+Pj4gKwo+Pj4+ ICsJCQlkdy0+bXNpX2FkZHIgPSBhZGRyX2hpOwo+Pj4+ICsJCQlkdy0+bXNpX2FkZHIgPDw9IDMy Owo+Pj4+ICsJCQlkdy0+bXNpX2FkZHIgfD0gYWRkcl9sbzsKPj4+PiArCj4+Pj4gKwkJCXBjaV9y ZWFkX2NvbmZpZ19kd29yZChwZGV2LCBjYXBfb2ZmLCAmKGR3LT5tc2lfZGF0YSkpOwo+Pj4+ICsJ CQlkdy0+bXNpX2RhdGEgJj0gMHhmZmZmOwo+Pj4+ICsKPj4+PiArCQkJZGV2X2luZm8oZGV2LAo+ Pj4+ICsJCQkJICJNU0k6XHRcdGFkZHI9MHglLjE2bGx4LCBkYXRhPTB4JS44eCwgbnI9JWRcbiIs Cj4+Pj4gKwkJCQkgZHctPm1zaV9hZGRyLCBkdy0+bXNpX2RhdGEsIHBkZXYtPmlycSk7Cj4+Pj4g KwkJfQo+Pj4+ICsJfQo+Pj4+ICsKPj4+PiArCWlmIChwZGV2LT5tc2l4X2NhcCAmJiBwZGV2LT5t c2l4X2VuYWJsZWQpIHsKPj4+PiArCQl1MzIgb2Zmc2V0Owo+Pj4+ICsJCXU4IGJpcjsKPj4+PiAr Cj4+Pj4gKwkJY2FwX29mZiA9IHBkZXYtPm1zaXhfY2FwICsgUENJX01TSVhfRkxBR1M7Cj4+Pj4g KwkJcGNpX3JlYWRfY29uZmlnX3dvcmQocGRldiwgY2FwX29mZiwgJmZsYWdzKTsKPj4+PiArCj4+ Pj4gKwkJaWYgKGZsYWdzICYgUENJX01TSVhfRkxBR1NfRU5BQkxFKSB7Cj4+Pj4gKwkJCWNhcF9v ZmYgPSBwZGV2LT5tc2l4X2NhcCArIFBDSV9NU0lYX1RBQkxFOwo+Pj4+ICsJCQlwY2lfcmVhZF9j b25maWdfZHdvcmQocGRldiwgY2FwX29mZiwgJm9mZnNldCk7Cj4+Pj4gKwo+Pj4+ICsJCQliaXIg PSBvZmZzZXQgJiBQQ0lfTVNJWF9UQUJMRV9CSVI7Cj4+Pj4gKwkJCW9mZnNldCAmPSBQQ0lfTVNJ WF9UQUJMRV9PRkZTRVQ7Cj4+Pj4gKwo+Pj4+ICsJCQlyZWcgPSBwY2ltX2lvbWFwX3RhYmxlKHBk ZXYpW2Jpcl07Cj4+Pj4gKwkJCXJlZyArPSBvZmZzZXQ7Cj4+Pj4gKwo+Pj4+ICsJCQlhZGRyX2xv ID0gcmVhZGwocmVnICsgUENJX01TSVhfRU5UUllfTE9XRVJfQUREUik7Cj4+Pj4gKwkJCWFkZHJf aGkgPSByZWFkbChyZWcgKyBQQ0lfTVNJWF9FTlRSWV9VUFBFUl9BRERSKTsKPj4+PiArCQkJZHct Pm1zaV9hZGRyID0gYWRkcl9oaTsKPj4+PiArCQkJZHctPm1zaV9hZGRyIDw8PSAzMjsKPj4+PiAr CQkJZHctPm1zaV9hZGRyIHw9IGFkZHJfbG87Cj4+Pj4gKwo+Pj4+ICsJCQlkdy0+bXNpX2RhdGEg PSByZWFkbChyZWcgKyBQQ0lfTVNJWF9FTlRSWV9EQVRBKTsKPj4+PiArCj4+Pj4gKwkJCWRldl9p bmZvKGRldiwKPj4+PiArCQkJCSAiTVNJLVg6XHRhZGRyPTB4JS4xNmxseCwgZGF0YT0weCUuOHgs IG5yPSVkXG4iLAo+Pj4+ICsJCQkJIGR3LT5tc2lfYWRkciwgZHctPm1zaV9kYXRhLCBwZGV2LT5p cnEpOwo+Pj4+ICsJCX0KPj4+PiArCX0KPj4+Cj4+PiBXaGF0IGlzIHRoaXM/IFdoeT8KPj4KPj4g SSBuZWVkIHRvIGZpbmQgdGhlIFBDSWUgaW50ZXJydXB0IHZlY3RvciBhZGRyZXNzIGFuZCB2YWx1 ZSAoZWl0aGVyIGZvciBNU0kgb3IKPj4gTVNJLVgsIGRlcGVuZHMgd2hhdCB0aGUgc3lzdGVtIGhh cyBzZWxlY3RlZCkgaW4gb3JkZXIgdG8gY29uZmlndXJlIGVETUEgbGF0ZXIgdG8KPj4gZ2VuZXJh dGUgdGhlIChkb25lIG9yIGFib3J0KSBpbnRlcnJ1cHRpb25zLgo+IAo+IEl0IHNlZW1zIHJhdGhl ciBoYWNraXNoIHdheSB0byBkbyBzb21ldGhpbmcgd2hpY2ggc2hvdWxkIGJlIGRvbmUgYnkgUENJ L2RyaXZlciBjb3JlLgo+IEJ1dCBwZXJoYXBzIEJqb3JuIGFuZCBvdGhlcnMgZmFtaWxpYXIgd2l0 aCBQQ0kgZW5kcG9pbnQgZmFjaWxpdHkgY2FuIHNoYXJlIG1vcmUuCj4gQWxzbyB0aGlzIGFwcGxp ZXMgdG8gKDIpIGFib3ZlLgoKSHVtLCBJIGRpZG4ndCBmb3VuZCBhbnl0aGluZyB0aWxsIG5vdy4g SG93ZXZlciBJJ2xsIGFzayBCam9ybi4KCj4gCj4+Pj4gKwlpZiAoIXBkZXYtPm1zaV9lbmFibGVk ICYmICFwZGV2LT5tc2l4X2VuYWJsZWQpIHsKPj4KPj4gSSdtIG5vdCBmaW5kaW5nIGl0LiBDYW4g eW91IHRlbGwgbWUgd2hhdCBpdCBpcz8KPj4KPj4gTm90ZTogcGNpX21zaV9lbmFibGVkKCkgb24g bXNpLmMgcmV0dXJucyBpZiBNU0kgaGFzIG5vdCBiZWVuIGRpc2FibGVkIGJ5IHRoZQo+PiBjb21t YW5kLWxpbmUgb3B0aW9uIHBjaT1ub21zaQo+IAo+IENhbiB5b3UgbG9vayBhIGJpdCBtb3JlIGNh cmVmdWxseT8gRm9yIGV4YW1wbGUsIGFzc3VtZSB0aGF0ICdkZXYnIChzdWIpcHJlZml4Cj4gaW4g dGhlIG5hbWUgb2YgZnVuY3Rpb24gd291bGQgdGVsbCBzb21ldGhpbmcgYWJvdXQgc2NvcGUgb2Yg YXBwbGljYXRpb24uCj4gCj4gcGNpX2Rldl8uLi4oKSA/CgpUaGUgZnVuY3Rpb24gaXMgcGNpX2Rl dl9tc2lfZW5hYmxlZCgpLCBJJ3ZlIGZvdW5kIGl0IG1lYW53aGlsZSAoZml4ZWQgb24gUkZDCnYz KS4gVGhhbmtzIGZvciB0aGUgaW5wdXQuCgo+IAo+Pj4gVGhlcmUgaXMgYSBoZWxwZXIgZnJvbSBQ Q0kgY29yZSBmb3IgdGhpcy4KPiAKClRoYW5rcyBmb3IgdGhlIGZlZWRiYWNrLgoKR3VzdGF2bwo=