From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandre Courbot Subject: Re: [PATCH v2 2/2] drm/nouveau: add GEM_SET_TILING staging ioctl Date: Mon, 15 Jun 2015 16:15:36 +0900 Message-ID: <557E7B98.1040908@nvidia.com> References: <1434352169-10501-1-git-send-email-acourbot@nvidia.com> <1434352169-10501-3-git-send-email-acourbot@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1434352169-10501-3-git-send-email-acourbot-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Ben Skeggs , nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Ari Hirvonen , Thierry Reding Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-tegra@vger.kernel.org T24gMDYvMTUvMjAxNSAwNDowOSBQTSwgQWxleGFuZHJlIENvdXJib3Qgd3JvdGU6Cj4gRnJvbTog QXJpIEhpcnZvbmVuIDxhaGlydm9uZW5AbnZpZGlhLmNvbT4KPgo+IEFkZCBuZXcgTk9VVkVBVV9H RU1fU0VUX1RJTElORyBpb2N0bCB0byBzZXQgY29ycmVjdCB0aWxpbmcKPiBtb2RlIGZvciBpbXBv cnRlZCBkbWEtYnVmcy4gVGhpcyBpb2N0bCBpcyBzdGFnaW5nIGZvciBub3cKPiBhbmQgZW5hYmxl ZCB3aXRoIHRoZSAic3RhZ2luZ190aWxpbmciIG1vZHVsZSBvcHRpb24uCgpBZGRpbmcgVGhpZXJy eSB0byB0aGUgY29udmVyc2F0aW9uIHNpbmNlIGhlIGtub3dzIGJlc3QgYWJvdXQgZXhwb3J0ZWQg CmJ1ZmZlcnMgYW5kIGF0dHJpYnV0ZXMuIEkgd29uZGVyIGlmIHRoaXMgd291bGQgbm90IGJldHRl ciBiZSBkb25lIGF0IHRoZSAKdGltZSB0aGUgYnVmZmVyIGdldHMgaW1wb3J0ZWQuIEl0IHNlZW1z IHRvIG1lIHRoYXQgdGhpcyB3b3VsZCBiZSBhIG1vcmUgCmFwcHJvcHJpYXRlIHdheSB0aGFuIGhh dmluZyBhbiBpb2N0bCBkZWRpY2F0ZWQgdG8gdGhpcy4gVGhpZXJyeSwgd291bGQgCnlvdSBoYXZl IGFueSBpbnB1dCBiYXNlZCBvbiB5b3VyIGV4cGVyaWVuY2Ugd2l0aCB0ZWdyYWRybT8gSW4gdGhl IGVuZCwgCml0IHNlZW1zIGxpa2UgeW91IGhhdmUgc2V0dGxlZCBmb3IgYSBzaW1pbGFyIGlvY3Rs IHRvIHNldCB0aGUgdGlsaW5nIAptb2RlIG9mIGRpc3BsYXllZCBidWZmZXJzLgoKPgo+IFNpZ25l ZC1vZmYtYnk6IEFyaSBIaXJ2b25lbiA8YWhpcnZvbmVuQG52aWRpYS5jb20+Cj4gW2Fjb3VyYm90 QG52aWRpYS5jb206IGNhcnJ5IHVwc3RyZWFtLCBtYW55IGZpeGVzXQo+IFNpZ25lZC1vZmYtYnk6 IEFsZXhhbmRyZSBDb3VyYm90IDxhY291cmJvdEBudmlkaWEuY29tPgo+IC0tLQo+ICAgZHJtL25v dXZlYXUvbm91dmVhdV9iby5jICAgICAgICAgICB8IDE4ICsrKysrKysrKysrKwo+ICAgZHJtL25v dXZlYXUvbm91dmVhdV9iby5oICAgICAgICAgICB8ICAyICsrCj4gICBkcm0vbm91dmVhdS9ub3V2 ZWF1X2RybS5jICAgICAgICAgIHwgIDYgKysrKwo+ICAgZHJtL25vdXZlYXUvbm91dmVhdV9nZW0u YyAgICAgICAgICB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4g ICBkcm0vbm91dmVhdS9ub3V2ZWF1X2dlbS5oICAgICAgICAgIHwgIDIgKysKPiAgIGRybS9ub3V2 ZWF1L25vdXZlYXVfdHRtLmMgICAgICAgICAgfCAxMyArLS0tLS0tLS0KPiAgIGRybS9ub3V2ZWF1 L3VhcGkvZHJtL25vdXZlYXVfZHJtLmggfCAgOCArKysrKysKPiAgIDcgZmlsZXMgY2hhbmdlZCwg OTUgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJtL25v dXZlYXUvbm91dmVhdV9iby5jIGIvZHJtL25vdXZlYXUvbm91dmVhdV9iby5jCj4gaW5kZXggNmVk Y2NlMTY1OGI3Li4yYTJlYmJlYjRmYzAgMTAwNjQ0Cj4gLS0tIGEvZHJtL25vdXZlYXUvbm91dmVh dV9iby5jCj4gKysrIGIvZHJtL25vdXZlYXUvbm91dmVhdV9iby5jCj4gQEAgLTE3OCw2ICsxNzgs MjQgQEAgbm91dmVhdV9ib19maXh1cF9hbGlnbihzdHJ1Y3Qgbm91dmVhdV9ibyAqbnZibywgdTMy IGZsYWdzLAo+ICAgCSpzaXplID0gcm91bmR1cCgqc2l6ZSwgUEFHRV9TSVpFKTsKPiAgIH0KPgo+ ICt2b2lkCj4gK25vdXZlYXVfYm9fdXBkYXRlX3RpbGluZyhzdHJ1Y3Qgbm91dmVhdV9kcm0gKmRy bSwgc3RydWN0IG5vdXZlYXVfYm8gKm52Ym8sCj4gKwkJCSBzdHJ1Y3QgbnZrbV9tZW0gKm1lbSkK PiArewo+ICsJc3dpdGNoIChkcm0tPmRldmljZS5pbmZvLmZhbWlseSkgewo+ICsJY2FzZSBOVl9E RVZJQ0VfSU5GT19WMF9URVNMQToKPiArCQlpZiAoZHJtLT5kZXZpY2UuaW5mby5jaGlwc2V0ICE9 IDB4NTApCj4gKwkJCW1lbS0+bWVtdHlwZSA9IChudmJvLT50aWxlX2ZsYWdzICYgMHg3ZjAwKSA+ PiA4Owo+ICsJCWJyZWFrOwo+ICsJY2FzZSBOVl9ERVZJQ0VfSU5GT19WMF9GRVJNSToKPiArCWNh c2UgTlZfREVWSUNFX0lORk9fVjBfS0VQTEVSOgo+ICsJCW1lbS0+bWVtdHlwZSA9IChudmJvLT50 aWxlX2ZsYWdzICYgMHhmZjAwKSA+PiA4Owo+ICsJCWJyZWFrOwo+ICsJZGVmYXVsdDoKPiArCQli cmVhazsKPiArCX0KPiArfQo+ICsKPiAgIGludAo+ICAgbm91dmVhdV9ib19uZXcoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgaW50IHNpemUsIGludCBhbGlnbiwKPiAgIAkgICAgICAgdWludDMyX3Qg ZmxhZ3MsIHVpbnQzMl90IHRpbGVfbW9kZSwgdWludDMyX3QgdGlsZV9mbGFncywKPiBkaWZmIC0t Z2l0IGEvZHJtL25vdXZlYXUvbm91dmVhdV9iby5oIGIvZHJtL25vdXZlYXUvbm91dmVhdV9iby5o Cj4gaW5kZXggZTQyMzYwOTgzMjI5Li44N2QwN2UzNTMzZWIgMTAwNjQ0Cj4gLS0tIGEvZHJtL25v dXZlYXUvbm91dmVhdV9iby5oCj4gKysrIGIvZHJtL25vdXZlYXUvbm91dmVhdV9iby5oCj4gQEAg LTY5LDYgKzY5LDggQEAgbm91dmVhdV9ib19yZWYoc3RydWN0IG5vdXZlYXVfYm8gKnJlZiwgc3Ry dWN0IG5vdXZlYXVfYm8gKipwbnZibykKPiAgIGV4dGVybiBzdHJ1Y3QgdHRtX2JvX2RyaXZlciBu b3V2ZWF1X2JvX2RyaXZlcjsKPgo+ICAgdm9pZCBub3V2ZWF1X2JvX21vdmVfaW5pdChzdHJ1Y3Qg bm91dmVhdV9kcm0gKik7Cj4gK3ZvaWQgbm91dmVhdV9ib191cGRhdGVfdGlsaW5nKHN0cnVjdCBu b3V2ZWF1X2RybSAqLCBzdHJ1Y3Qgbm91dmVhdV9ibyAqLAo+ICsJCQkgICAgICBzdHJ1Y3QgbnZr bV9tZW0gKik7Cj4gICBpbnQgIG5vdXZlYXVfYm9fbmV3KHN0cnVjdCBkcm1fZGV2aWNlICosIGlu dCBzaXplLCBpbnQgYWxpZ24sIHUzMiBmbGFncywKPiAgIAkJICAgIHUzMiB0aWxlX21vZGUsIHUz MiB0aWxlX2ZsYWdzLCBzdHJ1Y3Qgc2dfdGFibGUgKnNnLAo+ICAgCQkgICAgc3RydWN0IHJlc2Vy dmF0aW9uX29iamVjdCAqcm9iaiwKPiBkaWZmIC0tZ2l0IGEvZHJtL25vdXZlYXUvbm91dmVhdV9k cm0uYyBiL2RybS9ub3V2ZWF1L25vdXZlYXVfZHJtLmMKPiBpbmRleCAyODg2MDI2OGNmMzguLjQ1 YTJjODhlYmY4ZSAxMDA2NDQKPiAtLS0gYS9kcm0vbm91dmVhdS9ub3V2ZWF1X2RybS5jCj4gKysr IGIvZHJtL25vdXZlYXUvbm91dmVhdV9kcm0uYwo+IEBAIC03NSw2ICs3NSwxMCBAQCBNT0RVTEVf UEFSTV9ERVNDKHJ1bnBtLCAiZGlzYWJsZSAoMCksIGZvcmNlIGVuYWJsZSAoMSksIG9wdGltdXMg b25seSBkZWZhdWx0ICgtMQo+ICAgaW50IG5vdXZlYXVfcnVudGltZV9wbSA9IC0xOwo+ICAgbW9k dWxlX3BhcmFtX25hbWVkKHJ1bnBtLCBub3V2ZWF1X3J1bnRpbWVfcG0sIGludCwgMDQwMCk7Cj4K PiArTU9EVUxFX1BBUk1fREVTQyhzdGFnaW5nX3RpbGluZywgImVuYWJsZSBzdGFnaW5nIEdFTV9T RVRfVElMSU5HIGlvY3RsIik7Cj4gK2ludCBub3V2ZWF1X3N0YWdpbmdfdGlsaW5nID0gMDsKPiAr bW9kdWxlX3BhcmFtX25hbWVkKHN0YWdpbmdfdGlsaW5nLCBub3V2ZWF1X3N0YWdpbmdfdGlsaW5n LCBpbnQsIDA2MDApOwo+ICsKPiAgIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBkcml2ZXJfc3R1 YjsKPiAgIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBkcml2ZXJfcGNpOwo+ICAgc3RhdGljIHN0 cnVjdCBkcm1fZHJpdmVyIGRyaXZlcl9wbGF0Zm9ybTsKPiBAQCAtODk3LDYgKzkwMSw3IEBAIG5v dXZlYXVfaW9jdGxzW10gPSB7Cj4gICAJRFJNX0lPQ1RMX0RFRl9EUlYoTk9VVkVBVV9HRU1fQ1BV X0ZJTkksIG5vdXZlYXVfZ2VtX2lvY3RsX2NwdV9maW5pLCBEUk1fVU5MT0NLRUR8RFJNX0FVVEh8 RFJNX1JFTkRFUl9BTExPVyksCj4gICAJRFJNX0lPQ1RMX0RFRl9EUlYoTk9VVkVBVV9HRU1fSU5G Tywgbm91dmVhdV9nZW1faW9jdGxfaW5mbywgRFJNX1VOTE9DS0VEfERSTV9BVVRIfERSTV9SRU5E RVJfQUxMT1cpLAo+ICAgCS8qIFN0YWdpbmcgaW9jdGxzICovCj4gKwlEUk1fSU9DVExfREVGX0RS VihOT1VWRUFVX0dFTV9TRVRfVElMSU5HLCBub3V2ZWF1X2dlbV9pb2N0bF9zZXRfdGlsaW5nLCBE Uk1fVU5MT0NLRUR8RFJNX0FVVEh8RFJNX1JFTkRFUl9BTExPVyksCj4gICB9Owo+Cj4gICBsb25n Cj4gQEAgLTEwMjksNiArMTAzNCw3IEBAIHN0YXRpYyB2b2lkIG5vdXZlYXVfZGlzcGxheV9vcHRp b25zKHZvaWQpCj4gICAJRFJNX0RFQlVHX0RSSVZFUigiLi4uIHJ1bnBtICAgICAgICA6ICVkXG4i LCBub3V2ZWF1X3J1bnRpbWVfcG0pOwo+ICAgCURSTV9ERUJVR19EUklWRVIoIi4uLiB2cmFtX3B1 c2hidWYgOiAlZFxuIiwgbm91dmVhdV92cmFtX3B1c2hidWYpOwo+ICAgCURSTV9ERUJVR19EUklW RVIoIi4uLiBwc3RhdGUgICAgICAgOiAlZFxuIiwgbm91dmVhdV9wc3RhdGUpOwo+ICsJRFJNX0RF QlVHX0RSSVZFUigiLi4uIHN0YWdpbmdfdGlsaW5nOiAlZFxuIiwgbm91dmVhdV9zdGFnaW5nX3Rp bGluZyk7Cj4gICB9Cj4KPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2X3BtX29wcyBub3V2ZWF1 X3BtX29wcyA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJtL25vdXZlYXUvbm91dmVhdV9nZW0uYyBiL2Ry bS9ub3V2ZWF1L25vdXZlYXVfZ2VtLmMKPiBpbmRleCAwZTY5MGJmMTlmYzkuLjBlNjk0NDk3OThh YSAxMDA2NDQKPiAtLS0gYS9kcm0vbm91dmVhdS9ub3V2ZWF1X2dlbS5jCj4gKysrIGIvZHJtL25v dXZlYXUvbm91dmVhdV9nZW0uYwo+IEBAIC0xNzIsNiArMTcyLDY0IEBAIG5vdXZlYXVfZ2VtX29i amVjdF9jbG9zZShzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbSwgc3RydWN0IGRybV9maWxlICpm aWxlX3ByaXYpCj4gICAJdHRtX2JvX3VucmVzZXJ2ZSgmbnZiby0+Ym8pOwo+ICAgfQo+Cj4gK2V4 dGVybiBpbnQgbm91dmVhdV9zdGFnaW5nX3RpbGluZzsKPiAraW50Cj4gK25vdXZlYXVfZ2VtX2lv Y3RsX3NldF90aWxpbmcoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiArCQkJ ICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKPiArewo+ICsJc3RydWN0IG5vdXZlYXVf ZHJtICpkcm0gPSBub3V2ZWF1X2RybShkZXYpOwo+ICsJc3RydWN0IG5vdXZlYXVfY2xpICpjbGkg PSBub3V2ZWF1X2NsaShmaWxlX3ByaXYpOwo+ICsJc3RydWN0IG52a21fZmIgKnBmYiA9IG52eHhf ZmIoJmRybS0+ZGV2aWNlKTsKPiArCXN0cnVjdCBkcm1fbm91dmVhdV9nZW1fc2V0X3RpbGluZyAq cmVxID0gZGF0YTsKPiArCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtOwo+ICsJc3RydWN0IG5v dXZlYXVfYm8gKm52Ym87Cj4gKwlzdHJ1Y3QgbnZrbV92bWEgKnZtYTsKPiArCWludCByZXQgPSAw Owo+ICsKPiArCWlmICghbm91dmVhdV9zdGFnaW5nX3RpbGluZykKPiArCQlyZXR1cm4gLUVJTlZB TDsKPiArCj4gKwlpZiAoIXBmYi0+bWVtdHlwZV92YWxpZChwZmIsIHJlcS0+dGlsZV9mbGFncykp IHsKPiArCQlOVl9QUklOVEsoZXJyb3IsIGNsaSwgImJhZCBwYWdlIGZsYWdzOiAweCUwOHhcbiIs IHJlcS0+dGlsZV9mbGFncyk7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJZ2Vt ID0gZHJtX2dlbV9vYmplY3RfbG9va3VwKGRldiwgZmlsZV9wcml2LCByZXEtPmhhbmRsZSk7Cj4g KwlpZiAoIWdlbSkKPiArCQlyZXR1cm4gLUVOT0VOVDsKPiArCj4gKwludmJvID0gbm91dmVhdV9n ZW1fb2JqZWN0KGdlbSk7Cj4gKwo+ICsJLyogV2UgY2FuIG9ubHkgY2hhbmdlIHRpbGluZyBvbiBQ UklNRS1pbXBvcnRlZCBidWZmZXJzICovCj4gKwlpZiAobnZiby0+Ym8udHlwZSAhPSB0dG1fYm9f dHlwZV9zZykgewo+ICsJCXJldCA9IC1FSU5WQUw7Cj4gKwkJZ290byBvdXQ7Cj4gKwl9Cj4gKwo+ ICsJaWYgKG52Ym8tPnRpbGVfbW9kZSAhPSByZXEtPnRpbGVfbW9kZSB8fAo+ICsJICAgIG52Ym8t PnRpbGVfZmxhZ3MgIT0gcmVxLT50aWxlX2ZsYWdzKSB7Cj4gKwkJcmV0ID0gdHRtX2JvX3Jlc2Vy dmUoJm52Ym8tPmJvLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBOVUxMKTsKPiArCQlpZiAocmV0KQo+ ICsJCQlnb3RvIG91dDsKPiArCj4gKwkJbnZiby0+dGlsZV9tb2RlID0gcmVxLT50aWxlX21vZGU7 Cj4gKwkJbnZiby0+dGlsZV9mbGFncyA9IHJlcS0+dGlsZV9mbGFnczsKPiArCj4gKwkJbm91dmVh dV9ib191cGRhdGVfdGlsaW5nKGRybSwgbnZibywgbnZiby0+Ym8ubWVtLm1tX25vZGUpOwo+ICsK PiArCQkvKiByZW1hcCBvdmVyIGV4aXN0aW5nIG1hcHBpbmcgd2l0aCBuZXcgdGlsZSBwYXJhbWV0 ZXJzICovCj4gKwkJdm1hID0gbm91dmVhdV9ib192bWFfZmluZChudmJvLCBjbGktPnZtKTsKPiAr CQlpZiAodm1hKQo+ICsJCQludmttX3ZtX21hcCh2bWEsIG52Ym8tPmJvLm1lbS5tbV9ub2RlKTsK PiArCj4gKwkJdHRtX2JvX3VucmVzZXJ2ZSgmbnZiby0+Ym8pOwo+ICsJfQo+ICsKPiArb3V0Ogo+ ICsJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2VfdW5sb2NrZWQoZ2VtKTsKPiArCXJldHVybiBy ZXQ7Cj4gK30KPiArCj4gICBpbnQKPiAgIG5vdXZlYXVfZ2VtX25ldyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBpbnQgc2l6ZSwgaW50IGFsaWduLCB1aW50MzJfdCBkb21haW4sCj4gICAJCXVpbnQz Ml90IHRpbGVfbW9kZSwgdWludDMyX3QgdGlsZV9mbGFncywKPiBkaWZmIC0tZ2l0IGEvZHJtL25v dXZlYXUvbm91dmVhdV9nZW0uaCBiL2RybS9ub3V2ZWF1L25vdXZlYXVfZ2VtLmgKPiBpbmRleCBl NDA0OWZhY2E3ODAuLjU2ZTc0MWQ5OGJjZCAxMDA2NDQKPiAtLS0gYS9kcm0vbm91dmVhdS9ub3V2 ZWF1X2dlbS5oCj4gKysrIGIvZHJtL25vdXZlYXUvbm91dmVhdV9nZW0uaAo+IEBAIC0yMyw2ICsy Myw4IEBAIGV4dGVybiB2b2lkIG5vdXZlYXVfZ2VtX29iamVjdF9kZWwoc3RydWN0IGRybV9nZW1f b2JqZWN0ICopOwo+ICAgZXh0ZXJuIGludCBub3V2ZWF1X2dlbV9vYmplY3Rfb3BlbihzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgKiwgc3RydWN0IGRybV9maWxlICopOwo+ICAgZXh0ZXJuIHZvaWQgbm91 dmVhdV9nZW1fb2JqZWN0X2Nsb3NlKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqLAo+ICAgCQkJCSAg ICAgc3RydWN0IGRybV9maWxlICopOwo+ICtleHRlcm4gaW50IG5vdXZlYXVfZ2VtX2lvY3RsX3Nl dF90aWxpbmcoc3RydWN0IGRybV9kZXZpY2UgKiwgdm9pZCAqLAo+ICsJCQkJCXN0cnVjdCBkcm1f ZmlsZSAqKTsKPiAgIGV4dGVybiBpbnQgbm91dmVhdV9nZW1faW9jdGxfbmV3KHN0cnVjdCBkcm1f ZGV2aWNlICosIHZvaWQgKiwKPiAgIAkJCQkgc3RydWN0IGRybV9maWxlICopOwo+ICAgZXh0ZXJu IGludCBub3V2ZWF1X2dlbV9pb2N0bF9wdXNoYnVmKHN0cnVjdCBkcm1fZGV2aWNlICosIHZvaWQg KiwKPiBkaWZmIC0tZ2l0IGEvZHJtL25vdXZlYXUvbm91dmVhdV90dG0uYyBiL2RybS9ub3V2ZWF1 L25vdXZlYXVfdHRtLmMKPiBpbmRleCAxOGY0NDk3MTU3ODguLmQ2ODAxNTNkYjZlNSAxMDA2NDQK PiAtLS0gYS9kcm0vbm91dmVhdS9ub3V2ZWF1X3R0bS5jCj4gKysrIGIvZHJtL25vdXZlYXUvbm91 dmVhdV90dG0uYwo+IEBAIC0xNzQsMTggKzE3NCw3IEBAIG5vdXZlYXVfZ2FydF9tYW5hZ2VyX25l dyhzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiwKPgo+ICAgCW5vZGUtPnBhZ2Vfc2hp ZnQgPSAxMjsKPgo+IC0Jc3dpdGNoIChkcm0tPmRldmljZS5pbmZvLmZhbWlseSkgewo+IC0JY2Fz ZSBOVl9ERVZJQ0VfSU5GT19WMF9URVNMQToKPiAtCQlpZiAoZHJtLT5kZXZpY2UuaW5mby5jaGlw c2V0ICE9IDB4NTApCj4gLQkJCW5vZGUtPm1lbXR5cGUgPSAobnZiby0+dGlsZV9mbGFncyAmIDB4 N2YwMCkgPj4gODsKPiAtCQlicmVhazsKPiAtCWNhc2UgTlZfREVWSUNFX0lORk9fVjBfRkVSTUk6 Cj4gLQljYXNlIE5WX0RFVklDRV9JTkZPX1YwX0tFUExFUjoKPiAtCQlub2RlLT5tZW10eXBlID0g KG52Ym8tPnRpbGVfZmxhZ3MgJiAweGZmMDApID4+IDg7Cj4gLQkJYnJlYWs7Cj4gLQlkZWZhdWx0 Ogo+IC0JCWJyZWFrOwo+IC0JfQo+ICsJbm91dmVhdV9ib191cGRhdGVfdGlsaW5nKGRybSwgbnZi bywgbm9kZSk7Cj4KPiAgIAltZW0tPm1tX25vZGUgPSBub2RlOwo+ICAgCW1lbS0+c3RhcnQgICA9 IDA7Cj4gZGlmZiAtLWdpdCBhL2RybS9ub3V2ZWF1L3VhcGkvZHJtL25vdXZlYXVfZHJtLmggYi9k cm0vbm91dmVhdS91YXBpL2RybS9ub3V2ZWF1X2RybS5oCj4gaW5kZXggNGU3ZTIxZjQxYjVjLi44 ZjEwYjE2YjE0NzMgMTAwNjQ0Cj4gLS0tIGEvZHJtL25vdXZlYXUvdWFwaS9kcm0vbm91dmVhdV9k cm0uaAo+ICsrKyBiL2RybS9ub3V2ZWF1L3VhcGkvZHJtL25vdXZlYXVfZHJtLmgKPiBAQCAtNjQs NiArNjQsMTIgQEAgc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9uZXcgewo+ICAgCXVpbnQzMl90IGFs aWduOwo+ICAgfTsKPgo+ICtzdHJ1Y3QgZHJtX25vdXZlYXVfZ2VtX3NldF90aWxpbmcgewo+ICsJ dWludDMyX3QgaGFuZGxlOwo+ICsJdWludDMyX3QgdGlsZV9tb2RlOwo+ICsJdWludDMyX3QgdGls ZV9mbGFnczsKPiArfTsKPiArCj4gICAjZGVmaW5lIE5PVVZFQVVfR0VNX01BWF9CVUZGRVJTIDEw MjQKPiAgIHN0cnVjdCBkcm1fbm91dmVhdV9nZW1fcHVzaGJ1Zl9ib19wcmVzdW1lZCB7Cj4gICAJ dWludDMyX3QgdmFsaWQ7Cj4gQEAgLTE0Miw2ICsxNDgsNyBAQCBzdHJ1Y3QgZHJtX25vdXZlYXVf Z2VtX2NwdV9maW5pIHsKPiAgICNkZWZpbmUgRFJNX05PVVZFQVVfR0VNX0lORk8gICAgICAgICAg IDB4NDQKPiAgIC8qIHJhbmdlIDB4OTguLkRSTV9DT01NQU5EX0VORCAoOCBlbnRyaWVzKSBpcyBy ZXNlcnZlZCBmb3Igc3RhZ2luZywgdW5zdGFibGUgaW9jdGxzICovCj4gICAjZGVmaW5lIERSTV9O T1VWRUFVX1NUQUdJTkdfSU9DVEwgICAgICAweDU4Cj4gKyNkZWZpbmUgRFJNX05PVVZFQVVfR0VN X1NFVF9USUxJTkcgICAgIChEUk1fTk9VVkVBVV9TVEFHSU5HX0lPQ1RMICsgMHgwKQo+Cj4gICAj ZGVmaW5lIERSTV9JT0NUTF9OT1VWRUFVX0dFTV9ORVcgICAgICAgICAgICBEUk1fSU9XUihEUk1f Q09NTUFORF9CQVNFICsgRFJNX05PVVZFQVVfR0VNX05FVywgc3RydWN0IGRybV9ub3V2ZWF1X2dl bV9uZXcpCj4gICAjZGVmaW5lIERSTV9JT0NUTF9OT1VWRUFVX0dFTV9QVVNIQlVGICAgICAgICBE Uk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX05PVVZFQVVfR0VNX1BVU0hCVUYsIHN0cnVj dCBkcm1fbm91dmVhdV9nZW1fcHVzaGJ1ZikKPiBAQCAtMTQ5LDUgKzE1Niw2IEBAIHN0cnVjdCBk cm1fbm91dmVhdV9nZW1fY3B1X2Zpbmkgewo+ICAgI2RlZmluZSBEUk1fSU9DVExfTk9VVkVBVV9H RU1fQ1BVX0ZJTkkgICAgICAgRFJNX0lPVyAoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9OT1VWRUFV X0dFTV9DUFVfRklOSSwgc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9jcHVfZmluaSkKPiAgICNkZWZp bmUgRFJNX0lPQ1RMX05PVVZFQVVfR0VNX0lORk8gICAgICAgICAgIERSTV9JT1dSKERSTV9DT01N QU5EX0JBU0UgKyBEUk1fTk9VVkVBVV9HRU1fSU5GTywgc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9p bmZvKQo+ICAgLyogc3RhZ2luZyBpb2N0bHMgKi8KPiArI2RlZmluZSBEUk1fSU9DVExfTk9VVkVB VV9HRU1fU0VUX1RJTElORyAgICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9OT1VW RUFVX0dFTV9TRVRfVElMSU5HLCBzdHJ1Y3QgZHJtX25vdXZlYXVfZ2VtX3NldF90aWxpbmcpCj4K PiAgICNlbmRpZiAvKiBfX05PVVZFQVVfRFJNX0hfXyAqLwo+CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOb3V2ZWF1IG1haWxpbmcgbGlzdApOb3V2ZWF1 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vbm91dmVhdQo=