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] dmaengine: imx-sdma: add virt-dma support From: Vinod Koul Message-Id: <20180523133206.GJ20991@vkoul-mobl> Date: Wed, 23 May 2018 19:02:06 +0530 To: Robin Gong Cc: dan.j.williams@intel.com, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-imx@nxp.com List-ID: T24gMjItMDUtMTgsIDIzOjQ1LCBSb2JpbiBHb25nIHdyb3RlOgo+IFRoZSBsZWdhY3kgc2RtYSBk cml2ZXIgaGFzIGJlbG93IGxpbWl0YXRpb25zIG9yIGRyYXdiYWNrczoKPiAgIDEuIEhhcmRjb2Rl IHRoZSBtYXggQkRzIG51bWJlciBhcyAiUEFHRV9TSVpFIC8gc2l6ZW9mKCopIiwgYW5kIGFsbG9j Cj4gICAgICBvbmUgcGFnZSBzaXplIGZvciBvbmUgY2hhbm5lbCByZWdhcmRsZXNzIG9mIG9ubHkg ZmV3IEJEcyBuZWVkZWQKPiAgICAgIG1vc3QgdGltZS4gQnV0IGluIGZldyBjYXNlcywgdGhlIG1h eCBQQUdFX1NJWkUgbWF5YmUgbm90IGVub3VnaC4KPiAgIDIuIE9uZSBTRE1BIGNoYW5uZWwgY2Fu J3Qgc3RvcCBpbW1lZGlhdGxleSBvbmNlIGNoYW5uZWwgZGlzYWJsZWQgd2hpY2gKCnR5cG8gaW1t ZWRpYXRsZXkKCj4gICAgICBtZWFucyBTRE1BIGludGVycnVwdCBtYXkgY29tZSBpbiBhZnRlciB0 aGlzIGNoYW5uZWwgdGVybWluYXRlZC5UaGVyZQo+ICAgICAgYXJlIHNvbWUgcGF0Y2hlcyBmb3Ig dGhpcyBjb3JuZXIgY2FzZSBzdWNoIGFzIGNvbW1pdCAiMjc0NmUyYzM4OWY5IiwKClBsZWFzZSBh ZGQgcGF0Y2ggdGl0bGUgYWxvbmcgd2l0aCBjb21taXQgaWQgaW4gbG9ncwoKPiArc3RydWN0IHNk bWFfZGVzYyB7Cj4gKwlzdHJ1Y3QgdmlydF9kbWFfZGVzYwl2ZDsKPiArCXN0cnVjdCBsaXN0X2hl YWQJbm9kZTsKPiArCXVuc2lnbmVkIGludAkJbnVtX2JkOwo+ICsJZG1hX2FkZHJfdAkJYmRfcGh5 czsKPiArCXVuc2lnbmVkIGludAkJYnVmX3RhaWw7Cgp3aGF0IGFyZSB0aGVzZSB0d28gdXNlZCBm b3I/Cgo+ICBzdGF0aWMgaXJxcmV0dXJuX3Qgc2RtYV9pbnRfaGFuZGxlcihpbnQgaXJxLCB2b2lk ICpkZXZfaWQpCj4gQEAgLTc4NSwxMyArNzc4LDI0IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBzZG1h X2ludF9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmRldl9pZCkKPiAgCXdoaWxlIChzdGF0KSB7Cj4g IAkJaW50IGNoYW5uZWwgPSBmbHMoc3RhdCkgLSAxOwo+ICAJCXN0cnVjdCBzZG1hX2NoYW5uZWwg KnNkbWFjID0gJnNkbWEtPmNoYW5uZWxbY2hhbm5lbF07Cj4gLQo+IC0JCWlmIChzZG1hYy0+Zmxh Z3MgJiBJTVhfRE1BX1NHX0xPT1ApCj4gLQkJCXNkbWFfdXBkYXRlX2NoYW5uZWxfbG9vcChzZG1h Yyk7Cj4gLQkJZWxzZQo+IC0JCQl0YXNrbGV0X3NjaGVkdWxlKCZzZG1hYy0+dGFza2xldCk7Cj4g KwkJc3RydWN0IHNkbWFfZGVzYyAqZGVzYzsKPiArCj4gKwkJc3Bpbl9sb2NrKCZzZG1hYy0+dmMu bG9jayk7Cj4gKwkJZGVzYyA9IHNkbWFjLT5kZXNjOwo+ICsJCWlmIChkZXNjKSB7Cj4gKwkJCWlm IChzZG1hYy0+ZmxhZ3MgJiBJTVhfRE1BX1NHX0xPT1ApIHsKPiArCQkJCXNkbWFfdXBkYXRlX2No YW5uZWxfbG9vcChzZG1hYyk7CgpJIGd1ZXNzIGxvb3AgaXMgZm9yIGN5Y2xpYyBjYXNlLCBhcmUg eW91IG5vdCBpbnZva2luZyB2Y2hhbl9jeWNsaWNfY2FsbGJhY2soKQpmb3IgdGhhdD8gSSBkb250 IHNlZSB0aGlzIGNhbGwgaW4gdGhpcyBwYXRjaCBhbHRob3VnaCB0aGUgZHJpdmVyIHN1cHBvcnRz CmN5Y2xpYyBtb2RlLgoKPiArc3RhdGljIHN0cnVjdCBzZG1hX2Rlc2MgKnNkbWFfdHJhbnNmZXJf aW5pdChzdHJ1Y3Qgc2RtYV9jaGFubmVsICpzZG1hYywKPiArCQkJCWVudW0gZG1hX3RyYW5zZmVy X2RpcmVjdGlvbiBkaXJlY3Rpb24sIHUzMiBiZHMpCj4gK3sKPiArCXN0cnVjdCBzZG1hX2Rlc2Mg KmRlc2M7Cj4gKwo+ICsJZGVzYyA9IGt6YWxsb2MoKHNpemVvZigqZGVzYykpLCBHRlBfS0VSTkVM KTsKCnRoaXMgaXMgY2FsbGVkIGZyb20gX3ByZXBfIHNvIHdlIGFyZSBpbiBub24gc2xwZWVweSBj b250ZXh0IGFuZCB3b3VsZCBuZWVkIHRvCnVzZSBHRlBfTk9XQUlUIGZsYWcuLgoKPiBAQCAtMTQz MiwyNiArMTQ5Nyw3NCBAQCBzdGF0aWMgZW51bSBkbWFfc3RhdHVzIHNkbWFfdHhfc3RhdHVzKHN0 cnVjdCBkbWFfY2hhbiAqY2hhbiwKPiAgewo+ICAJc3RydWN0IHNkbWFfY2hhbm5lbCAqc2RtYWMg PSB0b19zZG1hX2NoYW4oY2hhbik7Cj4gIAl1MzIgcmVzaWR1ZTsKPiArCXN0cnVjdCB2aXJ0X2Rt YV9kZXNjICp2ZDsKPiArCXN0cnVjdCBzZG1hX2Rlc2MgKmRlc2M7Cj4gKwllbnVtIGRtYV9zdGF0 dXMgcmV0Owo+ICsJdW5zaWduZWQgbG9uZyBmbGFnczsKPiAgCj4gLQlpZiAoc2RtYWMtPmZsYWdz ICYgSU1YX0RNQV9TR19MT09QKQo+IC0JCXJlc2lkdWUgPSAoc2RtYWMtPm51bV9iZCAtIHNkbWFj LT5idWZfcHRhaWwpICoKPiArCXJldCA9IGRtYV9jb29raWVfc3RhdHVzKGNoYW4sIGNvb2tpZSwg dHhzdGF0ZSk7Cj4gKwlpZiAocmV0ID09IERNQV9DT01QTEVURSAmJiB0eHN0YXRlKSB7Cj4gKwkJ cmVzaWR1ZSA9IHNkbWFjLT5jaG5fY291bnQgLSBzZG1hYy0+Y2huX3JlYWxfY291bnQ7CgpvbiBE TUFfQ09NUExFVEUgcmVzaWRlIGlzIDAsIHNvIHdoeSB0aGlzPwoKPiArCQlyZXR1cm4gcmV0Owo+ ICsJfQo+ICsKPiArCXNwaW5fbG9ja19pcnFzYXZlKCZzZG1hYy0+dmMubG9jaywgZmxhZ3MpOwo+ ICsJdmQgPSB2Y2hhbl9maW5kX2Rlc2MoJnNkbWFjLT52YywgY29va2llKTsKPiArCWRlc2MgPSB0 b19zZG1hX2Rlc2MoJnZkLT50eCk7Cj4gKwlpZiAodmQpIHsKPiArCQlpZiAoc2RtYWMtPmZsYWdz ICYgSU1YX0RNQV9TR19MT09QKQo+ICsJCQlyZXNpZHVlID0gKGRlc2MtPm51bV9iZCAtIGRlc2Mt PmJ1Zl9wdGFpbCkgKgo+ICAJCQkgICBzZG1hYy0+cGVyaW9kX2xlbiAtIHNkbWFjLT5jaG5fcmVh bF9jb3VudDsKCnlvdSBuZWVkIHRvIGNoZWNrIHdoaWNoIGRlc2NyaXB0b3IgaXMgdGhlIHF1ZXJ5 IGZvciwgY3VycmVudCBvciBxdWV1ZWQuCgo+ICtzdGF0aWMgdm9pZCBzZG1hX3N0YXJ0X2Rlc2Mo c3RydWN0IHNkbWFfY2hhbm5lbCAqc2RtYWMpCj4gK3sKPiArCXN0cnVjdCB2aXJ0X2RtYV9kZXNj ICp2ZCA9IHZjaGFuX25leHRfZGVzYygmc2RtYWMtPnZjKTsKPiArCXN0cnVjdCBzZG1hX2Rlc2Mg KmRlc2M7Cj4gKwlzdHJ1Y3Qgc2RtYV9lbmdpbmUgKnNkbWEgPSBzZG1hYy0+c2RtYTsKPiArCWlu dCBjaGFubmVsID0gc2RtYWMtPmNoYW5uZWw7Cj4gKwo+ICsJaWYgKCF2ZCkgewo+ICsJCXNkbWFj LT5kZXNjID0gTlVMTDsKPiArCQlyZXR1cm47Cj4gKwl9Cj4gKwlzZG1hYy0+ZGVzYyA9IGRlc2Mg PSB0b19zZG1hX2Rlc2MoJnZkLT50eCk7Cj4gKwkvKgo+ICsJICogRG8gbm90IGRlbGV0ZSB0aGUg bm9kZSBpbiBkZXNjX2lzc3VlZCBsaXN0IGluIGN5Y2xpYyBtb2RlLCBvdGhlcndpc2UKPiArCSAq IHRoZSBkZXNjIGFsbG9jZWQgd2lsbCBuZXZlciBiZSBmcmVlZCBpbiB2Y2hhbl9kbWFfZGVzY19m cmVlX2xpc3QKCmFsbG9jZWQgLi4geW91IG1lYW4gYWxsb2NhdGVkPwo=