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 E1117C48BE5 for ; Wed, 16 Jun 2021 15:25:41 +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 AEE816128B for ; Wed, 16 Jun 2021 15:25:41 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AEE816128B 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 135986E03D; Wed, 16 Jun 2021 15:25:35 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2E7426E5CC; Wed, 16 Jun 2021 15:25:32 +0000 (UTC) IronPort-SDR: kimAgL0pMlWM8O/FlLi3S3oUP8JbaCO+SjUWI5n2urlnVlTM8FwxGWXTga4FY10D0g/5294qDK uxZxv4MReLrQ== X-IronPort-AV: E=McAfee;i="6200,9189,10016"; a="203175172" X-IronPort-AV: E=Sophos;i="5.83,278,1616482800"; d="scan'208";a="203175172" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jun 2021 08:25:31 -0700 IronPort-SDR: VFxkuRWM1cIhvDuR10WckEr1Ispsq7xcn4/2EydxwG6WhcbRKS8sV3atpWD9CerdjYQW8kINVO a4TRIimTkoTw== X-IronPort-AV: E=Sophos;i="5.83,278,1616482800"; d="scan'208";a="479129909" Received: from mrapopor-mobl.ger.corp.intel.com (HELO mwauld-desk1.intel.com) ([10.213.236.122]) by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jun 2021 08:25:30 -0700 From: Matthew Auld To: intel-gfx@lists.freedesktop.org Subject: [PATCH v5 5/7] drm/i915/ttm: remove node usage in our naming Date: Wed, 16 Jun 2021 16:24:59 +0100 Message-Id: <20210616152501.394518-5-matthew.auld@intel.com> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210616152501.394518-1-matthew.auld@intel.com> References: <20210616152501.394518-1-matthew.auld@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Now that ttm_resource_manager just returns a generic ttm_resource we don't need to reference the mm_node stuff anymore which mostly only makes sense for drm_mm_node. In the next few patches we want switch over to the ttm_buddy_man which is just another type of ttm_resource so reflect that in the naming. Signed-off-by: Matthew Auld Cc: Thomas Hellström Reviewed-by: Thomas Hellström --- .../gpu/drm/i915/gem/i915_gem_object_types.h | 5 ++-- drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 2 +- drivers/gpu/drm/i915/intel_region_ttm.c | 30 +++++++++---------- drivers/gpu/drm/i915/intel_region_ttm.h | 14 ++++----- drivers/gpu/drm/i915/selftests/mock_region.c | 16 +++++----- 5 files changed, 34 insertions(+), 33 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h index 2a23b77424b3..3a2d9ecf8e03 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h +++ b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h @@ -265,9 +265,10 @@ struct drm_i915_gem_object { struct intel_memory_region *region; /** - * Memory manager node allocated for this object. + * Memory manager resource allocated for this object. Only + * needed for the mock region. */ - void *st_mm_node; + struct ttm_resource *res; /** * Element within memory_region->objects or region->purgeable diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c index 90d342e3df24..20119ea9c418 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c @@ -327,7 +327,7 @@ i915_ttm_resource_get_st(struct drm_i915_gem_object *obj, if (man->use_tt) return i915_ttm_tt_get_st(bo->ttm); - return intel_region_ttm_node_to_st(obj->mm.region, res); + return intel_region_ttm_resource_to_st(obj->mm.region, res); } static int i915_ttm_move(struct ttm_buffer_object *bo, bool evict, diff --git a/drivers/gpu/drm/i915/intel_region_ttm.c b/drivers/gpu/drm/i915/intel_region_ttm.c index 5a664f6cc93f..f9d616544728 100644 --- a/drivers/gpu/drm/i915/intel_region_ttm.c +++ b/drivers/gpu/drm/i915/intel_region_ttm.c @@ -68,7 +68,7 @@ int intel_region_to_ttm_type(const struct intel_memory_region *mem) } static struct ttm_resource * -intel_region_ttm_node_reserve(struct intel_memory_region *mem, +intel_region_ttm_resource_reserve(struct intel_memory_region *mem, resource_size_t offset, resource_size_t size) { @@ -100,12 +100,12 @@ intel_region_ttm_node_reserve(struct intel_memory_region *mem, } /** - * intel_region_ttm_node_free - Free a node allocated from a resource manager - * @mem: The region the node was allocated from. - * @node: The opaque node representing an allocation. + * intel_region_ttm_resource_free - Free a resource allocated from a resource manager + * @mem: The region the resource was allocated from. + * @res: The opaque resource representing an allocation. */ -void intel_region_ttm_node_free(struct intel_memory_region *mem, - struct ttm_resource *res) +void intel_region_ttm_resource_free(struct intel_memory_region *mem, + struct ttm_resource *res) { struct ttm_resource_manager *man = mem->region_private; @@ -113,8 +113,8 @@ void intel_region_ttm_node_free(struct intel_memory_region *mem, } static const struct intel_memory_region_private_ops priv_ops = { - .reserve = intel_region_ttm_node_reserve, - .free = intel_region_ttm_node_free, + .reserve = intel_region_ttm_resource_reserve, + .free = intel_region_ttm_resource_free, }; int intel_region_ttm_init(struct intel_memory_region *mem) @@ -157,10 +157,10 @@ void intel_region_ttm_fini(struct intel_memory_region *mem) } /** - * intel_region_ttm_node_to_st - Convert an opaque TTM resource manager node + * intel_region_ttm_resource_to_st - Convert an opaque TTM resource manager resource * to an sg_table. * @mem: The memory region. - * @node: The resource manager node obtained from the TTM resource manager. + * @res: The resource manager resource obtained from the TTM resource manager. * * The gem backends typically use sg-tables for operations on the underlying * io_memory. So provide a way for the backends to translate the @@ -168,8 +168,8 @@ void intel_region_ttm_fini(struct intel_memory_region *mem) * * Return: A malloced sg_table on success, an error pointer on failure. */ -struct sg_table *intel_region_ttm_node_to_st(struct intel_memory_region *mem, - struct ttm_resource *res) +struct sg_table *intel_region_ttm_resource_to_st(struct intel_memory_region *mem, + struct ttm_resource *res) { struct ttm_range_mgr_node *range_node = container_of(res, typeof(*range_node), base); @@ -196,9 +196,9 @@ struct sg_table *intel_region_ttm_node_to_st(struct intel_memory_region *mem, * Return: A valid pointer on success, an error pointer on failure. */ struct ttm_resource * -intel_region_ttm_node_alloc(struct intel_memory_region *mem, - resource_size_t size, - unsigned int flags) +intel_region_ttm_resource_alloc(struct intel_memory_region *mem, + resource_size_t size, + unsigned int flags) { struct ttm_resource_manager *man = mem->region_private; struct ttm_place place = {}; diff --git a/drivers/gpu/drm/i915/intel_region_ttm.h b/drivers/gpu/drm/i915/intel_region_ttm.h index 649491844e79..6f44075920f2 100644 --- a/drivers/gpu/drm/i915/intel_region_ttm.h +++ b/drivers/gpu/drm/i915/intel_region_ttm.h @@ -22,11 +22,11 @@ int intel_region_ttm_init(struct intel_memory_region *mem); void intel_region_ttm_fini(struct intel_memory_region *mem); -struct sg_table *intel_region_ttm_node_to_st(struct intel_memory_region *mem, - struct ttm_resource *res); +struct sg_table *intel_region_ttm_resource_to_st(struct intel_memory_region *mem, + struct ttm_resource *res); -void intel_region_ttm_node_free(struct intel_memory_region *mem, - struct ttm_resource *node); +void intel_region_ttm_resource_free(struct intel_memory_region *mem, + struct ttm_resource *res); int intel_region_to_ttm_type(const struct intel_memory_region *mem); @@ -34,8 +34,8 @@ struct ttm_device_funcs *i915_ttm_driver(void); #ifdef CONFIG_DRM_I915_SELFTEST struct ttm_resource * -intel_region_ttm_node_alloc(struct intel_memory_region *mem, - resource_size_t size, - unsigned int flags); +intel_region_ttm_resource_alloc(struct intel_memory_region *mem, + resource_size_t size, + unsigned int flags); #endif #endif /* _INTEL_REGION_TTM_H_ */ diff --git a/drivers/gpu/drm/i915/selftests/mock_region.c b/drivers/gpu/drm/i915/selftests/mock_region.c index eafc5a04975c..6120d43fe504 100644 --- a/drivers/gpu/drm/i915/selftests/mock_region.c +++ b/drivers/gpu/drm/i915/selftests/mock_region.c @@ -16,7 +16,7 @@ static void mock_region_put_pages(struct drm_i915_gem_object *obj, struct sg_table *pages) { - intel_region_ttm_node_free(obj->mm.region, obj->mm.st_mm_node); + intel_region_ttm_resource_free(obj->mm.region, obj->mm.res); sg_free_table(pages); kfree(pages); } @@ -30,15 +30,15 @@ static int mock_region_get_pages(struct drm_i915_gem_object *obj) if (obj->flags & I915_BO_ALLOC_CONTIGUOUS) flags |= I915_ALLOC_CONTIGUOUS; - obj->mm.st_mm_node = intel_region_ttm_node_alloc(obj->mm.region, - obj->base.size, - flags); - if (IS_ERR(obj->mm.st_mm_node)) - return PTR_ERR(obj->mm.st_mm_node); + obj->mm.res = intel_region_ttm_resource_alloc(obj->mm.region, + obj->base.size, + flags); + if (IS_ERR(obj->mm.res)) + return PTR_ERR(obj->mm.res); - pages = intel_region_ttm_node_to_st(obj->mm.region, obj->mm.st_mm_node); + pages = intel_region_ttm_resource_to_st(obj->mm.region, obj->mm.res); if (IS_ERR(pages)) { - intel_region_ttm_node_free(obj->mm.region, obj->mm.st_mm_node); + intel_region_ttm_resource_free(obj->mm.region, obj->mm.res); return PTR_ERR(pages); } -- 2.26.3 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 4F0AAC48BE6 for ; Wed, 16 Jun 2021 15:25:37 +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 213E46128B for ; Wed, 16 Jun 2021 15:25:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 213E46128B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=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 06EF689A92; Wed, 16 Jun 2021 15:25:33 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2E7426E5CC; Wed, 16 Jun 2021 15:25:32 +0000 (UTC) IronPort-SDR: kimAgL0pMlWM8O/FlLi3S3oUP8JbaCO+SjUWI5n2urlnVlTM8FwxGWXTga4FY10D0g/5294qDK uxZxv4MReLrQ== X-IronPort-AV: E=McAfee;i="6200,9189,10016"; a="203175172" X-IronPort-AV: E=Sophos;i="5.83,278,1616482800"; d="scan'208";a="203175172" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jun 2021 08:25:31 -0700 IronPort-SDR: VFxkuRWM1cIhvDuR10WckEr1Ispsq7xcn4/2EydxwG6WhcbRKS8sV3atpWD9CerdjYQW8kINVO a4TRIimTkoTw== X-IronPort-AV: E=Sophos;i="5.83,278,1616482800"; d="scan'208";a="479129909" Received: from mrapopor-mobl.ger.corp.intel.com (HELO mwauld-desk1.intel.com) ([10.213.236.122]) by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jun 2021 08:25:30 -0700 From: Matthew Auld To: intel-gfx@lists.freedesktop.org Date: Wed, 16 Jun 2021 16:24:59 +0100 Message-Id: <20210616152501.394518-5-matthew.auld@intel.com> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210616152501.394518-1-matthew.auld@intel.com> References: <20210616152501.394518-1-matthew.auld@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v5 5/7] drm/i915/ttm: remove node usage in our naming 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?= , dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Tm93IHRoYXQgdHRtX3Jlc291cmNlX21hbmFnZXIganVzdCByZXR1cm5zIGEgZ2VuZXJpYyB0dG1f cmVzb3VyY2Ugd2UKZG9uJ3QgbmVlZCB0byByZWZlcmVuY2UgdGhlIG1tX25vZGUgc3R1ZmYgYW55 bW9yZSB3aGljaCBtb3N0bHkgb25seQptYWtlcyBzZW5zZSBmb3IgZHJtX21tX25vZGUuIEluIHRo ZSBuZXh0IGZldyBwYXRjaGVzIHdlIHdhbnQgc3dpdGNoIG92ZXIKdG8gdGhlIHR0bV9idWRkeV9t YW4gd2hpY2ggaXMganVzdCBhbm90aGVyIHR5cGUgb2YgdHRtX3Jlc291cmNlIHNvCnJlZmxlY3Qg dGhhdCBpbiB0aGUgbmFtaW5nLgoKU2lnbmVkLW9mZi1ieTogTWF0dGhldyBBdWxkIDxtYXR0aGV3 LmF1bGRAaW50ZWwuY29tPgpDYzogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy5oZWxsc3Ryb21A bGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy5o ZWxsc3Ryb21AbGludXguaW50ZWwuY29tPgotLS0KIC4uLi9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX29iamVjdF90eXBlcy5oICB8ICA1ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV90dG0uYyAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y ZWdpb25fdHRtLmMgICAgICAgfCAzMCArKysrKysrKystLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yZWdpb25fdHRtLmggICAgICAgfCAxNCArKysrLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3JlZ2lvbi5jICB8IDE2ICsrKysrLS0tLS0KIDUg ZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oCmluZGV4IDJh MjNiNzc0MjRiMy4uM2EyZDllY2Y4ZTAzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oCkBAIC0yNjUsOSArMjY1LDEwIEBAIHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0IHsKIAkJc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKnJlZ2lv bjsKIAogCQkvKioKLQkJICogTWVtb3J5IG1hbmFnZXIgbm9kZSBhbGxvY2F0ZWQgZm9yIHRoaXMg b2JqZWN0LgorCQkgKiBNZW1vcnkgbWFuYWdlciByZXNvdXJjZSBhbGxvY2F0ZWQgZm9yIHRoaXMg b2JqZWN0LiBPbmx5CisJCSAqIG5lZWRlZCBmb3IgdGhlIG1vY2sgcmVnaW9uLgogCQkgKi8KLQkJ dm9pZCAqc3RfbW1fbm9kZTsKKwkJc3RydWN0IHR0bV9yZXNvdXJjZSAqcmVzOwogCiAJCS8qKgog CQkgKiBFbGVtZW50IHdpdGhpbiBtZW1vcnlfcmVnaW9uLT5vYmplY3RzIG9yIHJlZ2lvbi0+cHVy Z2VhYmxlCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdHRt LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdHRtLmMKaW5kZXggOTBkMzQy ZTNkZjI0Li4yMDExOWVhOWM0MTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV90dG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f dHRtLmMKQEAgLTMyNyw3ICszMjcsNyBAQCBpOTE1X3R0bV9yZXNvdXJjZV9nZXRfc3Qoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlpZiAobWFuLT51c2VfdHQpCiAJCXJldHVybiBp OTE1X3R0bV90dF9nZXRfc3QoYm8tPnR0bSk7CiAKLQlyZXR1cm4gaW50ZWxfcmVnaW9uX3R0bV9u b2RlX3RvX3N0KG9iai0+bW0ucmVnaW9uLCByZXMpOworCXJldHVybiBpbnRlbF9yZWdpb25fdHRt X3Jlc291cmNlX3RvX3N0KG9iai0+bW0ucmVnaW9uLCByZXMpOwogfQogCiBzdGF0aWMgaW50IGk5 MTVfdHRtX21vdmUoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywgYm9vbCBldmljdCwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl90dG0uYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl90dG0uYwppbmRleCA1YTY2NGY2Y2M5M2YuLmY5 ZDYxNjU0NDcyOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9u X3R0bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl90dG0uYwpAQCAt NjgsNyArNjgsNyBAQCBpbnQgaW50ZWxfcmVnaW9uX3RvX3R0bV90eXBlKGNvbnN0IHN0cnVjdCBp bnRlbF9tZW1vcnlfcmVnaW9uICptZW0pCiB9CiAKIHN0YXRpYyBzdHJ1Y3QgdHRtX3Jlc291cmNl ICoKLWludGVsX3JlZ2lvbl90dG1fbm9kZV9yZXNlcnZlKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVn aW9uICptZW0sCitpbnRlbF9yZWdpb25fdHRtX3Jlc291cmNlX3Jlc2VydmUoc3RydWN0IGludGVs X21lbW9yeV9yZWdpb24gKm1lbSwKIAkJCSAgICAgIHJlc291cmNlX3NpemVfdCBvZmZzZXQsCiAJ CQkgICAgICByZXNvdXJjZV9zaXplX3Qgc2l6ZSkKIHsKQEAgLTEwMCwxMiArMTAwLDEyIEBAIGlu dGVsX3JlZ2lvbl90dG1fbm9kZV9yZXNlcnZlKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICpt ZW0sCiB9CiAKIC8qKgotICogaW50ZWxfcmVnaW9uX3R0bV9ub2RlX2ZyZWUgLSBGcmVlIGEgbm9k ZSBhbGxvY2F0ZWQgZnJvbSBhIHJlc291cmNlIG1hbmFnZXIKLSAqIEBtZW06IFRoZSByZWdpb24g dGhlIG5vZGUgd2FzIGFsbG9jYXRlZCBmcm9tLgotICogQG5vZGU6IFRoZSBvcGFxdWUgbm9kZSBy ZXByZXNlbnRpbmcgYW4gYWxsb2NhdGlvbi4KKyAqIGludGVsX3JlZ2lvbl90dG1fcmVzb3VyY2Vf ZnJlZSAtIEZyZWUgYSByZXNvdXJjZSBhbGxvY2F0ZWQgZnJvbSBhIHJlc291cmNlIG1hbmFnZXIK KyAqIEBtZW06IFRoZSByZWdpb24gdGhlIHJlc291cmNlIHdhcyBhbGxvY2F0ZWQgZnJvbS4KKyAq IEByZXM6IFRoZSBvcGFxdWUgcmVzb3VyY2UgcmVwcmVzZW50aW5nIGFuIGFsbG9jYXRpb24uCiAg Ki8KLXZvaWQgaW50ZWxfcmVnaW9uX3R0bV9ub2RlX2ZyZWUoc3RydWN0IGludGVsX21lbW9yeV9y ZWdpb24gKm1lbSwKLQkJCQlzdHJ1Y3QgdHRtX3Jlc291cmNlICpyZXMpCit2b2lkIGludGVsX3Jl Z2lvbl90dG1fcmVzb3VyY2VfZnJlZShzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAor CQkJCSAgICBzdHJ1Y3QgdHRtX3Jlc291cmNlICpyZXMpCiB7CiAJc3RydWN0IHR0bV9yZXNvdXJj ZV9tYW5hZ2VyICptYW4gPSBtZW0tPnJlZ2lvbl9wcml2YXRlOwogCkBAIC0xMTMsOCArMTEzLDgg QEAgdm9pZCBpbnRlbF9yZWdpb25fdHRtX25vZGVfZnJlZShzdHJ1Y3QgaW50ZWxfbWVtb3J5X3Jl Z2lvbiAqbWVtLAogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX21lbW9yeV9yZWdpb25f cHJpdmF0ZV9vcHMgcHJpdl9vcHMgPSB7Ci0JLnJlc2VydmUgPSBpbnRlbF9yZWdpb25fdHRtX25v ZGVfcmVzZXJ2ZSwKLQkuZnJlZSA9IGludGVsX3JlZ2lvbl90dG1fbm9kZV9mcmVlLAorCS5yZXNl cnZlID0gaW50ZWxfcmVnaW9uX3R0bV9yZXNvdXJjZV9yZXNlcnZlLAorCS5mcmVlID0gaW50ZWxf cmVnaW9uX3R0bV9yZXNvdXJjZV9mcmVlLAogfTsKIAogaW50IGludGVsX3JlZ2lvbl90dG1faW5p dChzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtKQpAQCAtMTU3LDEwICsxNTcsMTAgQEAg dm9pZCBpbnRlbF9yZWdpb25fdHRtX2Zpbmkoc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1l bSkKIH0KIAogLyoqCi0gKiBpbnRlbF9yZWdpb25fdHRtX25vZGVfdG9fc3QgLSBDb252ZXJ0IGFu IG9wYXF1ZSBUVE0gcmVzb3VyY2UgbWFuYWdlciBub2RlCisgKiBpbnRlbF9yZWdpb25fdHRtX3Jl c291cmNlX3RvX3N0IC0gQ29udmVydCBhbiBvcGFxdWUgVFRNIHJlc291cmNlIG1hbmFnZXIgcmVz b3VyY2UKICAqIHRvIGFuIHNnX3RhYmxlLgogICogQG1lbTogVGhlIG1lbW9yeSByZWdpb24uCi0g KiBAbm9kZTogVGhlIHJlc291cmNlIG1hbmFnZXIgbm9kZSBvYnRhaW5lZCBmcm9tIHRoZSBUVE0g cmVzb3VyY2UgbWFuYWdlci4KKyAqIEByZXM6IFRoZSByZXNvdXJjZSBtYW5hZ2VyIHJlc291cmNl IG9idGFpbmVkIGZyb20gdGhlIFRUTSByZXNvdXJjZSBtYW5hZ2VyLgogICoKICAqIFRoZSBnZW0g YmFja2VuZHMgdHlwaWNhbGx5IHVzZSBzZy10YWJsZXMgZm9yIG9wZXJhdGlvbnMgb24gdGhlIHVu ZGVybHlpbmcKICAqIGlvX21lbW9yeS4gU28gcHJvdmlkZSBhIHdheSBmb3IgdGhlIGJhY2tlbmRz IHRvIHRyYW5zbGF0ZSB0aGUKQEAgLTE2OCw4ICsxNjgsOCBAQCB2b2lkIGludGVsX3JlZ2lvbl90 dG1fZmluaShzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtKQogICoKICAqIFJldHVybjog QSBtYWxsb2NlZCBzZ190YWJsZSBvbiBzdWNjZXNzLCBhbiBlcnJvciBwb2ludGVyIG9uIGZhaWx1 cmUuCiAgKi8KLXN0cnVjdCBzZ190YWJsZSAqaW50ZWxfcmVnaW9uX3R0bV9ub2RlX3RvX3N0KHN0 cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCi0JCQkJCSAgICAgc3RydWN0IHR0bV9yZXNv dXJjZSAqcmVzKQorc3RydWN0IHNnX3RhYmxlICppbnRlbF9yZWdpb25fdHRtX3Jlc291cmNlX3Rv X3N0KHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCisJCQkJCQkgc3RydWN0IHR0bV9y ZXNvdXJjZSAqcmVzKQogewogCXN0cnVjdCB0dG1fcmFuZ2VfbWdyX25vZGUgKnJhbmdlX25vZGUg PQogCQljb250YWluZXJfb2YocmVzLCB0eXBlb2YoKnJhbmdlX25vZGUpLCBiYXNlKTsKQEAgLTE5 Niw5ICsxOTYsOSBAQCBzdHJ1Y3Qgc2dfdGFibGUgKmludGVsX3JlZ2lvbl90dG1fbm9kZV90b19z dChzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogICogUmV0dXJuOiBBIHZhbGlkIHBv aW50ZXIgb24gc3VjY2VzcywgYW4gZXJyb3IgcG9pbnRlciBvbiBmYWlsdXJlLgogICovCiBzdHJ1 Y3QgdHRtX3Jlc291cmNlICoKLWludGVsX3JlZ2lvbl90dG1fbm9kZV9hbGxvYyhzdHJ1Y3QgaW50 ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAotCQkJICAgIHJlc291cmNlX3NpemVfdCBzaXplLAotCQkJ ICAgIHVuc2lnbmVkIGludCBmbGFncykKK2ludGVsX3JlZ2lvbl90dG1fcmVzb3VyY2VfYWxsb2Mo c3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSwKKwkJCQlyZXNvdXJjZV9zaXplX3Qgc2l6 ZSwKKwkJCQl1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IHR0bV9yZXNvdXJjZV9tYW5h Z2VyICptYW4gPSBtZW0tPnJlZ2lvbl9wcml2YXRlOwogCXN0cnVjdCB0dG1fcGxhY2UgcGxhY2Ug PSB7fTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl90dG0u aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl90dG0uaAppbmRleCA2NDk0OTE4 NDRlNzkuLjZmNDQwNzU5MjBmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmVnaW9uX3R0bS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl90 dG0uaApAQCAtMjIsMTEgKzIyLDExIEBAIGludCBpbnRlbF9yZWdpb25fdHRtX2luaXQoc3RydWN0 IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSk7CiAKIHZvaWQgaW50ZWxfcmVnaW9uX3R0bV9maW5p KHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0pOwogCi1zdHJ1Y3Qgc2dfdGFibGUgKmlu dGVsX3JlZ2lvbl90dG1fbm9kZV90b19zdChzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVt LAotCQkJCQkgICAgIHN0cnVjdCB0dG1fcmVzb3VyY2UgKnJlcyk7CitzdHJ1Y3Qgc2dfdGFibGUg KmludGVsX3JlZ2lvbl90dG1fcmVzb3VyY2VfdG9fc3Qoc3RydWN0IGludGVsX21lbW9yeV9yZWdp b24gKm1lbSwKKwkJCQkJCSBzdHJ1Y3QgdHRtX3Jlc291cmNlICpyZXMpOwogCi12b2lkIGludGVs X3JlZ2lvbl90dG1fbm9kZV9mcmVlKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCi0J CQkJc3RydWN0IHR0bV9yZXNvdXJjZSAqbm9kZSk7Cit2b2lkIGludGVsX3JlZ2lvbl90dG1fcmVz b3VyY2VfZnJlZShzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAorCQkJCSAgICBzdHJ1 Y3QgdHRtX3Jlc291cmNlICpyZXMpOwogCiBpbnQgaW50ZWxfcmVnaW9uX3RvX3R0bV90eXBlKGNv bnN0IHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0pOwogCkBAIC0zNCw4ICszNCw4IEBA IHN0cnVjdCB0dG1fZGV2aWNlX2Z1bmNzICppOTE1X3R0bV9kcml2ZXIodm9pZCk7CiAKICNpZmRl ZiBDT05GSUdfRFJNX0k5MTVfU0VMRlRFU1QKIHN0cnVjdCB0dG1fcmVzb3VyY2UgKgotaW50ZWxf cmVnaW9uX3R0bV9ub2RlX2FsbG9jKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCi0J CQkgICAgcmVzb3VyY2Vfc2l6ZV90IHNpemUsCi0JCQkgICAgdW5zaWduZWQgaW50IGZsYWdzKTsK K2ludGVsX3JlZ2lvbl90dG1fcmVzb3VyY2VfYWxsb2Moc3RydWN0IGludGVsX21lbW9yeV9yZWdp b24gKm1lbSwKKwkJCQlyZXNvdXJjZV9zaXplX3Qgc2l6ZSwKKwkJCQl1bnNpZ25lZCBpbnQgZmxh Z3MpOwogI2VuZGlmCiAjZW5kaWYgLyogX0lOVEVMX1JFR0lPTl9UVE1fSF8gKi8KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3JlZ2lvbi5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfcmVnaW9uLmMKaW5kZXggZWFmYzVhMDQ5NzVj Li42MTIwZDQzZmU1MDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9tb2NrX3JlZ2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2Nr X3JlZ2lvbi5jCkBAIC0xNiw3ICsxNiw3IEBACiBzdGF0aWMgdm9pZCBtb2NrX3JlZ2lvbl9wdXRf cGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCQkgIHN0cnVjdCBzZ190 YWJsZSAqcGFnZXMpCiB7Ci0JaW50ZWxfcmVnaW9uX3R0bV9ub2RlX2ZyZWUob2JqLT5tbS5yZWdp b24sIG9iai0+bW0uc3RfbW1fbm9kZSk7CisJaW50ZWxfcmVnaW9uX3R0bV9yZXNvdXJjZV9mcmVl KG9iai0+bW0ucmVnaW9uLCBvYmotPm1tLnJlcyk7CiAJc2dfZnJlZV90YWJsZShwYWdlcyk7CiAJ a2ZyZWUocGFnZXMpOwogfQpAQCAtMzAsMTUgKzMwLDE1IEBAIHN0YXRpYyBpbnQgbW9ja19yZWdp b25fZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJaWYgKG9iai0+ ZmxhZ3MgJiBJOTE1X0JPX0FMTE9DX0NPTlRJR1VPVVMpCiAJCWZsYWdzIHw9IEk5MTVfQUxMT0Nf Q09OVElHVU9VUzsKIAotCW9iai0+bW0uc3RfbW1fbm9kZSA9IGludGVsX3JlZ2lvbl90dG1fbm9k ZV9hbGxvYyhvYmotPm1tLnJlZ2lvbiwKLQkJCQkJCQkgb2JqLT5iYXNlLnNpemUsCi0JCQkJCQkJ IGZsYWdzKTsKLQlpZiAoSVNfRVJSKG9iai0+bW0uc3RfbW1fbm9kZSkpCi0JCXJldHVybiBQVFJf RVJSKG9iai0+bW0uc3RfbW1fbm9kZSk7CisJb2JqLT5tbS5yZXMgPSBpbnRlbF9yZWdpb25fdHRt X3Jlc291cmNlX2FsbG9jKG9iai0+bW0ucmVnaW9uLAorCQkJCQkJICAgICAgb2JqLT5iYXNlLnNp emUsCisJCQkJCQkgICAgICBmbGFncyk7CisJaWYgKElTX0VSUihvYmotPm1tLnJlcykpCisJCXJl dHVybiBQVFJfRVJSKG9iai0+bW0ucmVzKTsKIAotCXBhZ2VzID0gaW50ZWxfcmVnaW9uX3R0bV9u b2RlX3RvX3N0KG9iai0+bW0ucmVnaW9uLCBvYmotPm1tLnN0X21tX25vZGUpOworCXBhZ2VzID0g aW50ZWxfcmVnaW9uX3R0bV9yZXNvdXJjZV90b19zdChvYmotPm1tLnJlZ2lvbiwgb2JqLT5tbS5y ZXMpOwogCWlmIChJU19FUlIocGFnZXMpKSB7Ci0JCWludGVsX3JlZ2lvbl90dG1fbm9kZV9mcmVl KG9iai0+bW0ucmVnaW9uLCBvYmotPm1tLnN0X21tX25vZGUpOworCQlpbnRlbF9yZWdpb25fdHRt X3Jlc291cmNlX2ZyZWUob2JqLT5tbS5yZWdpb24sIG9iai0+bW0ucmVzKTsKIAkJcmV0dXJuIFBU Ul9FUlIocGFnZXMpOwogCX0KIAotLSAKMi4yNi4zCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK