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 81454C5519F for ; Wed, 25 Nov 2020 10:40: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 1D30D2063A for ; Wed, 25 Nov 2020 10:40:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1D30D2063A 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 A6A866E928; Wed, 25 Nov 2020 10:40:37 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4DC136E914 for ; Wed, 25 Nov 2020 10:40:27 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Date: Wed, 25 Nov 2020 11:39:30 +0100 Message-Id: <20201125104011.606641-23-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 22/63] 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?= 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 aXNwbGF5L2ludGVsX2Rpc3BsYXkuYwppbmRleCA0MjJjZWE5NTQ0NjIuLmVlNWU2OWViMmE2NyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKQEAgLTIy MzIsNiArMjIzMiw3IEBAIHN0YXRpYyBib29sIGludGVsX3BsYW5lX3VzZXNfZmVuY2UoY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKIAogc3RydWN0IGk5MTVfdm1h ICoKIGludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZi LAorCQkJICAgYm9vbCBwaHlzX2N1cnNvciwKIAkJCSAgIGNvbnN0IHN0cnVjdCBpOTE1X2dndHRf dmlldyAqdmlldywKIAkJCSAgIGJvb2wgdXNlc19mZW5jZSwKIAkJCSAgIHVuc2lnbmVkIGxvbmcg Km91dF9mbGFncykKQEAgLTIyNDAsMTQgKzIyNDEsMTkgQEAgaW50ZWxfcGluX2FuZF9mZW5jZV9m Yl9vYmooc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmogPSBpbnRlbF9mYl9vYmooZmIpOwogCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOworCXN0 cnVjdCBpOTE1X2dlbV93d19jdHggd3c7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJdW5zaWdu ZWQgaW50IHBpbmN0bDsKIAl1MzIgYWxpZ25tZW50OworCWludCByZXQ7CiAKIAlpZiAoZHJtX1dB Uk5fT04oZGV2LCAhaTkxNV9nZW1fb2JqZWN0X2lzX2ZyYW1lYnVmZmVyKG9iaikpKQogCQlyZXR1 cm4gRVJSX1BUUigtRUlOVkFMKTsKIAotCWFsaWdubWVudCA9IGludGVsX3N1cmZfYWxpZ25tZW50 KGZiLCAwKTsKKwlpZiAocGh5c19jdXJzb3IpCisJCWFsaWdubWVudCA9IGludGVsX2N1cnNvcl9h bGlnbm1lbnQoZGV2X3ByaXYpOworCWVsc2UKKwkJYWxpZ25tZW50ID0gaW50ZWxfc3VyZl9hbGln bm1lbnQoZmIsIDApOwogCWlmIChkcm1fV0FSTl9PTihkZXYsIGFsaWdubWVudCAmJiAhaXNfcG93 ZXJfb2ZfMihhbGlnbm1lbnQpKSkKIAkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiAKQEAgLTIy ODIsMTQgKzIyODgsMjYgQEAgaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooc3RydWN0IGRybV9m cmFtZWJ1ZmZlciAqZmIsCiAJaWYgKEhBU19HTUNIKGRldl9wcml2KSkKIAkJcGluY3RsIHw9IFBJ Tl9NQVBQQUJMRTsKIAotCXZtYSA9IGk5MTVfZ2VtX29iamVjdF9waW5fdG9fZGlzcGxheV9wbGFu ZShvYmosCi0JCQkJCQkgICBhbGlnbm1lbnQsIHZpZXcsIHBpbmN0bCk7Ci0JaWYgKElTX0VSUih2 bWEpKQorCWk5MTVfZ2VtX3d3X2N0eF9pbml0KCZ3dywgdHJ1ZSk7CityZXRyeToKKwlyZXQgPSBp OTE1X2dlbV9vYmplY3RfbG9jayhvYmosICZ3dyk7CisJaWYgKCFyZXQgJiYgcGh5c19jdXJzb3Ip CisJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9hdHRhY2hfcGh5cyhvYmosIGFsaWdubWVudCk7CisJ aWYgKCFyZXQpCisJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMob2JqKTsKKwlpZiAo cmV0KQogCQlnb3RvIGVycjsKIAotCWlmICh1c2VzX2ZlbmNlICYmIGk5MTVfdm1hX2lzX21hcF9h bmRfZmVuY2VhYmxlKHZtYSkpIHsKLQkJaW50IHJldDsKKwlpZiAoIXJldCkgeworCQl2bWEgPSBp OTE1X2dlbV9vYmplY3RfcGluX3RvX2Rpc3BsYXlfcGxhbmUob2JqLCAmd3csIGFsaWdubWVudCwK KwkJCQkJCQkgICB2aWV3LCBwaW5jdGwpOworCQlpZiAoSVNfRVJSKHZtYSkpIHsKKwkJCXJldCA9 IFBUUl9FUlIodm1hKTsKKwkJCWdvdG8gZXJyX3VucGluOworCQl9CisJfQogCisJaWYgKHVzZXNf ZmVuY2UgJiYgaTkxNV92bWFfaXNfbWFwX2FuZF9mZW5jZWFibGUodm1hKSkgewogCQkvKgogCQkg KiBJbnN0YWxsIGEgZmVuY2UgZm9yIHRpbGVkIHNjYW4tb3V0LiBQcmUtaTk2NSBhbHdheXMgbmVl ZHMgYQogCQkgKiBmZW5jZSwgd2hlcmVhcyA5NjUrIG9ubHkgcmVxdWlyZXMgYSBmZW5jZSBpZiB1 c2luZwpAQCAtMjMxMCwxNiArMjMyOCwyOCBAQCBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAkJcmV0ID0gaTkxNV92bWFfcGluX2ZlbmNlKHZt YSk7CiAJCWlmIChyZXQgIT0gMCAmJiBJTlRFTF9HRU4oZGV2X3ByaXYpIDwgNCkgewogCQkJaTkx NV9nZW1fb2JqZWN0X3VucGluX2Zyb21fZGlzcGxheV9wbGFuZSh2bWEpOwotCQkJdm1hID0gRVJS X1BUUihyZXQpOwotCQkJZ290byBlcnI7CisJCQlnb3RvIGVycl91bnBpbjsKIAkJfQorCQlyZXQg PSAwOwogCi0JCWlmIChyZXQgPT0gMCAmJiB2bWEtPmZlbmNlKQorCQlpZiAodm1hLT5mZW5jZSkK IAkJCSpvdXRfZmxhZ3MgfD0gUExBTkVfSEFTX0ZFTkNFOwogCX0KIAogCWk5MTVfdm1hX2dldCh2 bWEpOworCitlcnJfdW5waW46CisJaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9iaik7CiBl cnI6CisJaWYgKHJldCA9PSAtRURFQURMSykgeworCQlyZXQgPSBpOTE1X2dlbV93d19jdHhfYmFj a29mZigmd3cpOworCQlpZiAoIXJldCkKKwkJCWdvdG8gcmV0cnk7CisJfQorCWk5MTVfZ2VtX3d3 X2N0eF9maW5pKCZ3dyk7CisJaWYgKHJldCkKKwkJdm1hID0gRVJSX1BUUihyZXQpOworCiAJYXRv bWljX2RlYygmZGV2X3ByaXYtPmdwdV9lcnJvci5wZW5kaW5nX2ZiX3Bpbik7CiAJaW50ZWxfcnVu dGltZV9wbV9wdXQoJmRldl9wcml2LT5ydW50aW1lX3BtLCB3YWtlcmVmKTsKIAlyZXR1cm4gdm1h OwpAQCAtMTY2MjYsMTkgKzE2NjU2LDExIEBAIHN0YXRpYyBpbnQgaW50ZWxfcGxhbmVfcGluX2Zi KHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwbGFuZS0+YmFzZS5kZXYpOwogCXN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUtPmh3LmZiOwogCXN0cnVjdCBpOTE1X3Zt YSAqdm1hOworCWJvb2wgcGh5c19jdXJzb3IgPQorCQlwbGFuZS0+aWQgPT0gUExBTkVfQ1VSU09S ICYmCisJCUlOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5LmN1cnNvcl9uZWVkc19waHlzaWNh bDsKIAotCWlmIChwbGFuZS0+aWQgPT0gUExBTkVfQ1VSU09SICYmCi0JICAgIElOVEVMX0lORk8o ZGV2X3ByaXYpLT5kaXNwbGF5LmN1cnNvcl9uZWVkc19waHlzaWNhbCkgewotCQlzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqID0gaW50ZWxfZmJfb2JqKGZiKTsKLQkJY29uc3QgaW50IGFs aWduID0gaW50ZWxfY3Vyc29yX2FsaWdubWVudChkZXZfcHJpdik7Ci0JCWludCBlcnI7Ci0KLQkJ ZXJyID0gaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzKG9iaiwgYWxpZ24pOwotCQlpZiAoZXJy KQotCQkJcmV0dXJuIGVycjsKLQl9Ci0KLQl2bWEgPSBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29i aihmYiwKKwl2bWEgPSBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihmYiwgcGh5c19jdXJzb3Is CiAJCQkJCSAmcGxhbmVfc3RhdGUtPnZpZXcsCiAJCQkJCSBpbnRlbF9wbGFuZV91c2VzX2ZlbmNl KHBsYW5lX3N0YXRlKSwKIAkJCQkJICZwbGFuZV9zdGF0ZS0+ZmxhZ3MpOwpAQCAtMTY3MzQsMTMg KzE2NzU2LDggQEAgaW50ZWxfcHJlcGFyZV9wbGFuZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpfcGxh bmUsCiAJaWYgKCFvYmopCiAJCXJldHVybiAwOwogCi0JcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3Bp bl9wYWdlcyhvYmopOwotCWlmIChyZXQpCi0JCXJldHVybiByZXQ7CiAKIAlyZXQgPSBpbnRlbF9w bGFuZV9waW5fZmIobmV3X3BsYW5lX3N0YXRlKTsKLQotCWk5MTVfZ2VtX29iamVjdF91bnBpbl9w YWdlcyhvYmopOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmgKaW5kZXggNWUwZDQyZDgyYzExLi41ZjVlNjMy ZTIxNmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlz cGxheS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5o CkBAIC01NjksNyArNTY5LDcgQEAgdm9pZCBpbnRlbF9yZWxlYXNlX2xvYWRfZGV0ZWN0X3BpcGUo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCQkgICAgc3RydWN0IGludGVsX2xv YWRfZGV0ZWN0X3BpcGUgKm9sZCwKIAkJCQkgICAgc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVf Y3R4ICpjdHgpOwogc3RydWN0IGk5MTVfdm1hICoKLWludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2Jq KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAoraW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmoo c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGJvb2wgcGh5c19jdXJzb3IsCiAJCQkgICBjb25z dCBzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZpZXcsCiAJCQkgICBib29sIHVzZXNfZmVuY2UsCiAJ CQkgICB1bnNpZ25lZCBsb25nICpvdXRfZmxhZ3MpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmRldi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9mYmRldi5jCmluZGV4IDg0MmMwNGU2MzIxNC4uYmRmNDRlOTIzY2MwIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2ZiZGV2LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmRldi5jCkBAIC0yMTEsNyArMjEx LDcgQEAgc3RhdGljIGludCBpbnRlbGZiX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVs cGVyLAogCSAqIFRoaXMgYWxzbyB2YWxpZGF0ZXMgdGhhdCBhbnkgZXhpc3RpbmcgZmIgaW5oZXJp dGVkIGZyb20gdGhlCiAJICogQklPUyBpcyBzdWl0YWJsZSBmb3Igb3duIGFjY2Vzcy4KIAkgKi8K LQl2bWEgPSBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaigmaWZiZGV2LT5mYi0+YmFzZSwKKwl2 bWEgPSBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaigmaWZiZGV2LT5mYi0+YmFzZSwgZmFsc2Us CiAJCQkJCSAmdmlldywgZmFsc2UsICZmbGFncyk7CiAJaWYgKElTX0VSUih2bWEpKSB7CiAJCXJl dCA9IFBUUl9FUlIodm1hKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfb3ZlcmxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9v dmVybGF5LmMKaW5kZXggNTJiNGY2MTkzYjRjLi45Y2Y2MzRjYzcwODQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfb3ZlcmxheS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfb3ZlcmxheS5jCkBAIC03NTUsNiArNzU1LDMyIEBA IHN0YXRpYyB1MzIgb3ZlcmxheV9jbWRfcmVnKHN0cnVjdCBkcm1faW50ZWxfb3ZlcmxheV9wdXRf aW1hZ2UgKnBhcmFtcykKIAlyZXR1cm4gY21kOwogfQogCitzdGF0aWMgc3RydWN0IGk5MTVfdm1h ICppbnRlbF9vdmVybGF5X3Bpbl9mYihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqbmV3X2Jv KQoreworCXN0cnVjdCBpOTE1X2dlbV93d19jdHggd3c7CisJc3RydWN0IGk5MTVfdm1hICp2bWE7 CisJaW50IHJldDsKKworCWk5MTVfZ2VtX3d3X2N0eF9pbml0KCZ3dywgdHJ1ZSk7CityZXRyeToK KwlyZXQgPSBpOTE1X2dlbV9vYmplY3RfbG9jayhuZXdfYm8sICZ3dyk7CisJaWYgKCFyZXQpIHsK KwkJdm1hID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKG5ld19ibywgJnd3 LCAwLAorCQkJCQkJCSAgIE5VTEwsIFBJTl9NQVBQQUJMRSk7CisJCXJldCA9IFBUUl9FUlJfT1Jf WkVSTyh2bWEpOworCX0KKwlpZiAocmV0ID09IC1FREVBRExLKSB7CisJCXJldCA9IGk5MTVfZ2Vt X3d3X2N0eF9iYWNrb2ZmKCZ3dyk7CisJCWlmICghcmV0KQorCQkJZ290byByZXRyeTsKKwl9CisJ aTkxNV9nZW1fd3dfY3R4X2ZpbmkoJnd3KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gRVJSX1BUUihy ZXQpOworCisJcmV0dXJuIHZtYTsKK30KKwogc3RhdGljIGludCBpbnRlbF9vdmVybGF5X2RvX3B1 dF9pbWFnZShzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSwKIAkJCQkgICAgICBzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqbmV3X2JvLAogCQkJCSAgICAgIHN0cnVjdCBkcm1faW50ZWxf b3ZlcmxheV9wdXRfaW1hZ2UgKnBhcmFtcykKQEAgLTc3NiwxMiArODAyLDEwIEBAIHN0YXRpYyBp bnQgaW50ZWxfb3ZlcmxheV9kb19wdXRfaW1hZ2Uoc3RydWN0IGludGVsX292ZXJsYXkgKm92ZXJs YXksCiAKIAlhdG9taWNfaW5jKCZkZXZfcHJpdi0+Z3B1X2Vycm9yLnBlbmRpbmdfZmJfcGluKTsK IAotCXZtYSA9IGk5MTVfZ2VtX29iamVjdF9waW5fdG9fZGlzcGxheV9wbGFuZShuZXdfYm8sCi0J CQkJCQkgICAwLCBOVUxMLCBQSU5fTUFQUEFCTEUpOwotCWlmIChJU19FUlIodm1hKSkgewotCQly ZXQgPSBQVFJfRVJSKHZtYSk7CisJdm1hID0gaW50ZWxfb3ZlcmxheV9waW5fZmIobmV3X2JvKTsK KwlpZiAoSVNfRVJSKHZtYSkpCiAJCWdvdG8gb3V0X3Bpbl9zZWN0aW9uOwotCX0KKwogCWk5MTVf Z2VtX29iamVjdF9mbHVzaF9mcm9udGJ1ZmZlcihuZXdfYm8sIE9SSUdJTl9ESVJUWUZCKTsKIAog CWlmICghb3ZlcmxheS0+YWN0aXZlKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vaTkxNV9nZW1fZG9tYWluLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fZG9tYWluLmMKaW5kZXggYzFkNGJmNjJiM2VhLi41MWEzM2M0ZjYxZDAgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9kb21haW4uYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG9tYWluLmMKQEAgLTMxMywxMiArMzEzLDEyIEBA IGludCBpOTE1X2dlbV9zZXRfY2FjaGluZ19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2 b2lkICpkYXRhLAogICovCiBzdHJ1Y3QgaTkxNV92bWEgKgogaTkxNV9nZW1fb2JqZWN0X3Bpbl90 b19kaXNwbGF5X3BsYW5lKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCisJCQkJICAg ICBzdHJ1Y3QgaTkxNV9nZW1fd3dfY3R4ICp3dywKIAkJCQkgICAgIHUzMiBhbGlnbm1lbnQsCiAJ CQkJICAgICBjb25zdCBzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZpZXcsCiAJCQkJICAgICB1bnNp Z25lZCBpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19p OTE1KG9iai0+YmFzZS5kZXYpOwotCXN0cnVjdCBpOTE1X2dlbV93d19jdHggd3c7CiAJc3RydWN0 IGk5MTVfdm1hICp2bWE7CiAJaW50IHJldDsKIApAQCAtMzI2LDExICszMjYsNiBAQCBpOTE1X2dl bV9vYmplY3RfcGluX3RvX2Rpc3BsYXlfcGxhbmUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwKIAlpZiAoSEFTX0xNRU0oaTkxNSkgJiYgIWk5MTVfZ2VtX29iamVjdF9pc19sbWVtKG9i aikpCiAJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwogCi0JaTkxNV9nZW1fd3dfY3R4X2luaXQo Jnd3LCB0cnVlKTsKLXJldHJ5OgotCXJldCA9IGk5MTVfZ2VtX29iamVjdF9sb2NrKG9iaiwgJnd3 KTsKLQlpZiAocmV0KQotCQlnb3RvIGVycjsKIAkvKgogCSAqIFRoZSBkaXNwbGF5IGVuZ2luZSBp cyBub3QgY29oZXJlbnQgd2l0aCB0aGUgTExDIGNhY2hlIG9uIGdlbjYuICBBcwogCSAqIGEgcmVz dWx0LCB3ZSBtYWtlIHN1cmUgdGhhdCB0aGUgcGlubmluZyB0aGF0IGlzIGFib3V0IHRvIG9jY3Vy IGlzCkBAIC0zNDUsNyArMzQwLDcgQEAgaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19kaXNwbGF5X3Bs YW5lKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkJCSAgICAgIEhBU19XVChp OTE1KSA/CiAJCQkJCSAgICAgIEk5MTVfQ0FDSEVfV1QgOiBJOTE1X0NBQ0hFX05PTkUpOwogCWlm IChyZXQpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gRVJSX1BUUihyZXQpOwogCiAJLyoKIAkgKiBB cyB0aGUgdXNlciBtYXkgbWFwIHRoZSBidWZmZXIgb25jZSBwaW5uZWQgaW4gdGhlIGRpc3BsYXkg cGxhbmUKQEAgLTM1OCwzMiArMzUzLDE5IEBAIGk5MTVfZ2VtX29iamVjdF9waW5fdG9fZGlzcGxh eV9wbGFuZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCXZtYSA9IEVSUl9QVFIo LUVOT1NQQyk7CiAJaWYgKChmbGFncyAmIFBJTl9NQVBQQUJMRSkgPT0gMCAmJgogCSAgICAoIXZp ZXcgfHwgdmlldy0+dHlwZSA9PSBJOTE1X0dHVFRfVklFV19OT1JNQUwpKQotCQl2bWEgPSBpOTE1 X2dlbV9vYmplY3RfZ2d0dF9waW5fd3cob2JqLCAmd3csIHZpZXcsIDAsIGFsaWdubWVudCwKKwkJ dm1hID0gaTkxNV9nZW1fb2JqZWN0X2dndHRfcGluX3d3KG9iaiwgd3csIHZpZXcsIDAsIGFsaWdu bWVudCwKIAkJCQkJCSAgZmxhZ3MgfCBQSU5fTUFQUEFCTEUgfAogCQkJCQkJICBQSU5fTk9OQkxP Q0spOwogCWlmIChJU19FUlIodm1hKSAmJiB2bWEgIT0gRVJSX1BUUigtRURFQURMSykpCi0JCXZt YSA9IGk5MTVfZ2VtX29iamVjdF9nZ3R0X3Bpbl93dyhvYmosICZ3dywgdmlldywgMCwKKwkJdm1h ID0gaTkxNV9nZW1fb2JqZWN0X2dndHRfcGluX3d3KG9iaiwgd3csIHZpZXcsIDAsCiAJCQkJCQkg IGFsaWdubWVudCwgZmxhZ3MpOwotCWlmIChJU19FUlIodm1hKSkgewotCQlyZXQgPSBQVFJfRVJS KHZtYSk7Ci0JCWdvdG8gZXJyOwotCX0KKwlpZiAoSVNfRVJSKHZtYSkpCisJCXJldHVybiB2bWE7 CiAKIAl2bWEtPmRpc3BsYXlfYWxpZ25tZW50ID0gbWF4X3QodTY0LCB2bWEtPmRpc3BsYXlfYWxp Z25tZW50LCBhbGlnbm1lbnQpOwogCiAJaTkxNV9nZW1fb2JqZWN0X2ZsdXNoX2lmX2Rpc3BsYXlf bG9ja2VkKG9iaik7CiAKLWVycjoKLQlpZiAocmV0ID09IC1FREVBRExLKSB7Ci0JCXJldCA9IGk5 MTVfZ2VtX3d3X2N0eF9iYWNrb2ZmKCZ3dyk7Ci0JCWlmICghcmV0KQotCQkJZ290byByZXRyeTsK LQl9Ci0JaTkxNV9nZW1fd3dfY3R4X2ZpbmkoJnd3KTsKLQotCWlmIChyZXQpCi0JCXJldHVybiBF UlJfUFRSKHJldCk7Ci0KIAlyZXR1cm4gdm1hOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fb2JqZWN0LmgKaW5kZXggYWFhNTc0NTQ1Nzc2Li4wYzM1N2U5MWRjZTQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmgKQEAgLTQ3Miw2ICs0 NzIsNyBAQCBpbnQgX19tdXN0X2NoZWNrCiBpOTE1X2dlbV9vYmplY3Rfc2V0X3RvX2NwdV9kb21h aW4oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgYm9vbCB3cml0ZSk7CiBzdHJ1Y3Qg aTkxNV92bWEgKiBfX211c3RfY2hlY2sKIGk5MTVfZ2VtX29iamVjdF9waW5fdG9fZGlzcGxheV9w bGFuZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJCSAgICAgc3RydWN0IGk5 MTVfZ2VtX3d3X2N0eCAqd3csCiAJCQkJICAgICB1MzIgYWxpZ25tZW50LAogCQkJCSAgICAgY29u c3Qgc3RydWN0IGk5MTVfZ2d0dF92aWV3ICp2aWV3LAogCQkJCSAgICAgdW5zaWduZWQgaW50IGZs YWdzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlz LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jCmluZGV4IDBkMTc2 YmYwNjQwNS4uZjMxN2JlNWY1ZTM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fcGh5cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dl bV9waHlzLmMKQEAgLTIxOSw2ICsyMTksOCBAQCBpbnQgaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9w aHlzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGludCBhbGlnbikKIHsKIAlpbnQg ZXJyOwogCisJYXNzZXJ0X29iamVjdF9oZWxkKG9iaik7CisKIAlpZiAoYWxpZ24gPiBvYmotPmJh c2Uuc2l6ZSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKQEAgLTIzMiwxMyArMjM0LDkgQEAgaW50IGk5 MTVfZ2VtX29iamVjdF9hdHRhY2hfcGh5cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LCBpbnQgYWxpZ24pCiAJaWYgKGVycikKIAkJcmV0dXJuIGVycjsKIAotCWVyciA9IGk5MTVfZ2Vt X29iamVjdF9sb2NrX2ludGVycnVwdGlibGUob2JqLCBOVUxMKTsKLQlpZiAoZXJyKQotCQlyZXR1 cm4gZXJyOwotCiAJZXJyID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZvYmotPm1tLmxvY2sp OwogCWlmIChlcnIpCi0JCWdvdG8gZXJyX3VubG9jazsKKwkJcmV0dXJuIGVycjsKIAogCWlmICh1 bmxpa2VseSghaTkxNV9nZW1fb2JqZWN0X2hhc19zdHJ1Y3RfcGFnZShvYmopKSkKIAkJZ290byBv dXQ7CkBAIC0yNjksOCArMjY3LDYgQEAgaW50IGk5MTVfZ2VtX29iamVjdF9hdHRhY2hfcGh5cyhz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCBpbnQgYWxpZ24pCiAKIG91dDoKIAltdXRl eF91bmxvY2soJm9iai0+bW0ubG9jayk7Ci1lcnJfdW5sb2NrOgotCWk5MTVfZ2VtX29iamVjdF91 bmxvY2sob2JqKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX3BoeXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fcGh5cy5jCmluZGV4IDBjZmEwODIwNDdmZS4uM2E2 Y2U4N2Y4YjUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3Rz L2k5MTVfZ2VtX3BoeXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3Rz L2k5MTVfZ2VtX3BoeXMuYwpAQCAtMzEsNyArMzEsOSBAQCBzdGF0aWMgaW50IG1vY2tfcGh5c19v YmplY3Qodm9pZCAqYXJnKQogCQlnb3RvIG91dF9vYmo7CiAJfQogCisJaTkxNV9nZW1fb2JqZWN0 X2xvY2sob2JqLCBOVUxMKTsKIAllcnIgPSBpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMob2Jq LCBQQUdFX1NJWkUpOworCWk5MTVfZ2VtX29iamVjdF91bmxvY2sob2JqKTsKIAlpZiAoZXJyKSB7 CiAJCXByX2VycigiaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzIGZhaWxlZCwgZXJyPSVkXG4i LCBlcnIpOwogCQlnb3RvIG91dF9vYmo7Ci0tIAoyLjI5LjIuMjIyLmc1ZDJhOTJkMTBmOAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==