From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [DPU PATCH 04/11] drm/msm/dpu: create new platform driver for dpu device Date: Thu, 10 May 2018 11:00:48 -0400 Message-ID: <20180510150048.GC33053@art_vandelay> References: <1525940985-30428-1-git-send-email-ryadav@codeaurora.org> <1525940985-30428-5-git-send-email-ryadav@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1525940985-30428-5-git-send-email-ryadav-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Rajesh Yadav Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gVGh1LCBNYXkgMTAsIDIwMTggYXQgMDE6NTk6MzhQTSArMDUzMCwgUmFqZXNoIFlhZGF2IHdy b3RlOgo+IEN1cnJlbnQgTVNNIGRpc3BsYXkgY29udHJvbGxlciBIVyBtYXRjaGVzIGEgdHJlZSBs aWtlCj4gaGllcmFyY2h5IHdoZXJlIE1EU1MgdG9wIGxldmVsIHdyYXBwZXIgaXMgcGFyZW50IGRl dmljZQo+IGFuZCBtZHA1L2RwdSwgZHNpLCBkcCBhcmUgY2hpbGQgZGV2aWNlcy4KPiAKPiBFYWNo IGNoaWxkIGRldmljZSBsaWtlIG1kcDUsIGRzaSBldGMuIGhhdmUgYSBzZXBhcmF0ZSBkcml2ZXIs Cj4gYnV0IGN1cnJlbnRseSBkcHUgaGFuZGxpbmcgaXMgdGllZCB0byBhIHNpbmdsZSBkcml2ZXIg d2hpY2gKPiB3YXMgbWFuYWdpbmcgYm90aCBtZHNzIGFuZCBkcHUgcmVzb3VyY2VzLgo+IAo+IElu b3JkZXIgdG8gaGF2ZSB0aGUgY2xlYW5lciBvbmUgdG8gb25lIGRldmljZSBhbmQgZHJpdmVyCj4g YXNzb2NpYXRpb24sIHRoaXMgY2hhbmdlIGFkZHMgYSBuZXcgcGxhdGZvcm1fZHJpdmVyIGZvciBk cHUKPiBjaGlsZCBkZXZpY2Ugbm9kZSB3aGljaCBpbXBsZW1lbnRzIHRoZSBrbXMgZnVuY3Rpb25h bGl0eS4KPiAKPiBUaGUgZHB1IGRyaXZlciBpbXBsZW1lbnRzIHJ1bnRpbWVfcG0gc3VwcG9ydCBm b3IgbWFuYWdpbmcgY2xvY2tzCj4gYW5kIGJ1cyBiYW5kd2lkdGggZXRjLgo+IAo+IFNpZ25lZC1v ZmYtYnk6IFJhamVzaCBZYWRhdiA8cnlhZGF2QGNvZGVhdXJvcmEub3JnPgo+IC0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMgfCAyNTEgKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2tt cy5oIHwgICA0ICsKPiAgZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMgICAgICAgICAgIHwg ICAyICsKPiAgZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmggICAgICAgICAgIHwgICAzICsK PiAgNCBmaWxlcyBjaGFuZ2VkLCAyMTQgaW5zZXJ0aW9ucygrKSwgNDYgZGVsZXRpb25zKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYwo+IGluZGV4IGU0YWI3NTMu LjJjZDUxZmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2ttcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jCj4g QEAgLTEwMzAsMTQgKzEwMzAsMTMgQEAgc3RhdGljIGxvbmcgZHB1X2ttc19yb3VuZF9waXhjbGso c3RydWN0IG1zbV9rbXMgKmttcywgdW5zaWduZWQgbG9uZyByYXRlLAo+ICAJcmV0dXJuIHJhdGU7 Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIF9kcHVfa21zX2h3X2Rlc3Ryb3koc3RydWN0IGRwdV9r bXMgKmRwdV9rbXMsCj4gLQkJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiArc3RhdGlj IHZvaWQgX2RwdV9rbXNfaHdfZGVzdHJveShzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcykKPiAgewo+ ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldjsKPiAgCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnBy aXY7Cj4gIAlpbnQgaTsKPiAgCj4gLQlpZiAoIWRwdV9rbXMgfHwgIXBkZXYpCj4gKwlpZiAoIWRw dV9rbXMpCgpUaGlzIGlzbid0IHBvc3NpYmxlLCBwbGVhc2UgcmVtb3ZlLgoKPiAgCQlyZXR1cm47 Cj4gIAo+ICAJZGV2ID0gZHB1X2ttcy0+ZGV2Owo+IEBAIC0xMDkxLDE1ICsxMDkwLDE1IEBAIHN0 YXRpYyB2b2lkIF9kcHVfa21zX2h3X2Rlc3Ryb3koc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMsCj4g IAlkcHVfa21zLT5jb3JlX2NsaWVudCA9IE5VTEw7Cj4gIAo+ICAJaWYgKGRwdV9rbXMtPnZiaWZb VkJJRl9OUlRdKQo+IC0JCW1zbV9pb3VubWFwKHBkZXYsIGRwdV9rbXMtPnZiaWZbVkJJRl9OUlRd KTsKPiArCQltc21faW91bm1hcChkcHVfa21zLT5wZGV2LCBkcHVfa21zLT52YmlmW1ZCSUZfTlJU XSk7Cj4gIAlkcHVfa21zLT52YmlmW1ZCSUZfTlJUXSA9IE5VTEw7Cj4gIAo+ICAJaWYgKGRwdV9r bXMtPnZiaWZbVkJJRl9SVF0pCj4gLQkJbXNtX2lvdW5tYXAocGRldiwgZHB1X2ttcy0+dmJpZltW QklGX1JUXSk7Cj4gKwkJbXNtX2lvdW5tYXAoZHB1X2ttcy0+cGRldiwgZHB1X2ttcy0+dmJpZltW QklGX1JUXSk7Cj4gIAlkcHVfa21zLT52YmlmW1ZCSUZfUlRdID0gTlVMTDsKPiAgCj4gIAlpZiAo ZHB1X2ttcy0+bW1pbykKPiAtCQltc21faW91bm1hcChwZGV2LCBkcHVfa21zLT5tbWlvKTsKPiAr CQltc21faW91bm1hcChkcHVfa21zLT5wZGV2LCBkcHVfa21zLT5tbWlvKTsKPiAgCWRwdV9rbXMt Pm1taW8gPSBOVUxMOwo+ICAKPiAgCWRwdV9yZWdfZG1hX2RlaW5pdCgpOwoKPHNuaXAgLz4KCj4g K3N0YXRpYyB2b2lkIGRwdV9kZXN0cm95KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4g K3sKPiArCXN0cnVjdCBkcHVfa21zICpkcHVfa21zID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRl dik7Cj4gKwlzdHJ1Y3QgZHNzX21vZHVsZV9wb3dlciAqbXAgPSAmZHB1X2ttcy0+bXA7Cj4gKwo+ ICsJbXNtX2Rzc19wdXRfY2xrKG1wLT5jbGtfY29uZmlnLCBtcC0+bnVtX2Nsayk7Cj4gKwlkZXZt X2tmcmVlKCZwZGV2LT5kZXYsIG1wLT5jbGtfY29uZmlnKTsKPiArCW1wLT5udW1fY2xrID0gMDsK PiArCj4gKwlpZiAoZHB1X2ttcy0+cnBtX2VuYWJsZWQpCj4gKwkJcG1fcnVudGltZV9kaXNhYmxl KCZwZGV2LT5kZXYpOwo+ICsKPiArCWRldm1fa2ZyZWUoJnBkZXYtPmRldiwgZHB1X2ttcyk7Cgpk ZXZtX2tmcmVlcyBhcmUgbm90IG5lY2Vzc2FyeQoKPiArfQo+ICAKPiAtCWRwdV9rbXMgPSBremFs bG9jKHNpemVvZigqZHB1X2ttcyksIEdGUF9LRVJORUwpOwo+ICtzdGF0aWMgaW50IGRwdV9pbml0 KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4g K3sKPiArCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ ICsJc3RydWN0IGRwdV9rbXMgKmRwdV9rbXM7Cj4gKwlzdHJ1Y3QgZHNzX21vZHVsZV9wb3dlciAq bXA7Cj4gKwlpbnQgcmV0ID0gMDsKPiArCj4gKwlkcHVfa21zID0gZGV2bV9remFsbG9jKCZwZGV2 LT5kZXYsIHNpemVvZigqZHB1X2ttcyksIEdGUF9LRVJORUwpOwo+ICAJaWYgKCFkcHVfa21zKSB7 Cj4gIAkJRFBVX0VSUk9SKCJmYWlsZWQgdG8gYWxsb2NhdGUgZHB1IGttc1xuIik7Cj4gLQkJcmV0 dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gKwl9Cj4gKwo+ICsJ bXAgPSAmZHB1X2ttcy0+bXA7Cj4gKwlyZXQgPSBtc21fZHNzX3BhcnNlX2Nsb2NrKHBkZXYsIG1w KTsKPiArCWlmIChyZXQpIHsKPiArCQlEUFVfRVJST1IoImZhaWxlZCB0byBwYXJzZSBjbG9ja3Ms IHJldD0lZFxuIiwgcmV0KTsKPiArCQlnb3RvIGNsa19wYXJzZV9lcnJvcjsKPiArCX0KPiArCj4g KwlyZXQgPSBtc21fZHNzX2dldF9jbGsoJnBkZXYtPmRldiwgbXAtPmNsa19jb25maWcsIG1wLT5u dW1fY2xrKTsKPiArCWlmIChyZXQpIHsKPiArCQlwcl9lcnIoImZhaWxlZCB0byBnZXQgY2xvY2tz LCByZXQ9JWRcbiIsIHJldCk7Cj4gKwkJZ290byBjbGtfZ2V0X2Vycm9yOwo+ICsJfQo+ICsKPiAr CXJldCA9IG1zbV9kc3NfY2xrX3NldF9yYXRlKG1wLT5jbGtfY29uZmlnLCBtcC0+bnVtX2Nsayk7 Cj4gKwlpZiAocmV0KSB7Cj4gKwkJcHJfZXJyKCJmYWlsZWQgdG8gc2V0IGNsb2NrIHJhdGUsIHJl dD0lZFxuIiwgcmV0KTsKPiArCQlnb3RvIGNsa19yYXRlX2Vycm9yOwo+ICAJfQo+ICAKPiArCXBs YXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGRwdV9rbXMpOwo+ICsKPiAgCW1zbV9rbXNfaW5pdCgm ZHB1X2ttcy0+YmFzZSwgJmttc19mdW5jcyk7Cj4gIAlkcHVfa21zLT5kZXYgPSBkZXY7Cj4gLQlk cHVfa21zLT5iYXNlLmlycSA9IGlycTsKPiArCWRwdV9rbXMtPnBkZXYgPSBwZGV2Owo+ICAKPiAt CXJldHVybiAmZHB1X2ttcy0+YmFzZTsKPiArCXBtX3J1bnRpbWVfZW5hYmxlKCZwZGV2LT5kZXYp Owo+ICsJZHB1X2ttcy0+cnBtX2VuYWJsZWQgPSB0cnVlOwo+ICsKPiArCXByaXYtPmttcyA9ICZk cHVfa21zLT5iYXNlOwo+ICsKPiArCXJldHVybiByZXQ7Cj4gKwo+ICtjbGtfcmF0ZV9lcnJvcjoK PiArCW1zbV9kc3NfcHV0X2NsayhtcC0+Y2xrX2NvbmZpZywgbXAtPm51bV9jbGspOwo+ICtjbGtf Z2V0X2Vycm9yOgo+ICsJZGV2bV9rZnJlZSgmcGRldi0+ZGV2LCBtcC0+Y2xrX2NvbmZpZyk7Cj4g KwltcC0+bnVtX2NsayA9IDA7Cj4gK2Nsa19wYXJzZV9lcnJvcjoKPiArCWRldm1fa2ZyZWUoJnBk ZXYtPmRldiwgZHB1X2ttcyk7Cj4gKwo+ICsJcmV0dXJuIHJldDsKPiArfQo+ICsKPiArc3RhdGlj IGludCBkcHVfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwg dm9pZCAqZGF0YSkKPiArewo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRkZXYgPSBkZXZfZ2V0X2Ry dmRhdGEobWFzdGVyKTsKPiArCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSB0b19wbGF0 Zm9ybV9kZXZpY2UoZGV2KTsKPiArCj4gKwlyZXR1cm4gZHB1X2luaXQocGRldiwgZGRldik7CgpO byBuZWVkIHRvIGhhdmUgZHB1X2luaXQgc2VwYXJhdGUsIGp1c3QgbW92ZSBpdHMgY29udGVudHMg aW5saW5lLgoKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgZHB1X3VuYmluZChzdHJ1Y3QgZGV2aWNl ICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKPiArewo+ICsJc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldiA9IHRvX3BsYXRmb3JtX2RldmljZShkZXYpOwo+ICsKPiAr CWRwdV9kZXN0cm95KHBkZXYpOwoKU2FtZSBoZXJlLgoKPiArfQo+ICsKPiArc3RhdGljIGNvbnN0 IHN0cnVjdCBjb21wb25lbnRfb3BzIGRwdV9vcHMgPSB7Cj4gKwkuYmluZCAgID0gZHB1X2JpbmQs Cj4gKwkudW5iaW5kID0gZHB1X3VuYmluZCwKPiArfTsKPiArCj4gK3N0YXRpYyBpbnQgZHB1X2Rl dl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICt7Cj4gKwlyZXR1cm4gY29t cG9uZW50X2FkZCgmcGRldi0+ZGV2LCAmZHB1X29wcyk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQg ZHB1X2Rldl9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiArewo+ICsJY29t cG9uZW50X2RlbCgmcGRldi0+ZGV2LCAmZHB1X29wcyk7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsK PiArc3RhdGljIGludCBkcHVfcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiAr ewo+ICsJaW50IHJjID0gLTE7Cj4gKwlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gdG9f cGxhdGZvcm1fZGV2aWNlKGRldik7Cj4gKwlzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcyA9IHBsYXRm b3JtX2dldF9kcnZkYXRhKHBkZXYpOwo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRkZXY7Cj4gKwlz dHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2Owo+ICsJc3RydWN0IGRzc19tb2R1bGVfcG93ZXIg Km1wID0gJmRwdV9rbXMtPm1wOwo+ICsKPiArCWRkZXYgPSBkcHVfa21zLT5kZXY7Cj4gKwlpZiAo IWRkZXYpIHsKPiArCQlEUFVfRVJST1IoImludmFsaWQgZHJtX2RldmljZVxuIik7Cj4gKwkJZ290 byBleGl0Owo+ICsJfQo+ICsJcHJpdiA9IGRkZXYtPmRldl9wcml2YXRlOwo+ICsKPiArCXJjID0g ZHB1X3Bvd2VyX3Jlc291cmNlX2VuYWJsZSgmcHJpdi0+cGhhbmRsZSwKPiArCQlkcHVfa21zLT5j b3JlX2NsaWVudCwgZmFsc2UpOwo+ICsJaWYgKHJjKQo+ICsJCURQVV9FUlJPUigicmVzb3VyY2Ug ZGlzYWJsZSBmYWlsZWQ6ICVkXG4iLCByYyk7Cj4gKwo+ICsJcmMgPSBtc21fZHNzX2VuYWJsZV9j bGsobXAtPmNsa19jb25maWcsIG1wLT5udW1fY2xrLCBmYWxzZSk7Cj4gKwlpZiAocmMpCj4gKwkJ RFBVX0VSUk9SKCJjbG9jayBkaXNhYmxlIGZhaWxlZCByYzolZFxuIiwgcmMpOwo+ICsKPiArZXhp dDoKPiArCXJldHVybiByYzsKPiArfQo+ICsKPiArc3RhdGljIGludCBkcHVfcnVudGltZV9yZXN1 bWUoc3RydWN0IGRldmljZSAqZGV2KQo+ICt7Cj4gKwlpbnQgcmMgPSAtMTsKPiArCXN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSB0b19wbGF0Zm9ybV9kZXZpY2UoZGV2KTsKPiArCXN0cnVj dCBkcHVfa21zICpkcHVfa21zID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Cj4gKwlzdHJ1 Y3QgZHJtX2RldmljZSAqZGRldjsKPiArCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXY7Cj4g KwlzdHJ1Y3QgZHNzX21vZHVsZV9wb3dlciAqbXAgPSAmZHB1X2ttcy0+bXA7Cj4gKwo+ICsJZGRl diA9IGRwdV9rbXMtPmRldjsKPiArCWlmICghZGRldikgewo+ICsJCURQVV9FUlJPUigiaW52YWxp ZCBkcm1fZGV2aWNlXG4iKTsKPiArCQlnb3RvIGV4aXQ7Cj4gKwl9Cj4gKwlwcml2ID0gZGRldi0+ ZGV2X3ByaXZhdGU7Cj4gKwo+ICsJcmMgPSBtc21fZHNzX2VuYWJsZV9jbGsobXAtPmNsa19jb25m aWcsIG1wLT5udW1fY2xrLCB0cnVlKTsKPiArCWlmIChyYykgewo+ICsJCURQVV9FUlJPUigiY2xv Y2sgZW5hYmxlIGZhaWxlZCByYzolZFxuIiwgcmMpOwo+ICsJCWdvdG8gZXhpdDsKPiArCX0KPiAr Cj4gKwlyYyA9IGRwdV9wb3dlcl9yZXNvdXJjZV9lbmFibGUoJnByaXYtPnBoYW5kbGUsIGRwdV9r bXMtPmNvcmVfY2xpZW50LAo+ICsJCXRydWUpOwo+ICsJaWYgKHJjKQo+ICsJCURQVV9FUlJPUigi cmVzb3VyY2UgZW5hYmxlIGZhaWxlZDogJWRcbiIsIHJjKTsKPiArCj4gK2V4aXQ6Cj4gKwlyZXR1 cm4gcmM7Cj4gK30KPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2X3BtX29wcyBkcHVfcG1f b3BzID0gewo+ICsJU0VUX1JVTlRJTUVfUE1fT1BTKGRwdV9ydW50aW1lX3N1c3BlbmQsIGRwdV9y dW50aW1lX3Jlc3VtZSwgTlVMTCkKPiArfTsKPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2Zf ZGV2aWNlX2lkIGRwdV9kdF9tYXRjaFtdID0gewo+ICsJeyAuY29tcGF0aWJsZSA9ICJxY29tLGRw dSIsIH0sCgpVcGRhdGUgdGhlIGR0IGJpbmRpbmdzPwoKPiArCXt9Cj4gK307Cj4gK01PRFVMRV9E RVZJQ0VfVEFCTEUob2YsIGRwdV9kdF9tYXRjaCk7Cj4gKwo+ICtzdGF0aWMgc3RydWN0IHBsYXRm b3JtX2RyaXZlciBkcHVfZHJpdmVyID0gewo+ICsJLnByb2JlID0gZHB1X2Rldl9wcm9iZSwKPiAr CS5yZW1vdmUgPSBkcHVfZGV2X3JlbW92ZSwKPiArCS5kcml2ZXIgPSB7Cj4gKwkJLm5hbWUgPSAi bXNtX2RwdSIsCj4gKwkJLm9mX21hdGNoX3RhYmxlID0gZHB1X2R0X21hdGNoLAo+ICsJCS5wbSA9 ICZkcHVfcG1fb3BzLAo+ICsJfSwKPiArfTsKPiArCj4gK3ZvaWQgX19pbml0IG1zbV9kcHVfcmVn aXN0ZXIodm9pZCkKPiArewo+ICsJcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZkcHVfZHJpdmVy KTsKPiArfQo+ICsKPiArdm9pZCBfX2V4aXQgbXNtX2RwdV91bnJlZ2lzdGVyKHZvaWQpCj4gK3sK PiArCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZkcHVfZHJpdmVyKTsKPiArfQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmggYi9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmgKPiBpbmRleCBhMWMwOTEwLi4zYzY5OTIx IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuaAo+IEBAIC0yMDAs NiArMjAwLDEwIEBAIHN0cnVjdCBkcHVfa21zIHsKPiAgCXN0cnVjdCBkcHVfaHdfbWRwICpod19t ZHA7Cj4gIAo+ICAJYm9vbCBoYXNfZGFuZ2VyX2N0cmw7Cj4gKwo+ICsJc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldjsKPiArCWJvb2wgcnBtX2VuYWJsZWQ7Cj4gKwlzdHJ1Y3QgZHNzX21vZHVs ZV9wb3dlciBtcDsKPiAgfTsKPiAgCj4gIHN0cnVjdCB2c3luY19pbmZvIHsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21z bV9kcnYuYwo+IGluZGV4IGEwZTczZWEuLjU0NzA1MjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL21zbS9tc21fZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYu Ywo+IEBAIC0xNzMxLDYgKzE3MzEsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBtc21fZHJtX3JlZ2lz dGVyKHZvaWQpCj4gIAo+ICAJREJHKCJpbml0Iik7Cj4gIAltc21fbWRwX3JlZ2lzdGVyKCk7Cj4g Kwltc21fZHB1X3JlZ2lzdGVyKCk7Cj4gIAltc21fZHNpX3JlZ2lzdGVyKCk7Cj4gIAltc21fZWRw X3JlZ2lzdGVyKCk7Cj4gIAltc21faGRtaV9yZWdpc3RlcigpOwo+IEBAIC0xNzQ3LDYgKzE3NDgs NyBAQCBzdGF0aWMgdm9pZCBfX2V4aXQgbXNtX2RybV91bnJlZ2lzdGVyKHZvaWQpCj4gIAltc21f ZWRwX3VucmVnaXN0ZXIoKTsKPiAgCW1zbV9kc2lfdW5yZWdpc3RlcigpOwo+ICAJbXNtX21kcF91 bnJlZ2lzdGVyKCk7Cj4gKwltc21fZHB1X3VucmVnaXN0ZXIoKTsKPiAgfQo+ICAKPiAgbW9kdWxl X2luaXQobXNtX2RybV9yZWdpc3Rlcik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9t c20vbXNtX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKPiBpbmRleCBlOGU1 ZTczLi4yMmEzMDk2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKPiBAQCAtNjgyLDYgKzY4Miw5 IEBAIHN0YXRpYyBpbmxpbmUgaW50IG1zbV9kc2lfbW9kZXNldF9pbml0KHN0cnVjdCBtc21fZHNp ICptc21fZHNpLAo+ICB2b2lkIF9faW5pdCBtc21fbWRwX3JlZ2lzdGVyKHZvaWQpOwo+ICB2b2lk IF9fZXhpdCBtc21fbWRwX3VucmVnaXN0ZXIodm9pZCk7Cj4gIAo+ICt2b2lkIF9faW5pdCBtc21f ZHB1X3JlZ2lzdGVyKHZvaWQpOwo+ICt2b2lkIF9fZXhpdCBtc21fZHB1X3VucmVnaXN0ZXIodm9p ZCk7Cj4gKwo+ICAjaWZkZWYgQ09ORklHX0RFQlVHX0ZTCj4gIHZvaWQgbXNtX2dlbV9kZXNjcmli ZShzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgc3RydWN0IHNlcV9maWxlICptKTsKPiAgdm9p ZCBtc21fZ2VtX2Rlc2NyaWJlX29iamVjdHMoc3RydWN0IGxpc3RfaGVhZCAqbGlzdCwgc3RydWN0 IHNlcV9maWxlICptKTsKPiAtLSAKPiBUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIElu Yy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVtLAo+IGEgTGludXggRm91bmRh dGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3QKPiAKCi0tIApTZWFuIFBhdWwsIFNvZnR3YXJlIEVu Z2luZWVyLCBHb29nbGUgLyBDaHJvbWl1bSBPUwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9mcmVlZHJlbm8K