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,03/18] dmaengine: dma-jz4780: Avoid hardcoding number of channels From: Paul Cercueil Message-Id: <20180721110643.19624-4-paul@crapouillou.net> Date: Sat, 21 Jul 2018 13:06:28 +0200 To: Vinod Koul , Rob Herring , Mark Rutland , Ralf Baechle , Paul Burton , James Hogan , Zubair Lutfullah Kakakhel Cc: Mathieu Malaterre , Daniel Silsby , Paul Cercueil , dmaengine@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mips@linux-mips.org List-ID: QXMgcGFydCBvZiB0aGUgd29yayB0byBzdXBwb3J0IHZhcmlvdXMgb3RoZXIgSW5nZW5pYyBKWjQ3 eHggU29DIHZlcnNpb25zLAp3aGljaCBkb24ndCBmZWF0dXJlIHRoZSBzYW1lIG51bWJlciBvZiBE TUEgY2hhbm5lbHMgcGVyIGNvcmUsIHdlIG5vdwpkZWR1Y2UgdGhlIG51bWJlciBvZiBETUEgY2hh bm5lbHMgYXZhaWxhYmxlIGZyb20gdGhlIGRldmljZXRyZWUKY29tcGF0aWJsZSBzdHJpbmcuCgpT aWduZWQtb2ZmLWJ5OiBQYXVsIENlcmN1ZWlsIDxwYXVsQGNyYXBvdWlsbG91Lm5ldD4KVGVzdGVk LWJ5OiBNYXRoaWV1IE1hbGF0ZXJyZSA8bWFsYXRAZGViaWFuLm9yZz4KLS0tCiBkcml2ZXJzL2Rt YS9kbWEtano0NzgwLmMgfCA1MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlv bnMoLSkKCiB2MjogLSBkb24ndCBoYXJkY29kZSBqel92ZXJzaW9uIHRvIElEX0paNDc4MCB3aGVu IG5vdCBwcm9iZWQgZnJvbSBEVCwKICAgICAgIGJlY2F1c2UgaXQgY2Fubm90IGhhcHBlbgogICAg IC0gUHV0IFNvQy1zcGVjaWZpYyBkYXRhIGludG8gYSBqejQ3ODBfZG1hX3NvY19kYXRhIHN0cnVj dHVyZQoKIHYzOiBObyBjaGFuZ2UKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS9kbWEtano0Nzgw LmMgYi9kcml2ZXJzL2RtYS9kbWEtano0NzgwLmMKaW5kZXggOTg3ODk5NjEwYjQ2Li5hMjYxMDdj ODVlZTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZG1hL2RtYS1qejQ3ODAuYworKysgYi9kcml2ZXJz L2RtYS9kbWEtano0NzgwLmMKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRl cnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9vZi5o PgorI2luY2x1ZGUgPGxpbnV4L29mX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L29mX2RtYS5o PgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3Ns YWIuaD4KQEAgLTIzLDggKzI0LDYgQEAKICNpbmNsdWRlICJkbWFlbmdpbmUuaCIKICNpbmNsdWRl ICJ2aXJ0LWRtYS5oIgogCi0jZGVmaW5lIEpaX0RNQV9OUl9DSEFOTkVMUwkzMgotCiAvKiBHbG9i YWwgcmVnaXN0ZXJzLiAqLwogI2RlZmluZSBKWl9ETUFfUkVHX0RNQUMJCTB4MTAwMAogI2RlZmlu ZSBKWl9ETUFfUkVHX0RJUlFQCTB4MTAwNApAQCAtMTM1LDE0ICsxMzQsMjQgQEAgc3RydWN0IGp6 NDc4MF9kbWFfY2hhbiB7CiAJdW5zaWduZWQgaW50IGN1cnJfaHdkZXNjOwogfTsKIAorZW51bSBq el92ZXJzaW9uIHsKKwlJRF9KWjQ3ODAsCit9OworCitzdHJ1Y3Qgano0NzgwX2RtYV9zb2NfZGF0 YSB7CisJdW5zaWduZWQgaW50IG5iX2NoYW5uZWxzOworfTsKKwogc3RydWN0IGp6NDc4MF9kbWFf ZGV2IHsKIAlzdHJ1Y3QgZG1hX2RldmljZSBkbWFfZGV2aWNlOwogCXZvaWQgX19pb21lbSAqYmFz ZTsKIAlzdHJ1Y3QgY2xrICpjbGs7CiAJdW5zaWduZWQgaW50IGlycTsKKwllbnVtIGp6X3ZlcnNp b24gdmVyc2lvbjsKKwljb25zdCBzdHJ1Y3Qgano0NzgwX2RtYV9zb2NfZGF0YSAqc29jX2RhdGE7 CiAKIAl1aW50MzJfdCBjaGFuX3Jlc2VydmVkOwotCXN0cnVjdCBqejQ3ODBfZG1hX2NoYW4gY2hh bltKWl9ETUFfTlJfQ0hBTk5FTFNdOworCXN0cnVjdCBqejQ3ODBfZG1hX2NoYW4gY2hhbltdOwog fTsKIAogc3RydWN0IGp6NDc4MF9kbWFfZmlsdGVyX2RhdGEgewpAQCAtNjQ4LDcgKzY1Nyw3IEBA IHN0YXRpYyBpcnFyZXR1cm5fdCBqejQ3ODBfZG1hX2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQg KmRhdGEpCiAKIAlwZW5kaW5nID0gano0NzgwX2RtYV9yZWFkbChqemRtYSwgSlpfRE1BX1JFR19E SVJRUCk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgSlpfRE1BX05SX0NIQU5ORUxTOyBpKyspIHsKKwlm b3IgKGkgPSAwOyBpIDwganpkbWEtPnNvY19kYXRhLT5uYl9jaGFubmVsczsgaSsrKSB7CiAJCWlm ICghKHBlbmRpbmcgJiAoMTw8aSkpKQogCQkJY29udGludWU7CiAKQEAgLTcyOCw3ICs3MzcsNyBA QCBzdGF0aWMgc3RydWN0IGRtYV9jaGFuICpqejQ3ODBfb2ZfZG1hX3hsYXRlKHN0cnVjdCBvZl9w aGFuZGxlX2FyZ3MgKmRtYV9zcGVjLAogCWRhdGEuY2hhbm5lbCA9IGRtYV9zcGVjLT5hcmdzWzFd OwogCiAJaWYgKGRhdGEuY2hhbm5lbCA+IC0xKSB7Ci0JCWlmIChkYXRhLmNoYW5uZWwgPj0gSlpf RE1BX05SX0NIQU5ORUxTKSB7CisJCWlmIChkYXRhLmNoYW5uZWwgPj0ganpkbWEtPnNvY19kYXRh LT5uYl9jaGFubmVscykgewogCQkJZGV2X2VycihqemRtYS0+ZG1hX2RldmljZS5kZXYsCiAJCQkJ ImRldmljZSByZXF1ZXN0ZWQgbm9uLWV4aXN0ZW50IGNoYW5uZWwgJXVcbiIsCiAJCQkJZGF0YS5j aGFubmVsKTsKQEAgLTc1MiwxMyArNzYxLDI3IEBAIHN0YXRpYyBzdHJ1Y3QgZG1hX2NoYW4gKmp6 NDc4MF9vZl9kbWFfeGxhdGUoc3RydWN0IG9mX3BoYW5kbGVfYXJncyAqZG1hX3NwZWMsCiAJfQog fQogCitzdGF0aWMgY29uc3Qgc3RydWN0IGp6NDc4MF9kbWFfc29jX2RhdGEgano0NzgwX2RtYV9z b2NfZGF0YVtdID0geworCVtJRF9KWjQ3ODBdID0geyAubmJfY2hhbm5lbHMgPSAzMiwgfSwKK307 CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGp6NDc4MF9kbWFfZHRfbWF0Y2hb XSA9IHsKKwl7IC5jb21wYXRpYmxlID0gImluZ2VuaWMsano0NzgwLWRtYSIsIC5kYXRhID0gKHZv aWQgKilJRF9KWjQ3ODAgfSwKKwl7fSwKK307CitNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBqejQ3 ODBfZG1hX2R0X21hdGNoKTsKKwogc3RhdGljIGludCBqejQ3ODBfZG1hX3Byb2JlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7CiAJc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRl djsKKwljb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICpvZl9pZCA9IG9mX21hdGNoX2RldmljZSgK KwkJCWp6NDc4MF9kbWFfZHRfbWF0Y2gsIGRldik7CisJY29uc3Qgc3RydWN0IGp6NDc4MF9kbWFf c29jX2RhdGEgKnNvY19kYXRhOwogCXN0cnVjdCBqejQ3ODBfZG1hX2RldiAqanpkbWE7CiAJc3Ry dWN0IGp6NDc4MF9kbWFfY2hhbiAqanpjaGFuOwogCXN0cnVjdCBkbWFfZGV2aWNlICpkZDsKIAlz dHJ1Y3QgcmVzb3VyY2UgKnJlczsKKwllbnVtIGp6X3ZlcnNpb24gdmVyc2lvbjsKIAlpbnQgaSwg cmV0OwogCiAJaWYgKCFkZXYtPm9mX25vZGUpIHsKQEAgLTc2NiwxMCArNzg5LDE4IEBAIHN0YXRp YyBpbnQgano0NzgwX2RtYV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCQly ZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQlqemRtYSA9IGRldm1fa3phbGxvYyhkZXYsIHNpemVvZigq anpkbWEpLCBHRlBfS0VSTkVMKTsKKwl2ZXJzaW9uID0gKGVudW0ganpfdmVyc2lvbilvZl9pZC0+ ZGF0YTsKKwlzb2NfZGF0YSA9ICZqejQ3ODBfZG1hX3NvY19kYXRhW3ZlcnNpb25dOworCisJanpk bWEgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKmp6ZG1hKQorCQkJCSsgc2l6ZW9mKCpqemRt YS0+Y2hhbikgKiBzb2NfZGF0YS0+bmJfY2hhbm5lbHMsCisJCQkJR0ZQX0tFUk5FTCk7CiAJaWYg KCFqemRtYSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKKwlqemRtYS0+c29jX2RhdGEgPSBzb2NfZGF0 YTsKKwlqemRtYS0+dmVyc2lvbiA9IHZlcnNpb247CisKIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShw ZGV2LCBqemRtYSk7CiAKIAlyZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNP VVJDRV9NRU0sIDApOwpAQCAtODQ0LDcgKzg3NSw3IEBAIHN0YXRpYyBpbnQgano0NzgwX2RtYV9w cm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCiAJSU5JVF9MSVNUX0hFQUQoJmRk LT5jaGFubmVscyk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgSlpfRE1BX05SX0NIQU5ORUxTOyBpKysp IHsKKwlmb3IgKGkgPSAwOyBpIDwgc29jX2RhdGEtPm5iX2NoYW5uZWxzOyBpKyspIHsKIAkJanpj aGFuID0gJmp6ZG1hLT5jaGFuW2ldOwogCQlqemNoYW4tPmlkID0gaTsKIApAQCAtODg5LDE5ICs5 MjAsMTMgQEAgc3RhdGljIGludCBqejQ3ODBfZG1hX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQogCiAJZnJlZV9pcnEoanpkbWEtPmlycSwganpkbWEpOwogCi0JZm9yIChpID0g MDsgaSA8IEpaX0RNQV9OUl9DSEFOTkVMUzsgaSsrKQorCWZvciAoaSA9IDA7IGkgPCBqemRtYS0+ c29jX2RhdGEtPm5iX2NoYW5uZWxzOyBpKyspCiAJCXRhc2tsZXRfa2lsbCgmanpkbWEtPmNoYW5b aV0udmNoYW4udGFzayk7CiAKIAlkbWFfYXN5bmNfZGV2aWNlX3VucmVnaXN0ZXIoJmp6ZG1hLT5k bWFfZGV2aWNlKTsKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZp Y2VfaWQgano0NzgwX2RtYV9kdF9tYXRjaFtdID0gewotCXsgLmNvbXBhdGlibGUgPSAiaW5nZW5p YyxqejQ3ODAtZG1hIiwgLmRhdGEgPSBOVUxMIH0sCi0Je30sCi19OwotTU9EVUxFX0RFVklDRV9U QUJMRShvZiwgano0NzgwX2RtYV9kdF9tYXRjaCk7Ci0KIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1f ZHJpdmVyIGp6NDc4MF9kbWFfZHJpdmVyID0gewogCS5wcm9iZQkJPSBqejQ3ODBfZG1hX3Byb2Jl LAogCS5yZW1vdmUJCT0gano0NzgwX2RtYV9yZW1vdmUsCg==