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: Add driver for Video Framebuffer IP From: Vinod Koul Message-Id: <20171222095519.GR18649@localhost> Date: Fri, 22 Dec 2017 15:25:19 +0530 To: Vishal Sagar Cc: Vishal Sagar , "dmaengine@vger.kernel.org" , Dinesh Kumar , "michal.simek@xilinx.com" , Jeff Mouroux , Radhey Shyam Pandey , Hyun Kwon , Maurice Penners , John Nichols List-ID: T24gRnJpLCBEZWMgMjIsIDIwMTcgYXQgMDg6MjA6NTJBTSArMDAwMCwgVmlzaGFsIFNhZ2FyIHdy b3RlOgo+ID4gCj4gPiBUaGUgc3Vic3l0ZW0gbmFtZSBpcyBkbWFlbmdpbmUhCj4gCj4gW1Zpc2hh bCBTYWdhcl0gCgpZb3UgZG9uJ3QgbmVlZCB0aGVzZSB0YWdzIHdoZW4gcmVwbHlpbmcgaW5saW5l IHN0eWxlCgo+IEFwb2xvZ2llcy4gVGhpcyBpcyBteSBmaXJzdCBpbnN0YW5jZSBvZiBzZW5kaW5n IGFjcm9zcyBwYXRjaGVzIHRvIGNvbW11bml0eS4gCj4gSSBzYXcgdGhlIHByZWNlZGVuY2UgZm9y IHRoaXMgaW4gb3RoZXIgeGlsaW54IGRyaXZlciBjb21taXQgbWVzc2FnZXMgc28ga2VwdCBpdCBh cyBpdCBpcy4KPiBJIHdpbGwgbWFrZSB0aGUgY2hhbmdlcyBhcyAiZG1hZW5naW5lOiB4aWxpbng6 ICIgaW4gbmV4dCB2ZXJzaW9uLgoKd2hpY2ggcHJlY2VkZW5jZT8KCiQgZ2l0IGxvZyAtLW9ubGlu ZSBkcml2ZXJzL2RtYS94aWxpbngvIHxncmVwICIgZG1hOiIgfHdjIC1sCjIKJCBnaXQgbG9nIC0t b25saW5lIGRyaXZlcnMvZG1hL3hpbGlueC8gfGdyZXAgIiBkbWFlbmdpbmU6ICIgfHdjIC1sCjUy Cgo+ID4gPiArc3RhdGljIExJU1RfSEVBRChmcm1idWZfY2hhbl9saXN0KTsKPiA+ID4gK3N0YXRp YyBERUZJTkVfTVVURVgoZnJtYnVmX2NoYW5fbGlzdF9sb2NrKTsKPiA+IAo+ID4gd2h5IGRvIHlv dSBuZWVkIHRoZXNlIGdsb2JhbHM/CgpQbGVhc2UgZml4IHlvdXIgTVVBIHRvIHdyYXAgYXQgODAg Y29sdW1ucywgSSBoYXZlIHJlZmxvd2VkIHlvdXIgdGV4dCB0byBmaXQuCgo+IFRoZSBmcmFtZSBi dWZmZXIgcmVhZCBhbmQgd3JpdGUgYXJlIFNvZnQgSVBzIHdoaWNoIGNhbiBiZSBjb25maWd1cmVk IHRvCj4gc3VwcG9ydCBkaWZmZXJlbnQgdmlkZW8gZm9ybWF0cy4gIFBsZWFzZSByZWZlciB0byBQ RzI3OCBQcm9kdWN0IEd1aWRlIGZvcgo+IFZpZGVvIEZyYW1lIEJ1ZmZlciBSZWFkIGFuZCBXcml0 ZSB2Mi4wLgoKaHVoIHdoeSBzaG91bGQgSSByZWZlciB0byB0aGF0IQoKPiBUaGUgY2xpZW50IGRy aXZlciB3b3VsZCB3YW50IHRvCj4ga25vdyB3aGF0IGFyZSB0aGUgdmlkZW8gZm9ybWF0cyBzdXBw b3J0ZWQgYW5kIHNldCB0aGUgZm9ybWF0IGFjY29yZGluZ2x5Lgo+IEZvciB0aGlzIHRoZXJlIGFy ZSBBUElzIGV4cG9zZWQgYnkgdGhpcyBkcml2ZXIuIAoKWW91IGFyZSAqbm90KiB0aGUgZmlyc3Qg ZHJpdmVyIHRvIHN1cHBvcnQgdGhlc2Uga2luZCBvZiB1c2UgY2FzZXMuCgo+IFRoZSBmcm1idWZf Y2hhbl9saXN0IGlzIGEgZ2xvYmFsIGxpc3Qgc28gdGhlIGRyaXZlciBjYW4gZGV0ZXJtaW5lIGlm IGEKPiBkbWFfY2hhbiBvYmplY3QgY2FuIHNhZmVseSBiZSB1bndyYXBwZWQgaW50byBhIHhpbGlu eF9mcm1idWZfY2hhbiBvYmplY3QuCj4gV2hlbiBhIGNsaWVudCBjYWxscyB4aWxpbnhfeGRtYV9z ZXRfY29uZmlnKCksIHdlIGFzc3VtZSBpdCBkb2VzIHNvIHdpdGhvdXQKPiBrbm93aW5nIGZvciBz dXJlIGlmIHRoZSBkbWFfY2hhbiBpbnN0YW5jZSBpdCBpcyBwYXNzaW5nIGluIGFjdHVhbGx5Cj4g cmVwcmVzZW50cyBhIEZyYW1lYnVmZmVyIGNoYW5uZWwgb3Igc29tZSBvdGhlciBjaGFubmVsLiAg IEJ5IGtlZXBpbmcgYQo+IGdsb2JhbCBsaXN0IG9mIGZyYW1lYnVmZmVyIGNoYW5uZWwgb2JqZWN0 cyB0aGF0IGhhdmUgYmVlbiByZWdpc3RlcmVkCj4gZHVyaW5nIHByb2JlLCB3ZSBjYW4gY29tcGFy ZSB0aGUgZG1hX2NoYW4gcmVmZXJlbmNlIHRvIG9uZSBhc3NvY2lhdGVkIHdpdGgKPiBhIGZyYW1l YnVmZmVyIGNoYW5uZWwgb2JqZWN0LiAgIAo+IAo+IElmIHRoZXkgbWF0Y2gsIHRoZW4gd2Uga25v dyB0aGF0IHRoZSBkbWFfY2hhbiBvYmplY3QgaW5zdGFuY2UgcmVwcmVzZW50cyBhCj4gZnJhbWVi dWZmZXIgYW5kIHdlIGNhbiBwcm9jZWVkIHRvIHNhZmVseSB1bndyYXAgdGhpcyBhbmQgZ2V0IGF0 IHRoZQo+IHVuZGVybHlpbmcgRnJhbWVidWZmZXIgY2hhbm5lbCB0byBhc3NpZ24gdGhlIHZpZGVv IGZvcm1hdC4gICAKPiAKPiBJZiBpdCBpcyBub3QgYSBtYXRjaCwgdGhlbiB0aGlzIGRtYSBjaGFu bmVsIGxpa2VseSByZXByZXNlbnRzIHNvbWUgb3RoZXIKPiBkbWEgdHlwZSAoZS5nLiB2ZG1hKSBh bmQgdGhpcyBjYWxsIGp1c3QgYmVjb21lcyBhIG5vLW9wLiAKClRoaXMgc291bmQgYSBiYWQgZGVz aWduIHRvIG1lLiBZb3UgaGF2ZSBkbWFfY2hhbiB3aGljaCB4aWxpbnhfY2hhbiB3b3VsZAp3cmFw IGFuZCB5b3Ugc2hvdWxkIGhhdmUgZXZlcnl0aGluZyBpbiB0aGF0LiBNYWtpbmcgdGhlbSBnbG9i YWxseSBhbmQgdGhlbgpsb29raW5nIHVwIGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBtZS4KCj4gPiBh bSBubyBEVCBleHBlcnQsIGJ1dCB0aGlzIGRvZXNuJ3QgbG9vayByaWdodCB0byBtZS4gQ2FyZSB0 byBleHBsYWluIHdoYXQgdGhpcwo+ID4gc3RydWN0IGRvZXM/Cj4gPiAKPiBbVmlzaGFsIFNhZ2Fy XSAKPiAKPiBUaGlzIHRhYmxlIGlzIGNvbnRhaW5zIG1ldGFkYXRhIGZvciBhbGwgdGhlIGRpZmZl cmVudCB2aWRlbyBmb3JtYXRzIHRoZXNlCj4gc29mdCBJUHMgc3VwcG9ydC4gIE9uZSBvciBtb3Jl IHN0cmluZ3MgbWF0Y2hpbmcgdGhlIC5kdHNfbmFtZSBtZW1iZXIgc2hhbGwKPiBiZSBwcmVzZW50 IGluIHRoZSBkZXZpY2UgdHJlZSBub2RlIHJlcHJlc2VudGluZyB0aGUgdmlkZW8gZm9ybWF0cyBz ZWxlY3RlZAo+IGJ5IHN5c3RlbSBkZXNpZ25lciB0byBvcHRpbWl6ZSBsb2dpYyBmb290cHJpbnQg b2YgdGhlIElQLgo+IAo+IEJhc2VkIG9uIHRoZSBzdHJpbmcgbmFtZXMgcHJlc2VudCwgYSBiaXRt YXNrIGVuYWJsZWRfdmlkX2ZtdHMgaXMgY3JlYXRlZAo+IHVzaW5nIHRoZSAuZm10X2JpdG1hc2sg bWVtYmVyIG9mIHZpZGVvIGZvcm1hdHMgbWVudGlvbmVkIGluIGRldmljZSB0cmVlLgo+IFdoZW4g YSBjbGllbnQgcmVxdWVzdHMgZm9yIGEgcGFydGljdWxhciBwaXhlbCBmb3JtYXQsIHRoZSBjb3Jy ZXNwb25kaW5nCj4gYml0IGlzIGNoZWNrZWQgYWdhaW5zdCB0aGlzIGJpdG1hc2sgdG8gZW5zdXJl IGl0IGlzIHZhbGlkLgo+IAo+IFdlIHN1cHBvcnQgYSBwcml2YXRlIEFQSSB0aGF0IGNsaWVudHMg Y2FuIGNhbGwgdG8gZ2V0IGEgbGlzdCBvZiBzdXBwb3J0ZWQKPiB2aWRlbyBmb3JtYXRzLiAgV2Ug dXNlIHRoZSBiaXRtYXNrIHRvIGZpbmQgb3V0IHdoaWNoIGZvcm1hdHMgYXJlCj4gc3VwcG9ydGVk LCB0aGVuIHB1bGwgZWl0aGVyIHRoZSBEUk0gb3IgVjRMMiAoZGVwZW5kaW5nIG9uIGNsaWVudCB0 eXBlKQo+IHBpeGVsIGZvcm1hdCBjb2RlcyBmcm9tIHRoaXMgdGFibGUgaW50byBhbiBhcnJheSBy ZXR1cm5lZCB0byB0aGUgY2xpZW50LgoKRE1BZW5naW5lIHNob3VsZCBub3QgY2FyZSBhYm91dCBp dC4gSXRzIGpvYiBpcyB0byBkbyBETUEsIHZpZGVvIGZvcm1hdHMgZXRjCmRvZXNuJ3Qgc2VlbSB0 byBiZWxvbmcgdG8gaXQsIGFyZSB3ZSBtaXNzaW5nIGEgdmlkZW8gY2xpZW50IGRyaXZlciBmb3Ig dGhpcz8KCj4gPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCB4aWxpbnhfZnJt YnVmX29mX2lkc1tdID0gewo+ID4gPiArCXsgLmNvbXBhdGlibGUgPSAieGxueCxheGktZnJtYnVm LXdyLXYyIiwKPiA+ID4gKwkJLmRhdGEgPSAodm9pZCAqKURNQV9ERVZfVE9fTUVNfSwKPiA+ID4g Kwl7IC5jb21wYXRpYmxlID0gInhsbngsYXhpLWZybWJ1Zi1yZC12MiIsCj4gPiA+ICsJCS5kYXRh ID0gKHZvaWQgKilETUFfTUVNX1RPX0RFVn0sCj4gPiAKPiA+IGlzIHRoZSBkaXJlY3Rpb24gYSBo dyBwcm9wZXJ0eSBvciBjb25maWd1cmFibGU/Cj4gW1Zpc2hhbCBTYWdhcl0gCj4gVGhlIGRpcmVj dGlvbiBpcyBhIGZpeGVkIGh3IHByb3BlcnR5LiBGcmFtZWJ1ZmZlciBXcml0ZSBJUCB3aWxsIHdy aXRlIEFYSTQKPiBzdHJlYW0gZGF0YSB0byBtZW1vcnkuICBGcmFtZWJ1ZmZlciBSZWFkIElQIHdp bGwgcmVhZCBmcmFtZSBkYXRhIGZyb20KPiBtZW1vcnkgYW5kIGNvbnZlcnQgdG8gQVhJNCBzdHJl YW0uCgpTbyBkdXJpbmcgcHJlcF94eHgsIGRvIHlvdSBmYWlsIGlmIHJlcXVlc3RlZCB0eG4gaXMg bm90IG9mIHNhbWUKZGlyZWN0aW9uPwoKPiA+ID4gK3N0YXRpYyBpbnQgZnJtYnVmX3ZlcmlmeV9m b3JtYXQoc3RydWN0IGRtYV9jaGFuICpjaGFuLCB1MzIgZm91cmNjLAo+ID4gPiArdTMyIHR5cGUp IHsKPiA+ID4gKwlzdHJ1Y3QgeGlsaW54X2ZybWJ1Zl9jaGFuICp4aWxfY2hhbiA9IHRvX3hpbGlu eF9jaGFuKGNoYW4pOwo+ID4gPiArCXUzMiBpLCBzeiA9IEFSUkFZX1NJWkUoeGlsaW54X2ZybWJ1 Zl9mb3JtYXRzKTsKPiA+ID4gKwo+ID4gPiArCWZvciAoaSA9IDA7IGkgPCBzejsgaSsrKSB7Cj4g PiA+ICsJCWlmICgodHlwZSA9PSBYRE1BX0RSTSAmJgo+ID4gPiArCQkgICAgIGZvdXJjYyAhPSB4 aWxpbnhfZnJtYnVmX2Zvcm1hdHNbaV0uZHJtX2ZtdCkgfHwKPiA+ID4gKwkJICAgKHR5cGUgPT0g WERNQV9WNEwyICYmCj4gPiA+ICsJCSAgICBmb3VyY2MgIT0geGlsaW54X2ZybWJ1Zl9mb3JtYXRz W2ldLnY0bDJfZm10KSkKPiA+IAo+ID4gdGhpcyBpcyB2ZXJ5IGhhcmQgdG8gcmVhZC4uCj4gW1Zp c2hhbCBTYWdhcl0gCj4gSGVyZSB3ZSBhcmUgY2hlY2tpbmcgaWYgdGhlIGZvdXJjYyB2aWRlbyBm b3JtYXQgbWF0Y2hlcyB0aGUgY29ycmVzcG9uZGluZwo+IGZvcm1hdCBiYXNlZCBvbiB0aGUgRE1B IGNsaWVudCBpZSBEUk0gb3IgVjRMMi4gIERvIHlvdSBzdWdnZXN0IHNvbWUgb3RoZXIKPiB3YXk/ CgpZZXMgbW9yZSByZWFkYWJpbGl0eSwgcGVyaGFwcyBtb3ZpbmcgdGhlIGNoZWNrIHRvIGEgaGVs cGVyIQoKPiA+ID4gK3N0YXRpYyBlbnVtIGRtYV9zdGF0dXMgeGlsaW54X2ZybWJ1Zl90eF9zdGF0 dXMoc3RydWN0IGRtYV9jaGFuCj4gPiAqZGNoYW4sCj4gPiA+ICsJCQkJCSAgICAgICBkbWFfY29v a2llX3QgY29va2llLAo+ID4gPiArCQkJCQkgICAgICAgc3RydWN0IGRtYV90eF9zdGF0ZSAqdHhz dGF0ZSkgewo+ID4gPiArCXJldHVybiBkbWFfY29va2llX3N0YXR1cyhkY2hhbiwgY29va2llLCB0 eHN0YXRlKTsKPiA+IAo+ID4gbm8gcmVzaWR1ZSBjYWxuPwo+ID4gCj4gW1Zpc2hhbCBTYWdhcl0g Cgo+IEkgZGlkbid0IHVuZGVyc3RhbmQgeW91ciBxdWVzdGlvbi4gQXJlIHlvdSBhc2tpbmcgaWYg d2UgY2FuIHJldHVybgo+IHJlc2lkdWFsIGJ5dGVzIHRyYW5zZmVycmVkPyAgVGhlIElQIGRvZXNu J3Qgc3VwcG9ydCBob3cgbWFueSBieXRlcyB3ZXJlCj4gc2VudCBpbiB0aGlzIGZyYW1lIGJlZm9y ZSBpdCB3YXMgc3RvcHBlZC4KCnRoZW4gc2V0IHR4X3N0YXR1cyBhcyBkbWFfY29va2llX3N0YXR1 cywgd2h5IHVzZSBhIHdyYXBwZXI/Cgo+ID4gPiArCWVyciA9IG9mX3Byb3BlcnR5X3JlYWRfdTMy KG5vZGUsICJ4bG54LGRtYS1hZGRyLXdpZHRoIiwKPiA+IAo+ID4gd2h5IG5vdCBkZXZpY2VfcHJv cGVydHlfcmVhZF91MzIKPiA+IAo+IFtWaXNoYWwgU2FnYXJdIAo+IE9mX3Byb3BlcnR5X3JlYWRf dTMyIGlzIG1vcmUgZmFtaWxpYXIuIExldCBtZSBrbm93IGlmIHRoaXMgaXMgb2sgb3IgSSBzaG91 bGQgY2hhbmdlIGl0LgoKWW91IGNhbiBnZXQgZmFtaWxpYXIgd2l0aCBkZXZpY2VfcHJvcGVydHlf cmVhZF91MzIoKSB3aGljaCBpcyBmaXJtd2FyZSBhZ25vc3RpYwpyZWFkIG1lY2hhbmlzbSEK