From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v10 06/17] Xen: ARM: Add support for mapping platform device mmio Date: Wed, 6 Apr 2016 13:16:44 +0100 Message-ID: <5704FE2C.5000902__33466.7429364801$1459945090$gmane$org@arm.com> References: <1459525755-36968-1-git-send-email-shannon.zhao@linaro.org> <1459525755-36968-7-git-send-email-shannon.zhao@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1459525755-36968-7-git-send-email-shannon.zhao@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Shannon Zhao , linux-arm-kernel@lists.infradead.org, sstabellini@kernel.org Cc: devicetree@vger.kernel.org, linux-efi@vger.kernel.org, catalin.marinas@arm.com, will.deacon@arm.com, linux-kernel@vger.kernel.org, peter.huangpeng@huawei.com, david.vrabel@citrix.com, zhaoshenglong@huawei.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org SGkgU2hhbm5vbiwKClNvcnJ5IHRvIGNvbWUgbGF0ZSBpbiB0aGUgcmV2aWV3IHByb2Nlc3MuCgpP biAwMS8wNC8yMDE2IDE2OjQ5LCBTaGFubm9uIFpoYW8gd3JvdGU6Cj4gQWRkIGEgYnVzX25vdGlm aWVyIGZvciBwbGF0Zm9ybSBidXMgZGV2aWNlIGluIG9yZGVyIHRvIG1hcCB0aGUgZGV2aWNlCj4g bW1pbyByZWdpb25zIHdoZW4gRE9NMCBib290aW5nIHdpdGggQUNQSS4KPgo+IFNpZ25lZC1vZmYt Ynk6IFNoYW5ub24gWmhhbyA8c2hhbm5vbi56aGFvQGxpbmFyby5vcmc+Cj4gQWNrZWQtYnk6IFN0 ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFuby5zdGFiZWxsaW5pQGV1LmNpdHJpeC5jb20+Cj4gLS0t Cj4gICBkcml2ZXJzL3hlbi9NYWtlZmlsZSAgICAgfCAgIDEgKwo+ICAgZHJpdmVycy94ZW4vYXJt LWRldmljZS5jIHwgMTQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCj4gICAyIGZpbGVzIGNoYW5nZWQsIDE0MiBpbnNlcnRpb25zKCspCj4gICBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy94ZW4vYXJtLWRldmljZS5jCj4KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy94ZW4vTWFrZWZpbGUgYi9kcml2ZXJzL3hlbi9NYWtlZmlsZQo+IGluZGV4IDliN2EzNWMu LjQxNWYyODYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy94ZW4vTWFrZWZpbGUKPiArKysgYi9kcml2 ZXJzL3hlbi9NYWtlZmlsZQo+IEBAIC05LDYgKzksNyBAQCBDRkxBR1NfZmVhdHVyZXMubwkJCTo9 ICQobm9zdGFja3ApCj4KPiAgIENGTEFHU19lZmkubwkJCQkrPSAtZnNob3J0LXdjaGFyCj4KPiAr ZG9tMC0kKENPTkZJR19BUk02NCkgKz0gYXJtLWRldmljZS5vCj4gICBkb20wLSQoQ09ORklHX1BD SSkgKz0gcGNpLm8KPiAgIGRvbTAtJChDT05GSUdfVVNCX1NVUFBPUlQpICs9IGRiZ3Aubwo+ICAg ZG9tMC0kKENPTkZJR19YRU5fQUNQSSkgKz0gYWNwaS5vICQoeGVuLXBhZC15KQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL3hlbi9hcm0tZGV2aWNlLmMgYi9kcml2ZXJzL3hlbi9hcm0tZGV2aWNlLmMK PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjc2ZTI2ZTUKPiAtLS0gL2Rl di9udWxsCj4gKysrIGIvZHJpdmVycy94ZW4vYXJtLWRldmljZS5jCj4gQEAgLTAsMCArMSwxNDEg QEAKPiArLyoKPiArICogQ29weXJpZ2h0IChjKSAyMDE1LCBMaW5hcm8gTGltaXRlZCwgU2hhbm5v biBaaGFvCj4gKyAqCj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0Cj4gKyAqIHVuZGVyIHRoZSB0ZXJtcyBh bmQgY29uZGl0aW9ucyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCj4gKyAqIHZl cnNpb24gMiwgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4g KyAqCj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSBpdCB3aWxs IGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKPiArICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yCj4gKyAqIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IKPiArICogbW9yZSBkZXRhaWxzLgo+ICsgKgo+ICsgKiBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQo+ICsgKiBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4KPiArICovCj4gKwo+ICsjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNl Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+Cj4gKyNpbmNsdWRlIDx4ZW4veGVuLmg+Cj4g KyNpbmNsdWRlIDx4ZW4vcGFnZS5oPgo+ICsjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9tZW1vcnku aD4KPiArI2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJ2aXNvci5oPgo+ICsjaW5jbHVkZSA8YXNtL3hl bi9oeXBlcmNhbGwuaD4KPiArCj4gK3N0YXRpYyBpbnQgeGVuX3VubWFwX2RldmljZV9tbWlvKHN0 cnVjdCByZXNvdXJjZSAqcmVzb3VyY2UsIHVuc2lnbmVkIGludCBjb3VudCkKCk5JVHM6CgpUaGVy ZSBpcyBtdWx0aXBsZSByZXNvdXJjZSBzbyBzL3Jlc291cmNlL3Jlc291cmNlcy8uCgpBbHNvIHRo ZSB2YXJpYWJsZSBjb3VsZCBiZSBjb25zdC4KCj4gK3sKPiArCXVuc2lnbmVkIGludCBpLCBqLCBu cjsKPiArCWludCByYyA9IDA7Cj4gKwlzdHJ1Y3QgcmVzb3VyY2UgKnI7Cj4gKwlzdHJ1Y3QgeGVu X3JlbW92ZV9mcm9tX3BoeXNtYXAgeHJwOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBjb3VudDsg aSsrKSB7Cj4gKwkJciA9ICZyZXNvdXJjZVtpXTsKPiArCQluciA9IERJVl9ST1VORF9VUChyZXNv dXJjZV9zaXplKHIpLCBYRU5fUEFHRV9TSVpFKTsKPiArCQlpZiAoKHJlc291cmNlX3R5cGUocikg IT0gSU9SRVNPVVJDRV9NRU0pIHx8IChuciA9PSAwKSkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJ CWZvciAoaiA9IDA7IGogPCBucjsgaisrKSB7Cj4gKwkJCXhycC5kb21pZCA9IERPTUlEX1NFTEY7 Cj4gKwkJCXhycC5ncGZuID0gWEVOX1BGTl9ET1dOKHItPnN0YXJ0KSArIGo7Cj4gKwkJCXJjID0g SFlQRVJWSVNPUl9tZW1vcnlfb3AoWEVOTUVNX3JlbW92ZV9mcm9tX3BoeXNtYXAsCj4gKwkJCQkJ CSAgJnhycCk7Cj4gKwkJCWlmIChyYykKPiArCQkJCXJldHVybiByYzsKPiArCQl9Cj4gKwl9Cj4g Kwo+ICsJcmV0dXJuIHJjOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHhlbl9tYXBfZGV2aWNlX21t aW8oc3RydWN0IHJlc291cmNlICpyZXNvdXJjZSwgdW5zaWduZWQgaW50IGNvdW50KQoKRGl0dG8K Cj4gK3sKPiArCXVuc2lnbmVkIGludCBpLCBqLCBucjsKPiArCWludCByYyA9IDA7Cj4gKwlzdHJ1 Y3QgcmVzb3VyY2UgKnI7Cj4gKwl4ZW5fcGZuX3QgKmdwZm5zOwo+ICsJeGVuX3Vsb25nX3QgKmlk eHM7Cj4gKwlpbnQgKmVycnM7Cj4gKwlzdHJ1Y3QgeGVuX2FkZF90b19waHlzbWFwX3JhbmdlIHhh dHA7Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKPiArCQlyID0gJnJlc291 cmNlW2ldOwo+ICsJCW5yID0gRElWX1JPVU5EX1VQKHJlc291cmNlX3NpemUociksIFhFTl9QQUdF X1NJWkUpOwo+ICsJCWlmICgocmVzb3VyY2VfdHlwZShyKSAhPSBJT1JFU09VUkNFX01FTSkgfHwg KG5yID09IDApKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJZ3BmbnMgPSBremFsbG9jKHNpemVv Zih4ZW5fcGZuX3QpICogbnIsIEdGUF9LRVJORUwpOwo+ICsJCWlkeHMgPSBremFsbG9jKHNpemVv Zih4ZW5fdWxvbmdfdCkgKiBuciwgR0ZQX0tFUk5FTCk7Cj4gKwkJZXJycyA9IGt6YWxsb2Moc2l6 ZW9mKGludCkgKiBuciwgR0ZQX0tFUk5FTCk7Cj4gKwkJaWYgKCFncGZucyB8fCAhaWR4cyB8fCAh ZXJycykgewo+ICsJCQlrZnJlZShncGZucyk7Cj4gKwkJCWtmcmVlKGlkeHMpOwo+ICsJCQlrZnJl ZShlcnJzKTsKPiArCQkJcmV0dXJuIC1FTk9NRU07Cj4gKwkJfQo+ICsKPiArCQlmb3IgKGogPSAw OyBqIDwgbnI7IGorKykgewoKSSB3b3VsZCBhZGQgYSBjb21tZW50IHRvIGV4cGxhaW4gdGhhdCB0 aGUgcmVnaW9ucyBhcmUgYWx3YXlzIG1hcHBlZCAxOjEgCnRvIERPTTAsIGFuZCB0aGlzIGlzIGZp bmUgYmVjYXVzZSB0aGUgbWVtb3J5IG1hcCBmb3IgRE9NMCBpcyB0aGUgc2FtZSBhcyAKdGhlIGhv c3QgKGV4Y2VwdCBmb3IgdGhlIFJBTSkuCgo+ICsJCQlncGZuc1tqXSA9IFhFTl9QRk5fRE9XTihy LT5zdGFydCkgKyBqOwo+ICsJCQlpZHhzW2pdID0gWEVOX1BGTl9ET1dOKHItPnN0YXJ0KSArIGo7 Cj4gKwkJfQo+ICsKPiArCQl4YXRwLmRvbWlkID0gRE9NSURfU0VMRjsKPiArCQl4YXRwLnNpemUg PSBucjsKPiArCQl4YXRwLnNwYWNlID0gWEVOTUFQU1BBQ0VfZGV2X21taW87Cj4gKwo+ICsJCXNl dF94ZW5fZ3Vlc3RfaGFuZGxlKHhhdHAuZ3BmbnMsIGdwZm5zKTsKPiArCQlzZXRfeGVuX2d1ZXN0 X2hhbmRsZSh4YXRwLmlkeHMsIGlkeHMpOwo+ICsJCXNldF94ZW5fZ3Vlc3RfaGFuZGxlKHhhdHAu ZXJycywgZXJycyk7Cj4gKwo+ICsJCXJjID0gSFlQRVJWSVNPUl9tZW1vcnlfb3AoWEVOTUVNX2Fk ZF90b19waHlzbWFwX3JhbmdlLCAmeGF0cCk7Cj4gKwkJa2ZyZWUoZ3BmbnMpOwo+ICsJCWtmcmVl KGlkeHMpOwo+ICsJCWtmcmVlKGVycnMpOwo+ICsJCWlmIChyYykKPiArCQkJcmV0dXJuIHJjOwoK U2hvdWxkbid0IHdlIHJlZG8gdGhlIG1hcHBpbmcgaWYgdGhlIGh5cGVyY2FsbCBmYWlscz8KCj4g Kwl9Cj4gKwo+ICsJcmV0dXJuIHJjOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHhlbl9wbGF0Zm9y bV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLAo+ICsJCQkJIHVuc2lnbmVkIGxv bmcgYWN0aW9uLCB2b2lkICpkYXRhKQo+ICt7Cj4gKwlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2ID0gdG9fcGxhdGZvcm1fZGV2aWNlKGRhdGEpOwo+ICsJaW50IHIgPSAwOwo+ICsKPiArCWlm IChwZGV2LT5udW1fcmVzb3VyY2VzID09IDAgfHwgcGRldi0+cmVzb3VyY2UgPT0gTlVMTCkKPiAr CQlyZXR1cm4gTk9USUZZX09LOwo+ICsKPiArCXN3aXRjaCAoYWN0aW9uKSB7Cj4gKwljYXNlIEJV U19OT1RJRllfQUREX0RFVklDRToKPiArCQlyID0geGVuX21hcF9kZXZpY2VfbW1pbyhwZGV2LT5y ZXNvdXJjZSwgcGRldi0+bnVtX3Jlc291cmNlcyk7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIEJVU19O T1RJRllfREVMX0RFVklDRToKPiArCQlyID0geGVuX3VubWFwX2RldmljZV9tbWlvKHBkZXYtPnJl c291cmNlLCBwZGV2LT5udW1fcmVzb3VyY2VzKTsKPiArCQlicmVhazsKPiArCWRlZmF1bHQ6Cj4g KwkJcmV0dXJuIE5PVElGWV9ET05FOwo+ICsJfQo+ICsJaWYgKHIpCj4gKwkJZGV2X2VycigmcGRl di0+ZGV2LCAiUGxhdGZvcm06IEZhaWxlZCB0byAlcyBkZXZpY2UgJXMgTU1JTyFcbiIsCj4gKwkJ CWFjdGlvbiA9PSBCVVNfTk9USUZZX0FERF9ERVZJQ0UgPyAibWFwIiA6Cj4gKwkJCShhY3Rpb24g PT0gQlVTX05PVElGWV9ERUxfREVWSUNFID8gInVubWFwIiA6ICI/IiksCj4gKwkJCXBkZXYtPm5h bWUpOwo+ICsKPiArCXJldHVybiBOT1RJRllfT0s7Cj4gK30KPiArCj4gK3N0YXRpYyBzdHJ1Y3Qg bm90aWZpZXJfYmxvY2sgcGxhdGZvcm1fZGV2aWNlX25iID0gewo+ICsJLm5vdGlmaWVyX2NhbGwg PSB4ZW5fcGxhdGZvcm1fbm90aWZpZXIsCj4gK307Cj4gKwo+ICtzdGF0aWMgaW50IF9faW5pdCBy ZWdpc3Rlcl94ZW5fcGxhdGZvcm1fbm90aWZpZXIodm9pZCkKPiArewo+ICsJaWYgKCF4ZW5faW5p dGlhbF9kb21haW4oKSB8fCBhY3BpX2Rpc2FibGVkKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCXJl dHVybiBidXNfcmVnaXN0ZXJfbm90aWZpZXIoJnBsYXRmb3JtX2J1c190eXBlLCAmcGxhdGZvcm1f ZGV2aWNlX25iKTsKPiArfQo+ICsKPiArYXJjaF9pbml0Y2FsbChyZWdpc3Rlcl94ZW5fcGxhdGZv cm1fbm90aWZpZXIpOwo+CgpSZWdhcmRzLAoKLS0gCkp1bGllbiBHcmFsbAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK