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: Andy Shevchenko Message-Id: <20190103173559.GW10650@smile.fi.intel.com> Date: Thu, 3 Jan 2019 19:35:59 +0200 To: Gustavo Pimentel Cc: "linux-pci@vger.kernel.org" , "dmaengine@vger.kernel.org" , Vinod Koul , Eugeniy Paltsev , Lorenzo Pieralisi , Joao Pinto List-ID: T24gVGh1LCBEZWMgMTMsIDIwMTggYXQgMDI6NDA6NDBQTSArMDAwMCwgR3VzdGF2byBQaW1lbnRl bCB3cm90ZToKPiBPbiAxMi8xMi8yMDE4IDEzOjI1LCBBbmR5IFNoZXZjaGVua28gd3JvdGU6Cj4g PiBPbiBXZWQsIERlYyAxMiwgMjAxOCBhdCAxMjoxMzoyNFBNICswMTAwLCBHdXN0YXZvIFBpbWVu dGVsIHdyb3RlOgoKPiA+IEl0IHNlZW1zIHRoaXMgZHJpdmVyIHNvbWVob3cgd3JpdHRlbiBhcyBh IGNvcHktcGFzdGUgb2YgZXhpc3RpbmcgcGllY2VzIHcvbyBnb29kIHJlYXNvbnMgdG8gZG8gc3Vj aC4KPiAKCigxKQoKPiBXaGF0IGRvIHlvdSBtZWFuPyBJdCdzIHRydWUgSSByZWxpZWQgb24gZXhp c3RpbmcgZHJpdmVycyB0byBkZXZlbG9wIHRoaXMKPiBzb2x1dGlvbiwgYnV0IGlzIG5vdCBpdCBz dXBwb3NlZCB0byBiZSBzbz8KClNlZSBiZWxvdy4KCj4gPj4gK2VudW0gZHdfZWRtYV9wY2llX2Jh ciB7Cj4gPj4gKwlCQVJfMCwKPiA+PiArCUJBUl8xLAo+ID4+ICsJQkFSXzIsCj4gPj4gKwlCQVJf MywKPiA+PiArCUJBUl80LAo+ID4+ICsJQkFSXzUKPiA+PiArfTsKPiA+IAo+ID4gV2h5IGRvIHlv dSBuZWVkIHRoaXMgYXQgYWxsPwo+IAo+IFNlZSBteSBhbnN3ZXIgYmVsb3cuCj4gCj4gPiAKPiA+ PiArc3RhdGljIGNvbnN0IHN0cnVjdCBkd19lZG1hX3BjaWVfZGF0YSBzbnBzX2VkZGFfZGF0YSA9 IHsKPiA+PiArCS8vIGVETUEgcmVnaXN0ZXJzIGxvY2F0aW9uCj4gPj4gKwkucmVnc19iYXIJCQk9 IEJBUl8wLAo+ID4+ICsJLnJlZ3Nfb2ZmCQkJPSAweDEwMDAsCS8vICAgNCBLQnl0ZXMKPiA+PiAr CS8vIGVETUEgbWVtb3J5IGxpbmtlZCBsaXN0IGxvY2F0aW9uCj4gPj4gKwkubGxfYmFyCQkJCT0g QkFSXzIsCj4gPj4gKwkubGxfb2ZmCQkJCT0gMCwJCS8vICAgMCBLQnl0ZXMKPiA+PiArCS5sbF9z egkJCQk9IDB4MjAwMDAsCS8vIDEyOCBLQnl0ZXMKPiA+PiArCS8vIE90aGVyCj4gPj4gKwkudmVy c2lvbgkJCT0gMCwKPiA+PiArCS5tb2RlCQkJCT0gRURNQV9NT0RFX1VOUk9MTCwKPiA+PiArfTsK PiA+IAo+ID4gSHVoPyBJc24ndCB0aGlzIAo+IAo+IFRoZSBlRE1BIGlzIGEgaGFyZHdhcmUgYmxv Y2sgKHdpdGggcmVxdWlyZXMgc29tZSBjb25maWd1cmF0aW9uKSBhY2Nlc3NpYmxlCj4gdGhyb3Vn aCBhIFBDSWUgRW5kUG9pbnQsIHVuZm9ydHVuYXRlbHkgdGhlcmUgaXNuJ3QgYW55IHdheSBmb3Ig bm93IChhdCBsZWFzdCkKPiB0aHJvdWdoIGFuIFBDSWUgY2FwYWJpbGl0eSBmb3IgaW5zdGFuY2Ug dG8gZGV0ZWN0IHRob3NlIGNvbmZpZ3VyYXRpb25zCj4gYXV0b21hdGljYWxseSwgdGhlcmVmb3Jl IHRoZSBvbmx5IHdheSB0byBwYXNzIHRoYXQgY29uZmlndXJhdGlvbiBpcyB0byBhc3NvY2lhdGUK PiBpdCB0byBQQ0llIFZlbmRvcigweDE2YzMpIGFuZCBEZXZpY2UgKDB4ZWRkYSkgSWQuCj4gCj4g VG8gaW50ZXJhY3Qgd2l0aCBlRE1BIGhhcmR3YXJlIGJsb2NrIHRoZSBkcml2ZXIgbmVlZHMgdG8g YWNjZXNzIHRoZSBlRE1BCj4gcmVnaXN0ZXJzIGFuZCB0aGUgb25seSB3YXkgdG8gZG8gaXQgaXMg dGhyb3VnaCBQQ0llIG1hcHBpbmcuIEluIHRoaXMgdGhvc2UKPiByZWdpc3RlcnMgd2lsbCBiZSBh dmFpbGFibGUgb24gQkFSIDAsIHdpdGggYSBvZmZzZXQgb2YgNEtCIGZyb20gdGhlIHN0YXJ0Lgo+ IAo+IFRoZSBkcml2ZXIgYWxzbyByZXF1aXJlcyBhIG1lbW9yeSBzcGFjZSAoUkFNKSB0byBjcmVh dGUgYSBsaW5rZWQgbGlzdAo+IGRlc2NyaXB0b3JzIGFuZCBwYXNzIHRoZSBmaXJzdCBkZXNjcmlw dG9yIGFkZHJlc3MgdG8gdGhlIGVETUEgaGFyZHdhcmUgYmxvY2sgc28KPiB0aGF0IGl0IGNhbiBz dGFydCBwZXJmb3JtaW5nIHRoZSB0cmFuc2ZlciBhdXRvbm9tb3VzbHkuIE9uY2UgYWdhaW4gdGhp cyBtZW1vcnkKPiBzcGFjZSBpcyBwcm92aWRlIHRocm91Z2ggUENJZSBvbiBCQVIgMi4gVGhpcyBs aW5rZWQgbGlzdCBzcGFjZSBpcyBpbiB0aGUKPiBiZWdpbm5pbmcgYW5kIGl0J3MgcmVzdHJpY3Rl ZCB0byBhIHNpemUgb2YgMTI4S0IuCj4gCj4gU2luY2UgdGhpcyBlRE1BIGhhcmR3YXJlIGJsb2Nr IChtb3JlIHNwZWNpZmljYWxseSBlRE1BIHJlZ2lzdGVycykgY2FuIGV2b2x2ZSBpbgo+IHRoZSBm dXR1cmUsIEkgY2hvb3NlZCB0byBwdXQgaGVyZSBhIHZlcnNpb24gaW4gb3JkZXIgdG8gaGF2ZSBh IGRyaXZlciB0aGF0IGNhbgo+IGJlIGVhc2lseSBhZGFwdGFibGUgYW5kIHJldXNhYmxlIHdpdGhv dXQgbXVjaCBlZmZvcnQuCgooMikKCj4gPj4gKwllcnIgPSBwY2lfdHJ5X3NldF9td2kocGRldik7 Cj4gPj4gKwlpZiAoZXJyKSB7Cj4gPj4gKwkJZGV2X2VycihkZXYsICIlcyBETUEgbWVtb3J5IHdy aXRlIGludmFsaWRhdGVcbiIsCj4gPj4gKwkJCXBjaV9uYW1lKHBkZXYpKTsKPiA+PiArCQlyZXR1 cm4gZXJyOwo+ID4+ICsJfQo+ID4gCj4gPiBBcmUgeW91IHN1cmUgeW91IG5lZWQgdGhpcz8KPiAK PiBJJ20gbm90IHN1cmUsIHByb2JhYmx5IG5vdC4gSSBzYXcgdXNpbmcgdGhpcyBiZWluZyB1c2Ug b24gL2RtYS9kdy9wY2kuYyBkcml2ZXIuCj4gSSdsbCB0ZXN0IHdpdGhvdXQgaXQuCgpUaGF0J3Mg ZXhhY3RseSB0aGUgcG9pbnQgd2hhdCBJIHJlZmVycmVkIHRvIGluICgxKSBhYm92ZS4KTG9va3Mg bGlrZSBoZXJlIGlzIGNhcmdvLWN1bHQgcHJvZ3JhbW1pbmcgZG9uZSB3aXRob3V0IHVuZGVyc3Rh bmRpbmcgd2h5LgpJIGR1bm5vIGhvdyBtYW55IG90aGVyIGNhc2VzIGluIHRoZSBkcml2ZXIgbGlr ZSB0aGlzLgoKPiA+PiArCWRldl9pbmZvKGRldiwgIk1vZGU6XHQlc1xuIiwKPiA+PiArCQkgZHct Pm1vZGUgPT0gRURNQV9NT0RFX0xFR0FDWSA/ICJMZWdhY3kiIDogIlVucm9sbCIpOwo+ID4+ICsK PiA+IAo+ID4gCj4gPj4gKwlkZXZfaW5mbyhkZXYsICJSZWdpc3RlcnM6XHRCQVI9JXUsIG9mZj0w eCUuMTZsbHggQiwgYWRkcj0weCUuOGx4XG4iLAo+ID4+ICsJCSBwZGF0YS0+cmVnc19iYXIsIHBk YXRhLT5yZWdzX29mZiwKPiA+PiArCQkgKHVuc2lnbmVkIGxvbmcpIGR3LT5yZWdzKTsKPiA+IAo+ ID4gT2gsIG5vLCBkb24ndCBkbyBjYXN0aW5nIHdoZW4gcHJpbnRpbmcgc29tZXRoaW5nLiBJbiBv bmx5IHJhcmUgY2FzZXMgaXQncyBuZWVkZWQsIG5vdCBoZXJlLgo+IAo+IEkndmUgcHV0IHRoZSBj YXN0IHRvIHJlbW92ZSB0aGUgZm9sbG93aW5nIHdhcm5pbmc6Cj4gCj4gZHJpdmVycy9kbWEvZHct ZWRtYS9kdy1lZG1hLXBjaWUuYzoxMzg6MTU6ICB3YXJuaW5nOiBmb3JtYXQg4oCYJWx44oCZIGV4 cGVjdHMKPiBhcmd1bWVudCBvZiB0eXBlIOKAmGxvbmcgdW5zaWduZWQgaW504oCZLCBidXQgYXJn dW1lbnQgNiBoYXMgdHlwZSDigJh2b2lkICrigJkKCi4uLmFuZCBhcyBJIHNhaWQgdGhpcyBpcyB3 cm9uZy4gUGxlYXNlLCBmaW5kIHN1aXRhYmxlIHNwZWNpZmllcnMgZm9yIHlvdXIgY2FzZS4KCj4g Pj4gKwlpZiAocGRldi0+bXNpX2NhcCAmJiBwZGV2LT5tc2lfZW5hYmxlZCkgewo+ID4+ICsJCWNh cF9vZmYgPSBwZGV2LT5tc2lfY2FwICsgUENJX01TSV9GTEFHUzsKPiA+PiArCQlwY2lfcmVhZF9j b25maWdfd29yZChwZGV2LCBjYXBfb2ZmLCAmZmxhZ3MpOwo+ID4+ICsJCWlmIChmbGFncyAmIFBD SV9NU0lfRkxBR1NfRU5BQkxFKSB7Cj4gPj4gKwkJCWNhcF9vZmYgPSBwZGV2LT5tc2lfY2FwICsg UENJX01TSV9BRERSRVNTX0xPOwo+ID4+ICsJCQlwY2lfcmVhZF9jb25maWdfZHdvcmQocGRldiwg Y2FwX29mZiwgJmFkZHJfbG8pOwo+ID4+ICsKPiA+PiArCQkJaWYgKGZsYWdzICYgUENJX01TSV9G TEFHU182NEJJVCkgewo+ID4+ICsJCQkJY2FwX29mZiA9IHBkZXYtPm1zaV9jYXAgKyBQQ0lfTVNJ X0FERFJFU1NfSEk7Cj4gPj4gKwkJCQlwY2lfcmVhZF9jb25maWdfZHdvcmQocGRldiwgY2FwX29m ZiwgJmFkZHJfaGkpOwo+ID4+ICsJCQkJY2FwX29mZiA9IHBkZXYtPm1zaV9jYXAgKyBQQ0lfTVNJ X0RBVEFfNjQ7Cj4gPj4gKwkJCX0gZWxzZSB7Cj4gPj4gKwkJCQlhZGRyX2hpID0gMDsKPiA+PiAr CQkJCWNhcF9vZmYgPSBwZGV2LT5tc2lfY2FwICsgUENJX01TSV9EQVRBXzMyOwo+ID4+ICsJCQl9 Cj4gPj4gKwo+ID4+ICsJCQlkdy0+bXNpX2FkZHIgPSBhZGRyX2hpOwo+ID4+ICsJCQlkdy0+bXNp X2FkZHIgPDw9IDMyOwo+ID4+ICsJCQlkdy0+bXNpX2FkZHIgfD0gYWRkcl9sbzsKPiA+PiArCj4g Pj4gKwkJCXBjaV9yZWFkX2NvbmZpZ19kd29yZChwZGV2LCBjYXBfb2ZmLCAmKGR3LT5tc2lfZGF0 YSkpOwo+ID4+ICsJCQlkdy0+bXNpX2RhdGEgJj0gMHhmZmZmOwo+ID4+ICsKPiA+PiArCQkJZGV2 X2luZm8oZGV2LAo+ID4+ICsJCQkJICJNU0k6XHRcdGFkZHI9MHglLjE2bGx4LCBkYXRhPTB4JS44 eCwgbnI9JWRcbiIsCj4gPj4gKwkJCQkgZHctPm1zaV9hZGRyLCBkdy0+bXNpX2RhdGEsIHBkZXYt PmlycSk7Cj4gPj4gKwkJfQo+ID4+ICsJfQo+ID4+ICsKPiA+PiArCWlmIChwZGV2LT5tc2l4X2Nh cCAmJiBwZGV2LT5tc2l4X2VuYWJsZWQpIHsKPiA+PiArCQl1MzIgb2Zmc2V0Owo+ID4+ICsJCXU4 IGJpcjsKPiA+PiArCj4gPj4gKwkJY2FwX29mZiA9IHBkZXYtPm1zaXhfY2FwICsgUENJX01TSVhf RkxBR1M7Cj4gPj4gKwkJcGNpX3JlYWRfY29uZmlnX3dvcmQocGRldiwgY2FwX29mZiwgJmZsYWdz KTsKPiA+PiArCj4gPj4gKwkJaWYgKGZsYWdzICYgUENJX01TSVhfRkxBR1NfRU5BQkxFKSB7Cj4g Pj4gKwkJCWNhcF9vZmYgPSBwZGV2LT5tc2l4X2NhcCArIFBDSV9NU0lYX1RBQkxFOwo+ID4+ICsJ CQlwY2lfcmVhZF9jb25maWdfZHdvcmQocGRldiwgY2FwX29mZiwgJm9mZnNldCk7Cj4gPj4gKwo+ ID4+ICsJCQliaXIgPSBvZmZzZXQgJiBQQ0lfTVNJWF9UQUJMRV9CSVI7Cj4gPj4gKwkJCW9mZnNl dCAmPSBQQ0lfTVNJWF9UQUJMRV9PRkZTRVQ7Cj4gPj4gKwo+ID4+ICsJCQlyZWcgPSBwY2ltX2lv bWFwX3RhYmxlKHBkZXYpW2Jpcl07Cj4gPj4gKwkJCXJlZyArPSBvZmZzZXQ7Cj4gPj4gKwo+ID4+ ICsJCQlhZGRyX2xvID0gcmVhZGwocmVnICsgUENJX01TSVhfRU5UUllfTE9XRVJfQUREUik7Cj4g Pj4gKwkJCWFkZHJfaGkgPSByZWFkbChyZWcgKyBQQ0lfTVNJWF9FTlRSWV9VUFBFUl9BRERSKTsK PiA+PiArCQkJZHctPm1zaV9hZGRyID0gYWRkcl9oaTsKPiA+PiArCQkJZHctPm1zaV9hZGRyIDw8 PSAzMjsKPiA+PiArCQkJZHctPm1zaV9hZGRyIHw9IGFkZHJfbG87Cj4gPj4gKwo+ID4+ICsJCQlk dy0+bXNpX2RhdGEgPSByZWFkbChyZWcgKyBQQ0lfTVNJWF9FTlRSWV9EQVRBKTsKPiA+PiArCj4g Pj4gKwkJCWRldl9pbmZvKGRldiwKPiA+PiArCQkJCSAiTVNJLVg6XHRhZGRyPTB4JS4xNmxseCwg ZGF0YT0weCUuOHgsIG5yPSVkXG4iLAo+ID4+ICsJCQkJIGR3LT5tc2lfYWRkciwgZHctPm1zaV9k YXRhLCBwZGV2LT5pcnEpOwo+ID4+ICsJCX0KPiA+PiArCX0KPiA+IAo+ID4gV2hhdCBpcyB0aGlz PyBXaHk/Cj4gCj4gSSBuZWVkIHRvIGZpbmQgdGhlIFBDSWUgaW50ZXJydXB0IHZlY3RvciBhZGRy ZXNzIGFuZCB2YWx1ZSAoZWl0aGVyIGZvciBNU0kgb3IKPiBNU0ktWCwgZGVwZW5kcyB3aGF0IHRo ZSBzeXN0ZW0gaGFzIHNlbGVjdGVkKSBpbiBvcmRlciB0byBjb25maWd1cmUgZURNQSBsYXRlciB0 bwo+IGdlbmVyYXRlIHRoZSAoZG9uZSBvciBhYm9ydCkgaW50ZXJydXB0aW9ucy4KCkl0IHNlZW1z IHJhdGhlciBoYWNraXNoIHdheSB0byBkbyBzb21ldGhpbmcgd2hpY2ggc2hvdWxkIGJlIGRvbmUg YnkgUENJL2RyaXZlciBjb3JlLgpCdXQgcGVyaGFwcyBCam9ybiBhbmQgb3RoZXJzIGZhbWlsaWFy IHdpdGggUENJIGVuZHBvaW50IGZhY2lsaXR5IGNhbiBzaGFyZSBtb3JlLgpBbHNvIHRoaXMgYXBw bGllcyB0byAoMikgYWJvdmUuCgo+ID4+ICsJaWYgKCFwZGV2LT5tc2lfZW5hYmxlZCAmJiAhcGRl di0+bXNpeF9lbmFibGVkKSB7Cj4gCj4gSSdtIG5vdCBmaW5kaW5nIGl0LiBDYW4geW91IHRlbGwg bWUgd2hhdCBpdCBpcz8KPiAKPiBOb3RlOiBwY2lfbXNpX2VuYWJsZWQoKSBvbiBtc2kuYyByZXR1 cm5zIGlmIE1TSSBoYXMgbm90IGJlZW4gZGlzYWJsZWQgYnkgdGhlCj4gY29tbWFuZC1saW5lIG9w dGlvbiBwY2k9bm9tc2kKCkNhbiB5b3UgbG9vayBhIGJpdCBtb3JlIGNhcmVmdWxseT8gRm9yIGV4 YW1wbGUsIGFzc3VtZSB0aGF0ICdkZXYnIChzdWIpcHJlZml4CmluIHRoZSBuYW1lIG9mIGZ1bmN0 aW9uIHdvdWxkIHRlbGwgc29tZXRoaW5nIGFib3V0IHNjb3BlIG9mIGFwcGxpY2F0aW9uLgoKcGNp X2Rldl8uLi4oKSA/Cgo+ID4gVGhlcmUgaXMgYSBoZWxwZXIgZnJvbSBQQ0kgY29yZSBmb3IgdGhp cy4K