From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Hoath Subject: [PATCH 1/4] drm/i915: Unify execlist and legacy request life-cycles Date: Tue, 6 Oct 2015 15:52:01 +0100 Message-ID: <1444143124-16030-2-git-send-email-nicholas.hoath@intel.com> References: <1444143124-16030-1-git-send-email-nicholas.hoath@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 9DDBA6E1FE for ; Tue, 6 Oct 2015 07:52:32 -0700 (PDT) In-Reply-To: <1444143124-16030-1-git-send-email-nicholas.hoath@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 VGhlcmUgaXMgYSBkZXNpcmUgdG8gc2ltcGxpZnkgdGhlIGk5MTUgZHJpdmVyIGJ5IHJlZHVjaW5n IHRoZSBudW1iZXIgb2YKZGlmZmVyZW50IGNvZGUgcGF0aHMgaW50cm9kdWNlZCBieSB0aGUgTFJD IC8gZXhlY2xpc3RzIHN1cHBvcnQuICBBcyB0aGUKZXhlY2xpc3RzIHJlcXVlc3QgaXMgbm93IHBh cnQgb2YgdGhlIGdlbSByZXF1ZXN0IGl0IGlzIHBvc3NpYmxlIGFuZApkZXNpcmFibGUgdG8gdW5p ZnkgdGhlIHJlcXVlc3QgbGlmZS1jeWNsZXMgZm9yIGV4ZWNsaXN0IGFuZCBsZWdhY3kKcmVxdWVz dHMuCgpBZGRlZCBhIGNvbnRleHQgY29tcGxldGUgZmxhZyB0byBhIHJlcXVlc3Qgd2hpY2ggZ2V0 cyBzZXQgZHVyaW5nIHRoZQpjb250ZXh0IHN3aXRjaCBpbnRlcnJ1cHQuCgpBZGRlZCBhIGZ1bmN0 aW9uIGk5MTVfZ2VtX3JlcXVlc3RfcmV0aXJlYWJsZSgpLiAgQSByZXF1ZXN0IGlzIGNvbnNpZGVy ZWQKcmV0aXJlYWJsZSBpZiBpdHMgc2Vxbm8gcGFzc2VkIChpLmUuIHRoZSByZXF1ZXN0IGhhcyBj b21wbGV0ZWQpIGFuZCBlaXRoZXIKaXQgd2FzIG5ldmVyIHN1Ym1pdHRlZCB0byB0aGUgRUxTUCBv ciBpdHMgY29udGV4dCBjb21wbGV0ZWQuICBUaGlzIGVuc3VyZXMKdGhhdCBjb250ZXh0IHNhdmUg aXMgY2FycmllZCBvdXQgYmVmb3JlIHRoZSBsYXN0IHJlcXVlc3QgZm9yIGEgY29udGV4dCBpcwpj b25zaWRlcmVkIHJldGlyZWFibGUuICByZXRpcmVfcmVxdWVzdHNfcmluZygpIG5vdyB1c2VzCmk5 MTVfZ2VtX3JlcXVlc3RfcmV0aXJlYWJsZSgpIHJhdGhlciB0aGFuIHJlcXVlc3RfY29tcGxldGUo KSB3aGVuIGRlY2lkaW5nCndoaWNoIHJlcXVlc3RzIHRvIHJldGlyZS4gUmVxdWVzdHMgdGhhdCB3 ZXJlIG5vdCB3YWl0aW5nIGZvciBhIGNvbnRleHQKc3dpdGNoIGludGVycnVwdCAoZWl0aGVyIGFz IGEgcmVzdWx0IG9mIGJlaW5nIG1lcmdlZCBpbnRvIGEgZm9sbG93aW5nCnJlcXVlc3Qgb3IgYnkg YmVpbmcgYSBsZWdhY3kgcmVxdWVzdCkgd2lsbCBiZSBjb25zaWRlcmVkIHJldGlyZWFibGUgYXMK c29vbiBhcyB0aGVpciBzZXFubyBoYXMgcGFzc2VkLgoKUmVtb3ZlZCB0aGUgZXh0cmEgcmVxdWVz dCByZWZlcmVuY2UgaGVsZCBmb3IgdGhlIGV4ZWNsaXN0IHJlcXVlc3QuCgpSZW1vdmVkIGludGVs X2V4ZWNsaXN0c19yZXRpcmVfcmVxdWVzdHMoKSBhbmQgYWxsIHJlZmVyZW5jZXMgdG8KaW50ZWxf ZW5naW5lX2NzLmV4ZWNsaXN0X3JldGlyZWRfcmVxX2xpc3QuCgpNb3ZlZCBjb250ZXh0IHVucGlu bmluZyBpbnRvIHJldGlyZV9yZXF1ZXN0c19yaW5nKCkgZm9yIG5vdy4gIEZ1cnRoZXIgd29yawpp cyBwZW5kaW5nIGZvciB0aGUgY29udGV4dCBwaW5uaW5nIC0gdGhpcyBwYXRjaCBzaG91bGQgYWxs b3cgdXMgdG8gdXNlIHRoZQphY3RpdmUgbGlzdCB0byB0cmFjayBjb250ZXh0IGFuZCByaW5nIGJ1 ZmZlciBvYmplY3RzIGxhdGVyLgoKQ2hhbmdlZCBnZW44X2NzX2lycV9oYW5kbGVyKCkgc28gdGhh dCBub3RpZnlfcmluZygpIGlzIGNhbGxlZCB3aGVuCmNvbnRleHRzIGNvbXBsZXRlIGFzIHdlbGwg YXMgd2hlbiBhIHVzZXIgaW50ZXJydXB0IG9jY3VycyBzbyB0aGF0Cm5vdGlmaWNhdGlvbiBoYXBw ZW5zIHdoZW4gYSByZXF1ZXN0IGlzIGNvbXBsZXRlIGFuZCBjb250ZXh0IHNhdmUgaGFzCmZpbmlz aGVkLgoKdjI6IFJlYmFzZSBvdmVyIHRoZSByZWFkLXJlYWQgb3B0aW1pc2F0aW9uIGNoYW5nZXMK CnYzOiBSZXdvcmtlZCBJUlEgaGFuZGxlciBhZnRlciByZW1vdmluZyBJUlEgaGFuZGxlciBjbGVh bnVwIHBhdGNoCgp2NDogRml4ZWQgdmFyaW91cyBwaW4gbGVha3MKCklzc3VlOiBWSVotNDI3NwpT aWduZWQtb2ZmLWJ5OiBUaG9tYXMgRGFuaWVsIDx0aG9tYXMuZGFuaWVsQGludGVsLmNvbT4KU2ln bmVkLW9mZi1ieTogTmljayBIb2F0aCA8bmljaG9sYXMuaG9hdGhAaW50ZWwuY29tPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICA2ICsrKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgIHwgNjcgKysrKysrKysrKysrKysrKysrKysr LS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgICAgfCA4MSArKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5jICAgICAgICB8IDQzICsrKy0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuaCAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5oIHwgIDEgLQogNiBmaWxlcyBjaGFuZ2VkLCAxMTggaW5zZXJ0aW9ucygrKSwg ODIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZmJmMGFlOS4uM2Qy MTdmOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMjYyLDYgKzIyNjIsMTIgQEAgc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0IHsKIAkvKiogRXhlY2xpc3RzIG5vLiBvZiB0aW1lcyB0 aGlzIHJlcXVlc3QgaGFzIGJlZW4gc2VudCB0byB0aGUgRUxTUCAqLwogCWludCBlbHNwX3N1Ym1p dHRlZDsKIAorCS8qKgorCSAqIEV4ZWNsaXN0czogd2hldGhlciB0aGlzIHJlcXVlc3RzJ3MgY29u dGV4dCBoYXMgY29tcGxldGVkIGFmdGVyCisJICogc3VibWlzc2lvbiB0byB0aGUgRUxTUAorCSAq LworCWJvb2wgY3R4X2NvbXBsZXRlOworCiB9OwogCiBpbnQgaTkxNV9nZW1fcmVxdWVzdF9hbGxv YyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5k ZXggNTI2NDJhZi4uZmM4MjE3MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0xMzg2LDYg KzEzODYsMjQgQEAgX19pOTE1X2dlbV9yZXF1ZXN0X3JldGlyZV9fdXB0byhzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIAkJCQkgICAgICAgdHlwZW9mKCp0bXApLCBsaXN0KTsKIAog CQlpOTE1X2dlbV9yZXF1ZXN0X3JldGlyZSh0bXApOworCisJCWlmIChpOTE1LmVuYWJsZV9leGVj bGlzdHMpIHsKKwkJCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHggPSB0bXAtPmN0eDsKKwkJCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9CisJCQkJZW5naW5lLT5kZXYtPmRldl9w cml2YXRlOworCQkJdW5zaWduZWQgbG9uZyBmbGFnczsKKwkJCXN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpjdHhfb2JqID0KKwkJCQljdHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5zdGF0ZTsKKwor CQkJc3Bpbl9sb2NrX2lycXNhdmUoJmVuZ2luZS0+ZXhlY2xpc3RfbG9jaywgZmxhZ3MpOworCisJ CQlpZiAoY3R4X29iaiAmJiAoY3R4ICE9IGVuZ2luZS0+ZGVmYXVsdF9jb250ZXh0KSkKKwkJCQlp bnRlbF9scl9jb250ZXh0X3VucGluKHRtcCk7CisKKwkJCWludGVsX3J1bnRpbWVfcG1fcHV0KGRl dl9wcml2KTsKKwkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVuZ2luZS0+ZXhlY2xpc3RfbG9j aywgZmxhZ3MpOworCQl9CisKIAl9IHdoaWxlICh0bXAgIT0gcmVxKTsKIAogCVdBUk5fT04oaTkx NV92ZXJpZnlfbGlzdHMoZW5naW5lLT5kZXYpKTsKQEAgLTIzNTksNiArMjM3NywxMiBAQCB2b2lk IGk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAogCWxpc3RfbW92 ZV90YWlsKCZ2bWEtPm1tX2xpc3QsICZ2bWEtPnZtLT5hY3RpdmVfbGlzdCk7CiB9CiAKK3N0YXRp YyBib29sIGk5MTVfZ2VtX3JlcXVlc3RfcmV0aXJlYWJsZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gKGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHJlcSwg dHJ1ZSkgJiYKKwkJKCFyZXEtPmVsc3Bfc3VibWl0dGVkIHx8IHJlcS0+Y3R4X2NvbXBsZXRlKSk7 Cit9CisKIHN0YXRpYyB2b2lkCiBpOTE1X2dlbV9vYmplY3RfcmV0aXJlX193cml0ZShzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewpAQCAtMjgyOSwxMCArMjg1MywyOCBAQCBpOTE1 X2dlbV9yZXRpcmVfcmVxdWVzdHNfcmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQog CQkJCQkgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QsCiAJCQkJCSAgIGxpc3QpOwogCi0J CWlmICghaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocmVxdWVzdCwgdHJ1ZSkpCisJCWlmICgh aTkxNV9nZW1fcmVxdWVzdF9yZXRpcmVhYmxlKHJlcXVlc3QpKQogCQkJYnJlYWs7CiAKIAkJaTkx NV9nZW1fcmVxdWVzdF9yZXRpcmUocmVxdWVzdCk7CisKKwkJaWYgKGk5MTUuZW5hYmxlX2V4ZWNs aXN0cykgeworCQkJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCA9IHJlcXVlc3QtPmN0eDsKKwkJ CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9CisJCQkJcmluZy0+ZGV2LT5kZXZf cHJpdmF0ZTsKKwkJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJCQlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqY3R4X29iaiA9CisJCQkJY3R4LT5lbmdpbmVbcmluZy0+aWRdLnN0YXRlOworCisJ CQlzcGluX2xvY2tfaXJxc2F2ZSgmcmluZy0+ZXhlY2xpc3RfbG9jaywgZmxhZ3MpOworCisJCQlp ZiAoY3R4X29iaiAmJiAoY3R4ICE9IHJpbmctPmRlZmF1bHRfY29udGV4dCkpCisJCQkJaW50ZWxf bHJfY29udGV4dF91bnBpbihyZXF1ZXN0KTsKKworCQkJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2 X3ByaXYpOworCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmluZy0+ZXhlY2xpc3RfbG9jaywg ZmxhZ3MpOworCQl9CisKIAl9CiAKIAkvKiBNb3ZlIGFueSBidWZmZXJzIG9uIHRoZSBhY3RpdmUg bGlzdCB0aGF0IGFyZSBubyBsb25nZXIgcmVmZXJlbmNlZApAQCAtMjg0OCwxMiArMjg5MCwxNCBA QCBpOTE1X2dlbV9yZXRpcmVfcmVxdWVzdHNfcmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW5nKQogCiAJCWlmICghbGlzdF9lbXB0eSgmb2JqLT5sYXN0X3JlYWRfcmVxW3JpbmctPmlkXS0+ bGlzdCkpCiAJCQlicmVhazsKKwkJaWYgKCFpOTE1X2dlbV9yZXF1ZXN0X3JldGlyZWFibGUob2Jq LT5sYXN0X3JlYWRfcmVxW3JpbmctPmlkXSkpCisJCQlicmVhazsKIAogCQlpOTE1X2dlbV9vYmpl Y3RfcmV0aXJlX19yZWFkKG9iaiwgcmluZy0+aWQpOwogCX0KIAogCWlmICh1bmxpa2VseShyaW5n LT50cmFjZV9pcnFfcmVxICYmCi0JCSAgICAgaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocmlu Zy0+dHJhY2VfaXJxX3JlcSwgdHJ1ZSkpKSB7CisJCSAgICAgaTkxNV9nZW1fcmVxdWVzdF9yZXRp cmVhYmxlKHJpbmctPnRyYWNlX2lycV9yZXEpKSkgewogCQlyaW5nLT5pcnFfcHV0KHJpbmcpOwog CQlpOTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbigmcmluZy0+dHJhY2VfaXJxX3JlcSwgTlVMTCk7CiAJ fQpAQCAtMjg3MiwxNSArMjkxNiw2IEBAIGk5MTVfZ2VtX3JldGlyZV9yZXF1ZXN0cyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIGkpIHsKIAkJ aTkxNV9nZW1fcmV0aXJlX3JlcXVlc3RzX3JpbmcocmluZyk7CiAJCWlkbGUgJj0gbGlzdF9lbXB0 eSgmcmluZy0+cmVxdWVzdF9saXN0KTsKLQkJaWYgKGk5MTUuZW5hYmxlX2V4ZWNsaXN0cykgewot CQkJdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCQkJc3Bpbl9sb2NrX2lycXNhdmUoJnJpbmctPmV4 ZWNsaXN0X2xvY2ssIGZsYWdzKTsKLQkJCWlkbGUgJj0gbGlzdF9lbXB0eSgmcmluZy0+ZXhlY2xp c3RfcXVldWUpOwotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmluZy0+ZXhlY2xpc3RfbG9j aywgZmxhZ3MpOwotCi0JCQlpbnRlbF9leGVjbGlzdHNfcmV0aXJlX3JlcXVlc3RzKHJpbmcpOwot CQl9CiAJfQogCiAJaWYgKGlkbGUpCkBAIC0yOTU2LDEyICsyOTkxLDE0IEBAIGk5MTVfZ2VtX29i amVjdF9mbHVzaF9hY3RpdmUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAkJaWYg KHJlcSA9PSBOVUxMKQogCQkJY29udGludWU7CiAKLQkJaWYgKGxpc3RfZW1wdHkoJnJlcS0+bGlz dCkpCi0JCQlnb3RvIHJldGlyZTsKKwkJaWYgKGxpc3RfZW1wdHkoJnJlcS0+bGlzdCkpIHsKKwkJ CWlmIChpOTE1X2dlbV9yZXF1ZXN0X3JldGlyZWFibGUocmVxKSkKKwkJCQlpOTE1X2dlbV9vYmpl Y3RfcmV0aXJlX19yZWFkKG9iaiwgaSk7CisJCQljb250aW51ZTsKKwkJfQogCi0JCWlmIChpOTE1 X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEsIHRydWUpKSB7CisJCWlmIChpOTE1X2dlbV9yZXF1 ZXN0X3JldGlyZWFibGUocmVxKSkgewogCQkJX19pOTE1X2dlbV9yZXF1ZXN0X3JldGlyZV9fdXB0 byhyZXEpOwotcmV0aXJlOgogCQkJaTkxNV9nZW1fb2JqZWN0X3JldGlyZV9fcmVhZChvYmosIGkp OwogCQl9CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKaW5kZXggOGNhNzcyZC4uZWJiYWZhYyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCkBAIC0xMjkxLDY2ICsxMjkxLDkxIEBAIHN0YXRpYyBp cnFyZXR1cm5fdCBnZW44X2d0X2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKIAkJCQkgICAgICAgdTMyIG1hc3Rlcl9jdGwpCiB7CiAJaXJxcmV0dXJuX3QgcmV0 ID0gSVJRX05PTkU7CisJYm9vbCBuZWVkX25vdGlmeTsKIAogCWlmIChtYXN0ZXJfY3RsICYgKEdF TjhfR1RfUkNTX0lSUSB8IEdFTjhfR1RfQkNTX0lSUSkpIHsKLQkJdTMyIHRtcCA9IEk5MTVfUkVB RF9GVyhHRU44X0dUX0lJUigwKSk7Ci0JCWlmICh0bXApIHsKLQkJCUk5MTVfV1JJVEVfRlcoR0VO OF9HVF9JSVIoMCksIHRtcCk7CisJCXUzMiBpaXIgPSBJOTE1X1JFQURfRlcoR0VOOF9HVF9JSVIo MCkpOworCisJCWlmIChpaXIpIHsKKwkJCUk5MTVfV1JJVEVfRlcoR0VOOF9HVF9JSVIoMCksIGlp cik7CiAJCQlyZXQgPSBJUlFfSEFORExFRDsKIAotCQkJaWYgKHRtcCAmIChHVF9DT05URVhUX1NX SVRDSF9JTlRFUlJVUFQgPDwgR0VOOF9SQ1NfSVJRX1NISUZUKSkKLQkJCQlpbnRlbF9scmNfaXJx X2hhbmRsZXIoJmRldl9wcml2LT5yaW5nW1JDU10pOwotCQkJaWYgKHRtcCAmIChHVF9SRU5ERVJf VVNFUl9JTlRFUlJVUFQgPDwgR0VOOF9SQ1NfSVJRX1NISUZUKSkKKwkJCW5lZWRfbm90aWZ5ID0g ZmFsc2U7CisJCQlpZiAoaWlyICYgKEdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVCA8PAorCQkJ CQlHRU44X1JDU19JUlFfU0hJRlQpKQorCQkJCW5lZWRfbm90aWZ5ID0gaW50ZWxfbHJjX2lycV9o YW5kbGVyKAorCQkJCQkJJmRldl9wcml2LT5yaW5nW1JDU10pOworCQkJaWYgKGlpciAmIChHVF9S RU5ERVJfVVNFUl9JTlRFUlJVUFQgPDwKKwkJCQkJR0VOOF9SQ1NfSVJRX1NISUZUKSB8fCBuZWVk X25vdGlmeSkKIAkJCQlub3RpZnlfcmluZygmZGV2X3ByaXYtPnJpbmdbUkNTXSk7CiAKLQkJCWlm ICh0bXAgJiAoR1RfQ09OVEVYVF9TV0lUQ0hfSU5URVJSVVBUIDw8IEdFTjhfQkNTX0lSUV9TSElG VCkpCi0JCQkJaW50ZWxfbHJjX2lycV9oYW5kbGVyKCZkZXZfcHJpdi0+cmluZ1tCQ1NdKTsKLQkJ CWlmICh0bXAgJiAoR1RfUkVOREVSX1VTRVJfSU5URVJSVVBUIDw8IEdFTjhfQkNTX0lSUV9TSElG VCkpCisJCQluZWVkX25vdGlmeSA9IGZhbHNlOworCQkJaWYgKGlpciAmIChHVF9DT05URVhUX1NX SVRDSF9JTlRFUlJVUFQgPDwKKwkJCQkJR0VOOF9CQ1NfSVJRX1NISUZUKSkKKwkJCQluZWVkX25v dGlmeSA9IGludGVsX2xyY19pcnFfaGFuZGxlcigKKwkJCQkJCSZkZXZfcHJpdi0+cmluZ1tCQ1Nd KTsKKwkJCWlmIChpaXIgJiAoR1RfUkVOREVSX1VTRVJfSU5URVJSVVBUIDw8CisJCQkJCUdFTjhf QkNTX0lSUV9TSElGVCkgfHwgbmVlZF9ub3RpZnkpCiAJCQkJbm90aWZ5X3JpbmcoJmRldl9wcml2 LT5yaW5nW0JDU10pOwogCQl9IGVsc2UKIAkJCURSTV9FUlJPUigiVGhlIG1hc3RlciBjb250cm9s IGludGVycnVwdCBsaWVkIChHVDApIVxuIik7CiAJfQogCiAJaWYgKG1hc3Rlcl9jdGwgJiAoR0VO OF9HVF9WQ1MxX0lSUSB8IEdFTjhfR1RfVkNTMl9JUlEpKSB7Ci0JCXUzMiB0bXAgPSBJOTE1X1JF QURfRlcoR0VOOF9HVF9JSVIoMSkpOwotCQlpZiAodG1wKSB7Ci0JCQlJOTE1X1dSSVRFX0ZXKEdF TjhfR1RfSUlSKDEpLCB0bXApOworCQl1MzIgaWlyID0gSTkxNV9SRUFEX0ZXKEdFTjhfR1RfSUlS KDEpKTsKKworCQlpZiAoaWlyKSB7CisJCQlJOTE1X1dSSVRFX0ZXKEdFTjhfR1RfSUlSKDEpLCBp aXIpOwogCQkJcmV0ID0gSVJRX0hBTkRMRUQ7CiAKLQkJCWlmICh0bXAgJiAoR1RfQ09OVEVYVF9T V0lUQ0hfSU5URVJSVVBUIDw8IEdFTjhfVkNTMV9JUlFfU0hJRlQpKQotCQkJCWludGVsX2xyY19p cnFfaGFuZGxlcigmZGV2X3ByaXYtPnJpbmdbVkNTXSk7Ci0JCQlpZiAodG1wICYgKEdUX1JFTkRF Ul9VU0VSX0lOVEVSUlVQVCA8PCBHRU44X1ZDUzFfSVJRX1NISUZUKSkKKwkJCW5lZWRfbm90aWZ5 ID0gZmFsc2U7CisJCQlpZiAoaWlyICYgKEdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVCA8PAor CQkJCQlHRU44X1ZDUzFfSVJRX1NISUZUKSkKKwkJCQluZWVkX25vdGlmeSA9IGludGVsX2xyY19p cnFfaGFuZGxlcigKKwkJCQkJCSZkZXZfcHJpdi0+cmluZ1tWQ1NdKTsKKwkJCWlmIChpaXIgJiAo R1RfUkVOREVSX1VTRVJfSU5URVJSVVBUIDw8CisJCQkJCUdFTjhfVkNTMV9JUlFfU0hJRlQpIHx8 IG5lZWRfbm90aWZ5KQogCQkJCW5vdGlmeV9yaW5nKCZkZXZfcHJpdi0+cmluZ1tWQ1NdKTsKIAot CQkJaWYgKHRtcCAmIChHVF9DT05URVhUX1NXSVRDSF9JTlRFUlJVUFQgPDwgR0VOOF9WQ1MyX0lS UV9TSElGVCkpCi0JCQkJaW50ZWxfbHJjX2lycV9oYW5kbGVyKCZkZXZfcHJpdi0+cmluZ1tWQ1My XSk7Ci0JCQlpZiAodG1wICYgKEdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCA8PCBHRU44X1ZDUzJf SVJRX1NISUZUKSkKKwkJCW5lZWRfbm90aWZ5ID0gZmFsc2U7CisJCQlpZiAoaWlyICYgKEdUX0NP TlRFWFRfU1dJVENIX0lOVEVSUlVQVCA8PAorCQkJCQlHRU44X1ZDUzJfSVJRX1NISUZUKSkKKwkJ CQluZWVkX25vdGlmeSA9IGludGVsX2xyY19pcnFfaGFuZGxlcigKKwkJCQkJCSZkZXZfcHJpdi0+ cmluZ1tWQ1MyXSk7CisJCQlpZiAoaWlyICYgKEdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCA8PAor CQkJCQlHRU44X1ZDUzJfSVJRX1NISUZUKSB8fCBuZWVkX25vdGlmeSkKIAkJCQlub3RpZnlfcmlu ZygmZGV2X3ByaXYtPnJpbmdbVkNTMl0pOwogCQl9IGVsc2UKIAkJCURSTV9FUlJPUigiVGhlIG1h c3RlciBjb250cm9sIGludGVycnVwdCBsaWVkIChHVDEpIVxuIik7CiAJfQogCiAJaWYgKG1hc3Rl cl9jdGwgJiBHRU44X0dUX1ZFQ1NfSVJRKSB7Ci0JCXUzMiB0bXAgPSBJOTE1X1JFQURfRlcoR0VO OF9HVF9JSVIoMykpOwotCQlpZiAodG1wKSB7Ci0JCQlJOTE1X1dSSVRFX0ZXKEdFTjhfR1RfSUlS KDMpLCB0bXApOworCQl1MzIgaWlyID0gSTkxNV9SRUFEX0ZXKEdFTjhfR1RfSUlSKDMpKTsKKwor CQlpZiAoaWlyKSB7CisJCQlJOTE1X1dSSVRFX0ZXKEdFTjhfR1RfSUlSKDMpLCBpaXIpOwogCQkJ cmV0ID0gSVJRX0hBTkRMRUQ7CiAKLQkJCWlmICh0bXAgJiAoR1RfQ09OVEVYVF9TV0lUQ0hfSU5U RVJSVVBUIDw8IEdFTjhfVkVDU19JUlFfU0hJRlQpKQotCQkJCWludGVsX2xyY19pcnFfaGFuZGxl cigmZGV2X3ByaXYtPnJpbmdbVkVDU10pOwotCQkJaWYgKHRtcCAmIChHVF9SRU5ERVJfVVNFUl9J TlRFUlJVUFQgPDwgR0VOOF9WRUNTX0lSUV9TSElGVCkpCisJCQluZWVkX25vdGlmeSA9IGZhbHNl OworCQkJaWYgKGlpciAmIChHVF9DT05URVhUX1NXSVRDSF9JTlRFUlJVUFQgPDwKKwkJCQkJR0VO OF9WRUNTX0lSUV9TSElGVCkpCisJCQkJbmVlZF9ub3RpZnkgPSBpbnRlbF9scmNfaXJxX2hhbmRs ZXIoCisJCQkJCQkmZGV2X3ByaXYtPnJpbmdbVkVDU10pOworCQkJaWYgKGlpciAmIChHVF9SRU5E RVJfVVNFUl9JTlRFUlJVUFQgPDwKKwkJCQkJR0VOOF9WRUNTX0lSUV9TSElGVCkgfHwgbmVlZF9u b3RpZnkpCiAJCQkJbm90aWZ5X3JpbmcoJmRldl9wcml2LT5yaW5nW1ZFQ1NdKTsKIAkJfSBlbHNl CiAJCQlEUk1fRVJST1IoIlRoZSBtYXN0ZXIgY29udHJvbCBpbnRlcnJ1cHQgbGllZCAoR1QzKSFc biIpOwogCX0KIAogCWlmIChtYXN0ZXJfY3RsICYgR0VOOF9HVF9QTV9JUlEpIHsKLQkJdTMyIHRt cCA9IEk5MTVfUkVBRF9GVyhHRU44X0dUX0lJUigyKSk7Ci0JCWlmICh0bXAgJiBkZXZfcHJpdi0+ cG1fcnBzX2V2ZW50cykgeworCQl1MzIgaWlyID0gSTkxNV9SRUFEX0ZXKEdFTjhfR1RfSUlSKDIp KTsKKworCQlpZiAoaWlyICYgZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMpIHsKIAkJCUk5MTVfV1JJ VEVfRlcoR0VOOF9HVF9JSVIoMiksCi0JCQkJICAgICAgdG1wICYgZGV2X3ByaXYtPnBtX3Jwc19l dmVudHMpOworCQkJCSAgICAgIGlpciAmIGRldl9wcml2LT5wbV9ycHNfZXZlbnRzKTsKIAkJCXJl dCA9IElSUV9IQU5ETEVEOwotCQkJZ2VuNl9ycHNfaXJxX2hhbmRsZXIoZGV2X3ByaXYsIHRtcCk7 CisJCQlnZW42X3Jwc19pcnFfaGFuZGxlcihkZXZfcHJpdiwgaWlyKTsKIAkJfSBlbHNlCiAJCQlE Uk1fRVJST1IoIlRoZSBtYXN0ZXIgY29udHJvbCBpbnRlcnJ1cHQgbGllZCAoUE0pIVxuIik7CiAJ fQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCA4MjVmYTdhLi5lOGY1YjZjIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtNDI2LDkgKzQyNiw4IEBAIHN0YXRpYyB2b2lkIGV4ZWNs aXN0c19jb250ZXh0X3VucXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIAkJCS8q IFNhbWUgY3R4OiBpZ25vcmUgZmlyc3QgcmVxdWVzdCwgYXMgc2Vjb25kIHJlcXVlc3QKIAkJCSAq IHdpbGwgdXBkYXRlIHRhaWwgcGFzdCBmaXJzdCByZXF1ZXN0J3Mgd29ya2xvYWQgKi8KIAkJCWN1 cnNvci0+ZWxzcF9zdWJtaXR0ZWQgPSByZXEwLT5lbHNwX3N1Ym1pdHRlZDsKKwkJCXJlcTAtPmVs c3Bfc3VibWl0dGVkID0gMDsKIAkJCWxpc3RfZGVsKCZyZXEwLT5leGVjbGlzdF9saW5rKTsKLQkJ CWxpc3RfYWRkX3RhaWwoJnJlcTAtPmV4ZWNsaXN0X2xpbmssCi0JCQkJJnJpbmctPmV4ZWNsaXN0 X3JldGlyZWRfcmVxX2xpc3QpOwogCQkJcmVxMCA9IGN1cnNvcjsKIAkJfSBlbHNlIHsKIAkJCXJl cTEgPSBjdXJzb3I7CkBAIC00NzgsMTEgKzQ3Nyw5IEBAIHN0YXRpYyBib29sIGV4ZWNsaXN0c19j aGVja19yZW1vdmVfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCQlpZiAo aW50ZWxfZXhlY2xpc3RzX2N0eF9pZChjdHhfb2JqKSA9PSByZXF1ZXN0X2lkKSB7CiAJCQlXQVJO KGhlYWRfcmVxLT5lbHNwX3N1Ym1pdHRlZCA9PSAwLAogCQkJICAgICAiTmV2ZXIgc3VibWl0dGVk IGhlYWQgcmVxdWVzdFxuIik7Ci0KIAkJCWlmICgtLWhlYWRfcmVxLT5lbHNwX3N1Ym1pdHRlZCA8 PSAwKSB7CisJCQkJaGVhZF9yZXEtPmN0eF9jb21wbGV0ZSA9IDE7CiAJCQkJbGlzdF9kZWwoJmhl YWRfcmVxLT5leGVjbGlzdF9saW5rKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZoZWFkX3JlcS0+ZXhl Y2xpc3RfbGluaywKLQkJCQkJJnJpbmctPmV4ZWNsaXN0X3JldGlyZWRfcmVxX2xpc3QpOwogCQkJ CXJldHVybiB0cnVlOwogCQkJfQogCQl9CkBAIC00OTcsOCArNDk0LDkgQEAgc3RhdGljIGJvb2wg ZXhlY2xpc3RzX2NoZWNrX3JlbW92ZV9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcsCiAgKgogICogQ2hlY2sgdGhlIHVucmVhZCBDb250ZXh0IFN0YXR1cyBCdWZmZXJzIGFuZCBt YW5hZ2UgdGhlIHN1Ym1pc3Npb24gb2YgbmV3CiAgKiBjb250ZXh0cyB0byB0aGUgRUxTUCBhY2Nv cmRpbmdseS4KKyAqIEByZXR1cm4gd2hldGhlciBhIGNvbnRleHQgY29tcGxldGVkCiAgKi8KLXZv aWQgaW50ZWxfbHJjX2lycV9oYW5kbGVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiti b29sIGludGVsX2xyY19pcnFfaGFuZGxlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQog ewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHJpbmctPmRldi0+ZGV2X3By aXZhdGU7CiAJdTMyIHN0YXR1c19wb2ludGVyOwpAQCAtNTU4LDYgKzU1Niw4IEBAIHZvaWQgaW50 ZWxfbHJjX2lycV9oYW5kbGVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJCSAgIF9N QVNLRURfRklFTEQoR0VOOF9DU0JfUFRSX01BU0sgPDwgOCwKIAkJCQkgKCh1MzIpcmluZy0+bmV4 dF9jb250ZXh0X3N0YXR1c19idWZmZXIgJgogCQkJCSAgR0VOOF9DU0JfUFRSX01BU0spIDw8IDgp KTsKKworCXJldHVybiAoc3VibWl0X2NvbnRleHRzICE9IDApOwogfQogCiBzdGF0aWMgaW50IGV4 ZWNsaXN0c19jb250ZXh0X3F1ZXVlKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVz dCkKQEAgLTU2OSw4ICs1NjksNiBAQCBzdGF0aWMgaW50IGV4ZWNsaXN0c19jb250ZXh0X3F1ZXVl KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAlpZiAocmVxdWVzdC0+Y3R4 ICE9IHJpbmctPmRlZmF1bHRfY29udGV4dCkKIAkJaW50ZWxfbHJfY29udGV4dF9waW4ocmVxdWVz dCk7CiAKLQlpOTE1X2dlbV9yZXF1ZXN0X3JlZmVyZW5jZShyZXF1ZXN0KTsKLQogCXNwaW5fbG9j a19pcnEoJnJpbmctPmV4ZWNsaXN0X2xvY2spOwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShjdXJz b3IsICZyaW5nLT5leGVjbGlzdF9xdWV1ZSwgZXhlY2xpc3RfbGluaykKQEAgLTU4OCw4ICs1ODYs NiBAQCBzdGF0aWMgaW50IGV4ZWNsaXN0c19jb250ZXh0X3F1ZXVlKHN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAkJCVdBUk4odGFpbF9yZXEtPmVsc3Bfc3VibWl0dGVkICE9 IDAsCiAJCQkJIk1vcmUgdGhhbiAyIGFscmVhZHktc3VibWl0dGVkIHJlcXMgcXVldWVkXG4iKTsK IAkJCWxpc3RfZGVsKCZ0YWlsX3JlcS0+ZXhlY2xpc3RfbGluayk7Ci0JCQlsaXN0X2FkZF90YWls KCZ0YWlsX3JlcS0+ZXhlY2xpc3RfbGluaywKLQkJCQkmcmluZy0+ZXhlY2xpc3RfcmV0aXJlZF9y ZXFfbGlzdCk7CiAJCX0KIAl9CiAKQEAgLTk1OCwzMiArOTU0LDYgQEAgaW50IGludGVsX2V4ZWNs aXN0c19zdWJtaXNzaW9uKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCiAJ cmV0dXJuIDA7CiB9CiAKLXZvaWQgaW50ZWxfZXhlY2xpc3RzX3JldGlyZV9yZXF1ZXN0cyhzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQotewotCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxLCAqdG1wOwotCXN0cnVjdCBsaXN0X2hlYWQgcmV0aXJlZF9saXN0OwotCi0JV0FSTl9P TighbXV0ZXhfaXNfbG9ja2VkKCZyaW5nLT5kZXYtPnN0cnVjdF9tdXRleCkpOwotCWlmIChsaXN0 X2VtcHR5KCZyaW5nLT5leGVjbGlzdF9yZXRpcmVkX3JlcV9saXN0KSkKLQkJcmV0dXJuOwotCi0J SU5JVF9MSVNUX0hFQUQoJnJldGlyZWRfbGlzdCk7Ci0Jc3Bpbl9sb2NrX2lycSgmcmluZy0+ZXhl Y2xpc3RfbG9jayk7Ci0JbGlzdF9yZXBsYWNlX2luaXQoJnJpbmctPmV4ZWNsaXN0X3JldGlyZWRf cmVxX2xpc3QsICZyZXRpcmVkX2xpc3QpOwotCXNwaW5fdW5sb2NrX2lycSgmcmluZy0+ZXhlY2xp c3RfbG9jayk7Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocmVxLCB0bXAsICZyZXRpcmVk X2xpc3QsIGV4ZWNsaXN0X2xpbmspIHsKLQkJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCA9IHJl cS0+Y3R4OwotCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X29iaiA9Ci0JCQkJY3R4 LT5lbmdpbmVbcmluZy0+aWRdLnN0YXRlOwotCi0JCWlmIChjdHhfb2JqICYmIChjdHggIT0gcmlu Zy0+ZGVmYXVsdF9jb250ZXh0KSkKLQkJCWludGVsX2xyX2NvbnRleHRfdW5waW4ocmVxKTsKLQkJ bGlzdF9kZWwoJnJlcS0+ZXhlY2xpc3RfbGluayk7Ci0JCWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZl cmVuY2UocmVxKTsKLQl9Ci19Ci0KIHZvaWQgaW50ZWxfbG9naWNhbF9yaW5nX3N0b3Aoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqcmluZykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSByaW5nLT5kZXYtPmRldl9wcml2YXRlOwpAQCAtMTkzOCw3ICsxOTA4LDYgQEAgc3Rh dGljIGludCBsb2dpY2FsX3JpbmdfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICpyaW4KIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZyaW5nLT5pcnFfcXVl dWUpOwogCiAJSU5JVF9MSVNUX0hFQUQoJnJpbmctPmV4ZWNsaXN0X3F1ZXVlKTsKLQlJTklUX0xJ U1RfSEVBRCgmcmluZy0+ZXhlY2xpc3RfcmV0aXJlZF9yZXFfbGlzdCk7CiAJc3Bpbl9sb2NrX2lu aXQoJnJpbmctPmV4ZWNsaXN0X2xvY2spOwogCiAJcmV0ID0gaTkxNV9jbWRfcGFyc2VyX2luaXRf cmluZyhyaW5nKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKaW5kZXggNGU2MGQ1NC4uZTZhNDkw MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKQEAgLTk1LDcgKzk1LDcgQEAgaW50IGludGVs X2V4ZWNsaXN0c19zdWJtaXNzaW9uKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJh bXMsCiAJCQkgICAgICAgc3RydWN0IGxpc3RfaGVhZCAqdm1hcyk7CiB1MzIgaW50ZWxfZXhlY2xp c3RzX2N0eF9pZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X29iaik7CiAKLXZvaWQg aW50ZWxfbHJjX2lycV9oYW5kbGVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOworYm9v bCBpbnRlbF9scmNfaXJxX2hhbmRsZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7CiB2 b2lkIGludGVsX2V4ZWNsaXN0c19yZXRpcmVfcmVxdWVzdHMoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZyk7CiAKICNlbmRpZiAvKiBfSU5URUxfTFJDX0hfICovCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yaW5nYnVmZmVyLmgKaW5kZXggNDlmYTQxZC4uZDk5YjE2NyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaApAQCAtMjY0LDcgKzI2NCw2IEBAIHN0cnVjdCAg aW50ZWxfZW5naW5lX2NzIHsKIAkvKiBFeGVjbGlzdHMgKi8KIAlzcGlubG9ja190IGV4ZWNsaXN0 X2xvY2s7CiAJc3RydWN0IGxpc3RfaGVhZCBleGVjbGlzdF9xdWV1ZTsKLQlzdHJ1Y3QgbGlzdF9o ZWFkIGV4ZWNsaXN0X3JldGlyZWRfcmVxX2xpc3Q7CiAJdTggbmV4dF9jb250ZXh0X3N0YXR1c19i dWZmZXI7CiAJdTMyICAgICAgICAgICAgIGlycV9rZWVwX21hc2s7IC8qIGJpdG1hc2sgZm9yIGlu dGVycnVwdHMgdGhhdCBzaG91bGQgbm90IGJlIG1hc2tlZCAqLwogCWludAkJKCplbWl0X3JlcXVl c3QpKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCk7Ci0tIAoxLjkuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK