From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Daniel Subject: [PATCH v5 3/4] drm/i915/bdw: Pin the context backing objects to GGTT on-demand Date: Thu, 13 Nov 2014 10:28:10 +0000 Message-ID: <1415874490-386-1-git-send-email-thomas.daniel@intel.com> References: <1414576373-25121-3-git-send-email-thomas.daniel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 6D7EC6E694 for ; Thu, 13 Nov 2014 02:28:20 -0800 (PST) In-Reply-To: <1414576373-25121-3-git-send-email-thomas.daniel@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 RnJvbTogT3NjYXIgTWF0ZW8gPG9zY2FyLm1hdGVvQGludGVsLmNvbT4KClVwIHVudGlsIG5vdywg d2UgaGF2ZSBwaW5uZWQgZXZlcnkgbG9naWNhbCByaW5nIGNvbnRleHQgYmFja2luZyBvYmplY3QK ZHVyaW5nIGNyZWF0aW9uLCBhbmQgbGVmdCBpdCBwaW5uZWQgdW50aWwgZGVzdHJ1Y3Rpb24uIFRo aXMgbWFkZSBteSBsaWZlCmVhc2llciwgYnV0IGl0J3MgYSBoYXJtZnVsIHRoaW5nIHRvIGRvLCBi ZWNhdXNlIHdlIGNhdXNlIGZyYWdtZW50YXRpb24Kb2YgdGhlIEdHVFQgKGFuZCwgZXZlbnR1YWxs eSwgd2Ugd291bGQgcnVuIG91dCBvZiBzcGFjZSkuCgpUaGlzIHBhdGNoIG1ha2VzIHRoZSBwaW5u aW5nIG9uLWRlbWFuZDogdGhlIGJhY2tpbmcgb2JqZWN0cyBvZiB0aGUgdHdvCmNvbnRleHRzIHRo YXQgYXJlIHdyaXR0ZW4gdG8gdGhlIEVMU1AgYXJlIHBpbm5lZCByaWdodCBiZWZvcmUgc3VibWlz c2lvbgphbmQgdW5waW5uZWQgb25jZSB0aGUgaGFyZHdhcmUgaXMgZG9uZSB3aXRoIHRoZW0uIFRo ZSBvbmx5IGNvbnRleHQgdGhhdAppcyBzdGlsbCBwaW5uZWQgcmVnYXJkbGVzcyBpcyB0aGUgZ2xv YmFsIGRlZmF1bHQgb25lLCBzbyB0aGF0IHRoZSBIV1MgY2FuCnN0aWxsIGJlIGFjY2Vzc2VkIGlu IHRoZSBzYW1lIHdheSAocmluZy0+c3RhdHVzX3BhZ2UpLgoKdjI6IEluIHRoZSBlYXJseSB2ZXJz aW9uIG9mIHRoaXMgcGF0Y2gsIHdlIHdlcmUgcGlubmluZyB0aGUgY29udGV4dCBhcwp3ZSBwdXQg aXQgaW50byB0aGUgRUxTUDogb24gdGhlIG9uZSBoYW5kLCB0aGlzIGlzIHZlcnkgZWZmaWNpZW50 IGJlY2F1c2UKb25seSBhIG1heGltdW0gdHdvIGNvbnRleHRzIGFyZSBwaW5uZWQgYXQgYW55IGdp dmVuIHRpbWUsIGJ1dCBvbiB0aGUgb3RoZXIKaGFuZCwgd2UgY2Fubm90IHJlYWxseSBwaW4gaW4g aW50ZXJydXB0IHRpbWUgOigKCnYzOiBVc2UgYSBtdXRleCByYXRoZXIgdGhhbiBhdG9taWNfdCB0 byBwcm90ZWN0IHBpbiBjb3VudCB0byBhdm9pZCByYWNlcy4KRG8gbm90IHVucGluIGRlZmF1bHQg Y29udGV4dCBpbiBmcmVlX3JlcXVlc3QuCgp2NDogQnJlYWsgb3V0IHBpbiBhbmQgdW5waW4gaW50 byBmdW5jdGlvbnMuICBGaXggc3R5bGUgcHJvYmxlbXMgcmVwb3J0ZWQKYnkgY2hlY2twYXRjaAoK djU6IFJlbW92ZSB1bnBpbl9sb2NrIGFzIGFsbCBwaW5uaW5nIGFuZCB1bnBpbm5pbmcgaXMgZG9u ZSB3aXRoIHRoZSBzdHJ1Y3QKbXV0ZXggYWxyZWFkeSBsb2NrZWQuICBBZGQgV0FSTl9PTnMgdG8g bWFrZSBzdXJlIHRoaXMgaXMgdGhlIGNhc2UgaW4gZnV0dXJlLgoKSXNzdWU6IFZJWi00Mjc3ClNp Z25lZC1vZmYtYnk6IE9zY2FyIE1hdGVvIDxvc2Nhci5tYXRlb0BpbnRlbC5jb20+ClNpZ25lZC1v ZmYtYnk6IFRob21hcyBEYW5pZWwgPHRob21hcy5kYW5pZWxAaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIHwgICAxMiArKysrKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgIHwgICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jICAgICB8ICAgMzkgKysrKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jICAgIHwgICA2OSArKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggICAgfCAgICA0ICsrCiA1 IGZpbGVzIGNoYW5nZWQsIDk4IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggZTYwZDVjMi4uNmVhZjgxMyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTE3OTksMTAgKzE3OTksMTYgQEAgc3RhdGljIGlu dCBpOTE1X2R1bXBfbHJjKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQogCQkJCWNv bnRpbnVlOwogCiAJCQlpZiAoY3R4X29iaikgewotCQkJCXN0cnVjdCBwYWdlICpwYWdlID0gaTkx NV9nZW1fb2JqZWN0X2dldF9wYWdlKGN0eF9vYmosIDEpOwotCQkJCXVpbnQzMl90ICpyZWdfc3Rh dGUgPSBrbWFwX2F0b21pYyhwYWdlKTsKKwkJCQlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwkJCQl1aW50 MzJfdCAqcmVnX3N0YXRlOwogCQkJCWludCBqOwogCisJCQkJaTkxNV9nZW1fb2JqX2dndHRfcGlu KGN0eF9vYmosCisJCQkJCQlHRU44X0xSX0NPTlRFWFRfQUxJR04sIDApOworCisJCQkJcGFnZSA9 IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZShjdHhfb2JqLCAxKTsKKwkJCQlyZWdfc3RhdGUgPSBr bWFwX2F0b21pYyhwYWdlKTsKKwogCQkJCXNlcV9wcmludGYobSwgIkNPTlRFWFQ6ICVzICV1XG4i LCByaW5nLT5uYW1lLAogCQkJCQkJaW50ZWxfZXhlY2xpc3RzX2N0eF9pZChjdHhfb2JqKSk7CiAK QEAgLTE4MTQsNiArMTgyMCw4IEBAIHN0YXRpYyBpbnQgaTkxNV9kdW1wX2xyYyhzdHJ1Y3Qgc2Vx X2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKIAkJCQl9CiAJCQkJa3VubWFwX2F0b21pYyhyZWdfc3Rh dGUpOwogCisJCQkJaTkxNV9nZW1fb2JqZWN0X2dndHRfdW5waW4oY3R4X29iaik7CisKIAkJCQlz ZXFfcHV0YyhtLCAnXG4nKTsKIAkJCX0KIAkJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXgg MDU5MzMwYy4uM2M3Mjk5ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC02NTUsNiArNjU1 LDcgQEAgc3RydWN0IGludGVsX2NvbnRleHQgewogCXN0cnVjdCB7CiAJCXN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpzdGF0ZTsKIAkJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWY7 CisJCWludCB1bnBpbl9jb3VudDsKIAl9IGVuZ2luZVtJOTE1X05VTV9SSU5HU107CiAKIAlzdHJ1 Y3QgbGlzdF9oZWFkIGxpbms7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCA0MDhhZmU3Li4y ZWU2OTk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTI0OTQsMTIgKzI0OTQsMTggQEAg c3RhdGljIHZvaWQgaTkxNV9zZXRfcmVzZXRfc3RhdHVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKIAogc3RhdGljIHZvaWQgaTkxNV9nZW1fZnJlZV9yZXF1ZXN0KHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIHsKKwlzdHJ1Y3QgaW50ZWxfY29udGV4dCAq Y3R4ID0gcmVxdWVzdC0+Y3R4OworCiAJbGlzdF9kZWwoJnJlcXVlc3QtPmxpc3QpOwogCWk5MTVf Z2VtX3JlcXVlc3RfcmVtb3ZlX2Zyb21fY2xpZW50KHJlcXVlc3QpOwogCi0JaWYgKHJlcXVlc3Qt PmN0eCkKLQkJaTkxNV9nZW1fY29udGV4dF91bnJlZmVyZW5jZShyZXF1ZXN0LT5jdHgpOworCWlm IChpOTE1LmVuYWJsZV9leGVjbGlzdHMgJiYgY3R4KSB7CisJCXN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcgPSByZXF1ZXN0LT5yaW5nOwogCisJCWlmIChjdHggIT0gcmluZy0+ZGVmYXVsdF9j b250ZXh0KQorCQkJaW50ZWxfbHJfY29udGV4dF91bnBpbihyaW5nLCBjdHgpOworCQlpOTE1X2dl bV9jb250ZXh0X3VucmVmZXJlbmNlKGN0eCk7CisJfQogCWtmcmVlKHJlcXVlc3QpOwogfQogCkBA IC0yNTU0LDYgKzI1NjAsMjMgQEAgc3RhdGljIHZvaWQgaTkxNV9nZW1fcmVzZXRfcmluZ19jbGVh bnVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAl9CiAKIAkvKgorCSAqIENs ZWFyIHRoZSBleGVjbGlzdHMgcXVldWUgdXAgYmVmb3JlIGZyZWVpbmcgdGhlIHJlcXVlc3RzLCBh cyB0aG9zZQorCSAqIGFyZSB0aGUgb25lcyB0aGF0IGtlZXAgdGhlIGNvbnRleHQgYW5kIHJpbmdi dWZmZXIgYmFja2luZyBvYmplY3RzCisJICogcGlubmVkIGluIHBsYWNlLgorCSAqLworCXdoaWxl ICghbGlzdF9lbXB0eSgmcmluZy0+ZXhlY2xpc3RfcXVldWUpKSB7CisJCXN0cnVjdCBpbnRlbF9j dHhfc3VibWl0X3JlcXVlc3QgKnN1Ym1pdF9yZXE7CisKKwkJc3VibWl0X3JlcSA9IGxpc3RfZmly c3RfZW50cnkoJnJpbmctPmV4ZWNsaXN0X3F1ZXVlLAorCQkJCXN0cnVjdCBpbnRlbF9jdHhfc3Vi bWl0X3JlcXVlc3QsCisJCQkJZXhlY2xpc3RfbGluayk7CisJCWxpc3RfZGVsKCZzdWJtaXRfcmVx LT5leGVjbGlzdF9saW5rKTsKKwkJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOworCQlp OTE1X2dlbV9jb250ZXh0X3VucmVmZXJlbmNlKHN1Ym1pdF9yZXEtPmN0eCk7CisJCWtmcmVlKHN1 Ym1pdF9yZXEpOworCX0KKworCS8qCiAJICogV2UgbXVzdCBmcmVlIHRoZSByZXF1ZXN0cyBhZnRl ciBhbGwgdGhlIGNvcnJlc3BvbmRpbmcgb2JqZWN0cyBoYXZlCiAJICogYmVlbiBtb3ZlZCBvZmYg YWN0aXZlIGxpc3RzLiBXaGljaCBpcyB0aGUgc2FtZSBvcmRlciBhcyB0aGUgbm9ybWFsCiAJICog cmV0aXJlX3JlcXVlc3RzIGZ1bmN0aW9uIGRvZXMuIFRoaXMgaXMgaW1wb3J0YW50IGlmIG9iamVj dCBob2xkCkBAIC0yNTcwLDE4ICsyNTkzLDYgQEAgc3RhdGljIHZvaWQgaTkxNV9nZW1fcmVzZXRf cmluZ19jbGVhbnVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJaTkxNV9n ZW1fZnJlZV9yZXF1ZXN0KHJlcXVlc3QpOwogCX0KIAotCXdoaWxlICghbGlzdF9lbXB0eSgmcmlu Zy0+ZXhlY2xpc3RfcXVldWUpKSB7Ci0JCXN0cnVjdCBpbnRlbF9jdHhfc3VibWl0X3JlcXVlc3Qg KnN1Ym1pdF9yZXE7Ci0KLQkJc3VibWl0X3JlcSA9IGxpc3RfZmlyc3RfZW50cnkoJnJpbmctPmV4 ZWNsaXN0X3F1ZXVlLAotCQkJCXN0cnVjdCBpbnRlbF9jdHhfc3VibWl0X3JlcXVlc3QsCi0JCQkJ ZXhlY2xpc3RfbGluayk7Ci0JCWxpc3RfZGVsKCZzdWJtaXRfcmVxLT5leGVjbGlzdF9saW5rKTsK LQkJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOwotCQlpOTE1X2dlbV9jb250ZXh0X3Vu cmVmZXJlbmNlKHN1Ym1pdF9yZXEtPmN0eCk7Ci0JCWtmcmVlKHN1Ym1pdF9yZXEpOwotCX0KLQog CS8qIFRoZXNlIG1heSBub3QgaGF2ZSBiZWVuIGZsdXNoIGJlZm9yZSB0aGUgcmVzZXQsIGRvIHNv IG5vdyAqLwogCWtmcmVlKHJpbmctPnByZWFsbG9jYXRlZF9sYXp5X3JlcXVlc3QpOwogCXJpbmct PnByZWFsbG9jYXRlZF9sYXp5X3JlcXVlc3QgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu YwppbmRleCA5MDZiOTg1Li5mN2ZhMGY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAt MTM5LDggKzEzOSw2IEBACiAjZGVmaW5lIEdFTjhfTFJfQ09OVEVYVF9SRU5ERVJfU0laRSAoMjAg KiBQQUdFX1NJWkUpCiAjZGVmaW5lIEdFTjhfTFJfQ09OVEVYVF9PVEhFUl9TSVpFICgyICogUEFH RV9TSVpFKQogCi0jZGVmaW5lIEdFTjhfTFJfQ09OVEVYVF9BTElHTiA0MDk2Ci0KICNkZWZpbmUg UklOR19FWEVDTElTVF9RRlVMTAkJKDEgPDwgMHgyKQogI2RlZmluZSBSSU5HX0VYRUNMSVNUMV9W QUxJRAkJKDEgPDwgMHgzKQogI2RlZmluZSBSSU5HX0VYRUNMSVNUMF9WQUxJRAkJKDEgPDwgMHg0 KQpAQCAtODAxLDkgKzc5OSw0MCBAQCB2b2lkIGludGVsX2xvZ2ljYWxfcmluZ19hZHZhbmNlX2Fu ZF9zdWJtaXQoc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYpCiAJZXhlY2xpc3RzX2Nv bnRleHRfcXVldWUocmluZywgY3R4LCByaW5nYnVmLT50YWlsKTsKIH0KIAorc3RhdGljIGludCBp bnRlbF9scl9jb250ZXh0X3BpbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAorCQlzdHJ1 Y3QgaW50ZWxfY29udGV4dCAqY3R4KQoreworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpj dHhfb2JqID0gY3R4LT5lbmdpbmVbcmluZy0+aWRdLnN0YXRlOworCWludCByZXQgPSAwOworCisJ V0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZyaW5nLT5kZXYtPnN0cnVjdF9tdXRleCkpOworCWlm IChjdHgtPmVuZ2luZVtyaW5nLT5pZF0udW5waW5fY291bnQrKyA9PSAwKSB7CisJCXJldCA9IGk5 MTVfZ2VtX29ial9nZ3R0X3BpbihjdHhfb2JqLAorCQkJCUdFTjhfTFJfQ09OVEVYVF9BTElHTiwg MCk7CisJCWlmIChyZXQpCisJCQljdHgtPmVuZ2luZVtyaW5nLT5pZF0udW5waW5fY291bnQgPSAw OworCX0KKworCXJldHVybiByZXQ7Cit9CisKK3ZvaWQgaW50ZWxfbHJfY29udGV4dF91bnBpbihz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAorCQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4 KQoreworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2JqID0gY3R4LT5lbmdpbmVb cmluZy0+aWRdLnN0YXRlOworCisJaWYgKGN0eF9vYmopIHsKKwkJV0FSTl9PTighbXV0ZXhfaXNf bG9ja2VkKCZyaW5nLT5kZXYtPnN0cnVjdF9tdXRleCkpOworCQlpZiAoLS1jdHgtPmVuZ2luZVty aW5nLT5pZF0udW5waW5fY291bnQgPT0gMCkKKwkJCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGlu KGN0eF9vYmopOworCX0KK30KKwogc3RhdGljIGludCBsb2dpY2FsX3JpbmdfYWxsb2Nfc2Vxbm8o c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkJCQkgICAgc3RydWN0IGludGVsX2NvbnRl eHQgKmN0eCkKIHsKKwlpbnQgcmV0OworCiAJaWYgKHJpbmctPm91dHN0YW5kaW5nX2xhenlfc2Vx bm8pCiAJCXJldHVybiAwOwogCkBAIC04MTQsNiArODQzLDE0IEBAIHN0YXRpYyBpbnQgbG9naWNh bF9yaW5nX2FsbG9jX3NlcW5vKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJCWlmIChy ZXF1ZXN0ID09IE5VTEwpCiAJCQlyZXR1cm4gLUVOT01FTTsKIAorCQlpZiAoY3R4ICE9IHJpbmct PmRlZmF1bHRfY29udGV4dCkgeworCQkJcmV0ID0gaW50ZWxfbHJfY29udGV4dF9waW4ocmluZywg Y3R4KTsKKwkJCWlmIChyZXQpIHsKKwkJCQlrZnJlZShyZXF1ZXN0KTsKKwkJCQlyZXR1cm4gcmV0 OworCQkJfQorCQl9CisKIAkJLyogSG9sZCBhIHJlZmVyZW5jZSB0byB0aGUgY29udGV4dCB0aGlz IHJlcXVlc3QgYmVsb25ncyB0bwogCQkgKiAod2Ugd2lsbCBuZWVkIGl0IHdoZW4gdGhlIHRpbWUg Y29tZXMgdG8gZW1pdC9yZXRpcmUgdGhlCiAJCSAqIHJlcXVlc3QpLgpAQCAtMTYyNiwxMiArMTY2 MywxNiBAQCB2b2lkIGludGVsX2xyX2NvbnRleHRfZnJlZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAq Y3R4KQogCiAJZm9yIChpID0gMDsgaSA8IEk5MTVfTlVNX1JJTkdTOyBpKyspIHsKIAkJc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmogPSBjdHgtPmVuZ2luZVtpXS5zdGF0ZTsKLQkJ c3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSBjdHgtPmVuZ2luZVtpXS5yaW5nYnVm OwogCiAJCWlmIChjdHhfb2JqKSB7CisJCQlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1 ZiA9CisJCQkJCWN0eC0+ZW5naW5lW2ldLnJpbmdidWY7CisJCQlzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICpyaW5nID0gcmluZ2J1Zi0+cmluZzsKKwogCQkJaW50ZWxfZGVzdHJveV9yaW5nYnVmZmVy X29iaihyaW5nYnVmKTsKIAkJCWtmcmVlKHJpbmdidWYpOwotCQkJaTkxNV9nZW1fb2JqZWN0X2dn dHRfdW5waW4oY3R4X29iaik7CisJCQlpZiAoY3R4ID09IHJpbmctPmRlZmF1bHRfY29udGV4dCkK KwkJCQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihjdHhfb2JqKTsKIAkJCWRybV9nZW1fb2Jq ZWN0X3VucmVmZXJlbmNlKCZjdHhfb2JqLT5iYXNlKTsKIAkJfQogCX0KQEAgLTE2OTUsNiArMTcz Niw3IEBAIHN0YXRpYyBpbnQgbHJjX3NldHVwX2hhcmR3YXJlX3N0YXR1c19wYWdlKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmcsCiBpbnQgaW50ZWxfbHJfY29udGV4dF9kZWZlcnJlZF9jcmVh dGUoc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKIAkJCQkgICAgIHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcpCiB7CisJY29uc3QgYm9vbCBpc19nbG9iYWxfZGVmYXVsdF9jdHggPSAoY3R4 ID09IHJpbmctPmRlZmF1bHRfY29udGV4dCk7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHJp bmctPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X29iajsKIAl1aW50MzJf dCBjb250ZXh0X3NpemU7CkBAIC0xNzE0LDE4ICsxNzU2LDIyIEBAIGludCBpbnRlbF9scl9jb250 ZXh0X2RlZmVycmVkX2NyZWF0ZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAogCQlyZXR1cm4g cmV0OwogCX0KIAotCXJldCA9IGk5MTVfZ2VtX29ial9nZ3R0X3BpbihjdHhfb2JqLCBHRU44X0xS X0NPTlRFWFRfQUxJR04sIDApOwotCWlmIChyZXQpIHsKLQkJRFJNX0RFQlVHX0RSSVZFUigiUGlu IExSQyBiYWNraW5nIG9iaiBmYWlsZWQ6ICVkXG4iLCByZXQpOwotCQlkcm1fZ2VtX29iamVjdF91 bnJlZmVyZW5jZSgmY3R4X29iai0+YmFzZSk7Ci0JCXJldHVybiByZXQ7CisJaWYgKGlzX2dsb2Jh bF9kZWZhdWx0X2N0eCkgeworCQlyZXQgPSBpOTE1X2dlbV9vYmpfZ2d0dF9waW4oY3R4X29iaiwg R0VOOF9MUl9DT05URVhUX0FMSUdOLCAwKTsKKwkJaWYgKHJldCkgeworCQkJRFJNX0RFQlVHX0RS SVZFUigiUGluIExSQyBiYWNraW5nIG9iaiBmYWlsZWQ6ICVkXG4iLAorCQkJCQlyZXQpOworCQkJ ZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2UoJmN0eF9vYmotPmJhc2UpOworCQkJcmV0dXJuIHJl dDsKKwkJfQogCX0KIAogCXJpbmdidWYgPSBremFsbG9jKHNpemVvZigqcmluZ2J1ZiksIEdGUF9L RVJORUwpOwogCWlmICghcmluZ2J1ZikgewogCQlEUk1fREVCVUdfRFJJVkVSKCJGYWlsZWQgdG8g YWxsb2NhdGUgcmluZ2J1ZmZlciAlc1xuIiwKIAkJCQlyaW5nLT5uYW1lKTsKLQkJaTkxNV9nZW1f b2JqZWN0X2dndHRfdW5waW4oY3R4X29iaik7CisJCWlmIChpc19nbG9iYWxfZGVmYXVsdF9jdHgp CisJCQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihjdHhfb2JqKTsKIAkJZHJtX2dlbV9vYmpl Y3RfdW5yZWZlcmVuY2UoJmN0eF9vYmotPmJhc2UpOwogCQlyZXQgPSAtRU5PTUVNOwogCQlyZXR1 cm4gcmV0OwpAQCAtMTc4Nyw3ICsxODMzLDggQEAgaW50IGludGVsX2xyX2NvbnRleHRfZGVmZXJy ZWRfY3JlYXRlKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCiAKIGVycm9yOgogCWtmcmVlKHJp bmdidWYpOwotCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKGN0eF9vYmopOworCWlmIChpc19n bG9iYWxfZGVmYXVsdF9jdHgpCisJCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKGN0eF9vYmop OwogCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKCZjdHhfb2JqLT5iYXNlKTsKIAlyZXR1cm4g cmV0OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAppbmRleCA4NGJiZjE5Li4xNGIyMTZiIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaApAQCAtMjQsNiArMjQsOCBAQAogI2lmbmRlZiBfSU5U RUxfTFJDX0hfCiAjZGVmaW5lIF9JTlRFTF9MUkNfSF8KIAorI2RlZmluZSBHRU44X0xSX0NPTlRF WFRfQUxJR04gNDA5NgorCiAvKiBFeGVjbGlzdHMgcmVncyAqLwogI2RlZmluZSBSSU5HX0VMU1Ao cmluZykJCQkoKHJpbmcpLT5tbWlvX2Jhc2UrMHgyMzApCiAjZGVmaW5lIFJJTkdfRVhFQ0xJU1Rf U1RBVFVTKHJpbmcpCSgocmluZyktPm1taW9fYmFzZSsweDIzNCkKQEAgLTY3LDYgKzY5LDggQEAg aW50IGludGVsX2xyX2NvbnRleHRfcmVuZGVyX3N0YXRlX2luaXQoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZywKIHZvaWQgaW50ZWxfbHJfY29udGV4dF9mcmVlKHN0cnVjdCBpbnRlbF9jb250 ZXh0ICpjdHgpOwogaW50IGludGVsX2xyX2NvbnRleHRfZGVmZXJyZWRfY3JlYXRlKHN0cnVjdCBp bnRlbF9jb250ZXh0ICpjdHgsCiAJCQkJICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5n KTsKK3ZvaWQgaW50ZWxfbHJfY29udGV4dF91bnBpbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW5nLAorCQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4KTsKIAogLyogRXhlY2xpc3RzICovCiBp bnQgaW50ZWxfc2FuaXRpemVfZW5hYmxlX2V4ZWNsaXN0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCBpbnQgZW5hYmxlX2V4ZWNsaXN0cyk7Ci0tIAoxLjcuOS41CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=