From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v2 9/9] drm/i915: Stop caching the "golden" renderstate Date: Fri, 3 Nov 2017 13:34:49 +0000 Message-ID: <20171103133449.11267-9-chris@chris-wilson.co.uk> References: <20171103133449.11267-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 643746EA7B for ; Fri, 3 Nov 2017 13:35:20 +0000 (UTC) In-Reply-To: <20171103133449.11267-1-chris@chris-wilson.co.uk> 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 QXMgd2Ugbm93IHJlY29yZCB0aGUgZGVmYXVsdCBIVyBzdGF0ZSBhbmQgc28gb25seSBlbWl0IHRo ZSAiZ29sZGVuIgpyZW5kZXJzdGF0ZSBvbmNlIHRvIHByZXBhcmUgdGhlIEhXLCB0aGVyZSBpcyBu byBhZHZhbnRhZ2UgaW4ga2VlcGluZyB0aGUKcmVuZGVyc3RhdGUgYmF0Y2ggYXJvdW5kIGFzIGl0 IHdpbGwgbmV2ZXIgYmUgdXNlZCBhZ2Fpbi4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8 Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpSZXZpZXdlZC1ieTogSm9vbmFzIExhaHRpbmVuIDxq b29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggICAgICAgICAgICAgIHwgICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jIHwgMTM1ICsrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmggfCAgIDQgKy0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jICAgICAgIHwgICA5ICstCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgICB8ICAgMSArCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgICAgICB8ICAgNSArLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAgICAgfCAgIDIgLQogNyBmaWxlcyBjaGFu Z2VkLCA1MSBpbnNlcnRpb25zKCspLCAxMDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKaW5kZXggNDY2ZWUwNTUwMzBiLi43MTc0NzEzMWM0NDQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaApAQCAtNjcsNyArNjcsNiBAQAogI2luY2x1ZGUgImk5MTVfZ2VtX2ZlbmNlX3JlZy5o IgogI2luY2x1ZGUgImk5MTVfZ2VtX29iamVjdC5oIgogI2luY2x1ZGUgImk5MTVfZ2VtX2d0dC5o IgotI2luY2x1ZGUgImk5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5oIgogI2luY2x1ZGUgImk5MTVfZ2Vt X3JlcXVlc3QuaCIKICNpbmNsdWRlICJpOTE1X2dlbV90aW1lbGluZS5oIgogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jCmluZGV4IDM3MDNkYzkxZWVkYS4u Njk2MjFkODg3OTc1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9y ZW5kZXJfc3RhdGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJf c3RhdGUuYwpAQCAtMjYsMTAgKzI2LDEyIEBACiAgKi8KIAogI2luY2x1ZGUgImk5MTVfZHJ2Lmgi CisjaW5jbHVkZSAiaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmgiCiAjaW5jbHVkZSAiaW50ZWxfcmVu ZGVyc3RhdGUuaCIKIAogc3RydWN0IGludGVsX3JlbmRlcl9zdGF0ZSB7CiAJY29uc3Qgc3RydWN0 IGludGVsX3JlbmRlcnN0YXRlX3JvZGF0YSAqcm9kYXRhOworCXN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmo7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJdTMyIGJhdGNoX29mZnNldDsK IAl1MzIgYmF0Y2hfc2l6ZTsKQEAgLTc0LDE3ICs3NiwxNiBAQCBzdGF0aWMgaW50IHJlbmRlcl9z dGF0ZV9zZXR1cChzdHJ1Y3QgaW50ZWxfcmVuZGVyX3N0YXRlICpzbywKIAkJCSAgICAgIHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogewogCWNvbnN0IHN0cnVjdCBpbnRlbF9yZW5kZXJz dGF0ZV9yb2RhdGEgKnJvZGF0YSA9IHNvLT5yb2RhdGE7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaiA9IHNvLT52bWEtPm9iajsKIAl1bnNpZ25lZCBpbnQgaSA9IDAsIHJlbG9jX2lu ZGV4ID0gMDsKIAl1bnNpZ25lZCBpbnQgbmVlZHNfY2xmbHVzaDsKIAl1MzIgKmQ7CiAJaW50IHJl dDsKIAotCXJldCA9IGk5MTVfZ2VtX29ial9wcmVwYXJlX3NobWVtX3dyaXRlKG9iaiwgJm5lZWRz X2NsZmx1c2gpOworCXJldCA9IGk5MTVfZ2VtX29ial9wcmVwYXJlX3NobWVtX3dyaXRlKHNvLT5v YmosICZuZWVkc19jbGZsdXNoKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCi0JZCA9IGtt YXBfYXRvbWljKGk5MTVfZ2VtX29iamVjdF9nZXRfZGlydHlfcGFnZShvYmosIDApKTsKKwlkID0g a21hcF9hdG9taWMoaTkxNV9nZW1fb2JqZWN0X2dldF9kaXJ0eV9wYWdlKHNvLT5vYmosIDApKTsK IAogCXdoaWxlIChpIDwgcm9kYXRhLT5iYXRjaF9pdGVtcykgewogCQl1MzIgcyA9IHJvZGF0YS0+ YmF0Y2hbaV07CkBAIC0xMTIsNyArMTEzLDcgQEAgc3RhdGljIGludCByZW5kZXJfc3RhdGVfc2V0 dXAoc3RydWN0IGludGVsX3JlbmRlcl9zdGF0ZSAqc28sCiAJCWdvdG8gZXJyOwogCX0KIAotCXNv LT5iYXRjaF9vZmZzZXQgPSBzby0+dm1hLT5ub2RlLnN0YXJ0OworCXNvLT5iYXRjaF9vZmZzZXQg PSBpOTE1X2dndHRfb2Zmc2V0KHNvLT52bWEpOwogCXNvLT5iYXRjaF9zaXplID0gcm9kYXRhLT5i YXRjaF9pdGVtcyAqIHNpemVvZih1MzIpOwogCiAJd2hpbGUgKGkgJSBDQUNIRUxJTkVfRFdPUkRT KQpAQCAtMTYwLDkgKzE2MSw5IEBAIHN0YXRpYyBpbnQgcmVuZGVyX3N0YXRlX3NldHVwKHN0cnVj dCBpbnRlbF9yZW5kZXJfc3RhdGUgKnNvLAogCQlkcm1fY2xmbHVzaF92aXJ0X3JhbmdlKGQsIGkg KiBzaXplb2YodTMyKSk7CiAJa3VubWFwX2F0b21pYyhkKTsKIAotCXJldCA9IGk5MTVfZ2VtX29i amVjdF9zZXRfdG9fZ3R0X2RvbWFpbihvYmosIGZhbHNlKTsKKwlyZXQgPSBpOTE1X2dlbV9vYmpl Y3Rfc2V0X3RvX2d0dF9kb21haW4oc28tPm9iaiwgZmFsc2UpOwogb3V0OgotCWk5MTVfZ2VtX29i al9maW5pc2hfc2htZW1fYWNjZXNzKG9iaik7CisJaTkxNV9nZW1fb2JqX2ZpbmlzaF9zaG1lbV9h Y2Nlc3Moc28tPm9iaik7CiAJcmV0dXJuIHJldDsKIAogZXJyOgpAQCAtMTczLDExMiArMTc0LDY0 IEBAIHN0YXRpYyBpbnQgcmVuZGVyX3N0YXRlX3NldHVwKHN0cnVjdCBpbnRlbF9yZW5kZXJfc3Rh dGUgKnNvLAogCiAjdW5kZWYgT1VUX0JBVENICiAKLWludCBpOTE1X2dlbV9yZW5kZXJfc3RhdGVf aW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCitpbnQgaTkxNV9nZW1fcmVuZGVy X3N0YXRlX2VtaXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkKIHsKLQlzdHJ1Y3Qg aW50ZWxfcmVuZGVyX3N0YXRlICpzbzsKLQljb25zdCBzdHJ1Y3QgaW50ZWxfcmVuZGVyc3RhdGVf cm9kYXRhICpyb2RhdGE7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKLQlpbnQg cmV0OworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJxLT5lbmdpbmU7CisJc3Ry dWN0IGludGVsX3JlbmRlcl9zdGF0ZSBzbzsKKwlpbnQgZXJyOwogCiAJaWYgKGVuZ2luZS0+aWQg IT0gUkNTKQogCQlyZXR1cm4gMDsKIAotCXJvZGF0YSA9IHJlbmRlcl9zdGF0ZV9nZXRfcm9kYXRh KGVuZ2luZSk7Ci0JaWYgKCFyb2RhdGEpCisJc28ucm9kYXRhID0gcmVuZGVyX3N0YXRlX2dldF9y b2RhdGEoZW5naW5lKTsKKwlpZiAoIXNvLnJvZGF0YSkKIAkJcmV0dXJuIDA7CiAKLQlpZiAocm9k YXRhLT5iYXRjaF9pdGVtcyAqIDQgPiBQQUdFX1NJWkUpCisJaWYgKHNvLnJvZGF0YS0+YmF0Y2hf aXRlbXMgKiA0ID4gUEFHRV9TSVpFKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCXNvID0ga21hbGxv YyhzaXplb2YoKnNvKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFzbykKLQkJcmV0dXJuIC1FTk9NRU07 CisJc28ub2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9pbnRlcm5hbChlbmdpbmUtPmk5MTUs IFBBR0VfU0laRSk7CisJaWYgKElTX0VSUihzby5vYmopKQorCQlyZXR1cm4gUFRSX0VSUihzby5v YmopOwogCi0Jb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9pbnRlcm5hbChlbmdpbmUtPmk5 MTUsIFBBR0VfU0laRSk7Ci0JaWYgKElTX0VSUihvYmopKSB7Ci0JCXJldCA9IFBUUl9FUlIob2Jq KTsKLQkJZ290byBlcnJfZnJlZTsKLQl9Ci0KLQlzby0+dm1hID0gaTkxNV92bWFfaW5zdGFuY2Uo b2JqLCAmZW5naW5lLT5pOTE1LT5nZ3R0LmJhc2UsIE5VTEwpOwotCWlmIChJU19FUlIoc28tPnZt YSkpIHsKLQkJcmV0ID0gUFRSX0VSUihzby0+dm1hKTsKKwlzby52bWEgPSBpOTE1X3ZtYV9pbnN0 YW5jZShzby5vYmosICZlbmdpbmUtPmk5MTUtPmdndHQuYmFzZSwgTlVMTCk7CisJaWYgKElTX0VS Uihzby52bWEpKSB7CisJCWVyciA9IFBUUl9FUlIoc28udm1hKTsKIAkJZ290byBlcnJfb2JqOwog CX0KIAotCXNvLT5yb2RhdGEgPSByb2RhdGE7Ci0JZW5naW5lLT5yZW5kZXJfc3RhdGUgPSBzbzsK LQlyZXR1cm4gMDsKLQotZXJyX29iajoKLQlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7Ci1lcnJf ZnJlZToKLQlrZnJlZShzbyk7Ci0JcmV0dXJuIHJldDsKLX0KLQotaW50IGk5MTVfZ2VtX3JlbmRl cl9zdGF0ZV9lbWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQotewotCXN0cnVj dCBpbnRlbF9yZW5kZXJfc3RhdGUgKnNvOwotCWludCByZXQ7Ci0KLQlsb2NrZGVwX2Fzc2VydF9o ZWxkKCZyZXEtPmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOworCWVyciA9IGk5MTVfdm1hX3Bpbihz by52bWEsIDAsIDAsIFBJTl9HTE9CQUwgfCBQSU5fSElHSCk7CisJaWYgKGVycikKKwkJZ290byBl cnJfdm1hOwogCi0Jc28gPSByZXEtPmVuZ2luZS0+cmVuZGVyX3N0YXRlOwotCWlmICghc28pCi0J CXJldHVybiAwOwotCi0JLyogUmVjcmVhdGUgdGhlIHBhZ2UgYWZ0ZXIgc2hyaW5raW5nICovCi0J aWYgKCFpOTE1X2dlbV9vYmplY3RfaGFzX3BhZ2VzKHNvLT52bWEtPm9iaikpCi0JCXNvLT5iYXRj aF9vZmZzZXQgPSAtMTsKLQotCXJldCA9IGk5MTVfdm1hX3Bpbihzby0+dm1hLCAwLCAwLCBQSU5f R0xPQkFMIHwgUElOX0hJR0gpOwotCWlmIChyZXQpCi0JCXJldHVybiByZXQ7Ci0KLQlpZiAoc28t PnZtYS0+bm9kZS5zdGFydCAhPSBzby0+YmF0Y2hfb2Zmc2V0KSB7Ci0JCXJldCA9IHJlbmRlcl9z dGF0ZV9zZXR1cChzbywgcmVxLT5pOTE1KTsKLQkJaWYgKHJldCkKLQkJCWdvdG8gZXJyX3VucGlu OwotCX0KKwllcnIgPSByZW5kZXJfc3RhdGVfc2V0dXAoJnNvLCBycS0+aTkxNSk7CisJaWYgKGVy cikKKwkJZ290byBlcnJfdW5waW47CiAKLQlyZXQgPSByZXEtPmVuZ2luZS0+ZW1pdF9mbHVzaChy ZXEsIEVNSVRfSU5WQUxJREFURSk7Ci0JaWYgKHJldCkKKwllcnIgPSBlbmdpbmUtPmVtaXRfZmx1 c2gocnEsIEVNSVRfSU5WQUxJREFURSk7CisJaWYgKGVycikKIAkJZ290byBlcnJfdW5waW47CiAK LQlyZXQgPSByZXEtPmVuZ2luZS0+ZW1pdF9iYl9zdGFydChyZXEsCi0JCQkJCSBzby0+YmF0Y2hf b2Zmc2V0LCBzby0+YmF0Y2hfc2l6ZSwKLQkJCQkJIEk5MTVfRElTUEFUQ0hfU0VDVVJFKTsKLQlp ZiAocmV0KQorCWVyciA9IGVuZ2luZS0+ZW1pdF9iYl9zdGFydChycSwKKwkJCQkgICAgc28uYmF0 Y2hfb2Zmc2V0LCBzby5iYXRjaF9zaXplLAorCQkJCSAgICBJOTE1X0RJU1BBVENIX1NFQ1VSRSk7 CisJaWYgKGVycikKIAkJZ290byBlcnJfdW5waW47CiAKLQlpZiAoc28tPmF1eF9zaXplID4gOCkg ewotCQlyZXQgPSByZXEtPmVuZ2luZS0+ZW1pdF9iYl9zdGFydChyZXEsCi0JCQkJCQkgc28tPmF1 eF9vZmZzZXQsIHNvLT5hdXhfc2l6ZSwKLQkJCQkJCSBJOTE1X0RJU1BBVENIX1NFQ1VSRSk7Ci0J CWlmIChyZXQpCisJaWYgKHNvLmF1eF9zaXplID4gOCkgeworCQllcnIgPSBlbmdpbmUtPmVtaXRf YmJfc3RhcnQocnEsCisJCQkJCSAgICBzby5hdXhfb2Zmc2V0LCBzby5hdXhfc2l6ZSwKKwkJCQkJ ICAgIEk5MTVfRElTUEFUQ0hfU0VDVVJFKTsKKwkJaWYgKGVycikKIAkJCWdvdG8gZXJyX3VucGlu OwogCX0KIAotCWk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKHNvLT52bWEsIHJlcSwgMCk7CisJaTkx NV92bWFfbW92ZV90b19hY3RpdmUoc28udm1hLCBycSwgMCk7CiBlcnJfdW5waW46Ci0JaTkxNV92 bWFfdW5waW4oc28tPnZtYSk7Ci0JcmV0dXJuIHJldDsKLX0KLQotdm9pZCBpOTE1X2dlbV9yZW5k ZXJfc3RhdGVfZmluaShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCi17Ci0Jc3RydWN0 IGludGVsX3JlbmRlcl9zdGF0ZSAqc287Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i ajsKLQotCXNvID0gZmV0Y2hfYW5kX3plcm8oJmVuZ2luZS0+cmVuZGVyX3N0YXRlKTsKLQlpZiAo IXNvKQotCQlyZXR1cm47Ci0KLQlvYmogPSBzby0+dm1hLT5vYmo7Ci0KLQlpOTE1X3ZtYV9jbG9z ZShzby0+dm1hKTsKLQlfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3VubGVzc19hY3RpdmUob2Jq KTsKLQotCWtmcmVlKHNvKTsKKwlpOTE1X3ZtYV91bnBpbihzby52bWEpOworZXJyX3ZtYToKKwlp OTE1X3ZtYV9jbG9zZShzby52bWEpOworZXJyX29iajoKKwlfX2k5MTVfZ2VtX29iamVjdF9yZWxl YXNlX3VubGVzc19hY3RpdmUoc28ub2JqKTsKKwlyZXR1cm4gZXJyOwogfQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuaAppbmRleCA4NzQ4MTg0NTc5OWQuLjg2 MzY5NTIwNDgyZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVu ZGVyX3N0YXRlLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0 YXRlLmgKQEAgLTI2LDggKzI2LDYgQEAKIAogc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0Owog Ci1pbnQgaTkxNV9nZW1fcmVuZGVyX3N0YXRlX2luaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lKTsKLWludCBpOTE1X2dlbV9yZW5kZXJfc3RhdGVfZW1pdChzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcSk7Ci12b2lkIGk5MTVfZ2VtX3JlbmRlcl9zdGF0ZV9maW5pKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7CitpbnQgaTkxNV9nZW1fcmVuZGVyX3N0YXRlX2Vt aXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSk7CiAKICNlbmRpZiAvKiBfSTkxNV9H RU1fUkVOREVSX1NUQVRFX0hfICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5j CmluZGV4IDkzYmFjYWVlNTI1Yi4uOTkzZDZiYTg3ZTg0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9lbmdpbmVfY3MuYwpAQCAtNjQxLDIxICs2NDEsMTUgQEAgaW50IGludGVsX2VuZ2luZV9p bml0X2NvbW1vbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJaWYgKHJldCkKIAkJ Z290byBlcnJfdW5waW5fcHJlZW1wdDsKIAotCXJldCA9IGk5MTVfZ2VtX3JlbmRlcl9zdGF0ZV9p bml0KGVuZ2luZSk7Ci0JaWYgKHJldCkKLQkJZ290byBlcnJfYnJlYWRjcnVtYnM7Ci0KIAlpZiAo SFdTX05FRURTX1BIWVNJQ0FMKGVuZ2luZS0+aTkxNSkpCiAJCXJldCA9IGluaXRfcGh5c19zdGF0 dXNfcGFnZShlbmdpbmUpOwogCWVsc2UKIAkJcmV0ID0gaW5pdF9zdGF0dXNfcGFnZShlbmdpbmUp OwogCWlmIChyZXQpCi0JCWdvdG8gZXJyX3JzX2Zpbmk7CisJCWdvdG8gZXJyX2JyZWFkY3J1bWJz OwogCiAJcmV0dXJuIDA7CiAKLWVycl9yc19maW5pOgotCWk5MTVfZ2VtX3JlbmRlcl9zdGF0ZV9m aW5pKGVuZ2luZSk7CiBlcnJfYnJlYWRjcnVtYnM6CiAJaW50ZWxfZW5naW5lX2ZpbmlfYnJlYWRj cnVtYnMoZW5naW5lKTsKIGVycl91bnBpbl9wcmVlbXB0OgpAQCAtNjgyLDcgKzY3Niw2IEBAIHZv aWQgaW50ZWxfZW5naW5lX2NsZWFudXBfY29tbW9uKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSkKIAllbHNlCiAJCWNsZWFudXBfc3RhdHVzX3BhZ2UoZW5naW5lKTsKIAotCWk5MTVfZ2Vt X3JlbmRlcl9zdGF0ZV9maW5pKGVuZ2luZSk7CiAJaW50ZWxfZW5naW5lX2ZpbmlfYnJlYWRjcnVt YnMoZW5naW5lKTsKIAlpbnRlbF9lbmdpbmVfY2xlYW51cF9jbWRfcGFyc2VyKGVuZ2luZSk7CiAJ aTkxNV9nZW1fYmF0Y2hfcG9vbF9maW5pKCZlbmdpbmUtPmJhdGNoX3Bvb2wpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYwppbmRleCBmOTYyMjVhNmEzNjkuLjlhMmNmNjkzOGY1NSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmMKQEAgLTEzNiw2ICsxMzYsNyBAQAogI2luY2x1ZGUgPGRybS9kcm1Q Lmg+CiAjaW5jbHVkZSA8ZHJtL2k5MTVfZHJtLmg+CiAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKKyNp bmNsdWRlICJpOTE1X2dlbV9yZW5kZXJfc3RhdGUuaCIKICNpbmNsdWRlICJpbnRlbF9tb2NzLmgi CiAKICNkZWZpbmUgUklOR19FWEVDTElTVF9RRlVMTAkJKDEgPDwgMHgyKQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCmluZGV4IDQ2NGRjNThhZjI3Yi4uMzMyMWI4MDFlNzdk IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCkBAIC0yOCw5ICsyOCwx MiBAQAogICovCiAKICNpbmNsdWRlIDxsaW51eC9sb2cyLmg+CisKICNpbmNsdWRlIDxkcm0vZHJt UC5oPgotI2luY2x1ZGUgImk5MTVfZHJ2LmgiCiAjaW5jbHVkZSA8ZHJtL2k5MTVfZHJtLmg+CisK KyNpbmNsdWRlICJpOTE1X2Rydi5oIgorI2luY2x1ZGUgImk5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5o IgogI2luY2x1ZGUgImk5MTVfdHJhY2UuaCIKICNpbmNsdWRlICJpbnRlbF9kcnYuaCIKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCmluZGV4IDA0MTJkMDQzNDAxNS4uOWFk NmFjMTg3NjZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCkBAIC0x NjUsNyArMTY1LDYgQEAgc3RydWN0IGk5MTVfY3R4X3dvcmthcm91bmRzIHsKIH07CiAKIHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdDsKLXN0cnVjdCBpbnRlbF9yZW5kZXJfc3RhdGU7CiAKIC8q CiAgKiBFbmdpbmUgSURzIGRlZmluaXRpb25zLgpAQCAtMzA3LDcgKzMwNiw2IEBAIHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgewogCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmU7CiAKIAlz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqZGVmYXVsdF9zdGF0ZTsKLQlzdHJ1Y3QgaW50ZWxf cmVuZGVyX3N0YXRlICpyZW5kZXJfc3RhdGU7CiAKIAlhdG9taWNfdCBpcnFfY291bnQ7CiAJdW5z aWduZWQgbG9uZyBpcnFfcG9zdGVkOwotLSAKMi4xNS4wCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK