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,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 8614FC433C1 for ; Tue, 23 Mar 2021 15:57:53 +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 46352619D0 for ; Tue, 23 Mar 2021 15:57:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 46352619D0 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 AD98A6EBFE; Tue, 23 Mar 2021 15:57:43 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 84F386EBFD for ; Tue, 23 Mar 2021 15:57:42 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Subject: [PATCH v9 22/70] drm/i915: Pass ww ctx to intel_pin_to_display_plane Date: Tue, 23 Mar 2021 16:50:11 +0100 Message-Id: <20210323155059.628690-23-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" SW5zdGVhZCBvZiBtdWx0aXBsZSBsb2NraW5ncywgbG9jayB0aGUgb2JqZWN0IG9uY2UsCmFuZCBw ZXJmb3JtIHRoZSB3dyBkYW5jZSBhcm91bmQgYXR0YWNoX3BoeXMgYW5kIHBpbl9wYWdlcy4KClNp Z25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5p bnRlbC5jb20+ClJldmlld2VkLWJ5OiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhlbGxzdHJv bUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kaXNwbGF5LmMgIHwgNjkgKysrKysrKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmggIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZmJkZXYuYyAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX292ZXJsYXkuYyAgfCAzNCArKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9kb21haW4uYyAgICB8IDMwICsrLS0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmggICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jICAgICAgfCAxMCArLS0KIC4uLi9kcm0vaTkxNS9nZW0v c2VsZnRlc3RzL2k5MTVfZ2VtX3BoeXMuYyAgICB8ICAyICsKIDggZmlsZXMgY2hhbmdlZCwgODYg aW5zZXJ0aW9ucygrKSwgNjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXkuYwppbmRleCAzNWYyZmM3NzBmNWUuLjU2YjYzNzMxYWY2MCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKQEAgLTEw OTMsNiArMTA5Myw3IEBAIHN0YXRpYyBib29sIGludGVsX3BsYW5lX3VzZXNfZmVuY2UoY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKIAogc3RydWN0IGk5MTVfdm1h ICoKIGludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZi LAorCQkJICAgYm9vbCBwaHlzX2N1cnNvciwKIAkJCSAgIGNvbnN0IHN0cnVjdCBpOTE1X2dndHRf dmlldyAqdmlldywKIAkJCSAgIGJvb2wgdXNlc19mZW5jZSwKIAkJCSAgIHVuc2lnbmVkIGxvbmcg Km91dF9mbGFncykKQEAgLTExMDEsMTQgKzExMDIsMTkgQEAgaW50ZWxfcGluX2FuZF9mZW5jZV9m Yl9vYmooc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmogPSBpbnRlbF9mYl9vYmooZmIpOwogCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOworCXN0 cnVjdCBpOTE1X2dlbV93d19jdHggd3c7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJdW5zaWdu ZWQgaW50IHBpbmN0bDsKIAl1MzIgYWxpZ25tZW50OworCWludCByZXQ7CiAKIAlpZiAoZHJtX1dB Uk5fT04oZGV2LCAhaTkxNV9nZW1fb2JqZWN0X2lzX2ZyYW1lYnVmZmVyKG9iaikpKQogCQlyZXR1 cm4gRVJSX1BUUigtRUlOVkFMKTsKIAotCWFsaWdubWVudCA9IGludGVsX3N1cmZfYWxpZ25tZW50 KGZiLCAwKTsKKwlpZiAocGh5c19jdXJzb3IpCisJCWFsaWdubWVudCA9IGludGVsX2N1cnNvcl9h bGlnbm1lbnQoZGV2X3ByaXYpOworCWVsc2UKKwkJYWxpZ25tZW50ID0gaW50ZWxfc3VyZl9hbGln bm1lbnQoZmIsIDApOwogCWlmIChkcm1fV0FSTl9PTihkZXYsIGFsaWdubWVudCAmJiAhaXNfcG93 ZXJfb2ZfMihhbGlnbm1lbnQpKSkKIAkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiAKQEAgLTEx NDMsMTQgKzExNDksMjYgQEAgaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooc3RydWN0IGRybV9m cmFtZWJ1ZmZlciAqZmIsCiAJaWYgKEhBU19HTUNIKGRldl9wcml2KSkKIAkJcGluY3RsIHw9IFBJ Tl9NQVBQQUJMRTsKIAotCXZtYSA9IGk5MTVfZ2VtX29iamVjdF9waW5fdG9fZGlzcGxheV9wbGFu ZShvYmosCi0JCQkJCQkgICBhbGlnbm1lbnQsIHZpZXcsIHBpbmN0bCk7Ci0JaWYgKElTX0VSUih2 bWEpKQorCWk5MTVfZ2VtX3d3X2N0eF9pbml0KCZ3dywgdHJ1ZSk7CityZXRyeToKKwlyZXQgPSBp OTE1X2dlbV9vYmplY3RfbG9jayhvYmosICZ3dyk7CisJaWYgKCFyZXQgJiYgcGh5c19jdXJzb3Ip CisJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9hdHRhY2hfcGh5cyhvYmosIGFsaWdubWVudCk7CisJ aWYgKCFyZXQpCisJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMob2JqKTsKKwlpZiAo cmV0KQogCQlnb3RvIGVycjsKIAotCWlmICh1c2VzX2ZlbmNlICYmIGk5MTVfdm1hX2lzX21hcF9h bmRfZmVuY2VhYmxlKHZtYSkpIHsKLQkJaW50IHJldDsKKwlpZiAoIXJldCkgeworCQl2bWEgPSBp OTE1X2dlbV9vYmplY3RfcGluX3RvX2Rpc3BsYXlfcGxhbmUob2JqLCAmd3csIGFsaWdubWVudCwK KwkJCQkJCQkgICB2aWV3LCBwaW5jdGwpOworCQlpZiAoSVNfRVJSKHZtYSkpIHsKKwkJCXJldCA9 IFBUUl9FUlIodm1hKTsKKwkJCWdvdG8gZXJyX3VucGluOworCQl9CisJfQogCisJaWYgKHVzZXNf ZmVuY2UgJiYgaTkxNV92bWFfaXNfbWFwX2FuZF9mZW5jZWFibGUodm1hKSkgewogCQkvKgogCQkg KiBJbnN0YWxsIGEgZmVuY2UgZm9yIHRpbGVkIHNjYW4tb3V0LiBQcmUtaTk2NSBhbHdheXMgbmVl ZHMgYQogCQkgKiBmZW5jZSwgd2hlcmVhcyA5NjUrIG9ubHkgcmVxdWlyZXMgYSBmZW5jZSBpZiB1 c2luZwpAQCAtMTE3MSwxNiArMTE4OSwyOCBAQCBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAkJcmV0ID0gaTkxNV92bWFfcGluX2ZlbmNlKHZt YSk7CiAJCWlmIChyZXQgIT0gMCAmJiBJTlRFTF9HRU4oZGV2X3ByaXYpIDwgNCkgewogCQkJaTkx NV92bWFfdW5waW4odm1hKTsKLQkJCXZtYSA9IEVSUl9QVFIocmV0KTsKLQkJCWdvdG8gZXJyOwor CQkJZ290byBlcnJfdW5waW47CiAJCX0KKwkJcmV0ID0gMDsKIAotCQlpZiAocmV0ID09IDAgJiYg dm1hLT5mZW5jZSkKKwkJaWYgKHZtYS0+ZmVuY2UpCiAJCQkqb3V0X2ZsYWdzIHw9IFBMQU5FX0hB U19GRU5DRTsKIAl9CiAKIAlpOTE1X3ZtYV9nZXQodm1hKTsKKworZXJyX3VucGluOgorCWk5MTVf Z2VtX29iamVjdF91bnBpbl9wYWdlcyhvYmopOwogZXJyOgorCWlmIChyZXQgPT0gLUVERUFETEsp IHsKKwkJcmV0ID0gaTkxNV9nZW1fd3dfY3R4X2JhY2tvZmYoJnd3KTsKKwkJaWYgKCFyZXQpCisJ CQlnb3RvIHJldHJ5OworCX0KKwlpOTE1X2dlbV93d19jdHhfZmluaSgmd3cpOworCWlmIChyZXQp CisJCXZtYSA9IEVSUl9QVFIocmV0KTsKKwogCWF0b21pY19kZWMoJmRldl9wcml2LT5ncHVfZXJy b3IucGVuZGluZ19mYl9waW4pOwogCWludGVsX3J1bnRpbWVfcG1fcHV0KCZkZXZfcHJpdi0+cnVu dGltZV9wbSwgd2FrZXJlZik7CiAJcmV0dXJuIHZtYTsKQEAgLTExMzM1LDE5ICsxMTM2NSwxMSBA QCBpbnQgaW50ZWxfcGxhbmVfcGluX2ZiKHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVf c3RhdGUpCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwbGFu ZS0+YmFzZS5kZXYpOwogCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUt Pmh3LmZiOwogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOworCWJvb2wgcGh5c19jdXJzb3IgPQorCQlw bGFuZS0+aWQgPT0gUExBTkVfQ1VSU09SICYmCisJCUlOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNw bGF5LmN1cnNvcl9uZWVkc19waHlzaWNhbDsKIAotCWlmIChwbGFuZS0+aWQgPT0gUExBTkVfQ1VS U09SICYmCi0JICAgIElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5LmN1cnNvcl9uZWVkc19w aHlzaWNhbCkgewotCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gaW50ZWxfZmJf b2JqKGZiKTsKLQkJY29uc3QgaW50IGFsaWduID0gaW50ZWxfY3Vyc29yX2FsaWdubWVudChkZXZf cHJpdik7Ci0JCWludCBlcnI7Ci0KLQkJZXJyID0gaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlz KG9iaiwgYWxpZ24pOwotCQlpZiAoZXJyKQotCQkJcmV0dXJuIGVycjsKLQl9Ci0KLQl2bWEgPSBp bnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihmYiwKKwl2bWEgPSBpbnRlbF9waW5fYW5kX2ZlbmNl X2ZiX29iaihmYiwgcGh5c19jdXJzb3IsCiAJCQkJCSAmcGxhbmVfc3RhdGUtPnZpZXcsCiAJCQkJ CSBpbnRlbF9wbGFuZV91c2VzX2ZlbmNlKHBsYW5lX3N0YXRlKSwKIAkJCQkJICZwbGFuZV9zdGF0 ZS0+ZmxhZ3MpOwpAQCAtMTE0MzYsMTMgKzExNDU4LDggQEAgaW50ZWxfcHJlcGFyZV9wbGFuZV9m YihzdHJ1Y3QgZHJtX3BsYW5lICpfcGxhbmUsCiAJaWYgKCFvYmopCiAJCXJldHVybiAwOwogCi0J cmV0ID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOwotCWlmIChyZXQpCi0JCXJldHVy biByZXQ7CiAKIAlyZXQgPSBpbnRlbF9wbGFuZV9waW5fZmIobmV3X3BsYW5lX3N0YXRlKTsKLQot CWk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhvYmopOwogCWlmIChyZXQpCiAJCXJldHVybiBy ZXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlz cGxheS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmgKaW5k ZXggNDMxNzcwZWVhZGI0Li5mMDU2ZTE5Y2Y1NTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5oCkBAIC01NzMsNyArNTczLDcgQEAgdm9pZCBpbnRlbF9y ZWxlYXNlX2xvYWRfZGV0ZWN0X3BpcGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK IAkJCQkgICAgc3RydWN0IGludGVsX2xvYWRfZGV0ZWN0X3BpcGUgKm9sZCwKIAkJCQkgICAgc3Ry dWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpOwogc3RydWN0IGk5MTVfdm1hICoKLWlu dGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAoraW50 ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGJvb2wg cGh5c19jdXJzb3IsCiAJCQkgICBjb25zdCBzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZpZXcsCiAJ CQkgICBib29sIHVzZXNfZmVuY2UsCiAJCQkgICB1bnNpZ25lZCBsb25nICpvdXRfZmxhZ3MpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmRldi5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmRldi5jCmluZGV4IDA3ZGI4ZTgz Zjk4ZS4uY2NkMDBlNjVhNWZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2ZiZGV2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9mYmRldi5jCkBAIC0yMTEsNyArMjExLDcgQEAgc3RhdGljIGludCBpbnRlbGZiX2NyZWF0ZShz dHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAogCSAqIFRoaXMgYWxzbyB2YWxpZGF0ZXMgdGhh dCBhbnkgZXhpc3RpbmcgZmIgaW5oZXJpdGVkIGZyb20gdGhlCiAJICogQklPUyBpcyBzdWl0YWJs ZSBmb3Igb3duIGFjY2Vzcy4KIAkgKi8KLQl2bWEgPSBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29i aigmaWZiZGV2LT5mYi0+YmFzZSwKKwl2bWEgPSBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaigm aWZiZGV2LT5mYi0+YmFzZSwgZmFsc2UsCiAJCQkJCSAmdmlldywgZmFsc2UsICZmbGFncyk7CiAJ aWYgKElTX0VSUih2bWEpKSB7CiAJCXJldCA9IFBUUl9FUlIodm1hKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfb3ZlcmxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9vdmVybGF5LmMKaW5kZXggZWY4ZjQ0ZjVlNzUxLi40Yjc3 YTIzNDUxZGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf b3ZlcmxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfb3Zlcmxh eS5jCkBAIC03NTUsNiArNzU1LDMyIEBAIHN0YXRpYyB1MzIgb3ZlcmxheV9jbWRfcmVnKHN0cnVj dCBkcm1faW50ZWxfb3ZlcmxheV9wdXRfaW1hZ2UgKnBhcmFtcykKIAlyZXR1cm4gY21kOwogfQog CitzdGF0aWMgc3RydWN0IGk5MTVfdm1hICppbnRlbF9vdmVybGF5X3Bpbl9mYihzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqbmV3X2JvKQoreworCXN0cnVjdCBpOTE1X2dlbV93d19jdHggd3c7 CisJc3RydWN0IGk5MTVfdm1hICp2bWE7CisJaW50IHJldDsKKworCWk5MTVfZ2VtX3d3X2N0eF9p bml0KCZ3dywgdHJ1ZSk7CityZXRyeToKKwlyZXQgPSBpOTE1X2dlbV9vYmplY3RfbG9jayhuZXdf Ym8sICZ3dyk7CisJaWYgKCFyZXQpIHsKKwkJdm1hID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19k aXNwbGF5X3BsYW5lKG5ld19ibywgJnd3LCAwLAorCQkJCQkJCSAgIE5VTEwsIFBJTl9NQVBQQUJM RSk7CisJCXJldCA9IFBUUl9FUlJfT1JfWkVSTyh2bWEpOworCX0KKwlpZiAocmV0ID09IC1FREVB RExLKSB7CisJCXJldCA9IGk5MTVfZ2VtX3d3X2N0eF9iYWNrb2ZmKCZ3dyk7CisJCWlmICghcmV0 KQorCQkJZ290byByZXRyeTsKKwl9CisJaTkxNV9nZW1fd3dfY3R4X2ZpbmkoJnd3KTsKKwlpZiAo cmV0KQorCQlyZXR1cm4gRVJSX1BUUihyZXQpOworCisJcmV0dXJuIHZtYTsKK30KKwogc3RhdGlj IGludCBpbnRlbF9vdmVybGF5X2RvX3B1dF9pbWFnZShzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3Zl cmxheSwKIAkJCQkgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqbmV3X2JvLAogCQkJ CSAgICAgIHN0cnVjdCBkcm1faW50ZWxfb3ZlcmxheV9wdXRfaW1hZ2UgKnBhcmFtcykKQEAgLTc3 NiwxMiArODAyLDEwIEBAIHN0YXRpYyBpbnQgaW50ZWxfb3ZlcmxheV9kb19wdXRfaW1hZ2Uoc3Ry dWN0IGludGVsX292ZXJsYXkgKm92ZXJsYXksCiAKIAlhdG9taWNfaW5jKCZkZXZfcHJpdi0+Z3B1 X2Vycm9yLnBlbmRpbmdfZmJfcGluKTsKIAotCXZtYSA9IGk5MTVfZ2VtX29iamVjdF9waW5fdG9f ZGlzcGxheV9wbGFuZShuZXdfYm8sCi0JCQkJCQkgICAwLCBOVUxMLCBQSU5fTUFQUEFCTEUpOwot CWlmIChJU19FUlIodm1hKSkgewotCQlyZXQgPSBQVFJfRVJSKHZtYSk7CisJdm1hID0gaW50ZWxf b3ZlcmxheV9waW5fZmIobmV3X2JvKTsKKwlpZiAoSVNfRVJSKHZtYSkpCiAJCWdvdG8gb3V0X3Bp bl9zZWN0aW9uOwotCX0KKwogCWk5MTVfZ2VtX29iamVjdF9mbHVzaF9mcm9udGJ1ZmZlcihuZXdf Ym8sIE9SSUdJTl9ESVJUWUZCKTsKIAogCWlmICghb3ZlcmxheS0+YWN0aXZlKSB7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG9tYWluLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG9tYWluLmMKaW5kZXggNzZjYjlmNWM2NmFhLi40 MWRhZTBkODNkYmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dl bV9kb21haW4uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG9tYWlu LmMKQEAgLTMxOCwxMiArMzE4LDEyIEBAIGludCBpOTE1X2dlbV9zZXRfY2FjaGluZ19pb2N0bChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogICovCiBzdHJ1Y3QgaTkxNV92bWEg KgogaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmosCisJCQkJICAgICBzdHJ1Y3QgaTkxNV9nZW1fd3dfY3R4ICp3dywKIAkJ CQkgICAgIHUzMiBhbGlnbm1lbnQsCiAJCQkJICAgICBjb25zdCBzdHJ1Y3QgaTkxNV9nZ3R0X3Zp ZXcgKnZpZXcsCiAJCQkJICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KG9iai0+YmFzZS5kZXYpOwotCXN0cnVjdCBpOTE1 X2dlbV93d19jdHggd3c7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJaW50IHJldDsKIApAQCAt MzMxLDExICszMzEsNiBAQCBpOTE1X2dlbV9vYmplY3RfcGluX3RvX2Rpc3BsYXlfcGxhbmUoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlpZiAoSEFTX0xNRU0oaTkxNSkgJiYgIWk5 MTVfZ2VtX29iamVjdF9pc19sbWVtKG9iaikpCiAJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwog Ci0JaTkxNV9nZW1fd3dfY3R4X2luaXQoJnd3LCB0cnVlKTsKLXJldHJ5OgotCXJldCA9IGk5MTVf Z2VtX29iamVjdF9sb2NrKG9iaiwgJnd3KTsKLQlpZiAocmV0KQotCQlnb3RvIGVycjsKIAkvKgog CSAqIFRoZSBkaXNwbGF5IGVuZ2luZSBpcyBub3QgY29oZXJlbnQgd2l0aCB0aGUgTExDIGNhY2hl IG9uIGdlbjYuICBBcwogCSAqIGEgcmVzdWx0LCB3ZSBtYWtlIHN1cmUgdGhhdCB0aGUgcGlubmlu ZyB0aGF0IGlzIGFib3V0IHRvIG9jY3VyIGlzCkBAIC0zNTAsNyArMzQ1LDcgQEAgaTkxNV9nZW1f b2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCiAJCQkJCSAgICAgIEhBU19XVChpOTE1KSA/CiAJCQkJCSAgICAgIEk5MTVfQ0FDSEVfV1Qg OiBJOTE1X0NBQ0hFX05PTkUpOwogCWlmIChyZXQpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gRVJS X1BUUihyZXQpOwogCiAJLyoKIAkgKiBBcyB0aGUgdXNlciBtYXkgbWFwIHRoZSBidWZmZXIgb25j ZSBwaW5uZWQgaW4gdGhlIGRpc3BsYXkgcGxhbmUKQEAgLTM2MywzMyArMzU4LDIwIEBAIGk5MTVf Z2VtX29iamVjdF9waW5fdG9fZGlzcGxheV9wbGFuZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqLAogCXZtYSA9IEVSUl9QVFIoLUVOT1NQQyk7CiAJaWYgKChmbGFncyAmIFBJTl9NQVBQ QUJMRSkgPT0gMCAmJgogCSAgICAoIXZpZXcgfHwgdmlldy0+dHlwZSA9PSBJOTE1X0dHVFRfVklF V19OT1JNQUwpKQotCQl2bWEgPSBpOTE1X2dlbV9vYmplY3RfZ2d0dF9waW5fd3cob2JqLCAmd3cs IHZpZXcsIDAsIGFsaWdubWVudCwKKwkJdm1hID0gaTkxNV9nZW1fb2JqZWN0X2dndHRfcGluX3d3 KG9iaiwgd3csIHZpZXcsIDAsIGFsaWdubWVudCwKIAkJCQkJCSAgZmxhZ3MgfCBQSU5fTUFQUEFC TEUgfAogCQkJCQkJICBQSU5fTk9OQkxPQ0spOwogCWlmIChJU19FUlIodm1hKSAmJiB2bWEgIT0g RVJSX1BUUigtRURFQURMSykpCi0JCXZtYSA9IGk5MTVfZ2VtX29iamVjdF9nZ3R0X3Bpbl93dyhv YmosICZ3dywgdmlldywgMCwKKwkJdm1hID0gaTkxNV9nZW1fb2JqZWN0X2dndHRfcGluX3d3KG9i aiwgd3csIHZpZXcsIDAsCiAJCQkJCQkgIGFsaWdubWVudCwgZmxhZ3MpOwotCWlmIChJU19FUlIo dm1hKSkgewotCQlyZXQgPSBQVFJfRVJSKHZtYSk7Ci0JCWdvdG8gZXJyOwotCX0KKwlpZiAoSVNf RVJSKHZtYSkpCisJCXJldHVybiB2bWE7CiAKIAl2bWEtPmRpc3BsYXlfYWxpZ25tZW50ID0gbWF4 X3QodTY0LCB2bWEtPmRpc3BsYXlfYWxpZ25tZW50LCBhbGlnbm1lbnQpOwogCWk5MTVfdm1hX21h cmtfc2Nhbm91dCh2bWEpOwogCiAJaTkxNV9nZW1fb2JqZWN0X2ZsdXNoX2lmX2Rpc3BsYXlfbG9j a2VkKG9iaik7CiAKLWVycjoKLQlpZiAocmV0ID09IC1FREVBRExLKSB7Ci0JCXJldCA9IGk5MTVf Z2VtX3d3X2N0eF9iYWNrb2ZmKCZ3dyk7Ci0JCWlmICghcmV0KQotCQkJZ290byByZXRyeTsKLQl9 Ci0JaTkxNV9nZW1fd3dfY3R4X2ZpbmkoJnd3KTsKLQotCWlmIChyZXQpCi0JCXJldHVybiBFUlJf UFRSKHJldCk7Ci0KIAlyZXR1cm4gdm1hOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fb2JqZWN0LmgKaW5kZXggYTBlMWM0ZmYwZGU0Li5mZWYwZDYyZjNlYjcgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmgKQEAgLTUxMCw2ICs1MTAs NyBAQCB2b2lkIGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fY3B1X2RvbWFpbihzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJCSAgICAgICBib29sIHdyaXRlKTsKIHN0cnVjdCBpOTE1 X3ZtYSAqIF9fbXVzdF9jaGVjawogaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5l KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCisJCQkJICAgICBzdHJ1Y3QgaTkxNV9n ZW1fd3dfY3R4ICp3dywKIAkJCQkgICAgIHUzMiBhbGlnbm1lbnQsCiAJCQkJICAgICBjb25zdCBz dHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZpZXcsCiAJCQkJICAgICB1bnNpZ25lZCBpbnQgZmxhZ3Mp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BoeXMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMKaW5kZXggNDQzMjljNDM1 Y2YxLi45MjI5NzM2MmZhZDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9waHlzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Bo eXMuYwpAQCAtMjE5LDYgKzIxOSw4IEBAIGludCBpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgaW50IGFsaWduKQogewogCWludCBlcnI7 CiAKKwlhc3NlcnRfb2JqZWN0X2hlbGQob2JqKTsKKwogCWlmIChhbGlnbiA+IG9iai0+YmFzZS5z aXplKQogCQlyZXR1cm4gLUVJTlZBTDsKIApAQCAtMjMyLDEzICsyMzQsOSBAQCBpbnQgaTkxNV9n ZW1fb2JqZWN0X2F0dGFjaF9waHlzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGlu dCBhbGlnbikKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCi0JZXJyID0gaTkxNV9nZW1fb2Jq ZWN0X2xvY2tfaW50ZXJydXB0aWJsZShvYmosIE5VTEwpOwotCWlmIChlcnIpCi0JCXJldHVybiBl cnI7Ci0KIAllcnIgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJm9iai0+bW0ubG9jayk7CiAJ aWYgKGVycikKLQkJZ290byBlcnJfdW5sb2NrOworCQlyZXR1cm4gZXJyOwogCiAJaWYgKHVubGlr ZWx5KCFpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdlKG9iaikpKQogCQlnb3RvIG91dDsK QEAgLTI2OSw4ICsyNjcsNiBAQCBpbnQgaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGludCBhbGlnbikKIAogb3V0OgogCW11dGV4X3Vu bG9jaygmb2JqLT5tbS5sb2NrKTsKLWVycl91bmxvY2s6Ci0JaTkxNV9nZW1fb2JqZWN0X3VubG9j ayhvYmopOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fcGh5cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9waHlzLmMKaW5kZXggMjM4YWY3YmQ4NGY2Li40ZDc1ODA3 NjJhY2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkx NV9nZW1fcGh5cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkx NV9nZW1fcGh5cy5jCkBAIC0zMSw3ICszMSw5IEBAIHN0YXRpYyBpbnQgbW9ja19waHlzX29iamVj dCh2b2lkICphcmcpCiAJCWdvdG8gb3V0X29iajsKIAl9CiAKKwlpOTE1X2dlbV9vYmplY3RfbG9j ayhvYmosIE5VTEwpOwogCWVyciA9IGk5MTVfZ2VtX29iamVjdF9hdHRhY2hfcGh5cyhvYmosIFBB R0VfU0laRSk7CisJaTkxNV9nZW1fb2JqZWN0X3VubG9jayhvYmopOwogCWlmIChlcnIpIHsKIAkJ cHJfZXJyKCJpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMgZmFpbGVkLCBlcnI9JWRcbiIsIGVy cik7CiAJCWdvdG8gb3V0X29iajsKLS0gCjIuMzEuMAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg== 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,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 36843C433C1 for ; Tue, 23 Mar 2021 15:51:37 +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 BF849619B6 for ; Tue, 23 Mar 2021 15:51:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BF849619B6 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 7CFA86EA7A; Tue, 23 Mar 2021 15:51:27 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9A7C76EAA2 for ; Tue, 23 Mar 2021 15:51:16 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Date: Tue, 23 Mar 2021 16:50:11 +0100 Message-Id: <20210323155059.628690-23-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 22/70] drm/i915: Pass ww ctx to intel_pin_to_display_plane 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" SW5zdGVhZCBvZiBtdWx0aXBsZSBsb2NraW5ncywgbG9jayB0aGUgb2JqZWN0IG9uY2UsCmFuZCBw ZXJmb3JtIHRoZSB3dyBkYW5jZSBhcm91bmQgYXR0YWNoX3BoeXMgYW5kIHBpbl9wYWdlcy4KClNp Z25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5p bnRlbC5jb20+ClJldmlld2VkLWJ5OiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhlbGxzdHJv bUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kaXNwbGF5LmMgIHwgNjkgKysrKysrKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmggIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZmJkZXYuYyAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX292ZXJsYXkuYyAgfCAzNCArKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9kb21haW4uYyAgICB8IDMwICsrLS0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmggICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jICAgICAgfCAxMCArLS0KIC4uLi9kcm0vaTkxNS9nZW0v c2VsZnRlc3RzL2k5MTVfZ2VtX3BoeXMuYyAgICB8ICAyICsKIDggZmlsZXMgY2hhbmdlZCwgODYg aW5zZXJ0aW9ucygrKSwgNjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXkuYwppbmRleCAzNWYyZmM3NzBmNWUuLjU2YjYzNzMxYWY2MCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKQEAgLTEw OTMsNiArMTA5Myw3IEBAIHN0YXRpYyBib29sIGludGVsX3BsYW5lX3VzZXNfZmVuY2UoY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKIAogc3RydWN0IGk5MTVfdm1h ICoKIGludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZi LAorCQkJICAgYm9vbCBwaHlzX2N1cnNvciwKIAkJCSAgIGNvbnN0IHN0cnVjdCBpOTE1X2dndHRf dmlldyAqdmlldywKIAkJCSAgIGJvb2wgdXNlc19mZW5jZSwKIAkJCSAgIHVuc2lnbmVkIGxvbmcg Km91dF9mbGFncykKQEAgLTExMDEsMTQgKzExMDIsMTkgQEAgaW50ZWxfcGluX2FuZF9mZW5jZV9m Yl9vYmooc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmogPSBpbnRlbF9mYl9vYmooZmIpOwogCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOworCXN0 cnVjdCBpOTE1X2dlbV93d19jdHggd3c7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJdW5zaWdu ZWQgaW50IHBpbmN0bDsKIAl1MzIgYWxpZ25tZW50OworCWludCByZXQ7CiAKIAlpZiAoZHJtX1dB Uk5fT04oZGV2LCAhaTkxNV9nZW1fb2JqZWN0X2lzX2ZyYW1lYnVmZmVyKG9iaikpKQogCQlyZXR1 cm4gRVJSX1BUUigtRUlOVkFMKTsKIAotCWFsaWdubWVudCA9IGludGVsX3N1cmZfYWxpZ25tZW50 KGZiLCAwKTsKKwlpZiAocGh5c19jdXJzb3IpCisJCWFsaWdubWVudCA9IGludGVsX2N1cnNvcl9h bGlnbm1lbnQoZGV2X3ByaXYpOworCWVsc2UKKwkJYWxpZ25tZW50ID0gaW50ZWxfc3VyZl9hbGln bm1lbnQoZmIsIDApOwogCWlmIChkcm1fV0FSTl9PTihkZXYsIGFsaWdubWVudCAmJiAhaXNfcG93 ZXJfb2ZfMihhbGlnbm1lbnQpKSkKIAkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiAKQEAgLTEx NDMsMTQgKzExNDksMjYgQEAgaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooc3RydWN0IGRybV9m cmFtZWJ1ZmZlciAqZmIsCiAJaWYgKEhBU19HTUNIKGRldl9wcml2KSkKIAkJcGluY3RsIHw9IFBJ Tl9NQVBQQUJMRTsKIAotCXZtYSA9IGk5MTVfZ2VtX29iamVjdF9waW5fdG9fZGlzcGxheV9wbGFu ZShvYmosCi0JCQkJCQkgICBhbGlnbm1lbnQsIHZpZXcsIHBpbmN0bCk7Ci0JaWYgKElTX0VSUih2 bWEpKQorCWk5MTVfZ2VtX3d3X2N0eF9pbml0KCZ3dywgdHJ1ZSk7CityZXRyeToKKwlyZXQgPSBp OTE1X2dlbV9vYmplY3RfbG9jayhvYmosICZ3dyk7CisJaWYgKCFyZXQgJiYgcGh5c19jdXJzb3Ip CisJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9hdHRhY2hfcGh5cyhvYmosIGFsaWdubWVudCk7CisJ aWYgKCFyZXQpCisJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMob2JqKTsKKwlpZiAo cmV0KQogCQlnb3RvIGVycjsKIAotCWlmICh1c2VzX2ZlbmNlICYmIGk5MTVfdm1hX2lzX21hcF9h bmRfZmVuY2VhYmxlKHZtYSkpIHsKLQkJaW50IHJldDsKKwlpZiAoIXJldCkgeworCQl2bWEgPSBp OTE1X2dlbV9vYmplY3RfcGluX3RvX2Rpc3BsYXlfcGxhbmUob2JqLCAmd3csIGFsaWdubWVudCwK KwkJCQkJCQkgICB2aWV3LCBwaW5jdGwpOworCQlpZiAoSVNfRVJSKHZtYSkpIHsKKwkJCXJldCA9 IFBUUl9FUlIodm1hKTsKKwkJCWdvdG8gZXJyX3VucGluOworCQl9CisJfQogCisJaWYgKHVzZXNf ZmVuY2UgJiYgaTkxNV92bWFfaXNfbWFwX2FuZF9mZW5jZWFibGUodm1hKSkgewogCQkvKgogCQkg KiBJbnN0YWxsIGEgZmVuY2UgZm9yIHRpbGVkIHNjYW4tb3V0LiBQcmUtaTk2NSBhbHdheXMgbmVl ZHMgYQogCQkgKiBmZW5jZSwgd2hlcmVhcyA5NjUrIG9ubHkgcmVxdWlyZXMgYSBmZW5jZSBpZiB1 c2luZwpAQCAtMTE3MSwxNiArMTE4OSwyOCBAQCBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAkJcmV0ID0gaTkxNV92bWFfcGluX2ZlbmNlKHZt YSk7CiAJCWlmIChyZXQgIT0gMCAmJiBJTlRFTF9HRU4oZGV2X3ByaXYpIDwgNCkgewogCQkJaTkx NV92bWFfdW5waW4odm1hKTsKLQkJCXZtYSA9IEVSUl9QVFIocmV0KTsKLQkJCWdvdG8gZXJyOwor CQkJZ290byBlcnJfdW5waW47CiAJCX0KKwkJcmV0ID0gMDsKIAotCQlpZiAocmV0ID09IDAgJiYg dm1hLT5mZW5jZSkKKwkJaWYgKHZtYS0+ZmVuY2UpCiAJCQkqb3V0X2ZsYWdzIHw9IFBMQU5FX0hB U19GRU5DRTsKIAl9CiAKIAlpOTE1X3ZtYV9nZXQodm1hKTsKKworZXJyX3VucGluOgorCWk5MTVf Z2VtX29iamVjdF91bnBpbl9wYWdlcyhvYmopOwogZXJyOgorCWlmIChyZXQgPT0gLUVERUFETEsp IHsKKwkJcmV0ID0gaTkxNV9nZW1fd3dfY3R4X2JhY2tvZmYoJnd3KTsKKwkJaWYgKCFyZXQpCisJ CQlnb3RvIHJldHJ5OworCX0KKwlpOTE1X2dlbV93d19jdHhfZmluaSgmd3cpOworCWlmIChyZXQp CisJCXZtYSA9IEVSUl9QVFIocmV0KTsKKwogCWF0b21pY19kZWMoJmRldl9wcml2LT5ncHVfZXJy b3IucGVuZGluZ19mYl9waW4pOwogCWludGVsX3J1bnRpbWVfcG1fcHV0KCZkZXZfcHJpdi0+cnVu dGltZV9wbSwgd2FrZXJlZik7CiAJcmV0dXJuIHZtYTsKQEAgLTExMzM1LDE5ICsxMTM2NSwxMSBA QCBpbnQgaW50ZWxfcGxhbmVfcGluX2ZiKHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVf c3RhdGUpCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwbGFu ZS0+YmFzZS5kZXYpOwogCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUt Pmh3LmZiOwogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOworCWJvb2wgcGh5c19jdXJzb3IgPQorCQlw bGFuZS0+aWQgPT0gUExBTkVfQ1VSU09SICYmCisJCUlOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNw bGF5LmN1cnNvcl9uZWVkc19waHlzaWNhbDsKIAotCWlmIChwbGFuZS0+aWQgPT0gUExBTkVfQ1VS U09SICYmCi0JICAgIElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5LmN1cnNvcl9uZWVkc19w aHlzaWNhbCkgewotCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gaW50ZWxfZmJf b2JqKGZiKTsKLQkJY29uc3QgaW50IGFsaWduID0gaW50ZWxfY3Vyc29yX2FsaWdubWVudChkZXZf cHJpdik7Ci0JCWludCBlcnI7Ci0KLQkJZXJyID0gaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlz KG9iaiwgYWxpZ24pOwotCQlpZiAoZXJyKQotCQkJcmV0dXJuIGVycjsKLQl9Ci0KLQl2bWEgPSBp bnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihmYiwKKwl2bWEgPSBpbnRlbF9waW5fYW5kX2ZlbmNl X2ZiX29iaihmYiwgcGh5c19jdXJzb3IsCiAJCQkJCSAmcGxhbmVfc3RhdGUtPnZpZXcsCiAJCQkJ CSBpbnRlbF9wbGFuZV91c2VzX2ZlbmNlKHBsYW5lX3N0YXRlKSwKIAkJCQkJICZwbGFuZV9zdGF0 ZS0+ZmxhZ3MpOwpAQCAtMTE0MzYsMTMgKzExNDU4LDggQEAgaW50ZWxfcHJlcGFyZV9wbGFuZV9m YihzdHJ1Y3QgZHJtX3BsYW5lICpfcGxhbmUsCiAJaWYgKCFvYmopCiAJCXJldHVybiAwOwogCi0J cmV0ID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOwotCWlmIChyZXQpCi0JCXJldHVy biByZXQ7CiAKIAlyZXQgPSBpbnRlbF9wbGFuZV9waW5fZmIobmV3X3BsYW5lX3N0YXRlKTsKLQot CWk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhvYmopOwogCWlmIChyZXQpCiAJCXJldHVybiBy ZXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlz cGxheS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmgKaW5k ZXggNDMxNzcwZWVhZGI0Li5mMDU2ZTE5Y2Y1NTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5oCkBAIC01NzMsNyArNTczLDcgQEAgdm9pZCBpbnRlbF9y ZWxlYXNlX2xvYWRfZGV0ZWN0X3BpcGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK IAkJCQkgICAgc3RydWN0IGludGVsX2xvYWRfZGV0ZWN0X3BpcGUgKm9sZCwKIAkJCQkgICAgc3Ry dWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpOwogc3RydWN0IGk5MTVfdm1hICoKLWlu dGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAoraW50 ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGJvb2wg cGh5c19jdXJzb3IsCiAJCQkgICBjb25zdCBzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZpZXcsCiAJ CQkgICBib29sIHVzZXNfZmVuY2UsCiAJCQkgICB1bnNpZ25lZCBsb25nICpvdXRfZmxhZ3MpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmRldi5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmRldi5jCmluZGV4IDA3ZGI4ZTgz Zjk4ZS4uY2NkMDBlNjVhNWZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2ZiZGV2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9mYmRldi5jCkBAIC0yMTEsNyArMjExLDcgQEAgc3RhdGljIGludCBpbnRlbGZiX2NyZWF0ZShz dHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAogCSAqIFRoaXMgYWxzbyB2YWxpZGF0ZXMgdGhh dCBhbnkgZXhpc3RpbmcgZmIgaW5oZXJpdGVkIGZyb20gdGhlCiAJICogQklPUyBpcyBzdWl0YWJs ZSBmb3Igb3duIGFjY2Vzcy4KIAkgKi8KLQl2bWEgPSBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29i aigmaWZiZGV2LT5mYi0+YmFzZSwKKwl2bWEgPSBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaigm aWZiZGV2LT5mYi0+YmFzZSwgZmFsc2UsCiAJCQkJCSAmdmlldywgZmFsc2UsICZmbGFncyk7CiAJ aWYgKElTX0VSUih2bWEpKSB7CiAJCXJldCA9IFBUUl9FUlIodm1hKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfb3ZlcmxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9vdmVybGF5LmMKaW5kZXggZWY4ZjQ0ZjVlNzUxLi40Yjc3 YTIzNDUxZGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf b3ZlcmxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfb3Zlcmxh eS5jCkBAIC03NTUsNiArNzU1LDMyIEBAIHN0YXRpYyB1MzIgb3ZlcmxheV9jbWRfcmVnKHN0cnVj dCBkcm1faW50ZWxfb3ZlcmxheV9wdXRfaW1hZ2UgKnBhcmFtcykKIAlyZXR1cm4gY21kOwogfQog CitzdGF0aWMgc3RydWN0IGk5MTVfdm1hICppbnRlbF9vdmVybGF5X3Bpbl9mYihzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqbmV3X2JvKQoreworCXN0cnVjdCBpOTE1X2dlbV93d19jdHggd3c7 CisJc3RydWN0IGk5MTVfdm1hICp2bWE7CisJaW50IHJldDsKKworCWk5MTVfZ2VtX3d3X2N0eF9p bml0KCZ3dywgdHJ1ZSk7CityZXRyeToKKwlyZXQgPSBpOTE1X2dlbV9vYmplY3RfbG9jayhuZXdf Ym8sICZ3dyk7CisJaWYgKCFyZXQpIHsKKwkJdm1hID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19k aXNwbGF5X3BsYW5lKG5ld19ibywgJnd3LCAwLAorCQkJCQkJCSAgIE5VTEwsIFBJTl9NQVBQQUJM RSk7CisJCXJldCA9IFBUUl9FUlJfT1JfWkVSTyh2bWEpOworCX0KKwlpZiAocmV0ID09IC1FREVB RExLKSB7CisJCXJldCA9IGk5MTVfZ2VtX3d3X2N0eF9iYWNrb2ZmKCZ3dyk7CisJCWlmICghcmV0 KQorCQkJZ290byByZXRyeTsKKwl9CisJaTkxNV9nZW1fd3dfY3R4X2ZpbmkoJnd3KTsKKwlpZiAo cmV0KQorCQlyZXR1cm4gRVJSX1BUUihyZXQpOworCisJcmV0dXJuIHZtYTsKK30KKwogc3RhdGlj IGludCBpbnRlbF9vdmVybGF5X2RvX3B1dF9pbWFnZShzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3Zl cmxheSwKIAkJCQkgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqbmV3X2JvLAogCQkJ CSAgICAgIHN0cnVjdCBkcm1faW50ZWxfb3ZlcmxheV9wdXRfaW1hZ2UgKnBhcmFtcykKQEAgLTc3 NiwxMiArODAyLDEwIEBAIHN0YXRpYyBpbnQgaW50ZWxfb3ZlcmxheV9kb19wdXRfaW1hZ2Uoc3Ry dWN0IGludGVsX292ZXJsYXkgKm92ZXJsYXksCiAKIAlhdG9taWNfaW5jKCZkZXZfcHJpdi0+Z3B1 X2Vycm9yLnBlbmRpbmdfZmJfcGluKTsKIAotCXZtYSA9IGk5MTVfZ2VtX29iamVjdF9waW5fdG9f ZGlzcGxheV9wbGFuZShuZXdfYm8sCi0JCQkJCQkgICAwLCBOVUxMLCBQSU5fTUFQUEFCTEUpOwot CWlmIChJU19FUlIodm1hKSkgewotCQlyZXQgPSBQVFJfRVJSKHZtYSk7CisJdm1hID0gaW50ZWxf b3ZlcmxheV9waW5fZmIobmV3X2JvKTsKKwlpZiAoSVNfRVJSKHZtYSkpCiAJCWdvdG8gb3V0X3Bp bl9zZWN0aW9uOwotCX0KKwogCWk5MTVfZ2VtX29iamVjdF9mbHVzaF9mcm9udGJ1ZmZlcihuZXdf Ym8sIE9SSUdJTl9ESVJUWUZCKTsKIAogCWlmICghb3ZlcmxheS0+YWN0aXZlKSB7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG9tYWluLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG9tYWluLmMKaW5kZXggNzZjYjlmNWM2NmFhLi40 MWRhZTBkODNkYmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dl bV9kb21haW4uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG9tYWlu LmMKQEAgLTMxOCwxMiArMzE4LDEyIEBAIGludCBpOTE1X2dlbV9zZXRfY2FjaGluZ19pb2N0bChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogICovCiBzdHJ1Y3QgaTkxNV92bWEg KgogaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmosCisJCQkJICAgICBzdHJ1Y3QgaTkxNV9nZW1fd3dfY3R4ICp3dywKIAkJ CQkgICAgIHUzMiBhbGlnbm1lbnQsCiAJCQkJICAgICBjb25zdCBzdHJ1Y3QgaTkxNV9nZ3R0X3Zp ZXcgKnZpZXcsCiAJCQkJICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KG9iai0+YmFzZS5kZXYpOwotCXN0cnVjdCBpOTE1 X2dlbV93d19jdHggd3c7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJaW50IHJldDsKIApAQCAt MzMxLDExICszMzEsNiBAQCBpOTE1X2dlbV9vYmplY3RfcGluX3RvX2Rpc3BsYXlfcGxhbmUoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlpZiAoSEFTX0xNRU0oaTkxNSkgJiYgIWk5 MTVfZ2VtX29iamVjdF9pc19sbWVtKG9iaikpCiAJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwog Ci0JaTkxNV9nZW1fd3dfY3R4X2luaXQoJnd3LCB0cnVlKTsKLXJldHJ5OgotCXJldCA9IGk5MTVf Z2VtX29iamVjdF9sb2NrKG9iaiwgJnd3KTsKLQlpZiAocmV0KQotCQlnb3RvIGVycjsKIAkvKgog CSAqIFRoZSBkaXNwbGF5IGVuZ2luZSBpcyBub3QgY29oZXJlbnQgd2l0aCB0aGUgTExDIGNhY2hl IG9uIGdlbjYuICBBcwogCSAqIGEgcmVzdWx0LCB3ZSBtYWtlIHN1cmUgdGhhdCB0aGUgcGlubmlu ZyB0aGF0IGlzIGFib3V0IHRvIG9jY3VyIGlzCkBAIC0zNTAsNyArMzQ1LDcgQEAgaTkxNV9nZW1f b2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCiAJCQkJCSAgICAgIEhBU19XVChpOTE1KSA/CiAJCQkJCSAgICAgIEk5MTVfQ0FDSEVfV1Qg OiBJOTE1X0NBQ0hFX05PTkUpOwogCWlmIChyZXQpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gRVJS X1BUUihyZXQpOwogCiAJLyoKIAkgKiBBcyB0aGUgdXNlciBtYXkgbWFwIHRoZSBidWZmZXIgb25j ZSBwaW5uZWQgaW4gdGhlIGRpc3BsYXkgcGxhbmUKQEAgLTM2MywzMyArMzU4LDIwIEBAIGk5MTVf Z2VtX29iamVjdF9waW5fdG9fZGlzcGxheV9wbGFuZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqLAogCXZtYSA9IEVSUl9QVFIoLUVOT1NQQyk7CiAJaWYgKChmbGFncyAmIFBJTl9NQVBQ QUJMRSkgPT0gMCAmJgogCSAgICAoIXZpZXcgfHwgdmlldy0+dHlwZSA9PSBJOTE1X0dHVFRfVklF V19OT1JNQUwpKQotCQl2bWEgPSBpOTE1X2dlbV9vYmplY3RfZ2d0dF9waW5fd3cob2JqLCAmd3cs IHZpZXcsIDAsIGFsaWdubWVudCwKKwkJdm1hID0gaTkxNV9nZW1fb2JqZWN0X2dndHRfcGluX3d3 KG9iaiwgd3csIHZpZXcsIDAsIGFsaWdubWVudCwKIAkJCQkJCSAgZmxhZ3MgfCBQSU5fTUFQUEFC TEUgfAogCQkJCQkJICBQSU5fTk9OQkxPQ0spOwogCWlmIChJU19FUlIodm1hKSAmJiB2bWEgIT0g RVJSX1BUUigtRURFQURMSykpCi0JCXZtYSA9IGk5MTVfZ2VtX29iamVjdF9nZ3R0X3Bpbl93dyhv YmosICZ3dywgdmlldywgMCwKKwkJdm1hID0gaTkxNV9nZW1fb2JqZWN0X2dndHRfcGluX3d3KG9i aiwgd3csIHZpZXcsIDAsCiAJCQkJCQkgIGFsaWdubWVudCwgZmxhZ3MpOwotCWlmIChJU19FUlIo dm1hKSkgewotCQlyZXQgPSBQVFJfRVJSKHZtYSk7Ci0JCWdvdG8gZXJyOwotCX0KKwlpZiAoSVNf RVJSKHZtYSkpCisJCXJldHVybiB2bWE7CiAKIAl2bWEtPmRpc3BsYXlfYWxpZ25tZW50ID0gbWF4 X3QodTY0LCB2bWEtPmRpc3BsYXlfYWxpZ25tZW50LCBhbGlnbm1lbnQpOwogCWk5MTVfdm1hX21h cmtfc2Nhbm91dCh2bWEpOwogCiAJaTkxNV9nZW1fb2JqZWN0X2ZsdXNoX2lmX2Rpc3BsYXlfbG9j a2VkKG9iaik7CiAKLWVycjoKLQlpZiAocmV0ID09IC1FREVBRExLKSB7Ci0JCXJldCA9IGk5MTVf Z2VtX3d3X2N0eF9iYWNrb2ZmKCZ3dyk7Ci0JCWlmICghcmV0KQotCQkJZ290byByZXRyeTsKLQl9 Ci0JaTkxNV9nZW1fd3dfY3R4X2ZpbmkoJnd3KTsKLQotCWlmIChyZXQpCi0JCXJldHVybiBFUlJf UFRSKHJldCk7Ci0KIAlyZXR1cm4gdm1hOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fb2JqZWN0LmgKaW5kZXggYTBlMWM0ZmYwZGU0Li5mZWYwZDYyZjNlYjcgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmgKQEAgLTUxMCw2ICs1MTAs NyBAQCB2b2lkIGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fY3B1X2RvbWFpbihzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJCSAgICAgICBib29sIHdyaXRlKTsKIHN0cnVjdCBpOTE1 X3ZtYSAqIF9fbXVzdF9jaGVjawogaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5l KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCisJCQkJICAgICBzdHJ1Y3QgaTkxNV9n ZW1fd3dfY3R4ICp3dywKIAkJCQkgICAgIHUzMiBhbGlnbm1lbnQsCiAJCQkJICAgICBjb25zdCBz dHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZpZXcsCiAJCQkJICAgICB1bnNpZ25lZCBpbnQgZmxhZ3Mp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BoeXMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMKaW5kZXggNDQzMjljNDM1 Y2YxLi45MjI5NzM2MmZhZDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9waHlzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Bo eXMuYwpAQCAtMjE5LDYgKzIxOSw4IEBAIGludCBpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgaW50IGFsaWduKQogewogCWludCBlcnI7 CiAKKwlhc3NlcnRfb2JqZWN0X2hlbGQob2JqKTsKKwogCWlmIChhbGlnbiA+IG9iai0+YmFzZS5z aXplKQogCQlyZXR1cm4gLUVJTlZBTDsKIApAQCAtMjMyLDEzICsyMzQsOSBAQCBpbnQgaTkxNV9n ZW1fb2JqZWN0X2F0dGFjaF9waHlzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGlu dCBhbGlnbikKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCi0JZXJyID0gaTkxNV9nZW1fb2Jq ZWN0X2xvY2tfaW50ZXJydXB0aWJsZShvYmosIE5VTEwpOwotCWlmIChlcnIpCi0JCXJldHVybiBl cnI7Ci0KIAllcnIgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJm9iai0+bW0ubG9jayk7CiAJ aWYgKGVycikKLQkJZ290byBlcnJfdW5sb2NrOworCQlyZXR1cm4gZXJyOwogCiAJaWYgKHVubGlr ZWx5KCFpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdlKG9iaikpKQogCQlnb3RvIG91dDsK QEAgLTI2OSw4ICsyNjcsNiBAQCBpbnQgaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGludCBhbGlnbikKIAogb3V0OgogCW11dGV4X3Vu bG9jaygmb2JqLT5tbS5sb2NrKTsKLWVycl91bmxvY2s6Ci0JaTkxNV9nZW1fb2JqZWN0X3VubG9j ayhvYmopOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fcGh5cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9waHlzLmMKaW5kZXggMjM4YWY3YmQ4NGY2Li40ZDc1ODA3 NjJhY2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkx NV9nZW1fcGh5cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkx NV9nZW1fcGh5cy5jCkBAIC0zMSw3ICszMSw5IEBAIHN0YXRpYyBpbnQgbW9ja19waHlzX29iamVj dCh2b2lkICphcmcpCiAJCWdvdG8gb3V0X29iajsKIAl9CiAKKwlpOTE1X2dlbV9vYmplY3RfbG9j ayhvYmosIE5VTEwpOwogCWVyciA9IGk5MTVfZ2VtX29iamVjdF9hdHRhY2hfcGh5cyhvYmosIFBB R0VfU0laRSk7CisJaTkxNV9nZW1fb2JqZWN0X3VubG9jayhvYmopOwogCWlmIChlcnIpIHsKIAkJ cHJfZXJyKCJpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMgZmFpbGVkLCBlcnI9JWRcbiIsIGVy cik7CiAJCWdvdG8gb3V0X29iajsKLS0gCjIuMzEuMAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==