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=-12.0 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 DF4C3C433DB for ; Tue, 26 Jan 2021 10:13: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 7866123101 for ; Tue, 26 Jan 2021 10:13:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7866123101 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.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 7AA4489CA8; Tue, 26 Jan 2021 10:13:36 +0000 (UTC) Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com [IPv6:2a00:1450:4864:20::52c]) by gabe.freedesktop.org (Postfix) with ESMTPS id C6B3289CA8 for ; Tue, 26 Jan 2021 10:13:35 +0000 (UTC) Received: by mail-ed1-x52c.google.com with SMTP id d2so15489871edz.3 for ; Tue, 26 Jan 2021 02:13:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:references:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=SJLCj5HfA87QJPlJ075s1IQw9Cju5MrY8qsHd28DnKs=; b=NBaUmq0i2CJCXIEVY+Ye2ZBSvPIisPE9QryPa2MtNjwuj5TaAhVjolfMq7o1yBGyeE EMpT9I2iik4VnPrqg47IkCyHhVgHY2C7VEEk/NUuuQ7paPltLxY8OBBAlj/55EkpnUNs TiujAAQmAbY87DWajNSzBrj26OR2vzRIX2fh/OxdKtErO3Ga/zvSnrWWO76z3PJahIFD s8j7UEz2ErU71bgQD1qjq25i4UU0e0M9qavwkx5NQiUalEbtl7D77eLV9NaRj1Z8QIq8 8KyNMXkgsQnZJvCOEuclZfD9+LtDGS/V+ugzbT3gXDlDKFDbNndm+CHaYQj8NmkQ/fVv n/0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=SJLCj5HfA87QJPlJ075s1IQw9Cju5MrY8qsHd28DnKs=; b=qgyahTEn+oqUEYbxbYsj59pFbOf9GOgLBsJBg8PCG8VswTxgDipF23BvvSzSQspGV2 JGzgL+bJcgjsurD9vFQSK4/HZWWVYUswl9r36wVB9NUkM2QaoN2e/HDGnbHNZwn0stQb M08mMH7Wa5dRaegNB0H6xKPBcwGeqA4kx8/ExIHdbkHlvm/uq2hMJQuuUYvkPIC2Wxvt QRNLyQCUrYnjrz3076cT0etq/A4qPyL+2yYXRVg4jPzrhp6acSwE8suqNG4wuAeVZ3sJ 1BIXvLfe65l+FdWfU+swjsPbFNJzLiPmL5H0+BC1MPvtXwfghXSKorNUwmXnvTaZLBYp LUuw== X-Gm-Message-State: AOAM5321kFoMA8x6G/L3+/NlVwW13ojETLgDEdICp9Am69/BSvGPXxIY oOIKXCKyoUzrTyBX6vjUbm8o7KJ1Hes= X-Google-Smtp-Source: ABdhPJwGojYUUrkQ54OPnf86/Cslogu2k8g51KTmaP0vKJSnuKybsHxV+PUwSvYCy/Z/K31QCPG0Cg== X-Received: by 2002:a05:6402:31bb:: with SMTP id dj27mr4006117edb.285.1611656014051; Tue, 26 Jan 2021 02:13:34 -0800 (PST) Received: from ?IPv6:2a02:908:1252:fb60:be8a:bd56:1f94:86e7? ([2a02:908:1252:fb60:be8a:bd56:1f94:86e7]) by smtp.gmail.com with ESMTPSA id j5sm12515033edl.42.2021.01.26.02.13.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 26 Jan 2021 02:13:32 -0800 (PST) Subject: Re: [PATCH 1/3] drm/ttm: rework ttm_tt page limit v3 From: =?UTF-8?Q?Christian_K=c3=b6nig?= To: daniel@ffwll.ch, dri-devel@lists.freedesktop.org References: <20210125132514.3819-1-christian.koenig@amd.com> Message-ID: <93061974-096b-3f17-e785-c3a38e990939@gmail.com> Date: Tue, 26 Jan 2021 11:13:30 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20210125132514.3819-1-christian.koenig@amd.com> Content-Language: en-US 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: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGkgRGFuaWVsLAoKanVzdCBpbiBjYXNlIHlvdSByZWFkIHRoYXQgd2hlbiB5b3UgY29tZSBiYWNr IGZyb20gdmFjYXRpb24uCgpJJ3ZlIHRlc3RlZCB0aGlzIHF1aXRlIGV4dGVuc2l2ZWx5IGFuZCBh cGFydCBmcm9tIHRoZSB0eXBvIGluIHRoZSBLRkQgaW4gCnBhdGNoICMzIGl0IGxvb2tzIHByZXR0 eSBzb2xpZCBub3cuCgpFLmcuIG5vIGxvY2tkZXAgb3IgS0FTQU4gc3BsYXQgd2hlbiBJIHVzZSB0 aGUgZGVidWdmcyBzdHVmZi4gSXMgdGhpcyAKc3VmZmljaWVudD8KClRoYW5rcywKQ2hyaXN0aWFu LgoKQW0gMjUuMDEuMjEgdW0gMTQ6MjUgc2NocmllYiBDaHJpc3RpYW4gS8O2bmlnOgo+IFRUTSBp bXBsZW1lbnRzIGEgcmF0aGVyIGV4dGVuc2l2ZSBhY2NvdW50aW5nIG9mIGFsbG9jYXRlZCBtZW1v cnkuCj4KPiBUaGVyZSBhcmUgdHdvIHJlYXNvbnMgZm9yIHRoaXM6Cj4gMS4gSXQgdHJpZXMgdG8g YmxvY2sgdXNlcnNwYWNlIGFsbG9jYXRpbmcgYSBodWdlIG51bWJlciBvZiB2ZXJ5IHNtYWxsCj4g ICAgIEJPcyB3aXRob3V0IGFjY291bnRpbmcgZm9yIHRoZSBrbWFsbG9jZWQgbWVtb3J5Lgo+Cj4g Mi4gTWFrZSBzdXJlIHdlIGRvbid0IG92ZXIgYWxsb2NhdGUgYW5kIHJ1biBpbnRvIGFuIE9PTSBz aXR1YXRpb24KPiAgICAgZHVyaW5nIHN3YXBvdXQgd2hpbGUgdHJ5aW5nIHRvIGhhbmRsZSB0aGUg bWVtb3J5IHNob3J0YWdlLgo+Cj4gVGhpcyBpcyBvbmx5IHBhcnRpYWxseSBhIGdvb2QgaWRlYS4g Rmlyc3Qgb2YgYWxsIGl0IGlzIHBlcmZlY3RseQo+IHZhbGlkIGZvciBhbiBhcHBsaWNhdGlvbiB0 byB1c2UgYWxsIG9mIHN5c3RlbSBtZW1vcnksIGxpbWl0aW5nIGl0IHRvCj4gNTAlIGlzIG5vdCBy ZWFsbHkgYWNjZXB0YWJsZS4KPgo+IFdoYXQgd2UgbmVlZCB0byB0YWtlIGNhcmUgb2YgaXMgdGhh dCB0aGUgYXBwbGljYXRpb24gaXMgaGVsZAo+IGFjY291bnRhYmxlIGZvciB0aGUgbWVtb3J5IGl0 IGFsbG9jYXRlZC4gVGhpcyBpcyB3aGF0IGNvbnRyb2wKPiBtZWNoYW5pc21zIGxpa2UgbWVtY2cg YW5kIHRoZSBub3JtYWwgTGludXggcGFnZSBhY2NvdW50aW5nIGFscmVhZHkgZG8uCj4KPiBNYWtp bmcgc3VyZSB0aGF0IHdlIGRvbid0IHJ1biBpbnRvIGFuIE9PTSBzaXR1YXRpb24gd2hpbGUgdHJ5 aW5nIHRvCj4gY29wZSB3aXRoIGEgbWVtb3J5IHNob3J0YWdlIGlzIHN0aWxsIGEgZ29vZCBpZGVh LCBidXQgdGhpcyBpcyBhbHNvCj4gbm90IHZlcnkgd2VsbCBpbXBsZW1lbnRlZCBzaW5jZSBpdCBt ZWFucyBhbm90aGVyIG9wcG9ydHVuaXR5IG9mCj4gcmVjdXJzaW9uIGZyb20gdGhlIGRyaXZlciBi YWNrIGludG8gVFRNLgo+Cj4gU28gc3RhcnQgdG8gcmV3b3JrIGFsbCBvZiB0aGlzIGJ5IGltcGxl bWVudGluZyBhIHNocmlua2VyIGNhbGxiYWNrIHdoaWNoCj4gYWxsb3dzIGZvciBUVCBvYmplY3Qg dG8gYmUgc3dhcHBlZCBvdXQgaWYgbmVjZXNzYXJ5Lgo+Cj4gdjI6IFN3aXRjaCBmcm9tIGxpbWl0 IHRvIHNocmlua2VyIGNhbGxiYWNrLgo+IHYzOiBmaXggZ2ZwIG1hc2sgaGFuZGxpbmcsIHVzZSBh dG9taWMgZm9yIHN3YXBhYmxlX3BhZ2VzLCBhZGQgZGVidWdmcwo+Cj4gU2lnbmVkLW9mZi1ieTog Q2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+IC0tLQo+ICAgZHJp dmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYyAgICAgICAgfCAgIDQgKy0KPiAgIGRyaXZlcnMvZ3B1 L2RybS90dG0vdHRtX21lbW9yeS5jICAgIHwgICA3ICstCj4gICBkcml2ZXJzL2dwdS9kcm0vdHRt L3R0bV90dC5jICAgICAgICB8IDExMSArKysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gICBk cml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9kcnYuYyB8ICAgMiArLQo+ICAgaW5jbHVkZS9k cm0vdHRtL3R0bV9ib19hcGkuaCAgICAgICAgfCAgIDIgKy0KPiAgIGluY2x1ZGUvZHJtL3R0bS90 dG1fdHQuaCAgICAgICAgICAgIHwgICA2ICstCj4gICA2IGZpbGVzIGNoYW5nZWQsIDExNyBpbnNl cnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vdHRtL3R0bV9iby5jIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYwo+IGluZGV4IDIw MjU2Nzk3ZjNhNi4uNjQzYmVmYzFhNmYyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90 dG0vdHRtX2JvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jCj4gQEAgLTEy MTksNyArMTIxOSw3IEBAIEVYUE9SVF9TWU1CT0wodHRtX2JvX3dhaXQpOwo+ICAgICogQSBidWZm ZXIgb2JqZWN0IHNocmluayBtZXRob2QgdGhhdCB0cmllcyB0byBzd2FwIG91dCB0aGUgZmlyc3QK PiAgICAqIGJ1ZmZlciBvYmplY3Qgb24gdGhlIGJvX2dsb2JhbDo6c3dhcF9scnUgbGlzdC4KPiAg ICAqLwo+IC1pbnQgdHRtX2JvX3N3YXBvdXQoc3RydWN0IHR0bV9vcGVyYXRpb25fY3R4ICpjdHgp Cj4gK2ludCB0dG1fYm9fc3dhcG91dChzdHJ1Y3QgdHRtX29wZXJhdGlvbl9jdHggKmN0eCwgZ2Zw X3QgZ2ZwX2ZsYWdzKQo+ICAgewo+ICAgCXN0cnVjdCB0dG1fZ2xvYmFsICpnbG9iID0gJnR0bV9n bG9iOwo+ICAgCXN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm87Cj4gQEAgLTEzMDIsNyArMTMw Miw3IEBAIGludCB0dG1fYm9fc3dhcG91dChzdHJ1Y3QgdHRtX29wZXJhdGlvbl9jdHggKmN0eCkK PiAgIAlpZiAoYm8tPmJkZXYtPmZ1bmNzLT5zd2FwX25vdGlmeSkKPiAgIAkJYm8tPmJkZXYtPmZ1 bmNzLT5zd2FwX25vdGlmeShibyk7Cj4gICAKPiAtCXJldCA9IHR0bV90dF9zd2Fwb3V0KGJvLT5i ZGV2LCBiby0+dHRtKTsKPiArCXJldCA9IHR0bV90dF9zd2Fwb3V0KGJvLT5iZGV2LCBiby0+dHRt LCBnZnBfZmxhZ3MpOwo+ICAgb3V0Ogo+ICAgCj4gICAJLyoqCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS90dG0vdHRtX21lbW9yeS5jIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fbWVt b3J5LmMKPiBpbmRleCBhM2JmYmQ5Y2VhNjguLjYzNGE4NWMyZGM0YyAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9tZW1vcnkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90 dG0vdHRtX21lbW9yeS5jCj4gQEAgLTM3LDYgKzM3LDcgQEAKPiAgICNpbmNsdWRlIDxsaW51eC9z bGFiLmg+Cj4gICAjaW5jbHVkZSA8bGludXgvc3dhcC5oPgo+ICAgI2luY2x1ZGUgPGRybS90dG0v dHRtX3Bvb2wuaD4KPiArI2luY2x1ZGUgPGRybS90dG0vdHRtX3R0Lmg+Cj4gICAKPiAgICNpbmNs dWRlICJ0dG1fbW9kdWxlLmgiCj4gICAKPiBAQCAtMjc2LDkgKzI3Nyw5IEBAIHN0YXRpYyB2b2lk IHR0bV9zaHJpbmsoc3RydWN0IHR0bV9tZW1fZ2xvYmFsICpnbG9iLCBib29sIGZyb21fd3EsCj4g ICAKPiAgIAl3aGlsZSAodHRtX3pvbmVzX2Fib3ZlX3N3YXBfdGFyZ2V0KGdsb2IsIGZyb21fd3Es IGV4dHJhKSkgewo+ICAgCQlzcGluX3VubG9jaygmZ2xvYi0+bG9jayk7Cj4gLQkJcmV0ID0gdHRt X2JvX3N3YXBvdXQoY3R4KTsKPiArCQlyZXQgPSB0dG1fYm9fc3dhcG91dChjdHgsIEdGUF9LRVJO RUwpOwo+ICAgCQlzcGluX2xvY2soJmdsb2ItPmxvY2spOwo+IC0JCWlmICh1bmxpa2VseShyZXQg IT0gMCkpCj4gKwkJaWYgKHVubGlrZWx5KHJldCA8IDApKQo+ICAgCQkJYnJlYWs7Cj4gICAJfQo+ ICAgCj4gQEAgLTQ1Myw2ICs0NTQsNyBAQCBpbnQgdHRtX21lbV9nbG9iYWxfaW5pdChzdHJ1Y3Qg dHRtX21lbV9nbG9iYWwgKmdsb2IpCj4gICAJCQl6b25lLT5uYW1lLCAodW5zaWduZWQgbG9uZyBs b25nKXpvbmUtPm1heF9tZW0gPj4gMTApOwo+ICAgCX0KPiAgIAl0dG1fcG9vbF9tZ3JfaW5pdChn bG9iLT56b25lX2tlcm5lbC0+bWF4X21lbS8oMipQQUdFX1NJWkUpKTsKPiArCXR0bV90dF9tZ3Jf aW5pdCgpOwo+ICAgCXJldHVybiAwOwo+ICAgb3V0X25vX3pvbmU6Cj4gICAJdHRtX21lbV9nbG9i YWxfcmVsZWFzZShnbG9iKTsKPiBAQCAtNDY2LDYgKzQ2OCw3IEBAIHZvaWQgdHRtX21lbV9nbG9i YWxfcmVsZWFzZShzdHJ1Y3QgdHRtX21lbV9nbG9iYWwgKmdsb2IpCj4gICAKPiAgIAkvKiBsZXQg dGhlIHBhZ2UgYWxsb2NhdG9yIGZpcnN0IHN0b3AgdGhlIHNocmluayB3b3JrLiAqLwo+ICAgCXR0 bV9wb29sX21ncl9maW5pKCk7Cj4gKwl0dG1fdHRfbWdyX2ZpbmkoKTsKPiAgIAo+ICAgCWZsdXNo X3dvcmtxdWV1ZShnbG9iLT5zd2FwX3F1ZXVlKTsKPiAgIAlkZXN0cm95X3dvcmtxdWV1ZShnbG9i LT5zd2FwX3F1ZXVlKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fdHQu YyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX3R0LmMKPiBpbmRleCA3NzgyZDUzOTNjN2MuLmI2 Nzc5NWRlMjI4ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV90dC5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fdHQuYwo+IEBAIC0zOCw2ICszOCwxMSBAQAo+ ICAgI2luY2x1ZGUgPGRybS9kcm1fY2FjaGUuaD4KPiAgICNpbmNsdWRlIDxkcm0vdHRtL3R0bV9i b19kcml2ZXIuaD4KPiAgIAo+ICsjaW5jbHVkZSAidHRtX21vZHVsZS5oIgo+ICsKPiArc3RhdGlj IHN0cnVjdCBzaHJpbmtlciBtbV9zaHJpbmtlcjsKPiArc3RhdGljIGF0b21pY19sb25nX3Qgc3dh cGFibGVfcGFnZXM7Cj4gKwo+ICAgLyoKPiAgICAqIEFsbG9jYXRlcyBhIHR0bSBzdHJ1Y3R1cmUg Zm9yIHRoZSBnaXZlbiBCTy4KPiAgICAqLwo+IEBAIC0yMjMsMzIgKzIyOCw0MSBAQCBpbnQgdHRt X3R0X3N3YXBpbihzdHJ1Y3QgdHRtX3R0ICp0dG0pCj4gICAJcmV0dXJuIHJldDsKPiAgIH0KPiAg IAo+IC1pbnQgdHRtX3R0X3N3YXBvdXQoc3RydWN0IHR0bV9kZXZpY2UgKmJkZXYsIHN0cnVjdCB0 dG1fdHQgKnR0bSkKPiArLyoqCj4gKyAqIHR0bV90dF9zd2Fwb3V0IC0gc3dhcCBvdXQgdHQgb2Jq ZWN0Cj4gKyAqCj4gKyAqIEBiZGV2OiBUVE0gZGV2aWNlIHN0cnVjdHVyZS4KPiArICogQHR0bTog VGhlIHN0cnVjdCB0dG1fdHQuCj4gKyAqIEBnZnBfZmxhZ3M6IEZsYWdzIHRvIHVzZSBmb3IgbWVt b3J5IGFsbG9jYXRpb24uCj4gKyAqCj4gKyAqIFN3YXBvdXQgYSBUVCBvYmplY3QgdG8gYSBzaG1l bV9maWxlLCByZXR1cm4gbnVtYmVyIG9mIHBhZ2VzIHN3YXBwZWQgb3V0IG9yCj4gKyAqIG5lZ2F0 aXZlIGVycm9yIGNvZGUuCj4gKyAqLwo+ICtpbnQgdHRtX3R0X3N3YXBvdXQoc3RydWN0IHR0bV9k ZXZpY2UgKmJkZXYsIHN0cnVjdCB0dG1fdHQgKnR0bSwKPiArCQkgICBnZnBfdCBnZnBfZmxhZ3Mp Cj4gICB7Cj4gKwlsb2ZmX3Qgc2l6ZSA9IChsb2ZmX3QpdHRtLT5udW1fcGFnZXMgPDwgUEFHRV9T SElGVDsKPiAgIAlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqc3dhcF9zcGFjZTsKPiAgIAlzdHJ1Y3Qg ZmlsZSAqc3dhcF9zdG9yYWdlOwo+ICAgCXN0cnVjdCBwYWdlICpmcm9tX3BhZ2U7Cj4gICAJc3Ry dWN0IHBhZ2UgKnRvX3BhZ2U7Cj4gLQlnZnBfdCBnZnBfbWFzazsKPiAgIAlpbnQgaSwgcmV0Owo+ ICAgCj4gLQlzd2FwX3N0b3JhZ2UgPSBzaG1lbV9maWxlX3NldHVwKCJ0dG0gc3dhcCIsCj4gLQkJ CQkJdHRtLT5udW1fcGFnZXMgPDwgUEFHRV9TSElGVCwKPiAtCQkJCQkwKTsKPiArCXN3YXBfc3Rv cmFnZSA9IHNobWVtX2ZpbGVfc2V0dXAoInR0bSBzd2FwIiwgc2l6ZSwgMCk7Cj4gICAJaWYgKElT X0VSUihzd2FwX3N0b3JhZ2UpKSB7Cj4gICAJCXByX2VycigiRmFpbGVkIGFsbG9jYXRpbmcgc3dh cCBzdG9yYWdlXG4iKTsKPiAgIAkJcmV0dXJuIFBUUl9FUlIoc3dhcF9zdG9yYWdlKTsKPiAgIAl9 Cj4gICAKPiAgIAlzd2FwX3NwYWNlID0gc3dhcF9zdG9yYWdlLT5mX21hcHBpbmc7Cj4gLQlnZnBf bWFzayA9IG1hcHBpbmdfZ2ZwX21hc2soc3dhcF9zcGFjZSk7Cj4gKwlnZnBfZmxhZ3MgJj0gbWFw cGluZ19nZnBfbWFzayhzd2FwX3NwYWNlKTsKPiAgIAo+ICAgCWZvciAoaSA9IDA7IGkgPCB0dG0t Pm51bV9wYWdlczsgKytpKSB7Cj4gICAJCWZyb21fcGFnZSA9IHR0bS0+cGFnZXNbaV07Cj4gICAJ CWlmICh1bmxpa2VseShmcm9tX3BhZ2UgPT0gTlVMTCkpCj4gICAJCQljb250aW51ZTsKPiAgIAo+ IC0JCXRvX3BhZ2UgPSBzaG1lbV9yZWFkX21hcHBpbmdfcGFnZV9nZnAoc3dhcF9zcGFjZSwgaSwg Z2ZwX21hc2spOwo+ICsJCXRvX3BhZ2UgPSBzaG1lbV9yZWFkX21hcHBpbmdfcGFnZV9nZnAoc3dh cF9zcGFjZSwgaSwgZ2ZwX2ZsYWdzKTsKPiAgIAkJaWYgKElTX0VSUih0b19wYWdlKSkgewo+ICAg CQkJcmV0ID0gUFRSX0VSUih0b19wYWdlKTsKPiAgIAkJCWdvdG8gb3V0X2VycjsKPiBAQCAtMjYz LDcgKzI3Nyw3IEBAIGludCB0dG1fdHRfc3dhcG91dChzdHJ1Y3QgdHRtX2RldmljZSAqYmRldiwg c3RydWN0IHR0bV90dCAqdHRtKQo+ICAgCXR0bS0+c3dhcF9zdG9yYWdlID0gc3dhcF9zdG9yYWdl Owo+ICAgCXR0bS0+cGFnZV9mbGFncyB8PSBUVE1fUEFHRV9GTEFHX1NXQVBQRUQ7Cj4gICAKPiAt CXJldHVybiAwOwo+ICsJcmV0dXJuIHR0bS0+bnVtX3BhZ2VzOwo+ICAgCj4gICBvdXRfZXJyOgo+ ICAgCWZwdXQoc3dhcF9zdG9yYWdlKTsKPiBAQCAtMjgwLDYgKzI5NCw4IEBAIHN0YXRpYyB2b2lk IHR0bV90dF9hZGRfbWFwcGluZyhzdHJ1Y3QgdHRtX2RldmljZSAqYmRldiwgc3RydWN0IHR0bV90 dCAqdHRtKQo+ICAgCj4gICAJZm9yIChpID0gMDsgaSA8IHR0bS0+bnVtX3BhZ2VzOyArK2kpCj4g ICAJCXR0bS0+cGFnZXNbaV0tPm1hcHBpbmcgPSBiZGV2LT5kZXZfbWFwcGluZzsKPiArCj4gKwlh dG9taWNfbG9uZ19hZGQodHRtLT5udW1fcGFnZXMsICZzd2FwYWJsZV9wYWdlcyk7Cj4gICB9Cj4g ICAKPiAgIGludCB0dG1fdHRfcG9wdWxhdGUoc3RydWN0IHR0bV9kZXZpY2UgKmJkZXYsCj4gQEAg LTMyNiw2ICszNDIsOCBAQCBzdGF0aWMgdm9pZCB0dG1fdHRfY2xlYXJfbWFwcGluZyhzdHJ1Y3Qg dHRtX3R0ICp0dG0pCj4gICAJCSgqcGFnZSktPm1hcHBpbmcgPSBOVUxMOwo+ICAgCQkoKnBhZ2Ur KyktPmluZGV4ID0gMDsKPiAgIAl9Cj4gKwo+ICsJYXRvbWljX2xvbmdfc3ViKHR0bS0+bnVtX3Bh Z2VzLCAmc3dhcGFibGVfcGFnZXMpOwo+ICAgfQo+ICAgCj4gICB2b2lkIHR0bV90dF91bnBvcHVs YXRlKHN0cnVjdCB0dG1fZGV2aWNlICpiZGV2LAo+IEBAIC0zNDEsMyArMzU5LDgwIEBAIHZvaWQg dHRtX3R0X3VucG9wdWxhdGUoc3RydWN0IHR0bV9kZXZpY2UgKmJkZXYsCj4gICAJCXR0bV9wb29s X2ZyZWUoJmJkZXYtPnBvb2wsIHR0bSk7Cj4gICAJdHRtLT5wYWdlX2ZsYWdzICY9IH5UVE1fUEFH RV9GTEFHX1BSSVZfUE9QVUxBVEVEOwo+ICAgfQo+ICsKPiArLyogQXMgbG9uZyBhcyBwYWdlcyBh cmUgYXZhaWxhYmxlIG1ha2Ugc3VyZSB0byByZWxlYXNlIGF0IGxlYXN0IG9uZSAqLwo+ICtzdGF0 aWMgdW5zaWduZWQgbG9uZyB0dG1fdHRfc2hyaW5rZXJfc2NhbihzdHJ1Y3Qgc2hyaW5rZXIgKnNo cmluaywKPiArCQkJCQkgIHN0cnVjdCBzaHJpbmtfY29udHJvbCAqc2MpCj4gK3sKPiArCXN0cnVj dCB0dG1fb3BlcmF0aW9uX2N0eCBjdHggPSB7Cj4gKwkJLm5vX3dhaXRfZ3B1ID0gZmFsc2UKPiAr CX07Cj4gKwlpbnQgcmV0Owo+ICsKPiArCWlmICghKHNjLT5nZnBfbWFzayAmIF9fR0ZQX0ZTKSkK PiArCQlyZXR1cm4gU0hSSU5LX0VNUFRZOwo+ICsKPiArCXJldCA9IHR0bV9ib19zd2Fwb3V0KCZj dHgsIEdGUF9OT0ZTKTsKPiArCXJldHVybiByZXQgPCAwID8gU0hSSU5LX0VNUFRZIDogcmV0Owo+ ICt9Cj4gKwo+ICsvKiBSZXR1cm4gdGhlIG51bWJlciBvZiBwYWdlcyBhdmFpbGFibGUgb3IgU0hS SU5LX0VNUFRZIGlmIHdlIGhhdmUgbm9uZSAqLwo+ICtzdGF0aWMgdW5zaWduZWQgbG9uZyB0dG1f dHRfc2hyaW5rZXJfY291bnQoc3RydWN0IHNocmlua2VyICpzaHJpbmssCj4gKwkJCQkJICAgc3Ry dWN0IHNocmlua19jb250cm9sICpzYykKPiArewo+ICsJdW5zaWduZWQgbG9uZyBudW1fcGFnZXM7 Cj4gKwo+ICsJaWYgKCEoc2MtPmdmcF9tYXNrICYgX19HRlBfRlMpKQo+ICsJCXJldHVybiBTSFJJ TktfRU1QVFk7Cj4gKwo+ICsJbnVtX3BhZ2VzID0gYXRvbWljX2xvbmdfcmVhZCgmc3dhcGFibGVf cGFnZXMpOwo+ICsJcmV0dXJuIG51bV9wYWdlcyA/IG51bV9wYWdlcyA6IFNIUklOS19FTVBUWTsK PiArfQo+ICsKPiArI2lmZGVmIENPTkZJR19ERUJVR19GUwo+ICsKPiArLyogVGVzdCB0aGUgc2hy aW5rZXIgZnVuY3Rpb25zIGFuZCBkdW1wIHRoZSByZXN1bHQgKi8KPiArc3RhdGljIGludCB0dG1f dHRfZGVidWdmc19zaHJpbmtfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4g K3sKPiArCXN0cnVjdCBzaHJpbmtfY29udHJvbCBzYyA9IHsgLmdmcF9tYXNrID0gR0ZQX0tFUk5F TCB9Owo+ICsKPiArCWZzX3JlY2xhaW1fYWNxdWlyZShHRlBfS0VSTkVMKTsKPiArCXNlcV9wcmlu dGYobSwgIiVsdS8lbHVcbiIsIHR0bV90dF9zaHJpbmtlcl9jb3VudCgmbW1fc2hyaW5rZXIsICZz YyksCj4gKwkJICAgdHRtX3R0X3Nocmlua2VyX3NjYW4oJm1tX3Nocmlua2VyLCAmc2MpKTsKPiAr CWZzX3JlY2xhaW1fcmVsZWFzZShHRlBfS0VSTkVMKTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ ICtERUZJTkVfU0hPV19BVFRSSUJVVEUodHRtX3R0X2RlYnVnZnNfc2hyaW5rKTsKPiArCj4gKyNl bmRpZgo+ICsKPiArCj4gKwo+ICsvKioKPiArICogdHRtX3R0X21ncl9pbml0IC0gcmVnaXN0ZXIg d2l0aCB0aGUgTU0gc2hyaW5rZXIKPiArICoKPiArICogUmVnaXN0ZXIgd2l0aCB0aGUgTU0gc2hy aW5rZXIgZm9yIHN3YXBwaW5nIG91dCBCT3MuCj4gKyAqLwo+ICtpbnQgdHRtX3R0X21ncl9pbml0 KHZvaWQpCj4gK3sKPiArI2lmZGVmIENPTkZJR19ERUJVR19GUwo+ICsJZGVidWdmc19jcmVhdGVf ZmlsZSgidHRfc2hyaW5rIiwgMDQwMCwgdHRtX2RlYnVnZnNfcm9vdCwgTlVMTCwKPiArCQkJICAg ICZ0dG1fdHRfZGVidWdmc19zaHJpbmtfZm9wcyk7Cj4gKyNlbmRpZgo+ICsKPiArCW1tX3Nocmlu a2VyLmNvdW50X29iamVjdHMgPSB0dG1fdHRfc2hyaW5rZXJfY291bnQ7Cj4gKwltbV9zaHJpbmtl ci5zY2FuX29iamVjdHMgPSB0dG1fdHRfc2hyaW5rZXJfc2NhbjsKPiArCW1tX3Nocmlua2VyLnNl ZWtzID0gMTsKPiArCXJldHVybiByZWdpc3Rlcl9zaHJpbmtlcigmbW1fc2hyaW5rZXIpOwo+ICt9 Cj4gKwo+ICsvKioKPiArICogdHRtX3R0X21ncl9maW5pIC0gdW5yZWdpc3RlciBvdXIgTU0gc2hy aW5rZXIKPiArICoKPiArICogVW5yZWdpc3RlcnMgdGhlIE1NIHNocmlua2VyLgo+ICsgKi8KPiAr dm9pZCB0dG1fdHRfbWdyX2Zpbmkodm9pZCkKPiArewo+ICsJdW5yZWdpc3Rlcl9zaHJpbmtlcigm bW1fc2hyaW5rZXIpOwo+ICt9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngv dm13Z2Z4X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfZHJ2LmMKPiBpbmRl eCBiNDU0ZDgwYzI3M2UuLjcxMGJhNTE2OWE3NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vdm13Z2Z4L3Ztd2dmeF9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13 Z2Z4X2Rydi5jCj4gQEAgLTEzODMsNyArMTM4Myw3IEBAIHN0YXRpYyBpbnQgdm13X3BtX2ZyZWV6 ZShzdHJ1Y3QgZGV2aWNlICprZGV2KQo+ICAgCXZtd19leGVjYnVmX3JlbGVhc2VfcGlubmVkX2Jv KGRldl9wcml2KTsKPiAgIAl2bXdfcmVzb3VyY2VfZXZpY3RfYWxsKGRldl9wcml2KTsKPiAgIAl2 bXdfcmVsZWFzZV9kZXZpY2VfZWFybHkoZGV2X3ByaXYpOwo+IC0Jd2hpbGUgKHR0bV9ib19zd2Fw b3V0KCZjdHgpID09IDApOwo+ICsJd2hpbGUgKHR0bV9ib19zd2Fwb3V0KCZjdHgsIEdGUF9LRVJO RUwpID4gMCk7Cj4gICAJaWYgKGRldl9wcml2LT5lbmFibGVfZmIpCj4gICAJCXZtd19maWZvX3Jl c291cmNlX2RlYyhkZXZfcHJpdik7Cj4gICAJaWYgKGF0b21pY19yZWFkKCZkZXZfcHJpdi0+bnVt X2ZpZm9fcmVzb3VyY2VzKSAhPSAwKSB7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL3R0bS90 dG1fYm9fYXBpLmggYi9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2FwaS5oCj4gaW5kZXggNjI3MzRk YjBiNDIxLi4xMjk3YThmYjdjY2IgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9i b19hcGkuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fYXBpLmgKPiBAQCAtNTY5LDcg KzU2OSw3IEBAIHNzaXplX3QgdHRtX2JvX2lvKHN0cnVjdCB0dG1fZGV2aWNlICpiZGV2LCBzdHJ1 Y3QgZmlsZSAqZmlscCwKPiAgIAkJICBjb25zdCBjaGFyIF9fdXNlciAqd2J1ZiwgY2hhciBfX3Vz ZXIgKnJidWYsCj4gICAJCSAgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKmZfcG9zLCBib29sIHdyaXRl KTsKPiAgIAo+IC1pbnQgdHRtX2JvX3N3YXBvdXQoc3RydWN0IHR0bV9vcGVyYXRpb25fY3R4ICpj dHgpOwo+ICtpbnQgdHRtX2JvX3N3YXBvdXQoc3RydWN0IHR0bV9vcGVyYXRpb25fY3R4ICpjdHgs IGdmcF90IGdmcF9mbGFncyk7Cj4gICAKPiAgIC8qKgo+ICAgICogdHRtX2JvX3VzZXNfZW1iZWRk ZWRfZ2VtX29iamVjdCAtIGNoZWNrIGlmIHRoZSBnaXZlbiBibyB1c2VzIHRoZQo+IGRpZmYgLS1n aXQgYS9pbmNsdWRlL2RybS90dG0vdHRtX3R0LmggYi9pbmNsdWRlL2RybS90dG0vdHRtX3R0LmgK PiBpbmRleCAwMDIwYTA1ODg5ODUuLmNjZTU3ZmI0OWUyYyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRl L2RybS90dG0vdHRtX3R0LmgKPiArKysgYi9pbmNsdWRlL2RybS90dG0vdHRtX3R0LmgKPiBAQCAt MTM1LDcgKzEzNSw4IEBAIHZvaWQgdHRtX3R0X2Rlc3Ryb3lfY29tbW9uKHN0cnVjdCB0dG1fZGV2 aWNlICpiZGV2LCBzdHJ1Y3QgdHRtX3R0ICp0dG0pOwo+ICAgICogU3dhcCBpbiBhIHByZXZpb3Vz bHkgc3dhcCBvdXQgdHRtX3R0Lgo+ICAgICovCj4gICBpbnQgdHRtX3R0X3N3YXBpbihzdHJ1Y3Qg dHRtX3R0ICp0dG0pOwo+IC1pbnQgdHRtX3R0X3N3YXBvdXQoc3RydWN0IHR0bV9kZXZpY2UgKmJk ZXYsIHN0cnVjdCB0dG1fdHQgKnR0bSk7Cj4gK2ludCB0dG1fdHRfc3dhcG91dChzdHJ1Y3QgdHRt X2RldmljZSAqYmRldiwgc3RydWN0IHR0bV90dCAqdHRtLAo+ICsJCSAgIGdmcF90IGdmcF9mbGFn cyk7Cj4gICAKPiAgIC8qKgo+ICAgICogdHRtX3R0X3BvcHVsYXRlIC0gYWxsb2NhdGUgcGFnZXMg Zm9yIGEgdHRtCj4gQEAgLTE1NSw2ICsxNTYsOSBAQCBpbnQgdHRtX3R0X3BvcHVsYXRlKHN0cnVj dCB0dG1fZGV2aWNlICpiZGV2LCBzdHJ1Y3QgdHRtX3R0ICp0dG0sIHN0cnVjdCB0dG1fb3Blcgo+ ICAgICovCj4gICB2b2lkIHR0bV90dF91bnBvcHVsYXRlKHN0cnVjdCB0dG1fZGV2aWNlICpiZGV2 LCBzdHJ1Y3QgdHRtX3R0ICp0dG0pOwo+ICAgCj4gK2ludCB0dG1fdHRfbWdyX2luaXQodm9pZCk7 Cj4gK3ZvaWQgdHRtX3R0X21ncl9maW5pKHZvaWQpOwo+ICsKPiAgICNpZiBJU19FTkFCTEVEKENP TkZJR19BR1ApCj4gICAjaW5jbHVkZSA8bGludXgvYWdwX2JhY2tlbmQuaD4KPiAgIAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==