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: [v5,1/2] dmaengine: 8250_mtk_dma: add Mediatek uart DMA support From: Long Cheng Message-Id: <1545047826.28871.69.camel@mhfsdcap03> Date: Mon, 17 Dec 2018 19:57:06 +0800 To: Sean Wang Cc: vkoul@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, Ryder Lee =?UTF-8?Q?=28=E6=9D=8E=E5=BA=9A=E8=AB=BA=29?= , Matthias Brugger , dan.j.williams@intel.com, gregkh@linuxfoundation.org, jslaby@suse.com, Sean Wang =?UTF-8?Q?=28=E7=8E=8B=E5=BF=97=E4=BA=98=29?= , dmaengine@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, srv_heupstream@mediatek.com, yingjoe.chen@mediatek.com, YT Shen , Long Cheng List-ID: T24gTW9uLCAyMDE4LTEyLTE3IGF0IDAyOjA3IC0wODAwLCBTZWFuIFdhbmcgd3JvdGU6Cj4gT24g TW9uLCBEZWMgMTcsIDIwMTggYXQgMTI6NDAgQU0gTG9uZyBDaGVuZyA8bG9uZy5jaGVuZ0BtZWRp YXRlay5jb20+IHdyb3RlOgo+ID4KPiA+IE9uIEZyaSwgMjAxOC0xMi0xNCBhdCAxMjowOSAtMDgw MCwgU2VhbiBXYW5nIHdyb3RlOgo+IAo+IDwgLi4uID4KPiAKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ ID4gPiArICAgICAgICAgICAgICAgbXRrX2RtYV9jaGFuX3dyaXRlKGMsIFZGRl9BRERSLCBjZmct PnNyY19hZGRyKTsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgIG10a19kbWFfY2hhbl93cml0 ZShjLCBWRkZfTEVOLCByeF9sZW4pOwo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgbXRrX2Rt YV9jaGFuX3dyaXRlKGMsIFZGRl9USFJFLCBWRkZfUlhfVEhSRShyeF9sZW4pKTsKPiA+ID4gPiA+ ID4gKyAgICAgICAgICAgICAgIG10a19kbWFfY2hhbl93cml0ZShjLAo+ID4gPiA+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZGRl9JTlRfRU4sIFZGRl9SWF9JTlRfRU4w X0IKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFZGRl9S WF9JTlRfRU4xX0IpOwo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgbXRrX2RtYV9jaGFuX3dy aXRlKGMsIFZGRl9JTlRfRkxBRywgVkZGX1JYX0lOVF9GTEFHX0NMUl9CKTsKPiA+ID4gPiA+ID4g KyAgICAgICAgICAgICAgIG10a19kbWFfY2hhbl93cml0ZShjLCBWRkZfRU4sIFZGRl9FTl9CKTsK PiA+ID4gPiA+Cj4gPiA+ID4gPiBJJ2QgcHJlZmVyIHRvIG1vdmUgdGhvc2UgY2hhbm5lbCBpbnRl cnJ1cHQgZW5hYmxlbWVudCB0bwo+ID4gPiA+ID4gLmRldmljZV9hbGxvY19jaGFuX3Jlc291cmNl cwo+ID4gPiA+ID4gYW5kIHJlbGF0ZWQgZGlzYWJsZW1lbnQgdG8gLmRldmljZV9mcmVlX2NoYW5f cmVzb3VyY2VzCj4gPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4gaSB0aGluayB0aGF0LCBmaXJzdCBu ZWVkIHNldCB0aGUgY29uZmlnIHRvIEhXLCBhbmQgdGhlIGVuYWJsZSB0aGUgRE1BLgo+ID4gPiA+ Cj4gPiA+Cj4gPiA+IEkndmUgcmVhZCB0aHJvdWdoIHRoZSBjbGllbnQgZHJpdmVyIGFuZCB0aGUg ZG1hZW5naW5lLCBJIHByb2JhYmx5IGtub3cKPiA+ID4gaG93IGludGVyYWN0aW9uIHRoZXkgd29y ayBhbmQgZmluZCBvdXQgdGhlcmUgaXMgc29tZXRoaW5nIHlvdSBzZWVtCj4gPiA+IGNvbXBsZXRl bHkgbWFrZSBhIHdyb25nLgo+ID4gPgo+ID4gPiBZb3UgY2FuJ3QgZG8gZW5hYmxlIERNQSB3aXRo IGVuYWJsaW5nIFZGRiBoZXJlLiBUaGF0IGNhdXNlcyBhIGJpZwo+ID4gPiBwcm9ibGVtLCBETUEg d291bGQgc2VsZiBkZWNpZGUgdG8gbW92ZSBkYXRhIGFuZCBub3QgbWFuYWdlZCBhbmQgaXNzdWVk Cj4gPiA+IGJ5IHRoZSBkbWFlbmdpbmUgZnJhbWV3b3JrLiBGb3IgaW5zdGFuY2UgaW4gRE1BIFR4 IHBhdGgsIGJlY2F1c2UgeW91Cj4gPiA+IGVuYWJsZSB0aGUgRE1BIGFuZCBETUEgIGJ1ZmZlciAo VkZGKSBhbmQgVUFSVCBUeCByaW5nIHVzZXMgdGhlIHNhbWUKPiA+ID4gbWVtb3J5IGFyZWEsICBE TUEgd291bGQgc2VsZiBzdGFydCB0byBtb3ZlIGRhdGEgb25jZSBkYXRhIGZyb20KPiA+ID4gdXNl cmxhbmQgZ28gaW4gVHggcmluZyBldmVuIHdpdGhvdXQgYmVpbmcgaXNzdWVkIGJ5IGRtYWVuZ2lu ZS4KPiA+ID4KPiA+ID4gSW5zdGVhZCwgeW91IHNob3VsZCBlbnN1cmUgYWxsIGRlc2NyaXB0b3Jz IGFyZSBiZWluZyBiYXRjaGVkIGJ5Cj4gPiA+IC5kZXZpY2VfcHJlcF9zbGF2ZV9zZyBhbmQgRE1B IGRvZXMgbm90IHN0YXJ0IG1vdmluZyBkYXRhIHVudGlsCj4gPiA+IC5kZXZpY2VfaXNzdWVfcGVu ZGluZyBkb25lIGFuZCBvbmNlIGRlc2NyaXB0b3JzIGFyZSBpc3N1ZWQsIERNQQo+ID4gPiBoYXJk d2FyZSBvciBzb2Z0d2FyZSBoYXZlIHRvIGRvIGl0IGFzIGZhc3QgYXMgcG9zc2libGUuCj4gPiA+ Cj4gPgo+ID4gdGhlIFZGRiBlbmFibGUganVzdCBlbmFibGUgdGhlIERNQSBmdW5jdGlvbi4gRE1B IGNhbid0IG1vdmUgZGF0YSBoZXJlLgo+ID4gTm93LCB0aGUgY29kZSBnZXQgbGVuZ3RoIG9mIHRo ZSBkYXRhIGluICcuZGV2aWNlX3ByZXBfc2xhdmVfc2cnLgo+ID4gQW5kIGxldCBETUEgbW92ZSBk YXRhIGluICcuZGV2aWNlX2lzc3VlX3BlbmRpbmcgZnVuY3Rpb24nLiBpbiBoZXJlLCBqdXN0Cj4g PiBlbmFibGUgdGhlIGZ1bmN0aW9uLgo+ID4KPiAKPiBNeSBhbGwgY3VyaW9zaXR5IGFyZSBhbGwg ZnJvbSB0aGUgZGVzY3JpcHRvciBwcm9ncmFtbWVkIGluCj4gLmRldmljZV9pc3N1ZV9wZW5kaW5n IGluIHRoZSBvdGhlciBkcml2ZXJzIGF0IGxlYXN0IGluY2x1ZGVzCj4gaW5mb3JtYXRpb24gc3Vj aCBkYXRhIGxlbmd0aCwgdGFyZ2V0IGFkZHJlc3MsIGFuZCBoYXJkd2FyZSBjb250cm9sCj4gY29k ZSwgYnV0IGluIHRoZSBkcml2ZXIgb25seSBpbmNsdWRlcyBkYXRhIGxlbmd0aCBhbmQgZXZlbiB0 aGUgdGFyZ2V0Cj4gYWRkcmVzcyBpcyBzZXQgdXAgYXQgZGV2aWNlX2NvbmZpZywgdGhhdCBzZWVt cyB1bnVzdWFsLgo+IAo+IEFuZCwgSXQgZG9lcyB0b28gZm9yIERNQV9ERVZfVE9fTUVNPyAgV2hh dCBJIHNlZSBpcyB0aGVyZSBpcyBhbG1vc3Qgbm8KPiBhbnkgY29kZSBiZSBwcm9ncmFtbWVkIGZv ciBraWNrIG9mZiB0aGUgaGFyZHdhcmUgZm9yIHRoZSBkaXJlY3Rpb24gYnV0Cj4gRE1BIHN0aWxs IGNhbiBtb3ZlLiBUaGF0IGlzIGFub3RoZXIgcG9pbnQgSSBnb3QgY29uZnVzZWQuCj4gCgo4MjUw X2RtYSBpbiB0dHksIG1hcHBpbmcgeG1pdCBidWZmZXIgdG8gRE1BIGJ1ZmZlci4gYW5kIHRoZSB0 eCBqdXN0IHVzZQp0aGUgb25seSBvbmUgYnVmZmVyLiBpdCdzIHJpbmcgYnVmZmVyLiA4MjUwX2Rt YSBzZXQgdGhlIGJlZ2luIGFkZHJlc3MKYW5kIGxlbmd0aCBvZiB0aGUgYnVmZmVyIGJ5IG1lYW5z IG9mICcuZGVpdmNlX2NvbmZpZycgZnVuY3Rpb24uIAp3aGVuIFRYIGhhcHBlbiwgdHR5X3dyaXRl IHdpbGwgd3JpdGUgZGF0YSB0byB4bWl0IGJ1ZmZlci4gaW4gODI1MF9kbWEsCndpbGwgc2V0IHRo ZSBhZGRyZXNzIGFuZCBsZW5ndGggb2YgdGhlIGRhdGEgYnkgbWVhbnMgb2YKJy5kZXZpY2VfcHJl cF9zbGF2ZV9zZycuIGJ1dCB0aGUgYWRkcmVzcyBpcyBpbiB0aGUgeG1pdCBidWZmZXIgcmFuZy4g dGhlCldQVCh3cml0ZSBwb2ludGVyKSwgUlBUKHJlYWQgcG9pbnRlcikgcmVnaXN0ZXJzIGFyZSBy ZWNvcmVkIHRoZSBETUEgZGF0YQp0cmFuc2ZlciBzdGF0dXMsIGluY2x1ZGUgdGhlIGN1cnJlbnQg bG9jYXRpb24gb2YgdHJhbnNtaXNzaW9uLiBhbmQgdGhlCmFwZG1hIGlzIG9ubHkgZm9yIFVBUlQu IFNvIGRvbid0IG5lZWQgcmVjb3JlZCB0aGUgdGhlIGFkZHJlc3Mgb2YgZGF0YSAsCnRhcmdldCBh ZGRyZXNzIGluICcuZGV2aWNlX3ByZXBfc2xhdmVfc2cnLgppbiAnLmRldmljZV9pc3N1ZV9wZW5k aW5nJywganVzdCB1c2luZyB0aGUgZGF0YSBsZW5ndGggZnJvbSBkZXNjcmlwdG9yLApXUFQgLCAg d2UgY2FuIGZpZ3VyZSBvdXQgd2hhdCdzIGRhdGEgbmVlZCB0byBtb3ZlLiB0aGVuIHVwZGF0ZSB0 aGUgV1BUCmFuZCBmbHVzaCBUWC4KClJYIHRvby4gUlggdXNlIG90aGVyIGJ1ZmZlciBpbiBpbnN0 ZWFkIG9mIFhNSVQgYnVmZmVyLiB3aGVuIFJYIGludGVycnVwdApjb21pbmcsIHdpbGwgdXBkYXRl IHRoZSBSUFQsIGFuZCA4MjUwX2RtYSB3aWxsIGdldCB0aGUgbGVuZ3RoIGZyb20gdmNoYW4KY29t cGxldGUuIHRoZW4gODI1MF9kbWEgY2FuIGdldCB0aGUgZGF0YS4KCj4gPiA+ID4gPiA+ICsKPiA+ ID4gPiA+ID4gKyAgICAgICAgICAgICAgIGlmICghYy0+cmVxdWVzdGVkKSB7Cj4gPiA+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgIGMtPnJlcXVlc3RlZCA9IHRydWU7Cj4gPiA+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHJlcXVlc3RfaXJxKG10a2QtPmRtYV9pcnFb Y2hhbi0+Y2hhbl9pZF0sCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG10a19kbWFfcnhfaW50ZXJydXB0LAo+ID4gPiA+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlFGX1RSSUdHRVJfTk9ORSwKPiA+ID4g PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS0JVSUxEX01P RE5BTUUsIGNoYW4pOwo+ID4gPiA+ID4KPiA+ID4gPiA+IElTUiByZWdpc3RyYXRpb24gdXN1YWxs eSBoYXBwZW5zIGFzIHRoZSBkcml2ZXIgZ290IHByb2JlLCBpdCBjYW4gZ2l2ZQo+ID4gPiA+ID4g dGhlIHN5c3RlbSBtb3JlIGZsZXhpYmlsaXR5IHRvIG1hbmFnZSBzdWNoIElSUSBhZmZpbml0eSBv biB0aGUgZmx5Lgo+ID4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+IGkgd2lsbCBtb3ZlIHRoZSByZXF1 ZXN0IGlycSB0byBhbGxvYyBjaGFubmVsLgo+ID4gPiA+Cj4gPiA+Cj4gPiA+IHdoeSBkb24ndCBs ZXQgaXQgZG9uZSBpbiBkcml2ZXIgcHJvYmU/Cj4gPiA+Cj4gPiB0aGVyZSBhcmUgbWFueSB1YXJ0 IHBvcnRzLCBsaWtlIFVBUlRbMC01XS4gaW4gcHJvYmUsIGp1c3QgZ2V0IHRoZSBhbGwKPiA+IGly cSBvZiBwb3J0cy4gd2hpY2ggcG9ydCBpcyB1c2luZywgd2hvIHJlcXVlc3QgaXJxLiBleGFtcGxl LCBVQVJUMSBpcwo+ID4gdXNpbmcuIHdlIGp1c3QgcmVxdWVzdCBpcnEgb2YgdWFydDEuIHVhcnQw LCB1YXJ0WzItNV0gZG9uJ3QgbmVlZCByZXF1ZXN0Cj4gPiBpcnEuCj4gPgo+ID4gPiA+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0IDwgMCkgewo+ID4gPiA+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRldl9lcnIoY2hhbi0+ZGV2aWNlLT5kZXYsICJDYW4n dCByZXF1ZXN0IHJ4IGRtYSBJUlFcbiIpOwo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICB9Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICB9Cj4gPiA+ID4gPiA+ICsgICAg ICAgfSBlbHNlIGlmIChjZmctPmRpcmVjdGlvbiA9PSBETUFfTUVNX1RPX0RFVikgICAgewo+ID4g PiA+ID4gPiArICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHR4X2xlbiA9IGNmZy0+ZHN0X2Fk ZHJfd2lkdGggKiAxMDI0Owo+ID4gPiA+ID4KPiA+ID4gPiA+IERpdHRvIGFzIGFib3ZlLCBpdCBz ZWVtcyB5b3Ugc2hvdWxkIHVzZSBjZmctPmRzdF9wb3J0X3dpbmRvd19zaXplCj4gPiA+ID4gPgo+ ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICBtdGtfZG1hX2NoYW5fd3Jp dGUoYywgVkZGX0FERFIsIGNmZy0+ZHN0X2FkZHIpOwo+ID4gPiA+ID4gPiArICAgICAgICAgICAg ICAgbXRrX2RtYV9jaGFuX3dyaXRlKGMsIFZGRl9MRU4sIHR4X2xlbik7Cj4gPiA+ID4gPiA+ICsg ICAgICAgICAgICAgICBtdGtfZG1hX2NoYW5fd3JpdGUoYywgVkZGX1RIUkUsIFZGRl9UWF9USFJF KHR4X2xlbikpOwo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgbXRrX2RtYV9jaGFuX3dyaXRl KGMsIFZGRl9JTlRfRkxBRywgVkZGX1RYX0lOVF9GTEFHX0NMUl9CKTsKPiA+ID4gPiA+ID4gKyAg ICAgICAgICAgICAgIG10a19kbWFfY2hhbl93cml0ZShjLCBWRkZfRU4sIFZGRl9FTl9CKTsKPiA+ ID4gPiA+Cj4gPiA+ID4gPiBkaXR0bywgSSdkIHByZWZlciB0byBtb3ZlIHRob3NlIGNoYW5uZWwg aW50ZXJydXB0IGVuYWJsZW1lbnQgdG8KPiA+ID4gPiA+IC5kZXZpY2VfYWxsb2NfY2hhbl9yZXNv dXJjZXMgYW5kIHJlbGF0ZWQgZGlzYWJsZW1lbnQgdG8KPiA+ID4gPiA+IC5kZXZpY2VfZnJlZV9j aGFuX3Jlc291cmNlcwo+ID4gPiA+ID4KPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArICAgICAg ICAgICAgICAgaWYgKCFjLT5yZXF1ZXN0ZWQpIHsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgYy0+cmVxdWVzdGVkID0gdHJ1ZTsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgcmV0ID0gcmVxdWVzdF9pcnEobXRrZC0+ZG1hX2lycVtjaGFuLT5jaGFuX2lkXSwK PiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXRr X2RtYV90eF9pbnRlcnJ1cHQsCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElSUUZfVFJJR0dFUl9OT05FLAo+ID4gPiA+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLQlVJTERfTU9ETkFNRSwgY2hhbik7Cj4g PiA+ID4gPgo+ID4gPiA+ID4gZGl0dG8sIHdlIGNhbiByZXF1ZXN0IElTUiB3aXRoIGRldm1fcmVx dWVzdF9pcnEgaW4gdGhlIGRyaXZlciBnb3QKPiA+ID4gPiA+IHByb2JlIGFuZCB0cmltIHRoZSBj LT5yZXF1ZXN0IG1lbWJlcgo+ID4gPiA+ID4KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgaWYgKHJldCA8IDApIHsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkZXZfZXJyKGNoYW4tPmRldmljZS0+ZGV2LCAiQ2FuJ3QgcmVxdWVzdCB0eCBkbWEg SVJRXG4iKTsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1 cm4gLUVJTlZBTDsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgfQo+ID4gPiA+ ID4gPiArICAgICAgICAgICAgICAgfQo+ID4gPiA+ID4gPiArICAgICAgIH0KPiA+ID4gPiA+ID4g Kwo+ID4gPiA+ID4gPiArICAgICAgIGlmIChtdGtkLT5zdXBwb3J0XzMzYml0cykKPiA+ID4gPiA+ ID4gKyAgICAgICAgICAgICAgIG10a19kbWFfY2hhbl93cml0ZShjLCBWRkZfNEdfU1VQUE9SVCwg VkZGXzRHX1NVUFBPUlRfQik7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKyAgICAgICBpZiAo bXRrX2RtYV9jaGFuX3JlYWQoYywgVkZGX0VOKSAhPSBWRkZfRU5fQikgewo+ID4gPiA+ID4gPiAr ICAgICAgICAgICAgICAgZGV2X2VycihjaGFuLT5kZXZpY2UtPmRldiwKPiA+ID4gPiA+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgImNvbmZpZyBkbWEgZGlyWyVkXSBmYWlsXG4iLCBjZmctPmRp cmVjdGlvbik7Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiA+ ID4gPiA+ID4gKyAgICAgICB9Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKyAgICAgICByZXR1 cm4gMDsKPiA+ID4gPiA+ID4gK30KPiA+ID4gPiA+ID4gKwo8IC4uLiA+Cg==