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: [01/14] dmaengine: dma-jz4780: Avoid hardcoding number of channels From: Paul Cercueil Message-Id: <20180703123214.23090-2-paul@crapouillou.net> Date: Tue, 3 Jul 2018 14:32:01 +0200 To: Vinod Koul , Rob Herring , Mark Rutland , Ralf Baechle , Paul Burton , James Hogan , Zubair Lutfullah Kakakhel Cc: Mathieu Malaterre , Daniel Silsby , dmaengine@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mips@linux-mips.org, Paul Cercueil List-ID: QXMgcGFydCBvZiB0aGUgd29yayB0byBzdXBwb3J0IHZhcmlvdXMgb3RoZXIgSW5nZW5pYyBKWjQ3 eHggU29DIHZlcnNpb25zLAp3aGljaCBkb24ndCBmZWF0dXJlIHRoZSBzYW1lIG51bWJlciBvZiBE TUEgY2hhbm5lbHMgcGVyIGNvcmUsIHdlIG5vdwpkZWR1Y2UgdGhlIG51bWJlciBvZiBETUEgY2hh bm5lbHMgYXZhaWxhYmxlIGZyb20gdGhlIGRldmljZXRyZWUKY29tcGF0aWJsZSBzdHJpbmcuCgpT aWduZWQtb2ZmLWJ5OiBQYXVsIENlcmN1ZWlsIDxwYXVsQGNyYXBvdWlsbG91Lm5ldD4KLS0tCiBk cml2ZXJzL2RtYS9kbWEtano0NzgwLmMgfCA1MyArKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEvZG1hLWp6NDc4MC5jIGIvZHJpdmVycy9k bWEvZG1hLWp6NDc4MC5jCmluZGV4IDg1ODIwYTJkNjlkNC4uYjQwZjQ5MWYwMzY3IDEwMDY0NAot LS0gYS9kcml2ZXJzL2RtYS9kbWEtano0NzgwLmMKKysrIGIvZHJpdmVycy9kbWEvZG1hLWp6NDc4 MC5jCkBAIC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5j bHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvb2YuaD4KKyNpbmNsdWRlIDxs aW51eC9vZl9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9vZl9kbWEuaD4KICNpbmNsdWRlIDxs aW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CkBAIC0yMyw4 ICsyNCw2IEBACiAjaW5jbHVkZSAiZG1hZW5naW5lLmgiCiAjaW5jbHVkZSAidmlydC1kbWEuaCIK IAotI2RlZmluZSBKWl9ETUFfTlJfQ0hBTk5FTFMJMzIKLQogLyogR2xvYmFsIHJlZ2lzdGVycy4g Ki8KICNkZWZpbmUgSlpfRE1BX1JFR19ETUFDCQkweDEwMDAKICNkZWZpbmUgSlpfRE1BX1JFR19E SVJRUAkweDEwMDQKQEAgLTEzNSwxNCArMTM0LDIwIEBAIHN0cnVjdCBqejQ3ODBfZG1hX2NoYW4g ewogCXVuc2lnbmVkIGludCBjdXJyX2h3ZGVzYzsKIH07CiAKK2VudW0ganpfdmVyc2lvbiB7CisJ SURfSlo0NzgwLAorfTsKKwogc3RydWN0IGp6NDc4MF9kbWFfZGV2IHsKIAlzdHJ1Y3QgZG1hX2Rl dmljZSBkbWFfZGV2aWNlOwogCXZvaWQgX19pb21lbSAqYmFzZTsKIAlzdHJ1Y3QgY2xrICpjbGs7 CiAJdW5zaWduZWQgaW50IGlycTsKKwl1bnNpZ25lZCBpbnQgbmJfY2hhbm5lbHM7CisJZW51bSBq el92ZXJzaW9uIHZlcnNpb247CiAKIAl1aW50MzJfdCBjaGFuX3Jlc2VydmVkOwotCXN0cnVjdCBq ejQ3ODBfZG1hX2NoYW4gY2hhbltKWl9ETUFfTlJfQ0hBTk5FTFNdOworCXN0cnVjdCBqejQ3ODBf ZG1hX2NoYW4gY2hhbltdOwogfTsKIAogc3RydWN0IGp6NDc4MF9kbWFfZmlsdGVyX2RhdGEgewpA QCAtNjQ4LDcgKzY1Myw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBqejQ3ODBfZG1hX2lycV9oYW5k bGVyKGludCBpcnEsIHZvaWQgKmRhdGEpCiAKIAlwZW5kaW5nID0gano0NzgwX2RtYV9yZWFkbChq emRtYSwgSlpfRE1BX1JFR19ESVJRUCk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgSlpfRE1BX05SX0NI QU5ORUxTOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwganpkbWEtPm5iX2NoYW5uZWxzOyBpKysp IHsKIAkJaWYgKCEocGVuZGluZyAmICgxPDxpKSkpCiAJCQljb250aW51ZTsKIApAQCAtNzI4LDcg KzczMyw3IEBAIHN0YXRpYyBzdHJ1Y3QgZG1hX2NoYW4gKmp6NDc4MF9vZl9kbWFfeGxhdGUoc3Ry dWN0IG9mX3BoYW5kbGVfYXJncyAqZG1hX3NwZWMsCiAJZGF0YS5jaGFubmVsID0gZG1hX3NwZWMt PmFyZ3NbMV07CiAKIAlpZiAoZGF0YS5jaGFubmVsID4gLTEpIHsKLQkJaWYgKGRhdGEuY2hhbm5l bCA+PSBKWl9ETUFfTlJfQ0hBTk5FTFMpIHsKKwkJaWYgKGRhdGEuY2hhbm5lbCA+PSBqemRtYS0+ bmJfY2hhbm5lbHMpIHsKIAkJCWRldl9lcnIoanpkbWEtPmRtYV9kZXZpY2UuZGV2LAogCQkJCSJk ZXZpY2UgcmVxdWVzdGVkIG5vbi1leGlzdGVudCBjaGFubmVsICV1XG4iLAogCQkJCWRhdGEuY2hh bm5lbCk7CkBAIC03NTIsMTkgKzc1Nyw0NSBAQCBzdGF0aWMgc3RydWN0IGRtYV9jaGFuICpqejQ3 ODBfb2ZfZG1hX3hsYXRlKHN0cnVjdCBvZl9waGFuZGxlX2FyZ3MgKmRtYV9zcGVjLAogCX0KIH0K IAorc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBqejQ3ODBfZG1hX25iX2NoYW5uZWxzW10gPSB7 CisJW0lEX0paNDc4MF0gPSAzMiwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNl X2lkIGp6NDc4MF9kbWFfZHRfbWF0Y2hbXSA9IHsKKwl7IC5jb21wYXRpYmxlID0gImluZ2VuaWMs ano0NzgwLWRtYSIsIC5kYXRhID0gKHZvaWQgKilJRF9KWjQ3ODAgfSwKKwl7fSwKK307CitNT0RV TEVfREVWSUNFX1RBQkxFKG9mLCBqejQ3ODBfZG1hX2R0X21hdGNoKTsKKwogc3RhdGljIGludCBq ejQ3ODBfZG1hX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7CiAJc3RydWN0 IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldjsKKwljb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICpv Zl9pZCA9IG9mX21hdGNoX2RldmljZSgKKwkJCWp6NDc4MF9kbWFfZHRfbWF0Y2gsIGRldik7CiAJ c3RydWN0IGp6NDc4MF9kbWFfZGV2ICpqemRtYTsKIAlzdHJ1Y3Qgano0NzgwX2RtYV9jaGFuICpq emNoYW47CiAJc3RydWN0IGRtYV9kZXZpY2UgKmRkOwogCXN0cnVjdCByZXNvdXJjZSAqcmVzOwor CWVudW0ganpfdmVyc2lvbiB2ZXJzaW9uOworCXVuc2lnbmVkIGludCBuYl9jaGFubmVsczsKIAlp bnQgaSwgcmV0OwogCi0JanpkbWEgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKmp6ZG1hKSwg R0ZQX0tFUk5FTCk7CisJaWYgKG9mX2lkKQorCQl2ZXJzaW9uID0gKGVudW0ganpfdmVyc2lvbilv Zl9pZC0+ZGF0YTsKKwllbHNlCisJCXZlcnNpb24gPSBJRF9KWjQ3ODA7IC8qIERlZmF1bHQgd2hl biBub3QgcHJvYmVkIGZyb20gRFQgKi8KKworCW5iX2NoYW5uZWxzID0gano0NzgwX2RtYV9uYl9j aGFubmVsc1t2ZXJzaW9uXTsKKworCWp6ZG1hID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpq emRtYSkKKwkJCQkrIHNpemVvZigqanpkbWEtPmNoYW4pICogbmJfY2hhbm5lbHMsCisJCQkJR0ZQ X0tFUk5FTCk7CiAJaWYgKCFqemRtYSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKKwlqemRtYS0+bmJf Y2hhbm5lbHMgPSBuYl9jaGFubmVsczsKKwlqemRtYS0+dmVyc2lvbiA9IHZlcnNpb247CisKIAlw bGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBqemRtYSk7CiAKIAlyZXMgPSBwbGF0Zm9ybV9nZXRf cmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOwpAQCAtODM5LDcgKzg3MCw3IEBAIHN0 YXRpYyBpbnQgano0NzgwX2RtYV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQog CiAJSU5JVF9MSVNUX0hFQUQoJmRkLT5jaGFubmVscyk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgSlpf RE1BX05SX0NIQU5ORUxTOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwganpkbWEtPm5iX2NoYW5u ZWxzOyBpKyspIHsKIAkJanpjaGFuID0gJmp6ZG1hLT5jaGFuW2ldOwogCQlqemNoYW4tPmlkID0g aTsKIApAQCAtODg0LDE5ICs5MTUsMTMgQEAgc3RhdGljIGludCBqejQ3ODBfZG1hX3JlbW92ZShz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCiAJZnJlZV9pcnEoanpkbWEtPmlycSwganpk bWEpOwogCi0JZm9yIChpID0gMDsgaSA8IEpaX0RNQV9OUl9DSEFOTkVMUzsgaSsrKQorCWZvciAo aSA9IDA7IGkgPCBqemRtYS0+bmJfY2hhbm5lbHM7IGkrKykKIAkJdGFza2xldF9raWxsKCZqemRt YS0+Y2hhbltpXS52Y2hhbi50YXNrKTsKIAogCWRtYV9hc3luY19kZXZpY2VfdW5yZWdpc3Rlcigm anpkbWEtPmRtYV9kZXZpY2UpOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0 IG9mX2RldmljZV9pZCBqejQ3ODBfZG1hX2R0X21hdGNoW10gPSB7Ci0JeyAuY29tcGF0aWJsZSA9 ICJpbmdlbmljLGp6NDc4MC1kbWEiLCAuZGF0YSA9IE5VTEwgfSwKLQl7fSwKLX07Ci1NT0RVTEVf REVWSUNFX1RBQkxFKG9mLCBqejQ3ODBfZG1hX2R0X21hdGNoKTsKLQogc3RhdGljIHN0cnVjdCBw bGF0Zm9ybV9kcml2ZXIgano0NzgwX2RtYV9kcml2ZXIgPSB7CiAJLnByb2JlCQk9IGp6NDc4MF9k bWFfcHJvYmUsCiAJLnJlbW92ZQkJPSBqejQ3ODBfZG1hX3JlbW92ZSwK