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: [v2,3/4] dmaengine: imx-sdma: implement channel termination via worker From: Lucas Stach Message-Id: <1537182235.3362.127.camel@pengutronix.de> Date: Mon, 17 Sep 2018 13:03:55 +0200 To: Robin Gong , Vinod Koul Cc: "dmaengine@vger.kernel.org" , "linux-kernel@vger.kernel.org" , dl-linux-imx , "kernel@pengutronix.de" , "patchwork-lst@pengutronix.de" List-ID: SGkgUm9iaW4sCgpBbSBNb250YWcsIGRlbiAxNy4wOS4yMDE4LCAwNzo1MSArMDAwMCBzY2hyaWVi IFJvYmluIEdvbmc6Cj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4gPiA+IEZyb206 IEx1Y2FzIFN0YWNoIDxsLnN0YWNoQHBlbmd1dHJvbml4LmRlPgo+ID4gU2VudDogMjAxOOW5tDnm nIgxNeaXpSAxOjA2Cj4gPiA+ID4gVG86IFZpbm9kIEtvdWwgPHZrb3VsQGtlcm5lbC5vcmc+Cj4g PiA+ID4gPiA+IENjOiBkbWFlbmdpbmVAdmdlci5rZXJuZWwub3JnOyBsaW51eC1rZXJuZWxAdmdl ci5rZXJuZWwub3JnOyBSb2JpbiBHb25nCj4gPiA+ID4gPiA+IDx5aWJpbi5nb25nQG54cC5jb20+ OyBkbC1saW51eC1pbXggPGxpbnV4LWlteEBueHAuY29tPjsKPiA+IGtlcm5lbEBwZW5ndXRyb25p eC5kZTsgcGF0Y2h3b3JrLWxzdEBwZW5ndXRyb25peC5kZQo+ID4gU3ViamVjdDogW1BBVENIIHYy IDMvNF0gZG1hZW5naW5lOiBpbXgtc2RtYTogaW1wbGVtZW50IGNoYW5uZWwgdGVybWluYXRpb24K PiA+IHZpYSB3b3JrZXIKPiA+IAo+ID4gVGhlIGRtYWVuZ2luZSBkb2N1bWVudGF0aW9uIHN0YXRl cyB0aGF0IGRldmljZV90ZXJtaW5hdGVfYWxsIG1heSBiZQo+ID4gYXN5bmNocm9ub3VzIGFuZCBu ZWVkIG5vdCB3YWl0IGZvciB0aGUgYWN0aXZlIHRyYW5zZmVycyBoYXZlIHN0b3BwZWQuCj4gPiAK PiA+IFRoaXMgYWxsb3dzIHVzIHRvIG1vdmUgbW9zdCBvZiB0aGUgZnVuY3Rpb25hbGl0eSBjdXJy ZW50bHkgaW1wbGVtZW50ZWQgaW4gdGhlCj4gPiBzZG1hIGNoYW5uZWwgdGVybWluYXRpb24gZnVu Y3Rpb24gdG8gcnVuIGluIGEgd29ya2VyLCBvdXRzaWRlIG9mIGFueSBhdG9taWMKPiA+IGNvbnRl eHQuIE1vdmluZyB0aGlzIG91dCBvZiBhdG9taWMgY29udGV4dCBoYXMgdHdvCj4gPiBiZW5lZml0 czogd2UgY2FuIG5vdyBzbGVlcCB3aGlsZSB3YWl0aW5nIGZvciB0aGUgY2hhbm5lbCB0byB0ZXJt aW5hdGUsIGluc3RlYWQKPiA+IG9mIGJ1c3kgd2FpdGluZyBhbmQgdGhlIGZyZWVpbmcgb2YgdGhl IGRtYSBkZXNjcmlwdG9ycyBoYXBwZW5zIHdpdGggSVJRcwo+ID4gZW5hYmxlZCwgZ2V0dGluZyBy aWQgb2YgYSB3YXJuaW5nIGluIHRoZSBkbWEgbWFwcGluZyBjb2RlLgo+ID4gCj4gPiBBcyB0aGUg dGVybWluYXRpb24gaXMgbm93IGFzbmMsIHdlIG5lZWQgdG8gaW1wbGVtZW50IHRoZSBkZXZpY2Vf c3luY2hyb25pemUKPiA+IGRtYSBlbmdpbmUgZnVuY3Rpb24sIHdoaWNoIHNpbXBseSB3YWl0cyBm b3IgdGhlIHdvcmtlciB0byBmaW5pc2ggaXRzIGV4ZWN1dGlvbi4KPiA+IAo+ID4gPiA+IFNpZ25l ZC1vZmYtYnk6IEx1Y2FzIFN0YWNoIDxsLnN0YWNoQHBlbmd1dHJvbml4LmRlPgo+ID4gLS0tCj4g PiB2MjogS2VlcCB2Y2hhbl9nZXRfYWxsX2Rlc2NyaXB0b3JzIGluIHRoZSB0ZXJtaW5hdGVfYWxs IGNhbGwsIHNvIHRoZQo+ID4gwqDCoMKgwqB3b3JrZXIgZG9lc24ndCBjb3JydXB0IHRoZSBuZXh0 IHRyYW5zZmVyIGlmIHRoYXQncyBhbHJlYWR5IGluCj4gPiDCoMKgwqDCoHRoZSBzZXR1cCBwcm9j ZXNzLgo+ID4gLS0tCj4gPiDCoGRyaXZlcnMvZG1hL2lteC1zZG1hLmMgfCA0MiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KPiA+IMKgMSBmaWxlIGNoYW5nZWQsIDMy IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9kbWEvaW14LXNkbWEuYyBiL2RyaXZlcnMvZG1hL2lteC1zZG1hLmMgaW5kZXgKPiA+IDhk MmZlYzhiMTZjYy4uZGE0MWU4ZmJmMTUxIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9kbWEvaW14 LXNkbWEuYwo+ID4gKysrIGIvZHJpdmVycy9kbWEvaW14LXNkbWEuYwo+ID4gQEAgLTMyLDYgKzMy LDcgQEAKPiA+IMKgI2luY2x1ZGUgPGxpbnV4L29mX2FkZHJlc3MuaD4KPiA+IMKgI2luY2x1ZGUg PGxpbnV4L29mX2RldmljZS5oPgo+ID4gwqAjaW5jbHVkZSA8bGludXgvb2ZfZG1hLmg+Cj4gPiAr I2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgo+ID4gCj4gPiDCoCNpbmNsdWRlIDxhc20vaXJx Lmg+Cj4gPiDCoCNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kYXRhL2RtYS1pbXgtc2RtYS5oPgo+ ID4gQEAgLTM3NSw2ICszNzYsOCBAQCBzdHJ1Y3Qgc2RtYV9jaGFubmVsIHsKPiA+ID4gPiA+ID4g wqAJdTMyCQkJCXNocF9hZGRyLCBwZXJfYWRkcjsKPiA+ID4gPiA+ID4gwqAJZW51bSBkbWFfc3Rh dHVzCQkJc3RhdHVzOwo+ID4gPiA+ID4gPiDCoAlzdHJ1Y3QgaW14X2RtYV9kYXRhCQlkYXRhOwo+ ID4gPiA+ID4gPiArCXN0cnVjdCB3b3JrX3N0cnVjdAkJdGVybWluYXRlX3dvcmtlcjsKPiA+ID4g PiA+ID4gKwlzdHJ1Y3QgbGlzdF9oZWFkCQlkZWZlcnJlZF9kZXNjX2xpc3Q7Cj4gPiDCoH07Cj4g PiAKPiA+ID4gPiDCoCNkZWZpbmUgSU1YX0RNQV9TR19MT09QCQlCSVQoMCkKPiA+IEBAIC0xMDI1 LDMxICsxMDI4LDQ3IEBAIHN0YXRpYyBpbnQgc2RtYV9kaXNhYmxlX2NoYW5uZWwoc3RydWN0IGRt YV9jaGFuCj4gPiAqY2hhbikKPiA+IAo+ID4gPiA+IMKgCXJldHVybiAwOwo+ID4gwqB9Cj4gPiAr c3RhdGljIHZvaWQgc2RtYV9jaGFubmVsX3Rlcm1pbmF0ZShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndv cmspIHsKPiA+ID4gPiArCXN0cnVjdCBzZG1hX2NoYW5uZWwgKnNkbWFjID0gY29udGFpbmVyX29m KHdvcmssIHN0cnVjdCBzZG1hX2NoYW5uZWwsCj4gPiA+ID4gKwkJCQkJCcKgwqB0ZXJtaW5hdGVf d29ya2VyKTsKPiA+ICsKPiA+ID4gPiArCS8qCj4gPiA+ID4gKwnCoCogQWNjb3JkaW5nIHRvIE5Y UCBSJkQgdGVhbSBhIGRlbGF5IG9mIG9uZSBCRCBTRE1BIGNvc3QgdGltZQo+ID4gPiA+ICsJwqAq IChtYXhpbXVtIGlzIDFtcykgc2hvdWxkIGJlIGFkZGVkIGFmdGVyIGRpc2FibGUgb2YgdGhlIGNo YW5uZWwKPiA+ID4gPiArCcKgKiBiaXQsIHRvIGVuc3VyZSBTRE1BIGNvcmUgaGFzIHJlYWxseSBi ZWVuIHN0b3BwZWQgYWZ0ZXIgU0RNQQo+ID4gPiA+ICsJwqAqIGNsaWVudHMgY2FsbCAuZGV2aWNl X3Rlcm1pbmF0ZV9hbGwuCj4gPiA+ID4gKwnCoCovCj4gPiA+ID4gKwl1c2xlZXBfcmFuZ2UoMTAw MCwgMjAwMCk7Cj4gPiArCj4gPiA+ID4gKwl2Y2hhbl9kbWFfZGVzY19mcmVlX2xpc3QoJnNkbWFj LT52YywgJnNkbWFjLT5kZWZlcnJlZF9kZXNjX2xpc3QpOwo+ID4gPiA+ICsJSU5JVF9MSVNUX0hF QUQoJnNkbWFjLT5kZWZlcnJlZF9kZXNjX2xpc3QpOwo+ID4gK30KPiA+IAo+ID4gwqBzdGF0aWMg aW50IHNkbWFfZGlzYWJsZV9jaGFubmVsX3dpdGhfZGVsYXkoc3RydWN0IGRtYV9jaGFuICpjaGFu KcKgwqB7Cj4gPiA+ID4gwqAJc3RydWN0IHNkbWFfY2hhbm5lbCAqc2RtYWMgPSB0b19zZG1hX2No YW4oY2hhbik7Cj4gPiA+ID4gwqAJdW5zaWduZWQgbG9uZyBmbGFnczsKPiA+ID4gPiAtCUxJU1Rf SEVBRChoZWFkKTsKPiA+IAo+ID4gPiA+IMKgCXNkbWFfZGlzYWJsZV9jaGFubmVsKGNoYW4pOwo+ ID4gKwo+ID4gPiA+IMKgCXNwaW5fbG9ja19pcnFzYXZlKCZzZG1hYy0+dmMubG9jaywgZmxhZ3Mp Owo+ID4gPiA+IC0JdmNoYW5fZ2V0X2FsbF9kZXNjcmlwdG9ycygmc2RtYWMtPnZjLCAmaGVhZCk7 Cj4gPiA+ID4gKwl2Y2hhbl9nZXRfYWxsX2Rlc2NyaXB0b3JzKCZzZG1hYy0+dmMsICZzZG1hYy0+ ZGVmZXJyZWRfZGVzY19saXN0KTsKPiA+ID4gPiDCoAlzZG1hYy0+ZGVzYyA9IE5VTEw7Cj4gPiA+ ID4gwqAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2RtYWMtPnZjLmxvY2ssIGZsYWdzKTsKPiA+ ID4gPiAtCXZjaGFuX2RtYV9kZXNjX2ZyZWVfbGlzdCgmc2RtYWMtPnZjLCAmaGVhZCk7Cj4gPiAK PiA+ID4gPiAtCS8qCj4gPiA+ID4gLQnCoCogQWNjb3JkaW5nIHRvIE5YUCBSJkQgdGVhbSBhIGRl bGF5IG9mIG9uZSBCRCBTRE1BIGNvc3QgdGltZQo+ID4gPiA+IC0JwqAqIChtYXhpbXVtIGlzIDFt cykgc2hvdWxkIGJlIGFkZGVkIGFmdGVyIGRpc2FibGUgb2YgdGhlIGNoYW5uZWwKPiA+ID4gPiAt CcKgKiBiaXQsIHRvIGVuc3VyZSBTRE1BIGNvcmUgaGFzIHJlYWxseSBiZWVuIHN0b3BwZWQgYWZ0 ZXIgU0RNQQo+ID4gPiA+IC0JwqAqIGNsaWVudHMgY2FsbCAuZGV2aWNlX3Rlcm1pbmF0ZV9hbGwu Cj4gPiA+ID4gLQnCoCovCj4gPiA+ID4gLQltZGVsYXkoMSk7Cj4gPiA+ID4gKwlzY2hlZHVsZV93 b3JrKCZzZG1hYy0+dGVybWluYXRlX3dvcmtlcik7Cj4gPiAKPiA+ID4gPiDCoAlyZXR1cm4gMDsK PiA+IMKgfQo+ID4gCj4gPiArc3RhdGljIHZvaWQgc2RtYV9jaGFubmVsX3N5bmNocm9uaXplKHN0 cnVjdCBkbWFfY2hhbiAqY2hhbikgewo+ID4gPiA+ICsJc3RydWN0IHNkbWFfY2hhbm5lbCAqc2Rt YWMgPSB0b19zZG1hX2NoYW4oY2hhbik7Cj4gPiArCj4gCj4gUGxlYXNlIGFkZCB0aGUgYmVsb3cg dG8gbWFrZSBzdXJlIGludGVybmFsIHZpcnQgZG1hIHRhc2tsZXQga2lsbGVkIHRvby4KPiB0YXNr bGV0X2tpbGwoJnNkbWFjLT52Yy50YXNrKTsKClRoaXMgaXMgbm90IHBvc3NpYmxlLiBXZSBjYW4g bm90IGRvIGFueXRoaW5nIHRoYXQgYWx0ZXJzIHRoZSBjdXJyZW50CnN0YXRlIG9mIHRoZSBWQyBp biB0aGUgc3luY2hyb25pemUgY2FsbC4gT3RoZXJ3aXNlIHdlIGNvdWxkIGJlIHJ1bm5pbmcKaW50 byB0aGUgdGhlIHNhbWUgY2xhc3Mgb2YgaXNzdWVzIGFzIHRoZSB2MSBoYWQsIHdpdGggY29ycnVw dGluZyB0aGUKc3RhdGUgb2YgdGhlIG5leHQgc2V0IHVwIHRyYW5zZmVyLgoKUmVnYXJkcywKTHVj YXMK