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: [v4,03/18] dmaengine: dma-jz4780: Avoid hardcoding number of channels From: Paul Cercueil Message-Id: <20180807114218.20091-4-paul@crapouillou.net> Date: Tue, 7 Aug 2018 13:42:03 +0200 To: Vinod Koul , Rob Herring , Mark Rutland , Ralf Baechle , Paul Burton , James Hogan , Zubair Lutfullah Kakakhel Cc: 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 YS9kbWEtano0NzgwLmMgfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCiB2MjogLSBk b24ndCBoYXJkY29kZSBqel92ZXJzaW9uIHRvIElEX0paNDc4MCB3aGVuIG5vdCBwcm9iZWQgZnJv bSBEVCwKICAgICAgIGJlY2F1c2UgaXQgY2Fubm90IGhhcHBlbgogICAgIC0gUHV0IFNvQy1zcGVj aWZpYyBkYXRhIGludG8gYSBqejQ3ODBfZG1hX3NvY19kYXRhIHN0cnVjdHVyZQoKIHYzOiBObyBj aGFuZ2UKCiB2NDogUmVtb3ZlIGp6X3ZlcnNpb247IHBhc3MgdGhlIGp6NDc4MF9kbWFfc29jX2Rh dGEgc3RydWN0dXJlIHBvaW50ZXIKICAgICBhcyBkZXZpY2V0cmVlIG1hdGNoIGRhdGEsIGFuZCB1 c2UgZGV2aWNlX2dldF9tYXRjaF9kYXRhKCkuCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEvZG1h LWp6NDc4MC5jIGIvZHJpdmVycy9kbWEvZG1hLWp6NDc4MC5jCmluZGV4IDk4Nzg5OTYxMGI0Ni4u OWVjMjJjZjE1YTMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2RtYS9kbWEtano0NzgwLmMKKysrIGIv ZHJpdmVycy9kbWEvZG1hLWp6NDc4MC5jCkBAIC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSA8bGlu dXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGlu dXgvb2YuaD4KKyNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9v Zl9kbWEuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxs aW51eC9zbGFiLmg+CkBAIC0yMyw4ICsyNCw2IEBACiAjaW5jbHVkZSAiZG1hZW5naW5lLmgiCiAj aW5jbHVkZSAidmlydC1kbWEuaCIKIAotI2RlZmluZSBKWl9ETUFfTlJfQ0hBTk5FTFMJMzIKLQog LyogR2xvYmFsIHJlZ2lzdGVycy4gKi8KICNkZWZpbmUgSlpfRE1BX1JFR19ETUFDCQkweDEwMDAK ICNkZWZpbmUgSlpfRE1BX1JFR19ESVJRUAkweDEwMDQKQEAgLTEzNSwxNCArMTM0LDE5IEBAIHN0 cnVjdCBqejQ3ODBfZG1hX2NoYW4gewogCXVuc2lnbmVkIGludCBjdXJyX2h3ZGVzYzsKIH07CiAK K3N0cnVjdCBqejQ3ODBfZG1hX3NvY19kYXRhIHsKKwl1bnNpZ25lZCBpbnQgbmJfY2hhbm5lbHM7 Cit9OworCiBzdHJ1Y3Qgano0NzgwX2RtYV9kZXYgewogCXN0cnVjdCBkbWFfZGV2aWNlIGRtYV9k ZXZpY2U7CiAJdm9pZCBfX2lvbWVtICpiYXNlOwogCXN0cnVjdCBjbGsgKmNsazsKIAl1bnNpZ25l ZCBpbnQgaXJxOworCWNvbnN0IHN0cnVjdCBqejQ3ODBfZG1hX3NvY19kYXRhICpzb2NfZGF0YTsK IAogCXVpbnQzMl90IGNoYW5fcmVzZXJ2ZWQ7Ci0Jc3RydWN0IGp6NDc4MF9kbWFfY2hhbiBjaGFu W0paX0RNQV9OUl9DSEFOTkVMU107CisJc3RydWN0IGp6NDc4MF9kbWFfY2hhbiBjaGFuW107CiB9 OwogCiBzdHJ1Y3Qgano0NzgwX2RtYV9maWx0ZXJfZGF0YSB7CkBAIC02NDgsNyArNjUyLDcgQEAg c3RhdGljIGlycXJldHVybl90IGp6NDc4MF9kbWFfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAq ZGF0YSkKIAogCXBlbmRpbmcgPSBqejQ3ODBfZG1hX3JlYWRsKGp6ZG1hLCBKWl9ETUFfUkVHX0RJ UlFQKTsKIAotCWZvciAoaSA9IDA7IGkgPCBKWl9ETUFfTlJfQ0hBTk5FTFM7IGkrKykgeworCWZv ciAoaSA9IDA7IGkgPCBqemRtYS0+c29jX2RhdGEtPm5iX2NoYW5uZWxzOyBpKyspIHsKIAkJaWYg KCEocGVuZGluZyAmICgxPDxpKSkpCiAJCQljb250aW51ZTsKIApAQCAtNzI4LDcgKzczMiw3IEBA IHN0YXRpYyBzdHJ1Y3QgZG1hX2NoYW4gKmp6NDc4MF9vZl9kbWFfeGxhdGUoc3RydWN0IG9mX3Bo YW5kbGVfYXJncyAqZG1hX3NwZWMsCiAJZGF0YS5jaGFubmVsID0gZG1hX3NwZWMtPmFyZ3NbMV07 CiAKIAlpZiAoZGF0YS5jaGFubmVsID4gLTEpIHsKLQkJaWYgKGRhdGEuY2hhbm5lbCA+PSBKWl9E TUFfTlJfQ0hBTk5FTFMpIHsKKwkJaWYgKGRhdGEuY2hhbm5lbCA+PSBqemRtYS0+c29jX2RhdGEt Pm5iX2NoYW5uZWxzKSB7CiAJCQlkZXZfZXJyKGp6ZG1hLT5kbWFfZGV2aWNlLmRldiwKIAkJCQki ZGV2aWNlIHJlcXVlc3RlZCBub24tZXhpc3RlbnQgY2hhbm5lbCAldVxuIiwKIAkJCQlkYXRhLmNo YW5uZWwpOwpAQCAtNzU1LDYgKzc1OSw3IEBAIHN0YXRpYyBzdHJ1Y3QgZG1hX2NoYW4gKmp6NDc4 MF9vZl9kbWFfeGxhdGUoc3RydWN0IG9mX3BoYW5kbGVfYXJncyAqZG1hX3NwZWMsCiBzdGF0aWMg aW50IGp6NDc4MF9kbWFfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIHsKIAlz dHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2OworCWNvbnN0IHN0cnVjdCBqejQ3ODBfZG1h X3NvY19kYXRhICpzb2NfZGF0YTsKIAlzdHJ1Y3Qgano0NzgwX2RtYV9kZXYgKmp6ZG1hOwogCXN0 cnVjdCBqejQ3ODBfZG1hX2NoYW4gKmp6Y2hhbjsKIAlzdHJ1Y3QgZG1hX2RldmljZSAqZGQ7CkBA IC03NjYsMTAgKzc3MSwxNyBAQCBzdGF0aWMgaW50IGp6NDc4MF9kbWFfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JanpkbWEgPSBk ZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKmp6ZG1hKSwgR0ZQX0tFUk5FTCk7CisJc29jX2RhdGEg PSBkZXZpY2VfZ2V0X21hdGNoX2RhdGEoZGV2KTsKKwlpZiAoIXNvY19kYXRhKQorCQlyZXR1cm4g LUVJTlZBTDsKKworCWp6ZG1hID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpqemRtYSkKKwkJ CQkrIHNpemVvZigqanpkbWEtPmNoYW4pICogc29jX2RhdGEtPm5iX2NoYW5uZWxzLAorCQkJCUdG UF9LRVJORUwpOwogCWlmICghanpkbWEpCiAJCXJldHVybiAtRU5PTUVNOwogCisJanpkbWEtPnNv Y19kYXRhID0gc29jX2RhdGE7CiAJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwganpkbWEpOwog CiAJcmVzID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsK QEAgLTg0NCw3ICs4NTYsNyBAQCBzdGF0aWMgaW50IGp6NDc4MF9kbWFfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikKIAogCUlOSVRfTElTVF9IRUFEKCZkZC0+Y2hhbm5lbHMpOwog Ci0JZm9yIChpID0gMDsgaSA8IEpaX0RNQV9OUl9DSEFOTkVMUzsgaSsrKSB7CisJZm9yIChpID0g MDsgaSA8IHNvY19kYXRhLT5uYl9jaGFubmVsczsgaSsrKSB7CiAJCWp6Y2hhbiA9ICZqemRtYS0+ Y2hhbltpXTsKIAkJanpjaGFuLT5pZCA9IGk7CiAKQEAgLTg4OSwxNSArOTAxLDE5IEBAIHN0YXRp YyBpbnQgano0NzgwX2RtYV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAog CWZyZWVfaXJxKGp6ZG1hLT5pcnEsIGp6ZG1hKTsKIAotCWZvciAoaSA9IDA7IGkgPCBKWl9ETUFf TlJfQ0hBTk5FTFM7IGkrKykKKwlmb3IgKGkgPSAwOyBpIDwganpkbWEtPnNvY19kYXRhLT5uYl9j aGFubmVsczsgaSsrKQogCQl0YXNrbGV0X2tpbGwoJmp6ZG1hLT5jaGFuW2ldLnZjaGFuLnRhc2sp OwogCiAJZG1hX2FzeW5jX2RldmljZV91bnJlZ2lzdGVyKCZqemRtYS0+ZG1hX2RldmljZSk7CiAJ cmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgano0NzgwX2RtYV9zb2NfZGF0YSBq ejQ3ODBfZG1hX3NvY19kYXRhID0geworCS5uYl9jaGFubmVscyA9IDMyLAorfTsKKwogc3RhdGlj IGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgano0NzgwX2RtYV9kdF9tYXRjaFtdID0gewotCXsg LmNvbXBhdGlibGUgPSAiaW5nZW5pYyxqejQ3ODAtZG1hIiwgLmRhdGEgPSBOVUxMIH0sCisJeyAu Y29tcGF0aWJsZSA9ICJpbmdlbmljLGp6NDc4MC1kbWEiLCAuZGF0YSA9ICZqejQ3ODBfZG1hX3Nv Y19kYXRhIH0sCiAJe30sCiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgano0NzgwX2RtYV9k dF9tYXRjaCk7Cg==