From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v3 14/19] drm/i915: Handle disabling planes better, v2. Date: Mon, 15 Jun 2015 12:33:51 +0200 Message-ID: <1434364436-6366-15-git-send-email-maarten.lankhorst@linux.intel.com> References: <1434364436-6366-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTP id 8C35C6E73A for ; Mon, 15 Jun 2015 03:34:14 -0700 (PDT) In-Reply-To: <1434364436-6366-1-git-send-email-maarten.lankhorst@linux.intel.com> 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 UmVhZCBvdXQgdGhlIGluaXRpYWwgc3RhdGUsIGFuZCBhZGQgYSBxdWlyayB0byBmb3JjZSBhZGQg YWxsIHBsYW5lcwp0byBjcnRjX3N0YXRlLT5wbGFuZV9tYXNrIGR1cmluZyBpbml0aWFsIGNvbW1p dC4gVGhpcyB3aWxsIGRpc2FibGUKYWxsIHBsYW5lcyBkdXJpbmcgdGhlIGluaXRpYWwgbW9kZXNl dC4KClRoZSBpbml0aWFsIHBsYW5lIHF1aXJrIGlzIHRlbXBvcmFyeSwgYW5kIHdpbGwgZ28gYXdh eSB3aGVuIGhhcmR3YXJlCnJlYWRvdXQgaXMgZnVsbHkgYXRvbWljLCBhbmQgdGhlIHdhdGVybWFy ayB1cGRhdGVzIGluIGludGVsX3Nwcml0ZS5jCmFyZSByZW1vdmVkLgoKQ2hhbmdlcyBzaW5jZSB2 MToKLSBVbnNldCBzdGF0ZS0+dmlzaWJsZSBvbiAhcHJpbWFyeSBwbGFuZXMuCi0gRG8gbm90IHJl bHkgb24gdGhlIHBsYW5lLT5jcnRjIHBvaW50ZXIgaW4gaW50ZWxfYXRvbWljX3BsYW5lLAogIGlu c3RlYWQgYXNzdW1lIHBsYW5lcyBhcmUgaW52aXNpYmxlIHVudGlsIG1vZGVzZXQuCgpTaWduZWQt b2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jICB8ICAgNyArKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMTIwICsrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAg ICAgfCAgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCAxMDYgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwppbmRleCBjMTI2M2JlOGM5OGIu LjA2MGQ5OGIxMGY4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRv bWljLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKQEAgLTk2LDYg Kzk2LDEzIEBAIGludCBpbnRlbF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCisJaWYgKGNydGNfc3RhdGUgJiYKKwkgICAgY3J0Y19z dGF0ZS0+cXVpcmtzICYgUElQRV9DT05GSUdfUVVJUktfSU5JVElBTF9QTEFORVMpIHsKKwkJcmV0 ID0gZHJtX2F0b21pY19hZGRfYWZmZWN0ZWRfcGxhbmVzKHN0YXRlLCAmbnVjbGVhcl9jcnRjLT5i YXNlKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfQorCiAJcmV0ID0gZHJtX2F0b21p Y19oZWxwZXJfY2hlY2tfcGxhbmVzKGRldiwgc3RhdGUpOwogCWlmIChyZXQpCiAJCXJldHVybiBy ZXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggYWUwNDY2NDhjMjlkLi5j YzRjYTQ5NzA3MTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTEwOSw4 ICsxMDksNiBAQCBzdGF0aWMgdm9pZCBza2xfaW5pdF9zY2FsZXJzKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcgogCXN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlKTsKIHN0YXRpYyBpbnQgaTl4eF9nZXRfcmVmY2xrKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAgaW50IG51bV9jb25uZWN0b3Jz KTsKLXN0YXRpYyB2b2lkIGludGVsX2NydGNfZW5hYmxlX3BsYW5lcyhzdHJ1Y3QgZHJtX2NydGMg KmNydGMpOwotc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19kaXNhYmxlX3BsYW5lcyhzdHJ1Y3QgZHJt X2NydGMgKmNydGMpOwogCiBzdGF0aWMgc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2ZpbmRf ZW5jb2RlcihzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIGludCBwaXBlKQogewpA QCAtNDg0MCwxMSArNDgzOCwxMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2VuYWJsZV9wbGFu ZXMoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCWludGVsX2Zyb250YnVmZmVyX2ZsaXAoZGV2LCBJ TlRFTF9GUk9OVEJVRkZFUl9BTExfTUFTSyhwaXBlKSk7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVs X2NydGNfZGlzYWJsZV9wbGFuZXMoc3RydWN0IGRybV9jcnRjICpjcnRjKQorc3RhdGljIHZvaWQg aW50ZWxfY3J0Y19kaXNhYmxlX3BsYW5lcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHVuc2lnbmVk IHBsYW5lX21hc2spCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKIAlz dHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Ci0Jc3Ry dWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZTsKKwlzdHJ1Y3QgZHJtX3BsYW5lICpwOwogCWlu dCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKIAogCWludGVsX2NydGNfd2FpdF9mb3JfcGVuZGlu Z19mbGlwcyhjcnRjKTsKQEAgLTQ4NTIsMTQgKzQ4NTAsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9j cnRjX2Rpc2FibGVfcGxhbmVzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlpbnRlbF9wcmVfZGlz YWJsZV9wcmltYXJ5KGNydGMpOwogCiAJaW50ZWxfY3J0Y19kcG1zX292ZXJsYXlfZGlzYWJsZShp bnRlbF9jcnRjKTsKLQlmb3JfZWFjaF9pbnRlbF9wbGFuZShkZXYsIGludGVsX3BsYW5lKSB7Ci0J CWlmIChpbnRlbF9wbGFuZS0+cGlwZSA9PSBwaXBlKSB7Ci0JCQlzdHJ1Y3QgZHJtX2NydGMgKmZy b20gPSBpbnRlbF9wbGFuZS0+YmFzZS5jcnRjOwogCi0JCQlpbnRlbF9wbGFuZS0+ZGlzYWJsZV9w bGFuZSgmaW50ZWxfcGxhbmUtPmJhc2UsCi0JCQkJCQkgICBmcm9tID86IGNydGMpOwotCQl9Ci0J fQorCWRybV9mb3JfZWFjaF9wbGFuZV9tYXNrKHAsIGRldiwgcGxhbmVfbWFzaykKKwkJdG9faW50 ZWxfcGxhbmUocCktPmRpc2FibGVfcGxhbmUocCwgY3J0Yyk7CiAKIAkvKgogCSAqIEZJWE1FOiBP bmNlIHdlIGdyb3cgcHJvcGVyIG51Y2xlYXIgZmxpcCBzdXBwb3J0IG91dCBvZiB0aGlzIHdlIG5l ZWQKQEAgLTYyNzcsNyArNjI3MCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfZGlzYWJsZV9u b2F0b21pYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJaWYgKCFpbnRlbF9jcnRjLT5hY3RpdmUp CiAJCXJldHVybjsKIAotCWludGVsX2NydGNfZGlzYWJsZV9wbGFuZXMoY3J0Yyk7CisJaW50ZWxf Y3J0Y19kaXNhYmxlX3BsYW5lcyhjcnRjLCBjcnRjLT5zdGF0ZS0+cGxhbmVfbWFzayk7CiAJZGV2 X3ByaXYtPmRpc3BsYXkuY3J0Y19kaXNhYmxlKGNydGMpOwogCiAJZG9tYWlucyA9IGludGVsX2Ny dGMtPmVuYWJsZWRfcG93ZXJfZG9tYWluczsKQEAgLTExODczLDcgKzExODY2LDcgQEAgaW50IGlu dGVsX3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRj X3N0YXRlLAogCQkJaW50ZWxfY3J0Yy0+YXRvbWljLmZiX2JpdHMgfD0KIAkJCSAgICBJTlRFTF9G Uk9OVEJVRkZFUl9TUFJJVEUoaW50ZWxfY3J0Yy0+cGlwZSk7CiAKLQkJaWYgKHR1cm5fb2ZmICYm IGlzX2NydGNfZW5hYmxlZCkgeworCQlpZiAodHVybl9vZmYgJiYgIW1vZGVfY2hhbmdlZCkgewog CQkJaW50ZWxfY3J0Yy0+YXRvbWljLndhaXRfdmJsYW5rID0gdHJ1ZTsKIAkJCWludGVsX2NydGMt PmF0b21pYy51cGRhdGVfc3ByaXRlX3dhdGVybWFya3MgfD0KIAkJCQkxIDw8IGk7CkBAIC0xMTkz Myw2ICsxMTkyNiwzNCBAQCBzdGF0aWMgYm9vbCBjaGVja19lbmNvZGVyX2Nsb25pbmcoc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCXJldHVybiB0cnVlOwogfQogCitzdGF0aWMgdm9p ZCBpbnRlbF9jcnRjX2NoZWNrX2luaXRpYWxfcGxhbmVzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK KwkJCQkJICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcgPQorCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNy dGNfc3RhdGUpOworCXN0cnVjdCBkcm1fcGxhbmUgKnA7CisJdW5zaWduZWQgdmlzaWJsZV9tYXNr ID0gMDsKKworCWRybV9mb3JfZWFjaF9wbGFuZV9tYXNrKHAsIGNydGMtPmRldiwgY3J0Y19zdGF0 ZS0+cGxhbmVfbWFzaykgeworCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSA9 CisJCQlkcm1fYXRvbWljX2dldF9leGlzdGluZ19wbGFuZV9zdGF0ZShjcnRjX3N0YXRlLT5zdGF0 ZSwgcCk7CisKKwkJaWYgKFdBUk5fT04oIXBsYW5lX3N0YXRlKSkKKwkJCWNvbnRpbnVlOworCisJ CWlmICghcGxhbmVfc3RhdGUtPmZiKQorCQkJY3J0Y19zdGF0ZS0+cGxhbmVfbWFzayAmPQorCQkJ CX4oMSA8PCBkcm1fcGxhbmVfaW5kZXgocCkpOworCQllbHNlIGlmICh0b19pbnRlbF9wbGFuZV9z dGF0ZShwbGFuZV9zdGF0ZSktPnZpc2libGUpCisJCQl2aXNpYmxlX21hc2sgfD0gMSA8PCBkcm1f cGxhbmVfaW5kZXgocCk7CisJfQorCisJaWYgKCF2aXNpYmxlX21hc2spCisJCXJldHVybjsKKwor CXBpcGVfY29uZmlnLT5xdWlya3MgJj0gflBJUEVfQ09ORklHX1FVSVJLX0lOSVRJQUxfUExBTkVT OworfQorCiBzdGF0aWMgaW50IGludGVsX2NydGNfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywKIAkJCQkgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7CkBA IC0xMTk1NCw2ICsxMTk3NSwxMCBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfYXRvbWljX2NoZWNr KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJIltDUlRDOiVpXSBtaXNtYXRjaCBiZXR3ZWVuIHN0 YXRlLT5hY3RpdmUoJWkpIGFuZCBjcnRjLT5hY3RpdmUoJWkpXG4iLAogCQlpZHgsIGNydGMtPnN0 YXRlLT5hY3RpdmUsIGludGVsX2NydGMtPmFjdGl2ZSk7CiAKKwkvKiBwbGFuZSBtYXNrIGlzIGZp eGVkIHVwIGFmdGVyIGFsbCBpbml0aWFsIHBsYW5lcyBhcmUgY2FsY3VsYXRlZCAqLworCWlmIChw aXBlX2NvbmZpZy0+cXVpcmtzICYgUElQRV9DT05GSUdfUVVJUktfSU5JVElBTF9QTEFORVMpCisJ CWludGVsX2NydGNfY2hlY2tfaW5pdGlhbF9wbGFuZXMoY3J0YywgY3J0Y19zdGF0ZSk7CisKIAlp ZiAobW9kZV9jaGFuZ2VkICYmIGNydGNfc3RhdGUtPmVuYWJsZSAmJgogCSAgICBkZXZfcHJpdi0+ ZGlzcGxheS5jcnRjX2NvbXB1dGVfY2xvY2sgJiYKIAkgICAgIVdBUk5fT04ocGlwZV9jb25maWct PnNoYXJlZF9kcGxsICE9IERQTExfSURfUFJJVkFURSkpIHsKQEAgLTEzMTcwLDYgKzEzMTk1LDIw IEBAIGludGVsX21vZGVzZXRfY29tcHV0ZV9jb25maWcoc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlKQogCQkJY29udGludWU7CiAJCX0KIAorCQlpZiAodG9faW50ZWxfY3J0Y19zdGF0ZShj cnRjX3N0YXRlKS0+cXVpcmtzICYKKwkJICAgIFBJUEVfQ09ORklHX1FVSVJLX0lOSVRJQUxfUExB TkVTKSB7CisJCQlyZXQgPSBkcm1fYXRvbWljX2FkZF9hZmZlY3RlZF9wbGFuZXMoc3RhdGUsIGNy dGMpOworCQkJaWYgKHJldCkKKwkJCQlyZXR1cm4gcmV0OworCisJCQkvKgorCQkJICogV2Ugb3Vn aHQgdG8gaGFuZGxlIGk5MTUuZmFzdGJvb3QgaGVyZS4KKwkJCSAqIElmIG5vIG1vZGVzZXQgaXMg cmVxdWlyZWQgYW5kIHRoZSBwcmltYXJ5IHBsYW5lIGhhcworCQkJICogYSBmYiwgdXBkYXRlIHRo ZSBtZW1iZXJzIG9mIGNydGNfc3RhdGUgYXMgbmVlZGVkLAorCQkJICogYW5kIHJ1biB0aGUgbmVj ZXNzYXJ5IHVwZGF0ZXMgZHVyaW5nIHZibGFuayBldmFzaW9uLgorCQkJICovCisJCX0KKwogCQlp ZiAoIW5lZWRzX21vZGVzZXQoY3J0Y19zdGF0ZSkpIHsKIAkJCXJldCA9IGRybV9hdG9taWNfYWRk X2FmZmVjdGVkX2Nvbm5lY3RvcnMoc3RhdGUsIGNydGMpOwogCQkJaWYgKHJldCkKQEAgLTEzMjIz LDcgKzEzMjYyLDcgQEAgc3RhdGljIGludCBfX2ludGVsX3NldF9tb2RlKHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSkKIAkJaWYgKCFjcnRjX3N0YXRlLT5hY3RpdmUpCiAJCQljb250aW51 ZTsKIAotCQlpbnRlbF9jcnRjX2Rpc2FibGVfcGxhbmVzKGNydGMpOworCQlpbnRlbF9jcnRjX2Rp c2FibGVfcGxhbmVzKGNydGMsIGNydGNfc3RhdGUtPnBsYW5lX21hc2spOwogCQlkZXZfcHJpdi0+ ZGlzcGxheS5jcnRjX2Rpc2FibGUoY3J0Yyk7CiAJfQogCkBAIC0xNTM5MiwxMCArMTU0MzEsNTEg QEAgc3RhdGljIGJvb2wgcHJpbWFyeV9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2NydGMgKmNy dGMpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY3J0Yy0+YmFzZS5k ZXYtPmRldl9wcml2YXRlOwogCi0JaWYgKCFjcnRjLT5hY3RpdmUpCi0JCXJldHVybiBmYWxzZTsK KwlyZXR1cm4gISEoSTkxNV9SRUFEKERTUENOVFIoY3J0Yy0+cGxhbmUpKSAmIERJU1BMQVlfUExB TkVfRU5BQkxFKTsKK30KKworc3RhdGljIHZvaWQgcmVhZG91dF9wbGFuZV9zdGF0ZShzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YywKKwkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKK3sKKwlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnA7CisJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAq ZHJtX3BsYW5lX3N0YXRlOworCWJvb2wgYWN0aXZlID0gY3J0Y19zdGF0ZS0+YmFzZS5hY3RpdmU7 CisKKwlpZiAoYWN0aXZlKSB7CisJCWNydGNfc3RhdGUtPnF1aXJrcyB8PSBQSVBFX0NPTkZJR19R VUlSS19JTklUSUFMX1BMQU5FUzsKKworCQkvKiBhcHBseSB0byBwcmV2aW91cyBzdyBzdGF0ZSB0 b28gKi8KKwkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5iYXNlLnN0YXRlKS0+cXVpcmtzIHw9 CisJCQlQSVBFX0NPTkZJR19RVUlSS19JTklUSUFMX1BMQU5FUzsKKwl9CiAKLQlyZXR1cm4gSTkx NV9SRUFEKERTUENOVFIoY3J0Yy0+cGxhbmUpKSAmIERJU1BMQVlfUExBTkVfRU5BQkxFOworCWZv cl9lYWNoX2ludGVsX3BsYW5lKGNydGMtPmJhc2UuZGV2LCBwKSB7CisJCWJvb2wgdmlzaWJsZSA9 IGFjdGl2ZTsKKworCQlpZiAoY3J0Yy0+cGlwZSAhPSBwLT5waXBlKQorCQkJY29udGludWU7CisK KwkJZHJtX3BsYW5lX3N0YXRlID0gcC0+YmFzZS5zdGF0ZTsKKwkJaWYgKGFjdGl2ZSAmJiBwLT5i YXNlLnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSkgeworCQkJdmlzaWJsZSA9IHByaW1h cnlfZ2V0X2h3X3N0YXRlKGNydGMpOworCQkJdG9faW50ZWxfcGxhbmVfc3RhdGUoZHJtX3BsYW5l X3N0YXRlKS0+dmlzaWJsZSA9IHZpc2libGU7CisJCX0gZWxzZSB7CisJCQkvKgorCQkJICogdW5r bm93biBzdGF0ZSwgYXNzdW1lIGl0J3Mgb2ZmIHRvIGZvcmNlIGEgdHJhbnNpdGlvbgorCQkJICog dG8gb24gd2hlbiBjYWxjdWxhdGluZyBzdGF0ZSBjaGFuZ2VzLgorCQkJICovCisJCQl0b19pbnRl bF9wbGFuZV9zdGF0ZShkcm1fcGxhbmVfc3RhdGUpLT52aXNpYmxlID0gZmFsc2U7CisJCX0KKwor CQlpZiAodmlzaWJsZSkgeworCQkJY3J0Y19zdGF0ZS0+YmFzZS5wbGFuZV9tYXNrIHw9CisJCQkJ MSA8PCBkcm1fcGxhbmVfaW5kZXgoJnAtPmJhc2UpOworCQl9IGVsc2UgaWYgKGNydGNfc3RhdGUt PmJhc2Uuc3RhdGUpIHsKKwkJCS8qIE1ha2UgdGhpcyB1bmNvbmRpdGlvbmFsIGZvciBhdG9taWMg aHcgcmVhZG91dC4gKi8KKwkJCWNydGNfc3RhdGUtPmJhc2UucGxhbmVfbWFzayAmPQorCQkJCX4o MSA8PCBkcm1fcGxhbmVfaW5kZXgoJnAtPmJhc2UpKTsKKwkJfQorCX0KIH0KIAogc3RhdGljIHZv aWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp CkBAIC0xNTQwOCw5ICsxNTQ4OCw2IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91 dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWludCBpOwogCiAJZm9yX2VhY2hf aW50ZWxfY3J0YyhkZXYsIGNydGMpIHsKLQkJc3RydWN0IGRybV9wbGFuZSAqcHJpbWFyeSA9IGNy dGMtPmJhc2UucHJpbWFyeTsKLQkJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0 ZTsKLQogCQltZW1zZXQoY3J0Yy0+Y29uZmlnLCAwLCBzaXplb2YoKmNydGMtPmNvbmZpZykpOwog CQljcnRjLT5jb25maWctPmJhc2UuY3J0YyA9ICZjcnRjLT5iYXNlOwogCkBAIC0xNTQyNCw4ICsx NTUwMSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQogCQljcnRjLT5iYXNlLmVuYWJsZWQgPSBjcnRjLT5hY3RpdmU7 CiAJCWNydGMtPmJhc2UuaHdtb2RlID0gY3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7 CiAKLQkJcGxhbmVfc3RhdGUgPSB0b19pbnRlbF9wbGFuZV9zdGF0ZShwcmltYXJ5LT5zdGF0ZSk7 Ci0JCXBsYW5lX3N0YXRlLT52aXNpYmxlID0gcHJpbWFyeV9nZXRfaHdfc3RhdGUoY3J0Yyk7CisJ CXJlYWRvdXRfcGxhbmVfc3RhdGUoY3J0YywgdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5iYXNl LnN0YXRlKSk7CiAKIAkJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWRdIGh3IHN0YXRlIHJlYWRvdXQ6 ICVzXG4iLAogCQkJICAgICAgY3J0Yy0+YmFzZS5iYXNlLmlkLApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAppbmRleCA4MTM5OGUyNzliZmIuLjkzYjk1NDJhYjhkYyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKQEAgLTMzOCw2ICszMzgsNyBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7CiAJ ICovCiAjZGVmaW5lIFBJUEVfQ09ORklHX1FVSVJLX01PREVfU1lOQ19GTEFHUwkoMTw8MCkgLyog dW5yZWxpYWJsZSBzeW5jIG1vZGUuZmxhZ3MgKi8KICNkZWZpbmUgUElQRV9DT05GSUdfUVVJUktf SU5IRVJJVEVEX01PREUJKDE8PDEpIC8qIG1vZGUgaW5oZXJpdGVkIGZyb20gZmlybXdhcmUgKi8K KyNkZWZpbmUgUElQRV9DT05GSUdfUVVJUktfSU5JVElBTF9QTEFORVMJKDE8PDIpIC8qIHBsYW5l cyBhcmUgaW4gdW5rbm93biBzdGF0ZSAqLwogCXVuc2lnbmVkIGxvbmcgcXVpcmtzOwogCiAJLyog UGlwZSBzb3VyY2Ugc2l6ZSAoaWUuIHBhbmVsIGZpdHRlciBpbnB1dCBzaXplKQotLSAKMi4xLjAK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==