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 6F087C48BE5 for ; Fri, 11 Jun 2021 14:55:26 +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 3F123613D0 for ; Fri, 11 Jun 2021 14:55:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3F123613D0 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 2BEA26EEA8; Fri, 11 Jun 2021 14:55:25 +0000 (UTC) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1C93A6EEA0; Fri, 11 Jun 2021 14:55:20 +0000 (UTC) IronPort-SDR: Mjdp0BbOwBM9fYg3pt1vFEzIJg2DVGD4Po2WbgJ4bebKt7HsG2m+E3Y4rFVNpaZLHcuC4AH861 NhowcrYEbVAw== X-IronPort-AV: E=McAfee;i="6200,9189,10012"; a="205355262" X-IronPort-AV: E=Sophos;i="5.83,265,1616482800"; d="scan'208";a="205355262" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2021 07:55:19 -0700 IronPort-SDR: fUXp6agiSv429s46q1TeYrNPMF/LVaOLHYWkwO3hKlOpIg+GJVJ0dat7MY/Dqq0QX+1SLDGakv AqMrpSRz0obw== X-IronPort-AV: E=Sophos;i="5.83,265,1616482800"; d="scan'208";a="450783221" Received: from delmer-mobl.ger.corp.intel.com (HELO thellst-mobl1.intel.com) ([10.249.254.23]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2021 07:55:18 -0700 From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Date: Fri, 11 Jun 2021 16:54:58 +0200 Message-Id: <20210611145459.8576-4-thomas.hellstrom@linux.intel.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210611145459.8576-1-thomas.hellstrom@linux.intel.com> References: <20210611145459.8576-1-thomas.hellstrom@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v2 3/4] 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?= 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 ZSBpbnRvIGFjY291bnQuIFRoYXQgd2VsbCBiZSBhZGRlZCBsYXRlci4KClNpZ25lZC1vZmYtYnk6 IFRob21hcyBIZWxsc3Ryw7ZtIDx0aG9tYXMuaGVsbHN0cm9tQGxpbnV4LmludGVsLmNvbT4KLS0t CnYyOgotIEZpeGVkIGEgc3R5bGUgaXNzdWUgKFJlcG9ydGVkIGJ5IE1hdHRoZXcgQXVsZCkKLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdHRtLmMgfCA5MiArKysrKysrKysr KysrKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fdHRtLmMg fCAgOCArKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl90dG0uaCB8ICAyICsK IDMgZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3R0bS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3R0bS5jCmluZGV4IDQ1ZWYxZDEwMTkzNy4uZmQz ZDExNzI4MjI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f dHRtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3R0bS5jCkBAIC0y NCw2ICsyNCwxMSBAQAogI2RlZmluZSBJOTE1X1RUTV9QUklPX05PX1BBR0VTICAxCiAjZGVmaW5l IEk5MTVfVFRNX1BSSU9fSEFTX1BBR0VTIDIKIAorLyoKKyAqIFNpemUgb2Ygc3RydWN0IHR0bV9w bGFjZSB2ZWN0b3IgaW4gb24tc3RhY2sgc3RydWN0IHR0bV9wbGFjZW1lbnQgYWxsb2NzCisgKi8K KyNkZWZpbmUgSTkxNV9UVE1fTUFYX1BMQUNFTUVOVFMgMTAKKwogLyoqCiAgKiBzdHJ1Y3QgaTkx NV90dG1fdHQgLSBUVE0gcGFnZSB2ZWN0b3Igd2l0aCBhZGRpdGlvbmFsIHByaXZhdGUgaW5mb3Jt YXRpb24KICAqIEB0dG06IFRoZSBiYXNlIFRUTSBwYWdlIHZlY3Rvci4KQEAgLTQyLDMyICs0Nywx OCBAQCBzdHJ1Y3QgaTkxNV90dG1fdHQgewogCXN0cnVjdCBzZ190YWJsZSAqY2FjaGVkX3N0Owog fTsKIAotc3RhdGljIGNvbnN0IHN0cnVjdCB0dG1fcGxhY2UgbG1lbTBfc3lzX3BsYWNlbWVudF9m bGFnc1tdID0gewotCXsKLQkJLmZwZm4gPSAwLAotCQkubHBmbiA9IDAsCi0JCS5tZW1fdHlwZSA9 IEk5MTVfUExfTE1FTTAsCi0JCS5mbGFncyA9IDAsCi0JfSwgewotCQkuZnBmbiA9IDAsCi0JCS5s cGZuID0gMCwKLQkJLm1lbV90eXBlID0gSTkxNV9QTF9TWVNURU0sCi0JCS5mbGFncyA9IDAsCi0J fQotfTsKLQotc3RhdGljIHN0cnVjdCB0dG1fcGxhY2VtZW50IGk5MTVfbG1lbTBfcGxhY2VtZW50 ID0gewotCS5udW1fcGxhY2VtZW50ID0gMSwKLQkucGxhY2VtZW50ID0gJmxtZW0wX3N5c19wbGFj ZW1lbnRfZmxhZ3NbMF0sCi0JLm51bV9idXN5X3BsYWNlbWVudCA9IDEsCi0JLmJ1c3lfcGxhY2Vt ZW50ID0gJmxtZW0wX3N5c19wbGFjZW1lbnRfZmxhZ3NbMF0sCitzdGF0aWMgY29uc3Qgc3RydWN0 IHR0bV9wbGFjZSBzeXNfcGxhY2VtZW50X2ZsYWdzID0geworCS5mcGZuID0gMCwKKwkubHBmbiA9 IDAsCisJLm1lbV90eXBlID0gSTkxNV9QTF9TWVNURU0sCisJLmZsYWdzID0gMCwKIH07CiAKIHN0 YXRpYyBzdHJ1Y3QgdHRtX3BsYWNlbWVudCBpOTE1X3N5c19wbGFjZW1lbnQgPSB7CiAJLm51bV9w bGFjZW1lbnQgPSAxLAotCS5wbGFjZW1lbnQgPSAmbG1lbTBfc3lzX3BsYWNlbWVudF9mbGFnc1sx XSwKKwkucGxhY2VtZW50ID0gJnN5c19wbGFjZW1lbnRfZmxhZ3MsCiAJLm51bV9idXN5X3BsYWNl bWVudCA9IDEsCi0JLmJ1c3lfcGxhY2VtZW50ID0gJmxtZW0wX3N5c19wbGFjZW1lbnRfZmxhZ3Nb MV0sCisJLmJ1c3lfcGxhY2VtZW50ID0gJnN5c19wbGFjZW1lbnRfZmxhZ3MsCiB9OwogCiBzdGF0 aWMgYm9vbCBncHVfYmluZHNfaW9tZW0oc3RydWN0IHR0bV9yZXNvdXJjZSAqbWVtKQpAQCAtODMs NiArNzQsNTUgQEAgc3RhdGljIGJvb2wgY3B1X21hcHNfaW9tZW0oc3RydWN0IHR0bV9yZXNvdXJj ZSAqbWVtKQogCiBzdGF0aWMgdm9pZCBpOTE1X3R0bV9hZGp1c3RfbHJ1KHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmopOwogCitzdGF0aWMgZW51bSB0dG1fY2FjaGluZworaTkxNV90dG1f c2VsZWN0X3R0X2NhY2hpbmcoY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikK K3sKKwkvKgorCSAqIE9iamVjdHMgb25seSBhbGxvd2VkIGluIHN5c3RlbSBnZXQgY2FjaGVkIGNw dS1tYXBwaW5ncy4KKwkgKiBPdGhlciBvYmplY3RzIGdldCBXQyBtYXBwaW5nIGZvciBub3cuIEV2 ZW4gaWYgaW4gc3lzdGVtLgorCSAqLworCWlmIChvYmotPm1tLnJlZ2lvbi0+dHlwZSA9PSBJTlRF TF9NRU1PUllfU1lTVEVNICYmCisJICAgIG9iai0+bW0ubl9wbGFjZW1lbnRzIDw9IDEpCisJCXJl dHVybiB0dG1fY2FjaGVkOworCisJcmV0dXJuIHR0bV93cml0ZV9jb21iaW5lZDsKK30KKworc3Rh dGljIHZvaWQKK2k5MTVfdHRtX3BsYWNlX2Zyb21fcmVnaW9uKGNvbnN0IHN0cnVjdCBpbnRlbF9t ZW1vcnlfcmVnaW9uICptciwKKwkJCSAgIHN0cnVjdCB0dG1fcGxhY2UgKnBsYWNlKQoreworCW1l bXNldChwbGFjZSwgMCwgc2l6ZW9mKCpwbGFjZSkpOworCXBsYWNlLT5tZW1fdHlwZSA9IGludGVs X3JlZ2lvbl90b190dG1fdHlwZShtcik7Cit9CisKK3N0YXRpYyB2b2lkCitpOTE1X3R0bV9wbGFj ZW1lbnRfZnJvbV9vYmooY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJ CSAgICBzdHJ1Y3QgdHRtX3BsYWNlICpyZXF1ZXN0ZWQsCisJCQkgICAgc3RydWN0IHR0bV9wbGFj ZSAqYnVzeSwKKwkJCSAgICBzdHJ1Y3QgdHRtX3BsYWNlbWVudCAqcGxhY2VtZW50KQoreworCXVu c2lnbmVkIGludCBudW1fYWxsb3dlZCA9IG9iai0+bW0ubl9wbGFjZW1lbnRzOworCXVuc2lnbmVk IGludCBpOworCisJcGxhY2VtZW50LT5udW1fcGxhY2VtZW50ID0gMTsKKwlpOTE1X3R0bV9wbGFj ZV9mcm9tX3JlZ2lvbihudW1fYWxsb3dlZCA/IG9iai0+bW0ucGxhY2VtZW50c1swXSA6CisJCQkJ ICAgb2JqLT5tbS5yZWdpb24sIHJlcXVlc3RlZCk7CisKKwkvKiBDYWNoZSB0aGlzIG9uIG9iamVj dD8gKi8KKwlwbGFjZW1lbnQtPm51bV9idXN5X3BsYWNlbWVudCA9IG51bV9hbGxvd2VkOworCWZv ciAoaSA9IDA7IGkgPCBwbGFjZW1lbnQtPm51bV9idXN5X3BsYWNlbWVudDsgKytpKQorCQlpOTE1 X3R0bV9wbGFjZV9mcm9tX3JlZ2lvbihvYmotPm1tLnBsYWNlbWVudHNbaV0sIGJ1c3kgKyBpKTsK KworCWlmIChudW1fYWxsb3dlZCA9PSAwKSB7CisJCSpidXN5ID0gKnJlcXVlc3RlZDsKKwkJcGxh Y2VtZW50LT5udW1fYnVzeV9wbGFjZW1lbnQgPSAxOworCX0KKworCXBsYWNlbWVudC0+cGxhY2Vt ZW50ID0gcmVxdWVzdGVkOworCXBsYWNlbWVudC0+YnVzeV9wbGFjZW1lbnQgPSBidXN5OworfQor CiBzdGF0aWMgc3RydWN0IHR0bV90dCAqaTkxNV90dG1fdHRfY3JlYXRlKHN0cnVjdCB0dG1fYnVm ZmVyX29iamVjdCAqYm8sCiAJCQkJCSB1aW50MzJfdCBwYWdlX2ZsYWdzKQogewpAQCAtMTAwLDcg KzE0MCw4IEBAIHN0YXRpYyBzdHJ1Y3QgdHRtX3R0ICppOTE1X3R0bV90dF9jcmVhdGUoc3RydWN0 IHR0bV9idWZmZXJfb2JqZWN0ICpibywKIAkgICAgbWFuLT51c2VfdHQpCiAJCXBhZ2VfZmxhZ3Mg fD0gVFRNX1BBR0VfRkxBR19aRVJPX0FMTE9DOwogCi0JcmV0ID0gdHRtX3R0X2luaXQoJmk5MTVf dHQtPnR0bSwgYm8sIHBhZ2VfZmxhZ3MsIHR0bV93cml0ZV9jb21iaW5lZCk7CisJcmV0ID0gdHRt X3R0X2luaXQoJmk5MTVfdHQtPnR0bSwgYm8sIHBhZ2VfZmxhZ3MsCisJCQkgIGk5MTVfdHRtX3Nl bGVjdF90dF9jYWNoaW5nKG9iaikpOwogCWlmIChyZXQpIHsKIAkJa2ZyZWUoaTkxNV90dCk7CiAJ CXJldHVybiBOVUxMOwpAQCAtNDY1LDEwICs1MDYsMTMgQEAgc3RhdGljIGludCBpOTE1X3R0bV9n ZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAkJLm5vX3dhaXRfZ3B1 ID0gZmFsc2UsCiAJfTsKIAlzdHJ1Y3Qgc2dfdGFibGUgKnN0OworCXN0cnVjdCB0dG1fcGxhY2Ug cmVxdWVzdGVkLCBidXN5W0k5MTVfVFRNX01BWF9QTEFDRU1FTlRTXTsKKwlzdHJ1Y3QgdHRtX3Bs YWNlbWVudCBwbGFjZW1lbnQ7CiAJaW50IHJldDsKIAogCS8qIE1vdmUgdG8gdGhlIHJlcXVlc3Rl ZCBwbGFjZW1lbnQuICovCi0JcmV0ID0gdHRtX2JvX3ZhbGlkYXRlKGJvLCAmaTkxNV9sbWVtMF9w bGFjZW1lbnQsICZjdHgpOworCWk5MTVfdHRtX3BsYWNlbWVudF9mcm9tX29iaihvYmosICZyZXF1 ZXN0ZWQsIGJ1c3ksICZwbGFjZW1lbnQpOworCXJldCA9IHR0bV9ib192YWxpZGF0ZShibywgJnBs YWNlbWVudCwgJmN0eCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldCA9PSAtRU5PU1BDID8gLUVO WElPIDogcmV0OwogCkBAIC02ODQsNyArNzI4LDYgQEAgaW50IF9faTkxNV9nZW1fdHRtX29iamVj dF9pbml0KHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiAJaTkxNV9nZW1fb2JqZWN0 X21ha2VfdW5zaHJpbmthYmxlKG9iaik7CiAJSU5JVF9SQURJWF9UUkVFKCZvYmotPnR0bS5nZXRf aW9fcGFnZS5yYWRpeCwgR0ZQX0tFUk5FTCB8IF9fR0ZQX05PV0FSTik7CiAJbXV0ZXhfaW5pdCgm b2JqLT50dG0uZ2V0X2lvX3BhZ2UubG9jayk7Ci0KIAlib190eXBlID0gKG9iai0+ZmxhZ3MgJiBJ OTE1X0JPX0FMTE9DX1VTRVIpID8gdHRtX2JvX3R5cGVfZGV2aWNlIDoKIAkJdHRtX2JvX3R5cGVf a2VybmVsOwogCkBAIC03MDgsNyArNzUxLDYgQEAgaW50IF9faTkxNV9nZW1fdHRtX29iamVjdF9p bml0KHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiAJaTkxNV90dG1fYWRqdXN0X2Rv bWFpbnNfYWZ0ZXJfY3B1X21vdmUob2JqKTsKIAlpOTE1X3R0bV9hZGp1c3RfZ2VtX2FmdGVyX21v dmUob2JqKTsKIAlpOTE1X2dlbV9vYmplY3RfdW5sb2NrKG9iaik7Ci0KIG91dDoKIAkvKiBpOTE1 IHdhbnRzIC1FTlhJTyB3aGVuIG91dCBvZiBtZW1vcnkgcmVnaW9uIHNwYWNlLiAqLwogCXJldHVy biAocmV0ID09IC1FTk9TUEMpID8gLUVOWElPIDogcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX3R0bS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmVnaW9uX3R0bS5jCmluZGV4IDI3ZmUwNjY4ZDA5NC4uNWE2NjRmNmNjOTNmIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fdHRtLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX3R0bS5jCkBAIC01MCwxMiArNTAsMTYgQEAgdm9p ZCBpbnRlbF9yZWdpb25fdHRtX2RldmljZV9maW5pKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKICAqIGRyaXZlci1wcml2YXRlIHR5cGVzIGZvciBub3csIHJlc2VydmluZyBUVE1f UExfVlJBTSBmb3Igc3RvbGVuCiAgKiBtZW1vcnkgYW5kIFRUTV9QTF9UVCBmb3IgR0dUVCB1c2Ug aWYgZGVjaWRlZCB0byBpbXBsZW1lbnQgdGhpcy4KICAqLwotc3RhdGljIGludCBpbnRlbF9yZWdp b25fdG9fdHRtX3R5cGUoc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSkKK2ludCBpbnRl bF9yZWdpb25fdG9fdHRtX3R5cGUoY29uc3Qgc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1l bSkKIHsKIAlpbnQgdHlwZTsKIAogCUdFTV9CVUdfT04obWVtLT50eXBlICE9IElOVEVMX01FTU9S WV9MT0NBTCAmJgotCQkgICBtZW0tPnR5cGUgIT0gSU5URUxfTUVNT1JZX01PQ0spOworCQkgICBt ZW0tPnR5cGUgIT0gSU5URUxfTUVNT1JZX01PQ0sgJiYKKwkJICAgbWVtLT50eXBlICE9IElOVEVM X01FTU9SWV9TWVNURU0pOworCisJaWYgKG1lbS0+dHlwZSA9PSBJTlRFTF9NRU1PUllfU1lTVEVN KQorCQlyZXR1cm4gVFRNX1BMX1NZU1RFTTsKIAogCXR5cGUgPSBtZW0tPmluc3RhbmNlICsgVFRN X1BMX1BSSVY7CiAJR0VNX0JVR19PTih0eXBlID49IFRUTV9OVU1fTUVNX1RZUEVTKTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl90dG0uaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl90dG0uaAppbmRleCBlOGNmODMwZmRhNmYuLjY0OTQ5 MTg0NGU3OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX3R0 bS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl90dG0uaApAQCAtMjgs NiArMjgsOCBAQCBzdHJ1Y3Qgc2dfdGFibGUgKmludGVsX3JlZ2lvbl90dG1fbm9kZV90b19zdChz dHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogdm9pZCBpbnRlbF9yZWdpb25fdHRtX25v ZGVfZnJlZShzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogCQkJCXN0cnVjdCB0dG1f cmVzb3VyY2UgKm5vZGUpOwogCitpbnQgaW50ZWxfcmVnaW9uX3RvX3R0bV90eXBlKGNvbnN0IHN0 cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0pOworCiBzdHJ1Y3QgdHRtX2RldmljZV9mdW5j cyAqaTkxNV90dG1fZHJpdmVyKHZvaWQpOwogCiAjaWZkZWYgQ09ORklHX0RSTV9JOTE1X1NFTEZU RVNUCi0tIAoyLjMxLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=