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,v3,2/7] dmaengine: Add Synopsys eDMA IP version 0 support From: Gustavo Pimentel Message-Id: <5fbdc016-138c-ced0-4dd5-9791bee9d34c@synopsys.com> Date: Wed, 16 Jan 2019 14:02:10 +0000 To: Jose Abreu , Gustavo Pimentel , "linux-pci@vger.kernel.org" , "dmaengine@vger.kernel.org" Cc: Vinod Koul , Dan Williams , Eugeniy Paltsev , Andy Shevchenko , Russell King , Niklas Cassel , Joao Pinto , Luis Oliveira , Vitor Soares , Nelson Costa , Pedro Sousa List-ID: SGkgSm9zZSwKCk9uIDE2LzAxLzIwMTkgMTA6MzMsIEpvc2UgQWJyZXUgd3JvdGU6Cj4gSGkgR3Vz dGF2bywKPiAKPiBPbiAxLzExLzIwMTkgNjozMyBQTSwgR3VzdGF2byBQaW1lbnRlbCB3cm90ZToK Pj4gQWRkIHN1cHBvcnQgZm9yIHRoZSBlRE1BIElQIHZlcnNpb24gMCBkcml2ZXIgZm9yIGJvdGgg cmVnaXN0ZXIgbWFwcyAobGVnYWN5Cj4+IGFuZCB1bnJvbGwpLgo+Pgo+PiBUaGUgbGVnYWN5IHJl Z2lzdGVyIG1hcHBpbmcgd2FzIHRoZSBpbml0aWFsIGltcGxlbWVudGF0aW9uLCB3aGljaCBjb25z aXN0ZWQKPj4gaW4gaGF2aW5nIGFsbCByZWdpc3RlcnMgYmVsb25naW5nIHRvIGNoYW5uZWxzIG11 bHRpcGxleGVkLCB3aGljaCBjb3VsZCBiZQo+PiBjaGFuZ2UgYW55dGltZSAod2hpY2ggY291bGQg bGVkIGEgcmFjZS1jb25kaXRpb24pIGJ5IHZpZXcgcG9ydCByZWdpc3Rlcgo+PiAoYWNjZXNzIHRv IG9ubHkgb25lIGNoYW5uZWwgYXZhaWxhYmxlIGVhY2ggdGltZSkuCj4+Cj4+IFRoaXMgcmVnaXN0 ZXIgbWFwcGluZyBpcyBub3QgdmVyeSBlZmZlY3RpdmUgYW5kIGVmZmljaWVudCBpbiBhIG11bHRp dGhyZWFkCj4+IGVudmlyb25tZW50LCB3aGljaCBoYXMgbGVkIHRvIHRoZSBkZXZlbG9wbWVudCBv ZiB1bnJvbGwgcmVnaXN0ZXJzIG1hcHBpbmcsCj4+IHdoaWNoIGNvbnNpc3RzIG9mIGhhdmluZyBh bGwgY2hhbm5lbHMgcmVnaXN0ZXJzIGFjY2Vzc2libGUgYW55IHRpbWUgYnkKPj4gc3ByZWFkaW5n IGFsbCBjaGFubmVscyByZWdpc3RlcnMgYnkgYW4gb2Zmc2V0IGJldHdlZW4gdGhlbS4KPj4KPj4g VGhpcyB2ZXJzaW9uIHN1cHBvcnRzIGEgbWF4aW11bSBvZiAxNiBpbmRlcGVuZGVudCBjaGFubmVs cyAoOCB3cml0ZSArCj4+IDggcmVhZCksIHdoaWNoIGNhbiBydW4gc2ltdWx0YW5lb3VzbHkuCj4+ Cj4+IEltcGxlbWVudHMgYSBzY2F0dGVyLWdhdGhlciB0cmFuc2ZlciB0aHJvdWdoIGEgbGlua2Vk IGxpc3QsIHdoZXJlIHRoZSBzaXplCj4+IG9mIGxpbmtlZCBsaXN0IGRlcGVuZHMgb24gdGhlIGFs bG9jYXRlZCBtZW1vcnkgZGl2aWRlZCBlcXVhbGx5IGFtb25nIGFsbAo+PiBjaGFubmVscy4KPj4K Pj4gRWFjaCBsaW5rZWQgbGlzdCBkZXNjcmlwdG9yIGNhbiB0cmFuc2ZlciBmcm9tIDEgYnl0ZSB0 byA0IEdieXRlcyBhbmQgaXMKPj4gYWxpZ25tZW50ZWQgdG8gRFdPUkQuCj4+Cj4+IEJvdGggU0FS IChTb3VyY2UgQWRkcmVzcyBSZWdpc3RlcikgYW5kIERBUiAoRGVzdGluYXRpb24gQWRkcmVzcyBS ZWdpc3RlcikKPj4gYXJlIGFsaWdubWVudGVkIHRvIGJ5dGUuCj4+Cj4+IENoYW5nZXM6Cj4+IFJG QyB2MS0+UkZDIHYyOgo+PiAgLSBSZXBsYWNlIGNvbW1lbnRzIC8vIChDOTkgc3R5bGUpIGJ5IC8q Ki8KPj4gIC0gUmVwbGFjZSBtYWdpYyBudW1iZXJzIGJ5IGRlZmluZXMKPj4gIC0gUmVwbGFjZSBi b29sZWFuIHJldHVybiBmcm9tIHRlcm5hcnkgb3BlcmF0aW9uIGJ5IGEgZG91YmxlIG5lZ2F0aW9u Cj4+ICAgIG9wZXJhdGlvbgo+PiAgLSBSZXBsYWNlIFFXT1JEX0hJL1FXT1JEX0xPIG1hY3JvcyBi eSB1cHBlcl8zMl9iaXRzKCkvbG93ZXJfMzJfYml0cygpCj4+ICAtIEZpeCB0aGUgaGVhZGVycyBv ZiB0aGUgLmMgYW5kIC5oIGZpbGVzIGFjY29yZGluZyB0byB0aGUgbW9zdCByZWNlbnQKPj4gICAg Y29udmVudGlvbgo+PiAgLSBGaXggZXJyb3JzIGFuZCBjaGVja3MgcG9pbnRlZCBvdXQgYnkgY2hl Y2twYXRjaCB3aXRoIC0tc3RyaWN0IG9wdGlvbgo+PiAgLSBSZXBsYWNlIHBhdGNoIHNtYWxsIGRl c2NyaXB0aW9uIHRhZyBmcm9tIGRtYSBieSBkbWFlbmdpbmUKPj4gIC0gUmVmYWN0b3IgY29kZSB0 byByZXBsYWNlIGF0b21pY190IGJ5IHUzMiB2YXJpYWJsZSB0eXBlCj4+IFJGQyB2Mi0+UkZDIHYz Ogo+PiAgLSBDb2RlIHJld3JpdGUgdG8gdXNlIEZJRUxEX1BSRVAoKSBhbmQgRklFTERfR0VUKCkK Pj4gIC0gQWRkIGRlZmluZSB0byBtYWdpYyBudW1iZXJzCj4+ICAtIEZpeCBtaW5vciBidWdzCj4+ Cj4+IFNpZ25lZC1vZmYtYnk6IEd1c3Rhdm8gUGltZW50ZWwgPGd1c3Rhdm8ucGltZW50ZWxAc3lu b3BzeXMuY29tPgo+PiBDYzogVmlub2QgS291bCA8dmtvdWxAa2VybmVsLm9yZz4KPj4gQ2M6IERh biBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPgo+PiBDYzogRXVnZW5peSBQYWx0 c2V2IDxwYWx0c2V2QHN5bm9wc3lzLmNvbT4KPj4gQ2M6IEFuZHkgU2hldmNoZW5rbyA8YW5kcml5 LnNoZXZjaGVua29AbGludXguaW50ZWwuY29tPgo+PiBDYzogUnVzc2VsbCBLaW5nIDxybWsra2Vy bmVsQGFybWxpbnV4Lm9yZy51az4KPj4gQ2M6IE5pa2xhcyBDYXNzZWwgPG5pa2xhcy5jYXNzZWxA bGluYXJvLm9yZz4KPj4gQ2M6IEpvYW8gUGludG8gPGpwaW50b0BzeW5vcHN5cy5jb20+Cj4+IENj OiBKb3NlIEFicmV1IDxqb3NlLmFicmV1QHN5bm9wc3lzLmNvbT4KPj4gQ2M6IEx1aXMgT2xpdmVp cmEgPGxvbGl2ZWlAc3lub3BzeXMuY29tPgo+PiBDYzogVml0b3IgU29hcmVzIDx2aXRvci5zb2Fy ZXNAc3lub3BzeXMuY29tPgo+PiBDYzogTmVsc29uIENvc3RhIDxuZWxzb24uY29zdGFAc3lub3Bz eXMuY29tPgo+PiBDYzogUGVkcm8gU291c2EgPHBlZHJvbS5zb3VzYUBzeW5vcHN5cy5jb20+Cj4g Cj4+ICt2b2lkIGR3X2VkbWFfdjBfY29yZV9zdGFydChzdHJ1Y3QgZHdfZWRtYV9jaHVuayAqY2h1 bmssIGJvb2wgZmlyc3QpCj4+ICt7Cj4+ICsJc3RydWN0IGR3X2VkbWFfY2hhbiAqY2hhbiA9IGNo dW5rLT5jaGFuOwo+PiArCXN0cnVjdCBkd19lZG1hICpkdyA9IGNoYW4tPmNoaXAtPmR3Owo+PiAr CXUzMiB0bXA7Cj4+ICsJdTY0IGxscDsKPj4gKwo+PiArCWR3X2VkbWFfdjBfY29yZV93cml0ZV9j aHVuayhjaHVuayk7Cj4+ICsKPj4gKwlpZiAoZmlyc3QpIHsKPj4gKwkJLyogRW5hYmxlIGVuZ2lu ZSAqLwo+PiArCQlTRVRfUlcoZHcsIGNoYW4tPmRpciwgZW5naW5lX2VuLCBCSVQoMCkpOwo+PiAr CQkvKiBJbnRlcnJ1cHQgdW5tYXNrIC0gZG9uZSwgYWJvcnQgKi8KPj4gKwkJdG1wID0gR0VUX1JX KGR3LCBjaGFuLT5kaXIsIGludF9tYXNrKTsKPj4gKwkJdG1wICY9IH5GSUVMRF9QUkVQKEVETUFf VjBfRE9ORV9JTlRfTUFTSywgQklUKGNoYW4tPmlkKSk7Cj4+ICsJCXRtcCAmPSB+RklFTERfUFJF UChFRE1BX1YwX0FCT1JUX0lOVF9NQVNLLCBCSVQoY2hhbi0+aWQpKTsKPj4gKwkJU0VUX1JXKGR3 LCBjaGFuLT5kaXIsIGludF9tYXNrLCB0bXApOwo+PiArCQkvKiBMaW5rZWQgbGlzdCBlcnJvciAq Lwo+PiArCQl0bXAgPSBHRVRfUlcoZHcsIGNoYW4tPmRpciwgbGlua2VkX2xpc3RfZXJyX2VuKTsK Pj4gKwkJdG1wIHw9IEZJRUxEX1BSRVAoRURNQV9WMF9MSU5LRURfTElTVF9FUlJfTUFTSywgQklU KGNoYW4tPmlkKSk7Cj4+ICsJCVNFVF9SVyhkdywgY2hhbi0+ZGlyLCBsaW5rZWRfbGlzdF9lcnJf ZW4sIHRtcCk7Cj4+ICsJCS8qIENoYW5uZWwgY29udHJvbCAqLwo+PiArCQlTRVRfQ0goZHcsIGNo YW4tPmRpciwgY2hhbi0+aWQsIGNoX2NvbnRyb2wxLAo+PiArCQkgICAgICAgKERXX0VETUFfVjBf Q0NTIHwgRFdfRURNQV9WMF9MTEUpKTsKPj4gKwkJLyogTGlua2VkIGxpc3QgLSBsb3csIGhpZ2gg Ki8KPj4gKwkJbGxwID0gY3B1X3RvX2xlNjQoY2h1bmstPmxsX3JlZ2lvbi5wYWRkcik7Cj4+ICsJ CVNFVF9DSChkdywgY2hhbi0+ZGlyLCBjaGFuLT5pZCwgbGxwX2xvdywgbG93ZXJfMzJfYml0cyhs bHApKTsKPj4gKwkJU0VUX0NIKGR3LCBjaGFuLT5kaXIsIGNoYW4tPmlkLCBsbHBfaGlnaCwgdXBw ZXJfMzJfYml0cyhsbHApKTsKPj4gKwl9Cj4+ICsJLyogRG9vcmJlbGwgKi8KPiAKPiBOb3Qgc3Vy ZSBpZiBETUEgc3Vic3lzdGVtIGRvZXMgdGhpcyBidXQgbWF5YmUgeW91IG5lZWQgc29tZSBraW5k Cj4gb2YgYmFycmllciB0byBlbnN1cmUgZXZlcnl0aGluZyBpcyBjb2hlcmVudCBiZWZvcmUgZ3Jh bnRpbmcKPiBjb250cm9sIHRvIGVETUEgPwoKRWFjaCByZWFkbCBhbmQgd3JpdGVsIGluc2lkZSBv ZiBoZWxwZXIgbWFjcm9zIChTRVRfUlcvR0VUUlcgYW5kIFNFVF9DSC9HRVRfQ0gpCmhhcyBhIG1l bW9yeSBiYXJyaWVyLCB0aGF0IGdyYW50cyB0aGF0IHRoZSBjb2hlcmVuY3ksIGhvd2V2ZXIgdGhp cyBpcyBwbGF0Zm9ybQpkZXBlbmRlbnQuCgo+IAo+PiArCVNFVF9SVyhkdywgY2hhbi0+ZGlyLCBk b29yYmVsbCwKPj4gKwkgICAgICAgRklFTERfUFJFUChFRE1BX1YwX0RPT1JCRUxMX0NIX01BU0ss IGNoYW4tPmlkKSk7Cj4+ICt9Cj4+ICsKClRoYW5rcyEK