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 E7EC5C49360 for ; Mon, 14 Jun 2021 09:53:16 +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 A221661289 for ; Mon, 14 Jun 2021 09:53:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A221661289 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 8EB2089D77; Mon, 14 Jun 2021 09:53:10 +0000 (UTC) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id F0BF789CCE; Mon, 14 Jun 2021 09:53:07 +0000 (UTC) IronPort-SDR: jtTwJLLsQAZ4ehGa/l9BwTSt75BRsVD4dGEGG04qcDABLotvSsd8wxWzl/ux1sVXtAuxZZtKlQ rrLXfiFlnYcQ== X-IronPort-AV: E=McAfee;i="6200,9189,10014"; a="269634168" X-IronPort-AV: E=Sophos;i="5.83,273,1616482800"; d="scan'208";a="269634168" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jun 2021 02:53:07 -0700 IronPort-SDR: mGjelSmalsuSZY+0ggskv9O8D07h/DN4hlxqVUt7iylNno8O83VlUWLnUkKpf+cxSXZHZKJVqa qbXkMZfiIU0A== X-IronPort-AV: E=Sophos;i="5.83,273,1616482800"; d="scan'208";a="449838982" Received: from janlundk-mobl1.ger.corp.intel.com (HELO thellst-mobl1.intel.com) ([10.249.254.32]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jun 2021 02:53:06 -0700 From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Date: Mon, 14 Jun 2021 11:52:28 +0200 Message-Id: <20210614095230.126284-3-thomas.hellstrom@linux.intel.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210614095230.126284-1-thomas.hellstrom@linux.intel.com> References: <20210614095230.126284-1-thomas.hellstrom@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v3 2/4] drm/i915/ttm: Adjust gem flags and caching settings after a move 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?= , matthew.auld@intel.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" QWZ0ZXIgYSBUVE0gbW92ZSBvciBvYmplY3QgaW5pdCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgaTkx NSBnZW0gZmxhZ3MgYW5kCmNhY2hpbmcgc2V0dGluZ3MgdG8gcmVmbGVjdCB0aGUgbmV3IHBsYWNl bWVudC4gQ3VycmVudGx5IGNhY2hpbmcgc2V0dGluZ3MKYXJlIG5vdCBjaGFuZ2VkIGR1cmluZyB0 aGUgbGlmZXRpbWUgb2YgYW4gb2JqZWN0LCBhbHRob3VnaCB0aGF0IG1pZ2h0CmNoYW5nZSBtb3Zp bmcgZm9yd2FyZCBpZiB3ZSBydW4gaW50byBwZXJmb3JtYW5jZSBpc3N1ZXMgb3IgaXNzdWVzIHdp dGgKV0Mgc3lzdGVtIHBhZ2UgYWxsb2NhdGlvbnMuCkFsc28gaW50cm9kdWNlIGdwdV9iaW5kc19p b21lbSgpIGFuZCBjcHVfbWFwc19pb21lbSgpIHRvIGNsZWFuIHVwIHRoZQp2YXJpb3VzIHdheXMg d2UgcHJldmlvdXNseSB1c2VkIHRvIGRldGVjdCB0aGlzLgpGaW5hbGx5LCBpbml0aWFsaXplIHRo ZSBUVE0gb2JqZWN0IHJlc2VydmVkIHRvIGJlIGFibGUgdG8gdXBkYXRlCmZsYWdzIGFuZCBjYWNo aW5nIGJlZm9yZSBhbnlvbmUgZWxzZSBnZXRzIGhvbGQgb2YgdGhlIG9iamVjdC4KClNpZ25lZC1v ZmYtYnk6IFRob21hcyBIZWxsc3Ryw7ZtIDx0aG9tYXMuaGVsbHN0cm9tQGxpbnV4LmludGVsLmNv bT4KLS0tCnYyOgotIFN0eWxlIGZpeGVzIChSZXBvcnRlZCBieSBNYXR0aGV3IEF1bGQpCnYzOgot IE1vcmUgc3R5bGUgZml4ZXMuIENsYXJpZnkgd2h5IHdlJ3JlIHVwZGF0aW5nIGNhY2hpbmcgc2V0 dGluZ3MgYWZ0ZXIgbW92ZS4KICAoU3VnZ2VzdGVkIGJ5IE1hdHRoZXcgQXVsZCkKLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdHRtLmMgfCAxMTEgKysrKysrKysrKysrKysr KysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgODkgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3R0bS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3R0bS5jCmluZGV4IDMzYWI0N2Yx ZTA1Yi4uNTE3NjY4MmE3ZDE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fdHRtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3R0 bS5jCkBAIC03MCw2ICs3MCwxNyBAQCBzdGF0aWMgc3RydWN0IHR0bV9wbGFjZW1lbnQgaTkxNV9z eXNfcGxhY2VtZW50ID0gewogCS5idXN5X3BsYWNlbWVudCA9ICZsbWVtMF9zeXNfcGxhY2VtZW50 X2ZsYWdzWzFdLAogfTsKIAorc3RhdGljIGJvb2wgZ3B1X2JpbmRzX2lvbWVtKHN0cnVjdCB0dG1f cmVzb3VyY2UgKm1lbSkKK3sKKwlyZXR1cm4gbWVtLT5tZW1fdHlwZSAhPSBUVE1fUExfU1lTVEVN OworfQorCitzdGF0aWMgYm9vbCBjcHVfbWFwc19pb21lbShzdHJ1Y3QgdHRtX3Jlc291cmNlICpt ZW0pCit7CisJLyogT25jZSAvIGlmIHdlIHN1cHBvcnQgR0dUVCwgdGhpcyBpcyBhbHNvIGZhbHNl IGZvciBjYWNoZWQgdHRtX3R0cyAqLworCXJldHVybiBtZW0tPm1lbV90eXBlICE9IFRUTV9QTF9T WVNURU07Cit9CisKIHN0YXRpYyB2b2lkIGk5MTVfdHRtX2FkanVzdF9scnUoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaik7CiAKIHN0YXRpYyBzdHJ1Y3QgdHRtX3R0ICppOTE1X3R0bV90 dF9jcmVhdGUoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKQEAgLTE3NSw2ICsxODYsNDAg QEAgc3RhdGljIHZvaWQgaTkxNV90dG1fZnJlZV9jYWNoZWRfaW9fc3Qoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaikKIAlvYmotPnR0bS5jYWNoZWRfaW9fc3QgPSBOVUxMOwogfQogCitz dGF0aWMgdm9pZAoraTkxNV90dG1fYWRqdXN0X2RvbWFpbnNfYWZ0ZXJfY3B1X21vdmUoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKK3sKKwlzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3Qg KmJvID0gaTkxNV9nZW1fdG9fdHRtKG9iaik7CisKKwlpZiAoY3B1X21hcHNfaW9tZW0oYm8tPnJl c291cmNlKSB8fCBiby0+dHRtLT5jYWNoaW5nICE9IHR0bV9jYWNoZWQpIHsKKwkJb2JqLT53cml0 ZV9kb21haW4gPSBJOTE1X0dFTV9ET01BSU5fV0M7CisJCW9iai0+cmVhZF9kb21haW5zID0gSTkx NV9HRU1fRE9NQUlOX1dDOworCX0gZWxzZSB7CisJCW9iai0+d3JpdGVfZG9tYWluID0gSTkxNV9H RU1fRE9NQUlOX0NQVTsKKwkJb2JqLT5yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5fQ1BV OworCX0KK30KKworc3RhdGljIHZvaWQgaTkxNV90dG1fYWRqdXN0X2dlbV9hZnRlcl9tb3ZlKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUgPSB0b19pOTE1KG9iai0+YmFzZS5kZXYpOworCXN0cnVjdCB0dG1fYnVmZmVyX29i amVjdCAqYm8gPSBpOTE1X2dlbV90b190dG0ob2JqKTsKKwl1bnNpZ25lZCBpbnQgY2FjaGVfbGV2 ZWw7CisKKwlvYmotPm1lbV9mbGFncyAmPSB+KEk5MTVfQk9fRkxBR19TVFJVQ1RfUEFHRSB8IEk5 MTVfQk9fRkxBR19JT01FTSk7CisKKwlvYmotPm1lbV9mbGFncyB8PSBjcHVfbWFwc19pb21lbShi by0+cmVzb3VyY2UpID8gSTkxNV9CT19GTEFHX0lPTUVNIDoKKwkJSTkxNV9CT19GTEFHX1NUUlVD VF9QQUdFOworCisJaWYgKChIQVNfTExDKGk5MTUpIHx8IEhBU19TTk9PUChpOTE1KSkgJiYgIWdw dV9iaW5kc19pb21lbShiby0+cmVzb3VyY2UpICYmCisJICAgIGJvLT50dG0tPmNhY2hpbmcgPT0g dHRtX2NhY2hlZCkKKwkJY2FjaGVfbGV2ZWwgPSBJOTE1X0NBQ0hFX0xMQzsKKwllbHNlCisJCWNh Y2hlX2xldmVsID0gSTkxNV9DQUNIRV9OT05FOworCisJaTkxNV9nZW1fb2JqZWN0X3NldF9jYWNo ZV9jb2hlcmVuY3kob2JqLCBjYWNoZV9sZXZlbCk7Cit9CisKIHN0YXRpYyB2b2lkIGk5MTVfdHRt X3B1cmdlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7CiAJc3RydWN0IHR0bV9i dWZmZXJfb2JqZWN0ICpibyA9IGk5MTVfZ2VtX3RvX3R0bShvYmopOwpAQCAtMTkwLDggKzIzNSwx MCBAQCBzdGF0aWMgdm9pZCBpOTE1X3R0bV9wdXJnZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqKQogCiAJLyogVFRNJ3MgcHVyZ2UgaW50ZXJmYWNlLiBOb3RlIHRoYXQgd2UgbWlnaHQg YmUgcmVlbnRlcmluZy4gKi8KIAlyZXQgPSB0dG1fYm9fdmFsaWRhdGUoYm8sICZwbGFjZSwgJmN0 eCk7Ci0KIAlpZiAoIXJldCkgeworCQlvYmotPndyaXRlX2RvbWFpbiA9IDA7CisJCW9iai0+cmVh ZF9kb21haW5zID0gMDsKKwkJaTkxNV90dG1fYWRqdXN0X2dlbV9hZnRlcl9tb3ZlKG9iaik7CiAJ CWk5MTVfdHRtX2ZyZWVfY2FjaGVkX2lvX3N0KG9iaik7CiAJCW9iai0+bW0ubWFkdiA9IF9fSTkx NV9NQURWX1BVUkdFRDsKIAl9CkBAIC0yNzMsMTIgKzMyMCwxNSBAQCBpOTE1X3R0bV9yZXNvdXJj ZV9nZXRfc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCSBzdHJ1Y3QgdHRt X3Jlc291cmNlICpyZXMpCiB7CiAJc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibyA9IGk5MTVf Z2VtX3RvX3R0bShvYmopOwotCXN0cnVjdCB0dG1fcmVzb3VyY2VfbWFuYWdlciAqbWFuID0KLQkJ dHRtX21hbmFnZXJfdHlwZShiby0+YmRldiwgcmVzLT5tZW1fdHlwZSk7CiAKLQlpZiAobWFuLT51 c2VfdHQpCisJaWYgKCFncHVfYmluZHNfaW9tZW0ocmVzKSkKIAkJcmV0dXJuIGk5MTVfdHRtX3R0 X2dldF9zdChiby0+dHRtKTsKIAorCS8qCisJICogSWYgQ1BVIG1hcHBpbmcgZGlmZmVycywgd2Ug bmVlZCB0byBhZGQgdGhlIHR0bV90dCBwYWdlcyB0bworCSAqIHRoZSByZXN1bHRpbmcgc3QuIE1p Z2h0IG1ha2Ugc2Vuc2UgZm9yIEdHVFQuCisJICovCisJR0VNX1dBUk5fT04oIWNwdV9tYXBzX2lv bWVtKHJlcykpOwogCXJldHVybiBpbnRlbF9yZWdpb25fdHRtX25vZGVfdG9fc3Qob2JqLT5tbS5y ZWdpb24sIHJlcyk7CiB9CiAKQEAgLTI5MCw4ICszNDAsNiBAQCBzdGF0aWMgaW50IGk5MTVfdHRt X21vdmUoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywgYm9vbCBldmljdCwKIAlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gaTkxNV90dG1fdG9fZ2VtKGJvKTsKIAlzdHJ1Y3Qg dHRtX3Jlc291cmNlX21hbmFnZXIgKmRzdF9tYW4gPQogCQl0dG1fbWFuYWdlcl90eXBlKGJvLT5i ZGV2LCBkc3RfbWVtLT5tZW1fdHlwZSk7Ci0Jc3RydWN0IHR0bV9yZXNvdXJjZV9tYW5hZ2VyICpz cmNfbWFuID0KLQkJdHRtX21hbmFnZXJfdHlwZShiby0+YmRldiwgYm8tPnJlc291cmNlLT5tZW1f dHlwZSk7CiAJc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKmRzdF9yZWcsICpzcmNfcmVnOwog CXVuaW9uIHsKIAkJc3RydWN0IHR0bV9rbWFwX2l0ZXJfdHQgdHQ7CkBAIC0zMzIsMzQgKzM4MCwz NiBAQCBzdGF0aWMgaW50IGk5MTVfdHRtX21vdmUoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpi bywgYm9vbCBldmljdCwKIAlpZiAoSVNfRVJSKGRzdF9zdCkpCiAJCXJldHVybiBQVFJfRVJSKGRz dF9zdCk7CiAKLQkvKiBJZiB3ZSBzdGFydCBtYXBwaW5nIEdHVFQsIHdlIGNhbiBubyBsb25nZXIg dXNlIG1hbjo6dXNlX3R0IGhlcmUuICovCi0JZHN0X2l0ZXIgPSBkc3RfbWFuLT51c2VfdHQgPwor CWRzdF9pdGVyID0gIWNwdV9tYXBzX2lvbWVtKGRzdF9tZW0pID8KIAkJdHRtX2ttYXBfaXRlcl90 dF9pbml0KCZfZHN0X2l0ZXIudHQsIGJvLT50dG0pIDoKIAkJdHRtX2ttYXBfaXRlcl9pb21hcF9p bml0KCZfZHN0X2l0ZXIuaW8sICZkc3RfcmVnLT5pb21hcCwKIAkJCQkJIGRzdF9zdCwgZHN0X3Jl Zy0+cmVnaW9uLnN0YXJ0KTsKIAotCXNyY19pdGVyID0gc3JjX21hbi0+dXNlX3R0ID8KKwlzcmNf aXRlciA9ICFjcHVfbWFwc19pb21lbShiby0+cmVzb3VyY2UpID8KIAkJdHRtX2ttYXBfaXRlcl90 dF9pbml0KCZfc3JjX2l0ZXIudHQsIGJvLT50dG0pIDoKIAkJdHRtX2ttYXBfaXRlcl9pb21hcF9p bml0KCZfc3JjX2l0ZXIuaW8sICZzcmNfcmVnLT5pb21hcCwKIAkJCQkJIG9iai0+dHRtLmNhY2hl ZF9pb19zdCwKIAkJCQkJIHNyY19yZWctPnJlZ2lvbi5zdGFydCk7CiAKIAl0dG1fbW92ZV9tZW1j cHkoYm8sIGRzdF9tZW0tPm51bV9wYWdlcywgZHN0X2l0ZXIsIHNyY19pdGVyKTsKKwkvKiBCZWxv dyBkc3RfbWVtIGJlY29tZXMgYm8tPnJlc291cmNlLiAqLwogCXR0bV9ib19tb3ZlX3N5bmNfY2xl YW51cChibywgZHN0X21lbSk7CisJaTkxNV90dG1fYWRqdXN0X2RvbWFpbnNfYWZ0ZXJfY3B1X21v dmUob2JqKTsKIAlpOTE1X3R0bV9mcmVlX2NhY2hlZF9pb19zdChvYmopOwogCi0JaWYgKCFkc3Rf bWFuLT51c2VfdHQpIHsKKwlpZiAoZ3B1X2JpbmRzX2lvbWVtKGRzdF9tZW0pIHx8IGNwdV9tYXBz X2lvbWVtKGRzdF9tZW0pKSB7CiAJCW9iai0+dHRtLmNhY2hlZF9pb19zdCA9IGRzdF9zdDsKIAkJ b2JqLT50dG0uZ2V0X2lvX3BhZ2Uuc2dfcG9zID0gZHN0X3N0LT5zZ2w7CiAJCW9iai0+dHRtLmdl dF9pb19wYWdlLnNnX2lkeCA9IDA7CiAJfQogCisJaTkxNV90dG1fYWRqdXN0X2dlbV9hZnRlcl9t b3ZlKG9iaik7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgaTkxNV90dG1faW9fbWVtX3Jl c2VydmUoc3RydWN0IHR0bV9kZXZpY2UgKmJkZXYsIHN0cnVjdCB0dG1fcmVzb3VyY2UgKm1lbSkK IHsKLQlpZiAobWVtLT5tZW1fdHlwZSA8IEk5MTVfUExfTE1FTTApCisJaWYgKCFjcHVfbWFwc19p b21lbShtZW0pKQogCQlyZXR1cm4gMDsKIAogCW1lbS0+YnVzLmNhY2hpbmcgPSB0dG1fd3JpdGVf Y29tYmluZWQ7CkBAIC00MjEsNiArNDcxLDE2IEBAIHN0YXRpYyBpbnQgaTkxNV90dG1fZ2V0X3Bh Z2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJaWYgKHJldCkKIAkJcmV0dXJu IHJldCA9PSAtRU5PU1BDID8gLUVOWElPIDogcmV0OwogCisJaTkxNV90dG1fYWRqdXN0X2xydShv YmopOworCWlmIChiby0+dHRtICYmICF0dG1fdHRfaXNfcG9wdWxhdGVkKGJvLT50dG0pKSB7CisJ CXJldCA9IHR0bV90dF9wb3B1bGF0ZShiby0+YmRldiwgYm8tPnR0bSwgJmN0eCk7CisJCWlmIChy ZXQpCisJCQlyZXR1cm4gcmV0OworCisJCWk5MTVfdHRtX2FkanVzdF9kb21haW5zX2FmdGVyX2Nw dV9tb3ZlKG9iaik7CisJCWk5MTVfdHRtX2FkanVzdF9nZW1fYWZ0ZXJfbW92ZShvYmopOworCX0K KwogCS8qIE9iamVjdCBlaXRoZXIgaGFzIGEgcGFnZSB2ZWN0b3Igb3IgaXMgYW4gaW9tZW0gb2Jq ZWN0ICovCiAJc3QgPSBiby0+dHRtID8gaTkxNV90dG1fdHRfZ2V0X3N0KGJvLT50dG0pIDogb2Jq LT50dG0uY2FjaGVkX2lvX3N0OwogCWlmIChJU19FUlIoc3QpKQpAQCAtNDI4LDggKzQ4OCw2IEBA IHN0YXRpYyBpbnQgaTkxNV90dG1fZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmopCiAKIAlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2JqLCBzdCwgaTkxNV9zZ19k bWFfc2l6ZXMoc3QtPnNnbCkpOwogCi0JaTkxNV90dG1fYWRqdXN0X2xydShvYmopOwotCiAJcmV0 dXJuIHJldDsKIH0KIApAQCAtNTYzLDYgKzYyMSw3IEBAIHN0YXRpYyB1NjQgaTkxNV90dG1fbW1h cF9vZmZzZXQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAogY29uc3Qgc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzIGk5MTVfZ2VtX3R0bV9vYmpfb3BzID0gewogCS5uYW1l ID0gImk5MTVfZ2VtX29iamVjdF90dG0iLAorCS5mbGFncyA9IEk5MTVfR0VNX09CSkVDVF9JU19T SFJJTktBQkxFLAogCiAJLmdldF9wYWdlcyA9IGk5MTVfdHRtX2dldF9wYWdlcywKIAkucHV0X3Bh Z2VzID0gaTkxNV90dG1fcHV0X3BhZ2VzLApAQCAtNTk5LDYgKzY1OCwxMCBAQCBpbnQgX19pOTE1 X2dlbV90dG1fb2JqZWN0X2luaXQoc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSwKIHsK IAlzdGF0aWMgc3RydWN0IGxvY2tfY2xhc3Nfa2V5IGxvY2tfY2xhc3M7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUgPSBtZW0tPmk5MTU7CisJc3RydWN0IHR0bV9vcGVyYXRpb25fY3R4 IGN0eCA9IHsKKwkJLmludGVycnVwdGlibGUgPSB0cnVlLAorCQkubm9fd2FpdF9ncHUgPSBmYWxz ZSwKKwl9OwogCWVudW0gdHRtX2JvX3R5cGUgYm9fdHlwZTsKIAlzaXplX3QgYWxpZ25tZW50ID0g MDsKIAlpbnQgcmV0OwpAQCAtNjE4LDE1ICs2ODEsMTQgQEAgaW50IF9faTkxNV9nZW1fdHRtX29i amVjdF9pbml0KHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiAJaTkxNV9nZW1fb2Jq ZWN0X2luaXQob2JqLCAmaTkxNV9nZW1fdHRtX29ial9vcHMsICZsb2NrX2NsYXNzLCBmbGFncyk7 CiAJaTkxNV9nZW1fb2JqZWN0X2luaXRfbWVtb3J5X3JlZ2lvbihvYmosIG1lbSk7CiAJaTkxNV9n ZW1fb2JqZWN0X21ha2VfdW5zaHJpbmthYmxlKG9iaik7Ci0Jb2JqLT5yZWFkX2RvbWFpbnMgPSBJ OTE1X0dFTV9ET01BSU5fV0MgfCBJOTE1X0dFTV9ET01BSU5fR1RUOwotCW9iai0+bWVtX2ZsYWdz IHw9IEk5MTVfQk9fRkxBR19JT01FTTsKLQlpOTE1X2dlbV9vYmplY3Rfc2V0X2NhY2hlX2NvaGVy ZW5jeShvYmosIEk5MTVfQ0FDSEVfTk9ORSk7CiAJSU5JVF9SQURJWF9UUkVFKCZvYmotPnR0bS5n ZXRfaW9fcGFnZS5yYWRpeCwgR0ZQX0tFUk5FTCB8IF9fR0ZQX05PV0FSTik7CiAJbXV0ZXhfaW5p dCgmb2JqLT50dG0uZ2V0X2lvX3BhZ2UubG9jayk7CiAKIAlib190eXBlID0gKG9iai0+ZmxhZ3Mg JiBJOTE1X0JPX0FMTE9DX1VTRVIpID8gdHRtX2JvX3R5cGVfZGV2aWNlIDoKIAkJdHRtX2JvX3R5 cGVfa2VybmVsOwogCisJb2JqLT5iYXNlLnZtYV9ub2RlLmRyaXZlcl9wcml2YXRlID0gaTkxNV9n ZW1fdG9fdHRtKG9iaik7CisKIAkvKgogCSAqIElmIHRoaXMgZnVuY3Rpb24gZmFpbHMsIGl0IHdp bGwgY2FsbCB0aGUgZGVzdHJ1Y3RvciwgYnV0CiAJICogb3VyIGNhbGxlciBzdGlsbCBvd25zIHRo ZSBvYmplY3QuIFNvIG5vIGZyZWVpbmcgaW4gdGhlCkBAIC02MzQsMTQgKzY5NiwxOSBAQCBpbnQg X19pOTE1X2dlbV90dG1fb2JqZWN0X2luaXQoc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1l bSwKIAkgKiBTaW1pbGFybHksIGluIGRlbGF5ZWRfZGVzdHJveSwgd2UgY2FuJ3QgY2FsbCB0dG1f Ym9fcHV0KCkKIAkgKiB1bnRpbCBzdWNjZXNzZnVsIGluaXRpYWxpemF0aW9uLgogCSAqLwotCW9i ai0+YmFzZS52bWFfbm9kZS5kcml2ZXJfcHJpdmF0ZSA9IGk5MTVfZ2VtX3RvX3R0bShvYmopOwot CXJldCA9IHR0bV9ib19pbml0KCZpOTE1LT5iZGV2LCBpOTE1X2dlbV90b190dG0ob2JqKSwgc2l6 ZSwKLQkJCSAgYm9fdHlwZSwgJmk5MTVfc3lzX3BsYWNlbWVudCwgYWxpZ25tZW50LAotCQkJICB0 cnVlLCBOVUxMLCBOVUxMLCBpOTE1X3R0bV9ib19kZXN0cm95KTsKKwlyZXQgPSB0dG1fYm9faW5p dF9yZXNlcnZlZCgmaTkxNS0+YmRldiwgaTkxNV9nZW1fdG9fdHRtKG9iaiksIHNpemUsCisJCQkJ ICAgYm9fdHlwZSwgJmk5MTVfc3lzX3BsYWNlbWVudCwgYWxpZ25tZW50LAorCQkJCSAgICZjdHgs IE5VTEwsIE5VTEwsIGk5MTVfdHRtX2JvX2Rlc3Ryb3kpOworCisJaWYgKHJldCkKKwkJZ290byBv dXQ7CiAKLQlpZiAoIXJldCkKLQkJb2JqLT50dG0uY3JlYXRlZCA9IHRydWU7CisJb2JqLT50dG0u Y3JlYXRlZCA9IHRydWU7CisJaTkxNV90dG1fYWRqdXN0X2RvbWFpbnNfYWZ0ZXJfY3B1X21vdmUo b2JqKTsKKwlpOTE1X3R0bV9hZGp1c3RfZ2VtX2FmdGVyX21vdmUob2JqKTsKKwlpOTE1X2dlbV9v YmplY3RfdW5sb2NrKG9iaik7CiAKK291dDoKIAkvKiBpOTE1IHdhbnRzIC1FTlhJTyB3aGVuIG91 dCBvZiBtZW1vcnkgcmVnaW9uIHNwYWNlLiAqLwogCXJldHVybiAocmV0ID09IC1FTk9TUEMpID8g LUVOWElPIDogcmV0OwogfQotLSAKMi4zMS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK