From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: Re: [PATCH 14/21] drm/i915/gtt: Make scratch page i915_page_dma compatible Date: Wed, 03 Jun 2015 14:44:48 +0100 Message-ID: <556F04D0.9030402@intel.com> References: <1432314314-23530-1-git-send-email-mika.kuoppala@intel.com> <1432314314-23530-15-git-send-email-mika.kuoppala@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 11BE46E393 for ; Wed, 3 Jun 2015 06:44:50 -0700 (PDT) In-Reply-To: <1432314314-23530-15-git-send-email-mika.kuoppala@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Mika Kuoppala , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gNS8yMi8yMDE1IDY6MDUgUE0sIE1pa2EgS3VvcHBhbGEgd3JvdGU6Cj4gTGF5IG91dCBzY3Jh dGNoIHBhZ2Ugc3RydWN0dXJlIGluIHNpbWlsYXIgbWFubmVyIHRoYW4gb3RoZXIKPiBwYWdpbmcg c3RydWN0dXJlcy4gVGhpcyBhbGxvd3MgdXMgdG8gdXNlIHRoZSBzYW1lIHRvb2xzIGZvcgo+IHNl dHVwIGFuZCB0ZWFyZG93bi4KPgo+IFNpZ25lZC1vZmYtYnk6IE1pa2EgS3VvcHBhbGEgPG1pa2Eu a3VvcHBhbGFAaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmMgfCA4OSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCj4gICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCB8ICA5ICsrLS0KPiAgIDIgZmlsZXMg Y2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgNDQgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuYwo+IGluZGV4IDRmOWEwMDAuLjQzZmE1NDMgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+IEBAIC0zMDEsMTEgKzMwMSwxMiBAQCBzdGF0aWMg Z2VuNl9wdGVfdCBpcmlzX3B0ZV9lbmNvZGUoZG1hX2FkZHJfdCBhZGRyLAo+ICAgICAgICAgIHJl dHVybiBwdGU7Cj4gICB9Cj4KPiAtc3RhdGljIGludCBzZXR1cF9wYWdlX2RtYShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBzdHJ1Y3QgaTkxNV9wYWdlX2RtYSAqcCkKPiArc3RhdGljIGludCBfX3Nl dHVwX3BhZ2VfZG1hKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBpOTE1X3BhZ2VfZG1hICpwLCBnZnBfdCBmbGFncykKPiAgIHsKPiAg ICAgICAgICBzdHJ1Y3QgZGV2aWNlICpkZXZpY2UgPSAmZGV2LT5wZGV2LT5kZXY7Cj4KPiAtICAg ICAgIHAtPnBhZ2UgPSBhbGxvY19wYWdlKEdGUF9LRVJORUwpOwo+ICsgICAgICAgcC0+cGFnZSA9 IGFsbG9jX3BhZ2UoZmxhZ3MpOwo+ICAgICAgICAgIGlmICghcC0+cGFnZSkKPiAgICAgICAgICAg ICAgICAgIHJldHVybiAtRU5PTUVNOwo+Cj4gQEAgLTMyMCw2ICszMjEsMTEgQEAgc3RhdGljIGlu dCBzZXR1cF9wYWdlX2RtYShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaTkxNV9wYWdl X2RtYSAqcCkKPiAgICAgICAgICByZXR1cm4gMDsKPiAgIH0KPgo+ICtzdGF0aWMgaW50IHNldHVw X3BhZ2VfZG1hKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpOTE1X3BhZ2VfZG1hICpw KQo+ICt7Cj4gKyAgICAgICByZXR1cm4gX19zZXR1cF9wYWdlX2RtYShkZXYsIHAsIEdGUF9LRVJO RUwpOwo+ICt9Cj4gKwo+ICAgc3RhdGljIHZvaWQgY2xlYW51cF9wYWdlX2RtYShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBzdHJ1Y3QgaTkxNV9wYWdlX2RtYSAqcCkKPiAgIHsKPiAgICAgICAgICBp ZiAoV0FSTl9PTighcC0+cGFnZSkpCj4gQEAgLTM4OCw3ICszOTQsOCBAQCBzdGF0aWMgdm9pZCBn ZW44X2luaXRpYWxpemVfcHQoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCj4gICB7Cj4g ICAgICAgICAgZ2VuOF9wdGVfdCBzY3JhdGNoX3B0ZTsKPgo+IC0gICAgICAgc2NyYXRjaF9wdGUg PSBnZW44X3B0ZV9lbmNvZGUodm0tPnNjcmF0Y2guYWRkciwgSTkxNV9DQUNIRV9MTEMsIHRydWUp Owo+ICsgICAgICAgc2NyYXRjaF9wdGUgPSBnZW44X3B0ZV9lbmNvZGUocHhfZG1hKHZtLT5zY3Jh dGNoX3BhZ2UpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTkxNV9D QUNIRV9MTEMsIHRydWUpOwo+Cj4gICAgICAgICAgZmlsbF9weCh2bS0+ZGV2LCBwdCwgc2NyYXRj aF9wdGUpOwo+ICAgfQo+IEBAIC01MTUsNyArNTIyLDcgQEAgc3RhdGljIHZvaWQgZ2VuOF9wcGd0 dF9jbGVhcl9yYW5nZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKPiAgICAgICAgICB1 bnNpZ25lZCBudW1fZW50cmllcyA9IGxlbmd0aCA+PiBQQUdFX1NISUZUOwo+ICAgICAgICAgIHVu c2lnbmVkIGxhc3RfcHRlLCBpOwo+Cj4gLSAgICAgICBzY3JhdGNoX3B0ZSA9IGdlbjhfcHRlX2Vu Y29kZShwcGd0dC0+YmFzZS5zY3JhdGNoLmFkZHIsCj4gKyAgICAgICBzY3JhdGNoX3B0ZSA9IGdl bjhfcHRlX2VuY29kZShweF9kbWEocHBndHQtPmJhc2Uuc2NyYXRjaF9wYWdlKSwKPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJOTE1X0NBQ0hFX0xMQywgdXNlX3NjcmF0 Y2gpOwo+Cj4gICAgICAgICAgd2hpbGUgKG51bV9lbnRyaWVzKSB7Cj4gQEAgLTEwMjEsNyArMTAy OCw3IEBAIHN0YXRpYyB2b2lkIGdlbjZfZHVtcF9wcGd0dChzdHJ1Y3QgaTkxNV9od19wcGd0dCAq cHBndHQsIHN0cnVjdCBzZXFfZmlsZSAqbSkKPiAgICAgICAgICB1aW50MzJfdCAgcHRlLCBwZGUs IHRlbXA7Cj4gICAgICAgICAgdWludDMyX3Qgc3RhcnQgPSBwcGd0dC0+YmFzZS5zdGFydCwgbGVu Z3RoID0gcHBndHQtPmJhc2UudG90YWw7Cj4KPiAtICAgICAgIHNjcmF0Y2hfcHRlID0gdm0tPnB0 ZV9lbmNvZGUodm0tPnNjcmF0Y2guYWRkciwgSTkxNV9DQUNIRV9MTEMsIHRydWUsIDApOwo+ICsg ICAgICAgc2NyYXRjaF9wdGUgPSB2bS0+cHRlX2VuY29kZShweF9kbWEodm0tPnNjcmF0Y2hfcGFn ZSksIEk5MTVfQ0FDSEVfTExDLCB0cnVlLCAwKTsKPgo+ICAgICAgICAgIGdlbjZfZm9yX2VhY2hf cGRlKHVudXNlZCwgJnBwZ3R0LT5wZCwgc3RhcnQsIGxlbmd0aCwgdGVtcCwgcGRlKSB7Cj4gICAg ICAgICAgICAgICAgICB1MzIgZXhwZWN0ZWQ7Cj4gQEAgLTEyNTYsNyArMTI2Myw4IEBAIHN0YXRp YyB2b2lkIGdlbjZfcHBndHRfY2xlYXJfcmFuZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAq dm0sCj4gICAgICAgICAgdW5zaWduZWQgZmlyc3RfcHRlID0gZmlyc3RfZW50cnkgJSBHRU42X1BU RVM7Cj4gICAgICAgICAgdW5zaWduZWQgbGFzdF9wdGUsIGk7Cj4KPiAtICAgICAgIHNjcmF0Y2hf cHRlID0gdm0tPnB0ZV9lbmNvZGUodm0tPnNjcmF0Y2guYWRkciwgSTkxNV9DQUNIRV9MTEMsIHRy dWUsIDApOwo+ICsgICAgICAgc2NyYXRjaF9wdGUgPSB2bS0+cHRlX2VuY29kZShweF9kbWEodm0t PnNjcmF0Y2hfcGFnZSksCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEk5 MTVfQ0FDSEVfTExDLCB0cnVlLCAwKTsKPgo+ICAgICAgICAgIHdoaWxlIChudW1fZW50cmllcykg ewo+ICAgICAgICAgICAgICAgICAgbGFzdF9wdGUgPSBmaXJzdF9wdGUgKyBudW1fZW50cmllczsK PiBAQCAtMTMxNCw5ICsxMzIyLDEwIEBAIHN0YXRpYyB2b2lkIGdlbjZfaW5pdGlhbGl6ZV9wdChz dHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKPiAgIHsKPiAgICAgICAgICBnZW42X3B0ZV90 IHNjcmF0Y2hfcHRlOwo+Cj4gLSAgICAgICBXQVJOX09OKHZtLT5zY3JhdGNoLmFkZHIgPT0gMCk7 Cj4gKyAgICAgICBXQVJOX09OKHB4X2RtYSh2bS0+c2NyYXRjaF9wYWdlKSA9PSAwKTsKPgo+IC0g ICAgICAgc2NyYXRjaF9wdGUgPSB2bS0+cHRlX2VuY29kZSh2bS0+c2NyYXRjaC5hZGRyLCBJOTE1 X0NBQ0hFX0xMQywgdHJ1ZSwgMCk7Cj4gKyAgICAgICBzY3JhdGNoX3B0ZSA9IHZtLT5wdGVfZW5j b2RlKHB4X2RtYSh2bS0+c2NyYXRjaF9wYWdlKSwKPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSTkxNV9DQUNIRV9MTEMsIHRydWUsIDApOwo+Cj4gICAgICAgICAgZmlsbDMy X3B4KHZtLT5kZXYsIHB0LCBzY3JhdGNoX3B0ZSk7Cj4gICB9Cj4gQEAgLTE1NTMsMTMgKzE1NjIs MTQgQEAgc3RhdGljIGludCBfX2h3X3BwZ3R0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg c3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0KQo+ICAgICAgICAgIHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4KPiAgICAgICAgICBwcGd0dC0+ YmFzZS5kZXYgPSBkZXY7Cj4gLSAgICAgICBwcGd0dC0+YmFzZS5zY3JhdGNoID0gZGV2X3ByaXYt Pmd0dC5iYXNlLnNjcmF0Y2g7Cj4gKyAgICAgICBwcGd0dC0+YmFzZS5zY3JhdGNoX3BhZ2UgPSBk ZXZfcHJpdi0+Z3R0LmJhc2Uuc2NyYXRjaF9wYWdlOwo+Cj4gICAgICAgICAgaWYgKElOVEVMX0lO Rk8oZGV2KS0+Z2VuIDwgOCkKPiAgICAgICAgICAgICAgICAgIHJldHVybiBnZW42X3BwZ3R0X2lu aXQocHBndHQpOwo+ICAgICAgICAgIGVsc2UKPiAgICAgICAgICAgICAgICAgIHJldHVybiBnZW44 X3BwZ3R0X2luaXQocHBndHQpOwo+ICAgfQo+ICsKPiAgIGludCBpOTE1X3BwZ3R0X2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0KQo+ICAgewo+ ICAgICAgICAgIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3By aXZhdGU7Cj4gQEAgLTE4NzQsNyArMTg4NCw3IEBAIHN0YXRpYyB2b2lkIGdlbjhfZ2d0dF9jbGVh cl9yYW5nZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKPiAgICAgICAgICAgICAgICAg ICBmaXJzdF9lbnRyeSwgbnVtX2VudHJpZXMsIG1heF9lbnRyaWVzKSkKPiAgICAgICAgICAgICAg ICAgIG51bV9lbnRyaWVzID0gbWF4X2VudHJpZXM7Cj4KPiAtICAgICAgIHNjcmF0Y2hfcHRlID0g Z2VuOF9wdGVfZW5jb2RlKHZtLT5zY3JhdGNoLmFkZHIsCj4gKyAgICAgICBzY3JhdGNoX3B0ZSA9 IGdlbjhfcHRlX2VuY29kZShweF9kbWEodm0tPnNjcmF0Y2hfcGFnZSksCj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSTkxNV9DQUNIRV9MTEMsCj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlX3NjcmF0Y2gpOwo+ICAgICAgICAgIGZvciAo aSA9IDA7IGkgPCBudW1fZW50cmllczsgaSsrKQo+IEBAIC0xOTAwLDcgKzE5MTAsOCBAQCBzdGF0 aWMgdm9pZCBnZW42X2dndHRfY2xlYXJfcmFuZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAq dm0sCj4gICAgICAgICAgICAgICAgICAgZmlyc3RfZW50cnksIG51bV9lbnRyaWVzLCBtYXhfZW50 cmllcykpCj4gICAgICAgICAgICAgICAgICBudW1fZW50cmllcyA9IG1heF9lbnRyaWVzOwo+Cj4g LSAgICAgICBzY3JhdGNoX3B0ZSA9IHZtLT5wdGVfZW5jb2RlKHZtLT5zY3JhdGNoLmFkZHIsIEk5 MTVfQ0FDSEVfTExDLCB1c2Vfc2NyYXRjaCwgMCk7Cj4gKyAgICAgICBzY3JhdGNoX3B0ZSA9IHZt LT5wdGVfZW5jb2RlKHB4X2RtYSh2bS0+c2NyYXRjaF9wYWdlKSwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSTkxNV9DQUNIRV9MTEMsIHVzZV9zY3JhdGNoLCAwKTsKPgo+ ICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1fZW50cmllczsgaSsrKQo+ICAgICAgICAgICAg ICAgICAgaW93cml0ZTMyKHNjcmF0Y2hfcHRlLCAmZ3R0X2Jhc2VbaV0pOwo+IEBAIC0yMTU3LDQy ICsyMTY4LDQwIEBAIHZvaWQgaTkxNV9nbG9iYWxfZ3R0X2NsZWFudXAoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKPiAgICAgICAgICB2bS0+Y2xlYW51cCh2bSk7Cj4gICB9Cj4KPiAtc3RhdGljIGlu dCBzZXR1cF9zY3JhdGNoX3BhZ2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiArc3RhdGljIGlu dCBhbGxvY19zY3JhdGNoX3BhZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCj4gICB7 Cj4gLSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwo+IC0gICAgICAgc3RydWN0IHBhZ2UgKnBhZ2U7Cj4gLSAgICAgICBkbWFfYWRkcl90 IGRtYV9hZGRyOwo+ICsgICAgICAgc3RydWN0IGk5MTVfcGFnZV9zY3JhdGNoICpzcDsKPiArICAg ICAgIGludCByZXQ7Cj4gKwo+ICsgICAgICAgV0FSTl9PTih2bS0+c2NyYXRjaF9wYWdlKTsKPgo+ IC0gICAgICAgcGFnZSA9IGFsbG9jX3BhZ2UoR0ZQX0tFUk5FTCB8IEdGUF9ETUEzMiB8IF9fR0ZQ X1pFUk8pOwo+IC0gICAgICAgaWYgKHBhZ2UgPT0gTlVMTCkKPiArICAgICAgIHNwID0ga3phbGxv YyhzaXplb2YoKnNwKSwgR0ZQX0tFUk5FTCk7Cj4gKyAgICAgICBpZiAoc3AgPT0gTlVMTCkKPiAg ICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+IC0gICAgICAgc2V0X3BhZ2VzX3VjKHBh Z2UsIDEpOwo+Cj4gLSNpZmRlZiBDT05GSUdfSU5URUxfSU9NTVUKPiAtICAgICAgIGRtYV9hZGRy ID0gcGNpX21hcF9wYWdlKGRldi0+cGRldiwgcGFnZSwgMCwgUEFHRV9TSVpFLAo+IC0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUENJX0RNQV9CSURJUkVDVElPTkFMKTsKPiAtICAgICAg IGlmIChwY2lfZG1hX21hcHBpbmdfZXJyb3IoZGV2LT5wZGV2LCBkbWFfYWRkcikpIHsKPiAtICAg ICAgICAgICAgICAgX19mcmVlX3BhZ2UocGFnZSk7Cj4gLSAgICAgICAgICAgICAgIHJldHVybiAt RUlOVkFMOwo+ICsgICAgICAgcmV0ID0gX19zZXR1cF9wYWdlX2RtYSh2bS0+ZGV2LCBweF9iYXNl KHNwKSwgR0ZQX0RNQTMyIHwgX19HRlBfWkVSTyk7Cj4gKyAgICAgICBpZiAocmV0KSB7Cj4gKyAg ICAgICAgICAgICAgIGtmcmVlKHNwKTsKPiArICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiAg ICAgICAgICB9Cj4gLSNlbHNlCj4gLSAgICAgICBkbWFfYWRkciA9IHBhZ2VfdG9fcGh5cyhwYWdl KTsKPiAtI2VuZGlmCgpTaG91bGQgd2Uga2VlcCBhIG5vLWlvbW11IG9wdGlvbj8KVGhpcyBzZWVt cyB0byBoYXZlIGJlZW4gYWRkZWQgZm9yIGdlbjYgKGd0dCkuCgo+IC0gICAgICAgZGV2X3ByaXYt Pmd0dC5iYXNlLnNjcmF0Y2gucGFnZSA9IHBhZ2U7Cj4gLSAgICAgICBkZXZfcHJpdi0+Z3R0LmJh c2Uuc2NyYXRjaC5hZGRyID0gZG1hX2FkZHI7Cj4gKwo+ICsgICAgICAgc2V0X3BhZ2VzX3VjKHB4 X3BhZ2Uoc3ApLCAxKTsKPiArCj4gKyAgICAgICB2bS0+c2NyYXRjaF9wYWdlID0gc3A7Cj4KPiAg ICAgICAgICByZXR1cm4gMDsKPiAgIH0KPgo+IC1zdGF0aWMgdm9pZCB0ZWFyZG93bl9zY3JhdGNo X3BhZ2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiArc3RhdGljIHZvaWQgZnJlZV9zY3JhdGNo X3BhZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCj4gICB7Cj4gLSAgICAgICBzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0gICAg ICAgc3RydWN0IHBhZ2UgKnBhZ2UgPSBkZXZfcHJpdi0+Z3R0LmJhc2Uuc2NyYXRjaC5wYWdlOwo+ ICsgICAgICAgc3RydWN0IGk5MTVfcGFnZV9zY3JhdGNoICpzcCA9IHZtLT5zY3JhdGNoX3BhZ2U7 Cj4KPiAtICAgICAgIHNldF9wYWdlc193YihwYWdlLCAxKTsKPiAtICAgICAgIHBjaV91bm1hcF9w YWdlKGRldi0+cGRldiwgZGV2X3ByaXYtPmd0dC5iYXNlLnNjcmF0Y2guYWRkciwKPiAtICAgICAg ICAgICAgICAgICAgICAgIFBBR0VfU0laRSwgUENJX0RNQV9CSURJUkVDVElPTkFMKTsKPiAtICAg ICAgIF9fZnJlZV9wYWdlKHBhZ2UpOwo+ICsgICAgICAgc2V0X3BhZ2VzX3diKHB4X3BhZ2Uoc3Ap LCAxKTsKPiArCj4gKyAgICAgICBjbGVhbnVwX3B4KHZtLT5kZXYsIHNwKTsKPiArICAgICAgIGtm cmVlKHNwKTsKPiArCj4gKyAgICAgICB2bS0+c2NyYXRjaF9wYWdlID0gTlVMTDsKPiAgIH0KPgo+ ICAgc3RhdGljIHVuc2lnbmVkIGludCBnZW42X2dldF90b3RhbF9ndHRfc2l6ZSh1MTYgc25iX2dt Y2hfY3RsKQo+IEBAIC0yMzAwLDcgKzIzMDksNyBAQCBzdGF0aWMgaW50IGdndHRfcHJvYmVfY29t bW9uKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAgICAgICAgICAgICAgICByZXR1cm4gLUVO T01FTTsKPiAgICAgICAgICB9Cj4KPiAtICAgICAgIHJldCA9IHNldHVwX3NjcmF0Y2hfcGFnZShk ZXYpOwo+ICsgICAgICAgcmV0ID0gYWxsb2Nfc2NyYXRjaF9wYWdlKCZkZXZfcHJpdi0+Z3R0LmJh c2UpOwo+ICAgICAgICAgIGlmIChyZXQpIHsKPiAgICAgICAgICAgICAgICAgIERSTV9FUlJPUigi U2NyYXRjaCBzZXR1cCBmYWlsZWRcbiIpOwo+ICAgICAgICAgICAgICAgICAgLyogaW91bm1hcCB3 aWxsIGFsc28gZ2V0IGNhbGxlZCBhdCByZW1vdmUsIGJ1dCBtZWggKi8KPiBAQCAtMjQ3OSw3ICsy NDg4LDcgQEAgc3RhdGljIHZvaWQgZ2VuNl9nbWNoX3JlbW92ZShzdHJ1Y3QgaTkxNV9hZGRyZXNz X3NwYWNlICp2bSkKPiAgICAgICAgICBzdHJ1Y3QgaTkxNV9ndHQgKmd0dCA9IGNvbnRhaW5lcl9v Zih2bSwgc3RydWN0IGk5MTVfZ3R0LCBiYXNlKTsKPgo+ICAgICAgICAgIGlvdW5tYXAoZ3R0LT5n c20pOwo+IC0gICAgICAgdGVhcmRvd25fc2NyYXRjaF9wYWdlKHZtLT5kZXYpOwo+ICsgICAgICAg ZnJlZV9zY3JhdGNoX3BhZ2Uodm0pOwo+ICAgfQo+Cj4gICBzdGF0aWMgaW50IGk5MTVfZ21jaF9w cm9iZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IEBAIC0yNTQzLDEzICsyNTUyLDEzIEBAIGlu dCBpOTE1X2dlbV9ndHRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgICAgICAgICAg ICAgICAgZGV2X3ByaXYtPmd0dC5iYXNlLmNsZWFudXAgPSBnZW42X2dtY2hfcmVtb3ZlOwo+ICAg ICAgICAgIH0KPgo+ICsgICAgICAgZ3R0LT5iYXNlLmRldiA9IGRldjsKPiArCj4gICAgICAgICAg cmV0ID0gZ3R0LT5ndHRfcHJvYmUoZGV2LCAmZ3R0LT5iYXNlLnRvdGFsLCAmZ3R0LT5zdG9sZW5f c2l6ZSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3R0LT5tYXBwYWJsZV9iYXNl LCAmZ3R0LT5tYXBwYWJsZV9lbmQpOwo+ICAgICAgICAgIGlmIChyZXQpCj4gICAgICAgICAgICAg ICAgICByZXR1cm4gcmV0Owo+Cj4gLSAgICAgICBndHQtPmJhc2UuZGV2ID0gZGV2Owo+IC0KPiAg ICAgICAgICAvKiBHTUFEUiBpcyB0aGUgUENJIG1taW8gYXBlcnR1cmUgaW50byB0aGUgZ2xvYmFs IEdUVC4gKi8KPiAgICAgICAgICBEUk1fSU5GTygiTWVtb3J5IHVzYWJsZSBieSBncmFwaGljcyBk ZXZpY2UgPSAlbGx1TVxuIiwKPiAgICAgICAgICAgICAgICAgICBndHQtPmJhc2UudG90YWwgPj4g MjApOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCj4gaW5kZXggMDA2YjgzOS4uMWZk NDA0MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCj4gQEAgLTIxNyw2ICsy MTcsMTAgQEAgc3RydWN0IGk5MTVfcGFnZV9kbWEgewo+ICAgI2RlZmluZSBweF9wYWdlKHB4KSAo cHhfYmFzZShweCktPnBhZ2UpCj4gICAjZGVmaW5lIHB4X2RtYShweCkgKHB4X2Jhc2UocHgpLT5k YWRkcikKPgo+ICtzdHJ1Y3QgaTkxNV9wYWdlX3NjcmF0Y2ggewo+ICsgICAgICAgc3RydWN0IGk5 MTVfcGFnZV9kbWEgYmFzZTsKPiArfTsKPiArCj4gICBzdHJ1Y3QgaTkxNV9wYWdlX3RhYmxlIHsK PiAgICAgICAgICBzdHJ1Y3QgaTkxNV9wYWdlX2RtYSBiYXNlOwo+Cj4gQEAgLTI0MywxMCArMjQ3 LDcgQEAgc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSB7Cj4gICAgICAgICAgdTY0IHN0YXJ0OyAg ICAgICAgICAgICAgLyogU3RhcnQgb2Zmc2V0IGFsd2F5cyAwIGZvciBkcmkyICovCj4gICAgICAg ICAgdTY0IHRvdGFsOyAgICAgICAgICAgICAgLyogc2l6ZSBhZGRyIHNwYWNlIG1hcHMgKGV4LiAy R0IgZm9yIGdndHQpICovCj4KPiAtICAgICAgIHN0cnVjdCB7Cj4gLSAgICAgICAgICAgICAgIGRt YV9hZGRyX3QgYWRkcjsKPiAtICAgICAgICAgICAgICAgc3RydWN0IHBhZ2UgKnBhZ2U7Cj4gLSAg ICAgICB9IHNjcmF0Y2g7Cj4gKyAgICAgICBzdHJ1Y3QgaTkxNV9wYWdlX3NjcmF0Y2ggKnNjcmF0 Y2hfcGFnZTsKPgo+ICAgICAgICAgIC8qKgo+ICAgICAgICAgICAqIExpc3Qgb2Ygb2JqZWN0cyBj dXJyZW50bHkgaW52b2x2ZWQgaW4gcmVuZGVyaW5nLgo+IC0tCj4gMS45LjEKPgo+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4KX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK