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: dmaengine: Add metadata_ops for dma_async_tx_descriptor From: Peter Ujfalusi Message-Id: <20180823130728.20506-1-peter.ujfalusi@ti.com> Date: Thu, 23 Aug 2018 16:07:28 +0300 To: dan.j.williams@intel.com, vkoul@kernel.org Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, lars@metafoo.de, radheys@xilinx.com List-ID: VGhlIG1ldGFkYXRhIGlzIGJlc3QgZGVzY3JpYmVkIGFzIHNpZGUgYmFuZCBkYXRhIG9yIHBhcmFt ZXRlcnMgdHJhdmVsaW5nCmFsb25nc2lkZSB0aGUgZGF0YSBETUFkIGJ5IHRoZSBETUEgZW5naW5l LiBJdCBpcyBkYXRhCndoaWNoIGlzIHVuZGVyc3Rvb2QgYnkgdGhlIHBlcmlwaGVyYWwgYW5kIHRo ZSBwZXJpcGhlcmFsIGRyaXZlciBvbmx5LCB0aGUKRE1BIGVuZ2luZSBzZWUgaXQgb25seSBhcyBk YXRhIGJsb2NrIGFuZCBpdCBpcyBub3QgaW50ZXJwcmV0aW5nIGl0IGluIGFueQp3YXkuCgpUaGUg bWV0YWRhdGEgY2FuIGJlIGRpZmZlcmVudCBwZXIgZGVzY3JpcHRvciBhcyBpdCBpcyBhIHBhcmFt ZXRlciBmb3IgdGhlCmRhdGEgYmVpbmcgdHJhbnNmZXJyZWQuCgpJZiB0aGUgRE1BIHN1cHBvcnRz IHBlciBkZXNjcmlwdG9yIG1ldGFkYXRhIGl0IGNhbiBpbXBsZW1lbnQgdGhlIGF0dGFjaCwKZ2V0 X3B0ci9zZXRfbGVuIGNhbGxiYWNrcy4KCkNsaWVudCBkcml2ZXJzIG11c3Qgb25seSB1c2UgZWl0 aGVyIGF0dGFjaCBvciBnZXRfcHRyL3NldF9sZW4gdG8gYXZvaWQKbWlzcyBjb25maWd1cmF0aW9u LgoKQ2xpZW50IGRyaXZlciBjYW4gY2hlY2sgaWYgYSBnaXZlbiBtZXRhZGF0YSBtb2RlIGlzIHN1 cHBvcnRlZCBieSB0aGUKY2hhbm5lbCBkdXJpbmcgcHJvYmUgdGltZSB3aXRoCmRtYWVuZ2luZV9p c19tZXRhZGF0YV9tb2RlX3N1cHBvcnRlZChjaGFuLCBERVNDX01FVEFEQVRBX0NMSUVOVCk7CmRt YWVuZ2luZV9pc19tZXRhZGF0YV9tb2RlX3N1cHBvcnRlZChjaGFuLCBERVNDX01FVEFEQVRBX0VO R0lORSk7CgphbmQgYmFzZWQgb24gdGhpcyBpbmZvcm1hdGlvbiBjYW4gdXNlIGVpdGhlciBtb2Rl LgoKV3JhcHBlcnMgYXJlIGFsc28gYWRkZWQgZm9yIHRoZSBtZXRhZGF0YV9vcHMuCgpUbyBiZSB1 c2VkIGluIERFU0NfTUVUQURBVEFfQ0xJRU5UIG1vZGU6CmRtYWVuZ2luZV9kZXNjX2F0dGFjaF9t ZXRhZGF0YSgpCgpUbyBiZSB1c2VkIGluIERFU0NfTUVUQURBVEFfRU5HSU5FIG1vZGU6CmRtYWVu Z2luZV9kZXNjX2dldF9tZXRhZGF0YV9wdHIoKQpkbWFlbmdpbmVfZGVzY19zZXRfbWV0YWRhdGFf bGVuKCkKClNpZ25lZC1vZmYtYnk6IFBldGVyIFVqZmFsdXNpIDxwZXRlci51amZhbHVzaUB0aS5j b20+Ci0tLQpIaSwKCkNoYW5nZXMgc2luY2UgcmZjOgotIERFU0NfTUVUQURBVEFfRU1CRURERUQg cmVuYW1lZCB0byBERVNDX01FVEFEQVRBX0VOR0lORQotIFVzZSBmbG93IGlzIGFkZGVkIGZvciBi b3RoIENMSUVOVCBhbmQgRU5HSU5FIG1ldGFkYXRhIG1vZGVzCgpSZWdhcmRzLApQZXRlcgoKIGlu Y2x1ZGUvbGludXgvZG1hZW5naW5lLmggfCAxNDQgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxNDQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp dCBhL2luY2x1ZGUvbGludXgvZG1hZW5naW5lLmggYi9pbmNsdWRlL2xpbnV4L2RtYWVuZ2luZS5o CmluZGV4IDNkYjgzM2E4YzU0Mi4uZjgwOTYzNWNmZWFhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xp bnV4L2RtYWVuZ2luZS5oCisrKyBiL2luY2x1ZGUvbGludXgvZG1hZW5naW5lLmgKQEAgLTIzMSw2 ICsyMzEsNTcgQEAgdHlwZWRlZiBzdHJ1Y3QgeyBERUNMQVJFX0JJVE1BUChiaXRzLCBETUFfVFhf VFlQRV9FTkQpOyB9IGRtYV9jYXBfbWFza190OwogICogQGJ5dGVzX3RyYW5zZmVycmVkOiBieXRl IGNvdW50ZXIKICAqLwogCisvKioKKyAqIGVudW0gZG1hX2Rlc2NfbWV0YWRhdGFfbW9kZSAtIHBl ciBkZXNjcmlwdG9yIG1ldGFkYXRhIG1vZGUgdHlwZXMgc3VwcG9ydGVkCisgKiBAREVTQ19NRVRB REFUQV9DTElFTlQgLSB0aGUgbWV0YWRhdGEgYnVmZmVyIGlzIGFsbG9jYXRlZC9wcm92aWRlZCBi eSB0aGUKKyAqICBjbGllbnQgZHJpdmVyIGFuZCBpdCBpcyBhdHRhY2hlZCAodmlhIHRoZSBkbWFl bmdpbmVfZGVzY19hdHRhY2hfbWV0YWRhdGEoKQorICogIGhlbHBlcikgdG8gdGhlIGRlc2NyaXB0 b3IuCisgKgorICogQ2xpZW50IGRyaXZlcnMgaW50ZXJlc3RlZCB0byB1c2UgdGhpcyBtb2RlIGNh biBmb2xsb3c6CisgKiAtIERNQV9NRU1fVE9fREVWOgorICogICAxLiBwcmVwYXJlIHRoZSBkZXNj cmlwdG9yIChkbWFlbmdpbmVfcHJlcF8qKQorICoJY29uc3RydWN0IHRoZSBtZXRhZGF0YSBpbiB0 aGUgY2xpbmV0J3MgYnVmZmVyCisgKiAgIDIuIHVzZSBkbWFlbmdpbmVfZGVzY19hdHRhY2hfbWV0 YWRhdGEoKSB0byBhdHRhY2ggdGhlIGJ1ZmZlciB0byB0aGUKKyAqCWRlc2NyaXB0b3IKKyAqICAg My4gc3VibWl0IHRoZSB0cmFuc2ZlcgorICogLSBETUFfREVWX1RPX01FTToKKyAqICAgMS4gcHJl cGFyZSB0aGUgZGVzY3JpcHRvciAoZG1hZW5naW5lX3ByZXBfKikKKyAqICAgMi4gdXNlIGRtYWVu Z2luZV9kZXNjX2F0dGFjaF9tZXRhZGF0YSgpIHRvIGF0dGFjaCB0aGUgYnVmZmVyIHRvIHRoZQor ICoJZGVzY3JpcHRvcgorICogICAzLiBzdWJtaXQgdGhlIHRyYW5zZmVyCisgKiAgIDQuIHdoZW4g dGhlIHRyYW5zZmVyIGlzIGNvbXBsZXRlZCwgdGhlIG1ldGFkYXRhIHNob3VsZCBiZSBhdmFpbGFi bGUgaW4gdGhlCisgKglhdHRhY2hlZCBidWZmZXIKKyAqCisgKiBAREVTQ19NRVRBREFUQV9FTkdJ TkUgLSB0aGUgbWV0YWRhdGEgYnVmZmVyIGlzIGFsbG9jYXRlZC9tYW5hZ2VkIGJ5IHRoZSBETUEK KyAqICBkcml2ZXIuIFRoZSBjbGllbnQgZHJpdmVyIGNhbiBhc2sgZm9yIHRoZSBwb2ludGVyLCBt YXhpbXVtIHNpemUgYW5kIHRoZQorICogIGN1cnJlbnRseSB1c2VkIHNpemUgb2YgdGhlIG1ldGFk YXRhIGFuZCBjYW4gZGlyZWN0bHkgdXBkYXRlIG9yIHJlYWQgaXQuCisgKiAgZG1hZW5naW5lX2Rl c2NfZ2V0X21ldGFkYXRhX3B0cigpIGFuZCBkbWFlbmdpbmVfZGVzY19zZXRfbWV0YWRhdGFfbGVu KCkgaXMKKyAqICBwcm92aWRlZCBhcyBoZWxwZXIgZnVuY3Rpb25zLgorICoKKyAqIENsaWVudCBk cml2ZXJzIGludGVyZXN0ZWQgdG8gdXNlIHRoaXMgbW9kZSBjYW4gZm9sbG93OgorICogLSBETUFf TUVNX1RPX0RFVjoKKyAqICAgMS4gcHJlcGFyZSB0aGUgZGVzY3JpcHRvciAoZG1hZW5naW5lX3By ZXBfKikKKyAqICAgMi4gdXNlIGRtYWVuZ2luZV9kZXNjX2dldF9tZXRhZGF0YV9wdHIoKSB0byBn ZXQgdGhlIHBvaW50ZXIgdG8gdGhlIGVuZ2luZSdzCisgKgltZXRhZGF0YSBhcmVhCisgKiAgIDMu IHVwZGF0ZSB0aGUgbWV0YWRhdGEgYXQgdGhlIHBvaW50ZXIKKyAqICAgNC4gdXNlIGRtYWVuZ2lu ZV9kZXNjX3NldF9tZXRhZGF0YV9sZW4oKSAgdG8gdGVsbCB0aGUgRE1BIGVuZ2luZSB0aGUgYW1v dW50CisgKglvZiBkYXRhIHRoZSBjbGllbnQgaGFzIHBsYWNlZCBpbnRvIHRoZSBtZXRhZGF0YSBi dWZmZXIKKyAqICAgNS4gc3VibWl0IHRoZSB0cmFuc2ZlcgorICogLSBETUFfREVWX1RPX01FTToK KyAqICAgMS4gcHJlcGFyZSB0aGUgZGVzY3JpcHRvciAoZG1hZW5naW5lX3ByZXBfKikKKyAqICAg Mi4gc3VibWl0IHRoZSB0cmFuc2ZlcgorICogICAzLiBvbiB0cmFuc2ZlciBjb21wbGV0aW9uLCB1 c2UgZG1hZW5naW5lX2Rlc2NfZ2V0X21ldGFkYXRhX3B0cigpIHRvIGdldCB0aGUKKyAqCXBvaW50 ZXIgdG8gdGhlIGVuZ2luZSdzIG1ldGFkYXRhIGFyZQorICogICA0LiBSZWFkIG91dCB0aGUgbWV0 YWRhdGUgZnJvbSB0aGUgcG9pbnRlcgorICoKKyAqIE5vdGU6IHRoZSB0d28gbW9kZSBpcyBub3Qg Y29tcGF0aWJsZSBhbmQgY2xpZW50cyBtdXN0IHVzZSBvbmUgbW9kZSBmb3IgYQorICogZGVzY3Jp cHRvci4KKyAqLworZW51bSBkbWFfZGVzY19tZXRhZGF0YV9tb2RlIHsKKwlERVNDX01FVEFEQVRB X0NMSUVOVCA9ICgxIDw8IDApLAorCURFU0NfTUVUQURBVEFfRU5HSU5FID0gKDEgPDwgMSksCit9 OworCiBzdHJ1Y3QgZG1hX2NoYW5fcGVyY3B1IHsKIAkvKiBzdGF0cyAqLwogCXVuc2lnbmVkIGxv bmcgbWVtY3B5X2NvdW50OwpAQCAtNDk0LDYgKzU0NSwxOCBAQCBzdHJ1Y3QgZG1hZW5naW5lX3Vu bWFwX2RhdGEgewogCWRtYV9hZGRyX3QgYWRkclswXTsKIH07CiAKK3N0cnVjdCBkbWFfYXN5bmNf dHhfZGVzY3JpcHRvcjsKKworc3RydWN0IGRtYV9kZXNjcmlwdG9yX21ldGFkYXRhX29wcyB7CisJ aW50ICgqYXR0YWNoKShzdHJ1Y3QgZG1hX2FzeW5jX3R4X2Rlc2NyaXB0b3IgKmRlc2MsIHZvaWQg KmRhdGEsCisJCSAgICAgIHNpemVfdCBsZW4pOworCisJdm9pZCAqKCpnZXRfcHRyKShzdHJ1Y3Qg ZG1hX2FzeW5jX3R4X2Rlc2NyaXB0b3IgKmRlc2MsCisJCQkgc2l6ZV90ICpwYXlsb2FkX2xlbiwg c2l6ZV90ICptYXhfbGVuKTsKKwlpbnQgKCpzZXRfbGVuKShzdHJ1Y3QgZG1hX2FzeW5jX3R4X2Rl c2NyaXB0b3IgKmRlc2MsCisJCSAgICAgICBzaXplX3QgcGF5bG9hZF9sZW4pOworfTsKKwogLyoq CiAgKiBzdHJ1Y3QgZG1hX2FzeW5jX3R4X2Rlc2NyaXB0b3IgLSBhc3luYyB0cmFuc2FjdGlvbiBk ZXNjcmlwdG9yCiAgKiAtLS1kbWEgZ2VuZXJpYyBvZmZsb2FkIGZpZWxkcy0tLQpAQCAtNTIzLDYg KzU4Niw4IEBAIHN0cnVjdCBkbWFfYXN5bmNfdHhfZGVzY3JpcHRvciB7CiAJZG1hX2FzeW5jX3R4 X2NhbGxiYWNrX3Jlc3VsdCBjYWxsYmFja19yZXN1bHQ7CiAJdm9pZCAqY2FsbGJhY2tfcGFyYW07 CiAJc3RydWN0IGRtYWVuZ2luZV91bm1hcF9kYXRhICp1bm1hcDsKKwllbnVtIGRtYV9kZXNjX21l dGFkYXRhX21vZGUgZGVzY19tZXRhZGF0YV9tb2RlOworCXN0cnVjdCBkbWFfZGVzY3JpcHRvcl9t ZXRhZGF0YV9vcHMgKm1ldGFkYXRhX29wczsKICNpZmRlZiBDT05GSUdfQVNZTkNfVFhfRU5BQkxF X0NIQU5ORUxfU1dJVENICiAJc3RydWN0IGRtYV9hc3luY190eF9kZXNjcmlwdG9yICpuZXh0Owog CXN0cnVjdCBkbWFfYXN5bmNfdHhfZGVzY3JpcHRvciAqcGFyZW50OwpAQCAtNjg1LDYgKzc1MCw3 IEBAIHN0cnVjdCBkbWFfZmlsdGVyIHsKICAqIEBnbG9iYWxfbm9kZTogbGlzdF9oZWFkIGZvciBn bG9iYWwgZG1hX2RldmljZV9saXN0CiAgKiBAZmlsdGVyOiBpbmZvcm1hdGlvbiBmb3IgZGV2aWNl L3NsYXZlIHRvIGZpbHRlciBmdW5jdGlvbi9wYXJhbSBtYXBwaW5nCiAgKiBAY2FwX21hc2s6IG9u ZSBvciBtb3JlIGRtYV9jYXBhYmlsaXR5IGZsYWdzCisgKiBAZGVzY19tZXRhZGF0YV9tb2Rlczog c3VwcG9ydGVkIG1ldGFkYXRhIG1vZGVzIGJ5IHRoZSBETUEgZGV2aWNlCiAgKiBAbWF4X3hvcjog bWF4aW11bSBudW1iZXIgb2YgeG9yIHNvdXJjZXMsIDAgaWYgbm8gY2FwYWJpbGl0eQogICogQG1h eF9wcTogbWF4aW11bSBudW1iZXIgb2YgUFEgc291cmNlcyBhbmQgUFEtY29udGludWUgY2FwYWJp bGl0eQogICogQGNvcHlfYWxpZ246IGFsaWdubWVudCBzaGlmdCBmb3IgbWVtY3B5IG9wZXJhdGlv bnMKQEAgLTc0OSw2ICs4MTUsNyBAQCBzdHJ1Y3QgZG1hX2RldmljZSB7CiAJc3RydWN0IGxpc3Rf aGVhZCBnbG9iYWxfbm9kZTsKIAlzdHJ1Y3QgZG1hX2ZpbHRlciBmaWx0ZXI7CiAJZG1hX2NhcF9t YXNrX3QgIGNhcF9tYXNrOworCWVudW0gZG1hX2Rlc2NfbWV0YWRhdGFfbW9kZSBkZXNjX21ldGFk YXRhX21vZGVzOwogCXVuc2lnbmVkIHNob3J0IG1heF94b3I7CiAJdW5zaWduZWQgc2hvcnQgbWF4 X3BxOwogCWVudW0gZG1hZW5naW5lX2FsaWdubWVudCBjb3B5X2FsaWduOwpAQCAtOTM1LDYgKzEw MDIsODMgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgZG1hX2FzeW5jX3R4X2Rlc2NyaXB0b3IgKmRt YWVuZ2luZV9wcmVwX2RtYV9tZW1jcHkoCiAJCQkJCQkgICAgbGVuLCBmbGFncyk7CiB9CiAKK3N0 YXRpYyBpbmxpbmUgYm9vbCBkbWFlbmdpbmVfaXNfbWV0YWRhdGFfbW9kZV9zdXBwb3J0ZWQoc3Ry dWN0IGRtYV9jaGFuICpjaGFuLAorCQllbnVtIGRtYV9kZXNjX21ldGFkYXRhX21vZGUgbW9kZSkK K3sKKwlyZXR1cm4gISEoY2hhbi0+ZGV2aWNlLT5kZXNjX21ldGFkYXRhX21vZGVzICYgbW9kZSk7 Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IF9kZXNjX2NoZWNrX2FuZF9zZXRfbWV0YWRhdGFfbW9k ZSgKKwlzdHJ1Y3QgZG1hX2FzeW5jX3R4X2Rlc2NyaXB0b3IgKmRlc2MsIGVudW0gZG1hX2Rlc2Nf bWV0YWRhdGFfbW9kZSBtb2RlKQoreworCS8qIE1ha2Ugc3VyZSB0aGF0IHRoZSBtZXRhZGF0YSBt b2RlIGlzIG5vdCBtaXhlZCAqLworCWlmICghZGVzYy0+ZGVzY19tZXRhZGF0YV9tb2RlKSB7CisJ CWlmIChkbWFlbmdpbmVfaXNfbWV0YWRhdGFfbW9kZV9zdXBwb3J0ZWQoZGVzYy0+Y2hhbiwgbW9k ZSkpCisJCQlkZXNjLT5kZXNjX21ldGFkYXRhX21vZGUgPSBtb2RlOworCQllbHNlCisJCQlyZXR1 cm4gLUVOT1RTVVBQOworCX0gZWxzZSBpZiAoZGVzYy0+ZGVzY19tZXRhZGF0YV9tb2RlICE9IG1v ZGUpIHsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBp bmxpbmUgaW50IGRtYWVuZ2luZV9kZXNjX2F0dGFjaF9tZXRhZGF0YSgKKwkJc3RydWN0IGRtYV9h c3luY190eF9kZXNjcmlwdG9yICpkZXNjLCB2b2lkICpkYXRhLCBzaXplX3QgbGVuKQoreworCWlu dCByZXQ7CisKKwlpZiAoIWRlc2MpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0ID0gX2Rlc2Nf Y2hlY2tfYW5kX3NldF9tZXRhZGF0YV9tb2RlKGRlc2MsIERFU0NfTUVUQURBVEFfQ0xJRU5UKTsK KwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJaWYgKCFkZXNjLT5tZXRhZGF0YV9vcHMgfHwg IWRlc2MtPm1ldGFkYXRhX29wcy0+YXR0YWNoKQorCQlyZXR1cm4gLUVOT1RTVVBQOworCisJcmV0 dXJuIGRlc2MtPm1ldGFkYXRhX29wcy0+YXR0YWNoKGRlc2MsIGRhdGEsIGxlbik7Cit9CisKK3N0 YXRpYyBpbmxpbmUgdm9pZCAqZG1hZW5naW5lX2Rlc2NfZ2V0X21ldGFkYXRhX3B0cigKKwkJc3Ry dWN0IGRtYV9hc3luY190eF9kZXNjcmlwdG9yICpkZXNjLCBzaXplX3QgKnBheWxvYWRfbGVuLAor CQlzaXplX3QgKm1heF9sZW4pCit7CisJaW50IHJldDsKKworCWlmICghZGVzYykKKwkJcmV0dXJu IEVSUl9QVFIoLUVJTlZBTCk7CisKKwlyZXQgPSBfZGVzY19jaGVja19hbmRfc2V0X21ldGFkYXRh X21vZGUoZGVzYywgREVTQ19NRVRBREFUQV9FTkdJTkUpOworCWlmIChyZXQpCisJCXJldHVybiBF UlJfUFRSKHJldCk7CisKKwlpZiAoIWRlc2MtPm1ldGFkYXRhX29wcyB8fCAhZGVzYy0+bWV0YWRh dGFfb3BzLT5nZXRfcHRyKQorCQlyZXR1cm4gRVJSX1BUUigtRU5PVFNVUFApOworCisJcmV0dXJu IGRlc2MtPm1ldGFkYXRhX29wcy0+Z2V0X3B0cihkZXNjLCBwYXlsb2FkX2xlbiwgbWF4X2xlbik7 Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGRtYWVuZ2luZV9kZXNjX3NldF9tZXRhZGF0YV9sZW4o CisJCXN0cnVjdCBkbWFfYXN5bmNfdHhfZGVzY3JpcHRvciAqZGVzYywgc2l6ZV90IHBheWxvYWRf bGVuKQoreworCWludCByZXQ7CisKKwlpZiAoIWRlc2MpCisJCXJldHVybiAtRUlOVkFMOworCisJ cmV0ID0gX2Rlc2NfY2hlY2tfYW5kX3NldF9tZXRhZGF0YV9tb2RlKGRlc2MsIERFU0NfTUVUQURB VEFfRU5HSU5FKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJaWYgKCFkZXNjLT5tZXRh ZGF0YV9vcHMgfHwgIWRlc2MtPm1ldGFkYXRhX29wcy0+c2V0X2xlbikKKwkJcmV0dXJuIC1FTk9U U1VQUDsKKworCXJldHVybiBkZXNjLT5tZXRhZGF0YV9vcHMtPnNldF9sZW4oZGVzYywgcGF5bG9h ZF9sZW4pOworfQorCiAvKioKICAqIGRtYWVuZ2luZV90ZXJtaW5hdGVfYWxsKCkgLSBUZXJtaW5h dGUgYWxsIGFjdGl2ZSBETUEgdHJhbnNmZXJzCiAgKiBAY2hhbjogVGhlIGNoYW5uZWwgZm9yIHdo aWNoIHRvIHRlcm1pbmF0ZSB0aGUgdHJhbnNmZXJzCg==