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,2/2] dmaengine: dw: implement per-channel protection control setting From: Christian Lamparter Message-Id: <19ee8f8992a364d826680ee86f3a965c395a672d.1541350844.git.chunkeey@gmail.com> Date: Sun, 4 Nov 2018 18:01:39 +0100 To: dmaengine@vger.kernel.org, devicetree@vger.kernel.org Cc: Dan Williams , Vinod Koul , Andy Shevchenko , Viresh Kumar , Rob Herring , Mark Rutland List-ID: VGhpcyBwYXRjaCBhZGRzIGEgbmV3IGRldmljZS10cmVlIHByb3BlcnR5IHRoYXQgYWxsb3dzIHRv CnNwZWNpZnkgdGhlIHByb3RlY3Rpb24gY29udHJvbCBiaXRzIGZvciBlYWNoIERNQSBjaGFubmVs CmluZGl2aWR1YWxseS4KClNldHRpbmcgdGhlICJjb3JyZWN0IiBiaXRzIGNhbiBoYXZlIGEgaHVn ZSBpbXBhY3Qgb24gdGhlClBQQzQ2MEVYIGFuZCBBUE04MjE4MSB0aGF0IHVzZSB0aGlzIERNQSBl bmdpbmUgaW4gY29tYmluYXRpb24Kd2l0aCBhIERlc2lnbldhcmUnIFNBVEEtSUkgY29yZSAoc2F0 YV9kd2NfNDYwZXggZHJpdmVyKS4KCkluIHRoZSBPcGVuV3J0IEZvcnVtLCB0aGUgdXNlciB0YWtp bWF0YSByZXBvcnRlZCB0aGF0Ogp8PGh0dHBzOi8vZm9ydW0ubGVkZS1wcm9qZWN0Lm9yZy90L3dk LW15Ym9vay1saXZlLWR1by10d28tZGlza3MvMTYxOTUvNTU+CnxJdCBzZWVtcyB5b3VyIHBhdGNo IHVubGVhc2hlZCB0aGUgZnVsbCBwb3dlciBvZiB0aGUgU0FUQSBwb3J0Lgp8V2hlcmUgSSB3YXMg cHJldmlvdXNseSBoaXR0aW5nIGEgcmVhbGx5IGhhcmQgbGltaXQgYXQgYXJvdW5kCnw4MiBNQi9z IGZvciByZWFkaW5nIGFuZCAyNyBNQi9zIGZvciB3cml0aW5nLCBJIGFtIG5vdyBnZXR0aW5nIHRo aXM6CnwKfHJvb3RAT3BlbldydDovbW50IyB0aW1lIGRkIGlmPS9kZXYvemVybyBvZj10ZW1wZmls ZSBicz0xTSBjb3VudD0xMDI0CnwxMDI0KzAgcmVjb3JkcyBpbgp8MTAyNCswIHJlY29yZHMgb3V0 CnxyZWFsICAgIDBtIDEzLjY1cwp8dXNlciAgICAwbSAwLjAxcwp8c3lzICAgICAwbSAxMS44OXMK fAp8cm9vdEBPcGVuV3J0Oi9tbnQjIHRpbWUgZGQgaWY9dGVtcGZpbGUgb2Y9L2Rldi9udWxsIGJz PTFNIGNvdW50PTEwMjQKfDEwMjQrMCByZWNvcmRzIGluCnwxMDI0KzAgcmVjb3JkcyBvdXQKfHJl YWwgICAgMG0gOC40MXMKfHVzZXIgICAgMG0gMC4wMXMKfHN5cyAgICAgMG0gNC43MHMKfAp8VGhp cyBtZWFuczogMTIxIE1CL3MgcmVhZGluZyBhbmQgNzUgTUIvcyB3cml0aW5nIQp8CnxUaGUgZHJp dmUgaXMgYSBXRCBHcmVlbiBXRDEwRUFSWCB0YWtlbiBmcm9tIGFuIG9sZGVyIE1CTCBTaW5nbGUu CnxJIHJlcGVhdGVkIHRoZSB0ZXN0IGEgZmV3IHRpbWVzIHdpdGggZXZlbiBsYXJnZXIgZmlsZXMg dG8gcnVsZSBvdXQKfGFueSBjYWNoaW5nLCBJJ20gc3RpbGwgc2VlaW5nIHRoZSBzYW1lIGdyZWF0 IHBlcmZvcm1hbmNlLiBPcGVuV3J0IGlzCnxub3cgY29tcGxldGVseSBvbiBwYXIgd2l0aCB0aGUg b3JpZ2luYWwgTUJMIGZpcm13YXJlJ3MgcGVyZm9ybWFuY2UuCgpBbm90aGVyIHVzZXIgQW5kLnNo b3J0IHJlcG9ydGVkIGluIHRoZSBzYW1lIHRocmVhZDoKfDxodHRwczovL2ZvcnVtLm9wZW53cnQu b3JnL3Qvc29sdmVkLXdkLW15Ym9vay1saXZlLWR1by10d28tZGlza3MvMTYxOTUvNTA+CnxJIGNh biByZXBvcnQgdGhhdCB5b3VyIGZpeCB3b3JrZWQhIEJvb3RzIHVwIGZpbmUgd2l0aCB0d28KfGRy aXZlcyBldmVuIHdpdGggbW9yZSBwYXJ0aXRpb25zLCBhbmQgbm8gbW9yZSByZWJvb3Qgb24KfGNv bmN1cnJlbnQgZGlzayBhY2Nlc3MhCgpBIGNsb3NlciBsb29rIGludG8gdGhlIHNhdGFfZHdjXzQ2 MGV4IGNvZGUgcmV2ZWFsZWQgdGhhdAp0aGUgZHJpdmVyIGRpZCBpbml0YWxseSBzZXQgdGhlIGNv cnJlY3QgcHJvdGVjdGlvbiBjb250cm9sCmJpdHMuIEhvd2V2ZXIsIHRoaXMgZmVhdHVyZSB3YXMg bG9zdCB3aGVuIHRoZSBzYXRhX2R3Y180NjBleApkcml2ZXIgd2FzIGNvbnZlcnRlZCB0byB0aGUg Z2VuZXJpYyBETUEgZHJpdmVyIGZyYW1ld29yayB3aXRoOgo4YjM0NDQ4NTJhMiAoInNhdGFfZHdj XzQ2MGV4OiBtb3ZlIHRvIGdlbmVyaWMgRE1BIGRyaXZlciIpLgoKU2lnbmVkLW9mZi1ieTogQ2hy aXN0aWFuIExhbXBhcnRlciA8Y2h1bmtlZXlAZ21haWwuY29tPgotLS0KIGRyaXZlcnMvZG1hL2R3 L2NvcmUuYyAgICAgICAgICAgICAgICB8ICAzICsrKwogZHJpdmVycy9kbWEvZHcvcGxhdGZvcm0u YyAgICAgICAgICAgIHwgMTIgKysrKysrKysrLS0tCiBkcml2ZXJzL2RtYS9kdy9yZWdzLmggICAg ICAgICAgICAgICAgfCAgNCArKysrCiBpbmNsdWRlL2xpbnV4L3BsYXRmb3JtX2RhdGEvZG1hLWR3 LmggfCAgNiArKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS9kdy9jb3JlLmMgYi9kcml2ZXJzL2Rt YS9kdy9jb3JlLmMKaW5kZXggZjQzZTZkYWZlNDQ2Li4yZGIxNWU5YjMzYTggMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZG1hL2R3L2NvcmUuYworKysgYi9kcml2ZXJzL2RtYS9kdy9jb3JlLmMKQEAgLTE2 MCwxMiArMTYwLDE1IEBAIHN0YXRpYyB2b2lkIGR3Y19pbml0aWFsaXplX2NoYW5faWRtYTMyKHN0 cnVjdCBkd19kbWFfY2hhbiAqZHdjKQogCiBzdGF0aWMgdm9pZCBkd2NfaW5pdGlhbGl6ZV9jaGFu X2R3KHN0cnVjdCBkd19kbWFfY2hhbiAqZHdjKQogeworCXN0cnVjdCBkd19kbWEgKmR3ID0gdG9f ZHdfZG1hKGR3Yy0+Y2hhbi5kZXZpY2UpOworCXNpemVfdCBjaGFuaWR4ID0gKHNpemVfdCkoZHdj IC0gZHctPmNoYW4pOwogCXUzMiBjZmdoaSA9IERXQ19DRkdIX0ZJRk9fTU9ERTsKIAl1MzIgY2Zn bG8gPSBEV0NfQ0ZHTF9DSF9QUklPUihkd2MtPnByaW9yaXR5KTsKIAlib29sIGhzX3BvbGFyaXR5 ID0gZHdjLT5kd3MuaHNfcG9sYXJpdHk7CiAKIAljZmdoaSB8PSBEV0NfQ0ZHSF9EU1RfUEVSKGR3 Yy0+ZHdzLmRzdF9pZCk7CiAJY2ZnaGkgfD0gRFdDX0NGR0hfU1JDX1BFUihkd2MtPmR3cy5zcmNf aWQpOworCWNmZ2hpIHw9IERXQ19DRkdIX1BST1RDVEwoZHctPnBkYXRhLT5wcm90Y3RsW2NoYW5p ZHhdKTsKIAogCS8qIFNldCBwb2xhcml0eSBvZiBoYW5kc2hha2UgaW50ZXJmYWNlICovCiAJY2Zn bG8gfD0gaHNfcG9sYXJpdHkgPyBEV0NfQ0ZHTF9IU19EU1RfUE9MIHwgRFdDX0NGR0xfSFNfU1JD X1BPTCA6IDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS9kdy9wbGF0Zm9ybS5jIGIvZHJpdmVy cy9kbWEvZHcvcGxhdGZvcm0uYwppbmRleCBmNjJkZDA5NDQ5MDguLjA3OGNjYTY1NzZjMyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9kbWEvZHcvcGxhdGZvcm0uYworKysgYi9kcml2ZXJzL2RtYS9kdy9w bGF0Zm9ybS5jCkBAIC0xMDIsNyArMTAyLDcgQEAgZHdfZG1hX3BhcnNlX2R0KHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCiB7CiAJc3RydWN0IGRldmljZV9ub2RlICpucCA9IHBkZXYtPmRl di5vZl9ub2RlOwogCXN0cnVjdCBkd19kbWFfcGxhdGZvcm1fZGF0YSAqcGRhdGE7Ci0JdTMyIHRt cCwgYXJyW0RXX0RNQV9NQVhfTlJfTUFTVEVSU10sIG1iW0RXX0RNQV9NQVhfTlJfQ0hBTk5FTFNd OworCXUzMiB0bXAsIGFycltEV19ETUFfTUFYX05SX01BU1RFUlNdLCB2YWxbRFdfRE1BX01BWF9O Ul9DSEFOTkVMU107CiAJdTMyIG5yX21hc3RlcnM7CiAJdTMyIG5yX2NoYW5uZWxzOwogCkBAIC0x NTQsMTQgKzE1NCwyMCBAQCBkd19kbWFfcGFyc2VfZHQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikKIAkJCXBkYXRhLT5kYXRhX3dpZHRoW3RtcF0gPSBCSVQoYXJyW3RtcF0gJiAweDA3KTsK IAl9CiAKLQlpZiAoIW9mX3Byb3BlcnR5X3JlYWRfdTMyX2FycmF5KG5wLCAibXVsdGktYmxvY2si LCBtYiwgbnJfY2hhbm5lbHMpKSB7CisJaWYgKCFvZl9wcm9wZXJ0eV9yZWFkX3UzMl9hcnJheShu cCwgIm11bHRpLWJsb2NrIiwgdmFsLCBucl9jaGFubmVscykpIHsKIAkJZm9yICh0bXAgPSAwOyB0 bXAgPCBucl9jaGFubmVsczsgdG1wKyspCi0JCQlwZGF0YS0+bXVsdGlfYmxvY2tbdG1wXSA9IG1i W3RtcF07CisJCQlwZGF0YS0+bXVsdGlfYmxvY2tbdG1wXSA9IHZhbFt0bXBdOwogCX0gZWxzZSB7 CiAJCWZvciAodG1wID0gMDsgdG1wIDwgbnJfY2hhbm5lbHM7IHRtcCsrKQogCQkJcGRhdGEtPm11 bHRpX2Jsb2NrW3RtcF0gPSAxOwogCX0KIAorCWlmICghb2ZfcHJvcGVydHlfcmVhZF91MzJfYXJy YXkobnAsICJzbnBzLGRtYS1wcm90ZWN0aW9uLWNvbnRyb2wiLAorCQkJCQl2YWwsIG5yX2NoYW5u ZWxzKSkgeworCQlmb3IgKHRtcCA9IDA7IHRtcCA8IG5yX2NoYW5uZWxzOyB0bXArKykKKwkJCXBk YXRhLT5wcm90Y3RsW3RtcF0gPSB2YWxbdG1wXTsKKwl9CisKIAlyZXR1cm4gcGRhdGE7CiB9CiAj ZWxzZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEvZHcvcmVncy5oIGIvZHJpdmVycy9kbWEvZHcv cmVncy5oCmluZGV4IDA5ZTdkZmRiYjc5MC4uNjQ2YzljOTYwYzA3IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2RtYS9kdy9yZWdzLmgKKysrIGIvZHJpdmVycy9kbWEvZHcvcmVncy5oCkBAIC0yMDAsNiAr MjAwLDEwIEBAIGVudW0gZHdfZG1hX21zaXplIHsKICNkZWZpbmUgRFdDX0NGR0hfRkNNT0RFCQko MSA8PCAwKQogI2RlZmluZSBEV0NfQ0ZHSF9GSUZPX01PREUJKDEgPDwgMSkKICNkZWZpbmUgRFdD X0NGR0hfUFJPVENUTCh4KQkoKHgpIDw8IDIpCisjZGVmaW5lIERXQ19DRkdIX1BST1RDVExfREFU QQkoMCA8PCAyKQkvKiBkYXRhIGFjY2VzcyAtIGFsd2F5cyBzZXQgKi8KKyNkZWZpbmUgRFdDX0NG R0hfUFJPVENUTF9QUklWCSgxIDw8IDIpCS8qIHByaXZpbGVnZWQgLT4gQUhCIEhQUk9UWzFdICov CisjZGVmaW5lIERXQ19DRkdIX1BST1RDVExfQlVGRkVSCSgyIDw8IDIpCS8qIGJ1ZmZlcmFibGUg LT4gQUhCIEhQUk9UWzJdICovCisjZGVmaW5lIERXQ19DRkdIX1BST1RDVExfQ0FDSEUJKDQgPDwg MikJLyogY2FjaGVhYmxlICAtPiBBSEIgSFBST1RbM10gKi8KICNkZWZpbmUgRFdDX0NGR0hfRFNf VVBEX0VOCSgxIDw8IDUpCiAjZGVmaW5lIERXQ19DRkdIX1NTX1VQRF9FTgkoMSA8PCA2KQogI2Rl ZmluZSBEV0NfQ0ZHSF9TUkNfUEVSKHgpCSgoeCkgPDwgNykKZGlmZiAtLWdpdCBhL2luY2x1ZGUv bGludXgvcGxhdGZvcm1fZGF0YS9kbWEtZHcuaCBiL2luY2x1ZGUvbGludXgvcGxhdGZvcm1fZGF0 YS9kbWEtZHcuaAppbmRleCA4OTZjYjcxYTM4MmMuLmRmNjVlMzMxMWE1NiAxMDA2NDQKLS0tIGEv aW5jbHVkZS9saW51eC9wbGF0Zm9ybV9kYXRhL2RtYS1kdy5oCisrKyBiL2luY2x1ZGUvbGludXgv cGxhdGZvcm1fZGF0YS9kbWEtZHcuaApAQCAtNDksNiArNDksNyBAQCBzdHJ1Y3QgZHdfZG1hX3Ns YXZlIHsKICAqIEBkYXRhX3dpZHRoOiBNYXhpbXVtIGRhdGEgd2lkdGggc3VwcG9ydGVkIGJ5IGhh cmR3YXJlIHBlciBBSEIgbWFzdGVyCiAgKgkJKGluIGJ5dGVzLCBwb3dlciBvZiAyKQogICogQG11 bHRpX2Jsb2NrOiBNdWx0aSBibG9jayB0cmFuc2ZlcnMgc3VwcG9ydGVkIGJ5IGhhcmR3YXJlIHBl ciBjaGFubmVsLgorICogQHByb3RjdGw6CVByb3RlY3Rpb24gY29udHJvbCBzaWduYWxzIHNldHRp bmcgcGVyIGNoYW5uZWwuCiAgKi8KIHN0cnVjdCBkd19kbWFfcGxhdGZvcm1fZGF0YSB7CiAJdW5z aWduZWQgaW50CW5yX2NoYW5uZWxzOwpAQCAtNjUsNiArNjYsMTEgQEAgc3RydWN0IGR3X2RtYV9w bGF0Zm9ybV9kYXRhIHsKIAl1bnNpZ25lZCBjaGFyCW5yX21hc3RlcnM7CiAJdW5zaWduZWQgY2hh cglkYXRhX3dpZHRoW0RXX0RNQV9NQVhfTlJfTUFTVEVSU107CiAJdW5zaWduZWQgY2hhcgltdWx0 aV9ibG9ja1tEV19ETUFfTUFYX05SX0NIQU5ORUxTXTsKKyNkZWZpbmUgQ0hBTl9QUk9UQ1RMX1BS SVZJTEVHRUQJCUJJVCgwKQorI2RlZmluZSBDSEFOX1BST1RDVExfQlVGRkVSQUJMRQkJQklUKDEp CisjZGVmaW5lIENIQU5fUFJPVENUTF9DQUNIRUFCTEUJCUJJVCgyKQorI2RlZmluZQlDSEFOX1BS T1RDVExfTUFTSwkJMHg3CisJdW5zaWduZWQgY2hhcglwcm90Y3RsW0RXX0RNQV9NQVhfTlJfQ0hB Tk5FTFNdOwogfTsKIAogI2VuZGlmIC8qIF9QTEFURk9STV9EQVRBX0RNQV9EV19IICovCg==