From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH] drm/i915: Fix plane init failure paths Date: Mon, 21 Mar 2016 14:43:22 +0000 Message-ID: <1458571402-32749-1-git-send-email-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 9989D6E5EE for ; Mon, 21 Mar 2016 14:43:36 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkRl YWwgd2l0aCBlcnJvcnMgZnJvbSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoKSBpbiBwcmltYXJ5 IGFuZCBjdXJzb3IKcGxhbmUgaW5pdCBwYXRocyAoc3ByaXRlcyB3ZXJlIGFscmVhZHkgY292ZXJl ZCkuIEFsc28gbWFrZSB0aGUgY29kZQpuZWF0ZXIgYnkgdXNpbmcgZ290byBmb3IgZXJyb3IgaGFu ZGxpbmcuCgp2MjogUmViYXNlZCBkdWUgdG8gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KCkgJ25h bWUnIHBhcmFtZXRlcgp2MzogQW5vdGhlciByZWJhc2UgZHVlIHRvIHMvIiIvTlVMTC8KdjQ6IFJl YmFzZWQgb24gZHJtLW5pZ2h0bHkgKE1hdHRoZXcgQXVsZCkKdjU6IEZpeCBlbWFpbCBhZGRyZXNz IChNYXR0aGV3IEF1bGQpCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogTWF0dGhldyBBdWxkIDxtYXR0aGV3 LmF1bGRAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YyB8IDY0ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwgMzQgKysrKysrKysrKystLS0tLS0tLQogMiBmaWxl cyBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCAzOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggNzRiMDE2NS4uZjNmNmZkMSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTM5NjEsMjAgKzEzOTYxLDE5IEBAIGNvbnN0IHN0 cnVjdCBkcm1fcGxhbmVfZnVuY3MgaW50ZWxfcGxhbmVfZnVuY3MgPSB7CiBzdGF0aWMgc3RydWN0 IGRybV9wbGFuZSAqaW50ZWxfcHJpbWFyeV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKIAkJCQkJCSAgICBpbnQgcGlwZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnByaW1h cnk7Ci0Jc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZTsKKwlzdHJ1Y3QgaW50ZWxfcGxh bmUgKnByaW1hcnkgPSBOVUxMOworCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUgPSBO VUxMOwogCWNvbnN0IHVpbnQzMl90ICppbnRlbF9wcmltYXJ5X2Zvcm1hdHM7CiAJdW5zaWduZWQg aW50IG51bV9mb3JtYXRzOworCWludCByZXQ7CiAKIAlwcmltYXJ5ID0ga3phbGxvYyhzaXplb2Yo KnByaW1hcnkpLCBHRlBfS0VSTkVMKTsKLQlpZiAocHJpbWFyeSA9PSBOVUxMKQotCQlyZXR1cm4g TlVMTDsKKwlpZiAoIXByaW1hcnkpCisJCWdvdG8gZmFpbDsKIAogCXN0YXRlID0gaW50ZWxfY3Jl YXRlX3BsYW5lX3N0YXRlKCZwcmltYXJ5LT5iYXNlKTsKLQlpZiAoIXN0YXRlKSB7Ci0JCWtmcmVl KHByaW1hcnkpOwotCQlyZXR1cm4gTlVMTDsKLQl9CisJaWYgKCFzdGF0ZSkKKwkJZ290byBmYWls OwogCXByaW1hcnktPmJhc2Uuc3RhdGUgPSAmc3RhdGUtPmJhc2U7CiAKIAlwcmltYXJ5LT5jYW5f c2NhbGUgPSBmYWxzZTsKQEAgLTE0MDE2LDEwICsxNDAxNSwxMiBAQCBzdGF0aWMgc3RydWN0IGRy bV9wbGFuZSAqaW50ZWxfcHJpbWFyeV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKIAkJcHJpbWFyeS0+ZGlzYWJsZV9wbGFuZSA9IGk5eHhfZGlzYWJsZV9wcmltYXJ5X3BsYW5l OwogCX0KIAotCWRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsICZwcmltYXJ5LT5iYXNlLCAw LAotCQkJCSAmaW50ZWxfcGxhbmVfZnVuY3MsCi0JCQkJIGludGVsX3ByaW1hcnlfZm9ybWF0cywg bnVtX2Zvcm1hdHMsCi0JCQkJIERSTV9QTEFORV9UWVBFX1BSSU1BUlksIE5VTEwpOworCXJldCA9 IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsICZwcmltYXJ5LT5iYXNlLCAwLAorCQkJCSAg ICAgICAmaW50ZWxfcGxhbmVfZnVuY3MsCisJCQkJICAgICAgIGludGVsX3ByaW1hcnlfZm9ybWF0 cywgbnVtX2Zvcm1hdHMsCisJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlksIE5VTEwp OworCWlmIChyZXQpCisJCWdvdG8gZmFpbDsKIAogCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+ PSA0KQogCQlpbnRlbF9jcmVhdGVfcm90YXRpb25fcHJvcGVydHkoZGV2LCBwcmltYXJ5KTsKQEAg LTE0MDI3LDYgKzE0MDI4LDEyIEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICppbnRlbF9wcmlt YXJ5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWRybV9wbGFuZV9oZWxw ZXJfYWRkKCZwcmltYXJ5LT5iYXNlLCAmaW50ZWxfcGxhbmVfaGVscGVyX2Z1bmNzKTsKIAogCXJl dHVybiAmcHJpbWFyeS0+YmFzZTsKKworZmFpbDoKKwlrZnJlZShzdGF0ZSk7CisJa2ZyZWUocHJp bWFyeSk7CisKKwlyZXR1cm4gTlVMTDsKIH0KIAogdm9pZCBpbnRlbF9jcmVhdGVfcm90YXRpb25f cHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGludGVsX3BsYW5lICpwbGFu ZSkKQEAgLTE0MTQzLDE4ICsxNDE1MCwxNyBAQCBpbnRlbF91cGRhdGVfY3Vyc29yX3BsYW5lKHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKmludGVsX2N1 cnNvcl9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkJCSAgIGludCBw aXBlKQogewotCXN0cnVjdCBpbnRlbF9wbGFuZSAqY3Vyc29yOwotCXN0cnVjdCBpbnRlbF9wbGFu ZV9zdGF0ZSAqc3RhdGU7CisJc3RydWN0IGludGVsX3BsYW5lICpjdXJzb3IgPSBOVUxMOworCXN0 cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUgPSBOVUxMOworCWludCByZXQ7CiAKIAljdXJz b3IgPSBremFsbG9jKHNpemVvZigqY3Vyc29yKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKGN1cnNvciA9 PSBOVUxMKQotCQlyZXR1cm4gTlVMTDsKKwlpZiAoIWN1cnNvcikKKwkJZ290byBmYWlsOwogCiAJ c3RhdGUgPSBpbnRlbF9jcmVhdGVfcGxhbmVfc3RhdGUoJmN1cnNvci0+YmFzZSk7Ci0JaWYgKCFz dGF0ZSkgewotCQlrZnJlZShjdXJzb3IpOwotCQlyZXR1cm4gTlVMTDsKLQl9CisJaWYgKCFzdGF0 ZSkKKwkJZ290byBmYWlsOwogCWN1cnNvci0+YmFzZS5zdGF0ZSA9ICZzdGF0ZS0+YmFzZTsKIAog CWN1cnNvci0+Y2FuX3NjYWxlID0gZmFsc2U7CkBAIC0xNDE2NiwxMSArMTQxNzIsMTMgQEAgc3Rh dGljIHN0cnVjdCBkcm1fcGxhbmUgKmludGVsX2N1cnNvcl9wbGFuZV9jcmVhdGUoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKIAljdXJzb3ItPnVwZGF0ZV9wbGFuZSA9IGludGVsX3VwZGF0ZV9jdXJz b3JfcGxhbmU7CiAJY3Vyc29yLT5kaXNhYmxlX3BsYW5lID0gaW50ZWxfZGlzYWJsZV9jdXJzb3Jf cGxhbmU7CiAKLQlkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCAmY3Vyc29yLT5iYXNlLCAw LAotCQkJCSAmaW50ZWxfcGxhbmVfZnVuY3MsCi0JCQkJIGludGVsX2N1cnNvcl9mb3JtYXRzLAot CQkJCSBBUlJBWV9TSVpFKGludGVsX2N1cnNvcl9mb3JtYXRzKSwKLQkJCQkgRFJNX1BMQU5FX1RZ UEVfQ1VSU09SLCBOVUxMKTsKKwlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCAm Y3Vyc29yLT5iYXNlLCAwLAorCQkJCSAgICAgICAmaW50ZWxfcGxhbmVfZnVuY3MsCisJCQkJICAg ICAgIGludGVsX2N1cnNvcl9mb3JtYXRzLAorCQkJCSAgICAgICBBUlJBWV9TSVpFKGludGVsX2N1 cnNvcl9mb3JtYXRzKSwKKwkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfQ1VSU09SLCBOVUxMKTsK KwlpZiAocmV0KQorCQlnb3RvIGZhaWw7CiAKIAlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0g NCkgewogCQlpZiAoIWRldi0+bW9kZV9jb25maWcucm90YXRpb25fcHJvcGVydHkpCkBAIC0xNDE5 MCw2ICsxNDE5OCwxMiBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqaW50ZWxfY3Vyc29yX3Bs YW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWRybV9wbGFuZV9oZWxwZXJfYWRk KCZjdXJzb3ItPmJhc2UsICZpbnRlbF9wbGFuZV9oZWxwZXJfZnVuY3MpOwogCiAJcmV0dXJuICZj dXJzb3ItPmJhc2U7CisKK2ZhaWw6CisJa2ZyZWUoc3RhdGUpOworCWtmcmVlKGN1cnNvcik7CisK KwlyZXR1cm4gTlVMTDsKIH0KIAogc3RhdGljIHZvaWQgc2tsX2luaXRfc2NhbGVycyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc3ByaXRlLmMKaW5kZXggODgyMTUzMy4uMGYzZTIzMCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc3ByaXRlLmMKQEAgLTEwMjUsOCArMTAyNSw4IEBAIHN0YXRpYyB1aW50MzJf dCBza2xfcGxhbmVfZm9ybWF0c1tdID0gewogaW50CiBpbnRlbF9wbGFuZV9pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlLCBpbnQgcGxhbmUpCiB7Ci0Jc3RydWN0IGlu dGVsX3BsYW5lICppbnRlbF9wbGFuZTsKLQlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRl OworCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSBOVUxMOworCXN0cnVjdCBpbnRl bF9wbGFuZV9zdGF0ZSAqc3RhdGUgPSBOVUxMOwogCXVuc2lnbmVkIGxvbmcgcG9zc2libGVfY3J0 Y3M7CiAJY29uc3QgdWludDMyX3QgKnBsYW5lX2Zvcm1hdHM7CiAJaW50IG51bV9wbGFuZV9mb3Jt YXRzOwpAQCAtMTAzNiwxMyArMTAzNiwxNSBAQCBpbnRlbF9wbGFuZV9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlLCBpbnQgcGxhbmUpCiAJCXJldHVybiAtRU5PREVW OwogCiAJaW50ZWxfcGxhbmUgPSBremFsbG9jKHNpemVvZigqaW50ZWxfcGxhbmUpLCBHRlBfS0VS TkVMKTsKLQlpZiAoIWludGVsX3BsYW5lKQotCQlyZXR1cm4gLUVOT01FTTsKKwlpZiAoIWludGVs X3BsYW5lKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZmFpbDsKKwl9CiAKIAlzdGF0ZSA9 IGludGVsX2NyZWF0ZV9wbGFuZV9zdGF0ZSgmaW50ZWxfcGxhbmUtPmJhc2UpOwogCWlmICghc3Rh dGUpIHsKLQkJa2ZyZWUoaW50ZWxfcGxhbmUpOwotCQlyZXR1cm4gLUVOT01FTTsKKwkJcmV0ID0g LUVOT01FTTsKKwkJZ290byBmYWlsOwogCX0KIAlpbnRlbF9wbGFuZS0+YmFzZS5zdGF0ZSA9ICZz dGF0ZS0+YmFzZTsKIApAQCAtMTA5NywyOCArMTA5OSwzNCBAQCBpbnRlbF9wbGFuZV9pbml0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlLCBpbnQgcGxhbmUpCiAJCW51bV9w bGFuZV9mb3JtYXRzID0gQVJSQVlfU0laRShza2xfcGxhbmVfZm9ybWF0cyk7CiAJCWJyZWFrOwog CWRlZmF1bHQ6Ci0JCWtmcmVlKGludGVsX3BsYW5lKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCU1J U1NJTkdfQ0FTRShJTlRFTF9JTkZPKGRldiktPmdlbik7CisJCXJldCA9IC1FTk9ERVY7CisJCWdv dG8gZmFpbDsKIAl9CiAKIAlpbnRlbF9wbGFuZS0+cGlwZSA9IHBpcGU7CiAJaW50ZWxfcGxhbmUt PnBsYW5lID0gcGxhbmU7CiAJaW50ZWxfcGxhbmUtPmZyb250YnVmZmVyX2JpdCA9IElOVEVMX0ZS T05UQlVGRkVSX1NQUklURShwaXBlLCBwbGFuZSk7CiAJaW50ZWxfcGxhbmUtPmNoZWNrX3BsYW5l ID0gaW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5lOworCiAJcG9zc2libGVfY3J0Y3MgPSAoMSA8PCBw aXBlKTsKKwogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsICZpbnRlbF9wbGFu ZS0+YmFzZSwgcG9zc2libGVfY3J0Y3MsCiAJCQkJICAgICAgICZpbnRlbF9wbGFuZV9mdW5jcywK IAkJCQkgICAgICAgcGxhbmVfZm9ybWF0cywgbnVtX3BsYW5lX2Zvcm1hdHMsCiAJCQkJICAgICAg IERSTV9QTEFORV9UWVBFX09WRVJMQVksIE5VTEwpOwotCWlmIChyZXQpIHsKLQkJa2ZyZWUoaW50 ZWxfcGxhbmUpOwotCQlnb3RvIG91dDsKLQl9CisJaWYgKHJldCkKKwkJZ290byBmYWlsOwogCiAJ aW50ZWxfY3JlYXRlX3JvdGF0aW9uX3Byb3BlcnR5KGRldiwgaW50ZWxfcGxhbmUpOwogCiAJZHJt X3BsYW5lX2hlbHBlcl9hZGQoJmludGVsX3BsYW5lLT5iYXNlLCAmaW50ZWxfcGxhbmVfaGVscGVy X2Z1bmNzKTsKIAotb3V0OgorCXJldHVybiAwOworCitmYWlsOgorCWtmcmVlKHN0YXRlKTsKKwlr ZnJlZShpbnRlbF9wbGFuZSk7CisKIAlyZXR1cm4gcmV0OwogfQotLSAKMi40LjMKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=