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: [5/6] dmaengine: sun6i: Add support for H6 DMA From: =?utf-8?q?Jernej_=C5=A0krabec?= Message-Id: <20190307165829.9086-6-jernej.skrabec@siol.net> Date: Thu, 7 Mar 2019 17:58:28 +0100 To: maxime.ripard@bootlin.com, wens@csie.org Cc: vkoul@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, dan.j.williams@intel.com, dmaengine@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com, jernej.skrabec@siol.net List-ID: SDYgRE1BIGhhcyBtb3JlIHRoYW4gMzIgc3VwcG9ydGVkIERSUXMsIHdoaWNoIG1lYW5zIHRoYXQg Y29uZmlndXJhdGlvbgpyZWdpc3RlciBpcyBzbGlnaHRseSByZWFycmFuZ2VkLiBJdCBhbHNvIG5l ZWRzIGFkZGl0aW9uYWwgY2xvY2sgdG8gYmUKZW5hYmxlZC4KCkFkZCBzdXBwb3J0IGZvciBpdC4K ClNpZ25lZC1vZmYtYnk6IEplcm5laiBTa3JhYmVjIDxqZXJuZWouc2tyYWJlY0BzaW9sLm5ldD4K LS0tCiBkcml2ZXJzL2RtYS9zdW42aS1kbWEuYyB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS9zdW42aS1kbWEuYyBiL2RyaXZl cnMvZG1hL3N1bjZpLWRtYS5jCmluZGV4IDZhMzdmOGJiMzliMS4uZWNlZWRkMTM5NjUxIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2RtYS9zdW42aS1kbWEuYworKysgYi9kcml2ZXJzL2RtYS9zdW42aS1k bWEuYwpAQCAtNjksMTQgKzY5LDE5IEBACiAKICNkZWZpbmUgRE1BX0NIQU5fQ1VSX0NGRwkweDBj CiAjZGVmaW5lIERNQV9DSEFOX01BWF9EUlFfQTMxCQkweDFmCisjZGVmaW5lIERNQV9DSEFOX01B WF9EUlFfSDYJCTB4M2YKICNkZWZpbmUgRE1BX0NIQU5fQ0ZHX1NSQ19EUlFfQTMxKHgpCSgoeCkg JiBETUFfQ0hBTl9NQVhfRFJRX0EzMSkKKyNkZWZpbmUgRE1BX0NIQU5fQ0ZHX1NSQ19EUlFfSDYo eCkJKCh4KSAmIERNQV9DSEFOX01BWF9EUlFfSDYpCiAjZGVmaW5lIERNQV9DSEFOX0NGR19TUkNf TU9ERV9BMzEoeCkJKCgoeCkgJiAweDEpIDw8IDUpCisjZGVmaW5lIERNQV9DSEFOX0NGR19TUkNf TU9ERV9INih4KQkoKCh4KSAmIDB4MSkgPDwgOCkKICNkZWZpbmUgRE1BX0NIQU5fQ0ZHX1NSQ19C VVJTVF9BMzEoeCkJKCgoeCkgJiAweDMpIDw8IDcpCiAjZGVmaW5lIERNQV9DSEFOX0NGR19TUkNf QlVSU1RfSDMoeCkJKCgoeCkgJiAweDMpIDw8IDYpCiAjZGVmaW5lIERNQV9DSEFOX0NGR19TUkNf V0lEVEgoeCkJKCgoeCkgJiAweDMpIDw8IDkpCiAKICNkZWZpbmUgRE1BX0NIQU5fQ0ZHX0RTVF9E UlFfQTMxKHgpCShETUFfQ0hBTl9DRkdfU1JDX0RSUV9BMzEoeCkgPDwgMTYpCisjZGVmaW5lIERN QV9DSEFOX0NGR19EU1RfRFJRX0g2KHgpCShETUFfQ0hBTl9DRkdfU1JDX0RSUV9INih4KSA8PCAx NikKICNkZWZpbmUgRE1BX0NIQU5fQ0ZHX0RTVF9NT0RFX0EzMSh4KQkoRE1BX0NIQU5fQ0ZHX1NS Q19NT0RFX0EzMSh4KSA8PCAxNikKKyNkZWZpbmUgRE1BX0NIQU5fQ0ZHX0RTVF9NT0RFX0g2KHgp CShETUFfQ0hBTl9DRkdfU1JDX01PREVfSDYoeCkgPDwgMTYpCiAjZGVmaW5lIERNQV9DSEFOX0NG R19EU1RfQlVSU1RfQTMxKHgpCShETUFfQ0hBTl9DRkdfU1JDX0JVUlNUX0EzMSh4KSA8PCAxNikK ICNkZWZpbmUgRE1BX0NIQU5fQ0ZHX0RTVF9CVVJTVF9IMyh4KQkoRE1BX0NIQU5fQ0ZHX1NSQ19C VVJTVF9IMyh4KSA8PCAxNikKICNkZWZpbmUgRE1BX0NIQU5fQ0ZHX0RTVF9XSURUSCh4KQkoRE1B X0NIQU5fQ0ZHX1NSQ19XSURUSCh4KSA8PCAxNikKQEAgLTMxOSwxMiArMzI0LDI0IEBAIHN0YXRp YyB2b2lkIHN1bjZpX3NldF9kcnFfYTMxKHUzMiAqcF9jZmcsIHM4IHNyY19kcnEsIHM4IGRzdF9k cnEpCiAJCSAgRE1BX0NIQU5fQ0ZHX0RTVF9EUlFfQTMxKGRzdF9kcnEpOwogfQogCitzdGF0aWMg dm9pZCBzdW42aV9zZXRfZHJxX2g2KHUzMiAqcF9jZmcsIHM4IHNyY19kcnEsIHM4IGRzdF9kcnEp Cit7CisJKnBfY2ZnIHw9IERNQV9DSEFOX0NGR19TUkNfRFJRX0g2KHNyY19kcnEpIHwKKwkJICBE TUFfQ0hBTl9DRkdfRFNUX0RSUV9INihkc3RfZHJxKTsKK30KKwogc3RhdGljIHZvaWQgc3VuNmlf c2V0X21vZGVfYTMxKHUzMiAqcF9jZmcsIHM4IHNyY19tb2RlLCBzOCBkc3RfbW9kZSkKIHsKIAkq cF9jZmcgfD0gRE1BX0NIQU5fQ0ZHX1NSQ19NT0RFX0EzMShzcmNfbW9kZSkgfAogCQkgIERNQV9D SEFOX0NGR19EU1RfTU9ERV9BMzEoZHN0X21vZGUpOwogfQogCitzdGF0aWMgdm9pZCBzdW42aV9z ZXRfbW9kZV9oNih1MzIgKnBfY2ZnLCBzOCBzcmNfbW9kZSwgczggZHN0X21vZGUpCit7CisJKnBf Y2ZnIHw9IERNQV9DSEFOX0NGR19TUkNfTU9ERV9INihzcmNfbW9kZSkgfAorCQkgIERNQV9DSEFO X0NGR19EU1RfTU9ERV9INihkc3RfbW9kZSk7Cit9CisKIHN0YXRpYyBzaXplX3Qgc3VuNmlfZ2V0 X2NoYW5fc2l6ZShzdHJ1Y3Qgc3VuNmlfcGNoYW4gKnBjaGFuKQogewogCXN0cnVjdCBzdW42aV9k ZXNjICp0eGQgPSBwY2hhbi0+ZGVzYzsKQEAgLTExNjAsNiArMTE3NywyOCBAQCBzdGF0aWMgc3Ry dWN0IHN1bjZpX2RtYV9jb25maWcgc3VuNTBpX2E2NF9kbWFfY2ZnID0gewogCQkJICAgICBCSVQo RE1BX1NMQVZFX0JVU1dJRFRIXzhfQllURVMpLAogfTsKIAorLyoKKyAqIFRoZSBINiBiaW5kaW5n IHVzZXMgdGhlIG51bWJlciBvZiBkbWEgY2hhbm5lbHMgZnJvbSB0aGUKKyAqIGRldmljZSB0cmVl IG5vZGUuCisgKi8KK3N0YXRpYyBzdHJ1Y3Qgc3VuNmlfZG1hX2NvbmZpZyBzdW41MGlfaDZfZG1h X2NmZyA9IHsKKwkuY2xvY2tfYXV0b2dhdGVfZW5hYmxlID0gc3VuNmlfZW5hYmxlX2Nsb2NrX2F1 dG9nYXRlX2gzLAorCS5zZXRfYnVyc3RfbGVuZ3RoID0gc3VuNmlfc2V0X2J1cnN0X2xlbmd0aF9o MywKKwkuc2V0X2RycSAgICAgICAgICA9IHN1bjZpX3NldF9kcnFfaDYsCisJLnNldF9tb2RlICAg ICAgICAgPSBzdW42aV9zZXRfbW9kZV9oNiwKKwkuc3JjX2J1cnN0X2xlbmd0aHMgPSBCSVQoMSkg fCBCSVQoNCkgfCBCSVQoOCkgfCBCSVQoMTYpLAorCS5kc3RfYnVyc3RfbGVuZ3RocyA9IEJJVCgx KSB8IEJJVCg0KSB8IEJJVCg4KSB8IEJJVCgxNiksCisJLnNyY19hZGRyX3dpZHRocyAgID0gQklU KERNQV9TTEFWRV9CVVNXSURUSF8xX0JZVEUpIHwKKwkJCSAgICAgQklUKERNQV9TTEFWRV9CVVNX SURUSF8yX0JZVEVTKSB8CisJCQkgICAgIEJJVChETUFfU0xBVkVfQlVTV0lEVEhfNF9CWVRFUykg fAorCQkJICAgICBCSVQoRE1BX1NMQVZFX0JVU1dJRFRIXzhfQllURVMpLAorCS5kc3RfYWRkcl93 aWR0aHMgICA9IEJJVChETUFfU0xBVkVfQlVTV0lEVEhfMV9CWVRFKSB8CisJCQkgICAgIEJJVChE TUFfU0xBVkVfQlVTV0lEVEhfMl9CWVRFUykgfAorCQkJICAgICBCSVQoRE1BX1NMQVZFX0JVU1dJ RFRIXzRfQllURVMpIHwKKwkJCSAgICAgQklUKERNQV9TTEFWRV9CVVNXSURUSF84X0JZVEVTKSwK KwkubWJ1c19jbGsgPSB0cnVlLAorfTsKKwogLyoKICAqIFRoZSBWM3MgaGF2ZSBvbmx5IDggcGh5 c2ljYWwgY2hhbm5lbHMsIGEgbWF4aW11bSBEUlEgcG9ydCBpZCBvZiAyMywKICAqIGFuZCBhIHRv dGFsIG9mIDI0IHVzYWJsZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGVuZHBvaW50cy4KQEAgLTEx OTAsNiArMTIyOSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHN1bjZpX2Rt YV9tYXRjaFtdID0gewogCXsgLmNvbXBhdGlibGUgPSAiYWxsd2lubmVyLHN1bjhpLWgzLWRtYSIs IC5kYXRhID0gJnN1bjhpX2gzX2RtYV9jZmcgfSwKIAl7IC5jb21wYXRpYmxlID0gImFsbHdpbm5l cixzdW44aS12M3MtZG1hIiwgLmRhdGEgPSAmc3VuOGlfdjNzX2RtYV9jZmcgfSwKIAl7IC5jb21w YXRpYmxlID0gImFsbHdpbm5lcixzdW41MGktYTY0LWRtYSIsIC5kYXRhID0gJnN1bjUwaV9hNjRf ZG1hX2NmZyB9LAorCXsgLmNvbXBhdGlibGUgPSAiYWxsd2lubmVyLHN1bjUwaS1oNi1kbWEiLCAu ZGF0YSA9ICZzdW41MGlfaDZfZG1hX2NmZyB9LAogCXsgLyogc2VudGluZWwgKi8gfQogfTsKIE1P RFVMRV9ERVZJQ0VfVEFCTEUob2YsIHN1bjZpX2RtYV9tYXRjaCk7CkBAIC0xMjg4LDggKzEzMjgs OCBAQCBzdGF0aWMgaW50IHN1bjZpX2RtYV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQogCXJldCA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyKG5wLCAiZG1hLXJlcXVlc3RzIiwgJnNk Yy0+bWF4X3JlcXVlc3QpOwogCWlmIChyZXQgJiYgIXNkYy0+bWF4X3JlcXVlc3QpIHsKIAkJZGV2 X2luZm8oJnBkZXYtPmRldiwgIk1pc3NpbmcgZG1hLXJlcXVlc3RzLCB1c2luZyAldS5cbiIsCi0J CQkgRE1BX0NIQU5fTUFYX0RSUV9BMzEpOwotCQlzZGMtPm1heF9yZXF1ZXN0ID0gRE1BX0NIQU5f TUFYX0RSUV9BMzE7CisJCQkgRE1BX0NIQU5fTUFYX0RSUV9INik7CisJCXNkYy0+bWF4X3JlcXVl c3QgPSBETUFfQ0hBTl9NQVhfRFJRX0g2OwogCX0KIAogCS8qCg==