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: [2/2] dma: xilinx: dpdma: Add the Xilinx DisplayPort DMA engine driver From: Vinod Koul Message-Id: <20180112141355.GO18649@localhost> Date: Fri, 12 Jan 2018 19:43:56 +0530 To: Hyun Kwon Cc: dmaengine@vger.kernel.org, devicetree@vger.kernel.org, Michal Simek , Tejas Upadhyay List-ID: T24gRnJpLCBKYW4gMDUsIDIwMTggYXQgMDY6MTQ6MDhQTSAtMDgwMCwgSHl1biBLd29uIHdyb3Rl Ogo+IFRoZSBaeW5xTVAgaW5jbHVkZXMgdGhlIERpc3BsYXlQb3J0IHN1YnN5c3RlbSB3aXRoIG93 biBETUEgZW5naW5lCj4gY2FsbGVkIERQRE1BLiBUaGUgRFBETUEgSVAgY29tZXMgd2l0aCA2IGlu ZGl2aWR1YWwgY2hhbm5lbHMKPiAoNCBmb3IgZGlzcGxheSwgMiBmb3IgYXVkaW8pLiBUaGlzIGRy aXZlciBpbXBsZW1lbnRzIERNQUVOR0lORSBBUEkKPiB3aGljaCBjYW4gYmUgdXNlZCBmb3IgYXVk aW8gKEFMU0EpIGFuZCBkaXNwbGF5IChEUk0pIGRyaXZlcnMuCgpUaGUgc3Vic3lzdGVtIG5hbWUg aXMgZG1hZW5naW5lLgoKPiBTaWduZWQtb2ZmLWJ5OiBIeXVuIEt3b24gPGh5dW4ua3dvbkB4aWxp bnguY29tPgo+IFNpZ25lZC1vZmYtYnk6IFRlamFzIFVwYWRoeWF5IDx0ZWphc3VAeGlsaW54LmNv bT4KPiBTaWduZWQtb2ZmLWJ5OiBNaWNoYWwgU2ltZWsgPG1pY2hhbC5zaW1la0B4aWxpbnguY29t Pgo+IC0tLQo+ICBNQUlOVEFJTkVSUyAgICAgICAgICAgICAgICAgICAgICAgfCAgICA3ICsKPiAg ZHJpdmVycy9kbWEvS2NvbmZpZyAgICAgICAgICAgICAgIHwgICAxOSArCj4gIGRyaXZlcnMvZG1h L3hpbGlueC9NYWtlZmlsZSAgICAgICB8ICAgIDEgKwo+ICBkcml2ZXJzL2RtYS94aWxpbngveGls aW54X2RwZG1hLmMgfCAyMzA5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK ClRoYXQgaXMgYSB2ZXJ5IGxvbmcgZmlsZSBmb3IgcmV2aWV3ISBQbHMgc3BsaXQgaXQgdXAgdG8g cmVhc29uYWJsZSBsb2dpY2FsCmNodW5rcwoKPiArY29uZmlnIFhJTElOWF9EUERNQV9ERUJVR19G Uwo+ICsgICAgICAgIGJvb2wgIlhpbGlueCBEUERNQSBkZWJ1Z2ZzIgo+ICsgICAgICAgIGRlcGVu ZHMgb24gREVCVUdfRlMgJiYgWElMSU5YX0RQRE1BCj4gKyAgICAgICAgaGVscAo+ICsgICAgICAg ICAgRW5hYmxlIHRoZSBkZWJ1Z2ZzIGNvZGUgZm9yIERQRE1BIGRyaXZlci4gVGhlIGRlYnVnZnMg Y29kZQo+ICsgICAgICAgICAgZW5hYmxlcyBkZWJ1Z2dpbmcgb3IgdGVzdGluZyByZWxhdGVkIGZl YXR1cmVzLiBJdCBleHBvc2VzIHNvbWUKPiArICAgICAgICAgIGxvdyBsZXZlbCBjb250cm9scyB0 byB0aGUgdXNlciBzcGFjZSB0byBoZWxwIHRlc3RpbmcgYXV0b21hdGlvbiwKPiArICAgICAgICAg IGFzIHdlbGwgYXMgY2FuIGVuYWJsZSBhZGRpdGlvbmFsIGRpYWdub3N0aWMgb3Igc3RhdGlzdGlj YWwKPiArICAgICAgICAgIGluZm9ybWF0aW9uLgoKd2h5IHNob3VsZCB0aGlzIGJlIGEgY29tcGls ZSBvcHRpb24KCj4gKyAqIFhpbGlueCBaeW5xTVAgRFBETUEgRW5naW5lIGRyaXZlcgo+ICsgKgo+ ICsgKiAgQ29weXJpZ2h0IChDKSAyMDE1IC0gMjAxOCBYaWxpbngsIEluYy4KPiArICoKPiArICog IEF1dGhvcjogSHl1biBXb28gS3dvbiA8aHl1bi5rd29uQHhpbGlueC5jb20+Cj4gKyAqCj4gKyAq IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCgp0aGlzIHNob3VsZCBiZSBmaXJzdCBs aW5lIGluIGZpbGUgd2l0aCBjOTkgc3R5bGUsCgovLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMAoKPiArICovCj4gKwo+ICsjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+Cj4gKyNpbmNs dWRlIDxsaW51eC9jbGsuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KPiArI2luY2x1 ZGUgPGxpbnV4L2RlbGF5Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KPiArI2luY2x1 ZGUgPGxpbnV4L2RtYWVuZ2luZS5oPgo+ICsjaW5jbHVkZSA8bGludXgvZG1hcG9vbC5oPgo+ICsj aW5jbHVkZSA8bGludXgvZ2ZwLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KPiAr I2luY2x1ZGUgPGxpbnV4L2lycXJldHVybi5oPgo+ICsjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+ Cj4gKyNpbmNsdWRlIDxsaW51eC9vZi5oPgo+ICsjaW5jbHVkZSA8bGludXgvb2ZfZG1hLmg+Cj4g KyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KPiArI2luY2x1ZGUgPGxpbnV4L3Nj aGVkLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9zcGlu bG9jay5oPgo+ICsjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KPiArI2luY2x1ZGUgPGxpbnV4L3Vh Y2Nlc3MuaD4KPiArI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KCmRvIHlvdSBuZWVkIGFsbCB0aGVz ZSBoZWFkZXJzPwoKPiArCj4gKyNpbmNsdWRlICIuLi9kbWFlbmdpbmUuaCIKPiArCj4gKy8qIERQ RE1BIHJlZ2lzdGVycyAqLwo+ICsjZGVmaW5lIFhJTElOWF9EUERNQV9FUlJfQ1RSTAkJCQkweDAK PiArI2RlZmluZSBYSUxJTlhfRFBETUFfSVNSCQkJCTB4NAo+ICsjZGVmaW5lIFhJTElOWF9EUERN QV9JTVIJCQkJMHg4Cj4gKyNkZWZpbmUgWElMSU5YX0RQRE1BX0lFTgkJCQkweGMKPiArI2RlZmlu ZSBYSUxJTlhfRFBETUFfSURTCQkJCTB4MTAKPiArI2RlZmluZSBYSUxJTlhfRFBETUFfSU5UUl9E RVNDX0RPTkVfTUFTSwkJKDB4M2YgPDwgMCkKCkdFTk1BU0soKSBmb3IgdGhpcyBhbmQgb3RoZXJz Cgo+ICsjZGVmaW5lIFhJTElOWF9EUERNQV9JTlRSX0RFU0NfRE9ORV9TSElGVAkJMAoKeW91IGNh biBkZWZpbmUgYSBjb21tb24gc2hpZnQgdXNpbmcgZmZzCgo+ICsgKiBzdHJ1Y3QgeGlsaW54X2Rw ZG1hX2h3X2Rlc2MgLSBEUERNQSBoYXJkd2FyZSBkZXNjcmlwdG9yCj4gKyAqIEBjb250cm9sOiBj b250cm9sIGNvbmZpZ3VyYXRpb24gZmllbGQKPiArICogQGRlc2NfaWQ6IGRlc2NyaXB0b3IgSUQK PiArICogQHhmZXJfc2l6ZTogdHJhbnNmZXIgc2l6ZQo+ICsgKiBAaHNpemVfc3RyaWRlOiBob3Jp em9udGFsIHNpemUgYW5kIHN0cmlkZQo+ICsgKiBAdGltZXN0YW1wX2xzYjogTFNCIG9mIHRpbWUg c3RhbXAKPiArICogQHRpbWVzdGFtcF9tc2I6IE1TQiBvZiB0aW1lIHN0YW1wCj4gKyAqIEBhZGRy X2V4dDogdXBwZXIgMTYgYml0IG9mIDQ4IGJpdCBhZGRyZXNzIChuZXh0X2Rlc2MgYW5kIHNyY19h ZGRyKQo+ICsgKiBAbmV4dF9kZXNjOiBuZXh0IGRlc2NyaXB0b3IgMzIgYml0IGFkZHJlc3MKPiAr ICogQHNyY19hZGRyOiBwYXlsb2FkIHNvdXJjZSBhZGRyZXNzIChsb3dlciAzMiBiaXQgb2YgMXN0 IDRLQiBwYWdlKQo+ICsgKiBAYWRkcl9leHRfMjM6IHVwcGVyIDE2IGJpdCBvZiA0OCBiaXQgYWRk cmVzcyAoc3JjX2FkZHIyIGFuZCBzcmNfYWRkcjMpCj4gKyAqIEBhZGRyX2V4dF80NTogdXBwZXIg MTYgYml0IG9mIDQ4IGJpdCBhZGRyZXNzIChzcmNfYWRkcjQgYW5kIHNyY19hZGRyNSkKPiArICog QHNyY19hZGRyMjogcGF5bG9hZCBzb3VyY2UgYWRkcmVzcyAobG93ZXIgMzIgYml0IG9mIDJuZCA0 S0IgcGFnZSkKPiArICogQHNyY19hZGRyMzogcGF5bG9hZCBzb3VyY2UgYWRkcmVzcyAobG93ZXIg MzIgYml0IG9mIDNyZCA0S0IgcGFnZSkKPiArICogQHNyY19hZGRyNDogcGF5bG9hZCBzb3VyY2Ug YWRkcmVzcyAobG93ZXIgMzIgYml0IG9mIDR0aCA0S0IgcGFnZSkKPiArICogQHNyY19hZGRyNTog cGF5bG9hZCBzb3VyY2UgYWRkcmVzcyAobG93ZXIgMzIgYml0IG9mIDV0aCA0S0IgcGFnZSkKCndo YXQgZG9lcyBpdCBtZWFuIChsb3dlciAzMiBiaXQgb2YgTnRoIDRLQiBwYWdlKQoKPiArc3RydWN0 IHhpbGlueF9kcGRtYV9zd19kZXNjIHsKPiArCXN0cnVjdCB4aWxpbnhfZHBkbWFfaHdfZGVzYyBo dzsKPiArCXN0cnVjdCBsaXN0X2hlYWQgbm9kZTsKPiArCWRtYV9hZGRyX3QgcGh5czsKCmRtYV9h ZGRyX3QgaXMgbm90IGEgcGh5c2ljYWwgYWRkcgoKPiArc3RydWN0IHhpbGlueF9kcGRtYV9kZXZp Y2Ugewo+ICsJc3RydWN0IGRtYV9kZXZpY2UgY29tbW9uOwo+ICsJdm9pZCBfX2lvbWVtICpyZWc7 Cj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXY7Cj4gKwo+ICsJc3RydWN0IGNsayAqYXhpX2NsazsKPiAr CXN0cnVjdCB4aWxpbnhfZHBkbWFfY2hhbiAqY2hhbltYSUxJTlhfRFBETUFfTlVNX0NIQU5dOwo+ ICsKPiArCWJvb2wgZXh0X2FkZHI7Cj4gKwl2b2lkICgqZGVzY19hZGRyKShzdHJ1Y3QgeGlsaW54 X2RwZG1hX3N3X2Rlc2MgKnN3X2Rlc2MsCj4gKwkJCSAgc3RydWN0IHhpbGlueF9kcGRtYV9zd19k ZXNjICpwcmV2LAo+ICsJCQkgIGRtYV9hZGRyX3QgZG1hX2FkZHJbXSwgdW5zaWduZWQgaW50IG51 bV9zcmNfYWRkcik7Cj4gK307Cj4gKwo+ICsjaWZkZWYgQ09ORklHX1hJTElOWF9EUERNQV9ERUJV R19GUwoKdGhpcyBjYW4gYmUgQ09ORklHX0RFQlVHRlMsIGFsc28gYW0gc2tpcHBpbmcgdGhpcyBw YXJ0IHRvIGZvY3VzIG9uIGRyaXZlci4KUGxzIHNwbGl0IHRoaXMgdG8gYSBzZXBhcmF0ZSBwYXRj aAoKPiArc3RhdGljIGludCB4aWxpbnhfZHBkbWFfY29uZmlnKHN0cnVjdCBkbWFfY2hhbiAqZGNo YW4sCj4gKwkJCSAgICAgICBzdHJ1Y3QgZG1hX3NsYXZlX2NvbmZpZyAqY29uZmlnKQo+ICt7Cj4g KwlpZiAoY29uZmlnLT5kaXJlY3Rpb24gIT0gRE1BX01FTV9UT19ERVYpCj4gKwkJcmV0dXJuIC1F SU5WQUw7Cgo/PyBXaHkgYXJlIHRoZSBjb25maWcgdmFsdWVzIG5vdCB1c2VkLCBob3cgZWxzZSBk byB5b3UgY29uZmlndXJlIHRoZQpjaGFubmVsPwoKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsK PiArc3RhdGljIGludCB4aWxpbnhfZHBkbWFfcGF1c2Uoc3RydWN0IGRtYV9jaGFuICpkY2hhbikK PiArewo+ICsJeGlsaW54X2RwZG1hX2NoYW5fcGF1c2UodG9feGlsaW54X2NoYW4oZGNoYW4pKTsK PiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGludCB4aWxpbnhfZHBkbWFfcmVz dW1lKHN0cnVjdCBkbWFfY2hhbiAqZGNoYW4pCj4gK3sKPiArCXhpbGlueF9kcGRtYV9jaGFuX3Vu cGF1c2UodG9feGlsaW54X2NoYW4oZGNoYW4pKTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsK PiArc3RhdGljIGludCB4aWxpbnhfZHBkbWFfdGVybWluYXRlX2FsbChzdHJ1Y3QgZG1hX2NoYW4g KmRjaGFuKQo+ICt7Cj4gKwlyZXR1cm4geGlsaW54X2RwZG1hX2NoYW5fdGVybWluYXRlX2FsbCh0 b194aWxpbnhfY2hhbihkY2hhbikpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCB4aWxpbnhfZHBk bWFfc3luY2hyb25pemUoc3RydWN0IGRtYV9jaGFuICpkY2hhbikKPiArewo+ICsJeGlsaW54X2Rw ZG1hX2NoYW5fc3luY2hyb25pemUodG9feGlsaW54X2NoYW4oZGNoYW4pKTsKPiArfQoKd2h5IGhh dmUgdGhlc2Ugd3JhcHBlcnMgd2hpY2ggZG8gbm90IGRvIGFueXRoaW5nPwoKPiArCj4gKwljaGFu LT5yZWcgPSB4ZGV2LT5yZWcgKyBYSUxJTlhfRFBETUFfQ0hfQkFTRSArIFhJTElOWF9EUERNQV9D SF9PRkZTRVQgKgo+ICsJCSAgICBjaGFuLT5pZDsKPiArCWNoYW4tPnN0YXR1cyA9IElETEU7Cj4g Kwo+ICsJc3Bpbl9sb2NrX2luaXQoJmNoYW4tPmxvY2spOwo+ICsJSU5JVF9MSVNUX0hFQUQoJmNo YW4tPmRvbmVfbGlzdCk7Cj4gKwlpbml0X3dhaXRxdWV1ZV9oZWFkKCZjaGFuLT53YWl0X3RvX3N0 b3ApOwo+ICsKPiArCXRhc2tsZXRfaW5pdCgmY2hhbi0+ZG9uZV90YXNrLCB4aWxpbnhfZHBkbWFf Y2hhbl9kb25lX3Rhc2ssCj4gKwkJICAgICAodW5zaWduZWQgbG9uZyljaGFuKTsKPiArCXRhc2ts ZXRfaW5pdCgmY2hhbi0+ZXJyX3Rhc2ssIHhpbGlueF9kcGRtYV9jaGFuX2Vycl90YXNrLAo+ICsJ CSAgICAgKHVuc2lnbmVkIGxvbmcpY2hhbik7CgpIYXZlIHlvdSBjaGVja2VkIHRoZSB2Y2hhbiBj b2RlLCBpIGRvbnQgc2VlIHRoYXQgdXNlZC4gSXQgd2lsbCBoZWxwIHlvdSBpbgpkZXNjcmlwdG9y IG1hbmFnZW1lbnQgYW5kIHJlZHVjZSBjb2RlIGZyb20gZHJpdmVyCgo+ICtzdGF0aWMgaW50IHhp bGlueF9kcGRtYV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiArewo+ICsJ c3RydWN0IHhpbGlueF9kcGRtYV9kZXZpY2UgKnhkZXY7Cj4gKwl1bnNpZ25lZCBpbnQgaTsKPiAr Cj4gKwl4ZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Cj4gKwo+ICsJeGlsaW54X2Rw ZG1hX2Rpc2FibGVfaW50cih4ZGV2KTsKPiArCW9mX2RtYV9jb250cm9sbGVyX2ZyZWUocGRldi0+ ZGV2Lm9mX25vZGUpOwo+ICsJZG1hX2FzeW5jX2RldmljZV91bnJlZ2lzdGVyKCZ4ZGV2LT5jb21t b24pOwo+ICsJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHhkZXYtPmF4aV9jbGspOwo+ICsKPiArCWZv ciAoaSA9IDA7IGkgPCBYSUxJTlhfRFBETUFfTlVNX0NIQU47IGkrKykKPiArCQlpZiAoeGRldi0+ Y2hhbltpXSkKPiArCQkJeGlsaW54X2RwZG1hX2NoYW5fcmVtb3ZlKHhkZXYtPmNoYW5baV0pOwoK QXQgdGhpcyBwb2ludCB5b3VyIGlycSBpcyBzdGlsbCBlbmFibGVkIGFuZCBjYW4gZmlyZSwgYW5k IGNhbiBzY2hlZHVsZQp0YXNrbGV0Li4gQXJlIHlvdSBzdXJlIHlvdSBhcmUgb2theSB3aXRoIHRo YXQ/Cgo+ICtNT0RVTEVfQVVUSE9SKCJYaWxpbngsIEluYy4iKTsKPiArTU9EVUxFX0RFU0NSSVBU SU9OKCJYaWxpbnggRFBETUEgZHJpdmVyIik7Cj4gK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsK Ck5vIE1PRFVMRV9BTElBUygpPwoKSSBoYXZlbid0IHJldmlld2VkIGluIGRldGFpbHMgdGhvdWdo IGFzIGl0IGlzIHRvbyBsYXJnZSBwYXRjaC4gUGxzIHVzZSB2Y2hhbgphbmQgc3BsaXQgdGhpbmdz IHVwIGZvciBiZXR0ZXIgcmV2aWV3Lgo=