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,5/7] dmaengine: Add Synopsys eDMA IP PCIe glue-logic From: Andy Shevchenko Message-Id: <20190111194705.GU9170@smile.fi.intel.com> Date: Fri, 11 Jan 2019 21:47:05 +0200 To: Gustavo Pimentel Cc: linux-pci@vger.kernel.org, dmaengine@vger.kernel.org, Vinod Koul , Dan Williams , Eugeniy Paltsev , Russell King , Niklas Cassel , Lorenzo Pieralisi , Joao Pinto , Jose Abreu , Luis Oliveira , Vitor Soares , Nelson Costa , Pedro Sousa List-ID: T24gRnJpLCBKYW4gMTEsIDIwMTkgYXQgMDc6MzM6NDFQTSArMDEwMCwgR3VzdGF2byBQaW1lbnRl bCB3cm90ZToKPiBTeW5vcHN5cyBlRE1BIElQIGlzIG5vcm1hbGx5IGRpc3RyaWJ1dGVkIGFsb25n IHdpdGggU3lub3BzeXMgUENJZQo+IEVuZFBvaW50IElQIChkZXBlbmRzIG9mIHRoZSB1c2UgYW5k IGxpY2Vuc2luZyBhZ3JlZW1lbnQpLgo+IAo+IFRoaXMgSVAgcmVxdWlyZXMgc29tZSBiYXNpYyBj b25maWd1cmF0aW9ucywgc3VjaCBhczoKPiAgLSBlRE1BIHJlZ2lzdGVycyBCQVIKPiAgLSBlRE1B IHJlZ2lzdGVycyBvZmZzZXQKPiAgLSBlRE1BIHJlZ2lzdGVycyBzaXplCj4gIC0gZURNQSBsaW5r ZWQgbGlzdCBtZW1vcnkgQkFSCj4gIC0gZURNQSBsaW5rZWQgbGlzdCBtZW1vcnkgb2Zmc2V0Cj4g IC0gZURNQSBsaW5rZWQgbGlzdCBtZW1vcnkgc3plCj4gIC0gZURNQSBkYXRhIG1lbW9yeSBCQVIK PiAgLSBlRE1BIGRhdGEgbWVtb3J5IG9mZnNldAo+ICAtIGVETUEgZGF0YSBtZW1vcnkgc2l6ZQo+ ICAtIGVETUEgdmVyc2lvbgo+ICAtIGVETUEgbW9kZQo+ICAtIElSUXMgYXZhaWxhYmxlIGZvciBl RE1BCj4gCj4gQXMgYSB3b3JraW5nIGV4YW1wbGUsIFBDSWUgZ2x1ZS1sb2dpYyB3aWxsIGF0dGFj aCB0byBhIFN5bm9wc3lzIFBDSWUKPiBFbmRQb2ludCBJUCBwcm90b3R5cGUga2l0IChWZW5kb3Ig SUQgPSAweDE2YzMsIERldmljZSBJRCA9IDB4ZWRkYSksCj4gd2hpY2ggaGFzIGJ1aWx0LWluIGFu IGVETUEgSVAgd2l0aCB0aGlzIGRlZmF1bHQgY29uZmlndXJhdGlvbjoKPiAgLSBlRE1BIHJlZ2lz dGVycyBCQVIgPSAwCj4gIC0gZURNQSByZWdpc3RlcnMgb2Zmc2V0ID0gMHgwMDAwMTAwMCAoNCBL Ynl0ZXMpCj4gIC0gZURNQSByZWdpc3RlcnMgc2l6ZSA9IDB4MDAwMDIwMDAgKDggS2J5dGVzKQo+ ICAtIGVETUEgbGlua2VkIGxpc3QgbWVtb3J5IEJBUiA9IDIKPiAgLSBlRE1BIGxpbmtlZCBsaXN0 IG1lbW9yeSBvZmZzZXQgPSAweDAwMDAwMDAwICgwIEtieXRlcykKPiAgLSBlRE1BIGxpbmtlZCBs aXN0IG1lbW9yeSBzaXplID0gMHgwMDgwMDAwMCAoOCBNYnl0ZXMpCj4gIC0gZURNQSBkYXRhIG1l bW9yeSBCQVIgPSAyCj4gIC0gZURNQSBkYXRhIG1lbW9yeSBvZmZzZXQgPSAweDAwODAwMDAwICg4 IE1ieXRlcykKPiAgLSBlRE1BIGRhdGEgbWVtb3J5IHNpemUgPSAweDAzODAwMDAwICg1NiBNYnl0 ZXMpCj4gIC0gZURNQSB2ZXJzaW9uID0gMAo+ICAtIGVETUEgbW9kZSA9IEVETUFfTU9ERV9VTlJP TEwKPiAgLSBJUlFzID0gMQo+IAo+IFRoaXMgZHJpdmVyIGNhbiBiZSBjb21waWxlIGFzIGJ1aWx0 LWluIG9yIGV4dGVybmFsIG1vZHVsZSBpbiBrZXJuZWwuCj4gCj4gVG8gZW5hYmxlIHRoaXMgZHJp dmVyIGp1c3Qgc2VsZWN0IERXX0VETUFfUENJRSBvcHRpb24gaW4ga2VybmVsCj4gY29uZmlndXJh dGlvbiwgaG93ZXZlciBpdCByZXF1aXJlcyBhbmQgc2VsZWN0cyBhdXRvbWF0aWNhbGx5IERXX0VE TUEKPiBvcHRpb24gdG9vLgo+IAoKPiBDaGFuZ2VzOgo+IFJGQyB2MS0+UkZDIHYyOgoKQ2hhbmdl cyBnbyBhZnRlciAnLS0tICcgbGluZS4KCj4gIC0gUmVwbGFjZSBjb21tZW50cyAvLyAoQzk5IHN0 eWxlKSBieSAvKiovCj4gIC0gTWVyZ2UgdHdvIHBjaW1faW9tYXBfcmVnaW9ucygpIGNhbGxzIGlu dG8ganVzdCBvbmUgY2FsbAo+ICAtIFJlbW92ZSBwY2lfdHJ5X3NldF9td2koKSBjYWxsCj4gIC0g UmVwbGFjZSBzb21lIGRldl9pbmZvKCkgYnkgZGV2X2RiZygpIHRvIHJlZHVjZSAqbm9pc2UqCj4g IC0gUmVtb3ZlIHBjaV9uYW1lKHBkZXYpIGNhbGwgYWZ0ZXIgYmVpbmcgY2FsbCBkd19lZG1hX3Jl bW92ZSgpCj4gIC0gUmVtb3ZlIGFsbCBwb3dlciBtYW5hZ2VtZW50IHN1cHBvcnQKPiAgLSBGaXgg dGhlIGhlYWRlcnMgb2YgdGhlIC5jIGFuZCAuaCBmaWxlcyBhY2NvcmRpbmcgdG8gdGhlIG1vc3Qg cmVjZW50Cj4gICAgY29udmVudGlvbgo+ICAtIEZpeCBlcnJvcnMgYW5kIGNoZWNrcyBwb2ludGVk IG91dCBieSBjaGVja3BhdGNoIHdpdGggLS1zdHJpY3Qgb3B0aW9uCj4gIC0gUmVwbGFjZSBwYXRj aCBzbWFsbCBkZXNjcmlwdGlvbiB0YWcgZnJvbSBkbWEgYnkgZG1hZW5naW5lCj4gUkZDIHYyLT5S RkMgdjM6Cj4gIC0gRml4IHByaW50ayB2YXJpYWJsZSBvZiBwaHlzX2FkZHJfdCB0eXBlCj4gIC0g Rml4IG1pc3NpbmcgdmFyaWFibGUgaW5pdGlhbGl6YXRpb24gKGNoYW4tPmNvbmZpZ3VyZWQpCj4g IC0gQ2hhbmdlIGxpbmtlZCBsaXN0IHNpemUgdG8gNTEyIEtieXRlcwo+ICAtIEFkZCBkYXRhIG1l bW9yeSBpbmZvcm1hdGlvbgo+ICAtIEFkZCByZWdpc3RlciBzaXplIGluZm9ybWF0aW9uCj4gIC0g QWRkIGNvbW1lbnRzIG9yIGltcHJvdmUgZXhpc3Rpbmcgb25lcwo+ICAtIEFkZCBwb3NzaWJpbGl0 eSB0byB3b3JrIHdpdGggbXVsdGlwbGUgSVJRcyBmZWF0dXJlCj4gIC0gUmVwbGFjZSBNU0kgYW5k IE1TSS1YIGVuYWJsZSBjb25kaXRpb24gYnkgcGNpX2Rldl9tc2lfZW5hYmxlZCgpCj4gIC0gUmVw bGFjZSBjb2RlIHRvIGFjcXVpcmUgTVNJKC1YKSBhZGRyZXNzIGFuZCBkYXRhIGJ5Cj4gICAgZ2V0 X2NhY2hlZF9tc2lfbXNnKCkKCj4gK2VudW0gZHdfZWRtYV9wY2llX2JhciB7Cj4gKwlCQVJfMCwK PiArCUJBUl8xLAo+ICsJQkFSXzIsCj4gKwlCQVJfMywKPiArCUJBUl80LAo+ICsJQkFSXzUKPiAr fTsKCnBjaS1lcGYuaCBoYXMgdGhpcy4KV2h5IGR1cGxpY2F0ZT8KCgpXaGF0IGVsc2UgaXMgYmVp bmcgZHVwbGljYXRlZCBmcm9tIFBDSSBjb3JlPwoKPiArc3RhdGljIGJvb2wgZGlzYWJsZV9tc2l4 Owo+ICttb2R1bGVfcGFyYW0oZGlzYWJsZV9tc2l4LCBib29sLCAwNjQ0KTsKPiArTU9EVUxFX1BB Uk1fREVTQyhkaXNhYmxlX21zaXgsICJEaXNhYmxlIE1TSS1YIGludGVycnVwdHMiKTsKCldoeT8h CldlIGFyZSBubyBhbGxvdyBuZXcgbW9kdWxlIHBhcmFtZXRlcnMgd2l0aG91dCB2ZXJ5IHN0cm9u ZyBhcmd1bWVudHMuCgo+ICsKPiArc3RhdGljIGludCBkd19lZG1hX3BjaWVfcHJvYmUoc3RydWN0 IHBjaV9kZXYgKnBkZXYsCj4gKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICpw aWQpCj4gK3sKPiArCWNvbnN0IHN0cnVjdCBkd19lZG1hX3BjaWVfZGF0YSAqcGRhdGEgPSAodm9p ZCAqKXBpZC0+ZHJpdmVyX2RhdGE7Cj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2 Owo+ICsJc3RydWN0IGR3X2VkbWFfY2hpcCAqY2hpcDsKPiArCXN0cnVjdCBkd19lZG1hICpkdzsK PiArCXVuc2lnbmVkIGludCBpcnFfZmxhZ3MgPSBQQ0lfSVJRX01TSTsKPiArCWludCBlcnIsIG5y X2lycXMsIGk7Cj4gKwoKPiArCWlmICghcGRhdGEpIHsKPiArCQlkZXZfZXJyKGRldiwgIiVzIG1p c3NpbmcgZGF0YSBzdHJ1Y3R1cmVcbiIsIHBjaV9uYW1lKHBkZXYpKTsKPiArCQlyZXR1cm4gLUVG QVVMVDsKPiArCX0KClVzZWxlc3MgY2hlY2suCgo+ICsKPiArCS8qIEVuYWJsZSBQQ0kgZGV2aWNl ICovCj4gKwllcnIgPSBwY2ltX2VuYWJsZV9kZXZpY2UocGRldik7Cj4gKwlpZiAoZXJyKSB7Cj4g KwkJZGV2X2VycihkZXYsICIlcyBlbmFibGluZyBkZXZpY2UgZmFpbGVkXG4iLCBwY2lfbmFtZShw ZGV2KSk7Cj4gKwkJcmV0dXJuIGVycjsKPiArCX0KPiArCj4gKwkvKiBNYXBwaW5nIFBDSSBCQVIg cmVnaW9ucyAqLwo+ICsJZXJyID0gcGNpbV9pb21hcF9yZWdpb25zKHBkZXYsIEJJVChwZGF0YS0+ cmdfYmFyKSB8Cj4gKwkJCQkgICAgICAgQklUKHBkYXRhLT5sbF9iYXIpIHwKPiArCQkJCSAgICAg ICBCSVQocGRhdGEtPmR0X2JhciksCj4gKwkJCQkgcGNpX25hbWUocGRldikpOwo+ICsJaWYgKGVy cikgewoKPiArCQlkZXZfZXJyKGRldiwgIiVzIGVETUEgQkFSIEkvTyByZW1hcHBpbmcgZmFpbGVk XG4iLAo+ICsJCQlwY2lfbmFtZShwZGV2KSk7CgpJc24ndCBpdCBwY2lfZXJyKCkgPwpTYW1lIGNv bW1lbnQgZm9yIHRoZSByZXN0IHNpbWlsYXIgY2FzZXMgYWJvdmUgYW5kIGJlbG93LgoKPiArCQly ZXR1cm4gZXJyOwo+ICsJfQo+ICsKPiArCXBjaV9zZXRfbWFzdGVyKHBkZXYpOwo+ICsKPiArCW5y X2lycXMgPSBwY2lfYWxsb2NfaXJxX3ZlY3RvcnMocGRldiwgMSwgcGRhdGEtPmlycXNfY250LCBp cnFfZmxhZ3MpOwo+ICsJaWYgKG5yX2lycXMgPCAxKSB7Cj4gKwkJZGV2X2VycihkZXYsICIlcyBm YWlsZWQgdG8gYWxsb2MgSVJRIHZlY3RvciAoTnVtYmVyIG9mIElSUXM9JXUpXG4iLAo+ICsJCQlw Y2lfbmFtZShwZGV2KSwgbnJfaXJxcyk7Cj4gKwkJcmV0dXJuIC1FUEVSTTsKPiArCX0KPiArCj4g KwkvKiBEYXRhIHN0cnVjdHVyZSBpbml0aWFsaXphdGlvbiAqLwo+ICsJY2hpcC0+ZHcgPSBkdzsK PiArCWNoaXAtPmRldiA9IGRldjsKPiArCWNoaXAtPmlkID0gcGRldi0+ZGV2Zm47Cj4gKwljaGlw LT5pcnEgPSBwZGV2LT5pcnE7Cj4gKwoKPiArCWlmICghcGNpbV9pb21hcF90YWJsZShwZGV2KSkK PiArCQlyZXR1cm4gLUVBQ0NFUzsKCk5ldmVyIGhhcHBlbiBjb25kaXRpb24uIFRodXMgdXNlbGVz cy4KCj4gKwlkZXZfaW5mbyhkZXYsICJEZXNpZ25XYXJlIGVETUEgUENJZSBkcml2ZXIgbG9hZGVk IGNvbXBsZXRlbHlcbiIpOwoKVXNlbGVzcy4KCj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGR3X2Vk bWFfcGNpZV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpCj4gK3sKPiArCXN0cnVjdCBkd19l ZG1hX2NoaXAgKmNoaXAgPSBwY2lfZ2V0X2RydmRhdGEocGRldik7Cj4gKwlzdHJ1Y3QgZGV2aWNl ICpkZXYgPSAmcGRldi0+ZGV2Owo+ICsJaW50IGVycjsKPiArCj4gKwkvKiBTdG9wcGluZyBlRE1B IGRyaXZlciAqLwo+ICsJZXJyID0gZHdfZWRtYV9yZW1vdmUoY2hpcCk7Cj4gKwlpZiAoZXJyKQo+ ICsJCWRldl93YXJuKGRldiwgImNhbid0IHJlbW92ZSBkZXZpY2UgcHJvcGVybHk6ICVkXG4iLCBl cnIpOwo+ICsKPiArCS8qIEZyZWVpbmcgSVJRcyAqLwo+ICsJcGNpX2ZyZWVfaXJxX3ZlY3RvcnMo cGRldik7Cj4gKwo+ICsJZGV2X2luZm8oZGV2LCAiRGVzaWduV2FyZSBlRE1BIFBDSWUgZHJpdmVy IHVubG9hZGVkIGNvbXBsZXRlbHlcbiIpOwoKRGl0dG8uCgo+ICt9Cgo+ICtNT0RVTEVfREVWSUNF X1RBQkxFKHBjaSwgZHdfZWRtYV9wY2llX2lkX3RhYmxlKTsKPiArCj4gK3N0YXRpYyBzdHJ1Y3Qg cGNpX2RyaXZlciBkd19lZG1hX3BjaWVfZHJpdmVyID0gewo+ICsJLm5hbWUJCT0gImR3LWVkbWEt cGNpZSIsCj4gKwkuaWRfdGFibGUJPSBkd19lZG1hX3BjaWVfaWRfdGFibGUsCj4gKwkucHJvYmUJ CT0gZHdfZWRtYV9wY2llX3Byb2JlLAo+ICsJLnJlbW92ZQkJPSBkd19lZG1hX3BjaWVfcmVtb3Zl LAoKUG93ZXIgbWFuYWdlbWVudD8KCj4gK307Cg==