From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sagar Arun Kamble Subject: [PATCH 2/8] drm/i915/guc: Handle GuC interaction in reset/suspend scenarios Date: Wed, 9 Aug 2017 15:53:46 +0530 Message-ID: <1502274231-30714-2-git-send-email-sagar.a.kamble@intel.com> References: <1502274231-30714-1-git-send-email-sagar.a.kamble@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 926DA89C83 for ; Wed, 9 Aug 2017 10:20:30 +0000 (UTC) In-Reply-To: <1502274231-30714-1-git-send-email-sagar.a.kamble@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 VGVhcmluZyBkb3duIG9mIGd1Y19nZ3R0X2ludmFsaWRhdGUvZ3VjX2ludGVycnVwdHMvZ3VjX2Nv bW11bmljYXRpb24Kc2V0dXAgc2hvdWxkIGhhcHBlbiB0b3dhcmRzIGVuZCBvZiByZXNldC9zdXNw ZW5kIGFzIHRoZXNlIGFyZQpzZXR1cCBiYWNrIGFnYWluIGR1cmluZyByZWNvdmVyeS9yZXN1bWUu CgpQcmVwYXJlZCBoZWxwZXJzIGludGVsX2d1Y19wYXVzZSBhbmQgaW50ZWxfZ3VjX3VucGF1c2Ug dGhhdCB3aWxsIGRvCnRlYXJkb3duL2JyaW5ndXAgb2YgdGhpcyBzZXR1cCBhbG9uZyB3aXRoIHN1 c3BlbnNpb24vcmVzdW1wdGlvbiBvZiBHdUMgaWYKbG9hZGVkLiBNb3ZlZCBpbnRlbF9ndWNfc3Vz cGVuZCwgaW50ZWxfZ3VjX3Jlc3VtZSB0byBpbnRlbF9ndWMuYy4KCkNjOiBDaHJpcyBXaWxzb24g PGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IE1pY2hhbCBXYWpkZWN6a28gPG1pY2hhbC53 YWpkZWN6a29AaW50ZWwuY29tPgpDYzogRGFuaWVsZSBDZXJhb2xvIFNwdXJpbyA8ZGFuaWVsZS5j ZXJhb2xvc3B1cmlvQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogU2FnYXIgQXJ1biBLYW1ibGUg PHNhZ2FyLmEua2FtYmxlQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jICAgICAgICAgICAgfCAgIDYgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMgICAgICAgICAgICB8ICAgNiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3Vi bWlzc2lvbi5jIHwgIDUyIC0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Z3VjLmMgICAgICAgICAgIHwgMTMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaCAgICAgICAgICAgfCAgIDcgKy0KIDUgZmlsZXMg Y2hhbmdlZCwgMTQyIGluc2VydGlvbnMoKyksIDYwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5jCmluZGV4IDU1MTJjY2UuLjIxOGE4ZTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YwpAQCAtMTY4OCw4ICsxNjg4LDYgQEAgc3RhdGljIGludCBpOTE1X2RybV9yZXN1bWUoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKIAl9CiAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7 CiAKLQlpbnRlbF9ndWNfcmVzdW1lKGRldl9wcml2KTsKLQogCWludGVsX21vZGVzZXRfaW5pdF9o dyhkZXYpOwogCiAJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKQEAgLTI0ODQs NyArMjQ4Miw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZp Y2UgKmtkZXYpCiAJICovCiAJaTkxNV9nZW1fcnVudGltZV9zdXNwZW5kKGRldl9wcml2KTsKIAot CWludGVsX2d1Y19zdXNwZW5kKGRldl9wcml2KTsKKwlpbnRlbF9ndWNfcnVudGltZV9zdXNwZW5k KCZkZXZfcHJpdi0+Z3VjKTsKIAogCWludGVsX3J1bnRpbWVfcG1fZGlzYWJsZV9pbnRlcnJ1cHRz KGRldl9wcml2KTsKIApAQCAtMjU2OSw3ICsyNTY3LDcgQEAgc3RhdGljIGludCBpbnRlbF9ydW50 aW1lX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICprZGV2KQogCWlmIChpbnRlbF91bmNvcmVfdW5jbGFp bWVkX21taW8oZGV2X3ByaXYpKQogCQlEUk1fREVCVUdfRFJJVkVSKCJVbmNsYWltZWQgYWNjZXNz IGR1cmluZyBzdXNwZW5kLCBiaW9zP1xuIik7CiAKLQlpbnRlbF9ndWNfcmVzdW1lKGRldl9wcml2 KTsKKwlpbnRlbF9ndWNfcnVudGltZV9yZXN1bWUoJmRldl9wcml2LT5ndWMpOwogCiAJaWYgKElT X0dFTjlfTFAoZGV2X3ByaXYpKSB7CiAJCWJ4dF9kaXNhYmxlX2RjOShkZXZfcHJpdik7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYwppbmRleCAwMDBhNzY0Li5lMTE4YjlhIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMKQEAgLTI4NDAsNiArMjg0MCw4IEBAIGludCBpOTE1X2dlbV9yZXNldF9wcmVwYXJl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogCWk5MTVfZ2VtX3Jldm9rZV9m ZW5jZXMoZGV2X3ByaXYpOwogCisJaW50ZWxfZ3VjX3Jlc2V0X3ByZXBhcmUoJmRldl9wcml2LT5n dWMpOworCiAJcmV0dXJuIGVycjsKIH0KIApAQCAtNDU1NSw4ICs0NTU3LDYgQEAgaW50IGk5MTVf Z2VtX3N1c3BlbmQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWk5MTVfZ2Vt X2NvbnRleHRzX2xvc3QoZGV2X3ByaXYpOwogCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0 ZXgpOwogCi0JaW50ZWxfZ3VjX3N1c3BlbmQoZGV2X3ByaXYpOwotCiAJY2FuY2VsX2RlbGF5ZWRf d29ya19zeW5jKCZkZXZfcHJpdi0+Z3B1X2Vycm9yLmhhbmdjaGVja193b3JrKTsKIAljYW5jZWxf ZGVsYXllZF93b3JrX3N5bmMoJmRldl9wcml2LT5ndC5yZXRpcmVfd29yayk7CiAKQEAgLTQ1NzIs NiArNDU3Miw4IEBAIGludCBpOTE1X2dlbV9zdXNwZW5kKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKIAlXQVJOX09OKGRldl9wcml2LT5ndC5hd2FrZSk7CiAJV0FSTl9PTighaW50 ZWxfZW5naW5lc19hcmVfaWRsZShkZXZfcHJpdikpOwogCisJaW50ZWxfZ3VjX3N5c3RlbV9zdXNw ZW5kKCZkZXZfcHJpdi0+Z3VjKTsKKwogCS8qCiAJICogTmVpdGhlciB0aGUgQklPUywgb3Vyc2Vs dmVzIG9yIGFueSBvdGhlciBrZXJuZWwKIAkgKiBleHBlY3RzIHRoZSBzeXN0ZW0gdG8gYmUgaW4g ZXhlY2xpc3RzIG1vZGUgb24gc3RhcnR1cCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3Vj X3N1Ym1pc3Npb24uYwppbmRleCA2MDJhZThhLi4yZjk3N2FiIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCkBAIC0xMjg3LDU1ICsxMjg3LDMgQEAgdm9pZCBp OTE1X2d1Y19zdWJtaXNzaW9uX2Rpc2FibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQogCWd1Y19jbGllbnRfZnJlZShndWMtPmV4ZWNidWZfY2xpZW50KTsKIAlndWMtPmV4ZWNi dWZfY2xpZW50ID0gTlVMTDsKIH0KLQotLyoqCi0gKiBpbnRlbF9ndWNfc3VzcGVuZCgpIC0gbm90 aWZ5IEd1QyBlbnRlcmluZyBzdXNwZW5kIHN0YXRlCi0gKiBAZGV2X3ByaXY6CWk5MTUgZGV2aWNl IHByaXZhdGUKLSAqLwotaW50IGludGVsX2d1Y19zdXNwZW5kKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKLXsKLQlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAmZGV2X3ByaXYtPmd1 YzsKLQlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4OwotCXUzMiBkYXRhWzNdOwotCi0JaWYg KGd1Yy0+ZncubG9hZF9zdGF0dXMgIT0gSU5URUxfVUNfRklSTVdBUkVfU1VDQ0VTUykKLQkJcmV0 dXJuIDA7Ci0KLQlnZW45X2Rpc2FibGVfZ3VjX2ludGVycnVwdHMoZGV2X3ByaXYpOwotCi0JY3R4 ID0gZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0OwotCi0JZGF0YVswXSA9IElOVEVMX0dVQ19BQ1RJ T05fRU5URVJfU19TVEFURTsKLQkvKiBhbnkgdmFsdWUgZ3JlYXRlciB0aGFuIEdVQ19QT1dFUl9E MCAqLwotCWRhdGFbMV0gPSBHVUNfUE9XRVJfRDE7Ci0JLyogZmlyc3QgcGFnZSBpcyBzaGFyZWQg ZGF0YSB3aXRoIEd1QyAqLwotCWRhdGFbMl0gPSBndWNfZ2d0dF9vZmZzZXQoY3R4LT5lbmdpbmVb UkNTXS5zdGF0ZSk7Ci0KLQlyZXR1cm4gaW50ZWxfZ3VjX3NlbmQoZ3VjLCBkYXRhLCBBUlJBWV9T SVpFKGRhdGEpKTsKLX0KLQotLyoqCi0gKiBpbnRlbF9ndWNfcmVzdW1lKCkgLSBub3RpZnkgR3VD IHJlc3VtaW5nIGZyb20gc3VzcGVuZCBzdGF0ZQotICogQGRldl9wcml2OglpOTE1IGRldmljZSBw cml2YXRlCi0gKi8KLWludCBpbnRlbF9ndWNfcmVzdW1lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKLXsKLQlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAmZGV2X3ByaXYtPmd1YzsK LQlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4OwotCXUzMiBkYXRhWzNdOwotCi0JaWYgKGd1 Yy0+ZncubG9hZF9zdGF0dXMgIT0gSU5URUxfVUNfRklSTVdBUkVfU1VDQ0VTUykKLQkJcmV0dXJu IDA7Ci0KLQlpZiAoaTkxNS5ndWNfbG9nX2xldmVsID49IDApCi0JCWdlbjlfZW5hYmxlX2d1Y19p bnRlcnJ1cHRzKGRldl9wcml2KTsKLQotCWN0eCA9IGRldl9wcml2LT5rZXJuZWxfY29udGV4dDsK LQotCWRhdGFbMF0gPSBJTlRFTF9HVUNfQUNUSU9OX0VYSVRfU19TVEFURTsKLQlkYXRhWzFdID0g R1VDX1BPV0VSX0QwOwotCS8qIGZpcnN0IHBhZ2UgaXMgc2hhcmVkIGRhdGEgd2l0aCBHdUMgKi8K LQlkYXRhWzJdID0gZ3VjX2dndHRfb2Zmc2V0KGN0eC0+ZW5naW5lW1JDU10uc3RhdGUpOwotCi0J cmV0dXJuIGludGVsX2d1Y19zZW5kKGd1YywgZGF0YSwgQVJSQVlfU0laRShkYXRhKSk7Ci19CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2d1Yy5jCmluZGV4IGE4MTJkM2QuLjM3Nzc2NTkgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Yy5jCkBAIC0xODIsMyArMTgyLDEzNCBAQCB2b2lkIGludGVsX2d1Y19pbml0 X2Vhcmx5KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKIAlndWMtPnNlbmQgPSBpbnRlbF9ndWNfc2Vu ZF9ub3A7CiAJZ3VjLT5ub3RpZnkgPSBndWNfd3JpdGVfaXJxX3RyaWdnZXI7CiB9CisKKy8qKgor ICogaW50ZWxfZ3VjX3N1c3BlbmQoKSAtIG5vdGlmeSBHdUMgZW50ZXJpbmcgc3VzcGVuZCBzdGF0 ZQorICovCitzdGF0aWMgaW50IGludGVsX2d1Y19zdXNwZW5kKHN0cnVjdCBpbnRlbF9ndWMgKmd1 YykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBndWNfdG9faTkxNShn dWMpOworCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHg7CisJdTMyIGRhdGFbM107CisKKwlp ZiAoZ3VjLT5mdy5sb2FkX3N0YXR1cyAhPSBJTlRFTF9VQ19GSVJNV0FSRV9TVUNDRVNTKQorCQly ZXR1cm4gMDsKKworCWN0eCA9IGRldl9wcml2LT5rZXJuZWxfY29udGV4dDsKKworCWRhdGFbMF0g PSBJTlRFTF9HVUNfQUNUSU9OX0VOVEVSX1NfU1RBVEU7CisJLyogYW55IHZhbHVlIGdyZWF0ZXIg dGhhbiBHVUNfUE9XRVJfRDAgKi8KKwlkYXRhWzFdID0gR1VDX1BPV0VSX0QxOworCS8qIGZpcnN0 IHBhZ2UgaXMgc2hhcmVkIGRhdGEgd2l0aCBHdUMgKi8KKwlkYXRhWzJdID0gZ3VjX2dndHRfb2Zm c2V0KGN0eC0+ZW5naW5lW1JDU10uc3RhdGUpOworCisJcmV0dXJuIGludGVsX2d1Y19zZW5kKGd1 YywgZGF0YSwgQVJSQVlfU0laRShkYXRhKSk7Cit9CisKKy8qKgorICogaW50ZWxfZ3VjX3Jlc3Vt ZSgpIC0gbm90aWZ5IEd1QyByZXN1bWluZyBmcm9tIHN1c3BlbmQgc3RhdGUKKyAqLworc3RhdGlj IGludCBpbnRlbF9ndWNfcmVzdW1lKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBndWNfdG9faTkxNShndWMpOworCXN0cnVjdCBp OTE1X2dlbV9jb250ZXh0ICpjdHg7CisJdTMyIGRhdGFbM107CisKKwlpZiAoZ3VjLT5mdy5sb2Fk X3N0YXR1cyAhPSBJTlRFTF9VQ19GSVJNV0FSRV9TVUNDRVNTKQorCQlyZXR1cm4gMDsKKworCWN0 eCA9IGRldl9wcml2LT5rZXJuZWxfY29udGV4dDsKKworCWRhdGFbMF0gPSBJTlRFTF9HVUNfQUNU SU9OX0VYSVRfU19TVEFURTsKKwlkYXRhWzFdID0gR1VDX1BPV0VSX0QwOworCS8qIGZpcnN0IHBh Z2UgaXMgc2hhcmVkIGRhdGEgd2l0aCBHdUMgKi8KKwlkYXRhWzJdID0gZ3VjX2dndHRfb2Zmc2V0 KGN0eC0+ZW5naW5lW1JDU10uc3RhdGUpOworCisJcmV0dXJuIGludGVsX2d1Y19zZW5kKGd1Yywg ZGF0YSwgQVJSQVlfU0laRShkYXRhKSk7Cit9CisKK3N0YXRpYyB2b2lkIGludGVsX2d1Y19zYW5p dGl6ZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKKworCWk5MTVfZ2d0dF9kaXNhYmxlX2d1Yyhk ZXZfcHJpdik7CisJZ3VjX2Rpc2FibGVfY29tbXVuaWNhdGlvbihndWMpOworCWdlbjlfZGlzYWJs ZV9ndWNfaW50ZXJydXB0cyhkZXZfcHJpdik7Cit9CisKK3ZvaWQgaW50ZWxfZ3VjX3Jlc2V0X3By ZXBhcmUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQoreworCWlmICghaTkxNS5lbmFibGVfZ3VjX2xv YWRpbmcpCisJCXJldHVybjsKKworCWludGVsX2d1Y19zYW5pdGl6ZShndWMpOworCWd1Yy0+Zncu bG9hZF9zdGF0dXMgPSBJTlRFTF9VQ19GSVJNV0FSRV9QRU5ESU5HOworfQorCitzdGF0aWMgaW50 IGludGVsX2d1Y19wYXVzZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7CisJaW50IHJldCA9IDA7 CisKKwlyZXQgPSBpbnRlbF9ndWNfc3VzcGVuZChndWMpOworCWludGVsX2d1Y19zYW5pdGl6ZShn dWMpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBpbnRlbF9ndWNfdW5wYXVzZShz dHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKKwlpbnQgcmV0ID0gMDsKKworCWlmIChpOTE1Lmd1Y19s b2dfbGV2ZWwgPj0gMCkKKwkJZ2VuOV9lbmFibGVfZ3VjX2ludGVycnVwdHMoZGV2X3ByaXYpOwor CWd1Y19lbmFibGVfY29tbXVuaWNhdGlvbihndWMpOworCWk5MTVfZ2d0dF9lbmFibGVfZ3VjKGRl dl9wcml2KTsKKwlyZXQgPSBpbnRlbF9ndWNfcmVzdW1lKGd1Yyk7CisKKwlyZXR1cm4gcmV0Owor fQorCitpbnQgaW50ZWxfZ3VjX3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMp Cit7CisJaWYgKCFpOTE1LmVuYWJsZV9ndWNfbG9hZGluZykKKwkJcmV0dXJuIDA7CisKKwlyZXR1 cm4gaW50ZWxfZ3VjX3BhdXNlKGd1Yyk7Cit9CisKK2ludCBpbnRlbF9ndWNfcnVudGltZV9yZXN1 bWUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQoreworCWlmICghaTkxNS5lbmFibGVfZ3VjX2xvYWRp bmcpCisJCXJldHVybiAwOworCisJcmV0dXJuIGludGVsX2d1Y191bnBhdXNlKGd1Yyk7Cit9CisK K2ludCBpbnRlbF9ndWNfc3lzdGVtX3N1c3BlbmQoc3RydWN0IGludGVsX2d1YyAqZ3VjKQorewor CWludCByZXQgPSAwOworCisJaWYgKCFpOTE1LmVuYWJsZV9ndWNfbG9hZGluZykKKwkJcmV0dXJu IHJldDsKKworCXJldCA9IGludGVsX2d1Y19wYXVzZShndWMpOworCWd1Yy0+ZncubG9hZF9zdGF0 dXMgPSBJTlRFTF9VQ19GSVJNV0FSRV9QRU5ESU5HOworCisJcmV0dXJuIHJldDsKK30KKworaW50 IGludGVsX2d1Y19zeXN0ZW1fcmVzdW1lKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKwlpbnQg cmV0ID0gMDsKKworCWlmICghaTkxNS5lbmFibGVfZ3VjX2xvYWRpbmcpCisJCXJldHVybiByZXQ7 CisKKwkvKgorCSAqIFBsYWNlaG9sZGVyIGZvciBHdUMgcmVzdW1lIGZyb20gc3lzdGVtIHN1c3Bl bmQvZnJlZXplIHN0YXRlcy4KKwkgKiBDdXJyZW50bHkgZnVsbCByZWluaXRpYWxpemF0aW9uIG9m IEdFTSBhbmQgR3VDIGhhcHBlbnMgYWxvbmcKKwkgKiB0aGVzZSBwYXRocywgSGVuY2UgdGhpcyBm dW5jdGlvbiBpcyBkb2luZyBub3RoaW5nLgorCSAqLworCXJldHVybiByZXQ7Cit9CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Yy5oCmluZGV4IGYyOWY4Y2UuLmU5NjY0YmYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2d1Yy5oCkBAIC0xNTYsNiArMTU2LDExIEBAIHN0cnVjdCBpbnRlbF9ndWMgewogaW50IGlu dGVsX2d1Y19zYW1wbGVfZm9yY2V3YWtlKHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7CiBpbnQgaW50 ZWxfZ3VjX3NlbmRfbm9wKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgY29uc3QgdTMyICphY3Rpb24s IHUzMiBsZW4pOwogaW50IGludGVsX2d1Y19zZW5kX21taW8oc3RydWN0IGludGVsX2d1YyAqZ3Vj LCBjb25zdCB1MzIgKmFjdGlvbiwgdTMyIGxlbik7Cit2b2lkIGludGVsX2d1Y19yZXNldF9wcmVw YXJlKHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7CitpbnQgaW50ZWxfZ3VjX3J1bnRpbWVfc3VzcGVu ZChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOworaW50IGludGVsX2d1Y19ydW50aW1lX3Jlc3VtZShz dHJ1Y3QgaW50ZWxfZ3VjICpndWMpOworaW50IGludGVsX2d1Y19zeXN0ZW1fc3VzcGVuZChzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMpOworaW50IGludGVsX2d1Y19zeXN0ZW1fcmVzdW1lKHN0cnVjdCBp bnRlbF9ndWMgKmd1Yyk7CiAKIHN0YXRpYyBpbmxpbmUgaW50IGludGVsX2d1Y19zZW5kKHN0cnVj dCBpbnRlbF9ndWMgKmd1YywgY29uc3QgdTMyICphY3Rpb24sCiAJCQkJIHUzMiBsZW4pCkBAIC0x NzEsOCArMTc2LDYgQEAgc3RhdGljIGlubGluZSB2b2lkIGludGVsX2d1Y19ub3RpZnkoc3RydWN0 IGludGVsX2d1YyAqZ3VjKQogLyogaW50ZWxfZ3VjX2xvYWRlci5jICovCiBpbnQgaW50ZWxfZ3Vj X3NlbGVjdF9mdyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwogaW50IGludGVsX2d1Y19pbml0X2h3 KHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7Ci1pbnQgaW50ZWxfZ3VjX3N1c3BlbmQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKLWludCBpbnRlbF9ndWNfcmVzdW1lKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB1MzIgaW50ZWxfZ3VjX3dvcGNtX3NpemUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIAogLyogaTkxNV9ndWNfc3VibWlzc2lv bi5jICovCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==