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,2/2] dmaengine: sprd: Add Spreadtrum DMA configuration From: Vinod Koul Message-Id: <20180517051447.GS13271@vkoul-mobl> Date: Thu, 17 May 2018 10:44:47 +0530 To: Baolin Wang Cc: dan.j.williams@intel.com, eric.long@spreadtrum.com, broonie@kernel.org, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: T24gMTEtMDUtMTgsIDIxOjA2LCBCYW9saW4gV2FuZyB3cm90ZToKPiArc3RydWN0IHNwcmRfZG1h X2NvbmZpZyB7Cj4gKwlzdHJ1Y3QgZG1hX3NsYXZlX2NvbmZpZyBjZmc7Cj4gKwl1MzIgYmxvY2tf bGVuOwo+ICsJdTMyIHRyYW5zY2F0aW9uX2xlbjsKCi9zL3RyYW5zY2F0aW9uL3RyYW5zYWN0aW9u Cgpub3cgaW4gY29kZSBJIHNlZSBibG9ja19sZW4gYW5kIHRoaXMgZmlsbGVkIGJ5IGxlbiB3aGlj aCBpcyBzZ19kbWFfbGVuKCk/ClNvIHdoeSB0d28gdmFyaWJhbGVzIHdoZW4geW91IGFyZSB1c2lu ZyBvbmx5IG9uZS4KClNlY29uZCwgeW91IGFyZSBzdG9yaW5nIHBhcmFtZXRlcnMgcHJvZ3JhbW1l ZCB0aHJ1IF9wcmVwIGNhbGwgaW50bwpfZG1hX2NvbmZpZy4gVGhhdCBpcyBub3QgY29ycmVjdC4K CldlIHVzZSB0aGVzZSB0byBzdG9yZSBjaGFubmVsIHBhcmFtZXRlcnMgYW5kIE5PVCB0cmFuc2Fj dGlvbiBwYXJhbWV0ZXJzIHdoaWNoCndvdWxkIGRpZmZlciB3aXRoIGVhY2ggdHhuLiBObyB3b25k ZXIgeW91IGNhbiBvbmx5IHN1cHBvcnQgb25seSAxIHR4biA6KQoKTGFzdGx5LCBpZiB0aGVzZSBh cmUgc2FtZSB2YWx1ZXMgd2h5IG5vdCB1c2Ugc3JjL2RzdG5fbWF4X2J1cnN0PwoKPiArc3RhdGlj IGVudW0gc3ByZF9kbWFfZGF0YXdpZHRoCj4gK3NwcmRfZG1hX2dldF9kYXRhd2lkdGgoZW51bSBk bWFfc2xhdmVfYnVzd2lkdGggYnVzd2lkdGgpCj4gK3sKPiArCXN3aXRjaCAoYnVzd2lkdGgpIHsK PiArCWNhc2UgRE1BX1NMQVZFX0JVU1dJRFRIXzFfQllURToKPiArCWNhc2UgRE1BX1NMQVZFX0JV U1dJRFRIXzJfQllURVM6Cj4gKwljYXNlIERNQV9TTEFWRV9CVVNXSURUSF80X0JZVEVTOgo+ICsJ Y2FzZSBETUFfU0xBVkVfQlVTV0lEVEhfOF9CWVRFUzoKPiArCQlyZXR1cm4gZmZzKGJ1c3dpZHRo KSAtIDE7Cj4gKwlkZWZhdWx0Ogo+ICsJCXJldHVybiBTUFJEX0RNQV9EQVRBV0lEVEhfNF9CWVRF UzsKCkRvZXMgZGVmYXVsdCBtYWtlIHNlbnNlLCBzaG91bGQgd2UgZXJyb3Igb3V0PwoKPiArc3Rh dGljIHUzMiBzcHJkX2RtYV9nZXRfc3RlcChlbnVtIGRtYV9zbGF2ZV9idXN3aWR0aCBidXN3aWR0 aCkKPiArewo+ICsJc3dpdGNoIChidXN3aWR0aCkgewo+ICsJY2FzZSBETUFfU0xBVkVfQlVTV0lE VEhfMV9CWVRFOgo+ICsJY2FzZSBETUFfU0xBVkVfQlVTV0lEVEhfMl9CWVRFUzoKPiArCWNhc2Ug RE1BX1NMQVZFX0JVU1dJRFRIXzRfQllURVM6Cj4gKwljYXNlIERNQV9TTEFWRV9CVVNXSURUSF84 X0JZVEVTOgo+ICsJCXJldHVybiBidXN3aWR0aDsKPiArCj4gKwlkZWZhdWx0Ogo+ICsJCXJldHVy biBTUFJEX0RNQV9EV09SRF9TVEVQOwoKRG9lcyBkZWZhdWx0IG1ha2Ugc2Vuc2UsIHNob3VsZCB3 ZSBlcnJvciBvdXQ/Cgo+ICtzdGF0aWMgaW50IHNwcmRfZG1hX2NvbmZpZyhzdHJ1Y3QgZG1hX2No YW4gKmNoYW4sIHN0cnVjdCBzcHJkX2RtYV9kZXNjICpzZGVzYywKPiArCQkJICAgZG1hX2FkZHJf dCBzcmMsIGRtYV9hZGRyX3QgZHN0LAo+ICsJCQkgICBzdHJ1Y3Qgc3ByZF9kbWFfY29uZmlnICpz bGF2ZV9jZmcpCj4gK3sKPiArCXN0cnVjdCBzcHJkX2RtYV9kZXYgKnNkZXYgPSB0b19zcHJkX2Rt YV9kZXYoY2hhbik7Cj4gKwlzdHJ1Y3Qgc3ByZF9kbWFfY2huICpzY2hhbiA9IHRvX3NwcmRfZG1h X2NoYW4oY2hhbik7Cj4gKwlzdHJ1Y3Qgc3ByZF9kbWFfY2huX2h3ICpodyA9ICZzZGVzYy0+Y2hu X2h3Owo+ICsJdTMyIGZpeF9tb2RlID0gMCwgZml4X2VuID0gMCwgd3JhcF9lbiA9IDAsIHdyYXBf bW9kZSA9IDA7Cj4gKwl1MzIgc3JjX2RhdGF3aWR0aCwgZHN0X2RhdGF3aWR0aCwgdGVtcDsKPiAr Cj4gKwlpZiAoc2xhdmVfY2ZnLT5jZmcuc2xhdmVfaWQpCj4gKwkJc2NoYW4tPmRldl9pZCA9IHNs YXZlX2NmZy0+Y2ZnLnNsYXZlX2lkOwo+ICsKPiArCWh3LT5jZmcgPSBTUFJEX0RNQV9ET05PVF9X QUlUX0JET05FIDw8IFNQUkRfRE1BX1dBSVRfQkRPTkVfT0ZGU0VUOwo+ICsKPiArCXRlbXAgPSBz bGF2ZV9jZmctPndyYXBfcHRyICYgU1BSRF9ETUFfTE9XX0FERFJfTUFTSzsKPiArCXRlbXAgfD0g KHNyYyA+PiBTUFJEX0RNQV9ISUdIX0FERFJfT0ZGU0VUKSAmIFNQUkRfRE1BX0hJR0hfQUREUl9N QVNLOwo+ICsJaHctPndyYXBfcHRyID0gdGVtcDsKPiArCj4gKwl0ZW1wID0gc2xhdmVfY2ZnLT53 cmFwX3RvICYgU1BSRF9ETUFfTE9XX0FERFJfTUFTSzsKPiArCXRlbXAgfD0gKGRzdCA+PiBTUFJE X0RNQV9ISUdIX0FERFJfT0ZGU0VUKSAmIFNQUkRfRE1BX0hJR0hfQUREUl9NQVNLOwo+ICsJaHct PndyYXBfdG8gPSB0ZW1wOwo+ICsKPiArCWh3LT5zcmNfYWRkciA9IHNyYyAmIFNQUkRfRE1BX0xP V19BRERSX01BU0s7Cj4gKwlody0+ZGVzX2FkZHIgPSBkc3QgJiBTUFJEX0RNQV9MT1dfQUREUl9N QVNLOwo+ICsKPiArCWlmICgoc2xhdmVfY2ZnLT5zcmNfc3RlcCAhPSAwICYmIHNsYXZlX2NmZy0+ ZHN0X3N0ZXAgIT0gMCkKPiArCSAgICB8fCAoc2xhdmVfY2ZnLT5zcmNfc3RlcCB8IHNsYXZlX2Nm Zy0+ZHN0X3N0ZXApID09IDApIHsKCnRoaXMgY2hlY2sgZG9lc250IHNlZW0gcmlnaHQgdG8gbWUs IHdoYXQgYXJlIHlvdSB0cnlpbmcgaGVyZT8KCj4gKwkJZml4X2VuID0gMDsKPiArCX0gZWxzZSB7 Cj4gKwkJZml4X2VuID0gMTsKPiArCQlpZiAoc2xhdmVfY2ZnLT5zcmNfc3RlcCkKPiArCQkJZml4 X21vZGUgPSAxOwo+ICsJCWVsc2UKPiArCQkJZml4X21vZGUgPSAwOwo+ICsJfQo+ICsKPiArCWlm IChzbGF2ZV9jZmctPndyYXBfcHRyICYmIHNsYXZlX2NmZy0+d3JhcF90bykgewo+ICsJCXdyYXBf ZW4gPSAxOwo+ICsJCWlmIChzbGF2ZV9jZmctPndyYXBfdG8gPT0gc3JjKSB7Cj4gKwkJCXdyYXBf bW9kZSA9IDA7Cj4gKwkJfSBlbHNlIGlmIChzbGF2ZV9jZmctPndyYXBfdG8gPT0gZHN0KSB7Cj4g KwkJCXdyYXBfbW9kZSA9IDE7Cj4gKwkJfSBlbHNlIHsKPiArCQkJZGV2X2VycihzZGV2LT5kbWFf ZGV2LmRldiwgImludmFsaWQgd3JhcCBtb2RlXG4iKTsKPiArCQkJcmV0dXJuIC1FSU5WQUw7Cj4g KwkJfQo+ICsJfQo+ICsKPiArCWh3LT5pbnRjID0gc2xhdmVfY2ZnLT5pbnRfbW9kZSB8IFNQUkRf RE1BX0NGR19FUlJfSU5UX0VOOwo+ICsKPiArCXNyY19kYXRhd2lkdGggPSBzcHJkX2RtYV9nZXRf ZGF0YXdpZHRoKHNsYXZlX2NmZy0+Y2ZnLnNyY19hZGRyX3dpZHRoKTsKPiArCWRzdF9kYXRhd2lk dGggPSBzcHJkX2RtYV9nZXRfZGF0YXdpZHRoKHNsYXZlX2NmZy0+Y2ZnLmRzdF9hZGRyX3dpZHRo KTsKPiArCj4gKwl0ZW1wID0gc3JjX2RhdGF3aWR0aCA8PCBTUFJEX0RNQV9TUkNfREFUQVdJRFRI X09GRlNFVDsKPiArCXRlbXAgfD0gZHN0X2RhdGF3aWR0aCA8PCBTUFJEX0RNQV9ERVNfREFUQVdJ RFRIX09GRlNFVDsKPiArCXRlbXAgfD0gc2xhdmVfY2ZnLT5yZXFfbW9kZSA8PCBTUFJEX0RNQV9S RVFfTU9ERV9PRkZTRVQ7Cj4gKwl0ZW1wIHw9IHdyYXBfbW9kZSA8PCBTUFJEX0RNQV9XUkFQX1NF TF9PRkZTRVQ7Cj4gKwl0ZW1wIHw9IHdyYXBfZW4gPDwgU1BSRF9ETUFfV1JBUF9FTl9PRkZTRVQ7 Cj4gKwl0ZW1wIHw9IGZpeF9tb2RlIDw8IFNQUkRfRE1BX0ZJWF9TRUxfT0ZGU0VUOwo+ICsJdGVt cCB8PSBmaXhfZW4gPDwgU1BSRF9ETUFfRklYX0VOX09GRlNFVDsKPiArCXRlbXAgfD0gc2xhdmVf Y2ZnLT5jZmcuc3JjX21heGJ1cnN0ICYgU1BSRF9ETUFfRlJHX0xFTl9NQVNLOwo+ICsJaHctPmZy Z19sZW4gPSB0ZW1wOwo+ICsKPiArCWh3LT5ibGtfbGVuID0gc2xhdmVfY2ZnLT5ibG9ja19sZW4g JiBTUFJEX0RNQV9CTEtfTEVOX01BU0s7Cj4gKwlody0+dHJzY19sZW4gPSBzbGF2ZV9jZmctPnRy YW5zY2F0aW9uX2xlbiAmIFNQUkRfRE1BX1RSU0NfTEVOX01BU0s7Cj4gKwo+ICsJdGVtcCA9IChz bGF2ZV9jZmctPmRzdF9zdGVwICYgU1BSRF9ETUFfVFJTRl9TVEVQX01BU0spIDw8Cj4gKwkJU1BS RF9ETUFfREVTVF9UUlNGX1NURVBfT0ZGU0VUOwo+ICsJdGVtcCB8PSAoc2xhdmVfY2ZnLT5zcmNf c3RlcCAmIFNQUkRfRE1BX1RSU0ZfU1RFUF9NQVNLKSA8PAo+ICsJCVNQUkRfRE1BX1NSQ19UUlNG X1NURVBfT0ZGU0VUOwo+ICsJaHctPnRyc2Zfc3RlcCA9IHRlbXA7Cj4gKwo+ICsJaHctPmZyZ19z dGVwID0gMDsKPiArCWh3LT5zcmNfYmxrX3N0ZXAgPSAwOwo+ICsJaHctPmRlc19ibGtfc3RlcCA9 IDA7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICtzdGF0aWMgc3RydWN0IGRtYV9hc3luY190eF9kZXNj cmlwdG9yICoKPiArc3ByZF9kbWFfcHJlcF9zbGF2ZV9zZyhzdHJ1Y3QgZG1hX2NoYW4gKmNoYW4s IHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsLAo+ICsJCSAgICAgICB1bnNpZ25lZCBpbnQgc2dsZW4s IGVudW0gZG1hX3RyYW5zZmVyX2RpcmVjdGlvbiBkaXIsCj4gKwkJICAgICAgIHVuc2lnbmVkIGxv bmcgZmxhZ3MsIHZvaWQgKmNvbnRleHQpCj4gK3sKPiArCXN0cnVjdCBzcHJkX2RtYV9jaG4gKnNj aGFuID0gdG9fc3ByZF9kbWFfY2hhbihjaGFuKTsKPiArCXN0cnVjdCBzcHJkX2RtYV9jb25maWcg KnNsYXZlX2NmZyA9ICZzY2hhbi0+c2xhdmVfY2ZnOwo+ICsJdTMyIHNyY19zdGVwID0gMCwgZHN0 X3N0ZXAgPSAwLCBsZW4gPSAwOwo+ICsJZG1hX2FkZHJfdCBzcmMgPSAwLCBkc3QgPSAwOwo+ICsJ c3RydWN0IHNwcmRfZG1hX2Rlc2MgKnNkZXNjOwo+ICsJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsK PiArCWludCByZXQsIGk7Cj4gKwo+ICsJLyogVE9ETzogbm93IHdlIG9ubHkgc3VwcG9ydCBvbmUg c2cgZm9yIGVhY2ggRE1BIGNvbmZpZ3VyYXRpb24uICovCj4gKwlpZiAoIWlzX3NsYXZlX2RpcmVj dGlvbihkaXIpIHx8IHNnbGVuID4gMSkKPiArCQlyZXR1cm4gTlVMTDsKPiArCj4gKwlzZGVzYyA9 IGt6YWxsb2Moc2l6ZW9mKCpzZGVzYyksIEdGUF9OT1dBSVQpOwo+ICsJaWYgKCFzZGVzYykKPiAr CQlyZXR1cm4gTlVMTDsKPiArCj4gKwlmb3JfZWFjaF9zZyhzZ2wsIHNnLCBzZ2xlbiwgaSkgewo+ ICsJCWxlbiA9IHNnX2RtYV9sZW4oc2cpOwo+ICsKPiArCQlpZiAoZGlyID09IERNQV9NRU1fVE9f REVWKSB7Cj4gKwkJCXNyYyA9IHNnX2RtYV9hZGRyZXNzKHNnKTsKPiArCQkJZHN0ID0gc2xhdmVf Y2ZnLT5jZmcuZHN0X2FkZHI7Cj4gKwkJCXNyY19zdGVwID0gc3ByZF9kbWFfZ2V0X3N0ZXAoc2xh dmVfY2ZnLT5jZmcuc3JjX2FkZHJfd2lkdGgpOwo+ICsJCQlkc3Rfc3RlcCA9IFNQUkRfRE1BX05P TkVfU1RFUDsKPiArCQl9IGVsc2Ugewo+ICsJCQlzcmMgPSBzbGF2ZV9jZmctPmNmZy5zcmNfYWRk cjsKPiArCQkJZHN0ID0gc2dfZG1hX2FkZHJlc3Moc2cpOwo+ICsJCQlzcmNfc3RlcCA9IFNQUkRf RE1BX05PTkVfU1RFUDsKPiArCQkJZHN0X3N0ZXAgPSBzcHJkX2RtYV9nZXRfc3RlcChzbGF2ZV9j ZmctPmNmZy5kc3RfYWRkcl93aWR0aCk7Cj4gKwkJfQo+ICsJfQo+ICsKPiArCXNwcmRfZG1hX2Zp bGxfY29uZmlnKHNsYXZlX2NmZywgc3JjX3N0ZXAsIGRzdF9zdGVwLCBsZW4sIGZsYWdzKTsKPiAr Cj4gKwlyZXQgPSBzcHJkX2RtYV9jb25maWcoY2hhbiwgc2Rlc2MsIHNyYywgZHN0LCBzbGF2ZV9j ZmcpOwo+ICsJaWYgKHJldCkgewo+ICsJCWtmcmVlKHNkZXNjKTsKPiArCQlyZXR1cm4gTlVMTDsK PiArCX0KCkFtIG1vcmUgaW50cmlndWVkIGhlcmUsIHRoZSBhYm92ZSBjYWxsIGZpbGxzIHlvdSBj b25maWcgc3RydWN0IGJ1dCB5b3UgZG8gbm90CnVzZSBpdC4uIHNvIHdoYXQgaXMgdGhlIHVzZSBv ZiB0aGF0Lgo=