From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexey Kardashevskiy Subject: [PATCH kernel v11 03/34] powerpc/powernv/ioda: Clean up IOMMU group registration Date: Fri, 29 May 2015 18:44:27 +1000 Message-ID: <1432889098-22924-4-git-send-email-aik@ozlabs.ru> References: <1432889098-22924-1-git-send-email-aik@ozlabs.ru> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: kvm@vger.kernel.org, Alexey Kardashevskiy , Gavin Shan , linux-kernel@vger.kernel.org, Alex Williamson , Paul Mackerras , David Gibson To: linuxppc-dev@lists.ozlabs.org Return-path: In-Reply-To: <1432889098-22924-1-git-send-email-aik@ozlabs.ru> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+glppe-linuxppc-embedded-2=m.gmane.org@lists.ozlabs.org Sender: "Linuxppc-dev" List-Id: kvm.vger.kernel.org VGhlIGV4aXN0aW5nIGNvZGUgaGFzIDMgY2FsbHMgdG8gaW9tbXVfcmVnaXN0ZXJfZ3JvdXAoKSBh bmQKYWxsIDMgYnJhbmNoZXMgYWN0dWFsbHkgY292ZXIgYWxsIHBvc3NpYmxlIGNhc2VzLgoKVGhp cyByZXBsYWNlcyAzIGNhbGxzIHdpdGggb25lIGFuZCBtb3ZlcyB0aGUgcmVnaXN0cmF0aW9uIGVh cmxpZXI7CnRoZSBsYXR0ZXIgd2lsbCBtYWtlIG1vcmUgc2Vuc2Ugd2hlbiB3ZSBhZGQgVENFIHRh YmxlIHNoYXJpbmcuCgpTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgS2FyZGFzaGV2c2tpeSA8YWlrQG96 bGFicy5ydT4KUmV2aWV3ZWQtYnk6IEdhdmluIFNoYW4gPGd3c2hhbkBsaW51eC52bmV0LmlibS5j b20+Ci0tLQogYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wb3dlcm52L3BjaS1pb2RhLmMgfCAyOCAr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25z KCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1z L3Bvd2VybnYvcGNpLWlvZGEuYyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcG93ZXJudi9wY2kt aW9kYS5jCmluZGV4IDlhNzdmM2MuLjhjYTdhYmQgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9w bGF0Zm9ybXMvcG93ZXJudi9wY2ktaW9kYS5jCisrKyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMv cG93ZXJudi9wY2ktaW9kYS5jCkBAIC0xNzg0LDYgKzE3ODQsOSBAQCBzdGF0aWMgdm9pZCBwbnZf cGNpX2lvZGFfc2V0dXBfZG1hX3BlKHN0cnVjdCBwbnZfcGhiICpwaGIsCiAJaWYgKFdBUk5fT04o cGUtPnRjZTMyX3NlZyA+PSAwKSkKIAkJcmV0dXJuOwogCisJdGJsID0gcGUtPnRjZTMyX3RhYmxl OworCWlvbW11X3JlZ2lzdGVyX2dyb3VwKHRibCwgcGhiLT5ob3NlLT5nbG9iYWxfbnVtYmVyLCBw ZS0+cGVfbnVtYmVyKTsKKwogCS8qIEdyYWIgYSAzMi1iaXQgVENFIHRhYmxlICovCiAJcGUtPnRj ZTMyX3NlZyA9IGJhc2U7CiAJcGVfaW5mbyhwZSwgIiBTZXR0aW5nIHVwIDMyLWJpdCBUQ0UgdGFi bGUgYXQgJTA4eC4uJTA4eFxuIiwKQEAgLTE4MTgsNyArMTgyMSw2IEBAIHN0YXRpYyB2b2lkIHBu dl9wY2lfaW9kYV9zZXR1cF9kbWFfcGUoc3RydWN0IHBudl9waGIgKnBoYiwKIAl9CiAKIAkvKiBT ZXR1cCBsaW51eCBpb21tdSB0YWJsZSAqLwotCXRibCA9IHBlLT50Y2UzMl90YWJsZTsKIAlwbnZf cGNpX3NldHVwX2lvbW11X3RhYmxlKHRibCwgYWRkciwgVENFMzJfVEFCTEVfU0laRSAqIHNlZ3Ms CiAJCQkJICBiYXNlIDw8IDI4LCBJT01NVV9QQUdFX1NISUZUXzRLKTsKIApAQCAtMTg0MCw4ICsx ODQyLDYgQEAgc3RhdGljIHZvaWQgcG52X3BjaV9pb2RhX3NldHVwX2RtYV9wZShzdHJ1Y3QgcG52 X3BoYiAqcGhiLAogCWlvbW11X2luaXRfdGFibGUodGJsLCBwaGItPmhvc2UtPm5vZGUpOwogCiAJ aWYgKHBlLT5mbGFncyAmIFBOVl9JT0RBX1BFX0RFVikgewotCQlpb21tdV9yZWdpc3Rlcl9ncm91 cCh0YmwsIHBoYi0+aG9zZS0+Z2xvYmFsX251bWJlciwKLQkJCQkgICAgIHBlLT5wZV9udW1iZXIp OwogCQkvKgogCQkgKiBTZXR0aW5nIHRhYmxlIGJhc2UgaGVyZSBvbmx5IGZvciBjYXJyeWluZyBp b21tdV9ncm91cAogCQkgKiBmdXJ0aGVyIGRvd24gdG8gbGV0IGlvbW11X2FkZF9kZXZpY2UoKSBk byB0aGUgam9iLgpAQCAtMTg0OSwxNCArMTg0OSw4IEBAIHN0YXRpYyB2b2lkIHBudl9wY2lfaW9k YV9zZXR1cF9kbWFfcGUoc3RydWN0IHBudl9waGIgKnBoYiwKIAkJICovCiAJCXNldF9pb21tdV90 YWJsZV9iYXNlKCZwZS0+cGRldi0+ZGV2LCB0YmwpOwogCQlpb21tdV9hZGRfZGV2aWNlKCZwZS0+ cGRldi0+ZGV2KTsKLQl9IGVsc2UgaWYgKHBlLT5mbGFncyAmIChQTlZfSU9EQV9QRV9CVVMgfCBQ TlZfSU9EQV9QRV9CVVNfQUxMKSkgewotCQlpb21tdV9yZWdpc3Rlcl9ncm91cCh0YmwsIHBoYi0+ aG9zZS0+Z2xvYmFsX251bWJlciwKLQkJCQkgICAgIHBlLT5wZV9udW1iZXIpOworCX0gZWxzZSBp ZiAocGUtPmZsYWdzICYgKFBOVl9JT0RBX1BFX0JVUyB8IFBOVl9JT0RBX1BFX0JVU19BTEwpKQog CQlwbnZfaW9kYV9zZXR1cF9idXNfZG1hKHBlLCBwZS0+cGJ1cyk7Ci0JfSBlbHNlIGlmIChwZS0+ ZmxhZ3MgJiBQTlZfSU9EQV9QRV9WRikgewotCQlpb21tdV9yZWdpc3Rlcl9ncm91cCh0YmwsIHBo Yi0+aG9zZS0+Z2xvYmFsX251bWJlciwKLQkJCQkgICAgIHBlLT5wZV9udW1iZXIpOwotCX0KIAog CXJldHVybjsKICBmYWlsOgpAQCAtMTkyMyw2ICsxOTE3LDkgQEAgc3RhdGljIHZvaWQgcG52X3Bj aV9pb2RhMl9zZXR1cF9kbWFfcGUoc3RydWN0IHBudl9waGIgKnBoYiwKIAlpZiAoV0FSTl9PTihw ZS0+dGNlMzJfc2VnID49IDApKQogCQlyZXR1cm47CiAKKwl0YmwgPSBwZS0+dGNlMzJfdGFibGU7 CisJaW9tbXVfcmVnaXN0ZXJfZ3JvdXAodGJsLCBwaGItPmhvc2UtPmdsb2JhbF9udW1iZXIsIHBl LT5wZV9udW1iZXIpOworCiAJLyogVGhlIFBFIHdpbGwgcmVzZXJ2ZSBhbGwgcG9zc2libGUgMzIt Yml0cyBzcGFjZSAqLwogCXBlLT50Y2UzMl9zZWcgPSAwOwogCWVuZCA9ICgxIDw8IGlsb2cyKHBo Yi0+aW9kYS5tMzJfcGNpX2Jhc2UpKTsKQEAgLTE5NTQsNyArMTk1MSw2IEBAIHN0YXRpYyB2b2lk IHBudl9wY2lfaW9kYTJfc2V0dXBfZG1hX3BlKHN0cnVjdCBwbnZfcGhiICpwaGIsCiAJfQogCiAJ LyogU2V0dXAgbGludXggaW9tbXUgdGFibGUgKi8KLQl0YmwgPSBwZS0+dGNlMzJfdGFibGU7CiAJ cG52X3BjaV9zZXR1cF9pb21tdV90YWJsZSh0YmwsIGFkZHIsIHRjZV90YWJsZV9zaXplLCAwLAog CQkJSU9NTVVfUEFHRV9TSElGVF80Syk7CiAKQEAgLTE5NzQsOCArMTk3MCw2IEBAIHN0YXRpYyB2 b2lkIHBudl9wY2lfaW9kYTJfc2V0dXBfZG1hX3BlKHN0cnVjdCBwbnZfcGhiICpwaGIsCiAJaW9t bXVfaW5pdF90YWJsZSh0YmwsIHBoYi0+aG9zZS0+bm9kZSk7CiAKIAlpZiAocGUtPmZsYWdzICYg UE5WX0lPREFfUEVfREVWKSB7Ci0JCWlvbW11X3JlZ2lzdGVyX2dyb3VwKHRibCwgcGhiLT5ob3Nl LT5nbG9iYWxfbnVtYmVyLAotCQkJCSAgICAgcGUtPnBlX251bWJlcik7CiAJCS8qCiAJCSAqIFNl dHRpbmcgdGFibGUgYmFzZSBoZXJlIG9ubHkgZm9yIGNhcnJ5aW5nIGlvbW11X2dyb3VwCiAJCSAq IGZ1cnRoZXIgZG93biB0byBsZXQgaW9tbXVfYWRkX2RldmljZSgpIGRvIHRoZSBqb2IuCkBAIC0x OTgzLDE0ICsxOTc3LDggQEAgc3RhdGljIHZvaWQgcG52X3BjaV9pb2RhMl9zZXR1cF9kbWFfcGUo c3RydWN0IHBudl9waGIgKnBoYiwKIAkJICovCiAJCXNldF9pb21tdV90YWJsZV9iYXNlKCZwZS0+ cGRldi0+ZGV2LCB0YmwpOwogCQlpb21tdV9hZGRfZGV2aWNlKCZwZS0+cGRldi0+ZGV2KTsKLQl9 IGVsc2UgaWYgKHBlLT5mbGFncyAmIChQTlZfSU9EQV9QRV9CVVMgfCBQTlZfSU9EQV9QRV9CVVNf QUxMKSkgewotCQlpb21tdV9yZWdpc3Rlcl9ncm91cCh0YmwsIHBoYi0+aG9zZS0+Z2xvYmFsX251 bWJlciwKLQkJCQkgICAgIHBlLT5wZV9udW1iZXIpOworCX0gZWxzZSBpZiAocGUtPmZsYWdzICYg KFBOVl9JT0RBX1BFX0JVUyB8IFBOVl9JT0RBX1BFX0JVU19BTEwpKQogCQlwbnZfaW9kYV9zZXR1 cF9idXNfZG1hKHBlLCBwZS0+cGJ1cyk7Ci0JfSBlbHNlIGlmIChwZS0+ZmxhZ3MgJiBQTlZfSU9E QV9QRV9WRikgewotCQlpb21tdV9yZWdpc3Rlcl9ncm91cCh0YmwsIHBoYi0+aG9zZS0+Z2xvYmFs X251bWJlciwKLQkJCQkgICAgIHBlLT5wZV9udW1iZXIpOwotCX0KIAogCS8qIEFsc28gY3JlYXRl IGEgYnlwYXNzIHdpbmRvdyAqLwogCWlmICghcG52X2lvbW11X2J5cGFzc19kaXNhYmxlZCkKLS0g CjIuNC4wLnJjMy44LmdmYjNlN2Q1CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpMaW51eHBwYy1kZXYgbWFpbGluZyBsaXN0CkxpbnV4cHBjLWRldkBsaXN0 cy5vemxhYnMub3JnCmh0dHBzOi8vbGlzdHMub3psYWJzLm9yZy9saXN0aW5mby9saW51eHBwYy1k ZXY=