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,07/18] dmaengine: dma-jz4780: Add support for the JZ4770 SoC From: Paul Cercueil Message-Id: <20180721110643.19624-8-paul@crapouillou.net> Date: Sat, 21 Jul 2018 13:06:32 +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: VGhlIEpaNDc3MCBTb0MgaGFzIHR3byBETUEgY29yZXMsIGVhY2ggb25lIGZlYXR1cmluZyBzaXgg RE1BIGNoYW5uZWxzLgpUaGUgbWFqb3IgY2hhbmdlIGlzIHRoYXQgZWFjaCBjaGFubmVsJ3MgY2xv Y2sgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQKdGhyb3VnaCByZWdpc3RlciB3cml0ZXMuCgpT aWduZWQtb2ZmLWJ5OiBQYXVsIENlcmN1ZWlsIDxwYXVsQGNyYXBvdWlsbG91Lm5ldD4KVGVzdGVk LWJ5OiBNYXRoaWV1IE1hbGF0ZXJyZSA8bWFsYXRAZGViaWFuLm9yZz4KLS0tCiBkcml2ZXJzL2Rt YS9kbWEtano0NzgwLmMgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMo LSkKCiB2MjogLSBNb3ZlIHRyYW5zZmVyX29yZF9tYXggdmFyaWFibGUgdG8gdGhlIG5ldyBqejQ3 ODBfZG1hX3NvY19kYXRhCiAgICAgICBzdHJ1Y3R1cmUKICAgICAtIFRoZSBkb2N1bWVudGF0aW9u IHVwZGF0ZSBpcyBub3cgaW4gcGF0Y2ggMDEvMTcKCiB2MzogVGhlIEtjb25maWcgdXBkYXRlIHdh cyBkcm9wcGVkIHRoYW5rcyB0byBwYXRjaCAwNi8xOAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1h L2RtYS1qejQ3ODAuYyBiL2RyaXZlcnMvZG1hL2RtYS1qejQ3ODAuYwppbmRleCAyM2U5MmQxNTM5 MTkuLmE1ZjRhOGQ1NDUxNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEvZG1hLWp6NDc4MC5jCisr KyBiL2RyaXZlcnMvZG1hL2RtYS1qejQ3ODAuYwpAQCAtMjksNiArMjksOSBAQAogI2RlZmluZSBK Wl9ETUFfUkVHX0RJUlFQCTB4MDQKICNkZWZpbmUgSlpfRE1BX1JFR19ERFIJCTB4MDgKICNkZWZp bmUgSlpfRE1BX1JFR19ERFJTCQkweDBjCisjZGVmaW5lIEpaX0RNQV9SRUdfRENLRQkJMHgxMAor I2RlZmluZSBKWl9ETUFfUkVHX0RDS0VTCTB4MTQKKyNkZWZpbmUgSlpfRE1BX1JFR19EQ0tFQwkw eDE4CiAjZGVmaW5lIEpaX0RNQV9SRUdfRE1BQ1AJMHgxYwogI2RlZmluZSBKWl9ETUFfUkVHX0RT SVJRUAkweDIwCiAjZGVmaW5lIEpaX0RNQV9SRUdfRFNJUlFNCTB4MjQKQEAgLTEzMiwxMSArMTM1 LDEzIEBAIHN0cnVjdCBqejQ3ODBfZG1hX2NoYW4gewogfTsKIAogZW51bSBqel92ZXJzaW9uIHsK KwlJRF9KWjQ3NzAsCiAJSURfSlo0NzgwLAogfTsKIAogc3RydWN0IGp6NDc4MF9kbWFfc29jX2Rh dGEgewogCXVuc2lnbmVkIGludCBuYl9jaGFubmVsczsKKwl1bnNpZ25lZCBpbnQgdHJhbnNmZXJf b3JkX21heDsKIH07CiAKIHN0cnVjdCBqejQ3ODBfZG1hX2RldiB7CkBAIC0yMDAsNiArMjA1LDIw IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBqejQ3ODBfZG1hX2N0cmxfd3JpdGVsKHN0cnVjdCBqejQ3 ODBfZG1hX2RldiAqanpkbWEsCiAJd3JpdGVsKHZhbCwganpkbWEtPmN0cmxfYmFzZSArIHJlZyk7 CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBqejQ3ODBfZG1hX2NoYW5fZW5hYmxlKHN0cnVjdCBq ejQ3ODBfZG1hX2RldiAqanpkbWEsCisJdW5zaWduZWQgaW50IGNobikKK3sKKwlpZiAoanpkbWEt PnZlcnNpb24gPT0gSURfSlo0NzcwKQorCQlqejQ3ODBfZG1hX2N0cmxfd3JpdGVsKGp6ZG1hLCBK Wl9ETUFfUkVHX0RDS0VTLCBCSVQoY2huKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBqejQ3 ODBfZG1hX2NoYW5fZGlzYWJsZShzdHJ1Y3Qgano0NzgwX2RtYV9kZXYgKmp6ZG1hLAorCXVuc2ln bmVkIGludCBjaG4pCit7CisJaWYgKGp6ZG1hLT52ZXJzaW9uID09IElEX0paNDc3MCkKKwkJano0 NzgwX2RtYV9jdHJsX3dyaXRlbChqemRtYSwgSlpfRE1BX1JFR19EQ0tFQywgQklUKGNobikpOwor fQorCiBzdGF0aWMgc3RydWN0IGp6NDc4MF9kbWFfZGVzYyAqano0NzgwX2RtYV9kZXNjX2FsbG9j KAogCXN0cnVjdCBqejQ3ODBfZG1hX2NoYW4gKmp6Y2hhbiwgdW5zaWduZWQgaW50IGNvdW50LAog CWVudW0gZG1hX3RyYW5zYWN0aW9uX3R5cGUgdHlwZSkKQEAgLTIzNCw4ICsyNTMsMTAgQEAgc3Rh dGljIHZvaWQgano0NzgwX2RtYV9kZXNjX2ZyZWUoc3RydWN0IHZpcnRfZG1hX2Rlc2MgKnZkZXNj KQogCWtmcmVlKGRlc2MpOwogfQogCi1zdGF0aWMgdWludDMyX3Qgano0NzgwX2RtYV90cmFuc2Zl cl9zaXplKHVuc2lnbmVkIGxvbmcgdmFsLCB1aW50MzJfdCAqc2hpZnQpCitzdGF0aWMgdWludDMy X3Qgano0NzgwX2RtYV90cmFuc2Zlcl9zaXplKHN0cnVjdCBqejQ3ODBfZG1hX2NoYW4gKmp6Y2hh biwKKwl1bnNpZ25lZCBsb25nIHZhbCwgdWludDMyX3QgKnNoaWZ0KQogeworCXN0cnVjdCBqejQ3 ODBfZG1hX2RldiAqanpkbWEgPSBqejQ3ODBfZG1hX2NoYW5fcGFyZW50KGp6Y2hhbik7CiAJaW50 IG9yZCA9IGZmcyh2YWwpIC0gMTsKIAogCS8qCkBAIC0yNDcsOCArMjY4LDggQEAgc3RhdGljIHVp bnQzMl90IGp6NDc4MF9kbWFfdHJhbnNmZXJfc2l6ZSh1bnNpZ25lZCBsb25nIHZhbCwgdWludDMy X3QgKnNoaWZ0KQogCSAqLwogCWlmIChvcmQgPT0gMykKIAkJb3JkID0gMjsKLQllbHNlIGlmIChv cmQgPiA3KQotCQlvcmQgPSA3OworCWVsc2UgaWYgKG9yZCA+IGp6ZG1hLT5zb2NfZGF0YS0+dHJh bnNmZXJfb3JkX21heCkKKwkJb3JkID0ganpkbWEtPnNvY19kYXRhLT50cmFuc2Zlcl9vcmRfbWF4 OwogCiAJKnNoaWZ0ID0gb3JkOwogCkBAIC0zMDAsNyArMzIxLDcgQEAgc3RhdGljIGludCBqejQ3 ODBfZG1hX3NldHVwX2h3ZGVzYyhzdHJ1Y3Qgano0NzgwX2RtYV9jaGFuICpqemNoYW4sCiAJICog ZGl2aXNpYmxlIGJ5IHRoZSB0cmFuc2ZlciBzaXplLCBhbmQgd2UgbXVzdCBub3QgdXNlIG1vcmUg dGhhbiB0aGUKIAkgKiBtYXhpbXVtIGJ1cnN0IHNwZWNpZmllZCBieSB0aGUgdXNlci4KIAkgKi8K LQl0c3ogPSBqejQ3ODBfZG1hX3RyYW5zZmVyX3NpemUoYWRkciB8IGxlbiB8ICh3aWR0aCAqIG1h eGJ1cnN0KSwKKwl0c3ogPSBqejQ3ODBfZG1hX3RyYW5zZmVyX3NpemUoanpjaGFuLCBhZGRyIHwg bGVuIHwgKHdpZHRoICogbWF4YnVyc3QpLAogCQkJCSAgICAgICAmanpjaGFuLT50cmFuc2Zlcl9z aGlmdCk7CiAKIAlzd2l0Y2ggKHdpZHRoKSB7CkBAIC00MjksNyArNDUwLDcgQEAgc3RhdGljIHN0 cnVjdCBkbWFfYXN5bmNfdHhfZGVzY3JpcHRvciAqano0NzgwX2RtYV9wcmVwX2RtYV9tZW1jcHko CiAJaWYgKCFkZXNjKQogCQlyZXR1cm4gTlVMTDsKIAotCXRzeiA9IGp6NDc4MF9kbWFfdHJhbnNm ZXJfc2l6ZShkZXN0IHwgc3JjIHwgbGVuLAorCXRzeiA9IGp6NDc4MF9kbWFfdHJhbnNmZXJfc2l6 ZShqemNoYW4sIGRlc3QgfCBzcmMgfCBsZW4sCiAJCQkJICAgICAgICZqemNoYW4tPnRyYW5zZmVy X3NoaWZ0KTsKIAogCWp6Y2hhbi0+dHJhbnNmZXJfdHlwZSA9IEpaX0RNQV9EUlRfQVVUTzsKQEAg LTQ5MCw2ICs1MTEsOSBAQCBzdGF0aWMgdm9pZCBqejQ3ODBfZG1hX2JlZ2luKHN0cnVjdCBqejQ3 ODBfZG1hX2NoYW4gKmp6Y2hhbikKIAkJCShqemNoYW4tPmN1cnJfaHdkZXNjICsgMSkgJSBqemNo YW4tPmRlc2MtPmNvdW50OwogCX0KIAorCS8qIEVuYWJsZSB0aGUgY2hhbm5lbCdzIGNsb2NrLiAq LworCWp6NDc4MF9kbWFfY2hhbl9lbmFibGUoanpkbWEsIGp6Y2hhbi0+aWQpOworCiAJLyogVXNl IDQtd29yZCBkZXNjcmlwdG9ycy4gKi8KIAlqejQ3ODBfZG1hX2Nobl93cml0ZWwoanpkbWEsIGp6 Y2hhbi0+aWQsIEpaX0RNQV9SRUdfRENTLCAwKTsKIApAQCAtNTM3LDYgKzU2MSw4IEBAIHN0YXRp YyBpbnQgano0NzgwX2RtYV90ZXJtaW5hdGVfYWxsKHN0cnVjdCBkbWFfY2hhbiAqY2hhbikKIAkJ anpjaGFuLT5kZXNjID0gTlVMTDsKIAl9CiAKKwlqejQ3ODBfZG1hX2NoYW5fZGlzYWJsZShqemRt YSwganpjaGFuLT5pZCk7CisKIAl2Y2hhbl9nZXRfYWxsX2Rlc2NyaXB0b3JzKCZqemNoYW4tPnZj aGFuLCAmaGVhZCk7CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZqemNoYW4tPnZjaGFuLmxv Y2ssIGZsYWdzKTsKQEAgLTU0OCw4ICs1NzQsMTAgQEAgc3RhdGljIGludCBqejQ3ODBfZG1hX3Rl cm1pbmF0ZV9hbGwoc3RydWN0IGRtYV9jaGFuICpjaGFuKQogc3RhdGljIHZvaWQgano0NzgwX2Rt YV9zeW5jaHJvbml6ZShzdHJ1Y3QgZG1hX2NoYW4gKmNoYW4pCiB7CiAJc3RydWN0IGp6NDc4MF9k bWFfY2hhbiAqanpjaGFuID0gdG9fano0NzgwX2RtYV9jaGFuKGNoYW4pOworCXN0cnVjdCBqejQ3 ODBfZG1hX2RldiAqanpkbWEgPSBqejQ3ODBfZG1hX2NoYW5fcGFyZW50KGp6Y2hhbik7CiAKIAl2 Y2hhbl9zeW5jaHJvbml6ZSgmanpjaGFuLT52Y2hhbik7CisJano0NzgwX2RtYV9jaGFuX2Rpc2Fi bGUoanpkbWEsIGp6Y2hhbi0+aWQpOwogfQogCiBzdGF0aWMgaW50IGp6NDc4MF9kbWFfY29uZmln KHN0cnVjdCBkbWFfY2hhbiAqY2hhbiwKQEAgLTc3NSwxMCArODAzLDEyIEBAIHN0YXRpYyBzdHJ1 Y3QgZG1hX2NoYW4gKmp6NDc4MF9vZl9kbWFfeGxhdGUoc3RydWN0IG9mX3BoYW5kbGVfYXJncyAq ZG1hX3NwZWMsCiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgano0NzgwX2RtYV9zb2NfZGF0YSBq ejQ3ODBfZG1hX3NvY19kYXRhW10gPSB7Ci0JW0lEX0paNDc4MF0gPSB7IC5uYl9jaGFubmVscyA9 IDMyLCB9LAorCVtJRF9KWjQ3NzBdID0geyAubmJfY2hhbm5lbHMgPSA2LCAudHJhbnNmZXJfb3Jk X21heCA9IDYsIH0sCisJW0lEX0paNDc4MF0gPSB7IC5uYl9jaGFubmVscyA9IDMyLCAudHJhbnNm ZXJfb3JkX21heCA9IDcsIH0sCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9p ZCBqejQ3ODBfZG1hX2R0X21hdGNoW10gPSB7CisJeyAuY29tcGF0aWJsZSA9ICJpbmdlbmljLGp6 NDc3MC1kbWEiLCAuZGF0YSA9ICh2b2lkICopSURfSlo0NzcwIH0sCiAJeyAuY29tcGF0aWJsZSA9 ICJpbmdlbmljLGp6NDc4MC1kbWEiLCAuZGF0YSA9ICh2b2lkICopSURfSlo0NzgwIH0sCiAJe30s CiB9OwpAQCAtOTAxLDcgKzkzMSw5IEBAIHN0YXRpYyBpbnQgano0NzgwX2RtYV9wcm9iZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCSAqLwogCWp6NDc4MF9kbWFfY3RybF93cml0ZWwo anpkbWEsIEpaX0RNQV9SRUdfRE1BQywKIAkJCSAgSlpfRE1BX0RNQUNfRE1BRSB8IEpaX0RNQV9E TUFDX0ZNU0MpOwotCWp6NDc4MF9kbWFfY3RybF93cml0ZWwoanpkbWEsIEpaX0RNQV9SRUdfRE1B Q1AsIDApOworCisJaWYgKGp6ZG1hLT52ZXJzaW9uID09IElEX0paNDc4MCkKKwkJano0NzgwX2Rt YV9jdHJsX3dyaXRlbChqemRtYSwgSlpfRE1BX1JFR19ETUFDUCwgMCk7CiAKIAlJTklUX0xJU1Rf SEVBRCgmZGQtPmNoYW5uZWxzKTsKIAo=