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: [3/3] dma: tegra: fix incorrect case of DMA From: Ben Dooks Message-Id: <20181114101342.7199-4-ben.dooks@codethink.co.uk> Date: Wed, 14 Nov 2018 10:13:42 +0000 To: dan.j.williams@intel.com, vkoul@kernel.org Cc: ldewangan@nvidia.com, dmaengine@vger.kernel.org, linux-tegra@vger.kernel.org, digetx@gmail.com, Ben Dooks List-ID: VGhlIHVzZSBvZiBEbWEgaXMgYW5ub3lpbmcsIHNpbmNlIGl0IGlzIGFuIGFjcm9ueW0gc28gc2hv dWxkIGJlIGFsbAp1cHBlciBjYXNlLiBGaXggdGhpcyB0aHJvdWdob3V0IHRoZSBkcml2ZXIuCgpS ZXZpZXdlZC1ieTogRG1pdHJ5IE9zaXBlbmtvIDxkaWdldHhAZ21haWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBCZW4gRG9va3MgPGJlbi5kb29rc0Bjb2RldGhpbmsuY28udWs+Ci0tLQpGaXhlcyBzaW5j ZSB2MToKLSBNaXNzaW5nIGNhc2VzIGZpeGVkIGFzIHBvaW50ZWQgb3V0IGJ5IERtaXRyeSBPc2lw ZW5rbwotLS0KIGRyaXZlcnMvZG1hL3RlZ3JhMjAtYXBiLWRtYS5jIHwgMjAgKysrKysrKysrKy0t LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS90ZWdyYTIwLWFwYi1kbWEuYyBiL2RyaXZlcnMv ZG1hL3RlZ3JhMjAtYXBiLWRtYS5jCmluZGV4IGFkZmQ5MThiYWVkYy4uZWM4OTM4YTJlY2FiIDEw MDY0NAotLS0gYS9kcml2ZXJzL2RtYS90ZWdyYTIwLWFwYi1kbWEuYworKysgYi9kcml2ZXJzL2Rt YS90ZWdyYTIwLWFwYi1kbWEuYwpAQCAtMTQ2LDcgKzE0Niw3IEBAIHN0cnVjdCB0ZWdyYV9kbWFf Y2hhbm5lbF9yZWdzIHsKIH07CiAKIC8qCi0gKiB0ZWdyYV9kbWFfc2dfcmVxOiBEbWEgcmVxdWVz dCBkZXRhaWxzIHRvIGNvbmZpZ3VyZSBoYXJkd2FyZS4gVGhpcworICogdGVncmFfZG1hX3NnX3Jl cTogRE1BIHJlcXVlc3QgZGV0YWlscyB0byBjb25maWd1cmUgaGFyZHdhcmUuIFRoaXMKICAqIGNv bnRhaW5zIHRoZSBkZXRhaWxzIGZvciBvbmUgdHJhbnNmZXIgdG8gY29uZmlndXJlIERNQSBody4K ICAqIFRoZSBjbGllbnQncyByZXF1ZXN0IGZvciBkYXRhIHRyYW5zZmVyIGNhbiBiZSBicm9rZW4g aW50byBtdWx0aXBsZQogICogc3ViLXRyYW5zZmVyIGFzIHBlciByZXF1ZXN0ZXIgZGV0YWlscyBh bmQgaHcgc3VwcG9ydC4KQEAgLTU3NCw3ICs1NzQsNyBAQCBzdGF0aWMgYm9vbCBoYW5kbGVfY29u dGludW91c19oZWFkX3JlcXVlc3Qoc3RydWN0IHRlZ3JhX2RtYV9jaGFubmVsICp0ZGMsCiAJc3Ry dWN0IHRlZ3JhX2RtYV9zZ19yZXEgKmhzZ3JlcSA9IE5VTEw7CiAKIAlpZiAobGlzdF9lbXB0eSgm dGRjLT5wZW5kaW5nX3NnX3JlcSkpIHsKLQkJZGV2X2Vycih0ZGMyZGV2KHRkYyksICJEbWEgaXMg cnVubmluZyB3aXRob3V0IHJlcVxuIik7CisJCWRldl9lcnIodGRjMmRldih0ZGMpLCAiRE1BIGlz IHJ1bm5pbmcgd2l0aG91dCByZXFcbiIpOwogCQl0ZWdyYV9kbWFfc3RvcCh0ZGMpOwogCQlyZXR1 cm4gZmFsc2U7CiAJfQpAQCAtNTg3LDcgKzU4Nyw3IEBAIHN0YXRpYyBib29sIGhhbmRsZV9jb250 aW51b3VzX2hlYWRfcmVxdWVzdChzdHJ1Y3QgdGVncmFfZG1hX2NoYW5uZWwgKnRkYywKIAloc2dy ZXEgPSBsaXN0X2ZpcnN0X2VudHJ5KCZ0ZGMtPnBlbmRpbmdfc2dfcmVxLCB0eXBlb2YoKmhzZ3Jl cSksIG5vZGUpOwogCWlmICghaHNncmVxLT5jb25maWd1cmVkKSB7CiAJCXRlZ3JhX2RtYV9zdG9w KHRkYyk7Ci0JCWRldl9lcnIodGRjMmRldih0ZGMpLCAiRXJyb3IgaW4gZG1hIHRyYW5zZmVyLCBh Ym9ydGluZyBkbWFcbiIpOworCQlkZXZfZXJyKHRkYzJkZXYodGRjKSwgIkVycm9yIGluIERNQSB0 cmFuc2ZlciwgYWJvcnRpbmcgRE1BXG4iKTsKIAkJdGVncmFfZG1hX2Fib3J0X2FsbCh0ZGMpOwog CQlyZXR1cm4gZmFsc2U7CiAJfQpAQCAtOTIyLDcgKzkyMiw3IEBAIHN0YXRpYyBpbnQgZ2V0X3Ry YW5zZmVyX3BhcmFtKHN0cnVjdCB0ZWdyYV9kbWFfY2hhbm5lbCAqdGRjLAogCQlyZXR1cm4gMDsK IAogCWRlZmF1bHQ6Ci0JCWRldl9lcnIodGRjMmRldih0ZGMpLCAiRG1hIGRpcmVjdGlvbiBpcyBu b3Qgc3VwcG9ydGVkXG4iKTsKKwkJZGV2X2Vycih0ZGMyZGV2KHRkYyksICJETUEgZGlyZWN0aW9u IGlzIG5vdCBzdXBwb3J0ZWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJcmV0dXJuIC1F SU5WQUw7CkBAIC05NTUsNyArOTU1LDcgQEAgc3RhdGljIHN0cnVjdCBkbWFfYXN5bmNfdHhfZGVz Y3JpcHRvciAqdGVncmFfZG1hX3ByZXBfc2xhdmVfc2coCiAJZW51bSBkbWFfc2xhdmVfYnVzd2lk dGggc2xhdmVfYnc7CiAKIAlpZiAoIXRkYy0+Y29uZmlnX2luaXQpIHsKLQkJZGV2X2Vycih0ZGMy ZGV2KHRkYyksICJkbWEgY2hhbm5lbCBpcyBub3QgY29uZmlndXJlZFxuIik7CisJCWRldl9lcnIo dGRjMmRldih0ZGMpLCAiRE1BIGNoYW5uZWwgaXMgbm90IGNvbmZpZ3VyZWRcbiIpOwogCQlyZXR1 cm4gTlVMTDsKIAl9CiAJaWYgKHNnX2xlbiA8IDEpIHsKQEAgLTk4OCw3ICs5ODgsNyBAQCBzdGF0 aWMgc3RydWN0IGRtYV9hc3luY190eF9kZXNjcmlwdG9yICp0ZWdyYV9kbWFfcHJlcF9zbGF2ZV9z ZygKIAogCWRtYV9kZXNjID0gdGVncmFfZG1hX2Rlc2NfZ2V0KHRkYyk7CiAJaWYgKCFkbWFfZGVz YykgewotCQlkZXZfZXJyKHRkYzJkZXYodGRjKSwgIkRtYSBkZXNjcmlwdG9ycyBub3QgYXZhaWxh YmxlXG4iKTsKKwkJZGV2X2Vycih0ZGMyZGV2KHRkYyksICJETUEgZGVzY3JpcHRvcnMgbm90IGF2 YWlsYWJsZVxuIik7CiAJCXJldHVybiBOVUxMOwogCX0KIAlJTklUX0xJU1RfSEVBRCgmZG1hX2Rl c2MtPnR4X2xpc3QpOwpAQCAtMTAwOCwxNCArMTAwOCwxNCBAQCBzdGF0aWMgc3RydWN0IGRtYV9h c3luY190eF9kZXNjcmlwdG9yICp0ZWdyYV9kbWFfcHJlcF9zbGF2ZV9zZygKIAkJaWYgKChsZW4g JiAzKSB8fCAobWVtICYgMykgfHwKIAkJCQkobGVuID4gdGRjLT50ZG1hLT5jaGlwX2RhdGEtPm1h eF9kbWFfY291bnQpKSB7CiAJCQlkZXZfZXJyKHRkYzJkZXYodGRjKSwKLQkJCQkiRG1hIGxlbmd0 aC9tZW1vcnkgYWRkcmVzcyBpcyBub3Qgc3VwcG9ydGVkXG4iKTsKKwkJCQkiRE1BIGxlbmd0aC9t ZW1vcnkgYWRkcmVzcyBpcyBub3Qgc3VwcG9ydGVkXG4iKTsKIAkJCXRlZ3JhX2RtYV9kZXNjX3B1 dCh0ZGMsIGRtYV9kZXNjKTsKIAkJCXJldHVybiBOVUxMOwogCQl9CiAKIAkJc2dfcmVxID0gdGVn cmFfZG1hX3NnX3JlcV9nZXQodGRjKTsKIAkJaWYgKCFzZ19yZXEpIHsKLQkJCWRldl9lcnIodGRj MmRldih0ZGMpLCAiRG1hIHNnLXJlcSBub3QgYXZhaWxhYmxlXG4iKTsKKwkJCWRldl9lcnIodGRj MmRldih0ZGMpLCAiRE1BIHNnLXJlcSBub3QgYXZhaWxhYmxlXG4iKTsKIAkJCXRlZ3JhX2RtYV9k ZXNjX3B1dCh0ZGMsIGRtYV9kZXNjKTsKIAkJCXJldHVybiBOVUxMOwogCQl9CkBAIC0xMDkwLDcg KzEwOTAsNyBAQCBzdGF0aWMgc3RydWN0IGRtYV9hc3luY190eF9kZXNjcmlwdG9yICp0ZWdyYV9k bWFfcHJlcF9kbWFfY3ljbGljKAogCSAqIHRlcm1pbmF0aW5nIHRoZSBETUEuCiAJICovCiAJaWYg KHRkYy0+YnVzeSkgewotCQlkZXZfZXJyKHRkYzJkZXYodGRjKSwgIlJlcXVlc3Qgbm90IGFsbG93 ZWQgd2hlbiBkbWEgcnVubmluZ1xuIik7CisJCWRldl9lcnIodGRjMmRldih0ZGMpLCAiUmVxdWVz dCBub3QgYWxsb3dlZCB3aGVuIERNQSBydW5uaW5nXG4iKTsKIAkJcmV0dXJuIE5VTEw7CiAJfQog CkBAIC0xMTQ3LDcgKzExNDcsNyBAQCBzdGF0aWMgc3RydWN0IGRtYV9hc3luY190eF9kZXNjcmlw dG9yICp0ZWdyYV9kbWFfcHJlcF9kbWFfY3ljbGljKAogCXdoaWxlIChyZW1haW5fbGVuKSB7CiAJ CXNnX3JlcSA9IHRlZ3JhX2RtYV9zZ19yZXFfZ2V0KHRkYyk7CiAJCWlmICghc2dfcmVxKSB7Ci0J CQlkZXZfZXJyKHRkYzJkZXYodGRjKSwgIkRtYSBzZy1yZXEgbm90IGF2YWlsYWJsZVxuIik7CisJ CQlkZXZfZXJyKHRkYzJkZXYodGRjKSwgIkRNQSBzZy1yZXEgbm90IGF2YWlsYWJsZVxuIik7CiAJ CQl0ZWdyYV9kbWFfZGVzY19wdXQodGRjLCBkbWFfZGVzYyk7CiAJCQlyZXR1cm4gTlVMTDsKIAkJ fQo=