From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 1/4] drm/ttm: Make LRU removal optional. Date: Fri, 10 May 2019 16:22:14 +0200 Message-ID: <7a9ee0fe-5cc0-bd32-ff1e-7e7f3705976b@gmail.com> References: <20190510141316.1746-1-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by gabe.freedesktop.org (Postfix) with ESMTPS id C9A2C89D5F for ; Fri, 10 May 2019 14:22:17 +0000 (UTC) Received: by mail-wr1-x444.google.com with SMTP id d12so8128020wrm.8 for ; Fri, 10 May 2019 07:22:17 -0700 (PDT) In-Reply-To: <20190510141316.1746-1-christian.koenig@amd.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Marek.Olsak@amd.com, David1.Zhou@amd.com, Prike.Liang@amd.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org U3R1cGlkIG1lLCBwYXRjaCAjMyBoYXMgYSByZWJhc2UgZXJyb3Igc28gcGxlYXNlIGlnbm9yZSB0 aGlzIHZlcnNpb24uCgpATWFyZWs6IFRoaXMgc2V0IGlzIGZpeGluZyB0aGUgR0RTIHByb2JsZW0g Zm9yIG15IGNvbnN0cnVjdGVkIHRlc3QgY2FzZSwgCnlvdSBwcm9iYWJseSB0cnkgaXQgYWxzbyBp biBhIHJlYWwgd29ybGQgc2NlbmFyaW8gd2hlbiBpdCBsYW5kcy4KCkNocmlzdGlhbi4KCkFtIDEw LjA1LjE5IHVtIDE2OjEzIHNjaHJpZWIgQ2hyaXN0aWFuIEvDtm5pZzoKPiBXZSBhcmUgYWxyZWFk eSBkb2luZyB0aGlzIGZvciBETUEtYnVmIGltcG9ydHMgYW5kIGFsc28gZm9yCj4gYW1kZ3B1IFZN IEJPcyBmb3IgcXVpdGUgYSB3aGlsZSBub3cuCj4KPiBJZiB0aGlzIGRvZXNuJ3QgcnVuIGludG8g YW55IHByb2JsZW1zIHdlIGFyZSBwcm9iYWJseSBnb2luZwo+IHRvIHN0b3AgcmVtb3ZpbmcgQk9z IGZyb20gdGhlIExSVSBhbHRvZ2V0aGVyLgo+Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvD tm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+IC0tLQo+ICAgLi4uL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMgIHwgIDkgKysrKystLS0tCj4gICBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYyAgICAgICAgfCAgMiArLQo+ICAgZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzYS5jICAgICAgIHwgIDIgKy0KPiAgIGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZW0uYyAgICAgICB8ICA0ICsrLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9xeGwvcXhsX3JlbGVhc2UuYyAgICAgICAgICAgICB8ICAyICstCj4gICBk cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nZW0uYyAgICAgICAgICAgfCAgMiArLQo+ICAg ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmMgICAgICAgIHwgIDIgKy0KPiAg IGRyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2V4ZWNidWZfdXRpbC5jICAgICAgICB8IDIwICsrKysr KysrKysrLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9pb2N0bC5j ICAgICAgICB8ICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9yZXNvdXJj ZS5jICAgICAgfCAgMyArKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3ZhbGlk YXRpb24uaCAgICB8ICAyICstCj4gICBpbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oICAg ICAgICAgICAgICAgfCAgNSArKysrLQo+ICAgaW5jbHVkZS9kcm0vdHRtL3R0bV9leGVjYnVmX3V0 aWwuaCAgICAgICAgICAgIHwgIDMgKystCj4gICAxMyBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRp b25zKCspLCAyNCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMKPiBpbmRleCBlMWNhZTRhMzcxMTMuLjY0N2UxOGY5 ZTEzNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1k a2ZkX2dwdXZtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1k a2ZkX2dwdXZtLmMKPiBAQCAtNTc0LDcgKzU3NCw3IEBAIHN0YXRpYyBpbnQgcmVzZXJ2ZV9ib19h bmRfdm0oc3RydWN0IGtnZF9tZW0gKm1lbSwKPiAgIAlhbWRncHVfdm1fZ2V0X3BkX2JvKHZtLCAm Y3R4LT5saXN0LCAmY3R4LT52bV9wZFswXSk7Cj4gICAKPiAgIAlyZXQgPSB0dG1fZXVfcmVzZXJ2 ZV9idWZmZXJzKCZjdHgtPnRpY2tldCwgJmN0eC0+bGlzdCwKPiAtCQkJCSAgICAgZmFsc2UsICZj dHgtPmR1cGxpY2F0ZXMpOwo+ICsJCQkJICAgICBmYWxzZSwgJmN0eC0+ZHVwbGljYXRlcywgdHJ1 ZSk7Cj4gICAJaWYgKCFyZXQpCj4gICAJCWN0eC0+cmVzZXJ2ZWQgPSB0cnVlOwo+ICAgCWVsc2Ug ewo+IEBAIC02NDcsNyArNjQ3LDcgQEAgc3RhdGljIGludCByZXNlcnZlX2JvX2FuZF9jb25kX3Zt cyhzdHJ1Y3Qga2dkX21lbSAqbWVtLAo+ICAgCX0KPiAgIAo+ICAgCXJldCA9IHR0bV9ldV9yZXNl cnZlX2J1ZmZlcnMoJmN0eC0+dGlja2V0LCAmY3R4LT5saXN0LAo+IC0JCQkJICAgICBmYWxzZSwg JmN0eC0+ZHVwbGljYXRlcyk7Cj4gKwkJCQkgICAgIGZhbHNlLCAmY3R4LT5kdXBsaWNhdGVzLCB0 cnVlKTsKPiAgIAlpZiAoIXJldCkKPiAgIAkJY3R4LT5yZXNlcnZlZCA9IHRydWU7Cj4gICAJZWxz ZQo+IEBAIC0xODAwLDcgKzE4MDAsOCBAQCBzdGF0aWMgaW50IHZhbGlkYXRlX2ludmFsaWRfdXNl cl9wYWdlcyhzdHJ1Y3QgYW1ka2ZkX3Byb2Nlc3NfaW5mbyAqcHJvY2Vzc19pbmZvKQo+ICAgCX0K PiAgIAo+ICAgCS8qIFJlc2VydmUgYWxsIEJPcyBhbmQgcGFnZSB0YWJsZXMgZm9yIHZhbGlkYXRp b24gKi8KPiAtCXJldCA9IHR0bV9ldV9yZXNlcnZlX2J1ZmZlcnMoJnRpY2tldCwgJnJlc3ZfbGlz dCwgZmFsc2UsICZkdXBsaWNhdGVzKTsKPiArCXJldCA9IHR0bV9ldV9yZXNlcnZlX2J1ZmZlcnMo JnRpY2tldCwgJnJlc3ZfbGlzdCwgZmFsc2UsICZkdXBsaWNhdGVzLAo+ICsJCQkJICAgICB0cnVl KTsKPiAgIAlXQVJOKCFsaXN0X2VtcHR5KCZkdXBsaWNhdGVzKSwgIkR1cGxpY2F0ZXMgc2hvdWxk IGJlIGVtcHR5Iik7Cj4gICAJaWYgKHJldCkKPiAgIAkJZ290byBvdXRfZnJlZTsKPiBAQCAtMjAw Niw3ICsyMDA3LDcgQEAgaW50IGFtZGdwdV9hbWRrZmRfZ3B1dm1fcmVzdG9yZV9wcm9jZXNzX2Jv cyh2b2lkICppbmZvLCBzdHJ1Y3QgZG1hX2ZlbmNlICoqZWYpCj4gICAJfQo+ICAgCj4gICAJcmV0 ID0gdHRtX2V1X3Jlc2VydmVfYnVmZmVycygmY3R4LnRpY2tldCwgJmN0eC5saXN0LAo+IC0JCQkJ ICAgICBmYWxzZSwgJmR1cGxpY2F0ZV9zYXZlKTsKPiArCQkJCSAgICAgZmFsc2UsICZkdXBsaWNh dGVfc2F2ZSwgdHJ1ZSk7Cj4gICAJaWYgKHJldCkgewo+ICAgCQlwcl9kZWJ1ZygiTWVtb3J5IGV2 aWN0aW9uOiBUVE0gUmVzZXJ2ZSBGYWlsZWQuIFRyeSBhZ2FpblxuIik7Cj4gICAJCWdvdG8gdHRt X3Jlc2VydmVfZmFpbDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwo+IGlu ZGV4IGQwZTIyMWM4ZDk0MC4uYTFkNmEwNzIxZTUzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2NzLmMKPiBAQCAtNjQ4LDcgKzY0OCw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1 X2NzX3BhcnNlcl9ib3Moc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCj4gICAJfQo+ICAgCj4g ICAJciA9IHR0bV9ldV9yZXNlcnZlX2J1ZmZlcnMoJnAtPnRpY2tldCwgJnAtPnZhbGlkYXRlZCwg dHJ1ZSwKPiAtCQkJCSAgICZkdXBsaWNhdGVzKTsKPiArCQkJCSAgICZkdXBsaWNhdGVzLCB0cnVl KTsKPiAgIAlpZiAodW5saWtlbHkociAhPSAwKSkgewo+ICAgCQlpZiAociAhPSAtRVJFU1RBUlRT WVMpCj4gICAJCQlEUk1fRVJST1IoInR0bV9ldV9yZXNlcnZlX2J1ZmZlcnMgZmFpbGVkLlxuIik7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jc2EuYyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jc2EuYwo+IGluZGV4IDU0ZGQwMmE4 OThiOS4uMDZmODNjYWMwZDNhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9jc2EuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9jc2EuYwo+IEBAIC03OSw3ICs3OSw3IEBAIGludCBhbWRncHVfbWFwX3N0YXRpY19jc2Eoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRncHVfdm0gKnZtLAo+ICAgCWxpc3Rf YWRkKCZjc2FfdHYuaGVhZCwgJmxpc3QpOwo+ICAgCWFtZGdwdV92bV9nZXRfcGRfYm8odm0sICZs aXN0LCAmcGQpOwo+ICAgCj4gLQlyID0gdHRtX2V1X3Jlc2VydmVfYnVmZmVycygmdGlja2V0LCAm bGlzdCwgdHJ1ZSwgTlVMTCk7Cj4gKwlyID0gdHRtX2V1X3Jlc2VydmVfYnVmZmVycygmdGlja2V0 LCAmbGlzdCwgdHJ1ZSwgTlVMTCwgdHJ1ZSk7Cj4gICAJaWYgKHIpIHsKPiAgIAkJRFJNX0VSUk9S KCJmYWlsZWQgdG8gcmVzZXJ2ZSBDU0EsUEQgQk9zOiBlcnI9JWRcbiIsIHIpOwo+ICAgCQlyZXR1 cm4gcjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dl bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dlbS5jCj4gaW5kZXggN2I4 NDAzNjcwMDRjLi5kNTEzYTVhZDAzZGQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2dlbS5jCj4gQEAgLTE3MSw3ICsxNzEsNyBAQCB2b2lkIGFtZGdwdV9nZW1fb2JqZWN0 X2Nsb3NlKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLAo+ICAgCj4gICAJYW1kZ3B1X3ZtX2dl dF9wZF9ibyh2bSwgJmxpc3QsICZ2bV9wZCk7Cj4gICAKPiAtCXIgPSB0dG1fZXVfcmVzZXJ2ZV9i dWZmZXJzKCZ0aWNrZXQsICZsaXN0LCBmYWxzZSwgJmR1cGxpY2F0ZXMpOwo+ICsJciA9IHR0bV9l dV9yZXNlcnZlX2J1ZmZlcnMoJnRpY2tldCwgJmxpc3QsIGZhbHNlLCAmZHVwbGljYXRlcywgdHJ1 ZSk7Cj4gICAJaWYgKHIpIHsKPiAgIAkJZGV2X2VycihhZGV2LT5kZXYsICJsZWFraW5nIGJvIHZh IGJlY2F1c2UgIgo+ICAgCQkJIndlIGZhaWwgdG8gcmVzZXJ2ZSBibyAoJWQpXG4iLCByKTsKPiBA QCAtNjA4LDcgKzYwOCw3IEBAIGludCBhbWRncHVfZ2VtX3ZhX2lvY3RsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAKPiAgIAlhbWRncHVfdm1fZ2V0X3BkX2JvKCZmcHJp di0+dm0sICZsaXN0LCAmdm1fcGQpOwo+ICAgCj4gLQlyID0gdHRtX2V1X3Jlc2VydmVfYnVmZmVy cygmdGlja2V0LCAmbGlzdCwgdHJ1ZSwgJmR1cGxpY2F0ZXMpOwo+ICsJciA9IHR0bV9ldV9yZXNl cnZlX2J1ZmZlcnMoJnRpY2tldCwgJmxpc3QsIHRydWUsICZkdXBsaWNhdGVzLCB0cnVlKTsKPiAg IAlpZiAocikKPiAgIAkJZ290byBlcnJvcl91bnJlZjsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vcXhsL3F4bF9yZWxlYXNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9y ZWxlYXNlLmMKPiBpbmRleCAzMGY4NWYwMTMwY2IuLjQ5ZjlhOTM4NTM5MyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9yZWxlYXNlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vcXhsL3F4bF9yZWxlYXNlLmMKPiBAQCAtMjU2LDcgKzI1Niw3IEBAIGludCBxeGxfcmVsZWFz ZV9yZXNlcnZlX2xpc3Qoc3RydWN0IHF4bF9yZWxlYXNlICpyZWxlYXNlLCBib29sIG5vX2ludHIp Cj4gICAJCXJldHVybiAwOwo+ICAgCj4gICAJcmV0ID0gdHRtX2V1X3Jlc2VydmVfYnVmZmVycygm cmVsZWFzZS0+dGlja2V0LCAmcmVsZWFzZS0+Ym9zLAo+IC0JCQkJICAgICAhbm9faW50ciwgTlVM TCk7Cj4gKwkJCQkgICAgICFub19pbnRyLCBOVUxMLCB0cnVlKTsKPiAgIAlpZiAocmV0KQo+ICAg CQlyZXR1cm4gcmV0Owo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2VtLmMKPiBpbmRl eCA0NDYxN2RlYzgxODMuLjc0MTFlNjllMjcxMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2dlbS5jCj4gQEAgLTU1OSw3ICs1NTksNyBAQCBzdGF0aWMgdm9pZCByYWRlb25fZ2VtX3Zh X3VwZGF0ZV92bShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKPiAgIAlpZiAoIXZtX2JvcykK PiAgIAkJcmV0dXJuOwo+ICAgCj4gLQlyID0gdHRtX2V1X3Jlc2VydmVfYnVmZmVycygmdGlja2V0 LCAmbGlzdCwgdHJ1ZSwgTlVMTCk7Cj4gKwlyID0gdHRtX2V1X3Jlc2VydmVfYnVmZmVycygmdGlj a2V0LCAmbGlzdCwgdHJ1ZSwgTlVMTCwgdHJ1ZSk7Cj4gICAJaWYgKHIpCj4gICAJCWdvdG8gZXJy b3JfZnJlZTsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5jCj4gaW5k ZXggODMzZTkwOTcwNmE5Li4zNjY4M2RlMDMwMGIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl9vYmplY3QuYwo+IEBAIC01MzksNyArNTM5LDcgQEAgaW50IHJhZGVvbl9ib19saXN0 X3ZhbGlkYXRlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAo+ICAgCXU2NCBieXRlc19tb3Zl ZF90aHJlc2hvbGQgPSByYWRlb25fYm9fZ2V0X3RocmVzaG9sZF9mb3JfbW92ZXMocmRldik7Cj4g ICAKPiAgIAlJTklUX0xJU1RfSEVBRCgmZHVwbGljYXRlcyk7Cj4gLQlyID0gdHRtX2V1X3Jlc2Vy dmVfYnVmZmVycyh0aWNrZXQsIGhlYWQsIHRydWUsICZkdXBsaWNhdGVzKTsKPiArCXIgPSB0dG1f ZXVfcmVzZXJ2ZV9idWZmZXJzKHRpY2tldCwgaGVhZCwgdHJ1ZSwgJmR1cGxpY2F0ZXMsIHRydWUp Owo+ICAgCWlmICh1bmxpa2VseShyICE9IDApKSB7Cj4gICAJCXJldHVybiByOwo+ICAgCX0KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fZXhlY2J1Zl91dGlsLmMgYi9kcml2 ZXJzL2dwdS9kcm0vdHRtL3R0bV9leGVjYnVmX3V0aWwuYwo+IGluZGV4IDAwNzVlYjlhMGI1Mi4u OTU3ZWMzNzVhNGJhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2V4ZWNi dWZfdXRpbC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fZXhlY2J1Zl91dGlsLmMK PiBAQCAtNjksNyArNjksOCBAQCB2b2lkIHR0bV9ldV9iYWNrb2ZmX3Jlc2VydmF0aW9uKHN0cnVj dCB3d19hY3F1aXJlX2N0eCAqdGlja2V0LAo+ICAgCWxpc3RfZm9yX2VhY2hfZW50cnkoZW50cnks IGxpc3QsIGhlYWQpIHsKPiAgIAkJc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibyA9IGVudHJ5 LT5ibzsKPiAgIAo+IC0JCXR0bV9ib19hZGRfdG9fbHJ1KGJvKTsKPiArCQlpZiAobGlzdF9lbXB0 eSgmYm8tPmxydSkpCj4gKwkJCXR0bV9ib19hZGRfdG9fbHJ1KGJvKTsKPiAgIAkJcmVzZXJ2YXRp b25fb2JqZWN0X3VubG9jayhiby0+cmVzdik7Cj4gICAJfQo+ICAgCXNwaW5fdW5sb2NrKCZnbG9i LT5scnVfbG9jayk7Cj4gQEAgLTkzLDcgKzk0LDcgQEAgRVhQT1JUX1NZTUJPTCh0dG1fZXVfYmFj a29mZl9yZXNlcnZhdGlvbik7Cj4gICAKPiAgIGludCB0dG1fZXVfcmVzZXJ2ZV9idWZmZXJzKHN0 cnVjdCB3d19hY3F1aXJlX2N0eCAqdGlja2V0LAo+ICAgCQkJICAgc3RydWN0IGxpc3RfaGVhZCAq bGlzdCwgYm9vbCBpbnRyLAo+IC0JCQkgICBzdHJ1Y3QgbGlzdF9oZWFkICpkdXBzKQo+ICsJCQkg ICBzdHJ1Y3QgbGlzdF9oZWFkICpkdXBzLCBib29sIGRlbF9scnUpCj4gICB7Cj4gICAJc3RydWN0 IHR0bV9ib19nbG9iYWwgKmdsb2I7Cj4gICAJc3RydWN0IHR0bV92YWxpZGF0ZV9idWZmZXIgKmVu dHJ5Owo+IEBAIC0xNzIsMTEgKzE3MywxMSBAQCBpbnQgdHRtX2V1X3Jlc2VydmVfYnVmZmVycyhz dHJ1Y3Qgd3dfYWNxdWlyZV9jdHggKnRpY2tldCwKPiAgIAkJbGlzdF9hZGQoJmVudHJ5LT5oZWFk LCBsaXN0KTsKPiAgIAl9Cj4gICAKPiAtCWlmICh0aWNrZXQpCj4gLQkJd3dfYWNxdWlyZV9kb25l KHRpY2tldCk7Cj4gLQlzcGluX2xvY2soJmdsb2ItPmxydV9sb2NrKTsKPiAtCXR0bV9ldV9kZWxf ZnJvbV9scnVfbG9ja2VkKGxpc3QpOwo+IC0Jc3Bpbl91bmxvY2soJmdsb2ItPmxydV9sb2NrKTsK PiArCWlmIChkZWxfbHJ1KSB7Cj4gKwkJc3Bpbl9sb2NrKCZnbG9iLT5scnVfbG9jayk7Cj4gKwkJ dHRtX2V1X2RlbF9mcm9tX2xydV9sb2NrZWQobGlzdCk7Cj4gKwkJc3Bpbl91bmxvY2soJmdsb2It PmxydV9sb2NrKTsKPiArCX0KPiAgIAlyZXR1cm4gMDsKPiAgIH0KPiAgIEVYUE9SVF9TWU1CT0wo dHRtX2V1X3Jlc2VydmVfYnVmZmVycyk7Cj4gQEAgLTIwMyw3ICsyMDQsMTAgQEAgdm9pZCB0dG1f ZXVfZmVuY2VfYnVmZmVyX29iamVjdHMoc3RydWN0IHd3X2FjcXVpcmVfY3R4ICp0aWNrZXQsCj4g ICAJCQlyZXNlcnZhdGlvbl9vYmplY3RfYWRkX3NoYXJlZF9mZW5jZShiby0+cmVzdiwgZmVuY2Up Owo+ICAgCQllbHNlCj4gICAJCQlyZXNlcnZhdGlvbl9vYmplY3RfYWRkX2V4Y2xfZmVuY2UoYm8t PnJlc3YsIGZlbmNlKTsKPiAtCQl0dG1fYm9fYWRkX3RvX2xydShibyk7Cj4gKwkJaWYgKGxpc3Rf ZW1wdHkoJmJvLT5scnUpKQo+ICsJCQl0dG1fYm9fYWRkX3RvX2xydShibyk7Cj4gKwkJZWxzZQo+ ICsJCQl0dG1fYm9fbW92ZV90b19scnVfdGFpbChibywgTlVMTCk7Cj4gICAJCXJlc2VydmF0aW9u X29iamVjdF91bmxvY2soYm8tPnJlc3YpOwo+ICAgCX0KPiAgIAlzcGluX3VubG9jaygmZ2xvYi0+ bHJ1X2xvY2spOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVf aW9jdGwuYyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9pb2N0bC5jCj4gaW5kZXgg MTYxYjgwZmVlNDkyLi41Y2ZmYWEyNDI1OWYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3ZpcnRpby92aXJ0Z3B1X2lvY3RsLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3Zp cnRncHVfaW9jdGwuYwo+IEBAIC02Myw3ICs2Myw3IEBAIHN0YXRpYyBpbnQgdmlydGlvX2dwdV9v YmplY3RfbGlzdF92YWxpZGF0ZShzdHJ1Y3Qgd3dfYWNxdWlyZV9jdHggKnRpY2tldCwKPiAgIAlz dHJ1Y3QgdmlydGlvX2dwdV9vYmplY3QgKnFvYmo7Cj4gICAJaW50IHJldDsKPiAgIAo+IC0JcmV0 ID0gdHRtX2V1X3Jlc2VydmVfYnVmZmVycyh0aWNrZXQsIGhlYWQsIHRydWUsIE5VTEwpOwo+ICsJ cmV0ID0gdHRtX2V1X3Jlc2VydmVfYnVmZmVycyh0aWNrZXQsIGhlYWQsIHRydWUsIE5VTEwsIHRy dWUpOwo+ICAgCWlmIChyZXQgIT0gMCkKPiAgIAkJcmV0dXJuIHJldDsKPiAgIAo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9yZXNvdXJjZS5jIGIvZHJpdmVycy9n cHUvZHJtL3Ztd2dmeC92bXdnZnhfcmVzb3VyY2UuYwo+IGluZGV4IGE3YzMwZTU2N2YwOS4uZDI4 Y2JlZGJhMGI1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3Jl c291cmNlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9yZXNvdXJjZS5j Cj4gQEAgLTQ2NSw3ICs0NjUsOCBAQCB2bXdfcmVzb3VyY2VfY2hlY2tfYnVmZmVyKHN0cnVjdCB3 d19hY3F1aXJlX2N0eCAqdGlja2V0LAo+ICAgCXZhbF9idWYtPmJvID0gJnJlcy0+YmFja3VwLT5i YXNlOwo+ICAgCXZhbF9idWYtPm51bV9zaGFyZWQgPSAwOwo+ICAgCWxpc3RfYWRkX3RhaWwoJnZh bF9idWYtPmhlYWQsICZ2YWxfbGlzdCk7Cj4gLQlyZXQgPSB0dG1fZXVfcmVzZXJ2ZV9idWZmZXJz KHRpY2tldCwgJnZhbF9saXN0LCBpbnRlcnJ1cHRpYmxlLCBOVUxMKTsKPiArCXJldCA9IHR0bV9l dV9yZXNlcnZlX2J1ZmZlcnModGlja2V0LCAmdmFsX2xpc3QsIGludGVycnVwdGlibGUsIE5VTEws Cj4gKwkJCQkgICAgIHRydWUpOwo+ICAgCWlmICh1bmxpa2VseShyZXQgIT0gMCkpCj4gICAJCWdv dG8gb3V0X25vX3Jlc2VydmU7Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Zt d2dmeC92bXdnZnhfdmFsaWRhdGlvbi5oIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhf dmFsaWRhdGlvbi5oCj4gaW5kZXggM2IzOTZmZWE0MGQ3Li5hYzQzNWI1MWY0ZWIgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfdmFsaWRhdGlvbi5oCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfdmFsaWRhdGlvbi5oCj4gQEAgLTE2NSw3ICsx NjUsNyBAQCB2bXdfdmFsaWRhdGlvbl9ib19yZXNlcnZlKHN0cnVjdCB2bXdfdmFsaWRhdGlvbl9j b250ZXh0ICpjdHgsCj4gICAJCQkgIGJvb2wgaW50cikKPiAgIHsKPiAgIAlyZXR1cm4gdHRtX2V1 X3Jlc2VydmVfYnVmZmVycygmY3R4LT50aWNrZXQsICZjdHgtPmJvX2xpc3QsIGludHIsCj4gLQkJ CQkgICAgICBOVUxMKTsKPiArCQkJCSAgICAgIE5VTEwsIHRydWUpOwo+ICAgfQo+ICAgCj4gICAv KioKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19kcml2ZXIuaCBiL2luY2x1 ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmgKPiBpbmRleCBjMDA4MzQ2YzI0MDEuLmZjMGQ5OTVh YzkwZCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oCj4gKysr IGIvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19kcml2ZXIuaAo+IEBAIC03NjksNyArNzY5LDEwIEBA IHN0YXRpYyBpbmxpbmUgdm9pZCB0dG1fYm9fdW5yZXNlcnZlKHN0cnVjdCB0dG1fYnVmZmVyX29i amVjdCAqYm8pCj4gICB7Cj4gICAJaWYgKCEoYm8tPm1lbS5wbGFjZW1lbnQgJiBUVE1fUExfRkxB R19OT19FVklDVCkpIHsKPiAgIAkJc3Bpbl9sb2NrKCZiby0+YmRldi0+Z2xvYi0+bHJ1X2xvY2sp Owo+IC0JCXR0bV9ib19hZGRfdG9fbHJ1KGJvKTsKPiArCQlpZiAobGlzdF9lbXB0eSgmYm8tPmxy dSkpCj4gKwkJCXR0bV9ib19hZGRfdG9fbHJ1KGJvKTsKPiArCQllbHNlCj4gKwkJCXR0bV9ib19t b3ZlX3RvX2xydV90YWlsKGJvLCBOVUxMKTsKPiAgIAkJc3Bpbl91bmxvY2soJmJvLT5iZGV2LT5n bG9iLT5scnVfbG9jayk7Cj4gICAJfQo+ICAgCXJlc2VydmF0aW9uX29iamVjdF91bmxvY2soYm8t PnJlc3YpOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS90dG0vdHRtX2V4ZWNidWZfdXRpbC5o IGIvaW5jbHVkZS9kcm0vdHRtL3R0bV9leGVjYnVmX3V0aWwuaAo+IGluZGV4IDYyMTYxNWZhNzcy OC4uN2U0NmNjNjc4ZTdlIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL3R0bS90dG1fZXhlY2J1 Zl91dGlsLmgKPiArKysgYi9pbmNsdWRlL2RybS90dG0vdHRtX2V4ZWNidWZfdXRpbC5oCj4gQEAg LTcwLDYgKzcwLDcgQEAgZXh0ZXJuIHZvaWQgdHRtX2V1X2JhY2tvZmZfcmVzZXJ2YXRpb24oc3Ry dWN0IHd3X2FjcXVpcmVfY3R4ICp0aWNrZXQsCj4gICAgKiBAbGlzdDogICAgdGhyZWFkIHByaXZh dGUgbGlzdCBvZiB0dG1fdmFsaWRhdGVfYnVmZmVyIHN0cnVjdHMuCj4gICAgKiBAaW50cjogICAg c2hvdWxkIHRoZSB3YWl0IGJlIGludGVycnVwdGlibGUKPiAgICAqIEBkdXBzOiAgICBbb3V0XSBv cHRpb25hbCBsaXN0IG9mIGR1cGxpY2F0ZXMuCj4gKyAqIEBkZWxfbHJ1OiB0cnVlIGlmIEJPcyBz aG91bGQgYmUgcmVtb3ZlZCBmcm9tIHRoZSBMUlUuCj4gICAgKgo+ICAgICogVHJpZXMgdG8gcmVz ZXJ2ZSBib3MgcG9pbnRlZCB0byBieSB0aGUgbGlzdCBlbnRyaWVzIGZvciB2YWxpZGF0aW9uLgo+ ICAgICogSWYgdGhlIGZ1bmN0aW9uIHJldHVybnMgMCwgYWxsIGJ1ZmZlcnMgYXJlIG1hcmtlZCBh cyAidW5mZW5jZWQiLAo+IEBAIC05OCw3ICs5OSw3IEBAIGV4dGVybiB2b2lkIHR0bV9ldV9iYWNr b2ZmX3Jlc2VydmF0aW9uKHN0cnVjdCB3d19hY3F1aXJlX2N0eCAqdGlja2V0LAo+ICAgCj4gICBl eHRlcm4gaW50IHR0bV9ldV9yZXNlcnZlX2J1ZmZlcnMoc3RydWN0IHd3X2FjcXVpcmVfY3R4ICp0 aWNrZXQsCj4gICAJCQkJICBzdHJ1Y3QgbGlzdF9oZWFkICpsaXN0LCBib29sIGludHIsCj4gLQkJ CQkgIHN0cnVjdCBsaXN0X2hlYWQgKmR1cHMpOwo+ICsJCQkJICBzdHJ1Y3QgbGlzdF9oZWFkICpk dXBzLCBib29sIGRlbF9scnUpOwo+ICAgCj4gICAvKioKPiAgICAqIGZ1bmN0aW9uIHR0bV9ldV9m ZW5jZV9idWZmZXJfb2JqZWN0cy4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbA==