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.7 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=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 3EA49C64E75 for ; Fri, 27 Nov 2020 12:11:32 +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 E78A120665 for ; Fri, 27 Nov 2020 12:11:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E78A120665 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=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 0D3676EC4E; Fri, 27 Nov 2020 12:10:03 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id B0F546EC8C; Fri, 27 Nov 2020 12:09:42 +0000 (UTC) IronPort-SDR: y6x2Tht8hqyWSYTFpjdgdpN5i4zr48KJC+a+NaHggSxXs8Tv3EqBSeT0ODlOlALrAyOhQmB0B6 liimkq216rXg== X-IronPort-AV: E=McAfee;i="6000,8403,9817"; a="172540700" X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="172540700" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 04:09:42 -0800 IronPort-SDR: HjfPsnS7nYzPtEtT/bCttU15RorsbIvcFxSSV+xJBHFr8LzTl2uZPGIwF7PskcnOmzHoqxZ5wG +q89nB9Ge/2g== X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="548029048" Received: from mjgleeso-mobl.ger.corp.intel.com (HELO mwauld-desk1.ger.corp.intel.com) ([10.251.85.2]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 04:09:41 -0800 From: Matthew Auld To: intel-gfx@lists.freedesktop.org Subject: [RFC PATCH 074/162] drm/i915: Break out dma_resv ww locking utilities to separate files Date: Fri, 27 Nov 2020 12:05:50 +0000 Message-Id: <20201127120718.454037-75-matthew.auld@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201127120718.454037-1-matthew.auld@intel.com> References: <20201127120718.454037-1-matthew.auld@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" RnJvbTogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy5oZWxsc3Ryb21AaW50ZWwuY29tPgoKQXMg d2UncmUgYWJvdXQgdG8gYWRkIG1vcmUgd3ctcmVsYXRlZCBmdW5jdGlvbmFsaXR5LApicmVhayBv dXQgdGhlIGRtYV9yZXN2IHd3IGxvY2tpbmcgdXRpbGl0aWVzIHRvIHRoZWlyIG93biBmaWxlcwoK U2lnbmVkLW9mZi1ieTogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy5oZWxsc3Ryb21AaW50ZWwu Y29tPgpDYzogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlICAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmggIHwgIDEgKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfcmVuZGVyc3RhdGUuaCB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMgICAgICAgICAgICAgfCA1OSAtLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmggICAgICAgICAgICAgfCAxMiAtLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV93dy5jICAgICAgICAgIHwgNjYgKysrKysrKysrKysrKysrKysr KysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV93dy5oICAgICAgICAgIHwgMjEgKysr KysrKwogNyBmaWxlcyBjaGFuZ2VkLCA5MCBpbnNlcnRpb25zKCspLCA3MSBkZWxldGlvbnMoLSkK IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV93dy5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fd3cuaAoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvTWFrZWZpbGUKaW5kZXggNTExMmU1ZDc5MzE2Li5lYzM2MWQ2MTIzMGIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L01ha2VmaWxlCkBAIC00NSw2ICs0NSw3IEBAIGk5MTUteSArPSBpOTE1X2Rydi5vIFwKIAkg IGk5MTVfc3dpdGNoZXJvby5vIFwKIAkgIGk5MTVfc3lzZnMubyBcCiAJICBpOTE1X3V0aWxzLm8g XAorCSAgaTkxNV9nZW1fd3cubyBcCiAJICBpbnRlbF9kZXZpY2VfaW5mby5vIFwKIAkgIGludGVs X2RyYW0ubyBcCiAJICBpbnRlbF9tZW1vcnlfcmVnaW9uLm8gXApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCmluZGV4IDYwZTI3NzM4YzM5ZC4uYzZjN2FiMTgxYTY1 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCkBAIC0xNSw2 ICsxNSw3IEBACiAjaW5jbHVkZSAiaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmgiCiAjaW5jbHVkZSAi aTkxNV9nZW1fZ3R0LmgiCiAjaW5jbHVkZSAiaTkxNV92bWFfdHlwZXMuaCIKKyNpbmNsdWRlICJp OTE1X2dlbV93dy5oIgogCiB2b2lkIGk5MTVfZ2VtX2luaXRfX29iamVjdHMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9pbnRlbF9yZW5kZXJzdGF0ZS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmVu ZGVyc3RhdGUuaAppbmRleCA3MTNhYTFlODZjODAuLmQ5ZGI4MzNiODczYiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmVuZGVyc3RhdGUuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yZW5kZXJzdGF0ZS5oCkBAIC0yNiw2ICsyNiw3IEBACiAK ICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgImk5MTVfZ2VtLmgiCisjaW5jbHVk ZSAiaTkxNV9nZW1fd3cuaCIKIAogc3RydWN0IGk5MTVfcmVxdWVzdDsKIHN0cnVjdCBpbnRlbF9j b250ZXh0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggMjI0OGU2NWNmNWY5Li4yNjYyZDY3 OWRiNmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMTMyNiw2NSArMTMyNiw2IEBAIGlu dCBpOTE1X2dlbV9vcGVuKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGUpCiAJcmV0dXJuIHJldDsKIH0KIAotdm9pZCBpOTE1X2dlbV93d19jdHhfaW5p dChzdHJ1Y3QgaTkxNV9nZW1fd3dfY3R4ICp3dywgYm9vbCBpbnRyKQotewotCXd3X2FjcXVpcmVf aW5pdCgmd3ctPmN0eCwgJnJlc2VydmF0aW9uX3d3X2NsYXNzKTsKLQlJTklUX0xJU1RfSEVBRCgm d3ctPm9ial9saXN0KTsKLQl3dy0+aW50ciA9IGludHI7Ci0Jd3ctPmNvbnRlbmRlZCA9IE5VTEw7 Ci19Ci0KLXN0YXRpYyB2b2lkIGk5MTVfZ2VtX3d3X2N0eF91bmxvY2tfYWxsKHN0cnVjdCBpOTE1 X2dlbV93d19jdHggKnd3KQotewotCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7Ci0K LQl3aGlsZSAoKG9iaiA9IGxpc3RfZmlyc3RfZW50cnlfb3JfbnVsbCgmd3ctPm9ial9saXN0LCBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCwgb2JqX2xpbmspKSkgewotCQlsaXN0X2RlbCgmb2Jq LT5vYmpfbGluayk7Ci0JCWk5MTVfZ2VtX29iamVjdF91bmxvY2sob2JqKTsKLQl9Ci19Ci0KLXZv aWQgaTkxNV9nZW1fd3dfdW5sb2NrX3NpbmdsZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqKQotewotCWxpc3RfZGVsKCZvYmotPm9ial9saW5rKTsKLQlpOTE1X2dlbV9vYmplY3RfdW5s b2NrKG9iaik7Ci19Ci0KLXZvaWQgaTkxNV9nZW1fd3dfY3R4X2Zpbmkoc3RydWN0IGk5MTVfZ2Vt X3d3X2N0eCAqd3cpCi17Ci0JaTkxNV9nZW1fd3dfY3R4X3VubG9ja19hbGwod3cpOwotCVdBUk5f T04od3ctPmNvbnRlbmRlZCk7Ci0Jd3dfYWNxdWlyZV9maW5pKCZ3dy0+Y3R4KTsKLX0KLQotaW50 IF9fbXVzdF9jaGVjayBpOTE1X2dlbV93d19jdHhfYmFja29mZihzdHJ1Y3QgaTkxNV9nZW1fd3df Y3R4ICp3dykKLXsKLQlpbnQgcmV0ID0gMDsKLQotCWlmIChXQVJOX09OKCF3dy0+Y29udGVuZGVk KSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlpOTE1X2dlbV93d19jdHhfdW5sb2NrX2FsbCh3dyk7 Ci0JaWYgKHd3LT5pbnRyKQotCQlyZXQgPSBkbWFfcmVzdl9sb2NrX3Nsb3dfaW50ZXJydXB0aWJs ZSh3dy0+Y29udGVuZGVkLT5iYXNlLnJlc3YsICZ3dy0+Y3R4KTsKLQllbHNlCi0JCWRtYV9yZXN2 X2xvY2tfc2xvdyh3dy0+Y29udGVuZGVkLT5iYXNlLnJlc3YsICZ3dy0+Y3R4KTsKLQotCS8qCi0J ICogVW5sb2NraW5nIHRoZSBjb250ZW5kZWQgbG9jayBhZ2FpbiwgYXMgbWlnaHQgbm90IG5lZWQg aXQgaW4KLQkgKiB0aGUgcmV0cmllZCB0cmFuc2FjdGlvbi4gVGhpcyBkb2VzIG5vdCBpbmNyZWFz ZSBzdGFydmF0aW9uLAotCSAqIGJ1dCBpdCdzIG9wZW5pbmcgdXAgZm9yIGEgd2FrZXVwIGZsb29k IGlmIHRoZXJlIGFyZSBtYW55Ci0JICogdHJhbnNhY3Rpb25zIHJlbGF4aW5nIG9uIHRoaXMgb2Jq ZWN0LgotCSAqLwotCWlmICghcmV0KQotCQlkbWFfcmVzdl91bmxvY2sod3ctPmNvbnRlbmRlZC0+ YmFzZS5yZXN2KTsKLQotCWk5MTVfZ2VtX29iamVjdF9wdXQod3ctPmNvbnRlbmRlZCk7Ci0Jd3ct PmNvbnRlbmRlZCA9IE5VTEw7Ci0KLQlyZXR1cm4gcmV0OwotfQotCiAjaWYgSVNfRU5BQkxFRChD T05GSUdfRFJNX0k5MTVfU0VMRlRFU1QpCiAjaW5jbHVkZSAic2VsZnRlc3RzL21vY2tfZ2VtX2Rl dmljZS5jIgogI2luY2x1ZGUgInNlbGZ0ZXN0cy9pOTE1X2dlbS5jIgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmgKaW5kZXggYTRjYWQzZjE1NGNhLi5mMzMzZTg4YTJiNmUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uaApAQCAtMTE2LDE2ICsxMTYsNCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgX190YXNrbGV0 X2lzX3NjaGVkdWxlZChzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgKnQpCiAJcmV0dXJuIHRlc3RfYml0 KFRBU0tMRVRfU1RBVEVfU0NIRUQsICZ0LT5zdGF0ZSk7CiB9CiAKLXN0cnVjdCBpOTE1X2dlbV93 d19jdHggewotCXN0cnVjdCB3d19hY3F1aXJlX2N0eCBjdHg7Ci0Jc3RydWN0IGxpc3RfaGVhZCBv YmpfbGlzdDsKLQlib29sIGludHI7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmNvbnRl bmRlZDsKLX07Ci0KLXZvaWQgaTkxNV9nZW1fd3dfY3R4X2luaXQoc3RydWN0IGk5MTVfZ2VtX3d3 X2N0eCAqY3R4LCBib29sIGludHIpOwotdm9pZCBpOTE1X2dlbV93d19jdHhfZmluaShzdHJ1Y3Qg aTkxNV9nZW1fd3dfY3R4ICpjdHgpOwotaW50IF9fbXVzdF9jaGVjayBpOTE1X2dlbV93d19jdHhf YmFja29mZihzdHJ1Y3QgaTkxNV9nZW1fd3dfY3R4ICpjdHgpOwotdm9pZCBpOTE1X2dlbV93d191 bmxvY2tfc2luZ2xlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOwotCiAjZW5kaWYg LyogX19JOTE1X0dFTV9IX18gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3d3LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV93dy5jCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNDM5NjBkODU5NWViCi0tLSAvZGV2L251 bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fd3cuYwpAQCAtMCwwICsxLDY2 IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCisvKgorICogQ29weXJpZ2h0IMKp IDIwMjAgSW50ZWwgQ29ycG9yYXRpb24KKyAqLworI2luY2x1ZGUgPGxpbnV4L2RtYS1yZXN2Lmg+ CisjaW5jbHVkZSAiaTkxNV9nZW1fd3cuaCIKKyNpbmNsdWRlICJnZW0vaTkxNV9nZW1fb2JqZWN0 LmgiCisKK3ZvaWQgaTkxNV9nZW1fd3dfY3R4X2luaXQoc3RydWN0IGk5MTVfZ2VtX3d3X2N0eCAq d3csIGJvb2wgaW50cikKK3sKKwl3d19hY3F1aXJlX2luaXQoJnd3LT5jdHgsICZyZXNlcnZhdGlv bl93d19jbGFzcyk7CisJSU5JVF9MSVNUX0hFQUQoJnd3LT5vYmpfbGlzdCk7CisJd3ctPmludHIg PSBpbnRyOworCXd3LT5jb250ZW5kZWQgPSBOVUxMOworfQorCitzdGF0aWMgdm9pZCBpOTE1X2dl bV93d19jdHhfdW5sb2NrX2FsbChzdHJ1Y3QgaTkxNV9nZW1fd3dfY3R4ICp3dykKK3sKKwlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOworCisJd2hpbGUgKChvYmogPSBsaXN0X2ZpcnN0 X2VudHJ5X29yX251bGwoJnd3LT5vYmpfbGlzdCwgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qs IG9ial9saW5rKSkpIHsKKwkJbGlzdF9kZWwoJm9iai0+b2JqX2xpbmspOworCQlpOTE1X2dlbV9v YmplY3RfdW5sb2NrKG9iaik7CisJfQorfQorCit2b2lkIGk5MTVfZ2VtX3d3X3VubG9ja19zaW5n bGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKK3sKKwlsaXN0X2RlbCgmb2JqLT5v YmpfbGluayk7CisJaTkxNV9nZW1fb2JqZWN0X3VubG9jayhvYmopOworfQorCit2b2lkIGk5MTVf Z2VtX3d3X2N0eF9maW5pKHN0cnVjdCBpOTE1X2dlbV93d19jdHggKnd3KQoreworCWk5MTVfZ2Vt X3d3X2N0eF91bmxvY2tfYWxsKHd3KTsKKwlXQVJOX09OKHd3LT5jb250ZW5kZWQpOworCXd3X2Fj cXVpcmVfZmluaSgmd3ctPmN0eCk7Cit9CisKK2ludCBfX211c3RfY2hlY2sgaTkxNV9nZW1fd3df Y3R4X2JhY2tvZmYoc3RydWN0IGk5MTVfZ2VtX3d3X2N0eCAqd3cpCit7CisJaW50IHJldCA9IDA7 CisKKwlpZiAoV0FSTl9PTighd3ctPmNvbnRlbmRlZCkpCisJCXJldHVybiAtRUlOVkFMOworCisJ aTkxNV9nZW1fd3dfY3R4X3VubG9ja19hbGwod3cpOworCWlmICh3dy0+aW50cikKKwkJcmV0ID0g ZG1hX3Jlc3ZfbG9ja19zbG93X2ludGVycnVwdGlibGUod3ctPmNvbnRlbmRlZC0+YmFzZS5yZXN2 LCAmd3ctPmN0eCk7CisJZWxzZQorCQlkbWFfcmVzdl9sb2NrX3Nsb3cod3ctPmNvbnRlbmRlZC0+ YmFzZS5yZXN2LCAmd3ctPmN0eCk7CisKKwkvKgorCSAqIFVubG9ja2luZyB0aGUgY29udGVuZGVk IGxvY2sgYWdhaW4sIGFzIG1pZ2h0IG5vdCBuZWVkIGl0IGluCisJICogdGhlIHJldHJpZWQgdHJh bnNhY3Rpb24uIFRoaXMgZG9lcyBub3QgaW5jcmVhc2Ugc3RhcnZhdGlvbiwKKwkgKiBidXQgaXQn cyBvcGVuaW5nIHVwIGZvciBhIHdha2V1cCBmbG9vZCBpZiB0aGVyZSBhcmUgbWFueQorCSAqIHRy YW5zYWN0aW9ucyByZWxheGluZyBvbiB0aGlzIG9iamVjdC4KKwkgKi8KKwlpZiAoIXJldCkKKwkJ ZG1hX3Jlc3ZfdW5sb2NrKHd3LT5jb250ZW5kZWQtPmJhc2UucmVzdik7CisKKwlpOTE1X2dlbV9v YmplY3RfcHV0KHd3LT5jb250ZW5kZWQpOworCXd3LT5jb250ZW5kZWQgPSBOVUxMOworCisJcmV0 dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3d3 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV93dy5oCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZjJkODc2OWU0MTE4Ci0tLSAvZGV2L251bGwKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fd3cuaApAQCAtMCwwICsxLDIxIEBACisvKiBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICovCisvKgorICogQ29weXJpZ2h0IMKpIDIwMjAg SW50ZWwgQ29ycG9yYXRpb24KKyAqLworI2lmbmRlZiBfX0k5MTVfR0VNX1dXX0hfXworI2RlZmlu ZSBfX0k5MTVfR0VNX1dXX0hfXworCisjaW5jbHVkZSA8ZHJtL2RybV9kcnYuaD4KKworc3RydWN0 IGk5MTVfZ2VtX3d3X2N0eCB7CisJc3RydWN0IHd3X2FjcXVpcmVfY3R4IGN0eDsKKwlzdHJ1Y3Qg bGlzdF9oZWFkIG9ial9saXN0OworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjb250ZW5k ZWQ7CisJYm9vbCBpbnRyOworfTsKKwordm9pZCBpOTE1X2dlbV93d19jdHhfaW5pdChzdHJ1Y3Qg aTkxNV9nZW1fd3dfY3R4ICpjdHgsIGJvb2wgaW50cik7Cit2b2lkIGk5MTVfZ2VtX3d3X2N0eF9m aW5pKHN0cnVjdCBpOTE1X2dlbV93d19jdHggKmN0eCk7CitpbnQgX19tdXN0X2NoZWNrIGk5MTVf Z2VtX3d3X2N0eF9iYWNrb2ZmKHN0cnVjdCBpOTE1X2dlbV93d19jdHggKmN0eCk7Cit2b2lkIGk5 MTVfZ2VtX3d3X3VubG9ja19zaW5nbGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7 CisjZW5kaWYKLS0gCjIuMjYuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg==