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=-14.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY, USER_AGENT_GIT autolearn=unavailable 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 06C4AC433E1 for ; Tue, 23 Mar 2021 15:58:56 +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 BD58F619D0 for ; Tue, 23 Mar 2021 15:58:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BD58F619D0 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=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 011246EC15; Tue, 23 Mar 2021 15:58:04 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 46BD16EBFB for ; Tue, 23 Mar 2021 15:57:45 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Subject: [PATCH v9 31/70] drm/i915: Fix workarounds selftest, part 1 Date: Tue, 23 Mar 2021 16:50:20 +0100 Message-Id: <20210323155059.628690-32-maarten.lankhorst@linux.intel.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210323155059.628690-1-maarten.lankhorst@linux.intel.com> References: <20210323155059.628690-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" cGluX21hcCBuZWVkcyB0aGUgd3cgbG9jaywgc28gZW5zdXJlIHdlIHBpbiBib3RoIGJlZm9yZSBz dWJtaXNzaW9uLgoKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFu a2hvcnN0QGxpbnV4LmludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IFRob21hcyBIZWxsc3Ryw7ZtIDx0 aG9tYXMuaGVsbHN0cm9tQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vaTkxNV9nZW1fb2JqZWN0LmggICAgfCAgMyArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fcGFnZXMuYyAgICAgfCAxMiArKysKIC4uLi9ncHUvZHJtL2k5MTUvZ3Qvc2Vs ZnRlc3Rfd29ya2Fyb3VuZHMuYyAgICB8IDk1ICsrKysrKysrKysrKystLS0tLS0KIDMgZmlsZXMg Y2hhbmdlZCwgODAgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCmluZGV4IDZjM2Y3NWFkYjUzYy4uOTgzZjJk NGIyYTg1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2Jq ZWN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCkBA IC00MzcsNiArNDM3LDkgQEAgdm9pZCBpOTE1X2dlbV9vYmplY3Rfd3JpdGViYWNrKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOwogdm9pZCAqX19tdXN0X2NoZWNrIGk5MTVfZ2VtX29i amVjdF9waW5fbWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkJCSAgIGVu dW0gaTkxNV9tYXBfdHlwZSB0eXBlKTsKIAordm9pZCAqX19tdXN0X2NoZWNrIGk5MTVfZ2VtX29i amVjdF9waW5fbWFwX3VubG9ja2VkKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCisJ CQkJCQkgICAgZW51bSBpOTE1X21hcF90eXBlIHR5cGUpOworCiB2b2lkIF9faTkxNV9nZW1fb2Jq ZWN0X2ZsdXNoX21hcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJCSB1bnNp Z25lZCBsb25nIG9mZnNldCwKIAkJCQkgdW5zaWduZWQgbG9uZyBzaXplKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BhZ2VzLmMKaW5kZXggZTk0N2Q0YzBkYTFmLi5hMjQ2MTdh ZjNjOTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdl cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jCkBAIC00 MDAsNiArNDAwLDE4IEBAIHZvaWQgKmk5MTVfZ2VtX29iamVjdF9waW5fbWFwKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJZ290byBvdXRfdW5sb2NrOwogfQogCit2b2lkICppOTE1 X2dlbV9vYmplY3RfcGluX21hcF91bmxvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqLAorCQkJCSAgICAgICBlbnVtIGk5MTVfbWFwX3R5cGUgdHlwZSkKK3sKKwl2b2lkICpyZXQ7 CisKKwlpOTE1X2dlbV9vYmplY3RfbG9jayhvYmosIE5VTEwpOworCXJldCA9IGk5MTVfZ2VtX29i amVjdF9waW5fbWFwKG9iaiwgdHlwZSk7CisJaTkxNV9nZW1fb2JqZWN0X3VubG9jayhvYmopOwor CisJcmV0dXJuIHJldDsKK30KKwogdm9pZCBfX2k5MTVfZ2VtX29iamVjdF9mbHVzaF9tYXAoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCQkgdW5zaWduZWQgbG9uZyBvZmZzZXQs CiAJCQkJIHVuc2lnbmVkIGxvbmcgc2l6ZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L3NlbGZ0ZXN0X3dvcmthcm91bmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9z ZWxmdGVzdF93b3JrYXJvdW5kcy5jCmluZGV4IGRlNjEzNmJkMTBhYy4uYTUwODYxNGIyZmQ1IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF93b3JrYXJvdW5kcy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3dvcmthcm91bmRzLmMKQEAg LTEwMywxNSArMTAzLDEzIEBAIHJlYWRfbm9ucHJpdnMoc3RydWN0IGludGVsX2NvbnRleHQgKmNl LCBzdHJ1Y3QgaTkxNV92bWEgKnJlc3VsdCkKIAlpbnQgZXJyOwogCWludCBpOwogCi0JcnEgPSBp bnRlbF9jb250ZXh0X2NyZWF0ZV9yZXF1ZXN0KGNlKTsKKwlycSA9IGk5MTVfcmVxdWVzdF9jcmVh dGUoY2UpOwogCWlmIChJU19FUlIocnEpKQogCQlyZXR1cm4gcnE7CiAKLQlpOTE1X3ZtYV9sb2Nr KHJlc3VsdCk7CiAJZXJyID0gaTkxNV9yZXF1ZXN0X2F3YWl0X29iamVjdChycSwgcmVzdWx0LT5v YmosIHRydWUpOwogCWlmIChlcnIgPT0gMCkKIAkJZXJyID0gaTkxNV92bWFfbW92ZV90b19hY3Rp dmUocmVzdWx0LCBycSwgRVhFQ19PQkpFQ1RfV1JJVEUpOwotCWk5MTVfdm1hX3VubG9jayhyZXN1 bHQpOwogCWlmIChlcnIpCiAJCWdvdG8gZXJyX3JxOwogCkBAIC0xNzYsMTAgKzE3NCwxMSBAQCBz dGF0aWMgaW50IGNoZWNrX3doaXRlbGlzdChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCiAJdTMy ICp2YWRkcjsKIAlpbnQgaTsKIAotCXJlc3VsdCA9IF9fdm1fY3JlYXRlX3NjcmF0Y2hfZm9yX3Jl YWQoJmVuZ2luZS0+Z3QtPmdndHQtPnZtLCBQQUdFX1NJWkUpOworCXJlc3VsdCA9IF9fdm1fY3Jl YXRlX3NjcmF0Y2hfZm9yX3JlYWRfcGlubmVkKCZlbmdpbmUtPmd0LT5nZ3R0LT52bSwgUEFHRV9T SVpFKTsKIAlpZiAoSVNfRVJSKHJlc3VsdCkpCiAJCXJldHVybiBQVFJfRVJSKHJlc3VsdCk7CiAK KwlpOTE1X2dlbV9vYmplY3RfbG9jayhyZXN1bHQtPm9iaiwgTlVMTCk7CiAJdmFkZHIgPSBpOTE1 X2dlbV9vYmplY3RfcGluX21hcChyZXN1bHQtPm9iaiwgSTkxNV9NQVBfV0IpOwogCWlmIChJU19F UlIodmFkZHIpKSB7CiAJCWVyciA9IFBUUl9FUlIodmFkZHIpOwpAQCAtMjE5LDYgKzIxOCw4IEBA IHN0YXRpYyBpbnQgY2hlY2tfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKIG91 dF9tYXA6CiAJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChyZXN1bHQtPm9iaik7CiBvdXRfcHV0 OgorCWk5MTVfdm1hX3VucGluKHJlc3VsdCk7CisJaTkxNV9nZW1fb2JqZWN0X3VubG9jayhyZXN1 bHQtPm9iaik7CiAJaTkxNV92bWFfcHV0KHJlc3VsdCk7CiAJcmV0dXJuIGVycjsKIH0KQEAgLTI3 OSwxMCArMjgwLDE0IEBAIHN0YXRpYyBpbnQgY2hlY2tfd2hpdGVsaXN0X2Fjcm9zc19yZXNldChz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJaWYgKElTX0VSUihjZSkpCiAJCXJldHVy biBQVFJfRVJSKGNlKTsKIAotCWVyciA9IGlndF9zcGlubmVyX2luaXQoJnNwaW4sIGVuZ2luZS0+ Z3QpOworCWVyciA9IGludGVsX2NvbnRleHRfcGluKGNlKTsKIAlpZiAoZXJyKQogCQlnb3RvIG91 dF9jdHg7CiAKKwllcnIgPSBpZ3Rfc3Bpbm5lcl9pbml0KCZzcGluLCBlbmdpbmUtPmd0KTsKKwlp ZiAoZXJyKQorCQlnb3RvIG91dF91bnBpbjsKKwogCWVyciA9IGNoZWNrX3doaXRlbGlzdChjZSk7 CiAJaWYgKGVycikgewogCQlwcl9lcnIoIkludmFsaWQgd2hpdGVsaXN0ICpiZWZvcmUqICVzIHJl c2V0IVxuIiwgbmFtZSk7CkBAIC0zMTUsNiArMzIwLDEzIEBAIHN0YXRpYyBpbnQgY2hlY2tfd2hp dGVsaXN0X2Fjcm9zc19yZXNldChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJCWVy ciA9IFBUUl9FUlIodG1wKTsKIAkJZ290byBvdXRfc3BpbjsKIAl9CisJZXJyID0gaW50ZWxfY29u dGV4dF9waW4odG1wKTsKKwlpZiAoZXJyKSB7CisJCWludGVsX2NvbnRleHRfcHV0KHRtcCk7CisJ CWdvdG8gb3V0X3NwaW47CisJfQorCisJaW50ZWxfY29udGV4dF91bnBpbihjZSk7CiAJaW50ZWxf Y29udGV4dF9wdXQoY2UpOwogCWNlID0gdG1wOwogCkBAIC0zMjcsNiArMzM5LDggQEAgc3RhdGlj IGludCBjaGVja193aGl0ZWxpc3RfYWNyb3NzX3Jlc2V0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSwKIAogb3V0X3NwaW46CiAJaWd0X3NwaW5uZXJfZmluaSgmc3Bpbik7CitvdXRfdW5w aW46CisJaW50ZWxfY29udGV4dF91bnBpbihjZSk7CiBvdXRfY3R4OgogCWludGVsX2NvbnRleHRf cHV0KGNlKTsKIAlyZXR1cm4gZXJyOwpAQCAtNDc1LDYgKzQ4OSw3IEBAIHN0YXRpYyBpbnQgY2hl Y2tfZGlydHlfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKIAogCWZvciAoaSA9 IDA7IGkgPCBlbmdpbmUtPndoaXRlbGlzdC5jb3VudDsgaSsrKSB7CiAJCXUzMiByZWcgPSBpOTE1 X21taW9fcmVnX29mZnNldChlbmdpbmUtPndoaXRlbGlzdC5saXN0W2ldLnJlZyk7CisJCXN0cnVj dCBpOTE1X2dlbV93d19jdHggd3c7CiAJCXU2NCBhZGRyID0gc2NyYXRjaC0+bm9kZS5zdGFydDsK IAkJc3RydWN0IGk5MTVfcmVxdWVzdCAqcnE7CiAJCXUzMiBzcm0sIGxybSwgcnN2ZDsKQEAgLTQ5 MCw2ICs1MDUsMjkgQEAgc3RhdGljIGludCBjaGVja19kaXJ0eV93aGl0ZWxpc3Qoc3RydWN0IGlu dGVsX2NvbnRleHQgKmNlKQogCiAJCXJvX3JlZyA9IHJvX3JlZ2lzdGVyKHJlZyk7CiAKKwkJaTkx NV9nZW1fd3dfY3R4X2luaXQoJnd3LCBmYWxzZSk7CityZXRyeToKKwkJY3MgPSBOVUxMOworCQll cnIgPSBpOTE1X2dlbV9vYmplY3RfbG9jayhzY3JhdGNoLT5vYmosICZ3dyk7CisJCWlmICghZXJy KQorCQkJZXJyID0gaTkxNV9nZW1fb2JqZWN0X2xvY2soYmF0Y2gtPm9iaiwgJnd3KTsKKwkJaWYg KCFlcnIpCisJCQllcnIgPSBpbnRlbF9jb250ZXh0X3Bpbl93dyhjZSwgJnd3KTsKKwkJaWYgKGVy cikKKwkJCWdvdG8gb3V0OworCisJCWNzID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoYmF0Y2gt Pm9iaiwgSTkxNV9NQVBfV0MpOworCQlpZiAoSVNfRVJSKGNzKSkgeworCQkJZXJyID0gUFRSX0VS Uihjcyk7CisJCQlnb3RvIG91dF9jdHg7CisJCX0KKworCQlyZXN1bHRzID0gaTkxNV9nZW1fb2Jq ZWN0X3Bpbl9tYXAoc2NyYXRjaC0+b2JqLCBJOTE1X01BUF9XQik7CisJCWlmIChJU19FUlIocmVz dWx0cykpIHsKKwkJCWVyciA9IFBUUl9FUlIocmVzdWx0cyk7CisJCQlnb3RvIG91dF91bm1hcF9i YXRjaDsKKwkJfQorCiAJCS8qIENsZWFyIG5vbiBwcml2IGZsYWdzICovCiAJCXJlZyAmPSBSSU5H X0ZPUkNFX1RPX05PTlBSSVZfQUREUkVTU19NQVNLOwogCkBAIC01MDEsMTIgKzUzOSw2IEBAIHN0 YXRpYyBpbnQgY2hlY2tfZGlydHlfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkK IAkJcHJfZGVidWcoIiVzOiBXcml0aW5nIGdhcmJhZ2UgdG8gJXhcbiIsCiAJCQkgZW5naW5lLT5u YW1lLCByZWcpOwogCi0JCWNzID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoYmF0Y2gtPm9iaiwg STkxNV9NQVBfV0MpOwotCQlpZiAoSVNfRVJSKGNzKSkgewotCQkJZXJyID0gUFRSX0VSUihjcyk7 Ci0JCQlnb3RvIG91dF9iYXRjaDsKLQkJfQotCiAJCS8qIFNSTSBvcmlnaW5hbCAqLwogCQkqY3Mr KyA9IHNybTsKIAkJKmNzKysgPSByZWc7CkBAIC01NTMsMTEgKzU4NSwxMiBAQCBzdGF0aWMgaW50 IGNoZWNrX2RpcnR5X3doaXRlbGlzdChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCiAJCWk5MTVf Z2VtX29iamVjdF9mbHVzaF9tYXAoYmF0Y2gtPm9iaik7CiAJCWk5MTVfZ2VtX29iamVjdF91bnBp bl9tYXAoYmF0Y2gtPm9iaik7CiAJCWludGVsX2d0X2NoaXBzZXRfZmx1c2goZW5naW5lLT5ndCk7 CisJCWNzID0gTlVMTDsKIAotCQlycSA9IGludGVsX2NvbnRleHRfY3JlYXRlX3JlcXVlc3QoY2Up OworCQlycSA9IGk5MTVfcmVxdWVzdF9jcmVhdGUoY2UpOwogCQlpZiAoSVNfRVJSKHJxKSkgewog CQkJZXJyID0gUFRSX0VSUihycSk7Ci0JCQlnb3RvIG91dF9iYXRjaDsKKwkJCWdvdG8gb3V0X3Vu bWFwX3NjcmF0Y2g7CiAJCX0KIAogCQlpZiAoZW5naW5lLT5lbWl0X2luaXRfYnJlYWRjcnVtYikg eyAvKiBCZSBuaWNlIGlmIHdlIGhhbmcgKi8KQEAgLTU2NiwyMCArNTk5LDE2IEBAIHN0YXRpYyBp bnQgY2hlY2tfZGlydHlfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKIAkJCQln b3RvIGVycl9yZXF1ZXN0OwogCQl9CiAKLQkJaTkxNV92bWFfbG9jayhiYXRjaCk7CiAJCWVyciA9 IGk5MTVfcmVxdWVzdF9hd2FpdF9vYmplY3QocnEsIGJhdGNoLT5vYmosIGZhbHNlKTsKIAkJaWYg KGVyciA9PSAwKQogCQkJZXJyID0gaTkxNV92bWFfbW92ZV90b19hY3RpdmUoYmF0Y2gsIHJxLCAw KTsKLQkJaTkxNV92bWFfdW5sb2NrKGJhdGNoKTsKIAkJaWYgKGVycikKIAkJCWdvdG8gZXJyX3Jl cXVlc3Q7CiAKLQkJaTkxNV92bWFfbG9jayhzY3JhdGNoKTsKIAkJZXJyID0gaTkxNV9yZXF1ZXN0 X2F3YWl0X29iamVjdChycSwgc2NyYXRjaC0+b2JqLCB0cnVlKTsKIAkJaWYgKGVyciA9PSAwKQog CQkJZXJyID0gaTkxNV92bWFfbW92ZV90b19hY3RpdmUoc2NyYXRjaCwgcnEsCiAJCQkJCQkgICAg ICBFWEVDX09CSkVDVF9XUklURSk7Ci0JCWk5MTVfdm1hX3VubG9jayhzY3JhdGNoKTsKIAkJaWYg KGVycikKIAkJCWdvdG8gZXJyX3JlcXVlc3Q7CiAKQEAgLTU5NSwxMyArNjI0LDcgQEAgc3RhdGlj IGludCBjaGVja19kaXJ0eV93aGl0ZWxpc3Qoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQogCQkJ cHJfZXJyKCIlczogRnV0emluZyAleCB0aW1lZG91dDsgY2FuY2VsbGluZyB0ZXN0XG4iLAogCQkJ ICAgICAgIGVuZ2luZS0+bmFtZSwgcmVnKTsKIAkJCWludGVsX2d0X3NldF93ZWRnZWQoZW5naW5l LT5ndCk7Ci0JCQlnb3RvIG91dF9iYXRjaDsKLQkJfQotCi0JCXJlc3VsdHMgPSBpOTE1X2dlbV9v YmplY3RfcGluX21hcChzY3JhdGNoLT5vYmosIEk5MTVfTUFQX1dCKTsKLQkJaWYgKElTX0VSUihy ZXN1bHRzKSkgewotCQkJZXJyID0gUFRSX0VSUihyZXN1bHRzKTsKLQkJCWdvdG8gb3V0X2JhdGNo OworCQkJZ290byBvdXRfdW5tYXBfc2NyYXRjaDsKIAkJfQogCiAJCUdFTV9CVUdfT04odmFsdWVz W0FSUkFZX1NJWkUodmFsdWVzKSAtIDFdICE9IDB4ZmZmZmZmZmYpOwpAQCAtNjEyLDcgKzYzNSw3 IEBAIHN0YXRpYyBpbnQgY2hlY2tfZGlydHlfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjZSkKIAkJCQlwcl9lcnIoIiVzOiBVbmFibGUgdG8gd3JpdGUgdG8gd2hpdGVsaXN0ZWQgcmVn aXN0ZXIgJXhcbiIsCiAJCQkJICAgICAgIGVuZ2luZS0+bmFtZSwgcmVnKTsKIAkJCQllcnIgPSAt RUlOVkFMOwotCQkJCWdvdG8gb3V0X3VucGluOworCQkJCWdvdG8gb3V0X3VubWFwX3NjcmF0Y2g7 CiAJCQl9CiAJCX0gZWxzZSB7CiAJCQlyc3ZkID0gMDsKQEAgLTY3OCwxNSArNzAxLDI3IEBAIHN0 YXRpYyBpbnQgY2hlY2tfZGlydHlfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkK IAogCQkJZXJyID0gLUVJTlZBTDsKIAkJfQotb3V0X3VucGluOgorb3V0X3VubWFwX3NjcmF0Y2g6 CiAJCWk5MTVfZ2VtX29iamVjdF91bnBpbl9tYXAoc2NyYXRjaC0+b2JqKTsKK291dF91bm1hcF9i YXRjaDoKKwkJaWYgKGNzKQorCQkJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChiYXRjaC0+b2Jq KTsKK291dF9jdHg6CisJCWludGVsX2NvbnRleHRfdW5waW4oY2UpOworb3V0OgorCQlpZiAoZXJy ID09IC1FREVBRExLKSB7CisJCQllcnIgPSBpOTE1X2dlbV93d19jdHhfYmFja29mZigmd3cpOwor CQkJaWYgKCFlcnIpCisJCQkJZ290byByZXRyeTsKKwkJfQorCQlpOTE1X2dlbV93d19jdHhfZmlu aSgmd3cpOwogCQlpZiAoZXJyKQogCQkJYnJlYWs7CiAJfQogCiAJaWYgKGlndF9mbHVzaF90ZXN0 KGVuZ2luZS0+aTkxNSkpCiAJCWVyciA9IC1FSU87Ci1vdXRfYmF0Y2g6CisKIAlpOTE1X3ZtYV91 bnBpbl9hbmRfcmVsZWFzZSgmYmF0Y2gsIDApOwogb3V0X3NjcmF0Y2g6CiAJaTkxNV92bWFfdW5w aW5fYW5kX3JlbGVhc2UoJnNjcmF0Y2gsIDApOwpAQCAtODIwLDcgKzg1NSw3IEBAIHN0YXRpYyBp bnQgc2NydWJfd2hpdGVsaXN0ZWRfcmVnaXN0ZXJzKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkK IAlpZiAoSVNfRVJSKGJhdGNoKSkKIAkJcmV0dXJuIFBUUl9FUlIoYmF0Y2gpOwogCi0JY3MgPSBp OTE1X2dlbV9vYmplY3RfcGluX21hcChiYXRjaC0+b2JqLCBJOTE1X01BUF9XQyk7CisJY3MgPSBp OTE1X2dlbV9vYmplY3RfcGluX21hcF91bmxvY2tlZChiYXRjaC0+b2JqLCBJOTE1X01BUF9XQyk7 CiAJaWYgKElTX0VSUihjcykpIHsKIAkJZXJyID0gUFRSX0VSUihjcyk7CiAJCWdvdG8gZXJyX2Jh dGNoOwpAQCAtOTU1LDExICs5OTAsMTEgQEAgY2hlY2tfd2hpdGVsaXN0ZWRfcmVnaXN0ZXJzKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAl1MzIgKmEsICpiOwogCWludCBpLCBlcnI7 CiAKLQlhID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoQS0+b2JqLCBJOTE1X01BUF9XQik7CisJ YSA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwX3VubG9ja2VkKEEtPm9iaiwgSTkxNV9NQVBfV0Ip OwogCWlmIChJU19FUlIoYSkpCiAJCXJldHVybiBQVFJfRVJSKGEpOwogCi0JYiA9IGk5MTVfZ2Vt X29iamVjdF9waW5fbWFwKEItPm9iaiwgSTkxNV9NQVBfV0IpOworCWIgPSBpOTE1X2dlbV9vYmpl Y3RfcGluX21hcF91bmxvY2tlZChCLT5vYmosIEk5MTVfTUFQX1dCKTsKIAlpZiAoSVNfRVJSKGIp KSB7CiAJCWVyciA9IFBUUl9FUlIoYik7CiAJCWdvdG8gZXJyX2E7Ci0tIAoyLjMxLjAKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= 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=-14.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY, 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 E743FC433E1 for ; Tue, 23 Mar 2021 15:51:42 +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 B0CBA61963 for ; Tue, 23 Mar 2021 15:51:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B0CBA61963 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 7E2E86EA7B; Tue, 23 Mar 2021 15:51:28 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 805B66EAD2 for ; Tue, 23 Mar 2021 15:51:17 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Date: Tue, 23 Mar 2021 16:50:20 +0100 Message-Id: <20210323155059.628690-32-maarten.lankhorst@linux.intel.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210323155059.628690-1-maarten.lankhorst@linux.intel.com> References: <20210323155059.628690-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v9 31/70] 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?= , dri-devel@lists.freedesktop.org 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 ZnRlc3Rfd29ya2Fyb3VuZHMuYyAgICB8IDk1ICsrKysrKysrKysrKystLS0tLS0KIDMgZmlsZXMg Y2hhbmdlZCwgODAgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCmluZGV4IDZjM2Y3NWFkYjUzYy4uOTgzZjJk NGIyYTg1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2Jq ZWN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCkBA IC00MzcsNiArNDM3LDkgQEAgdm9pZCBpOTE1X2dlbV9vYmplY3Rfd3JpdGViYWNrKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOwogdm9pZCAqX19tdXN0X2NoZWNrIGk5MTVfZ2VtX29i amVjdF9waW5fbWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkJCSAgIGVu dW0gaTkxNV9tYXBfdHlwZSB0eXBlKTsKIAordm9pZCAqX19tdXN0X2NoZWNrIGk5MTVfZ2VtX29i amVjdF9waW5fbWFwX3VubG9ja2VkKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCisJ CQkJCQkgICAgZW51bSBpOTE1X21hcF90eXBlIHR5cGUpOworCiB2b2lkIF9faTkxNV9nZW1fb2Jq ZWN0X2ZsdXNoX21hcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJCSB1bnNp Z25lZCBsb25nIG9mZnNldCwKIAkJCQkgdW5zaWduZWQgbG9uZyBzaXplKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BhZ2VzLmMKaW5kZXggZTk0N2Q0YzBkYTFmLi5hMjQ2MTdh ZjNjOTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdl cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jCkBAIC00 MDAsNiArNDAwLDE4IEBAIHZvaWQgKmk5MTVfZ2VtX29iamVjdF9waW5fbWFwKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJZ290byBvdXRfdW5sb2NrOwogfQogCit2b2lkICppOTE1 X2dlbV9vYmplY3RfcGluX21hcF91bmxvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqLAorCQkJCSAgICAgICBlbnVtIGk5MTVfbWFwX3R5cGUgdHlwZSkKK3sKKwl2b2lkICpyZXQ7 CisKKwlpOTE1X2dlbV9vYmplY3RfbG9jayhvYmosIE5VTEwpOworCXJldCA9IGk5MTVfZ2VtX29i amVjdF9waW5fbWFwKG9iaiwgdHlwZSk7CisJaTkxNV9nZW1fb2JqZWN0X3VubG9jayhvYmopOwor CisJcmV0dXJuIHJldDsKK30KKwogdm9pZCBfX2k5MTVfZ2VtX29iamVjdF9mbHVzaF9tYXAoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCQkgdW5zaWduZWQgbG9uZyBvZmZzZXQs CiAJCQkJIHVuc2lnbmVkIGxvbmcgc2l6ZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L3NlbGZ0ZXN0X3dvcmthcm91bmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9z ZWxmdGVzdF93b3JrYXJvdW5kcy5jCmluZGV4IGRlNjEzNmJkMTBhYy4uYTUwODYxNGIyZmQ1IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF93b3JrYXJvdW5kcy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3dvcmthcm91bmRzLmMKQEAg LTEwMywxNSArMTAzLDEzIEBAIHJlYWRfbm9ucHJpdnMoc3RydWN0IGludGVsX2NvbnRleHQgKmNl LCBzdHJ1Y3QgaTkxNV92bWEgKnJlc3VsdCkKIAlpbnQgZXJyOwogCWludCBpOwogCi0JcnEgPSBp bnRlbF9jb250ZXh0X2NyZWF0ZV9yZXF1ZXN0KGNlKTsKKwlycSA9IGk5MTVfcmVxdWVzdF9jcmVh dGUoY2UpOwogCWlmIChJU19FUlIocnEpKQogCQlyZXR1cm4gcnE7CiAKLQlpOTE1X3ZtYV9sb2Nr KHJlc3VsdCk7CiAJZXJyID0gaTkxNV9yZXF1ZXN0X2F3YWl0X29iamVjdChycSwgcmVzdWx0LT5v YmosIHRydWUpOwogCWlmIChlcnIgPT0gMCkKIAkJZXJyID0gaTkxNV92bWFfbW92ZV90b19hY3Rp dmUocmVzdWx0LCBycSwgRVhFQ19PQkpFQ1RfV1JJVEUpOwotCWk5MTVfdm1hX3VubG9jayhyZXN1 bHQpOwogCWlmIChlcnIpCiAJCWdvdG8gZXJyX3JxOwogCkBAIC0xNzYsMTAgKzE3NCwxMSBAQCBz dGF0aWMgaW50IGNoZWNrX3doaXRlbGlzdChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCiAJdTMy ICp2YWRkcjsKIAlpbnQgaTsKIAotCXJlc3VsdCA9IF9fdm1fY3JlYXRlX3NjcmF0Y2hfZm9yX3Jl YWQoJmVuZ2luZS0+Z3QtPmdndHQtPnZtLCBQQUdFX1NJWkUpOworCXJlc3VsdCA9IF9fdm1fY3Jl YXRlX3NjcmF0Y2hfZm9yX3JlYWRfcGlubmVkKCZlbmdpbmUtPmd0LT5nZ3R0LT52bSwgUEFHRV9T SVpFKTsKIAlpZiAoSVNfRVJSKHJlc3VsdCkpCiAJCXJldHVybiBQVFJfRVJSKHJlc3VsdCk7CiAK KwlpOTE1X2dlbV9vYmplY3RfbG9jayhyZXN1bHQtPm9iaiwgTlVMTCk7CiAJdmFkZHIgPSBpOTE1 X2dlbV9vYmplY3RfcGluX21hcChyZXN1bHQtPm9iaiwgSTkxNV9NQVBfV0IpOwogCWlmIChJU19F UlIodmFkZHIpKSB7CiAJCWVyciA9IFBUUl9FUlIodmFkZHIpOwpAQCAtMjE5LDYgKzIxOCw4IEBA IHN0YXRpYyBpbnQgY2hlY2tfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKIG91 dF9tYXA6CiAJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChyZXN1bHQtPm9iaik7CiBvdXRfcHV0 OgorCWk5MTVfdm1hX3VucGluKHJlc3VsdCk7CisJaTkxNV9nZW1fb2JqZWN0X3VubG9jayhyZXN1 bHQtPm9iaik7CiAJaTkxNV92bWFfcHV0KHJlc3VsdCk7CiAJcmV0dXJuIGVycjsKIH0KQEAgLTI3 OSwxMCArMjgwLDE0IEBAIHN0YXRpYyBpbnQgY2hlY2tfd2hpdGVsaXN0X2Fjcm9zc19yZXNldChz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJaWYgKElTX0VSUihjZSkpCiAJCXJldHVy biBQVFJfRVJSKGNlKTsKIAotCWVyciA9IGlndF9zcGlubmVyX2luaXQoJnNwaW4sIGVuZ2luZS0+ Z3QpOworCWVyciA9IGludGVsX2NvbnRleHRfcGluKGNlKTsKIAlpZiAoZXJyKQogCQlnb3RvIG91 dF9jdHg7CiAKKwllcnIgPSBpZ3Rfc3Bpbm5lcl9pbml0KCZzcGluLCBlbmdpbmUtPmd0KTsKKwlp ZiAoZXJyKQorCQlnb3RvIG91dF91bnBpbjsKKwogCWVyciA9IGNoZWNrX3doaXRlbGlzdChjZSk7 CiAJaWYgKGVycikgewogCQlwcl9lcnIoIkludmFsaWQgd2hpdGVsaXN0ICpiZWZvcmUqICVzIHJl c2V0IVxuIiwgbmFtZSk7CkBAIC0zMTUsNiArMzIwLDEzIEBAIHN0YXRpYyBpbnQgY2hlY2tfd2hp dGVsaXN0X2Fjcm9zc19yZXNldChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJCWVy ciA9IFBUUl9FUlIodG1wKTsKIAkJZ290byBvdXRfc3BpbjsKIAl9CisJZXJyID0gaW50ZWxfY29u dGV4dF9waW4odG1wKTsKKwlpZiAoZXJyKSB7CisJCWludGVsX2NvbnRleHRfcHV0KHRtcCk7CisJ CWdvdG8gb3V0X3NwaW47CisJfQorCisJaW50ZWxfY29udGV4dF91bnBpbihjZSk7CiAJaW50ZWxf Y29udGV4dF9wdXQoY2UpOwogCWNlID0gdG1wOwogCkBAIC0zMjcsNiArMzM5LDggQEAgc3RhdGlj IGludCBjaGVja193aGl0ZWxpc3RfYWNyb3NzX3Jlc2V0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSwKIAogb3V0X3NwaW46CiAJaWd0X3NwaW5uZXJfZmluaSgmc3Bpbik7CitvdXRfdW5w aW46CisJaW50ZWxfY29udGV4dF91bnBpbihjZSk7CiBvdXRfY3R4OgogCWludGVsX2NvbnRleHRf cHV0KGNlKTsKIAlyZXR1cm4gZXJyOwpAQCAtNDc1LDYgKzQ4OSw3IEBAIHN0YXRpYyBpbnQgY2hl Y2tfZGlydHlfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKIAogCWZvciAoaSA9 IDA7IGkgPCBlbmdpbmUtPndoaXRlbGlzdC5jb3VudDsgaSsrKSB7CiAJCXUzMiByZWcgPSBpOTE1 X21taW9fcmVnX29mZnNldChlbmdpbmUtPndoaXRlbGlzdC5saXN0W2ldLnJlZyk7CisJCXN0cnVj dCBpOTE1X2dlbV93d19jdHggd3c7CiAJCXU2NCBhZGRyID0gc2NyYXRjaC0+bm9kZS5zdGFydDsK IAkJc3RydWN0IGk5MTVfcmVxdWVzdCAqcnE7CiAJCXUzMiBzcm0sIGxybSwgcnN2ZDsKQEAgLTQ5 MCw2ICs1MDUsMjkgQEAgc3RhdGljIGludCBjaGVja19kaXJ0eV93aGl0ZWxpc3Qoc3RydWN0IGlu dGVsX2NvbnRleHQgKmNlKQogCiAJCXJvX3JlZyA9IHJvX3JlZ2lzdGVyKHJlZyk7CiAKKwkJaTkx NV9nZW1fd3dfY3R4X2luaXQoJnd3LCBmYWxzZSk7CityZXRyeToKKwkJY3MgPSBOVUxMOworCQll cnIgPSBpOTE1X2dlbV9vYmplY3RfbG9jayhzY3JhdGNoLT5vYmosICZ3dyk7CisJCWlmICghZXJy KQorCQkJZXJyID0gaTkxNV9nZW1fb2JqZWN0X2xvY2soYmF0Y2gtPm9iaiwgJnd3KTsKKwkJaWYg KCFlcnIpCisJCQllcnIgPSBpbnRlbF9jb250ZXh0X3Bpbl93dyhjZSwgJnd3KTsKKwkJaWYgKGVy cikKKwkJCWdvdG8gb3V0OworCisJCWNzID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoYmF0Y2gt Pm9iaiwgSTkxNV9NQVBfV0MpOworCQlpZiAoSVNfRVJSKGNzKSkgeworCQkJZXJyID0gUFRSX0VS Uihjcyk7CisJCQlnb3RvIG91dF9jdHg7CisJCX0KKworCQlyZXN1bHRzID0gaTkxNV9nZW1fb2Jq ZWN0X3Bpbl9tYXAoc2NyYXRjaC0+b2JqLCBJOTE1X01BUF9XQik7CisJCWlmIChJU19FUlIocmVz dWx0cykpIHsKKwkJCWVyciA9IFBUUl9FUlIocmVzdWx0cyk7CisJCQlnb3RvIG91dF91bm1hcF9i YXRjaDsKKwkJfQorCiAJCS8qIENsZWFyIG5vbiBwcml2IGZsYWdzICovCiAJCXJlZyAmPSBSSU5H X0ZPUkNFX1RPX05PTlBSSVZfQUREUkVTU19NQVNLOwogCkBAIC01MDEsMTIgKzUzOSw2IEBAIHN0 YXRpYyBpbnQgY2hlY2tfZGlydHlfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkK IAkJcHJfZGVidWcoIiVzOiBXcml0aW5nIGdhcmJhZ2UgdG8gJXhcbiIsCiAJCQkgZW5naW5lLT5u YW1lLCByZWcpOwogCi0JCWNzID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoYmF0Y2gtPm9iaiwg STkxNV9NQVBfV0MpOwotCQlpZiAoSVNfRVJSKGNzKSkgewotCQkJZXJyID0gUFRSX0VSUihjcyk7 Ci0JCQlnb3RvIG91dF9iYXRjaDsKLQkJfQotCiAJCS8qIFNSTSBvcmlnaW5hbCAqLwogCQkqY3Mr KyA9IHNybTsKIAkJKmNzKysgPSByZWc7CkBAIC01NTMsMTEgKzU4NSwxMiBAQCBzdGF0aWMgaW50 IGNoZWNrX2RpcnR5X3doaXRlbGlzdChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCiAJCWk5MTVf Z2VtX29iamVjdF9mbHVzaF9tYXAoYmF0Y2gtPm9iaik7CiAJCWk5MTVfZ2VtX29iamVjdF91bnBp bl9tYXAoYmF0Y2gtPm9iaik7CiAJCWludGVsX2d0X2NoaXBzZXRfZmx1c2goZW5naW5lLT5ndCk7 CisJCWNzID0gTlVMTDsKIAotCQlycSA9IGludGVsX2NvbnRleHRfY3JlYXRlX3JlcXVlc3QoY2Up OworCQlycSA9IGk5MTVfcmVxdWVzdF9jcmVhdGUoY2UpOwogCQlpZiAoSVNfRVJSKHJxKSkgewog CQkJZXJyID0gUFRSX0VSUihycSk7Ci0JCQlnb3RvIG91dF9iYXRjaDsKKwkJCWdvdG8gb3V0X3Vu bWFwX3NjcmF0Y2g7CiAJCX0KIAogCQlpZiAoZW5naW5lLT5lbWl0X2luaXRfYnJlYWRjcnVtYikg eyAvKiBCZSBuaWNlIGlmIHdlIGhhbmcgKi8KQEAgLTU2NiwyMCArNTk5LDE2IEBAIHN0YXRpYyBp bnQgY2hlY2tfZGlydHlfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKIAkJCQln b3RvIGVycl9yZXF1ZXN0OwogCQl9CiAKLQkJaTkxNV92bWFfbG9jayhiYXRjaCk7CiAJCWVyciA9 IGk5MTVfcmVxdWVzdF9hd2FpdF9vYmplY3QocnEsIGJhdGNoLT5vYmosIGZhbHNlKTsKIAkJaWYg KGVyciA9PSAwKQogCQkJZXJyID0gaTkxNV92bWFfbW92ZV90b19hY3RpdmUoYmF0Y2gsIHJxLCAw KTsKLQkJaTkxNV92bWFfdW5sb2NrKGJhdGNoKTsKIAkJaWYgKGVycikKIAkJCWdvdG8gZXJyX3Jl cXVlc3Q7CiAKLQkJaTkxNV92bWFfbG9jayhzY3JhdGNoKTsKIAkJZXJyID0gaTkxNV9yZXF1ZXN0 X2F3YWl0X29iamVjdChycSwgc2NyYXRjaC0+b2JqLCB0cnVlKTsKIAkJaWYgKGVyciA9PSAwKQog CQkJZXJyID0gaTkxNV92bWFfbW92ZV90b19hY3RpdmUoc2NyYXRjaCwgcnEsCiAJCQkJCQkgICAg ICBFWEVDX09CSkVDVF9XUklURSk7Ci0JCWk5MTVfdm1hX3VubG9jayhzY3JhdGNoKTsKIAkJaWYg KGVycikKIAkJCWdvdG8gZXJyX3JlcXVlc3Q7CiAKQEAgLTU5NSwxMyArNjI0LDcgQEAgc3RhdGlj IGludCBjaGVja19kaXJ0eV93aGl0ZWxpc3Qoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQogCQkJ cHJfZXJyKCIlczogRnV0emluZyAleCB0aW1lZG91dDsgY2FuY2VsbGluZyB0ZXN0XG4iLAogCQkJ ICAgICAgIGVuZ2luZS0+bmFtZSwgcmVnKTsKIAkJCWludGVsX2d0X3NldF93ZWRnZWQoZW5naW5l LT5ndCk7Ci0JCQlnb3RvIG91dF9iYXRjaDsKLQkJfQotCi0JCXJlc3VsdHMgPSBpOTE1X2dlbV9v YmplY3RfcGluX21hcChzY3JhdGNoLT5vYmosIEk5MTVfTUFQX1dCKTsKLQkJaWYgKElTX0VSUihy ZXN1bHRzKSkgewotCQkJZXJyID0gUFRSX0VSUihyZXN1bHRzKTsKLQkJCWdvdG8gb3V0X2JhdGNo OworCQkJZ290byBvdXRfdW5tYXBfc2NyYXRjaDsKIAkJfQogCiAJCUdFTV9CVUdfT04odmFsdWVz W0FSUkFZX1NJWkUodmFsdWVzKSAtIDFdICE9IDB4ZmZmZmZmZmYpOwpAQCAtNjEyLDcgKzYzNSw3 IEBAIHN0YXRpYyBpbnQgY2hlY2tfZGlydHlfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjZSkKIAkJCQlwcl9lcnIoIiVzOiBVbmFibGUgdG8gd3JpdGUgdG8gd2hpdGVsaXN0ZWQgcmVn aXN0ZXIgJXhcbiIsCiAJCQkJICAgICAgIGVuZ2luZS0+bmFtZSwgcmVnKTsKIAkJCQllcnIgPSAt RUlOVkFMOwotCQkJCWdvdG8gb3V0X3VucGluOworCQkJCWdvdG8gb3V0X3VubWFwX3NjcmF0Y2g7 CiAJCQl9CiAJCX0gZWxzZSB7CiAJCQlyc3ZkID0gMDsKQEAgLTY3OCwxNSArNzAxLDI3IEBAIHN0 YXRpYyBpbnQgY2hlY2tfZGlydHlfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkK IAogCQkJZXJyID0gLUVJTlZBTDsKIAkJfQotb3V0X3VucGluOgorb3V0X3VubWFwX3NjcmF0Y2g6 CiAJCWk5MTVfZ2VtX29iamVjdF91bnBpbl9tYXAoc2NyYXRjaC0+b2JqKTsKK291dF91bm1hcF9i YXRjaDoKKwkJaWYgKGNzKQorCQkJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChiYXRjaC0+b2Jq KTsKK291dF9jdHg6CisJCWludGVsX2NvbnRleHRfdW5waW4oY2UpOworb3V0OgorCQlpZiAoZXJy ID09IC1FREVBRExLKSB7CisJCQllcnIgPSBpOTE1X2dlbV93d19jdHhfYmFja29mZigmd3cpOwor CQkJaWYgKCFlcnIpCisJCQkJZ290byByZXRyeTsKKwkJfQorCQlpOTE1X2dlbV93d19jdHhfZmlu aSgmd3cpOwogCQlpZiAoZXJyKQogCQkJYnJlYWs7CiAJfQogCiAJaWYgKGlndF9mbHVzaF90ZXN0 KGVuZ2luZS0+aTkxNSkpCiAJCWVyciA9IC1FSU87Ci1vdXRfYmF0Y2g6CisKIAlpOTE1X3ZtYV91 bnBpbl9hbmRfcmVsZWFzZSgmYmF0Y2gsIDApOwogb3V0X3NjcmF0Y2g6CiAJaTkxNV92bWFfdW5w aW5fYW5kX3JlbGVhc2UoJnNjcmF0Y2gsIDApOwpAQCAtODIwLDcgKzg1NSw3IEBAIHN0YXRpYyBp bnQgc2NydWJfd2hpdGVsaXN0ZWRfcmVnaXN0ZXJzKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkK IAlpZiAoSVNfRVJSKGJhdGNoKSkKIAkJcmV0dXJuIFBUUl9FUlIoYmF0Y2gpOwogCi0JY3MgPSBp OTE1X2dlbV9vYmplY3RfcGluX21hcChiYXRjaC0+b2JqLCBJOTE1X01BUF9XQyk7CisJY3MgPSBp OTE1X2dlbV9vYmplY3RfcGluX21hcF91bmxvY2tlZChiYXRjaC0+b2JqLCBJOTE1X01BUF9XQyk7 CiAJaWYgKElTX0VSUihjcykpIHsKIAkJZXJyID0gUFRSX0VSUihjcyk7CiAJCWdvdG8gZXJyX2Jh dGNoOwpAQCAtOTU1LDExICs5OTAsMTEgQEAgY2hlY2tfd2hpdGVsaXN0ZWRfcmVnaXN0ZXJzKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAl1MzIgKmEsICpiOwogCWludCBpLCBlcnI7 CiAKLQlhID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoQS0+b2JqLCBJOTE1X01BUF9XQik7CisJ YSA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwX3VubG9ja2VkKEEtPm9iaiwgSTkxNV9NQVBfV0Ip OwogCWlmIChJU19FUlIoYSkpCiAJCXJldHVybiBQVFJfRVJSKGEpOwogCi0JYiA9IGk5MTVfZ2Vt X29iamVjdF9waW5fbWFwKEItPm9iaiwgSTkxNV9NQVBfV0IpOworCWIgPSBpOTE1X2dlbV9vYmpl Y3RfcGluX21hcF91bmxvY2tlZChCLT5vYmosIEk5MTVfTUFQX1dCKTsKIAlpZiAoSVNfRVJSKGIp KSB7CiAJCWVyciA9IFBUUl9FUlIoYik7CiAJCWdvdG8gZXJyX2E7Ci0tIAoyLjMxLjAKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=