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 792CCC48BE5 for ; Wed, 16 Jun 2021 15:10:54 +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 17A0961166 for ; Wed, 16 Jun 2021 15:10:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 17A0961166 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 B5DD46E03D; Wed, 16 Jun 2021 15:10:53 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id AC4B76E03D for ; Wed, 16 Jun 2021 15:10:52 +0000 (UTC) IronPort-SDR: +pWutAaAYllYLB8uf0HE2+JF5jITDHp+cF65BQD1r4kF8pcG+7PJjXxr2eM65xaFUUAwzK7p96 VnnTgtQmL2uw== X-IronPort-AV: E=McAfee;i="6200,9189,10016"; a="193503930" X-IronPort-AV: E=Sophos;i="5.83,278,1616482800"; d="scan'208";a="193503930" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jun 2021 08:10:50 -0700 IronPort-SDR: wM3kLbvAGGtHYdw5xBF12h3G4cStADiTZIlRbKt2YaCgd/LPbpVq6vKjcKZUWCUhRasNbOsgl1 nkWRmq3JNbDQ== X-IronPort-AV: E=Sophos;i="5.83,278,1616482800"; d="scan'208";a="554072017" Received: from kinstrum-mobl1.ger.corp.intel.com (HELO thellst-mobl1.intel.com) ([10.249.254.192]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jun 2021 08:10:48 -0700 From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= To: intel-gfx@lists.freedesktop.org Date: Wed, 16 Jun 2021 17:10:33 +0200 Message-Id: <20210616151033.45481-1-thomas.hellstrom@linux.intel.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH] drm/i915/ttm: Calculate the object placement at get_pages time 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" SW5zdGVhZCBvZiByZWx5aW5nIG9uIGEgc3RhdGljIHBsYWNlbWVudCwgY2FsY3VsYXRlIGF0IGdl dF9wYWdlcygpIHRpbWUuClRoaXMgc2hvdWxkIHdvcmsgZm9yIExNRU0gcmVnaW9ucyBhbmQgc3lz dGVtIGZvciBub3cuIEZvciBzdG9sZW4gd2UgbmVlZAp0byB0YWtlIHByZWFsbG9jYXRlZCByYW5n ZSBpbnRvIGFjY291bnQuIFRoYXQgd2lsbCBpZiBuZWVkZWQgYmUgYWRkZWQKbGF0ZXIuCgpTaWdu ZWQtb2ZmLWJ5OiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhlbGxzdHJvbUBsaW51eC5pbnRl bC5jb20+ClJldmlld2VkLWJ5OiBNYXR0aGV3IEF1bGQgPG1hdHRoZXcuYXVsZEBpbnRlbC5jb20+ Ci0tLQp2MjoKLSBGaXhlZCBhIHN0eWxlIGlzc3VlIChSZXBvcnRlZCBieSBNYXR0aGV3IEF1bGQp CnYzOgotIE1ha2Ugc3VyZSB3ZSBkb24ndCBhZGQgbW9yZSBwbGFjZW1lbnRzIHRvIHRoZSBzdGFj ay1hbGxvY2F0ZWQgdmVjdG9yCiAgdGhhbiB0aGVyZSBpcyByb29tIGZvci4gKFJlcG9ydGVkIGJ5 IE1hdHRoZXcgQXVsZCkKdjQ6Ci0gUmVtb3ZlIGNvbmZ1c2lvbiBhcm91bmQgc2hyaW5rYWJsZSBv YmplY3RzIChSZXBvcnRlZCBieSBNYXR0aGV3IEF1bGQpCi0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX3R0bS5jIHwgMTAwICsrKysrKysrKysrKysrKysrKy0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX3R0bS5jIHwgICA4ICstCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fdHRtLmggfCAgIDIgKwogMyBmaWxlcyBjaGFuZ2VkLCA4 NCBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdHRtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fdHRtLmMKaW5kZXggYmYzMzcyNGJlZDVjLi42MjRlZWIzZDdlMzYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV90dG0uYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdHRtLmMKQEAgLTI0LDYgKzI0LDExIEBACiAjZGVm aW5lIEk5MTVfVFRNX1BSSU9fTk9fUEFHRVMgIDEKICNkZWZpbmUgSTkxNV9UVE1fUFJJT19IQVNf UEFHRVMgMgogCisvKgorICogU2l6ZSBvZiBzdHJ1Y3QgdHRtX3BsYWNlIHZlY3RvciBpbiBvbi1z dGFjayBzdHJ1Y3QgdHRtX3BsYWNlbWVudCBhbGxvY3MKKyAqLworI2RlZmluZSBJOTE1X1RUTV9N QVhfUExBQ0VNRU5UUyBJTlRFTF9SRUdJT05fVU5LTk9XTgorCiAvKioKICAqIHN0cnVjdCBpOTE1 X3R0bV90dCAtIFRUTSBwYWdlIHZlY3RvciB3aXRoIGFkZGl0aW9uYWwgcHJpdmF0ZSBpbmZvcm1h dGlvbgogICogQHR0bTogVGhlIGJhc2UgVFRNIHBhZ2UgdmVjdG9yLgpAQCAtNDIsMzYgKzQ3LDcx IEBAIHN0cnVjdCBpOTE1X3R0bV90dCB7CiAJc3RydWN0IHNnX3RhYmxlICpjYWNoZWRfc3Q7CiB9 OwogCi1zdGF0aWMgY29uc3Qgc3RydWN0IHR0bV9wbGFjZSBsbWVtMF9zeXNfcGxhY2VtZW50X2Zs YWdzW10gPSB7Ci0JewotCQkuZnBmbiA9IDAsCi0JCS5scGZuID0gMCwKLQkJLm1lbV90eXBlID0g STkxNV9QTF9MTUVNMCwKLQkJLmZsYWdzID0gMCwKLQl9LCB7Ci0JCS5mcGZuID0gMCwKLQkJLmxw Zm4gPSAwLAotCQkubWVtX3R5cGUgPSBJOTE1X1BMX1NZU1RFTSwKLQkJLmZsYWdzID0gMCwKLQl9 Ci19OwotCi1zdGF0aWMgc3RydWN0IHR0bV9wbGFjZW1lbnQgaTkxNV9sbWVtMF9wbGFjZW1lbnQg PSB7Ci0JLm51bV9wbGFjZW1lbnQgPSAxLAotCS5wbGFjZW1lbnQgPSAmbG1lbTBfc3lzX3BsYWNl bWVudF9mbGFnc1swXSwKLQkubnVtX2J1c3lfcGxhY2VtZW50ID0gMSwKLQkuYnVzeV9wbGFjZW1l bnQgPSAmbG1lbTBfc3lzX3BsYWNlbWVudF9mbGFnc1swXSwKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg dHRtX3BsYWNlIHN5c19wbGFjZW1lbnRfZmxhZ3MgPSB7CisJLmZwZm4gPSAwLAorCS5scGZuID0g MCwKKwkubWVtX3R5cGUgPSBJOTE1X1BMX1NZU1RFTSwKKwkuZmxhZ3MgPSAwLAogfTsKIAogc3Rh dGljIHN0cnVjdCB0dG1fcGxhY2VtZW50IGk5MTVfc3lzX3BsYWNlbWVudCA9IHsKIAkubnVtX3Bs YWNlbWVudCA9IDEsCi0JLnBsYWNlbWVudCA9ICZsbWVtMF9zeXNfcGxhY2VtZW50X2ZsYWdzWzFd LAorCS5wbGFjZW1lbnQgPSAmc3lzX3BsYWNlbWVudF9mbGFncywKIAkubnVtX2J1c3lfcGxhY2Vt ZW50ID0gMSwKLQkuYnVzeV9wbGFjZW1lbnQgPSAmbG1lbTBfc3lzX3BsYWNlbWVudF9mbGFnc1sx XSwKKwkuYnVzeV9wbGFjZW1lbnQgPSAmc3lzX3BsYWNlbWVudF9mbGFncywKIH07CiAKIHN0YXRp YyB2b2lkIGk5MTVfdHRtX2FkanVzdF9scnUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aik7CiAKK3N0YXRpYyBlbnVtIHR0bV9jYWNoaW5nCitpOTE1X3R0bV9zZWxlY3RfdHRfY2FjaGlu Zyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQoreworCS8qCisJICogT2Jq ZWN0cyBvbmx5IGFsbG93ZWQgaW4gc3lzdGVtIGdldCBjYWNoZWQgY3B1LW1hcHBpbmdzLgorCSAq IE90aGVyIG9iamVjdHMgZ2V0IFdDIG1hcHBpbmcgZm9yIG5vdy4gRXZlbiBpZiBpbiBzeXN0ZW0u CisJICovCisJaWYgKG9iai0+bW0ucmVnaW9uLT50eXBlID09IElOVEVMX01FTU9SWV9TWVNURU0g JiYKKwkgICAgb2JqLT5tbS5uX3BsYWNlbWVudHMgPD0gMSkKKwkJcmV0dXJuIHR0bV9jYWNoZWQ7 CisKKwlyZXR1cm4gdHRtX3dyaXRlX2NvbWJpbmVkOworfQorCitzdGF0aWMgdm9pZAoraTkxNV90 dG1fcGxhY2VfZnJvbV9yZWdpb24oY29uc3Qgc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1y LAorCQkJICAgc3RydWN0IHR0bV9wbGFjZSAqcGxhY2UpCit7CisJbWVtc2V0KHBsYWNlLCAwLCBz aXplb2YoKnBsYWNlKSk7CisJcGxhY2UtPm1lbV90eXBlID0gaW50ZWxfcmVnaW9uX3RvX3R0bV90 eXBlKG1yKTsKK30KKworc3RhdGljIHZvaWQKK2k5MTVfdHRtX3BsYWNlbWVudF9mcm9tX29iaihj b25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJICAgIHN0cnVjdCB0dG1f cGxhY2UgKnJlcXVlc3RlZCwKKwkJCSAgICBzdHJ1Y3QgdHRtX3BsYWNlICpidXN5LAorCQkJICAg IHN0cnVjdCB0dG1fcGxhY2VtZW50ICpwbGFjZW1lbnQpCit7CisJdW5zaWduZWQgaW50IG51bV9h bGxvd2VkID0gb2JqLT5tbS5uX3BsYWNlbWVudHM7CisJdW5zaWduZWQgaW50IGk7CisKKwlwbGFj ZW1lbnQtPm51bV9wbGFjZW1lbnQgPSAxOworCWk5MTVfdHRtX3BsYWNlX2Zyb21fcmVnaW9uKG51 bV9hbGxvd2VkID8gb2JqLT5tbS5wbGFjZW1lbnRzWzBdIDoKKwkJCQkgICBvYmotPm1tLnJlZ2lv biwgcmVxdWVzdGVkKTsKKworCS8qIENhY2hlIHRoaXMgb24gb2JqZWN0PyAqLworCXBsYWNlbWVu dC0+bnVtX2J1c3lfcGxhY2VtZW50ID0gbnVtX2FsbG93ZWQ7CisJZm9yIChpID0gMDsgaSA8IHBs YWNlbWVudC0+bnVtX2J1c3lfcGxhY2VtZW50OyArK2kpCisJCWk5MTVfdHRtX3BsYWNlX2Zyb21f cmVnaW9uKG9iai0+bW0ucGxhY2VtZW50c1tpXSwgYnVzeSArIGkpOworCisJaWYgKG51bV9hbGxv d2VkID09IDApIHsKKwkJKmJ1c3kgPSAqcmVxdWVzdGVkOworCQlwbGFjZW1lbnQtPm51bV9idXN5 X3BsYWNlbWVudCA9IDE7CisJfQorCisJcGxhY2VtZW50LT5wbGFjZW1lbnQgPSByZXF1ZXN0ZWQ7 CisJcGxhY2VtZW50LT5idXN5X3BsYWNlbWVudCA9IGJ1c3k7Cit9CisKIHN0YXRpYyBzdHJ1Y3Qg dHRtX3R0ICppOTE1X3R0bV90dF9jcmVhdGUoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywK IAkJCQkJIHVpbnQzMl90IHBhZ2VfZmxhZ3MpCiB7CkBAIC04OSw3ICsxMjksOCBAQCBzdGF0aWMg c3RydWN0IHR0bV90dCAqaTkxNV90dG1fdHRfY3JlYXRlKHN0cnVjdCB0dG1fYnVmZmVyX29iamVj dCAqYm8sCiAJICAgIG1hbi0+dXNlX3R0KQogCQlwYWdlX2ZsYWdzIHw9IFRUTV9QQUdFX0ZMQUdf WkVST19BTExPQzsKIAotCXJldCA9IHR0bV90dF9pbml0KCZpOTE1X3R0LT50dG0sIGJvLCBwYWdl X2ZsYWdzLCB0dG1fd3JpdGVfY29tYmluZWQpOworCXJldCA9IHR0bV90dF9pbml0KCZpOTE1X3R0 LT50dG0sIGJvLCBwYWdlX2ZsYWdzLAorCQkJICBpOTE1X3R0bV9zZWxlY3RfdHRfY2FjaGluZyhv YmopKTsKIAlpZiAocmV0KSB7CiAJCWtmcmVlKGk5MTVfdHQpOwogCQlyZXR1cm4gTlVMTDsKQEAg LTQxNCwxMCArNDU1LDE1IEBAIHN0YXRpYyBpbnQgaTkxNV90dG1fZ2V0X3BhZ2VzKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCS5ub193YWl0X2dwdSA9IGZhbHNlLAogCX07CiAJ c3RydWN0IHNnX3RhYmxlICpzdDsKKwlzdHJ1Y3QgdHRtX3BsYWNlIHJlcXVlc3RlZCwgYnVzeVtJ OTE1X1RUTV9NQVhfUExBQ0VNRU5UU107CisJc3RydWN0IHR0bV9wbGFjZW1lbnQgcGxhY2VtZW50 OwogCWludCByZXQ7CiAKKwlHRU1fQlVHX09OKG9iai0+bW0ubl9wbGFjZW1lbnRzID4gSTkxNV9U VE1fTUFYX1BMQUNFTUVOVFMpOworCiAJLyogTW92ZSB0byB0aGUgcmVxdWVzdGVkIHBsYWNlbWVu dC4gKi8KLQlyZXQgPSB0dG1fYm9fdmFsaWRhdGUoYm8sICZpOTE1X2xtZW0wX3BsYWNlbWVudCwg JmN0eCk7CisJaTkxNV90dG1fcGxhY2VtZW50X2Zyb21fb2JqKG9iaiwgJnJlcXVlc3RlZCwgYnVz eSwgJnBsYWNlbWVudCk7CisJcmV0ID0gdHRtX2JvX3ZhbGlkYXRlKGJvLCAmcGxhY2VtZW50LCAm Y3R4KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0ID09IC1FTk9TUEMgPyAtRU5YSU8gOiByZXQ7 CiAKQEAgLTYyMyw3ICs2NjksNiBAQCBpbnQgX19pOTE1X2dlbV90dG1fb2JqZWN0X2luaXQoc3Ry dWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSwKIAlpOTE1X2dlbV9vYmplY3Rfc2V0X2NhY2hl X2NvaGVyZW5jeShvYmosIEk5MTVfQ0FDSEVfTk9ORSk7CiAJSU5JVF9SQURJWF9UUkVFKCZvYmot PnR0bS5nZXRfaW9fcGFnZS5yYWRpeCwgR0ZQX0tFUk5FTCB8IF9fR0ZQX05PV0FSTik7CiAJbXV0 ZXhfaW5pdCgmb2JqLT50dG0uZ2V0X2lvX3BhZ2UubG9jayk7Ci0KIAlib190eXBlID0gKG9iai0+ ZmxhZ3MgJiBJOTE1X0JPX0FMTE9DX1VTRVIpID8gdHRtX2JvX3R5cGVfZGV2aWNlIDoKIAkJdHRt X2JvX3R5cGVfa2VybmVsOwogCkBAIC02NDIsNiArNjg3LDEzIEBAIGludCBfX2k5MTVfZ2VtX3R0 bV9vYmplY3RfaW5pdChzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogCWlmICghcmV0 KQogCQlvYmotPnR0bS5jcmVhdGVkID0gdHJ1ZTsKIAorPT09PT09PQorCW9iai0+dHRtLmNyZWF0 ZWQgPSB0cnVlOworCWk5MTVfdHRtX2FkanVzdF9kb21haW5zX2FmdGVyX2NwdV9tb3ZlKG9iaik7 CisJaTkxNV90dG1fYWRqdXN0X2dlbV9hZnRlcl9tb3ZlKG9iaik7CisJaTkxNV9nZW1fb2JqZWN0 X3VubG9jayhvYmopOworb3V0OgorPj4+Pj4+PiA2ZWU4NTYzOTdiZDcgKGRybS9pOTE1L3R0bTog Q2FsY3VsYXRlIHRoZSBvYmplY3QgcGxhY2VtZW50IGF0IGdldF9wYWdlcyB0aW1lKQogCS8qIGk5 MTUgd2FudHMgLUVOWElPIHdoZW4gb3V0IG9mIG1lbW9yeSByZWdpb24gc3BhY2UuICovCiAJcmV0 dXJuIChyZXQgPT0gLUVOT1NQQykgPyAtRU5YSU8gOiByZXQ7CiB9CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fdHRtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yZWdpb25fdHRtLmMKaW5kZXggMjdmZTA2NjhkMDk0Li41YTY2NGY2Y2M5M2YgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl90dG0uYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fdHRtLmMKQEAgLTUwLDEyICs1MCwxNiBA QCB2b2lkIGludGVsX3JlZ2lvbl90dG1fZGV2aWNlX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogICogZHJpdmVyLXByaXZhdGUgdHlwZXMgZm9yIG5vdywgcmVzZXJ2aW5n IFRUTV9QTF9WUkFNIGZvciBzdG9sZW4KICAqIG1lbW9yeSBhbmQgVFRNX1BMX1RUIGZvciBHR1RU IHVzZSBpZiBkZWNpZGVkIHRvIGltcGxlbWVudCB0aGlzLgogICovCi1zdGF0aWMgaW50IGludGVs X3JlZ2lvbl90b190dG1fdHlwZShzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtKQoraW50 IGludGVsX3JlZ2lvbl90b190dG1fdHlwZShjb25zdCBzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lv biAqbWVtKQogewogCWludCB0eXBlOwogCiAJR0VNX0JVR19PTihtZW0tPnR5cGUgIT0gSU5URUxf TUVNT1JZX0xPQ0FMICYmCi0JCSAgIG1lbS0+dHlwZSAhPSBJTlRFTF9NRU1PUllfTU9DSyk7CisJ CSAgIG1lbS0+dHlwZSAhPSBJTlRFTF9NRU1PUllfTU9DSyAmJgorCQkgICBtZW0tPnR5cGUgIT0g SU5URUxfTUVNT1JZX1NZU1RFTSk7CisKKwlpZiAobWVtLT50eXBlID09IElOVEVMX01FTU9SWV9T WVNURU0pCisJCXJldHVybiBUVE1fUExfU1lTVEVNOwogCiAJdHlwZSA9IG1lbS0+aW5zdGFuY2Ug KyBUVE1fUExfUFJJVjsKIAlHRU1fQlVHX09OKHR5cGUgPj0gVFRNX05VTV9NRU1fVFlQRVMpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX3R0bS5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX3R0bS5oCmluZGV4IGU4Y2Y4MzBmZGE2Zi4u NjQ5NDkxODQ0ZTc5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdp b25fdHRtLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX3R0bS5oCkBA IC0yOCw2ICsyOCw4IEBAIHN0cnVjdCBzZ190YWJsZSAqaW50ZWxfcmVnaW9uX3R0bV9ub2RlX3Rv X3N0KHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiB2b2lkIGludGVsX3JlZ2lvbl90 dG1fbm9kZV9mcmVlKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiAJCQkJc3RydWN0 IHR0bV9yZXNvdXJjZSAqbm9kZSk7CiAKK2ludCBpbnRlbF9yZWdpb25fdG9fdHRtX3R5cGUoY29u c3Qgc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSk7CisKIHN0cnVjdCB0dG1fZGV2aWNl X2Z1bmNzICppOTE1X3R0bV9kcml2ZXIodm9pZCk7CiAKICNpZmRlZiBDT05GSUdfRFJNX0k5MTVf U0VMRlRFU1QKLS0gCjIuMzEuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==