From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yong Wu Subject: Re: [PATCH v4 5/6] iommu/mediatek: Add mt8173 IOMMU driver Date: Wed, 12 Aug 2015 20:28:08 +0800 Message-ID: <1439382488.7382.23.camel@mhfsdcap03> References: <1438597279-2937-1-git-send-email-yong.wu@mediatek.com> <1438597279-2937-6-git-send-email-yong.wu@mediatek.com> <20150811153947.GF14980@8bytes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20150811153947.GF14980-zLv9SwRftAIdnm+yROfE0A@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Joerg Roedel Cc: Mark Rutland , Catalin Marinas , Will Deacon , youhua.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, Thierry Reding , k.zhang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, arnd-r2nGTMty4D4@public.gmane.org, Tomasz Figa , Rob Herring , linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Matthias Brugger , linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, pebolle-IWqWACnzNjzz+pZb47iToQ@public.gmane.org, frederic.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, srv_heupstream-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, Daniel Kurtz , Sasha Hauer , Lucas Stach List-Id: devicetree@vger.kernel.org T24gVHVlLCAyMDE1LTA4LTExIGF0IDE3OjM5ICswMjAwLCBKb2VyZyBSb2VkZWwgd3JvdGU6Cj4g T24gTW9uLCBBdWcgMDMsIDIwMTUgYXQgMDY6MjE6MThQTSArMDgwMCwgWW9uZyBXdSB3cm90ZToK PiA+ICsvKgo+ID4gKyAqIFRoZXJlIGlzIG9ubHkgb25lIGlvbW11IGRvbWFpbiBjYWxsZWQgdGhl IG00dSBkb21haW4gdGhhdAo+ID4gKyAqIGFsbCBNdWx0aW1lZGlhIG1vZHVsZXMgc2hhcmUuCj4g PiArICovCj4gPiArc3RhdGljIHN0cnVjdCBtdGtfaW9tbXVfZG9tYWluCSptNHVkb207Cj4gCj4g V2hhdCBpcyB0aGUgcmVhc29uIHlvdSBvbmx5IGltcGxlbWVudCBvbmUgZG9tYWluPyBDYW4ndCB0 aGUgSU9NTVUKPiBpc29sYXRlIGRpZmZlcmVudCBkZXZpY2VzIGZyb20gZWFjaCBvdGhlcj8KSGkg Sm9lcmcsCgogIFRoYW5rcyBmb3IgeW91ciByZXZpZXcuCiAgRnJvbSB5b3VyIGNvbW1lbnQsIHlv dSBtYXkgY2FyZSB0aGF0IHdlIHVzZSBvbmx5IG9uZSBkb21haW4uCgogIE91ciBIVyBpcyBjYWxs ZWQgbTR1KE11bHRpTWVkaWEgTWVtb3J5IE1hbmFnZW1lbnQgVW5pdCkgd2hpY2gKaGVscCBhbGwg dGhlIG11bHRpbWVkaWEgaGFyZHdhcmUgYWNjZXNzIHRoZSBkcmFtLCBpbmNsdWRlIGRpc3BsYXks dmlkZW8KZGVjb2RlLHZpZGVvIGVuY29kZSxjYW1lcmEsbWRwLGV0Yy4gQW5kIHRoZSBtNHUgaGFz IG9ubHkgb25lIHBhZ2V0YWJsZS4KKEFjdHVhbGx5IHRoZXJlIGlzIHR3byBwYWdldGFibGVzIGlu IG00dSwgb25lIGlzIHRoZSBub3JtYWwgcGFnZXRhYmxlLAp0aGUgb3RoZXIgaXMgc2VjdXJpdHkg cGFnZXRhYmxlLiBDdXJyZW50bHkgV2UgZG9uJ3QgaW1wbGVtZW50IHRoZQpzZWN1cml0eSBvbmUs IHNvIHRoZXJlIGlzIG9ubHkgb25lIHBhZ2V0YWJsZSBoZXJlLikKVGhhdCBpcyB0byBzYXkgYWxs IHRoZSBtdWx0aW1lZGlhIGRldmljZXMgYXJlIGluIHRoZSBtNHUgZG9tYWluIGFuZApzaGFyZSB0 aGUgbTR14oCZcyBwYWdldGFibGUuCgpTbyBXZSBoYXZlIG9ubHkgb25lIGRvbWFpbiBoZXJlLi4K Cj4gPiArc3RhdGljIHN0cnVjdCBpb21tdV9kb21haW4gKm10a19pb21tdV9kb21haW5fYWxsb2Mo dW5zaWduZWQgdHlwZSkKPiA+ICt7Cj4gPiArCXN0cnVjdCBtdGtfaW9tbXVfZG9tYWluICpwcml2 Owo+ID4gKwo+ID4gKwlpZiAodHlwZSAhPSBJT01NVV9ET01BSU5fVU5NQU5BR0VEICYmIHR5cGUg IT0gSU9NTVVfRE9NQUlOX0RNQSkKPiA+ICsJCXJldHVybiBOVUxMOwo+ID4gKwo+ID4gKwlpZiAo bTR1ZG9tKS8qIFRoZSBtNHUgZG9tYWluIGV4aXN0LiAqLwo+ID4gKwkJcmV0dXJuICZtNHVkb20t PmRvbWFpbjsKPiAKPiBUaGlzIGlzIG5vdCBnb2luZyB0byB3b3JrLiBJZiB5b3UgYWx3YXlzIHJl dHVybiB0aGUgc2FtZSBkb21haW4gdGhlCj4gaW9tbXUgY29yZSBtaWdodCByZS1pbml0aWFsaXpl IGRvbWFpbiBzdGF0ZSAoYW5kIG92ZXJ3cml0ZSBjaGFuZ2VkCj4gc3RhdGUpLiBBdCB0aGUgbW9t ZW50IHRoaXMgaXMgb25seSB0aGUgZG9tYWluLXR5cGUgd2hpY2ggd2lsbCBjaGFuZ2UKPiBldmVy eSB0aW1lIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkLCBidXQgdGhlcmUgbWlnaHQgYmUgbW9yZS4K CkluIG91ciB2M1sxXSwgIEkgZGlkbid0IHJldHVybiB0aGUgc2FtZSBkb21haW4sIFRoZW4gSSBo YXZlIHRvIHRyaWNrIGluCmF0dGFjaF9kZXZpY2UgbGlrZSBiZWxvdzoKLy89PT09PT09PT09PT0K c3RhdGljIGludCBtdGtfaW9tbXVfYXR0YWNoX2RldmljZShzdHJ1Y3QgaW9tbXVfZG9tYWluICpk b21haW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZGV2aWNlICpk ZXYpCnsKICAgICAgICBzdHJ1Y3QgZGV2aWNlICppbXVkZXYgPSB4eHh4OwogICAgICAgIC8qCiAg ICAgICAgICogUmVzZXJ2ZSBvbmUgaW9tbXUgZG9tYWluIGFzIHRoZSBtNHUgZG9tYWluIHdoaWNo CiAgICAgICAgICogYWxsIE11bHRpbWVkaWEgbW9kdWxlcyBzaGFyZSBhbmQgZnJlZSB0aGUgb3Ro ZXJzLgogICAgICAgICAqLwogICAgICAgIGlmICghaW11ZGV2LT5hcmNoZGF0YS5pb21tdSkKICAg ICAgICAgICAgICAgaW11ZGV2LT5hcmNoZGF0YS5pb21tdSA9IHByaXY7CiAgICAgICAgZWxzZSBp ZiAoaW11ZGV2LT5hcmNoZGF0YS5pb21tdSAhPSBwcml2KQogICAgICAgICAgICAgICBpb21tdV9k b21haW5fZnJlZShkb21haW4pOwogICAgICAgIHh4eHgKfQovLz09PT09PT09PT09PT09CkluIHRo aXMgdmVyc2lvbiwgSSB1c2VkIGEgZ2xvYmFsIHZhcmlhYmxlIHRvIHJlY29yZCB0aGUgbTR1IGRv bWFpbiB0aGVuCkkgY2FuIGRlbGV0ZSB0aGVzZSBjb2RlIGFuZCBtYWtlIGl0IHNpbXBsZS4KClRo ZW4gaG93IHNob3VsZCBJIGRvIGluIG91ciBjYXNlPyAuCklmIHdlIGNhbid0IHJldHVybiB0aGUg c2FtZSBkb21haW4gaGVyZSwgV2UgaGF2ZSB0byBhZGQgc29tZSBjb2RlIGxpa2UKYWJvdmUgaW4g dGhlIGF0dGFjaF9kZXZpY2UuCgpbMV06aHR0cDovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcv cGlwZXJtYWlsL2lvbW11LzIwMTUtSnVseS8wMTM2MzEuaHRtbAogCj4gCj4gPiArc3RhdGljIGlu dCBtdGtfaW9tbXVfYWRkX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gPiArewo+ID4gKwlz dHJ1Y3QgaW9tbXVfZ3JvdXAgKmdyb3VwOwo+ID4gKwlpbnQgcmV0Owo+ID4gKwo+ID4gKwlpZiAo IWRldi0+YXJjaGRhdGEuaW9tbXUpIC8qIE5vdCBhIGlvbW11IGNsaWVudCBkZXZpY2UgKi8KPiA+ ICsJCXJldHVybiAtRU5PREVWOwo+ID4gKwo+ID4gKwlncm91cCA9IGlvbW11X2dyb3VwX2dldChk ZXYpOwo+ID4gKwlpZiAoIWdyb3VwKSB7Cj4gPiArCQlncm91cCA9IGlvbW11X2dyb3VwX2FsbG9j KCk7Cj4gPiArCQlpZiAoSVNfRVJSKGdyb3VwKSkgewo+ID4gKwkJCWRldl9lcnIoZGV2LCAiRmFp bGVkIHRvIGFsbG9jYXRlIElPTU1VIGdyb3VwXG4iKTsKPiA+ICsJCQlyZXR1cm4gUFRSX0VSUihn cm91cCk7Cj4gPiArCQl9Cj4gPiArCX0KPiA+ICsKPiA+ICsJcmV0ID0gaW9tbXVfZ3JvdXBfYWRk X2RldmljZShncm91cCwgZGV2KTsKPiA+ICsJaWYgKHJldCkgewo+ID4gKwkJZGV2X2VycihkZXYs ICJGYWlsZWQgdG8gYWRkIElPTU1VIGdyb3VwXG4iKTsKPiA+ICsJCWdvdG8gZXJyX2dyb3VwX3B1 dDsKPiA+ICsJfQo+ID4gKwo+ID4gKwlyZXQgPSBpb21tdV9hdHRhY2hfZ3JvdXAoJm00dWRvbS0+ ZG9tYWluLCBncm91cCk7Cj4gPiArCWlmIChyZXQpCj4gPiArCQlkZXZfZXJyKGRldiwgIkZhaWxl ZCB0byBhdHRhY2ggSU9NTVUgZ3JvdXBcbiIpOwo+ID4gKwo+ID4gK2Vycl9ncm91cF9wdXQ6Cj4g PiArCWlvbW11X2dyb3VwX3B1dChncm91cCk7Cj4gPiArCXJldHVybiByZXQ7Cj4gPiArfQo+IAo+ IFB1dHRpbmcgZXZlcnkgZGV2aWNlIGludG8gaXRzIG93biBncm91cCBpbmRpY2F0ZXMgdGhhdCB0 aGUgSU9NTVUgY2FuCj4gaXNvbGF0ZSBiZXR3ZWVuIHNpbmdsZSBkZXZpY2VzIG9uIHRoZSBidXMs IHdoaWNoIG1ha2VzIGl0IGV2ZW4gbW9yZQo+IHF1ZXN0aW9uYWJsZSB0aGF0IHlvdSBvbmx5IGFs bG93IG9uZSBkb21haW4gZm9yIHRoZSB3aG9sZSBkcml2ZXIuCj4gCj4gCj4gCUpvZXJnCj4gCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaW9tbXUgbWFp bGluZyBsaXN0CmlvbW11QGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0dHBzOi8vbGlzdHMu bGludXhmb3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lvbW11