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.7 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 859A4C2D0E4 for ; Fri, 27 Nov 2020 12:08:59 +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 35D3421D81 for ; Fri, 27 Nov 2020 12:08:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 35D3421D81 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=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 5B8596EC29; Fri, 27 Nov 2020 12:08:27 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3E5A26EC29; Fri, 27 Nov 2020 12:08:25 +0000 (UTC) IronPort-SDR: zjbZarXNUkEgosv0Ka412FbXkYN8mEhwWfiEx1krLCF0ILdOhF3D3TUB3gt/SP8UVgYvPEQifi TlLRRzWwgejQ== X-IronPort-AV: E=McAfee;i="6000,8403,9817"; a="168883434" X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="168883434" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 04:08:24 -0800 IronPort-SDR: 9y9qBI5tE93l1gLYJ5uM66LCjVT4DVG1Vb1lgqhll/GKHhkk8DuQkje8g20vXzPAqrLCDqn1H+ bbNwdXlCzibQ== X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="548028707" Received: from mjgleeso-mobl.ger.corp.intel.com (HELO mwauld-desk1.ger.corp.intel.com) ([10.251.85.2]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 04:08:21 -0800 From: Matthew Auld To: intel-gfx@lists.freedesktop.org Subject: [RFC PATCH 031/162] drm/i915: Pass ww ctx to intel_pin_to_display_plane Date: Fri, 27 Nov 2020 12:05:07 +0000 Message-Id: <20201127120718.454037-32-matthew.auld@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201127120718.454037-1-matthew.auld@intel.com> References: <20201127120718.454037-1-matthew.auld@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: dri-devel@lists.freedesktop.org, =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KCkluc3RlYWQgb2YgbXVsdGlwbGUgbG9ja2luZ3MsIGxvY2sgdGhlIG9iamVjdCBvbmNlLAph bmQgcGVyZm9ybSB0aGUgd3cgZGFuY2UgYXJvdW5kIGF0dGFjaF9waHlzIGFuZCBwaW5fcGFnZXMu CgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGlu dXguaW50ZWwuY29tPgpDYzogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy5oZWxsc3Ryb21AbGlu dXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlz cGxheS5jICB8IDY5ICsrKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheS5oICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2ZiZGV2LmMgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9vdmVybGF5LmMgIHwgMzQgKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fZG9tYWluLmMgICAgfCAzMCArKy0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX3BoeXMuYyAgICAgIHwgMTAgKy0tCiAuLi4vZHJtL2k5MTUvZ2VtL3NlbGZ0 ZXN0cy9pOTE1X2dlbV9waHlzLmMgICAgfCAgMiArCiA4IGZpbGVzIGNoYW5nZWQsIDg2IGluc2Vy dGlvbnMoKyksIDY0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggZjM2OTIxYTNjNGJjLi44YTc5NDVmNTUyNzggMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCkBAIC0yMjMyLDYg KzIyMzIsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9wbGFuZV91c2VzX2ZlbmNlKGNvbnN0IHN0cnVj dCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCiAKIHN0cnVjdCBpOTE1X3ZtYSAqCiBp bnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKKwkJ CSAgIGJvb2wgcGh5c19jdXJzb3IsCiAJCQkgICBjb25zdCBzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcg KnZpZXcsCiAJCQkgICBib29sIHVzZXNfZmVuY2UsCiAJCQkgICB1bnNpZ25lZCBsb25nICpvdXRf ZmxhZ3MpCkBAIC0yMjQwLDE0ICsyMjQxLDE5IEBAIGludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2Jq KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq ID0gaW50ZWxfZmJfb2JqKGZiKTsKIAlpbnRlbF93YWtlcmVmX3Qgd2FrZXJlZjsKKwlzdHJ1Y3Qg aTkxNV9nZW1fd3dfY3R4IHd3OwogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwogCXVuc2lnbmVkIGlu dCBwaW5jdGw7CiAJdTMyIGFsaWdubWVudDsKKwlpbnQgcmV0OwogCiAJaWYgKGRybV9XQVJOX09O KGRldiwgIWk5MTVfZ2VtX29iamVjdF9pc19mcmFtZWJ1ZmZlcihvYmopKSkKIAkJcmV0dXJuIEVS Ul9QVFIoLUVJTlZBTCk7CiAKLQlhbGlnbm1lbnQgPSBpbnRlbF9zdXJmX2FsaWdubWVudChmYiwg MCk7CisJaWYgKHBoeXNfY3Vyc29yKQorCQlhbGlnbm1lbnQgPSBpbnRlbF9jdXJzb3JfYWxpZ25t ZW50KGRldl9wcml2KTsKKwllbHNlCisJCWFsaWdubWVudCA9IGludGVsX3N1cmZfYWxpZ25tZW50 KGZiLCAwKTsKIAlpZiAoZHJtX1dBUk5fT04oZGV2LCBhbGlnbm1lbnQgJiYgIWlzX3Bvd2VyX29m XzIoYWxpZ25tZW50KSkpCiAJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwogCkBAIC0yMjgyLDE0 ICsyMjg4LDI2IEBAIGludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKHN0cnVjdCBkcm1fZnJhbWVi dWZmZXIgKmZiLAogCWlmIChIQVNfR01DSChkZXZfcHJpdikpCiAJCXBpbmN0bCB8PSBQSU5fTUFQ UEFCTEU7CiAKLQl2bWEgPSBpOTE1X2dlbV9vYmplY3RfcGluX3RvX2Rpc3BsYXlfcGxhbmUob2Jq LAotCQkJCQkJICAgYWxpZ25tZW50LCB2aWV3LCBwaW5jdGwpOwotCWlmIChJU19FUlIodm1hKSkK KwlpOTE1X2dlbV93d19jdHhfaW5pdCgmd3csIHRydWUpOworcmV0cnk6CisJcmV0ID0gaTkxNV9n ZW1fb2JqZWN0X2xvY2sob2JqLCAmd3cpOworCWlmICghcmV0ICYmIHBoeXNfY3Vyc29yKQorCQly ZXQgPSBpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMob2JqLCBhbGlnbm1lbnQpOworCWlmICgh cmV0KQorCQlyZXQgPSBpOTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzKG9iaik7CisJaWYgKHJldCkK IAkJZ290byBlcnI7CiAKLQlpZiAodXNlc19mZW5jZSAmJiBpOTE1X3ZtYV9pc19tYXBfYW5kX2Zl bmNlYWJsZSh2bWEpKSB7Ci0JCWludCByZXQ7CisJaWYgKCFyZXQpIHsKKwkJdm1hID0gaTkxNV9n ZW1fb2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKG9iaiwgJnd3LCBhbGlnbm1lbnQsCisJCQkJ CQkJICAgdmlldywgcGluY3RsKTsKKwkJaWYgKElTX0VSUih2bWEpKSB7CisJCQlyZXQgPSBQVFJf RVJSKHZtYSk7CisJCQlnb3RvIGVycl91bnBpbjsKKwkJfQorCX0KIAorCWlmICh1c2VzX2ZlbmNl ICYmIGk5MTVfdm1hX2lzX21hcF9hbmRfZmVuY2VhYmxlKHZtYSkpIHsKIAkJLyoKIAkJICogSW5z dGFsbCBhIGZlbmNlIGZvciB0aWxlZCBzY2FuLW91dC4gUHJlLWk5NjUgYWx3YXlzIG5lZWRzIGEK IAkJICogZmVuY2UsIHdoZXJlYXMgOTY1KyBvbmx5IHJlcXVpcmVzIGEgZmVuY2UgaWYgdXNpbmcK QEAgLTIzMTAsMTYgKzIzMjgsMjggQEAgaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCXJldCA9IGk5MTVfdm1hX3Bpbl9mZW5jZSh2bWEpOwog CQlpZiAocmV0ICE9IDAgJiYgSU5URUxfR0VOKGRldl9wcml2KSA8IDQpIHsKIAkJCWk5MTVfZ2Vt X29iamVjdF91bnBpbl9mcm9tX2Rpc3BsYXlfcGxhbmUodm1hKTsKLQkJCXZtYSA9IEVSUl9QVFIo cmV0KTsKLQkJCWdvdG8gZXJyOworCQkJZ290byBlcnJfdW5waW47CiAJCX0KKwkJcmV0ID0gMDsK IAotCQlpZiAocmV0ID09IDAgJiYgdm1hLT5mZW5jZSkKKwkJaWYgKHZtYS0+ZmVuY2UpCiAJCQkq b3V0X2ZsYWdzIHw9IFBMQU5FX0hBU19GRU5DRTsKIAl9CiAKIAlpOTE1X3ZtYV9nZXQodm1hKTsK KworZXJyX3VucGluOgorCWk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhvYmopOwogZXJyOgor CWlmIChyZXQgPT0gLUVERUFETEspIHsKKwkJcmV0ID0gaTkxNV9nZW1fd3dfY3R4X2JhY2tvZmYo Jnd3KTsKKwkJaWYgKCFyZXQpCisJCQlnb3RvIHJldHJ5OworCX0KKwlpOTE1X2dlbV93d19jdHhf ZmluaSgmd3cpOworCWlmIChyZXQpCisJCXZtYSA9IEVSUl9QVFIocmV0KTsKKwogCWF0b21pY19k ZWMoJmRldl9wcml2LT5ncHVfZXJyb3IucGVuZGluZ19mYl9waW4pOwogCWludGVsX3J1bnRpbWVf cG1fcHV0KCZkZXZfcHJpdi0+cnVudGltZV9wbSwgd2FrZXJlZik7CiAJcmV0dXJuIHZtYTsKQEAg LTE2NjI2LDE5ICsxNjY1NiwxMSBAQCBzdGF0aWMgaW50IGludGVsX3BsYW5lX3Bpbl9mYihzdHJ1 Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUocGxhbmUtPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICpmYiA9IHBsYW5lX3N0YXRlLT5ody5mYjsKIAlzdHJ1Y3QgaTkxNV92bWEgKnZt YTsKKwlib29sIHBoeXNfY3Vyc29yID0KKwkJcGxhbmUtPmlkID09IFBMQU5FX0NVUlNPUiAmJgor CQlJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheS5jdXJzb3JfbmVlZHNfcGh5c2ljYWw7CiAK LQlpZiAocGxhbmUtPmlkID09IFBMQU5FX0NVUlNPUiAmJgotCSAgICBJTlRFTF9JTkZPKGRldl9w cml2KS0+ZGlzcGxheS5jdXJzb3JfbmVlZHNfcGh5c2ljYWwpIHsKLQkJc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2ZiX29iaihmYik7Ci0JCWNvbnN0IGludCBhbGlnbiA9 IGludGVsX2N1cnNvcl9hbGlnbm1lbnQoZGV2X3ByaXYpOwotCQlpbnQgZXJyOwotCi0JCWVyciA9 IGk5MTVfZ2VtX29iamVjdF9hdHRhY2hfcGh5cyhvYmosIGFsaWduKTsKLQkJaWYgKGVycikKLQkJ CXJldHVybiBlcnI7Ci0JfQotCi0Jdm1hID0gaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooZmIs CisJdm1hID0gaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooZmIsIHBoeXNfY3Vyc29yLAogCQkJ CQkgJnBsYW5lX3N0YXRlLT52aWV3LAogCQkJCQkgaW50ZWxfcGxhbmVfdXNlc19mZW5jZShwbGFu ZV9zdGF0ZSksCiAJCQkJCSAmcGxhbmVfc3RhdGUtPmZsYWdzKTsKQEAgLTE2NzM0LDEzICsxNjc1 Niw4IEBAIGludGVsX3ByZXBhcmVfcGxhbmVfZmIoc3RydWN0IGRybV9wbGFuZSAqX3BsYW5lLAog CWlmICghb2JqKQogCQlyZXR1cm4gMDsKIAotCXJldCA9IGk5MTVfZ2VtX29iamVjdF9waW5fcGFn ZXMob2JqKTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OwogCiAJcmV0ID0gaW50ZWxfcGxhbmVf cGluX2ZiKG5ld19wbGFuZV9zdGF0ZSk7Ci0KLQlpOTE1X2dlbV9vYmplY3RfdW5waW5fcGFnZXMo b2JqKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5oCmluZGV4IDVlMGQ0MmQ4MmMxMS4uNWY1ZTYzMmUyMTZi IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXku aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuaApAQCAt NTY5LDcgKzU2OSw3IEBAIHZvaWQgaW50ZWxfcmVsZWFzZV9sb2FkX2RldGVjdF9waXBlKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQkJICAgIHN0cnVjdCBpbnRlbF9sb2FkX2Rl dGVjdF9waXBlICpvbGQsCiAJCQkJICAgIHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAq Y3R4KTsKIHN0cnVjdCBpOTE1X3ZtYSAqCi1pbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKK2ludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKHN0cnVj dCBkcm1fZnJhbWVidWZmZXIgKmZiLCBib29sIHBoeXNfY3Vyc29yLAogCQkJICAgY29uc3Qgc3Ry dWN0IGk5MTVfZ2d0dF92aWV3ICp2aWV3LAogCQkJICAgYm9vbCB1c2VzX2ZlbmNlLAogCQkJICAg dW5zaWduZWQgbG9uZyAqb3V0X2ZsYWdzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZmJkZXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZmJkZXYuYwppbmRleCA4NDJjMDRlNjMyMTQuLmJkZjQ0ZTkyM2NjMCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmRldi5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZmJkZXYuYwpAQCAtMjExLDcgKzIxMSw3IEBA IHN0YXRpYyBpbnQgaW50ZWxmYl9jcmVhdGUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlciwK IAkgKiBUaGlzIGFsc28gdmFsaWRhdGVzIHRoYXQgYW55IGV4aXN0aW5nIGZiIGluaGVyaXRlZCBm cm9tIHRoZQogCSAqIEJJT1MgaXMgc3VpdGFibGUgZm9yIG93biBhY2Nlc3MuCiAJICovCi0Jdm1h ID0gaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooJmlmYmRldi0+ZmItPmJhc2UsCisJdm1hID0g aW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooJmlmYmRldi0+ZmItPmJhc2UsIGZhbHNlLAogCQkJ CQkgJnZpZXcsIGZhbHNlLCAmZmxhZ3MpOwogCWlmIChJU19FUlIodm1hKSkgewogCQlyZXQgPSBQ VFJfRVJSKHZtYSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX292ZXJsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfb3Zlcmxh eS5jCmluZGV4IDUyYjRmNjE5M2I0Yy4uOWNmNjM0Y2M3MDg0IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX292ZXJsYXkuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX292ZXJsYXkuYwpAQCAtNzU1LDYgKzc1NSwzMiBAQCBzdGF0 aWMgdTMyIG92ZXJsYXlfY21kX3JlZyhzdHJ1Y3QgZHJtX2ludGVsX292ZXJsYXlfcHV0X2ltYWdl ICpwYXJhbXMpCiAJcmV0dXJuIGNtZDsKIH0KIAorc3RhdGljIHN0cnVjdCBpOTE1X3ZtYSAqaW50 ZWxfb3ZlcmxheV9waW5fZmIoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm5ld19ibykKK3sK KwlzdHJ1Y3QgaTkxNV9nZW1fd3dfY3R4IHd3OworCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOworCWlu dCByZXQ7CisKKwlpOTE1X2dlbV93d19jdHhfaW5pdCgmd3csIHRydWUpOworcmV0cnk6CisJcmV0 ID0gaTkxNV9nZW1fb2JqZWN0X2xvY2sobmV3X2JvLCAmd3cpOworCWlmICghcmV0KSB7CisJCXZt YSA9IGk5MTVfZ2VtX29iamVjdF9waW5fdG9fZGlzcGxheV9wbGFuZShuZXdfYm8sICZ3dywgMCwK KwkJCQkJCQkgICBOVUxMLCBQSU5fTUFQUEFCTEUpOworCQlyZXQgPSBQVFJfRVJSX09SX1pFUk8o dm1hKTsKKwl9CisJaWYgKHJldCA9PSAtRURFQURMSykgeworCQlyZXQgPSBpOTE1X2dlbV93d19j dHhfYmFja29mZigmd3cpOworCQlpZiAoIXJldCkKKwkJCWdvdG8gcmV0cnk7CisJfQorCWk5MTVf Z2VtX3d3X2N0eF9maW5pKCZ3dyk7CisJaWYgKHJldCkKKwkJcmV0dXJuIEVSUl9QVFIocmV0KTsK KworCXJldHVybiB2bWE7Cit9CisKIHN0YXRpYyBpbnQgaW50ZWxfb3ZlcmxheV9kb19wdXRfaW1h Z2Uoc3RydWN0IGludGVsX292ZXJsYXkgKm92ZXJsYXksCiAJCQkJICAgICAgc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm5ld19ibywKIAkJCQkgICAgICBzdHJ1Y3QgZHJtX2ludGVsX292ZXJs YXlfcHV0X2ltYWdlICpwYXJhbXMpCkBAIC03NzYsMTIgKzgwMiwxMCBAQCBzdGF0aWMgaW50IGlu dGVsX292ZXJsYXlfZG9fcHV0X2ltYWdlKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5LAog CiAJYXRvbWljX2luYygmZGV2X3ByaXYtPmdwdV9lcnJvci5wZW5kaW5nX2ZiX3Bpbik7CiAKLQl2 bWEgPSBpOTE1X2dlbV9vYmplY3RfcGluX3RvX2Rpc3BsYXlfcGxhbmUobmV3X2JvLAotCQkJCQkJ ICAgMCwgTlVMTCwgUElOX01BUFBBQkxFKTsKLQlpZiAoSVNfRVJSKHZtYSkpIHsKLQkJcmV0ID0g UFRSX0VSUih2bWEpOworCXZtYSA9IGludGVsX292ZXJsYXlfcGluX2ZiKG5ld19ibyk7CisJaWYg KElTX0VSUih2bWEpKQogCQlnb3RvIG91dF9waW5fc2VjdGlvbjsKLQl9CisKIAlpOTE1X2dlbV9v YmplY3RfZmx1c2hfZnJvbnRidWZmZXIobmV3X2JvLCBPUklHSU5fRElSVFlGQik7CiAKIAlpZiAo IW92ZXJsYXktPmFjdGl2ZSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX2RvbWFpbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2Rv bWFpbi5jCmluZGV4IGMxZDRiZjYyYjNlYS4uNTFhMzNjNGY2MWQwIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG9tYWluLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2RvbWFpbi5jCkBAIC0zMTMsMTIgKzMxMywxMiBAQCBpbnQg aTkxNV9nZW1fc2V0X2NhY2hpbmdfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKICAqLwogc3RydWN0IGk5MTVfdm1hICoKIGk5MTVfZ2VtX29iamVjdF9waW5fdG9fZGlz cGxheV9wbGFuZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJCSAgICAgc3Ry dWN0IGk5MTVfZ2VtX3d3X2N0eCAqd3csCiAJCQkJICAgICB1MzIgYWxpZ25tZW50LAogCQkJCSAg ICAgY29uc3Qgc3RydWN0IGk5MTVfZ2d0dF92aWV3ICp2aWV3LAogCQkJCSAgICAgdW5zaWduZWQg aW50IGZsYWdzKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShv YmotPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaTkxNV9nZW1fd3dfY3R4IHd3OwogCXN0cnVjdCBpOTE1 X3ZtYSAqdm1hOwogCWludCByZXQ7CiAKQEAgLTMyNiwxMSArMzI2LDYgQEAgaTkxNV9nZW1fb2Jq ZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmos CiAJaWYgKEhBU19MTUVNKGk5MTUpICYmICFpOTE1X2dlbV9vYmplY3RfaXNfbG1lbShvYmopKQog CQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKIAotCWk5MTVfZ2VtX3d3X2N0eF9pbml0KCZ3dywg dHJ1ZSk7Ci1yZXRyeToKLQlyZXQgPSBpOTE1X2dlbV9vYmplY3RfbG9jayhvYmosICZ3dyk7Ci0J aWYgKHJldCkKLQkJZ290byBlcnI7CiAJLyoKIAkgKiBUaGUgZGlzcGxheSBlbmdpbmUgaXMgbm90 IGNvaGVyZW50IHdpdGggdGhlIExMQyBjYWNoZSBvbiBnZW42LiAgQXMKIAkgKiBhIHJlc3VsdCwg d2UgbWFrZSBzdXJlIHRoYXQgdGhlIHBpbm5pbmcgdGhhdCBpcyBhYm91dCB0byBvY2N1ciBpcwpA QCAtMzQ1LDcgKzM0MCw3IEBAIGk5MTVfZ2VtX29iamVjdF9waW5fdG9fZGlzcGxheV9wbGFuZShz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJCQkgICAgICBIQVNfV1QoaTkxNSkg PwogCQkJCQkgICAgICBJOTE1X0NBQ0hFX1dUIDogSTkxNV9DQUNIRV9OT05FKTsKIAlpZiAocmV0 KQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIEVSUl9QVFIocmV0KTsKIAogCS8qCiAJICogQXMgdGhl IHVzZXIgbWF5IG1hcCB0aGUgYnVmZmVyIG9uY2UgcGlubmVkIGluIHRoZSBkaXNwbGF5IHBsYW5l CkBAIC0zNTgsMzIgKzM1MywxOSBAQCBpOTE1X2dlbV9vYmplY3RfcGluX3RvX2Rpc3BsYXlfcGxh bmUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAl2bWEgPSBFUlJfUFRSKC1FTk9T UEMpOwogCWlmICgoZmxhZ3MgJiBQSU5fTUFQUEFCTEUpID09IDAgJiYKIAkgICAgKCF2aWV3IHx8 IHZpZXctPnR5cGUgPT0gSTkxNV9HR1RUX1ZJRVdfTk9STUFMKSkKLQkJdm1hID0gaTkxNV9nZW1f b2JqZWN0X2dndHRfcGluX3d3KG9iaiwgJnd3LCB2aWV3LCAwLCBhbGlnbm1lbnQsCisJCXZtYSA9 IGk5MTVfZ2VtX29iamVjdF9nZ3R0X3Bpbl93dyhvYmosIHd3LCB2aWV3LCAwLCBhbGlnbm1lbnQs CiAJCQkJCQkgIGZsYWdzIHwgUElOX01BUFBBQkxFIHwKIAkJCQkJCSAgUElOX05PTkJMT0NLKTsK IAlpZiAoSVNfRVJSKHZtYSkgJiYgdm1hICE9IEVSUl9QVFIoLUVERUFETEspKQotCQl2bWEgPSBp OTE1X2dlbV9vYmplY3RfZ2d0dF9waW5fd3cob2JqLCAmd3csIHZpZXcsIDAsCisJCXZtYSA9IGk5 MTVfZ2VtX29iamVjdF9nZ3R0X3Bpbl93dyhvYmosIHd3LCB2aWV3LCAwLAogCQkJCQkJICBhbGln bm1lbnQsIGZsYWdzKTsKLQlpZiAoSVNfRVJSKHZtYSkpIHsKLQkJcmV0ID0gUFRSX0VSUih2bWEp OwotCQlnb3RvIGVycjsKLQl9CisJaWYgKElTX0VSUih2bWEpKQorCQlyZXR1cm4gdm1hOwogCiAJ dm1hLT5kaXNwbGF5X2FsaWdubWVudCA9IG1heF90KHU2NCwgdm1hLT5kaXNwbGF5X2FsaWdubWVu dCwgYWxpZ25tZW50KTsKIAogCWk5MTVfZ2VtX29iamVjdF9mbHVzaF9pZl9kaXNwbGF5X2xvY2tl ZChvYmopOwogCi1lcnI6Ci0JaWYgKHJldCA9PSAtRURFQURMSykgewotCQlyZXQgPSBpOTE1X2dl bV93d19jdHhfYmFja29mZigmd3cpOwotCQlpZiAoIXJldCkKLQkJCWdvdG8gcmV0cnk7Ci0JfQot CWk5MTVfZ2VtX3d3X2N0eF9maW5pKCZ3dyk7Ci0KLQlpZiAocmV0KQotCQlyZXR1cm4gRVJSX1BU UihyZXQpOwotCiAJcmV0dXJuIHZtYTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX29iamVjdC5oCmluZGV4IDFiODVmNTFjNmRkZC4uMGZlYzkxYWQ2ZjYyIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCkBAIC00ODksNiArNDg5LDcg QEAgaW50IF9fbXVzdF9jaGVjawogaTkxNV9nZW1fb2JqZWN0X3NldF90b19jcHVfZG9tYWluKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGJvb2wgd3JpdGUpOwogc3RydWN0IGk5MTVf dm1hICogX19tdXN0X2NoZWNrCiBpOTE1X2dlbV9vYmplY3RfcGluX3RvX2Rpc3BsYXlfcGxhbmUo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJCQkgICAgIHN0cnVjdCBpOTE1X2dl bV93d19jdHggKnd3LAogCQkJCSAgICAgdTMyIGFsaWdubWVudCwKIAkJCQkgICAgIGNvbnN0IHN0 cnVjdCBpOTE1X2dndHRfdmlldyAqdmlldywKIAkJCQkgICAgIHVuc2lnbmVkIGludCBmbGFncyk7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BoeXMuYwppbmRleCAwZDE3NmJmMDY0 MDUuLmYzMTdiZTVmNWUzNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX3BoeXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5 cy5jCkBAIC0yMTksNiArMjE5LDggQEAgaW50IGk5MTVfZ2VtX29iamVjdF9hdHRhY2hfcGh5cyhz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCBpbnQgYWxpZ24pCiB7CiAJaW50IGVycjsK IAorCWFzc2VydF9vYmplY3RfaGVsZChvYmopOworCiAJaWYgKGFsaWduID4gb2JqLT5iYXNlLnNp emUpCiAJCXJldHVybiAtRUlOVkFMOwogCkBAIC0yMzIsMTMgKzIzNCw5IEBAIGludCBpOTE1X2dl bV9vYmplY3RfYXR0YWNoX3BoeXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgaW50 IGFsaWduKQogCWlmIChlcnIpCiAJCXJldHVybiBlcnI7CiAKLQllcnIgPSBpOTE1X2dlbV9vYmpl Y3RfbG9ja19pbnRlcnJ1cHRpYmxlKG9iaiwgTlVMTCk7Ci0JaWYgKGVycikKLQkJcmV0dXJuIGVy cjsKLQogCWVyciA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmb2JqLT5tbS5sb2NrKTsKIAlp ZiAoZXJyKQotCQlnb3RvIGVycl91bmxvY2s7CisJCXJldHVybiBlcnI7CiAKIAlpZiAodW5saWtl bHkoIWk5MTVfZ2VtX29iamVjdF9oYXNfc3RydWN0X3BhZ2Uob2JqKSkpCiAJCWdvdG8gb3V0OwpA QCAtMjY5LDggKzI2Nyw2IEBAIGludCBpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgaW50IGFsaWduKQogCiBvdXQ6CiAJbXV0ZXhfdW5s b2NrKCZvYmotPm1tLmxvY2spOwotZXJyX3VubG9jazoKLQlpOTE1X2dlbV9vYmplY3RfdW5sb2Nr KG9iaik7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9waHlzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX3BoeXMuYwppbmRleCAwY2ZhMDgyMDQ3ZmUuLjNhNmNlODdm OGI1MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1 X2dlbV9waHlzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1 X2dlbV9waHlzLmMKQEAgLTMxLDcgKzMxLDkgQEAgc3RhdGljIGludCBtb2NrX3BoeXNfb2JqZWN0 KHZvaWQgKmFyZykKIAkJZ290byBvdXRfb2JqOwogCX0KIAorCWk5MTVfZ2VtX29iamVjdF9sb2Nr KG9iaiwgTlVMTCk7CiAJZXJyID0gaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzKG9iaiwgUEFH RV9TSVpFKTsKKwlpOTE1X2dlbV9vYmplY3RfdW5sb2NrKG9iaik7CiAJaWYgKGVycikgewogCQlw cl9lcnIoImk5MTVfZ2VtX29iamVjdF9hdHRhY2hfcGh5cyBmYWlsZWQsIGVycj0lZFxuIiwgZXJy KTsKIAkJZ290byBvdXRfb2JqOwotLSAKMi4yNi4yCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK