From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= Subject: Re: [PATCH 01/11] drm/radeon: rework vm_flush parameters Date: Wed, 19 Nov 2014 20:40:15 +0100 Message-ID: <546CF21F.3020001@vodafone.de> References: <1416402089-2366-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id ECD076F131 for ; Wed, 19 Nov 2014 11:40:28 -0800 (PST) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Alex Deucher Cc: Maling list - DRI developers List-Id: dri-devel@lists.freedesktop.org QW0gMTkuMTEuMjAxNCB1bSAxOToyOCBzY2hyaWViIEFsZXggRGV1Y2hlcjoKPiBPbiBXZWQsIE5v diAxOSwgMjAxNCBhdCA4OjAxIEFNLCBDaHJpc3RpYW4gS8O2bmlnCj4gPGRlYXRoc2ltcGxlQHZv ZGFmb25lLmRlPiB3cm90ZToKPj4gRnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtv ZW5pZ0BhbWQuY29tPgo+Pgo+PiBVc2UgcmluZyBzdHJ1Y3R1cmUgaW5zdGVhZCBvZiBpbmRleCBh bmQgcHJvdmlkZSB2bV9pZCBhbmQgcGRfYWRkciBzZXBhcmF0ZWx5Lgo+Pgo+PiBTaWduZWQtb2Zm LWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4gUHVzaGVk IHRvIG15IDMuMTktd2lwIHRyZWUuICBJJ2xsIHNlbmQgb3V0IGEgbmV3IHJhZGVvbiBkcm0tbmV4 dCBwdWxsCj4gcmVxdWVzdCBsYXRlciB0b2RheSBvciB0b21vcnJvdy4KClBsZWFzZSBub3RlIHRo YXQgSSBoYWQgdG8gZml4IGFub3RoZXIgYnVnIGluIHRoZSBsYXN0IHBhdGNoIHBvaW50ZWQgb3V0 IApieSBLYWkgV2Fzc2VyYsOkY2guCgpUaGUgdXBkYXRlZCBwYXRjaCBzaG91bGQgYWxyZWFkeSBi ZSBpbiB5b3VyIGluYm94LgoKQ2hyaXN0aWFuLgoKPgo+IEFsZXgKPgo+PiAtLS0KPj4gICBkcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL2Npay5jICAgICAgICAgfCAyMyArKysrKysrKysrLS0tLS0tLS0t LS0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vY2lrX3NkbWEuYyAgICB8IDIyICsrKysr KysrKy0tLS0tLS0tLS0tLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL25pLmMgICAgICAg ICAgfCAxNCArKysrKy0tLS0tLS0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vbmlfZG1h LmMgICAgICB8IDE0ICsrKysrLS0tLS0tLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb24uaCAgICAgIHwgIDUgKysrLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl9hc2ljLmggfCAxOCArKysrKysrKysrKystLS0tLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl92bS5jICAgfCAgMyArKy0KPj4gICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Np LmMgICAgICAgICAgfCAxOCArKysrKysrLS0tLS0tLS0tLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3NpX2RtYS5jICAgICAgfCAxOSArKysrKysrKy0tLS0tLS0tLS0tCj4+ICAgOSBmaWxl cyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCA3NSBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vY2lrLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL2Npay5jCj4+IGluZGV4IDU3YTM1OWQuLmQ1MmVhZDkgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vY2lrLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9j aWsuYwo+PiBAQCAtNTk2NywyNiArNTk2NywyMyBAQCBzdGF0aWMgdm9pZCBjaWtfdm1fZGVjb2Rl X2ZhdWx0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAo+PiAgICAqIFVwZGF0ZSB0aGUgcGFn ZSB0YWJsZSBiYXNlIGFuZCBmbHVzaCB0aGUgVk0gVExCCj4+ICAgICogdXNpbmcgdGhlIENQIChD SUspLgo+PiAgICAqLwo+PiAtdm9pZCBjaWtfdm1fZmx1c2goc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYsIGludCByaWR4LCBzdHJ1Y3QgcmFkZW9uX3ZtICp2bSkKPj4gK3ZvaWQgY2lrX3ZtX2Zs dXNoKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcs Cj4+ICsgICAgICAgICAgICAgICAgIHVuc2lnbmVkIHZtX2lkLCB1aW50NjRfdCBwZF9hZGRyKQo+ PiAgIHsKPj4gLSAgICAgICBzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcgPSAmcmRldi0+cmluZ1ty aWR4XTsKPj4gLSAgICAgICBpbnQgdXNlcGZwID0gKHJpZHggPT0gUkFERU9OX1JJTkdfVFlQRV9H RlhfSU5ERVgpOwo+PiAtCj4+IC0gICAgICAgaWYgKHZtID09IE5VTEwpCj4+IC0gICAgICAgICAg ICAgICByZXR1cm47Cj4+ICsgICAgICAgaW50IHVzZXBmcCA9IChyaW5nLT5pZHggPT0gUkFERU9O X1JJTkdfVFlQRV9HRlhfSU5ERVgpOwo+Pgo+PiAgICAgICAgICByYWRlb25fcmluZ193cml0ZShy aW5nLCBQQUNLRVQzKFBBQ0tFVDNfV1JJVEVfREFUQSwgMykpOwo+PiAgICAgICAgICByYWRlb25f cmluZ193cml0ZShyaW5nLCAoV1JJVEVfREFUQV9FTkdJTkVfU0VMKHVzZXBmcCkgfAo+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1JJVEVfREFUQV9EU1RfU0VMKDApKSk7Cj4+ IC0gICAgICAgaWYgKHZtLT5pZCA8IDgpIHsKPj4gKyAgICAgICBpZiAodm1faWQgPCA4KSB7Cj4+ ICAgICAgICAgICAgICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUocmluZywKPj4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChWTV9DT05URVhUMF9QQUdFX1RBQkxFX0JBU0VfQUREUiAr ICh2bS0+aWQgPDwgMikpID4+IDIpOwo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKFZNX0NPTlRFWFQwX1BBR0VfVEFCTEVfQkFTRV9BRERSICsgKHZtX2lkIDw8IDIpKSA+PiAy KTsKPj4gICAgICAgICAgfSBlbHNlIHsKPj4gICAgICAgICAgICAgICAgICByYWRlb25fcmluZ193 cml0ZShyaW5nLAo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFZNX0NPTlRF WFQ4X1BBR0VfVEFCTEVfQkFTRV9BRERSICsgKCh2bS0+aWQgLSA4KSA8PCAyKSkgPj4gMik7Cj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVk1fQ09OVEVYVDhfUEFHRV9UQUJM RV9CQVNFX0FERFIgKyAoKHZtX2lkIC0gOCkgPDwgMikpID4+IDIpOwo+PiAgICAgICAgICB9Cj4+ ICAgICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIDApOwo+PiAtICAgICAgIHJhZGVvbl9y aW5nX3dyaXRlKHJpbmcsIHZtLT5wZF9ncHVfYWRkciA+PiAxMik7Cj4+ICsgICAgICAgcmFkZW9u X3Jpbmdfd3JpdGUocmluZywgcGRfYWRkciA+PiAxMik7Cj4+Cj4+ICAgICAgICAgIC8qIHVwZGF0 ZSBTSF9NRU1fKiByZWdzICovCj4+ICAgICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIFBB Q0tFVDMoUEFDS0VUM19XUklURV9EQVRBLCAzKSk7Cj4+IEBAIC01OTk0LDcgKzU5OTEsNyBAQCB2 b2lkIGNpa192bV9mbHVzaChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IHJpZHgsIHN0 cnVjdCByYWRlb25fdm0gKnZtKQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg V1JJVEVfREFUQV9EU1RfU0VMKDApKSk7Cj4+ICAgICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJp bmcsIFNSQk1fR0ZYX0NOVEwgPj4gMik7Cj4+ICAgICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJp bmcsIDApOwo+PiAtICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIFZNSUQodm0tPmlkKSk7 Cj4+ICsgICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgVk1JRCh2bV9pZCkpOwo+Pgo+PiAg ICAgICAgICByYWRlb25fcmluZ193cml0ZShyaW5nLCBQQUNLRVQzKFBBQ0tFVDNfV1JJVEVfREFU QSwgNikpOwo+PiAgICAgICAgICByYWRlb25fcmluZ193cml0ZShyaW5nLCAoV1JJVEVfREFUQV9F TkdJTkVfU0VMKHVzZXBmcCkgfAo+PiBAQCAtNjAxNSw3ICs2MDEyLDcgQEAgdm9pZCBjaWtfdm1f Zmx1c2goc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCByaWR4LCBzdHJ1Y3QgcmFkZW9u X3ZtICp2bSkKPj4gICAgICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgVk1JRCgwKSk7Cj4+ Cj4+ICAgICAgICAgIC8qIEhEUCBmbHVzaCAqLwo+PiAtICAgICAgIGNpa19oZHBfZmx1c2hfY3Bf cmluZ19lbWl0KHJkZXYsIHJpZHgpOwo+PiArICAgICAgIGNpa19oZHBfZmx1c2hfY3BfcmluZ19l bWl0KHJkZXYsIHJpbmctPmlkeCk7Cj4+Cj4+ICAgICAgICAgIC8qIGJpdHMgMC0xNSBhcmUgdGhl IFZNIGNvbnRleHRzMC0xNSAqLwo+PiAgICAgICAgICByYWRlb25fcmluZ193cml0ZShyaW5nLCBQ QUNLRVQzKFBBQ0tFVDNfV1JJVEVfREFUQSwgMykpOwo+PiBAQCAtNjAyMyw3ICs2MDIwLDcgQEAg dm9pZCBjaWtfdm1fZmx1c2goc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCByaWR4LCBz dHJ1Y3QgcmFkZW9uX3ZtICp2bSkKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFdSSVRFX0RBVEFfRFNUX1NFTCgwKSkpOwo+PiAgICAgICAgICByYWRlb25fcmluZ193cml0ZShy aW5nLCBWTV9JTlZBTElEQVRFX1JFUVVFU1QgPj4gMik7Cj4+ICAgICAgICAgIHJhZGVvbl9yaW5n X3dyaXRlKHJpbmcsIDApOwo+PiAtICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIDEgPDwg dm0tPmlkKTsKPj4gKyAgICAgICByYWRlb25fcmluZ193cml0ZShyaW5nLCAxIDw8IHZtX2lkKTsK Pj4KPj4gICAgICAgICAgLyogY29tcHV0ZSBkb2Vzbid0IGhhdmUgUEZQICovCj4+ICAgICAgICAg IGlmICh1c2VwZnApIHsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vY2lr X3NkbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vY2lrX3NkbWEuYwo+PiBpbmRleCA0ZTg0 MzJkLi43NDcwYTJlIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Npa19z ZG1hLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9jaWtfc2RtYS5jCj4+IEBAIC05 MDEsMjUgKzkwMSwyMSBAQCB2b2lkIGNpa19zZG1hX3ZtX3BhZF9pYihzdHJ1Y3QgcmFkZW9uX2li ICppYikKPj4gICAgKiBVcGRhdGUgdGhlIHBhZ2UgdGFibGUgYmFzZSBhbmQgZmx1c2ggdGhlIFZN IFRMQgo+PiAgICAqIHVzaW5nIHNETUEgKENJSykuCj4+ICAgICovCj4+IC12b2lkIGNpa19kbWFf dm1fZmx1c2goc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCByaWR4LCBzdHJ1Y3QgcmFk ZW9uX3ZtICp2bSkKPj4gK3ZvaWQgY2lrX2RtYV92bV9mbHVzaChzdHJ1Y3QgcmFkZW9uX2Rldmlj ZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nLAo+PiArICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgdm1faWQsIHVpbnQ2NF90IHBkX2FkZHIpCj4+ICAgewo+PiAtICAgICAgIHN0 cnVjdCByYWRlb25fcmluZyAqcmluZyA9ICZyZGV2LT5yaW5nW3JpZHhdOwo+PiAtCj4+IC0gICAg ICAgaWYgKHZtID09IE5VTEwpCj4+IC0gICAgICAgICAgICAgICByZXR1cm47Cj4+IC0KPj4gICAg ICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgU0RNQV9QQUNLRVQoU0RNQV9PUENPREVfU1JC TV9XUklURSwgMCwgMHhmMDAwKSk7Cj4+IC0gICAgICAgaWYgKHZtLT5pZCA8IDgpIHsKPj4gLSAg ICAgICAgICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIChWTV9DT05URVhUMF9QQUdFX1RB QkxFX0JBU0VfQUREUiArICh2bS0+aWQgPDwgMikpID4+IDIpOwo+PiArICAgICAgIGlmICh2bV9p ZCA8IDgpIHsKPj4gKyAgICAgICAgICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIChWTV9D T05URVhUMF9QQUdFX1RBQkxFX0JBU0VfQUREUiArICh2bV9pZCA8PCAyKSkgPj4gMik7Cj4+ICAg ICAgICAgIH0gZWxzZSB7Cj4+IC0gICAgICAgICAgICAgICByYWRlb25fcmluZ193cml0ZShyaW5n LCAoVk1fQ09OVEVYVDhfUEFHRV9UQUJMRV9CQVNFX0FERFIgKyAoKHZtLT5pZCAtIDgpIDw8IDIp KSA+PiAyKTsKPj4gKyAgICAgICAgICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIChWTV9D T05URVhUOF9QQUdFX1RBQkxFX0JBU0VfQUREUiArICgodm1faWQgLSA4KSA8PCAyKSkgPj4gMik7 Cj4+ICAgICAgICAgIH0KPj4gLSAgICAgICByYWRlb25fcmluZ193cml0ZShyaW5nLCB2bS0+cGRf Z3B1X2FkZHIgPj4gMTIpOwo+PiArICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIHBkX2Fk ZHIgPj4gMTIpOwo+Pgo+PiAgICAgICAgICAvKiB1cGRhdGUgU0hfTUVNXyogcmVncyAqLwo+PiAg ICAgICAgICByYWRlb25fcmluZ193cml0ZShyaW5nLCBTRE1BX1BBQ0tFVChTRE1BX09QQ09ERV9T UkJNX1dSSVRFLCAwLCAweGYwMDApKTsKPj4gICAgICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUocmlu ZywgU1JCTV9HRlhfQ05UTCA+PiAyKTsKPj4gLSAgICAgICByYWRlb25fcmluZ193cml0ZShyaW5n LCBWTUlEKHZtLT5pZCkpOwo+PiArICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIFZNSUQo dm1faWQpKTsKPj4KPj4gICAgICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgU0RNQV9QQUNL RVQoU0RNQV9PUENPREVfU1JCTV9XUklURSwgMCwgMHhmMDAwKSk7Cj4+ICAgICAgICAgIHJhZGVv bl9yaW5nX3dyaXRlKHJpbmcsIFNIX01FTV9CQVNFUyA+PiAyKTsKPj4gQEAgLTk0MiwxMSArOTM4 LDExIEBAIHZvaWQgY2lrX2RtYV92bV9mbHVzaChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwg aW50IHJpZHgsIHN0cnVjdCByYWRlb25fdm0gKnZtCj4+ICAgICAgICAgIHJhZGVvbl9yaW5nX3dy aXRlKHJpbmcsIFZNSUQoMCkpOwo+Pgo+PiAgICAgICAgICAvKiBmbHVzaCBIRFAgKi8KPj4gLSAg ICAgICBjaWtfc2RtYV9oZHBfZmx1c2hfcmluZ19lbWl0KHJkZXYsIHJpZHgpOwo+PiArICAgICAg IGNpa19zZG1hX2hkcF9mbHVzaF9yaW5nX2VtaXQocmRldiwgcmluZy0+aWR4KTsKPj4KPj4gICAg ICAgICAgLyogZmx1c2ggVExCICovCj4+ICAgICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcs IFNETUFfUEFDS0VUKFNETUFfT1BDT0RFX1NSQk1fV1JJVEUsIDAsIDB4ZjAwMCkpOwo+PiAgICAg ICAgICByYWRlb25fcmluZ193cml0ZShyaW5nLCBWTV9JTlZBTElEQVRFX1JFUVVFU1QgPj4gMik7 Cj4+IC0gICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgMSA8PCB2bS0+aWQpOwo+PiArICAg ICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIDEgPDwgdm1faWQpOwo+PiAgIH0KPj4KPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vbmkuYyBiL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vbmkuYwo+PiBpbmRleCAzZmFlZTU4Li5iZWU0MzJkIDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL25pLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9u aS5jCj4+IEBAIC0yNTAyLDE1ICsyNTAyLDExIEBAIHZvaWQgY2F5bWFuX3ZtX2RlY29kZV9mYXVs dChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKPj4gICAgKiBVcGRhdGUgdGhlIHBhZ2UgdGFi bGUgYmFzZSBhbmQgZmx1c2ggdGhlIFZNIFRMQgo+PiAgICAqIHVzaW5nIHRoZSBDUCAoY2F5bWFu LXNpKS4KPj4gICAgKi8KPj4gLXZvaWQgY2F5bWFuX3ZtX2ZsdXNoKHN0cnVjdCByYWRlb25fZGV2 aWNlICpyZGV2LCBpbnQgcmlkeCwgc3RydWN0IHJhZGVvbl92bSAqdm0pCj4+ICt2b2lkIGNheW1h bl92bV9mbHVzaChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5n ICpyaW5nLAo+PiArICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCB2bV9pZCwgdWludDY0X3Qg cGRfYWRkcikKPj4gICB7Cj4+IC0gICAgICAgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nID0gJnJk ZXYtPnJpbmdbcmlkeF07Cj4+IC0KPj4gLSAgICAgICBpZiAodm0gPT0gTlVMTCkKPj4gLSAgICAg ICAgICAgICAgIHJldHVybjsKPj4gLQo+PiAtICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcs IFBBQ0tFVDAoVk1fQ09OVEVYVDBfUEFHRV9UQUJMRV9CQVNFX0FERFIgKyAodm0tPmlkIDw8IDIp LCAwKSk7Cj4+IC0gICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgdm0tPnBkX2dwdV9hZGRy ID4+IDEyKTsKPj4gKyAgICAgICByYWRlb25fcmluZ193cml0ZShyaW5nLCBQQUNLRVQwKFZNX0NP TlRFWFQwX1BBR0VfVEFCTEVfQkFTRV9BRERSICsgKHZtX2lkIDw8IDIpLCAwKSk7Cj4+ICsgICAg ICAgcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgcGRfYWRkciA+PiAxMik7Cj4+Cj4+ICAgICAgICAg IC8qIGZsdXNoIGhkcCBjYWNoZSAqLwo+PiAgICAgICAgICByYWRlb25fcmluZ193cml0ZShyaW5n LCBQQUNLRVQwKEhEUF9NRU1fQ09IRVJFTkNZX0ZMVVNIX0NOVEwsIDApKTsKPj4gQEAgLTI1MTgs NyArMjUxNCw3IEBAIHZvaWQgY2F5bWFuX3ZtX2ZsdXNoKHN0cnVjdCByYWRlb25fZGV2aWNlICpy ZGV2LCBpbnQgcmlkeCwgc3RydWN0IHJhZGVvbl92bSAqdm0pCj4+Cj4+ICAgICAgICAgIC8qIGJp dHMgMC03IGFyZSB0aGUgVk0gY29udGV4dHMwLTcgKi8KPj4gICAgICAgICAgcmFkZW9uX3Jpbmdf d3JpdGUocmluZywgUEFDS0VUMChWTV9JTlZBTElEQVRFX1JFUVVFU1QsIDApKTsKPj4gLSAgICAg ICByYWRlb25fcmluZ193cml0ZShyaW5nLCAxIDw8IHZtLT5pZCk7Cj4+ICsgICAgICAgcmFkZW9u X3Jpbmdfd3JpdGUocmluZywgMSA8PCB2bV9pZCk7Cj4+Cj4+ICAgICAgICAgIC8qIHN5bmMgUEZQ IHRvIE1FLCBvdGhlcndpc2Ugd2UgbWlnaHQgZ2V0IGludmFsaWQgUEZQIHJlYWRzICovCj4+ICAg ICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIFBBQ0tFVDMoUEFDS0VUM19QRlBfU1lOQ19N RSwgMCkpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9uaV9kbWEuYyBi L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vbmlfZG1hLmMKPj4gaW5kZXggZjI2ZjBhOS4uNWE3MjQw NCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9uaV9kbWEuYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL25pX2RtYS5jCj4+IEBAIC00NDYsMTYgKzQ0NiwxMiBA QCB2b2lkIGNheW1hbl9kbWFfdm1fcGFkX2liKHN0cnVjdCByYWRlb25faWIgKmliKQo+PiAgICAg ICAgICAgICAgICAgIGliLT5wdHJbaWItPmxlbmd0aF9kdysrXSA9IERNQV9QQUNLRVQoRE1BX1BB Q0tFVF9OT1AsIDAsIDAsIDApOwo+PiAgIH0KPj4KPj4gLXZvaWQgY2F5bWFuX2RtYV92bV9mbHVz aChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IHJpZHgsIHN0cnVjdCByYWRlb25fdm0g KnZtKQo+PiArdm9pZCBjYXltYW5fZG1hX3ZtX2ZsdXNoKHN0cnVjdCByYWRlb25fZGV2aWNlICpy ZGV2LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcsCj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCB2bV9pZCwgdWludDY0X3QgcGRfYWRkcikKPj4gICB7Cj4+IC0gICAgICAgc3Ry dWN0IHJhZGVvbl9yaW5nICpyaW5nID0gJnJkZXYtPnJpbmdbcmlkeF07Cj4+IC0KPj4gLSAgICAg ICBpZiAodm0gPT0gTlVMTCkKPj4gLSAgICAgICAgICAgICAgIHJldHVybjsKPj4gLQo+PiAgICAg ICAgICByYWRlb25fcmluZ193cml0ZShyaW5nLCBETUFfUEFDS0VUKERNQV9QQUNLRVRfU1JCTV9X UklURSwgMCwgMCwgMCkpOwo+PiAtICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsICgweGYg PDwgMTYpIHwgKChWTV9DT05URVhUMF9QQUdFX1RBQkxFX0JBU0VfQUREUiArICh2bS0+aWQgPDwg MikpID4+IDIpKTsKPj4gLSAgICAgICByYWRlb25fcmluZ193cml0ZShyaW5nLCB2bS0+cGRfZ3B1 X2FkZHIgPj4gMTIpOwo+PiArICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsICgweGYgPDwg MTYpIHwgKChWTV9DT05URVhUMF9QQUdFX1RBQkxFX0JBU0VfQUREUiArICh2bV9pZCA8PCAyKSkg Pj4gMikpOwo+PiArICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIHBkX2FkZHIgPj4gMTIp Owo+Pgo+PiAgICAgICAgICAvKiBmbHVzaCBoZHAgY2FjaGUgKi8KPj4gICAgICAgICAgcmFkZW9u X3Jpbmdfd3JpdGUocmluZywgRE1BX1BBQ0tFVChETUFfUEFDS0VUX1NSQk1fV1JJVEUsIDAsIDAs IDApKTsKPj4gQEAgLTQ2NSw2ICs0NjEsNiBAQCB2b2lkIGNheW1hbl9kbWFfdm1fZmx1c2goc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCByaWR4LCBzdHJ1Y3QgcmFkZW9uX3ZtCj4+ICAg ICAgICAgIC8qIGJpdHMgMC03IGFyZSB0aGUgVk0gY29udGV4dHMwLTcgKi8KPj4gICAgICAgICAg cmFkZW9uX3Jpbmdfd3JpdGUocmluZywgRE1BX1BBQ0tFVChETUFfUEFDS0VUX1NSQk1fV1JJVEUs IDAsIDAsIDApKTsKPj4gICAgICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgKDB4ZiA8PCAx NikgfCAoVk1fSU5WQUxJREFURV9SRVFVRVNUID4+IDIpKTsKPj4gLSAgICAgICByYWRlb25fcmlu Z193cml0ZShyaW5nLCAxIDw8IHZtLT5pZCk7Cj4+ICsgICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUo cmluZywgMSA8PCB2bV9pZCk7Cj4+ICAgfQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKPj4g aW5kZXggOTA4ZjM0OS4uNWQ5MTNlZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb24uaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCj4+ IEBAIC0xNzkwLDcgKzE3OTAsOCBAQCBzdHJ1Y3QgcmFkZW9uX2FzaWNfcmluZyB7Cj4+ICAgICAg ICAgIHZvaWQgKCpoZHBfZmx1c2gpKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3Qg cmFkZW9uX3JpbmcgKnJpbmcpOwo+PiAgICAgICAgICBib29sICgqZW1pdF9zZW1hcGhvcmUpKHN0 cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKmNwLAo+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCByYWRlb25fc2VtYXBob3JlICpzZW1h cGhvcmUsIGJvb2wgZW1pdF93YWl0KTsKPj4gLSAgICAgICB2b2lkICgqdm1fZmx1c2gpKHN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgcmlkeCwgc3RydWN0IHJhZGVvbl92bSAqdm0pOwo+ PiArICAgICAgIHZvaWQgKCp2bV9mbHVzaCkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0 cnVjdCByYWRlb25fcmluZyAqcmluZywKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIHZtX2lkLCB1aW50NjRfdCBwZF9hZGRyKTsKPj4KPj4gICAgICAgICAgLyogdGVzdGluZyBm dW5jdGlvbnMgKi8KPj4gICAgICAgICAgaW50ICgqcmluZ190ZXN0KShzdHJ1Y3QgcmFkZW9uX2Rl dmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpjcCk7Cj4+IEBAIC0yODM2LDcgKzI4Mzcs NyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcmFkZW9uX3Jpbmdfd3JpdGUoc3RydWN0IHJhZGVvbl9y aW5nICpyaW5nLCB1aW50MzJfdCB2KQo+PiAgICNkZWZpbmUgcmFkZW9uX3JpbmdfaWJfZXhlY3V0 ZShyZGV2LCByLCBpYikgKHJkZXYpLT5hc2ljLT5yaW5nWyhyKV0tPmliX2V4ZWN1dGUoKHJkZXYp LCAoaWIpKQo+PiAgICNkZWZpbmUgcmFkZW9uX3JpbmdfaWJfcGFyc2UocmRldiwgciwgaWIpIChy ZGV2KS0+YXNpYy0+cmluZ1socildLT5pYl9wYXJzZSgocmRldiksIChpYikpCj4+ICAgI2RlZmlu ZSByYWRlb25fcmluZ19pc19sb2NrdXAocmRldiwgciwgY3ApIChyZGV2KS0+YXNpYy0+cmluZ1so cildLT5pc19sb2NrdXAoKHJkZXYpLCAoY3ApKQo+PiAtI2RlZmluZSByYWRlb25fcmluZ192bV9m bHVzaChyZGV2LCByLCB2bSkgKHJkZXYpLT5hc2ljLT5yaW5nWyhyKV0tPnZtX2ZsdXNoKChyZGV2 KSwgKHIpLCAodm0pKQo+PiArI2RlZmluZSByYWRlb25fcmluZ192bV9mbHVzaChyZGV2LCByLCB2 bV9pZCwgcGRfYWRkcikgKHJkZXYpLT5hc2ljLT5yaW5nWyhyKS0+aWR4XS0+dm1fZmx1c2goKHJk ZXYpLCAociksICh2bV9pZCksIChwZF9hZGRyKSkKPj4gICAjZGVmaW5lIHJhZGVvbl9yaW5nX2dl dF9ycHRyKHJkZXYsIHIpIChyZGV2KS0+YXNpYy0+cmluZ1sociktPmlkeF0tPmdldF9ycHRyKChy ZGV2KSwgKHIpKQo+PiAgICNkZWZpbmUgcmFkZW9uX3JpbmdfZ2V0X3dwdHIocmRldiwgcikgKHJk ZXYpLT5hc2ljLT5yaW5nWyhyKS0+aWR4XS0+Z2V0X3dwdHIoKHJkZXYpLCAocikpCj4+ICAgI2Rl ZmluZSByYWRlb25fcmluZ19zZXRfd3B0cihyZGV2LCByKSAocmRldiktPmFzaWMtPnJpbmdbKHIp LT5pZHhdLT5zZXRfd3B0cigocmRldiksIChyKSkKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2FzaWMuaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X2FzaWMuaAo+PiBpbmRleCBkOGFjZTViLi4yYTQ1ZDU0IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hc2ljLmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fYXNpYy5oCj4+IEBAIC01OTksNyArNTk5LDggQEAgaW50IGNheW1hbl9hc2lj X3Jlc2V0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsKPj4gICB2b2lkIGNheW1hbl9yaW5n X2liX2V4ZWN1dGUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25faWIg KmliKTsKPj4gICBpbnQgY2F5bWFuX3ZtX2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYp Owo+PiAgIHZvaWQgY2F5bWFuX3ZtX2Zpbmkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwo+ PiAtdm9pZCBjYXltYW5fdm1fZmx1c2goc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBy aWR4LCBzdHJ1Y3QgcmFkZW9uX3ZtICp2bSk7Cj4+ICt2b2lkIGNheW1hbl92bV9mbHVzaChzdHJ1 Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nLAo+PiArICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCB2bV9pZCwgdWludDY0X3QgcGRfYWRkcik7Cj4+ICAg dWludDMyX3QgY2F5bWFuX3ZtX3BhZ2VfZmxhZ3Moc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYs IHVpbnQzMl90IGZsYWdzKTsKPj4gICBpbnQgZXZlcmdyZWVuX2liX3BhcnNlKHN0cnVjdCByYWRl b25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX2liICppYik7Cj4+ICAgaW50IGV2ZXJncmVl bl9kbWFfaWJfcGFyc2Uoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25f aWIgKmliKTsKPj4gQEAgLTYyNCw3ICs2MjUsOCBAQCB2b2lkIGNheW1hbl9kbWFfdm1fc2V0X3Bh Z2VzKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50MzJfdCBpbmNyLCB1aW50MzJfdCBmbGFncyk7Cj4+ICAgdm9pZCBjYXltYW5f ZG1hX3ZtX3BhZF9pYihzdHJ1Y3QgcmFkZW9uX2liICppYik7Cj4+Cj4+IC12b2lkIGNheW1hbl9k bWFfdm1fZmx1c2goc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCByaWR4LCBzdHJ1Y3Qg cmFkZW9uX3ZtICp2bSk7Cj4+ICt2b2lkIGNheW1hbl9kbWFfdm1fZmx1c2goc3RydWN0IHJhZGVv bl9kZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25fcmluZyAqcmluZywKPj4gKyAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIHZtX2lkLCB1aW50NjRfdCBwZF9hZGRyKTsKPj4KPj4gICB1 MzIgY2F5bWFuX2dmeF9nZXRfcnB0cihzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKPj4gICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCByYWRlb25fcmluZyAqcmluZyk7Cj4+IEBAIC02 OTksNyArNzAxLDggQEAgaW50IHNpX2lycV9zZXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYp Owo+PiAgIGludCBzaV9pcnFfcHJvY2VzcyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7Cj4+ ICAgaW50IHNpX3ZtX2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwo+PiAgIHZvaWQg c2lfdm1fZmluaShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7Cj4+IC12b2lkIHNpX3ZtX2Zs dXNoKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgcmlkeCwgc3RydWN0IHJhZGVvbl92 bSAqdm0pOwo+PiArdm9pZCBzaV92bV9mbHVzaChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwg c3RydWN0IHJhZGVvbl9yaW5nICpyaW5nLAo+PiArICAgICAgICAgICAgICAgIHVuc2lnbmVkIHZt X2lkLCB1aW50NjRfdCBwZF9hZGRyKTsKPj4gICBpbnQgc2lfaWJfcGFyc2Uoc3RydWN0IHJhZGVv bl9kZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25faWIgKmliKTsKPj4gICBzdHJ1Y3QgcmFkZW9u X2ZlbmNlICpzaV9jb3B5X2RtYShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKPj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IHNyY19vZmZzZXQsIHVpbnQ2NF90 IGRzdF9vZmZzZXQsCj4+IEBAIC03MjEsNyArNzI0LDggQEAgdm9pZCBzaV9kbWFfdm1fc2V0X3Bh Z2VzKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQ2NF90IGFkZHIsIHVuc2lnbmVkIGNvdW50LAo+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQzMl90IGluY3IsIHVpbnQzMl90IGZsYWdzKTsKPj4KPj4gLXZvaWQgc2lfZG1h X3ZtX2ZsdXNoKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgcmlkeCwgc3RydWN0IHJh ZGVvbl92bSAqdm0pOwo+PiArdm9pZCBzaV9kbWFfdm1fZmx1c2goc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYsIHN0cnVjdCByYWRlb25fcmluZyAqcmluZywKPj4gKyAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgdm1faWQsIHVpbnQ2NF90IHBkX2FkZHIpOwo+PiAgIHUzMiBzaV9nZXRfeGNs ayhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7Cj4+ICAgdWludDY0X3Qgc2lfZ2V0X2dwdV9j bG9ja19jb3VudGVyKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsKPj4gICBpbnQgc2lfc2V0 X3V2ZF9jbG9ja3Moc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHUzMiB2Y2xrLCB1MzIgZGNs ayk7Cj4+IEBAIC03OTMsNyArNzk3LDggQEAgaW50IGNpa19pcnFfc2V0KHN0cnVjdCByYWRlb25f ZGV2aWNlICpyZGV2KTsKPj4gICBpbnQgY2lrX2lycV9wcm9jZXNzKHN0cnVjdCByYWRlb25fZGV2 aWNlICpyZGV2KTsKPj4gICBpbnQgY2lrX3ZtX2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJk ZXYpOwo+PiAgIHZvaWQgY2lrX3ZtX2Zpbmkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwo+ PiAtdm9pZCBjaWtfdm1fZmx1c2goc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCByaWR4 LCBzdHJ1Y3QgcmFkZW9uX3ZtICp2bSk7Cj4+ICt2b2lkIGNpa192bV9mbHVzaChzdHJ1Y3QgcmFk ZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nLAo+PiArICAgICAgICAg ICAgICAgICB1bnNpZ25lZCB2bV9pZCwgdWludDY0X3QgcGRfYWRkcik7Cj4+Cj4+ICAgdm9pZCBj aWtfc2RtYV92bV9jb3B5X3BhZ2VzKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAo+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCByYWRlb25faWIgKmliLAo+PiBAQCAtODEx LDcgKzgxNiw4IEBAIHZvaWQgY2lrX3NkbWFfdm1fc2V0X3BhZ2VzKHN0cnVjdCByYWRlb25fZGV2 aWNlICpyZGV2LAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5jciwg dWludDMyX3QgZmxhZ3MpOwo+PiAgIHZvaWQgY2lrX3NkbWFfdm1fcGFkX2liKHN0cnVjdCByYWRl b25faWIgKmliKTsKPj4KPj4gLXZvaWQgY2lrX2RtYV92bV9mbHVzaChzdHJ1Y3QgcmFkZW9uX2Rl dmljZSAqcmRldiwgaW50IHJpZHgsIHN0cnVjdCByYWRlb25fdm0gKnZtKTsKPj4gK3ZvaWQgY2lr X2RtYV92bV9mbHVzaChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9y aW5nICpyaW5nLAo+PiArICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgdm1faWQsIHVpbnQ2 NF90IHBkX2FkZHIpOwo+PiAgIGludCBjaWtfaWJfcGFyc2Uoc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYsIHN0cnVjdCByYWRlb25faWIgKmliKTsKPj4gICB1MzIgY2lrX2dmeF9nZXRfcnB0cihz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKPj4gICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCByYWRlb25fcmluZyAqcmluZyk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl92bS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdm0uYwo+PiBp bmRleCBkZmRlMjY2Li45ZDBmODdiIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl92bS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3Zt LmMKPj4gQEAgLTI0Myw3ICsyNDMsOCBAQCB2b2lkIHJhZGVvbl92bV9mbHVzaChzdHJ1Y3QgcmFk ZW9uX2RldmljZSAqcmRldiwKPj4gICAgICAgICAgaWYgKCF2bS0+bGFzdF9mbHVzaCB8fCBwZF9h ZGRyICE9IHZtLT5wZF9ncHVfYWRkcikgewo+PiAgICAgICAgICAgICAgICAgIHRyYWNlX3JhZGVv bl92bV9mbHVzaChwZF9hZGRyLCByaW5nLCB2bS0+aWQpOwo+PiAgICAgICAgICAgICAgICAgIHZt LT5wZF9ncHVfYWRkciA9IHBkX2FkZHI7Cj4+IC0gICAgICAgICAgICAgICByYWRlb25fcmluZ192 bV9mbHVzaChyZGV2LCByaW5nLCB2bSk7Cj4+ICsgICAgICAgICAgICAgICByYWRlb25fcmluZ192 bV9mbHVzaChyZGV2LCAmcmRldi0+cmluZ1tyaW5nXSwKPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHZtLT5pZCwgdm0tPnBkX2dwdV9hZGRyKTsKPj4gICAgICAgICAgfQo+ PiAgIH0KPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vc2kuYyBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vc2kuYwo+PiBpbmRleCBlZWVhNWI2Li5lOTE5NjhiIDEwMDY0 NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3NpLmMKPj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9zaS5jCj4+IEBAIC01MDIwLDI3ICs1MDIwLDIzIEBAIHN0YXRpYyB2b2lk IHNpX3ZtX2RlY29kZV9mYXVsdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKPj4gICAgICAg ICAgICAgICAgIGJsb2NrLCBtY19pZCk7Cj4+ICAgfQo+Pgo+PiAtdm9pZCBzaV92bV9mbHVzaChz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IHJpZHgsIHN0cnVjdCByYWRlb25fdm0gKnZt KQo+PiArdm9pZCBzaV92bV9mbHVzaChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0 IHJhZGVvbl9yaW5nICpyaW5nLAo+PiArICAgICAgICAgICAgICAgIHVuc2lnbmVkIHZtX2lkLCB1 aW50NjRfdCBwZF9hZGRyKQo+PiAgIHsKPj4gLSAgICAgICBzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJp bmcgPSAmcmRldi0+cmluZ1tyaWR4XTsKPj4gLQo+PiAtICAgICAgIGlmICh2bSA9PSBOVUxMKQo+ PiAtICAgICAgICAgICAgICAgcmV0dXJuOwo+PiAtCj4+ICAgICAgICAgIC8qIHdyaXRlIG5ldyBi YXNlIGFkZHJlc3MgKi8KPj4gICAgICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgUEFDS0VU MyhQQUNLRVQzX1dSSVRFX0RBVEEsIDMpKTsKPj4gICAgICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUo cmluZywgKFdSSVRFX0RBVEFfRU5HSU5FX1NFTCgxKSB8Cj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBXUklURV9EQVRBX0RTVF9TRUwoMCkpKTsKPj4KPj4gLSAgICAgICBpZiAo dm0tPmlkIDwgOCkgewo+PiArICAgICAgIGlmICh2bV9pZCA8IDgpIHsKPj4gICAgICAgICAgICAg ICAgICByYWRlb25fcmluZ193cml0ZShyaW5nLAo+PiAtICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKFZNX0NPTlRFWFQwX1BBR0VfVEFCTEVfQkFTRV9BRERSICsgKHZtLT5pZCA8PCAy KSkgPj4gMik7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVk1fQ09OVEVY VDBfUEFHRV9UQUJMRV9CQVNFX0FERFIgKyAodm1faWQgPDwgMikpID4+IDIpOwo+PiAgICAgICAg ICB9IGVsc2Ugewo+PiAgICAgICAgICAgICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsCj4+ IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVk1fQ09OVEVYVDhfUEFHRV9UQUJM RV9CQVNFX0FERFIgKyAoKHZtLT5pZCAtIDgpIDw8IDIpKSA+PiAyKTsKPj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChWTV9DT05URVhUOF9QQUdFX1RBQkxFX0JBU0VfQUREUiAr ICgodm1faWQgLSA4KSA8PCAyKSkgPj4gMik7Cj4+ICAgICAgICAgIH0KPj4gICAgICAgICAgcmFk ZW9uX3Jpbmdfd3JpdGUocmluZywgMCk7Cj4+IC0gICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUocmlu Zywgdm0tPnBkX2dwdV9hZGRyID4+IDEyKTsKPj4gKyAgICAgICByYWRlb25fcmluZ193cml0ZShy aW5nLCBwZF9hZGRyID4+IDEyKTsKPj4KPj4gICAgICAgICAgLyogZmx1c2ggaGRwIGNhY2hlICov Cj4+ICAgICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIFBBQ0tFVDMoUEFDS0VUM19XUklU RV9EQVRBLCAzKSk7Cj4+IEBAIC01MDU2LDcgKzUwNTIsNyBAQCB2b2lkIHNpX3ZtX2ZsdXNoKHN0 cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgcmlkeCwgc3RydWN0IHJhZGVvbl92bSAqdm0p Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXUklURV9EQVRBX0RTVF9TRUwo MCkpKTsKPj4gICAgICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgVk1fSU5WQUxJREFURV9S RVFVRVNUID4+IDIpOwo+PiAgICAgICAgICByYWRlb25fcmluZ193cml0ZShyaW5nLCAwKTsKPj4g LSAgICAgICByYWRlb25fcmluZ193cml0ZShyaW5nLCAxIDw8IHZtLT5pZCk7Cj4+ICsgICAgICAg cmFkZW9uX3Jpbmdfd3JpdGUocmluZywgMSA8PCB2bV9pZCk7Cj4+Cj4+ICAgICAgICAgIC8qIHN5 bmMgUEZQIHRvIE1FLCBvdGhlcndpc2Ugd2UgbWlnaHQgZ2V0IGludmFsaWQgUEZQIHJlYWRzICov Cj4+ICAgICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIFBBQ0tFVDMoUEFDS0VUM19QRlBf U1lOQ19NRSwgMCkpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaV9k bWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vc2lfZG1hLmMKPj4gaW5kZXggYjU4ZjEyYi4u ZThiYzBhNSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaV9kbWEuYwo+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3NpX2RtYS5jCj4+IEBAIC0xODUsMjAgKzE4 NSwxNyBAQCB2b2lkIHNpX2RtYV92bV9zZXRfcGFnZXMoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJk ZXYsCj4+ICAgICAgICAgIH0KPj4gICB9Cj4+Cj4+IC12b2lkIHNpX2RtYV92bV9mbHVzaChzdHJ1 Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IHJpZHgsIHN0cnVjdCByYWRlb25fdm0gKnZtKQo+ PiAtewo+PiAtICAgICAgIHN0cnVjdCByYWRlb25fcmluZyAqcmluZyA9ICZyZGV2LT5yaW5nW3Jp ZHhdOwo+PiAtCj4+IC0gICAgICAgaWYgKHZtID09IE5VTEwpCj4+IC0gICAgICAgICAgICAgICBy ZXR1cm47Cj4+ICt2b2lkIHNpX2RtYV92bV9mbHVzaChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRl diwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nLAo+PiArICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCB2bV9pZCwgdWludDY0X3QgcGRfYWRkcikKPj4KPj4gK3sKPj4gICAgICAgICAgcmFkZW9u X3Jpbmdfd3JpdGUocmluZywgRE1BX1BBQ0tFVChETUFfUEFDS0VUX1NSQk1fV1JJVEUsIDAsIDAs IDAsIDApKTsKPj4gLSAgICAgICBpZiAodm0tPmlkIDwgOCkgewo+PiAtICAgICAgICAgICAgICAg cmFkZW9uX3Jpbmdfd3JpdGUocmluZywgKDB4ZiA8PCAxNikgfCAoKFZNX0NPTlRFWFQwX1BBR0Vf VEFCTEVfQkFTRV9BRERSICsgKHZtLT5pZCA8PCAyKSkgPj4gMikpOwo+PiArICAgICAgIGlmICh2 bV9pZCA8IDgpIHsKPj4gKyAgICAgICAgICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsICgw eGYgPDwgMTYpIHwgKChWTV9DT05URVhUMF9QQUdFX1RBQkxFX0JBU0VfQUREUiArICh2bV9pZCA8 PCAyKSkgPj4gMikpOwo+PiAgICAgICAgICB9IGVsc2Ugewo+PiAtICAgICAgICAgICAgICAgcmFk ZW9uX3Jpbmdfd3JpdGUocmluZywgKDB4ZiA8PCAxNikgfCAoKFZNX0NPTlRFWFQ4X1BBR0VfVEFC TEVfQkFTRV9BRERSICsgKCh2bS0+aWQgLSA4KSA8PCAyKSkgPj4gMikpOwo+PiArICAgICAgICAg ICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgKDB4ZiA8PCAxNikgfCAoKFZNX0NPTlRFWFQ4 X1BBR0VfVEFCTEVfQkFTRV9BRERSICsgKCh2bV9pZCAtIDgpIDw8IDIpKSA+PiAyKSk7Cj4+ICAg ICAgICAgIH0KPj4gLSAgICAgICByYWRlb25fcmluZ193cml0ZShyaW5nLCB2bS0+cGRfZ3B1X2Fk ZHIgPj4gMTIpOwo+PiArICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIHBkX2FkZHIgPj4g MTIpOwo+Pgo+PiAgICAgICAgICAvKiBmbHVzaCBoZHAgY2FjaGUgKi8KPj4gICAgICAgICAgcmFk ZW9uX3Jpbmdfd3JpdGUocmluZywgRE1BX1BBQ0tFVChETUFfUEFDS0VUX1NSQk1fV1JJVEUsIDAs IDAsIDAsIDApKTsKPj4gQEAgLTIwOCw3ICsyMDUsNyBAQCB2b2lkIHNpX2RtYV92bV9mbHVzaChz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IHJpZHgsIHN0cnVjdCByYWRlb25fdm0gKnZt KQo+PiAgICAgICAgICAvKiBiaXRzIDAtNyBhcmUgdGhlIFZNIGNvbnRleHRzMC03ICovCj4+ICAg ICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIERNQV9QQUNLRVQoRE1BX1BBQ0tFVF9TUkJN X1dSSVRFLCAwLCAwLCAwLCAwKSk7Cj4+ICAgICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcs ICgweGYgPDwgMTYpIHwgKFZNX0lOVkFMSURBVEVfUkVRVUVTVCA+PiAyKSk7Cj4+IC0gICAgICAg cmFkZW9uX3Jpbmdfd3JpdGUocmluZywgMSA8PCB2bS0+aWQpOwo+PiArICAgICAgIHJhZGVvbl9y aW5nX3dyaXRlKHJpbmcsIDEgPDwgdm1faWQpOwo+PiAgIH0KPj4KPj4gICAvKioKPj4gLS0KPj4g MS45LjEKPj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==