From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7F9AAC56202 for ; Wed, 25 Nov 2020 10:41:21 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2B7A3206E0 for ; Wed, 25 Nov 2020 10:41:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2B7A3206E0 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 330DC6E9AC; Wed, 25 Nov 2020 10:40:42 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 887466E8F1 for ; Wed, 25 Nov 2020 10:40:28 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Date: Wed, 25 Nov 2020 11:39:39 +0100 Message-Id: <20201125104011.606641-32-maarten.lankhorst@linux.intel.com> X-Mailer: git-send-email 2.29.2.222.g5d2a92d10f8 In-Reply-To: <20201125104011.606641-1-maarten.lankhorst@linux.intel.com> References: <20201125104011.606641-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v5 31/63] drm/i915: Fix workarounds selftest, part 1 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" cGluX21hcCBuZWVkcyB0aGUgd3cgbG9jaywgc28gZW5zdXJlIHdlIHBpbiBib3RoIGJlZm9yZSBz dWJtaXNzaW9uLgoKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFu a2hvcnN0QGxpbnV4LmludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IFRob21hcyBIZWxsc3Ryw7ZtIDx0 aG9tYXMuaGVsbHN0cm9tQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vaTkxNV9nZW1fb2JqZWN0LmggICAgfCAgMyArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fcGFnZXMuYyAgICAgfCAxMiArKysKIC4uLi9ncHUvZHJtL2k5MTUvZ3Qvc2Vs ZnRlc3Rfd29ya2Fyb3VuZHMuYyAgICB8IDc2ICsrKysrKysrKysrKy0tLS0tLS0KIDMgZmlsZXMg Y2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCmluZGV4IGZiZDAxZTI1Y2E3MS4uYThlOThh Y2RmYzA0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2Jq ZWN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCkBA IC0zOTUsNiArMzk1LDkgQEAgZW51bSBpOTE1X21hcF90eXBlIHsKIHZvaWQgKl9fbXVzdF9jaGVj ayBpOTE1X2dlbV9vYmplY3RfcGluX21hcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LAogCQkJCQkgICBlbnVtIGk5MTVfbWFwX3R5cGUgdHlwZSk7CiAKK3ZvaWQgKl9fbXVzdF9jaGVj ayBpOTE1X2dlbV9vYmplY3RfcGluX21hcF91bmxvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqLAorCQkJCQkJICAgIGVudW0gaTkxNV9tYXBfdHlwZSB0eXBlKTsKKwogdm9pZCBf X2k5MTVfZ2VtX29iamVjdF9mbHVzaF9tYXAoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aiwKIAkJCQkgdW5zaWduZWQgbG9uZyBvZmZzZXQsCiAJCQkJIHVuc2lnbmVkIGxvbmcgc2l6ZSk7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGFnZXMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jCmluZGV4IDViY2QyMWE4 ZmM0ZS4uYjAzZTU4MTA2NTE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fcGFnZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f cGFnZXMuYwpAQCAtMzk3LDYgKzM5NywxOCBAQCB2b2lkICppOTE1X2dlbV9vYmplY3RfcGluX21h cChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCWdvdG8gb3V0X3VubG9jazsKIH0K IAordm9pZCAqaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXBfdW5sb2NrZWQoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaiwKKwkJCQkgICAgICAgZW51bSBpOTE1X21hcF90eXBlIHR5cGUpCit7 CisJdm9pZCAqcmV0OworCisJaTkxNV9nZW1fb2JqZWN0X2xvY2sob2JqLCBOVUxMKTsKKwlyZXQg PSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChvYmosIHR5cGUpOworCWk5MTVfZ2VtX29iamVjdF91 bmxvY2sob2JqKTsKKworCXJldHVybiByZXQ7Cit9CisKIHZvaWQgX19pOTE1X2dlbV9vYmplY3Rf Zmx1c2hfbWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkJIHVuc2lnbmVk IGxvbmcgb2Zmc2V0LAogCQkJCSB1bnNpZ25lZCBsb25nIHNpemUpCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF93b3JrYXJvdW5kcy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3Qvc2VsZnRlc3Rfd29ya2Fyb3VuZHMuYwppbmRleCA4MTBhYjAyNmE1NWUuLjY5 ZGEyMTQ3ZWQzYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3Rf d29ya2Fyb3VuZHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF93b3Jr YXJvdW5kcy5jCkBAIC0xMTEsNyArMTExLDcgQEAgcmVhZF9ub25wcml2cyhzdHJ1Y3QgaTkxNV9n ZW1fY29udGV4dCAqY3R4LCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAKIAlpOTE1 X2dlbV9vYmplY3Rfc2V0X2NhY2hlX2NvaGVyZW5jeShyZXN1bHQsIEk5MTVfQ0FDSEVfTExDKTsK IAotCWNzID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAocmVzdWx0LCBJOTE1X01BUF9XQik7CisJ Y3MgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcF91bmxvY2tlZChyZXN1bHQsIEk5MTVfTUFQX1dC KTsKIAlpZiAoSVNfRVJSKGNzKSkgewogCQllcnIgPSBQVFJfRVJSKGNzKTsKIAkJZ290byBlcnJf b2JqOwpAQCAtMjE3LDcgKzIxNyw3IEBAIHN0YXRpYyBpbnQgY2hlY2tfd2hpdGVsaXN0KHN0cnVj dCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiAJaTkxNV9nZW1fb2JqZWN0X2xvY2socmVzdWx0cywg TlVMTCk7CiAJaW50ZWxfd2VkZ2Vfb25fdGltZW91dCgmd2VkZ2UsIGVuZ2luZS0+Z3QsIEhaIC8g NSkgLyogc2FmZXR5IG5ldCEgKi8KIAkJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b19jcHVf ZG9tYWluKHJlc3VsdHMsIGZhbHNlKTsKLQlpOTE1X2dlbV9vYmplY3RfdW5sb2NrKHJlc3VsdHMp OworCiAJaWYgKGludGVsX2d0X2lzX3dlZGdlZChlbmdpbmUtPmd0KSkKIAkJZXJyID0gLUVJTzsK IAlpZiAoZXJyKQpAQCAtMjQ1LDYgKzI0NSw3IEBAIHN0YXRpYyBpbnQgY2hlY2tfd2hpdGVsaXN0 KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiAKIAlpOTE1X2dlbV9vYmplY3RfdW5waW5f bWFwKHJlc3VsdHMpOwogb3V0X3B1dDoKKwlpOTE1X2dlbV9vYmplY3RfdW5sb2NrKHJlc3VsdHMp OwogCWk5MTVfZ2VtX29iamVjdF9wdXQocmVzdWx0cyk7CiAJcmV0dXJuIGVycjsKIH0KQEAgLTUy MCw2ICs1MjEsNyBAQCBzdGF0aWMgaW50IGNoZWNrX2RpcnR5X3doaXRlbGlzdChzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqY2UpCiAKIAlmb3IgKGkgPSAwOyBpIDwgZW5naW5lLT53aGl0ZWxpc3QuY291 bnQ7IGkrKykgewogCQl1MzIgcmVnID0gaTkxNV9tbWlvX3JlZ19vZmZzZXQoZW5naW5lLT53aGl0 ZWxpc3QubGlzdFtpXS5yZWcpOworCQlzdHJ1Y3QgaTkxNV9nZW1fd3dfY3R4IHd3OwogCQl1NjQg YWRkciA9IHNjcmF0Y2gtPm5vZGUuc3RhcnQ7CiAJCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxOwog CQl1MzIgc3JtLCBscm0sIHJzdmQ7CkBAIC01MzUsNiArNTM3LDI5IEBAIHN0YXRpYyBpbnQgY2hl Y2tfZGlydHlfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKIAogCQlyb19yZWcg PSByb19yZWdpc3RlcihyZWcpOwogCisJCWk5MTVfZ2VtX3d3X2N0eF9pbml0KCZ3dywgZmFsc2Up OworcmV0cnk6CisJCWNzID0gTlVMTDsKKwkJZXJyID0gaTkxNV9nZW1fb2JqZWN0X2xvY2soc2Ny YXRjaC0+b2JqLCAmd3cpOworCQlpZiAoIWVycikKKwkJCWVyciA9IGk5MTVfZ2VtX29iamVjdF9s b2NrKGJhdGNoLT5vYmosICZ3dyk7CisJCWlmICghZXJyKQorCQkJZXJyID0gaW50ZWxfY29udGV4 dF9waW5fd3coY2UsICZ3dyk7CisJCWlmIChlcnIpCisJCQlnb3RvIG91dDsKKworCQljcyA9IGk5 MTVfZ2VtX29iamVjdF9waW5fbWFwKGJhdGNoLT5vYmosIEk5MTVfTUFQX1dDKTsKKwkJaWYgKElT X0VSUihjcykpIHsKKwkJCWVyciA9IFBUUl9FUlIoY3MpOworCQkJZ290byBvdXRfY3R4OworCQl9 CisKKwkJcmVzdWx0cyA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKHNjcmF0Y2gtPm9iaiwgSTkx NV9NQVBfV0IpOworCQlpZiAoSVNfRVJSKHJlc3VsdHMpKSB7CisJCQllcnIgPSBQVFJfRVJSKHJl c3VsdHMpOworCQkJZ290byBvdXRfdW5tYXBfYmF0Y2g7CisJCX0KKwogCQkvKiBDbGVhciBub24g cHJpdiBmbGFncyAqLwogCQlyZWcgJj0gUklOR19GT1JDRV9UT19OT05QUklWX0FERFJFU1NfTUFT SzsKIApAQCAtNTQ2LDEyICs1NzEsNiBAQCBzdGF0aWMgaW50IGNoZWNrX2RpcnR5X3doaXRlbGlz dChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCiAJCXByX2RlYnVnKCIlczogV3JpdGluZyBnYXJi YWdlIHRvICV4XG4iLAogCQkJIGVuZ2luZS0+bmFtZSwgcmVnKTsKIAotCQljcyA9IGk5MTVfZ2Vt X29iamVjdF9waW5fbWFwKGJhdGNoLT5vYmosIEk5MTVfTUFQX1dDKTsKLQkJaWYgKElTX0VSUihj cykpIHsKLQkJCWVyciA9IFBUUl9FUlIoY3MpOwotCQkJZ290byBvdXRfYmF0Y2g7Ci0JCX0KLQog CQkvKiBTUk0gb3JpZ2luYWwgKi8KIAkJKmNzKysgPSBzcm07CiAJCSpjcysrID0gcmVnOwpAQCAt NTk4LDExICs2MTcsMTIgQEAgc3RhdGljIGludCBjaGVja19kaXJ0eV93aGl0ZWxpc3Qoc3RydWN0 IGludGVsX2NvbnRleHQgKmNlKQogCQlpOTE1X2dlbV9vYmplY3RfZmx1c2hfbWFwKGJhdGNoLT5v YmopOwogCQlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFwKGJhdGNoLT5vYmopOwogCQlpbnRlbF9n dF9jaGlwc2V0X2ZsdXNoKGVuZ2luZS0+Z3QpOworCQljcyA9IE5VTEw7CiAKLQkJcnEgPSBpbnRl bF9jb250ZXh0X2NyZWF0ZV9yZXF1ZXN0KGNlKTsKKwkJcnEgPSBpOTE1X3JlcXVlc3RfY3JlYXRl KGNlKTsKIAkJaWYgKElTX0VSUihycSkpIHsKIAkJCWVyciA9IFBUUl9FUlIocnEpOwotCQkJZ290 byBvdXRfYmF0Y2g7CisJCQlnb3RvIG91dF91bm1hcF9zY3JhdGNoOwogCQl9CiAKIAkJaWYgKGVu Z2luZS0+ZW1pdF9pbml0X2JyZWFkY3J1bWIpIHsgLyogQmUgbmljZSBpZiB3ZSBoYW5nICovCkBA IC02MTEsMjAgKzYzMSwxNiBAQCBzdGF0aWMgaW50IGNoZWNrX2RpcnR5X3doaXRlbGlzdChzdHJ1 Y3QgaW50ZWxfY29udGV4dCAqY2UpCiAJCQkJZ290byBlcnJfcmVxdWVzdDsKIAkJfQogCi0JCWk5 MTVfdm1hX2xvY2soYmF0Y2gpOwogCQllcnIgPSBpOTE1X3JlcXVlc3RfYXdhaXRfb2JqZWN0KHJx LCBiYXRjaC0+b2JqLCBmYWxzZSk7CiAJCWlmIChlcnIgPT0gMCkKIAkJCWVyciA9IGk5MTVfdm1h X21vdmVfdG9fYWN0aXZlKGJhdGNoLCBycSwgMCk7Ci0JCWk5MTVfdm1hX3VubG9jayhiYXRjaCk7 CiAJCWlmIChlcnIpCiAJCQlnb3RvIGVycl9yZXF1ZXN0OwogCi0JCWk5MTVfdm1hX2xvY2soc2Ny YXRjaCk7CiAJCWVyciA9IGk5MTVfcmVxdWVzdF9hd2FpdF9vYmplY3QocnEsIHNjcmF0Y2gtPm9i aiwgdHJ1ZSk7CiAJCWlmIChlcnIgPT0gMCkKIAkJCWVyciA9IGk5MTVfdm1hX21vdmVfdG9fYWN0 aXZlKHNjcmF0Y2gsIHJxLAogCQkJCQkJICAgICAgRVhFQ19PQkpFQ1RfV1JJVEUpOwotCQlpOTE1 X3ZtYV91bmxvY2soc2NyYXRjaCk7CiAJCWlmIChlcnIpCiAJCQlnb3RvIGVycl9yZXF1ZXN0Owog CkBAIC02NDAsMTMgKzY1Niw3IEBAIHN0YXRpYyBpbnQgY2hlY2tfZGlydHlfd2hpdGVsaXN0KHN0 cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKIAkJCXByX2VycigiJXM6IEZ1dHppbmcgJXggdGltZWRv dXQ7IGNhbmNlbGxpbmcgdGVzdFxuIiwKIAkJCSAgICAgICBlbmdpbmUtPm5hbWUsIHJlZyk7CiAJ CQlpbnRlbF9ndF9zZXRfd2VkZ2VkKGVuZ2luZS0+Z3QpOwotCQkJZ290byBvdXRfYmF0Y2g7Ci0J CX0KLQotCQlyZXN1bHRzID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoc2NyYXRjaC0+b2JqLCBJ OTE1X01BUF9XQik7Ci0JCWlmIChJU19FUlIocmVzdWx0cykpIHsKLQkJCWVyciA9IFBUUl9FUlIo cmVzdWx0cyk7Ci0JCQlnb3RvIG91dF9iYXRjaDsKKwkJCWdvdG8gb3V0X3VubWFwX3NjcmF0Y2g7 CiAJCX0KIAogCQlHRU1fQlVHX09OKHZhbHVlc1tBUlJBWV9TSVpFKHZhbHVlcykgLSAxXSAhPSAw eGZmZmZmZmZmKTsKQEAgLTY1Nyw3ICs2NjcsNyBAQCBzdGF0aWMgaW50IGNoZWNrX2RpcnR5X3do aXRlbGlzdChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCiAJCQkJcHJfZXJyKCIlczogVW5hYmxl IHRvIHdyaXRlIHRvIHdoaXRlbGlzdGVkIHJlZ2lzdGVyICV4XG4iLAogCQkJCSAgICAgICBlbmdp bmUtPm5hbWUsIHJlZyk7CiAJCQkJZXJyID0gLUVJTlZBTDsKLQkJCQlnb3RvIG91dF91bnBpbjsK KwkJCQlnb3RvIG91dF91bm1hcF9zY3JhdGNoOwogCQkJfQogCQl9IGVsc2UgewogCQkJcnN2ZCA9 IDA7CkBAIC03MjMsMTUgKzczMywyNyBAQCBzdGF0aWMgaW50IGNoZWNrX2RpcnR5X3doaXRlbGlz dChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCiAKIAkJCWVyciA9IC1FSU5WQUw7CiAJCX0KLW91 dF91bnBpbjoKK291dF91bm1hcF9zY3JhdGNoOgogCQlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFw KHNjcmF0Y2gtPm9iaik7CitvdXRfdW5tYXBfYmF0Y2g6CisJCWlmIChjcykKKwkJCWk5MTVfZ2Vt X29iamVjdF91bnBpbl9tYXAoYmF0Y2gtPm9iaik7CitvdXRfY3R4OgorCQlpbnRlbF9jb250ZXh0 X3VucGluKGNlKTsKK291dDoKKwkJaWYgKGVyciA9PSAtRURFQURMSykgeworCQkJZXJyID0gaTkx NV9nZW1fd3dfY3R4X2JhY2tvZmYoJnd3KTsKKwkJCWlmICghZXJyKQorCQkJCWdvdG8gcmV0cnk7 CisJCX0KKwkJaTkxNV9nZW1fd3dfY3R4X2ZpbmkoJnd3KTsKIAkJaWYgKGVycikKIAkJCWJyZWFr OwogCX0KIAogCWlmIChpZ3RfZmx1c2hfdGVzdChlbmdpbmUtPmk5MTUpKQogCQllcnIgPSAtRUlP Owotb3V0X2JhdGNoOgorCiAJaTkxNV92bWFfdW5waW5fYW5kX3JlbGVhc2UoJmJhdGNoLCAwKTsK IG91dF9zY3JhdGNoOgogCWk5MTVfdm1hX3VucGluX2FuZF9yZWxlYXNlKCZzY3JhdGNoLCAwKTsK QEAgLTg2OCw3ICs4OTAsNyBAQCBzdGF0aWMgaW50IHNjcnViX3doaXRlbGlzdGVkX3JlZ2lzdGVy cyhzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAogCWlmIChJU19FUlIoYmF0Y2gpKQogCQly ZXR1cm4gUFRSX0VSUihiYXRjaCk7CiAKLQljcyA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKGJh dGNoLT5vYmosIEk5MTVfTUFQX1dDKTsKKwljcyA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwX3Vu bG9ja2VkKGJhdGNoLT5vYmosIEk5MTVfTUFQX1dDKTsKIAlpZiAoSVNfRVJSKGNzKSkgewogCQll cnIgPSBQVFJfRVJSKGNzKTsKIAkJZ290byBlcnJfYmF0Y2g7CkBAIC0xMDAzLDExICsxMDI1LDEx IEBAIGNoZWNrX3doaXRlbGlzdGVkX3JlZ2lzdGVycyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUsCiAJdTMyICphLCAqYjsKIAlpbnQgaSwgZXJyOwogCi0JYSA9IGk5MTVfZ2VtX29iamVj dF9waW5fbWFwKEEtPm9iaiwgSTkxNV9NQVBfV0IpOworCWEgPSBpOTE1X2dlbV9vYmplY3RfcGlu X21hcF91bmxvY2tlZChBLT5vYmosIEk5MTVfTUFQX1dCKTsKIAlpZiAoSVNfRVJSKGEpKQogCQly ZXR1cm4gUFRSX0VSUihhKTsKIAotCWIgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChCLT5vYmos IEk5MTVfTUFQX1dCKTsKKwliID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXBfdW5sb2NrZWQoQi0+ b2JqLCBJOTE1X01BUF9XQik7CiAJaWYgKElTX0VSUihiKSkgewogCQllcnIgPSBQVFJfRVJSKGIp OwogCQlnb3RvIGVycl9hOwotLSAKMi4yOS4yLjIyMi5nNWQyYTkyZDEwZjgKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=