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: [v3] dmaengine: fsl-edma: disable clks on all error paths From: Andreas Platschek Message-Id: <20171214115051.27915-1-andreas.platschek@opentech.at> Date: Thu, 14 Dec 2017 12:50:51 +0100 To: vinod.koul@intel.com Cc: dan.j.williams@intel.com, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, sil2review@lists.osadl.org, Andreas Platschek List-ID: UHJldmlvdXNseSBlbmFibGVkIGNsa3MgYXJlIG9ubHkgZGlzYWJsZWQgaWYgY2xrX3ByZXBhcmVf ZW5hYmxlKCkgZmFpbHMuCkhvd2V2ZXIsIHRoZXJlIGFyZSBvdGhlciBlcnJvciBwYXRocyB3ZXJl IHRoZSBwcmV2aW91c2x5IGVuYWJsZWQKY2xvY2tzIGFyZSBub3QgZGlzYWJsZWQuCgpUbyBmaXgg dGhlIHByb2JsZW0sIGZzbF9kaXNhYmxlX2Nsb2NrcygpIG5vdyB0YWtlcyB0aGUgbnVtYmVyIG9m IGNsb2Nrcwp0aGF0IHNoYWxsIGJlIGRpc2FibGVkICsgdW5wcmVwYXJlZC4gRm9yIGV4aXN0aW5n IGNhbGxzIHdlcmUgYWxsIGNsb2Nrcwp3ZXJlIGFscmVhZHkgc3VjY2Vzc2Z1bGx5IHByZXBhcmVk ICsgZW5hYmxlZCwgRE1BTVVYX05SIGlzIHBhc3NlZCB0bwpkaXNhYmxlICsgdW5wcmVwYXJlIGFs bCBjbG9ja3MuCgpJbiBlcnJvciBwYXRocyB3ZXJlIG9ubHkgc29tZSBjbG9ja3Mgd2VyZSBzdWNj ZXNzZnVsbHkgcHJlcGFyZWQgKwplbmFibGVkIHRoZSBsb29wIGNvdW50ZXIgaXMgcGFzc2VkLCBp biBvcmRlciB0byBkaXNhYmxlICsgdW5wcmVwYXJlCmFsbCBzdWNjZXNzZnVsbHkgcHJlcGFyZWQg KyBlbmFibGVkIGNsb2Nrcy4KCkZvdW5kIGJ5IExpbnV4IERyaXZlciBWZXJpZmljYXRpb24gcHJv amVjdCAobGludXh0ZXN0aW5nLm9yZykuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIFBsYXRzY2hl ayA8YW5kcmVhcy5wbGF0c2NoZWtAb3BlbnRlY2guYXQ+Ci0tLQpWMi0+VjM6IGluIFYyIGkgYWRk ZWQgdGhlIGNsa19kaXNhYmxlX3VucHJlcGFyZSgpIGRpcmVjdGx5IGludG8gdGhlCmVycm9yIHBh dGhzLiBWaW5vZCBLb3VsIHRoZW4gc3VnZ2VzdGVkIHRvIG1vZGlmeSBmc2xfZGlzYWJsZV9jbG9j a3MoKSBhbmQKY29uc2lzdGVudGx5IGludm9rZSB0aGF0IHRvIGRpc2FibGUgKyB1bnByZXBhcmUg Y2xvY2tzLgoKIGRyaXZlcnMvZG1hL2ZzbC1lZG1hLmMgfCAyOCArKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEvZnNsLWVkbWEuYyBiL2RyaXZlcnMvZG1hL2Zz bC1lZG1hLmMKaW5kZXggNjc3NWYyYzc0ZTI1Li5jNzU2ODg2OTI4NGUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZG1hL2ZzbC1lZG1hLmMKKysrIGIvZHJpdmVycy9kbWEvZnNsLWVkbWEuYwpAQCAtODYz LDExICs4NjMsMTEgQEAgc3RhdGljIHZvaWQgZnNsX2VkbWFfaXJxX2V4aXQoCiAJfQogfQogCi1z dGF0aWMgdm9pZCBmc2xfZGlzYWJsZV9jbG9ja3Moc3RydWN0IGZzbF9lZG1hX2VuZ2luZSAqZnNs X2VkbWEpCitzdGF0aWMgdm9pZCBmc2xfZGlzYWJsZV9jbG9ja3Moc3RydWN0IGZzbF9lZG1hX2Vu Z2luZSAqZnNsX2VkbWEsIGludCBucl9jbG9ja3MpCiB7CiAJaW50IGk7CiAKLQlmb3IgKGkgPSAw OyBpIDwgRE1BTVVYX05SOyBpKyspCisJZm9yIChpID0gMDsgaSA8IG5yX2Nsb2NrczsgaSsrKQog CQljbGtfZGlzYWJsZV91bnByZXBhcmUoZnNsX2VkbWEtPm11eGNsa1tpXSk7CiB9CiAKQEAgLTkw NCwyNSArOTA0LDI1IEBAIHN0YXRpYyBpbnQgZnNsX2VkbWFfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKIAogCQlyZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9S RVNPVVJDRV9NRU0sIDEgKyBpKTsKIAkJZnNsX2VkbWEtPm11eGJhc2VbaV0gPSBkZXZtX2lvcmVt YXBfcmVzb3VyY2UoJnBkZXYtPmRldiwgcmVzKTsKLQkJaWYgKElTX0VSUihmc2xfZWRtYS0+bXV4 YmFzZVtpXSkpCisJCWlmIChJU19FUlIoZnNsX2VkbWEtPm11eGJhc2VbaV0pKSB7CisJCQkvKiBv biBlcnJvcjogZGlzYWJsZSBhbGwgcHJldmlvdXNseSBlbmFibGVkIGNsa3MgKi8KKwkJCWZzbF9k aXNhYmxlX2Nsb2Nrcyhmc2xfZWRtYSwgaSk7CiAJCQlyZXR1cm4gUFRSX0VSUihmc2xfZWRtYS0+ bXV4YmFzZVtpXSk7CisJCX0KIAogCQlzcHJpbnRmKGNsa25hbWUsICJkbWFtdXglZCIsIGkpOwog CQlmc2xfZWRtYS0+bXV4Y2xrW2ldID0gZGV2bV9jbGtfZ2V0KCZwZGV2LT5kZXYsIGNsa25hbWUp OwogCQlpZiAoSVNfRVJSKGZzbF9lZG1hLT5tdXhjbGtbaV0pKSB7CiAJCQlkZXZfZXJyKCZwZGV2 LT5kZXYsICJNaXNzaW5nIERNQU1VWCBibG9jayBjbG9jay5cbiIpOworCQkJLyogb24gZXJyb3I6 IGRpc2FibGUgYWxsIHByZXZpb3VzbHkgZW5hYmxlZCBjbGtzICovCisJCQlmc2xfZGlzYWJsZV9j bG9ja3MoZnNsX2VkbWEsIGkpOwogCQkJcmV0dXJuIFBUUl9FUlIoZnNsX2VkbWEtPm11eGNsa1tp XSk7CiAJCX0KIAogCQlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUoZnNsX2VkbWEtPm11eGNsa1tp XSk7Ci0JCWlmIChyZXQpIHsKLQkJCS8qIGRpc2FibGUgb25seSBjbGtzIHdoaWNoIHdlcmUgZW5h YmxlZCBvbiBlcnJvciAqLwotCQkJZm9yICg7IGkgPj0gMDsgaS0tKQotCQkJCWNsa19kaXNhYmxl X3VucHJlcGFyZShmc2xfZWRtYS0+bXV4Y2xrW2ldKTsKLQotCQkJZGV2X2VycigmcGRldi0+ZGV2 LCAiRE1BTVVYIGNsayBibG9jayBmYWlsZWQuXG4iKTsKLQkJCXJldHVybiByZXQ7Ci0JCX0KKwkJ aWYgKHJldCkKKwkJCS8qIG9uIGVycm9yOiBkaXNhYmxlIGFsbCBwcmV2aW91c2x5IGVuYWJsZWQg Y2xrcyAqLworCQkJZnNsX2Rpc2FibGVfY2xvY2tzKGZzbF9lZG1hLCBpKTsKIAogCX0KIApAQCAt OTc2LDcgKzk3Niw3IEBAIHN0YXRpYyBpbnQgZnNsX2VkbWFfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKIAlpZiAocmV0KSB7CiAJCWRldl9lcnIoJnBkZXYtPmRldiwKIAkJCSJD YW4ndCByZWdpc3RlciBGcmVlc2NhbGUgZURNQSBlbmdpbmUuICglZClcbiIsIHJldCk7Ci0JCWZz bF9kaXNhYmxlX2Nsb2Nrcyhmc2xfZWRtYSk7CisJCWZzbF9kaXNhYmxlX2Nsb2Nrcyhmc2xfZWRt YSwgRE1BTVVYX05SKTsKIAkJcmV0dXJuIHJldDsKIAl9CiAKQEAgLTk4NSw3ICs5ODUsNyBAQCBz dGF0aWMgaW50IGZzbF9lZG1hX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJ CWRldl9lcnIoJnBkZXYtPmRldiwKIAkJCSJDYW4ndCByZWdpc3RlciBGcmVlc2NhbGUgZURNQSBv Zl9kbWEuICglZClcbiIsIHJldCk7CiAJCWRtYV9hc3luY19kZXZpY2VfdW5yZWdpc3RlcigmZnNs X2VkbWEtPmRtYV9kZXYpOwotCQlmc2xfZGlzYWJsZV9jbG9ja3MoZnNsX2VkbWEpOworCQlmc2xf ZGlzYWJsZV9jbG9ja3MoZnNsX2VkbWEsIERNQU1VWF9OUik7CiAJCXJldHVybiByZXQ7CiAJfQog CkBAIC0xMDE1LDcgKzEwMTUsNyBAQCBzdGF0aWMgaW50IGZzbF9lZG1hX3JlbW92ZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCWZzbF9lZG1hX2NsZWFudXBfdmNoYW4oJmZzbF9lZG1h LT5kbWFfZGV2KTsKIAlvZl9kbWFfY29udHJvbGxlcl9mcmVlKG5wKTsKIAlkbWFfYXN5bmNfZGV2 aWNlX3VucmVnaXN0ZXIoJmZzbF9lZG1hLT5kbWFfZGV2KTsKLQlmc2xfZGlzYWJsZV9jbG9ja3Mo ZnNsX2VkbWEpOworCWZzbF9kaXNhYmxlX2Nsb2Nrcyhmc2xfZWRtYSwgRE1BTVVYX05SKTsKIAog CXJldHVybiAwOwogfQo=