From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v2 6/9] drm/i915: Record the default hw state after reset upon load Date: Fri, 3 Nov 2017 13:34:46 +0000 Message-ID: <20171103133449.11267-6-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 D88926EA71 for ; Fri, 3 Nov 2017 13:35:06 +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 VGFrZSBhIGNvcHkgb2YgdGhlIEhXIHN0YXRlIGFmdGVyIGEgcmVzZXQgdXBvbiBtb2R1bGUgbG9h ZGluZyBieQpleGVjdXRpbmcgYSBjb250ZXh0IHN3aXRjaCBmcm9tIGEgYmxhbmsgY29udGV4dCB0 byB0aGUga2VybmVsIGNvbnRleHQsCnRodXMgc2F2aW5nIHRoZSBkZWZhdWx0IGh3IHN0YXRlIG92 ZXIgdGhlIGJsYW5rIGNvbnRleHQgaW1hZ2UuCldlIGNhbiB0aGVuIHVzZSB0aGUgZGVmYXVsdCBo dyBzdGF0ZSB0byBpbml0aWFsaXNlIGFueSBmdXR1cmUgY29udGV4dCwKZW5zdXJpbmcgdGhhdCBl YWNoIHN0YXJ0cyB3aXRoIHRoZSBkZWZhdWx0IHZpZXcgb2YgaHcgc3RhdGUuCgp2MjogVW5tYXAg b3VyIGRlZmF1bHQgc3RhdGUgZnJvbSB0aGUgR1RUIGFmdGVyIHN0ZWFsaW5nIGl0IGZyb20gdGhl CmNvbnRleHQuIFRoaXMgc2hvdWxkIHN0b3AgdXMgZnJvbSBhY2NpZGVudGFsbHkgb3ZlcndyaXRp bmcgaXQgdmlhIHRoZQpHVFQgKGFuZCBmcmVlcyB1cCBzb21lIHByZWNpb3VzIEdUVCBzcGFjZSku CgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K Q2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBK b29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+ClJldmlld2Vk LWJ5OiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3NjaGVkdWxlci5jICAgIHwgICAyIC0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICB8ICAgMSAtCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgfCAxMDAgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyB8ICA1NSAr KysrLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu aCB8ICAgNCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgIHwgICAz ICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICB8ICAzOSArKysrKysr Ky0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgfCAgNDUgKysr KysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCB8ICAg MSArCiA5IGZpbGVzIGNoYW5nZWQsIDE3NyBpbnNlcnRpb25zKCspLCA3MyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMKaW5kZXggZjZkZWQ0NzViYjJjLi40MmNj NjEyMzBjYTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9zY2hlZHVsZXIu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMKQEAgLTcyMyw4ICs3 MjMsNiBAQCBpbnQgaW50ZWxfdmdwdV9pbml0X2d2dF9jb250ZXh0KHN0cnVjdCBpbnRlbF92Z3B1 ICp2Z3B1KQogCWlmIChJU19FUlIodmdwdS0+c2hhZG93X2N0eCkpCiAJCXJldHVybiBQVFJfRVJS KHZncHUtPnNoYWRvd19jdHgpOwogCi0JdmdwdS0+c2hhZG93X2N0eC0+ZW5naW5lW1JDU10uaW5p dGlhbGlzZWQgPSB0cnVlOwotCiAJYml0bWFwX3plcm8odmdwdS0+c2hhZG93X2N0eF9kZXNjX3Vw ZGF0ZWQsIEk5MTVfTlVNX0VOR0lORVMpOwogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZGVidWdmcy5jCmluZGV4IDM5ODgzY2Q5MTVkYi4uY2ZjZWYxODk5ZGE4IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYwpAQCAtMTk3NCw3ICsxOTc0LDYgQEAgc3RhdGljIGludCBp OTE1X2NvbnRleHRfc3RhdHVzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQogCQkJ c3RydWN0IGludGVsX2NvbnRleHQgKmNlID0gJmN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdOwogCiAJ CQlzZXFfcHJpbnRmKG0sICIlczogIiwgZW5naW5lLT5uYW1lKTsKLQkJCXNlcV9wdXRjKG0sIGNl LT5pbml0aWFsaXNlZCA/ICdJJyA6ICdpJyk7CiAJCQlpZiAoY2UtPnN0YXRlKQogCQkJCWRlc2Ny aWJlX29iaihtLCBjZS0+c3RhdGUtPm9iaik7CiAJCQlpZiAoY2UtPnJpbmcpCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYwppbmRleCAyMGIzYTZmYzc1YzIuLjBmYTFkZWE3ZWJjMCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCkBAIC00OTY5LDYgKzQ5NjksMTAyIEBAIGJvb2wgaW50ZWxfc2FuaXRpemVf c2VtYXBob3JlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGludCB2YWx1ZSkK IAlyZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGljIGludCBfX2ludGVsX2VuZ2luZXNfcmVjb3JkX2Rl ZmF1bHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQoreworCXN0cnVjdCBpOTE1X2dl bV9jb250ZXh0ICpjdHg7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOworCWVudW0g aW50ZWxfZW5naW5lX2lkIGlkOworCWludCBlcnI7CisKKwkvKgorCSAqIEFzIHdlIHJlc2V0IHRo ZSBncHUgZHVyaW5nIHZlcnkgZWFybHkgc2FuaXRpc2F0aW9uLCB0aGUgY3VycmVudAorCSAqIHJl Z2lzdGVyIHN0YXRlIG9uIHRoZSBHUFUgc2hvdWxkIHJlZmxlY3QgaXRzIGRlZmF1bHRzIHZhbHVl cy4KKwkgKiBXZSBsb2FkIGEgY29udGV4dCBvbnRvIHRoZSBodyAod2l0aCByZXN0b3JlLWluaGli aXQpLCB0aGVuIHN3aXRjaAorCSAqIG92ZXIgdG8gYSBzZWNvbmQgY29udGV4dCB0byBzYXZlIHRo YXQgZGVmYXVsdCByZWdpc3RlciBzdGF0ZS4gV2UKKwkgKiBjYW4gdGhlbiBwcmltZSBldmVyeSBu ZXcgY29udGV4dCB3aXRoIHRoYXQgc3RhdGUgc28gdGhleSBhbGwgc3RhcnQKKwkgKiBmcm9tIHRo ZSBzYW1lIGRlZmF1bHQgSFcgdmFsdWVzLgorCSAqLworCisJY3R4ID0gaTkxNV9nZW1fY29udGV4 dF9jcmVhdGVfa2VybmVsKGk5MTUsIDApOworCWlmIChJU19FUlIoY3R4KSkKKwkJcmV0dXJuIFBU Ul9FUlIoY3R4KTsKKworCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGk5MTUsIGlkKSB7CisJCXN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnE7CisKKwkJcnEgPSBpOTE1X2dlbV9yZXF1ZXN0 X2FsbG9jKGVuZ2luZSwgY3R4KTsKKwkJaWYgKElTX0VSUihycSkpIHsKKwkJCWVyciA9IFBUUl9F UlIocnEpOworCQkJZ290byBvdXRfY3R4OworCQl9CisKKwkJZXJyID0gaTkxNV9zd2l0Y2hfY29u dGV4dChycSk7CisJCWlmIChlbmdpbmUtPmluaXRfY29udGV4dCkKKwkJCWVyciA9IGVuZ2luZS0+ aW5pdF9jb250ZXh0KHJxKTsKKworCQlfX2k5MTVfYWRkX3JlcXVlc3QocnEsIHRydWUpOworCQlp ZiAoZXJyKQorCQkJZ290byBlcnJfYWN0aXZlOworCX0KKworCWVyciA9IGk5MTVfZ2VtX3N3aXRj aF90b19rZXJuZWxfY29udGV4dChpOTE1KTsKKwlpZiAoZXJyKQorCQlnb3RvIGVycl9hY3RpdmU7 CisKKwllcnIgPSBpOTE1X2dlbV93YWl0X2Zvcl9pZGxlKGk5MTUsIEk5MTVfV0FJVF9MT0NLRUQp OworCWlmIChlcnIpCisJCWdvdG8gZXJyX2FjdGl2ZTsKKworCWFzc2VydF9rZXJuZWxfY29udGV4 dF9pc19jdXJyZW50KGk5MTUpOworCisJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQp IHsKKwkJc3RydWN0IGk5MTVfdm1hICpzdGF0ZTsKKworCQlzdGF0ZSA9IGN0eC0+ZW5naW5lW2lk XS5zdGF0ZTsKKwkJaWYgKCFzdGF0ZSkKKwkJCWNvbnRpbnVlOworCisJCS8qCisJCSAqIEFzIHdl IHdpbGwgaG9sZCBhIHJlZmVyZW5jZSB0byB0aGUgbG9naWNhbCBzdGF0ZSwgaXQgd2lsbAorCQkg KiBub3QgYmUgdG9ybiBkb3duIHdpdGggdGhlIGNvbnRleHQsIGFuZCBpbXBvcnRhbnRseSB0aGUK KwkJICogb2JqZWN0IHdpbGwgaG9sZCBvbnRvIGl0cyB2bWEgKG1ha2luZyBpdCBwb3NzaWJsZSBm b3IgYQorCQkgKiBzdHJheSBHVFQgd3JpdGUgdG8gY29ycnVwdCBvdXIgZGVmYXVsdHMpLiBVbm1h cCB0aGUgdm1hCisJCSAqIGZyb20gdGhlIEdUVCB0byBwcmV2ZW50IHN1Y2ggYWNjaWRlbnRzIGFu ZCByZWNsYWltIHRoZQorCQkgKiBzcGFjZS4KKwkJICovCisJCWVyciA9IGk5MTVfdm1hX3VuYmlu ZChzdGF0ZSk7CisJCWlmIChlcnIpCisJCQlnb3RvIGVycl9hY3RpdmU7CisKKwkJZXJyID0gaTkx NV9nZW1fb2JqZWN0X3NldF90b19jcHVfZG9tYWluKHN0YXRlLT5vYmosIGZhbHNlKTsKKwkJaWYg KGVycikKKwkJCWdvdG8gZXJyX2FjdGl2ZTsKKworCQllbmdpbmUtPmRlZmF1bHRfc3RhdGUgPSBp OTE1X2dlbV9vYmplY3RfZ2V0KHN0YXRlLT5vYmopOworCX0KKworb3V0X2N0eDoKKwlpOTE1X2dl bV9jb250ZXh0X3NldF9jbG9zZWQoY3R4KTsKKwlpOTE1X2dlbV9jb250ZXh0X3B1dChjdHgpOwor CXJldHVybiBlcnI7CisKK2Vycl9hY3RpdmU6CisJLyoKKwkgKiBJZiB3ZSBoYXZlIHRvIGFiYW5k b24gbm93LCB3ZSBleHBlY3QgdGhlIGVuZ2luZXMgdG8gYmUgaWRsZQorCSAqIGFuZCByZWFkeSB0 byBiZSB0b3JuLWRvd24uIEZpcnN0IHRyeSB0byBmbHVzaCBhbnkgcmVtYWluaW5nCisJICogcmVx dWVzdCwgZW5zdXJlIHdlIGFyZSBwb2ludGluZyBhdCB0aGUga2VybmVsIGNvbnRleHQgYW5kCisJ ICogdGhlbiByZW1vdmUgaXQuCisJICovCisJaWYgKFdBUk5fT04oaTkxNV9nZW1fc3dpdGNoX3Rv X2tlcm5lbF9jb250ZXh0KGk5MTUpKSkKKwkJZ290byBvdXRfY3R4OworCisJaWYgKFdBUk5fT04o aTkxNV9nZW1fd2FpdF9mb3JfaWRsZShpOTE1LCBJOTE1X1dBSVRfTE9DS0VEKSkpCisJCWdvdG8g b3V0X2N0eDsKKworCWk5MTVfZ2VtX2NvbnRleHRzX2xvc3QoaTkxNSk7CisJZ290byBvdXRfY3R4 OworfQorCiBpbnQgaTkxNV9nZW1faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCiB7CiAJaW50IHJldDsKQEAgLTUwMjQsNiArNTEyMCwxMCBAQCBpbnQgaTkxNV9nZW1faW5p dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAlpbnRlbF9pbml0X2d0X3Bv d2Vyc2F2ZShkZXZfcHJpdik7CiAKKwlyZXQgPSBfX2ludGVsX2VuZ2luZXNfcmVjb3JkX2RlZmF1 bHRzKGRldl9wcml2KTsKKwlpZiAocmV0KQorCQlnb3RvIG91dF91bmxvY2s7CisKIG91dF91bmxv Y2s6CiAJaWYgKHJldCA9PSAtRUlPKSB7CiAJCS8qIEFsbG93IGVuZ2luZSBpbml0aWFsaXNhdGlv biB0byBmYWlsIGJ5IG1hcmtpbmcgdGhlIEdQVSBhcwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fY29udGV4dC5jCmluZGV4IDEwYWZmYjM1YWM1Ni4uMzFlZTVlYzRhMGE4IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCkBAIC00MTgsOCArNDE4LDggQEAgaTkxNV9n ZW1fY29udGV4dF9jcmVhdGVfZ3Z0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJcmV0dXJuIGN0 eDsKIH0KIAotc3RhdGljIHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICoKLWNyZWF0ZV9rZXJuZWxf Y29udGV4dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgaW50IHByaW8pCitzdHJ1Y3Qg aTkxNV9nZW1fY29udGV4dCAqCitpOTE1X2dlbV9jb250ZXh0X2NyZWF0ZV9rZXJuZWwoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIGludCBwcmlvKQogewogCXN0cnVjdCBpOTE1X2dlbV9j b250ZXh0ICpjdHg7CiAKQEAgLTQ3Myw3ICs0NzMsNyBAQCBpbnQgaTkxNV9nZW1fY29udGV4dHNf aW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaWRhX2luaXQoJmRldl9w cml2LT5jb250ZXh0cy5od19pZGEpOwogCiAJLyogbG93ZXN0IHByaW9yaXR5OyBpZGxlIHRhc2sg Ki8KLQljdHggPSBjcmVhdGVfa2VybmVsX2NvbnRleHQoZGV2X3ByaXYsIEk5MTVfUFJJT1JJVFlf TUlOKTsKKwljdHggPSBpOTE1X2dlbV9jb250ZXh0X2NyZWF0ZV9rZXJuZWwoZGV2X3ByaXYsIEk5 MTVfUFJJT1JJVFlfTUlOKTsKIAlpZiAoSVNfRVJSKGN0eCkpIHsKIAkJRFJNX0VSUk9SKCJGYWls ZWQgdG8gY3JlYXRlIGRlZmF1bHQgZ2xvYmFsIGNvbnRleHRcbiIpOwogCQllcnIgPSBQVFJfRVJS KGN0eCk7CkBAIC00ODcsNyArNDg3LDcgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRzX2luaXQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWRldl9wcml2LT5rZXJuZWxfY29udGV4 dCA9IGN0eDsKIAogCS8qIGhpZ2hlc3QgcHJpb3JpdHk7IHByZWVtcHRpbmcgdGFzayAqLwotCWN0 eCA9IGNyZWF0ZV9rZXJuZWxfY29udGV4dChkZXZfcHJpdiwgSU5UX01BWCk7CisJY3R4ID0gaTkx NV9nZW1fY29udGV4dF9jcmVhdGVfa2VybmVsKGRldl9wcml2LCBJTlRfTUFYKTsKIAlpZiAoSVNf RVJSKGN0eCkpIHsKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIGRlZmF1bHQgcHJlZW1w dCBjb250ZXh0XG4iKTsKIAkJZXJyID0gUFRSX0VSUihjdHgpOwpAQCAtNTIyLDI4ICs1MjIsNiBA QCB2b2lkIGk5MTVfZ2VtX2NvbnRleHRzX2xvc3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogCQllbmdpbmUtPmNvbnRleHRfdW5waW4oZW5naW5lLCBlbmdpbmUtPmxhc3RfcmV0 aXJlZF9jb250ZXh0KTsKIAkJZW5naW5lLT5sYXN0X3JldGlyZWRfY29udGV4dCA9IE5VTEw7CiAJ fQotCi0JLyogRm9yY2UgdGhlIEdQVSBzdGF0ZSB0byBiZSByZXN0b3JlZCBvbiBlbmFibGluZyAq LwotCWlmICghaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2V4ZWNsaXN0cykgewotCQlzdHJ1Y3QgaTkx NV9nZW1fY29udGV4dCAqY3R4OwotCi0JCWxpc3RfZm9yX2VhY2hfZW50cnkoY3R4LCAmZGV2X3By aXYtPmNvbnRleHRzLmxpc3QsIGxpbmspIHsKLQkJCWlmICghaTkxNV9nZW1fY29udGV4dF9pc19k ZWZhdWx0KGN0eCkpCi0JCQkJY29udGludWU7Ci0KLQkJCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUs IGRldl9wcml2LCBpZCkKLQkJCQljdHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5pbml0aWFsaXNlZCA9 IGZhbHNlOwotCi0JCQljdHgtPnJlbWFwX3NsaWNlID0gQUxMX0wzX1NMSUNFUyhkZXZfcHJpdik7 Ci0JCX0KLQotCQlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBkZXZfcHJpdiwgaWQpIHsKLQkJCXN0 cnVjdCBpbnRlbF9jb250ZXh0ICprY2UgPQotCQkJCSZkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQt PmVuZ2luZVtlbmdpbmUtPmlkXTsKLQotCQkJa2NlLT5pbml0aWFsaXNlZCA9IHRydWU7Ci0JCX0K LQl9CiB9CiAKIHZvaWQgaTkxNV9nZW1fY29udGV4dHNfZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKQEAgLTcxOCw5ICs2OTYsNiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2tpcF9y Y3Nfc3dpdGNoKHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCwKIAlpZiAodG8tPnJlbWFwX3Ns aWNlKQogCQlyZXR1cm4gZmFsc2U7CiAKLQlpZiAoIXRvLT5lbmdpbmVbUkNTXS5pbml0aWFsaXNl ZCkKLQkJcmV0dXJuIGZhbHNlOwotCiAJaWYgKHBwZ3R0ICYmIChpbnRlbF9lbmdpbmVfZmxhZyhl bmdpbmUpICYgcHBndHQtPnBkX2RpcnR5X3JpbmdzKSkKIAkJcmV0dXJuIGZhbHNlOwogCkBAIC03 OTUsMTEgKzc3MCwxNCBAQCBzdGF0aWMgaW50IGRvX3Jjc19zd2l0Y2goc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXEpCiAJCQlyZXR1cm4gcmV0OwogCX0KIAotCWlmICghdG8tPmVuZ2lu ZVtSQ1NdLmluaXRpYWxpc2VkIHx8IGk5MTVfZ2VtX2NvbnRleHRfaXNfZGVmYXVsdCh0bykpCi0J CS8qIE5COiBJZiB3ZSBpbmhpYml0IHRoZSByZXN0b3JlLCB0aGUgY29udGV4dCBpcyBub3QgYWxs b3dlZCB0bwotCQkgKiBkaWUgYmVjYXVzZSBmdXR1cmUgd29yayBtYXkgZW5kIHVwIGRlcGVuZGlu ZyBvbiB2YWxpZCBhZGRyZXNzCi0JCSAqIHNwYWNlLiBUaGlzIG1lYW5zIHdlIG11c3QgZW5mb3Jj ZSB0aGF0IGEgcGFnZSB0YWJsZSBsb2FkCi0JCSAqIG9jY3VyIHdoZW4gdGhpcyBvY2N1cnMuICov CisJaWYgKGk5MTVfZ2VtX2NvbnRleHRfaXNfa2VybmVsKHRvKSkKKwkJLyoKKwkJICogVGhlIGtl cm5lbCBjb250ZXh0KHMpIGlzIHRyZWF0ZWQgYXMgcHVyZSBzY3JhdGNoIGFuZCBpcyBub3QKKwkJ ICogZXhwZWN0ZWQgdG8gcmV0YWluIGFueSBzdGF0ZSAoYXMgd2Ugc2FjcmlmaWNlIGl0IGR1cmlu ZworCQkgKiBzdXNwZW5kIGFuZCBvbiByZXN1bWUgaXQgbWF5IGJlIGNvcnJ1cHRlZCkuIFRoaXMg aXMgb2ssCisJCSAqIGFzIG5vdGhpbmcgYWN0dWFsbHkgZXhlY3V0ZXMgdXNpbmcgdGhlIGtlcm5l bCBjb250ZXh0OyBpdAorCQkgKiBpcyBwdXJlbHkgdXNlZCBmb3IgZmx1c2hpbmcgdXNlciBjb250 ZXh0cy4KKwkJICovCiAJCWh3X2ZsYWdzID0gTUlfUkVTVE9SRV9JTkhJQklUOwogCWVsc2UgaWYg KHBwZ3R0ICYmIGludGVsX2VuZ2luZV9mbGFnKGVuZ2luZSkgJiBwcGd0dC0+cGRfZGlydHlfcmlu Z3MpCiAJCWh3X2ZsYWdzID0gTUlfRk9SQ0VfUkVTVE9SRTsKQEAgLTg0MywxNSArODIxLDYgQEAg c3RhdGljIGludCBkb19yY3Nfc3dpdGNoKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx KQogCQl0by0+cmVtYXBfc2xpY2UgJj0gfigxPDxpKTsKIAl9CiAKLQlpZiAoIXRvLT5lbmdpbmVb UkNTXS5pbml0aWFsaXNlZCkgewotCQlpZiAoZW5naW5lLT5pbml0X2NvbnRleHQpIHsKLQkJCXJl dCA9IGVuZ2luZS0+aW5pdF9jb250ZXh0KHJlcSk7Ci0JCQlpZiAocmV0KQotCQkJCXJldHVybiBy ZXQ7Ci0JCX0KLQkJdG8tPmVuZ2luZVtSQ1NdLmluaXRpYWxpc2VkID0gdHJ1ZTsKLQl9Ci0KIAly ZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Y29udGV4dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oCmluZGV4 IDQ0Njg4ZTIyYTVjMi4uNGJmYjcyZjhlMWNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9jb250ZXh0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fY29udGV4dC5oCkBAIC0xNTcsNyArMTU3LDYgQEAgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQg ewogCQl1MzIgKmxyY19yZWdfc3RhdGU7CiAJCXU2NCBscmNfZGVzYzsKIAkJaW50IHBpbl9jb3Vu dDsKLQkJYm9vbCBpbml0aWFsaXNlZDsKIAl9IGVuZ2luZVtJOTE1X05VTV9FTkdJTkVTXTsKIAog CS8qKiByaW5nX3NpemU6IHNpemUgZm9yIGFsbG9jYXRpbmcgdGhlIHBlci1lbmdpbmUgcmluZyBi dWZmZXIgKi8KQEAgLTI5Miw2ICsyOTEsOSBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9zZXRwYXJh bV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogaW50IGk5MTVfZ2Vt X2NvbnRleHRfcmVzZXRfc3RhdHNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKIAkJCQkgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlKTsKIAorc3RydWN0IGk5MTVf Z2VtX2NvbnRleHQgKgoraTkxNV9nZW1fY29udGV4dF9jcmVhdGVfa2VybmVsKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1LCBpbnQgcHJpbyk7CisKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGk5 MTVfZ2VtX2NvbnRleHQgKgogaTkxNV9nZW1fY29udGV4dF9nZXQoc3RydWN0IGk5MTVfZ2VtX2Nv bnRleHQgKmN0eCkKIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Vu Z2luZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKaW5kZXgg Mzc0ZTM5OGU4NjdhLi45M2JhY2FlZTUyNWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2VuZ2luZV9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Vu Z2luZV9jcy5jCkBAIC02ODcsNiArNjg3LDkgQEAgdm9pZCBpbnRlbF9lbmdpbmVfY2xlYW51cF9j b21tb24oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCWludGVsX2VuZ2luZV9jbGVh bnVwX2NtZF9wYXJzZXIoZW5naW5lKTsKIAlpOTE1X2dlbV9iYXRjaF9wb29sX2ZpbmkoJmVuZ2lu ZS0+YmF0Y2hfcG9vbCk7CiAKKwlpZiAoZW5naW5lLT5kZWZhdWx0X3N0YXRlKQorCQlpOTE1X2dl bV9vYmplY3RfcHV0KGVuZ2luZS0+ZGVmYXVsdF9zdGF0ZSk7CisKIAlpZiAoSEFTX0xPR0lDQUxf UklOR19QUkVFTVBUSU9OKGVuZ2luZS0+aTkxNSkpCiAJCWVuZ2luZS0+Y29udGV4dF91bnBpbihl bmdpbmUsIGVuZ2luZS0+aTkxNS0+cHJlZW1wdF9jb250ZXh0KTsKIAllbmdpbmUtPmNvbnRleHRf dW5waW4oZW5naW5lLCBlbmdpbmUtPmk5MTUtPmtlcm5lbF9jb250ZXh0KTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMKaW5kZXggOWI0ZTc0MTUxYWNlLi5mOTYyMjVhNmEzNjkgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5jCkBAIC0xMTYzLDcgKzExNjMsNiBAQCBzdGF0aWMgaW50IGV4ZWNsaXN0 c19yZXF1ZXN0X2FsbG9jKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXF1ZXN0LT5lbmdpbmU7CiAJc3RydWN0 IGludGVsX2NvbnRleHQgKmNlID0gJnJlcXVlc3QtPmN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdOwog CXUzMiAqY3M7Ci0JaW50IHJldDsKIAogCUdFTV9CVUdfT04oIWNlLT5waW5fY291bnQpOwogCkBA IC0xMTc3LDE0ICsxMTc2LDYgQEAgc3RhdGljIGludCBleGVjbGlzdHNfcmVxdWVzdF9hbGxvYyhz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCiAJaWYgKElTX0VSUihjcykpCiAJ CXJldHVybiBQVFJfRVJSKGNzKTsKIAotCWlmICghY2UtPmluaXRpYWxpc2VkKSB7Ci0JCXJldCA9 IGVuZ2luZS0+aW5pdF9jb250ZXh0KHJlcXVlc3QpOwotCQlpZiAocmV0KQotCQkJcmV0dXJuIHJl dDsKLQotCQljZS0+aW5pdGlhbGlzZWQgPSB0cnVlOwotCX0KLQogCS8qIE5vdGUgdGhhdCBhZnRl ciB0aGlzIHBvaW50LCB3ZSBoYXZlIGNvbW1pdHRlZCB0byB1c2luZwogCSAqIHRoaXMgcmVxdWVz dCBhcyBpdCBpcyBiZWluZyB1c2VkIHRvIGJvdGggdHJhY2sgdGhlCiAJICogc3RhdGUgb2YgZW5n aW5lIGluaXRpYWxpc2F0aW9uIGFuZCBsaXZlbmVzcyBvZiB0aGUKQEAgLTIxMTYsNyArMjEwNyw2 IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19pbml0X3JlZ19zdGF0ZSh1MzIgKnJlZ3MsCiAKIAlD VFhfUkVHKHJlZ3MsIENUWF9DT05URVhUX0NPTlRST0wsIFJJTkdfQ09OVEVYVF9DT05UUk9MKGVu Z2luZSksCiAJCV9NQVNLRURfQklUX0VOQUJMRShDVFhfQ1RSTF9JTkhJQklUX1NZTl9DVFhfU1dJ VENIIHwKLQkJCQkgICBDVFhfQ1RSTF9FTkdJTkVfQ1RYX1JFU1RPUkVfSU5ISUJJVCB8CiAJCQkJ ICAgKEhBU19SRVNPVVJDRV9TVFJFQU1FUihkZXZfcHJpdikgPwogCQkJCSAgIENUWF9DVFJMX1JT X0NUWF9FTkFCTEUgOiAwKSkpOwogCUNUWF9SRUcocmVncywgQ1RYX1JJTkdfSEVBRCwgUklOR19I RUFEKGJhc2UpLCAwKTsKQEAgLTIxOTMsNiArMjE4Myw3IEBAIHBvcHVsYXRlX2xyX2NvbnRleHQo c3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKIAkJICAgIHN0cnVjdCBpbnRlbF9yaW5nICpy aW5nKQogewogCXZvaWQgKnZhZGRyOworCXUzMiAqcmVnczsKIAlpbnQgcmV0OwogCiAJcmV0ID0g aTkxNV9nZW1fb2JqZWN0X3NldF90b19jcHVfZG9tYWluKGN0eF9vYmosIHRydWUpOwpAQCAtMjIw OSwxMSArMjIwMCwzMiBAQCBwb3B1bGF0ZV9scl9jb250ZXh0KHN0cnVjdCBpOTE1X2dlbV9jb250 ZXh0ICpjdHgsCiAJfQogCWN0eF9vYmotPm1tLmRpcnR5ID0gdHJ1ZTsKIAorCWlmIChlbmdpbmUt PmRlZmF1bHRfc3RhdGUpIHsKKwkJLyoKKwkJICogV2Ugb25seSB3YW50IHRvIGNvcHkgb3ZlciB0 aGUgdGVtcGxhdGUgY29udGV4dCBzdGF0ZTsKKwkJICogc2tpcHBpbmcgb3ZlciB0aGUgaGVhZGVy cyByZXNlcnZlZCBmb3IgR3VDIGNvbXVuaWNhdGlvbiwKKwkJICogbGVhdmluZyB0aG9zZSBhcyB6 ZXJvLgorCQkgKi8KKwkJY29uc3QgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSBMUkNfSEVBREVSX1BB R0VTICogUEFHRV9TSVpFOworCQl2b2lkICpkZWZhdWx0czsKKworCQlkZWZhdWx0cyA9IGk5MTVf Z2VtX29iamVjdF9waW5fbWFwKGVuZ2luZS0+ZGVmYXVsdF9zdGF0ZSwKKwkJCQkJCSAgIEk5MTVf TUFQX1dCKTsKKwkJaWYgKElTX0VSUihkZWZhdWx0cykpCisJCQlyZXR1cm4gUFRSX0VSUihkZWZh dWx0cyk7CisKKwkJbWVtY3B5KHZhZGRyICsgb2Zmc2V0LCBkZWZhdWx0cyArIG9mZnNldCwgZW5n aW5lLT5jb250ZXh0X3NpemUpOworCQlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFwKGVuZ2luZS0+ ZGVmYXVsdF9zdGF0ZSk7CisJfQorCiAJLyogVGhlIHNlY29uZCBwYWdlIG9mIHRoZSBjb250ZXh0 IG9iamVjdCBjb250YWlucyBzb21lIGZpZWxkcyB3aGljaCBtdXN0CiAJICogYmUgc2V0IHVwIHBy aW9yIHRvIHRoZSBmaXJzdCBleGVjdXRpb24uICovCi0KLQlleGVjbGlzdHNfaW5pdF9yZWdfc3Rh dGUodmFkZHIgKyBMUkNfU1RBVEVfUE4gKiBQQUdFX1NJWkUsCi0JCQkJIGN0eCwgZW5naW5lLCBy aW5nKTsKKwlyZWdzID0gdmFkZHIgKyBMUkNfU1RBVEVfUE4gKiBQQUdFX1NJWkU7CisJZXhlY2xp c3RzX2luaXRfcmVnX3N0YXRlKHJlZ3MsIGN0eCwgZW5naW5lLCByaW5nKTsKKwlpZiAoIWVuZ2lu ZS0+ZGVmYXVsdF9zdGF0ZSkgeworCQlyZWdzW0NUWF9DT05URVhUX0NPTlRST0wrMV0gfD0KKwkJ CV9NQVNLRURfQklUX0VOQUJMRShDVFhfQ1RSTF9FTkdJTkVfQ1RYX1JFU1RPUkVfSU5ISUJJVCk7 CisJfQogCiAJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChjdHhfb2JqKTsKIApAQCAtMjI2Niw3 ICsyMjc4LDYgQEAgc3RhdGljIGludCBleGVjbGlzdHNfY29udGV4dF9kZWZlcnJlZF9hbGxvYyhz dHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAogCiAJY2UtPnJpbmcgPSByaW5nOwogCWNlLT5z dGF0ZSA9IHZtYTsKLQljZS0+aW5pdGlhbGlzZWQgfD0gZW5naW5lLT5pbml0X2NvbnRleHQgPT0g TlVMTDsKIAogCXJldHVybiAwOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmMKaW5kZXggN2UyYTY3MTg4MmZiLi40NjRkYzU4YWYyN2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTEzODQsMTEgKzEzODQsMzQgQEAgYWxsb2NfY29udGV4 dF92bWEoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1ID0gZW5naW5lLT5pOTE1OwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmo7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CisJaW50IGVycjsKIAogCW9iaiA9IGk5MTVf Z2VtX29iamVjdF9jcmVhdGUoaTkxNSwgZW5naW5lLT5jb250ZXh0X3NpemUpOwogCWlmIChJU19F UlIob2JqKSkKIAkJcmV0dXJuIEVSUl9DQVNUKG9iaik7CiAKKwlpZiAoZW5naW5lLT5kZWZhdWx0 X3N0YXRlKSB7CisJCXZvaWQgKmRlZmF1bHRzLCAqdmFkZHI7CisKKwkJdmFkZHIgPSBpOTE1X2dl bV9vYmplY3RfcGluX21hcChvYmosIEk5MTVfTUFQX1dCKTsKKwkJaWYgKElTX0VSUih2YWRkcikp IHsKKwkJCWVyciA9IFBUUl9FUlIodmFkZHIpOworCQkJZ290byBlcnJfb2JqOworCQl9CisKKwkJ ZGVmYXVsdHMgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChlbmdpbmUtPmRlZmF1bHRfc3RhdGUs CisJCQkJCQkgICBJOTE1X01BUF9XQik7CisJCWlmIChJU19FUlIoZGVmYXVsdHMpKSB7CisJCQll cnIgPSBQVFJfRVJSKGRlZmF1bHRzKTsKKwkJCWdvdG8gZXJyX21hcDsKKwkJfQorCisJCW1lbWNw eSh2YWRkciwgZGVmYXVsdHMsIGVuZ2luZS0+Y29udGV4dF9zaXplKTsKKworCQlpOTE1X2dlbV9v YmplY3RfdW5waW5fbWFwKGVuZ2luZS0+ZGVmYXVsdF9zdGF0ZSk7CisJCWk5MTVfZ2VtX29iamVj dF91bnBpbl9tYXAob2JqKTsKKwl9CisKIAkvKgogCSAqIFRyeSB0byBtYWtlIHRoZSBjb250ZXh0 IHV0aWxpemUgTDMgYXMgd2VsbCBhcyBMTEMuCiAJICoKQEAgLTE0MTAsMTAgKzE0MzMsMTggQEAg YWxsb2NfY29udGV4dF92bWEoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCX0KIAog CXZtYSA9IGk5MTVfdm1hX2luc3RhbmNlKG9iaiwgJmk5MTUtPmdndHQuYmFzZSwgTlVMTCk7Ci0J aWYgKElTX0VSUih2bWEpKQotCQlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CisJaWYgKElTX0VS Uih2bWEpKSB7CisJCWVyciA9IFBUUl9FUlIodm1hKTsKKwkJZ290byBlcnJfb2JqOworCX0KIAog CXJldHVybiB2bWE7CisKK2Vycl9tYXA6CisJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChvYmop OworZXJyX29iajoKKwlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CisJcmV0dXJuIEVSUl9QVFIo ZXJyKTsKIH0KIAogc3RhdGljIHN0cnVjdCBpbnRlbF9yaW5nICoKQEAgLTE0NDksMTYgKzE0ODAs NiBAQCBpbnRlbF9yaW5nX2NvbnRleHRfcGluKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSwKIAkJY2UtPnN0YXRlLT5vYmotPnBpbl9nbG9iYWwrKzsKIAl9CiAKLQkvKiBUaGUga2VybmVs IGNvbnRleHQgaXMgb25seSB1c2VkIGFzIGEgcGxhY2Vob2xkZXIgZm9yIGZsdXNoaW5nIHRoZQot CSAqIGFjdGl2ZSBjb250ZXh0LiBJdCBpcyBuZXZlciB1c2VkIGZvciBzdWJtaXR0aW5nIHVzZXIg cmVuZGVyaW5nIGFuZAotCSAqIGFzIHN1Y2ggbmV2ZXIgcmVxdWlyZXMgdGhlIGdvbGRlbiByZW5k ZXIgY29udGV4dCwgYW5kIHNvIHdlIGNhbiBza2lwCi0JICogZW1pdHRpbmcgaXQgd2hlbiB3ZSBz d2l0Y2ggdG8gdGhlIGtlcm5lbCBjb250ZXh0LiBUaGlzIGlzIHJlcXVpcmVkCi0JICogYXMgZHVy aW5nIGV2aWN0aW9uIHdlIGNhbm5vdCBhbGxvY2F0ZSBhbmQgcGluIHRoZSByZW5kZXJzdGF0ZSBp bgotCSAqIG9yZGVyIHRvIGluaXRpYWxpc2UgdGhlIGNvbnRleHQuCi0JICovCi0JaWYgKGk5MTVf Z2VtX2NvbnRleHRfaXNfa2VybmVsKGN0eCkpCi0JCWNlLT5pbml0aWFsaXNlZCA9IHRydWU7Ci0K IAlpOTE1X2dlbV9jb250ZXh0X2dldChjdHgpOwogCiBvdXQ6CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmgKaW5kZXggZjNkYmZlN2FlNmU0Li4wNDEyZDA0MzQwMTUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKQEAgLTMwNiw2ICszMDYsNyBAQCBz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzIHsKIAlzdHJ1Y3QgaW50ZWxfcmluZyAqYnVmZmVyOwogCXN0 cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmU7CiAKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqZGVmYXVsdF9zdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfcmVuZGVyX3N0YXRlICpyZW5kZXJf c3RhdGU7CiAKIAlhdG9taWNfdCBpcnFfY291bnQ7Ci0tIAoyLjE1LjAKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=