From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: Re: [PATCH 6/6] drm/msm/gpu: add ocmem init/cleanup functions Date: Wed, 19 Jun 2019 12:15:26 -0600 Message-ID: <20190619181526.GC17590@jcrouse1-lnx.qualcomm.com> References: <20190616132930.6942-1-masneyb@onstation.org> <20190616132930.6942-7-masneyb@onstation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190616132930.6942-7-masneyb-1iNe0GrtECGEi8DpZVb4nw@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Brian Masney Cc: mark.rutland-5wv7dgnIgG8@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, jonathan-eSc4qw6YbEQ@public.gmane.org, airlied-cv59FeDIM0c@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, bjorn.andersson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, david.brown-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, agross-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, daniel-/w4YWyX8dFk@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org List-Id: dri-devel@lists.freedesktop.org T24gU3VuLCBKdW4gMTYsIDIwMTkgYXQgMDk6Mjk6MzBBTSAtMDQwMCwgQnJpYW4gTWFzbmV5IHdy b3RlOgo+IFRoZSBmaWxlcyBhM3h4X2dwdS5jIGFuZCBhNHh4X2dwdS5jIGhhdmUgaWZkZWZzIGZv ciB0aGUgT0NNRU0gc3VwcG9ydAo+IHRoYXQgd2FzIG1pc3NpbmcgdXBzdHJlYW0uIEFkZCB0d28g bmV3IGZ1bmN0aW9ucyAoYWRyZW5vX2dwdV9vY21lbV9pbml0Cj4gYW5kIGFkcmVub19ncHVfb2Nt ZW1fY2xlYW51cCkgdGhhdCByZW1vdmVzIHNvbWUgZHVwbGljYXRlZCBjb2RlLiBXZSBhbHNvCj4g bmVlZCB0byBjaGFuZ2UgdGhlIGlmZGVmIGNoZWNrIGZvciBDT05GSUdfTVNNX09DTUVNIHRvIENP TkZJR19RQ09NX09DTUVNCj4gbm93IHRoYXQgT0NNRU0gc3VwcG9ydCBpcyB1cHN0cmVhbS4KPiAK PiBTaWduZWQtb2ZmLWJ5OiBCcmlhbiBNYXNuZXkgPG1hc25leWJAb25zdGF0aW9uLm9yZz4KPiAt LS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTN4eF9ncHUuYyAgIHwgMzMgKysrKysr Ky0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTN4eF9ncHUuaCAg IHwgIDMgKy0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTR4eF9ncHUuYyAgIHwgMzAg KysrKysrLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E0eHhfZ3B1 LmggICB8ICAzICstCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2FkcmVub19ncHUuYyB8 IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL21zbS9hZHJl bm8vYWRyZW5vX2dwdS5oIHwgMTAgKysrKysrCj4gIDYgZmlsZXMgY2hhbmdlZCwgNzQgaW5zZXJ0 aW9ucygrKSwgNDYgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vYWRyZW5vL2EzeHhfZ3B1LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hM3h4 X2dwdS5jCj4gaW5kZXggYzNiNGJjNmU0MTU1Li43MjcyMGJiMmFjYTEgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTN4eF9ncHUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vYWRyZW5vL2EzeHhfZ3B1LmMKPiBAQCAtMTcsMTAgKzE3LDYgQEAKPiAgICogdGhp cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgo+ ICAgKi8KPiAgCj4gLSNpZmRlZiBDT05GSUdfTVNNX09DTUVNCj4gLSMgIGluY2x1ZGUgPG1hY2gv b2NtZW0uaD4KPiAtI2VuZGlmCj4gLQo+ICAjaW5jbHVkZSAiYTN4eF9ncHUuaCIKPiAgCj4gICNk ZWZpbmUgQTNYWF9JTlQwX01BU0sgXAo+IEBAIC0yMDYsOSArMjAyLDkgQEAgc3RhdGljIGludCBh M3h4X2h3X2luaXQoc3RydWN0IG1zbV9ncHUgKmdwdSkKPiAgCQlncHVfd3JpdGUoZ3B1LCBSRUdf QTNYWF9SQkJNX0dQUjBfQ1RMLCAweDAwMDAwMDAwKTsKPiAgCj4gIAkvKiBTZXQgdGhlIE9DTUVN IGJhc2UgYWRkcmVzcyBmb3IgQTMzMCwgZXRjICovCj4gLQlpZiAoYTN4eF9ncHUtPm9jbWVtX2hk bCkgewo+ICsJaWYgKGEzeHhfZ3B1LT5vY21lbS5oZGwpIHsKPiAgCQlncHVfd3JpdGUoZ3B1LCBS RUdfQTNYWF9SQl9HTUVNX0JBU0VfQUREUiwKPiAtCQkJKHVuc2lnbmVkIGludCkoYTN4eF9ncHUt Pm9jbWVtX2Jhc2UgPj4gMTQpKTsKPiArCQkJKHVuc2lnbmVkIGludCkoYTN4eF9ncHUtPm9jbWVt LmJhc2UgPj4gMTQpKTsKPiAgCX0KPiAgCj4gIAkvKiBUdXJuIG9uIHBlcmZvcm1hbmNlIGNvdW50 ZXJzOiAqLwo+IEBAIC0zMjksMTAgKzMyNSw3IEBAIHN0YXRpYyB2b2lkIGEzeHhfZGVzdHJveShz dHJ1Y3QgbXNtX2dwdSAqZ3B1KQo+ICAKPiAgCWFkcmVub19ncHVfY2xlYW51cChhZHJlbm9fZ3B1 KTsKPiAgCj4gLSNpZmRlZiBDT05GSUdfTVNNX09DTUVNCj4gLQlpZiAoYTN4eF9ncHUtPm9jbWVt X2Jhc2UpCj4gLQkJb2NtZW1fZnJlZShPQ01FTV9HUkFQSElDUywgYTN4eF9ncHUtPm9jbWVtX2hk bCk7Cj4gLSNlbmRpZgo+ICsJYWRyZW5vX2dwdV9vY21lbV9jbGVhbnVwKCZhM3h4X2dwdS0+b2Nt ZW0pOwo+ICAKPiAgCWtmcmVlKGEzeHhfZ3B1KTsKPiAgfQo+IEBAIC01MDcsMTcgKzUwMCwxMCBA QCBzdHJ1Y3QgbXNtX2dwdSAqYTN4eF9ncHVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ICAKPiAgCS8qIGlmIG5lZWRlZCwgYWxsb2NhdGUgZ21lbTogKi8KPiAgCWlmIChhZHJlbm9faXNf YTMzMChhZHJlbm9fZ3B1KSkgewo+IC0jaWZkZWYgQ09ORklHX01TTV9PQ01FTQo+IC0JCS8qIFRP RE8gdGhpcyBpcyBkaWZmZXJlbnQvbWlzc2luZyB1cHN0cmVhbTogKi8KPiAtCQlzdHJ1Y3Qgb2Nt ZW1fYnVmICpvY21lbV9oZGwgPQo+IC0JCQkJb2NtZW1fYWxsb2NhdGUoT0NNRU1fR1JBUEhJQ1Ms IGFkcmVub19ncHUtPmdtZW0pOwo+IC0KPiAtCQlhM3h4X2dwdS0+b2NtZW1faGRsID0gb2NtZW1f aGRsOwo+IC0JCWEzeHhfZ3B1LT5vY21lbV9iYXNlID0gb2NtZW1faGRsLT5hZGRyOwo+IC0JCWFk cmVub19ncHUtPmdtZW0gPSBvY21lbV9oZGwtPmxlbjsKPiAtCQlEQkcoInVzaW5nICVkSyBvZiBP Q01FTSBhdCAweCUwOHgiLCBhZHJlbm9fZ3B1LT5nbWVtIC8gMTAyNCwKPiAtCQkJCWEzeHhfZ3B1 LT5vY21lbV9iYXNlKTsKPiAtI2VuZGlmCj4gKwkJcmV0ID0gYWRyZW5vX2dwdV9vY21lbV9pbml0 KCZhZHJlbm9fZ3B1LT5iYXNlLnBkZXYtPmRldiwKPiArCQkJCQkgICAgYWRyZW5vX2dwdSwgJmEz eHhfZ3B1LT5vY21lbSk7Cj4gKwkJaWYgKHJldCkKPiArCQkJZ290byBmYWlsOwo+ICAJfQo+ICAK PiAgCWlmICghZ3B1LT5hc3BhY2UpIHsKPiBAQCAtNTMwLDExICs1MTYsMTQgQEAgc3RydWN0IG1z bV9ncHUgKmEzeHhfZ3B1X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQkgKi8KPiAg CQlEUk1fREVWX0VSUk9SKGRldi0+ZGV2LCAiTm8gbWVtb3J5IHByb3RlY3Rpb24gd2l0aG91dCBJ T01NVVxuIik7Cj4gIAkJcmV0ID0gLUVOWElPOwo+IC0JCWdvdG8gZmFpbDsKPiArCQlnb3RvIGZh aWxfY2xlYW51cF9vY21lbTsKPiAgCX0KPiAgCj4gIAlyZXR1cm4gZ3B1Owo+ICAKPiArZmFpbF9j bGVhbnVwX29jbWVtOgo+ICsJYWRyZW5vX2dwdV9vY21lbV9jbGVhbnVwKCZhM3h4X2dwdS0+b2Nt ZW0pOwo+ICsKPiAgZmFpbDoKPiAgCWlmIChhM3h4X2dwdSkKPiAgCQlhM3h4X2Rlc3Ryb3koJmEz eHhfZ3B1LT5iYXNlLmJhc2UpOwoKYTN4eF9kZXN0cm95IGlzIGdvaW5nIHRvIGhhdmUgdG8gYmUg YWJsZSB0byBjbGVhbnVwIHRoZSBvY21lbSBhbnl3YXksIHNvIHlvdQptaWdodCBhcyB3ZWxsIHN0 aWNrIGl0IGluIHRoZXJlIGluc3RlYWQgb2YgaGF2aW5nIGEgc2Vjb25kIGdvdG8gbGFiZWwuCgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hM3h4X2dwdS5oIGIvZHJp dmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTN4eF9ncHUuaAo+IGluZGV4IGFiNjBkYzllMzQ0ZS4u NzI3YzM0ZjM4ZjllIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2Ez eHhfZ3B1LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hM3h4X2dwdS5oCj4g QEAgLTMwLDggKzMwLDcgQEAgc3RydWN0IGEzeHhfZ3B1IHsKPiAgCXN0cnVjdCBhZHJlbm9fZ3B1 IGJhc2U7Cj4gIAo+ICAJLyogaWYgT0NNRU0gaXMgdXNlZCBmb3IgR01FTTogKi8KPiAtCXVpbnQz Ml90IG9jbWVtX2Jhc2U7Cj4gLQl2b2lkICpvY21lbV9oZGw7Cj4gKwlzdHJ1Y3QgYWRyZW5vX29j bWVtIG9jbWVtOwo+ICB9Owo+ICAjZGVmaW5lIHRvX2EzeHhfZ3B1KHgpIGNvbnRhaW5lcl9vZih4 LCBzdHJ1Y3QgYTN4eF9ncHUsIGJhc2UpCj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbXNtL2FkcmVuby9hNHh4X2dwdS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTR4 eF9ncHUuYwo+IGluZGV4IGFiMmI3NTI1NjZkOC4uYjhmODI1MTA3Nzk2IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E0eHhfZ3B1LmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL2FkcmVuby9hNHh4X2dwdS5jCj4gQEAgLTIsOSArMiw2IEBACj4gIC8qIENvcHly aWdodCAoYykgMjAxNCBUaGUgTGludXggRm91bmRhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K PiAgICovCj4gICNpbmNsdWRlICJhNHh4X2dwdS5oIgo+IC0jaWZkZWYgQ09ORklHX01TTV9PQ01F TQo+IC0jICBpbmNsdWRlIDxzb2MvcWNvbS9vY21lbS5oPgo+IC0jZW5kaWYKPiAgCj4gICNkZWZp bmUgQTRYWF9JTlQwX01BU0sgXAo+ICAJKEE0WFhfSU5UMF9SQkJNX0FIQl9FUlJPUiB8ICAgICAg ICBcCj4gQEAgLTE4OCw3ICsxODUsNyBAQCBzdGF0aWMgaW50IGE0eHhfaHdfaW5pdChzdHJ1Y3Qg bXNtX2dwdSAqZ3B1KQo+ICAJCQkoMSA8PCAzMCkgfCAweEZGRkYpOwo+ICAKPiAgCWdwdV93cml0 ZShncHUsIFJFR19BNFhYX1JCX0dNRU1fQkFTRV9BRERSLAo+IC0JCQkodW5zaWduZWQgaW50KShh NHh4X2dwdS0+b2NtZW1fYmFzZSA+PiAxNCkpOwo+ICsJCQkodW5zaWduZWQgaW50KShhNHh4X2dw dS0+b2NtZW0uYmFzZSA+PiAxNCkpOwo+ICAKPiAgCS8qIFR1cm4gb24gcGVyZm9ybWFuY2UgY291 bnRlcnM6ICovCj4gIAlncHVfd3JpdGUoZ3B1LCBSRUdfQTRYWF9SQkJNX1BFUkZDVFJfQ1RMLCAw eDAxKTsKPiBAQCAtMzE4LDEwICszMTUsNyBAQCBzdGF0aWMgdm9pZCBhNHh4X2Rlc3Ryb3koc3Ry dWN0IG1zbV9ncHUgKmdwdSkKPiAgCj4gIAlhZHJlbm9fZ3B1X2NsZWFudXAoYWRyZW5vX2dwdSk7 Cj4gIAo+IC0jaWZkZWYgQ09ORklHX01TTV9PQ01FTQo+IC0JaWYgKGE0eHhfZ3B1LT5vY21lbV9i YXNlKQo+IC0JCW9jbWVtX2ZyZWUoT0NNRU1fR1JBUEhJQ1MsIGE0eHhfZ3B1LT5vY21lbV9oZGwp Owo+IC0jZW5kaWYKPiArCWFkcmVub19ncHVfb2NtZW1fY2xlYW51cCgmYTR4eF9ncHUtPm9jbWVt KTsKPiAgCj4gIAlrZnJlZShhNHh4X2dwdSk7Cj4gIH0KPiBAQCAtNTc4LDE3ICs1NzIsMTAgQEAg c3RydWN0IG1zbV9ncHUgKmE0eHhfZ3B1X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAg Cj4gIAkvKiBpZiBuZWVkZWQsIGFsbG9jYXRlIGdtZW06ICovCj4gIAlpZiAoYWRyZW5vX2lzX2E0 eHgoYWRyZW5vX2dwdSkpIHsKPiAtI2lmZGVmIENPTkZJR19NU01fT0NNRU0KPiAtCQkvKiBUT0RP IHRoaXMgaXMgZGlmZmVyZW50L21pc3NpbmcgdXBzdHJlYW06ICovCj4gLQkJc3RydWN0IG9jbWVt X2J1ZiAqb2NtZW1faGRsID0KPiAtCQkJCW9jbWVtX2FsbG9jYXRlKE9DTUVNX0dSQVBISUNTLCBh ZHJlbm9fZ3B1LT5nbWVtKTsKPiAtCj4gLQkJYTR4eF9ncHUtPm9jbWVtX2hkbCA9IG9jbWVtX2hk bDsKPiAtCQlhNHh4X2dwdS0+b2NtZW1fYmFzZSA9IG9jbWVtX2hkbC0+YWRkcjsKPiAtCQlhZHJl bm9fZ3B1LT5nbWVtID0gb2NtZW1faGRsLT5sZW47Cj4gLQkJREJHKCJ1c2luZyAlZEsgb2YgT0NN RU0gYXQgMHglMDh4IiwgYWRyZW5vX2dwdS0+Z21lbSAvIDEwMjQsCj4gLQkJCQlhNHh4X2dwdS0+ b2NtZW1fYmFzZSk7Cj4gLSNlbmRpZgo+ICsJCXJldCA9IGFkcmVub19ncHVfb2NtZW1faW5pdChk ZXYtPmRldiwgYWRyZW5vX2dwdSwKPiArCQkJCQkgICAgJmE0eHhfZ3B1LT5vY21lbSk7Cj4gKwkJ aWYgKHJldCkKPiArCQkJZ290byBmYWlsOwo+ICAJfQo+ICAKPiAgCWlmICghZ3B1LT5hc3BhY2Up IHsKPiBAQCAtNjAxLDExICs1ODgsMTQgQEAgc3RydWN0IG1zbV9ncHUgKmE0eHhfZ3B1X2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQkgKi8KPiAgCQlEUk1fREVWX0VSUk9SKGRldi0+ ZGV2LCAiTm8gbWVtb3J5IHByb3RlY3Rpb24gd2l0aG91dCBJT01NVVxuIik7Cj4gIAkJcmV0ID0g LUVOWElPOwo+IC0JCWdvdG8gZmFpbDsKPiArCQlnb3RvIGZhaWxfY2xlYW51cF9vY21lbTsKPiAg CX0KPiAgCj4gIAlyZXR1cm4gZ3B1Owo+ICAKPiArZmFpbF9jbGVhbnVwX29jbWVtOgo+ICsJYWRy ZW5vX2dwdV9vY21lbV9jbGVhbnVwKCZhNHh4X2dwdS0+b2NtZW0pOwo+ICsKPiAgZmFpbDoKPiAg CWlmIChhNHh4X2dwdSkKPiAgCQlhNHh4X2Rlc3Ryb3koJmE0eHhfZ3B1LT5iYXNlLmJhc2UpOwoK QW5kIHNhbWUuCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNHh4 X2dwdS5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTR4eF9ncHUuaAo+IGluZGV4IGQ1 MDYzMTFlZTI0MC4uYTAxNDQ4Y2JhMmVhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9t c20vYWRyZW5vL2E0eHhfZ3B1LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9h NHh4X2dwdS5oCj4gQEAgLTE2LDggKzE2LDcgQEAgc3RydWN0IGE0eHhfZ3B1IHsKPiAgCXN0cnVj dCBhZHJlbm9fZ3B1IGJhc2U7Cj4gIAo+ICAJLyogaWYgT0NNRU0gaXMgdXNlZCBmb3IgR01FTTog Ki8KPiAtCXVpbnQzMl90IG9jbWVtX2Jhc2U7Cj4gLQl2b2lkICpvY21lbV9oZGw7Cj4gKwlzdHJ1 Y3QgYWRyZW5vX29jbWVtIG9jbWVtOwo+ICB9Owo+ICAjZGVmaW5lIHRvX2E0eHhfZ3B1KHgpIGNv bnRhaW5lcl9vZih4LCBzdHJ1Y3QgYTR4eF9ncHUsIGJhc2UpCj4gIAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmMgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2FkcmVuby9hZHJlbm9fZ3B1LmMKPiBpbmRleCA2ZjdmNDExNGFmY2YuLmUwYTk0MDljOGEz MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmMKPiBAQCAtMjks NiArMjksMTAgQEAKPiAgI2luY2x1ZGUgIm1zbV9nZW0uaCIKPiAgI2luY2x1ZGUgIm1zbV9tbXUu aCIKPiAgCj4gKyNpZmRlZiBDT05GSUdfUUNPTV9PQ01FTQoKWW91IHdvbid0IG5lZWQgYSBpZmRl ZiBoZXJlIGlmIHRoZSByZXN0IG9mIHRoZSBzdXBwb3J0IGlzIG1lcmdlZCB0b28uCgo+ICsjICBp bmNsdWRlIDxzb2MvcWNvbS9vY21lbS5oPgo+ICsjZW5kaWYKPiArCj4gIHN0YXRpYyBib29sIHph cF9hdmFpbGFibGUgPSB0cnVlOwo+ICAKPiAgc3RhdGljIGludCB6YXBfc2hhZGVyX2xvYWRfbWR0 KHN0cnVjdCBtc21fZ3B1ICpncHUsIGNvbnN0IGNoYXIgKmZ3bmFtZSwKPiBAQCAtODk3LDYgKzkw MSw0MyBAQCBzdGF0aWMgaW50IGFkcmVub19nZXRfcHdybGV2ZWxzKHN0cnVjdCBkZXZpY2UgKmRl diwKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+ICtpbnQgYWRyZW5vX2dwdV9vY21lbV9pbml0KHN0 cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGFkcmVub19ncHUgKmFkcmVub19ncHUsCj4gKwkJCSAg c3RydWN0IGFkcmVub19vY21lbSAqYWRyZW5vX29jbWVtKQo+ICt7Cj4gKyNpZmRlZiBDT05GSUdf UUNPTV9PQ01FTQoKU2FtZS4gSXQgc2hvdWxkIGJlIGFzc3VtZWQgdGhhdCB0aGUgZ2VuZXJpYyBv Y21lbSBmdW5jdGlvbnMgd2lsbCBiZSBwcm9wZXJseQpzdHViYmVkLiBJIHN1cHBvc2UgeW91IGhh dmUgYW4gYXJndW1lbnQgZm9yIHdhbnRpbmcgdG8gbm90IGNvbXBpbGUgaW4gdGhpcwpleHRyYSBj b2RlIGlmIGl0IGlzbid0IG5lZWRlZCwgYnV0IGlmIHNvIHlvdSdsbCB3YW50IHRvICNpZmRlZiB0 aGUgZW50aXJlCmZ1bmN0aW9uKHMpIGFuZCB1c2Ugc3R1YnMgaW4gdGhlIGluY2x1ZGUgZmlsZSBp bnN0ZWFkLgoKPiArCXN0cnVjdCBvY21lbV9idWYgKm9jbWVtX2hkbDsKPiArCXN0cnVjdCBvY21l bSAqb2NtZW07Cj4gKwo+ICsJb2NtZW0gPSBvZl9nZXRfb2NtZW0oZGV2KTsKPiArCWlmICghb2Nt ZW0pIHsKPiArCQkvKiBUaGlzIGlzIGFuIG9wdGlvbmFsIHByb3BlcnR5IHNvIHJldHVybiBzdWNj ZXNzLiAqLwo+ICsJCXJldHVybiAwOwo+ICsJfQo+ICsKPiArCW9jbWVtX2hkbCA9IG9jbWVtX2Fs bG9jYXRlKG9jbWVtLCBPQ01FTV9HUkFQSElDUywgYWRyZW5vX2dwdS0+Z21lbSk7Cj4gKwlpZiAo SVNfRVJSKG9jbWVtX2hkbCkpCj4gKwkJcmV0dXJuIFBUUl9FUlIob2NtZW1faGRsKTsKPiArCj4g KwlhZHJlbm9fb2NtZW0tPm9jbWVtID0gb2NtZW07Cj4gKwlhZHJlbm9fb2NtZW0tPmJhc2UgPSBv Y21lbV9oZGwtPmFkZHI7Cj4gKwlhZHJlbm9fb2NtZW0tPmhkbCA9IG9jbWVtX2hkbDsKPiArCWFk cmVub19ncHUtPmdtZW0gPSBvY21lbV9oZGwtPmxlbjsKPiArCURCRygidXNpbmcgJWRLIG9mIE9D TUVNIGF0IDB4JTA4eCIsIGFkcmVub19ncHUtPmdtZW0gLyAxMDI0LAo+ICsJICAgIGFkcmVub19v Y21lbS0+YmFzZSk7Cj4gKyNlbmRpZgo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICt2b2lk IGFkcmVub19ncHVfb2NtZW1fY2xlYW51cChzdHJ1Y3QgYWRyZW5vX29jbWVtICphZHJlbm9fb2Nt ZW0pCj4gK3sKPiArI2lmZGVmIENPTkZJR19RQ09NX09DTUVNCj4gKwlpZiAoYWRyZW5vX29jbWVt LT5iYXNlKQo+ICsJCW9jbWVtX2ZyZWUoYWRyZW5vX29jbWVtLT5vY21lbSwgT0NNRU1fR1JBUEhJ Q1MsCj4gKwkJCSAgIGFkcmVub19vY21lbS0+aGRsKTsKPiArI2VuZGlmCj4gK30KPiArCj4gIGlu dCBhZHJlbm9fZ3B1X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwgc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldiwKPiAgCQlzdHJ1Y3QgYWRyZW5vX2dwdSAqYWRyZW5vX2dwdSwKPiAgCQlj b25zdCBzdHJ1Y3QgYWRyZW5vX2dwdV9mdW5jcyAqZnVuY3MsIGludCBucl9yaW5ncykKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5vX2dwdS5oIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5vX2dwdS5oCj4gaW5kZXggMDkyNTYwNmVjOWI1Li4x Y2QxMTU3MDMyM2IgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRy ZW5vX2dwdS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5vX2dwdS5o Cj4gQEAgLTEzNiw2ICsxMzYsMTIgQEAgc3RydWN0IGFkcmVub19ncHUgewo+ICB9Owo+ICAjZGVm aW5lIHRvX2FkcmVub19ncHUoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBhZHJlbm9fZ3B1LCBi YXNlKQo+ICAKPiArc3RydWN0IGFkcmVub19vY21lbSB7Cj4gKwlzdHJ1Y3Qgb2NtZW0gKm9jbWVt Owo+ICsJdWludDMyX3QgYmFzZTsKPiArCXZvaWQgKmhkbDsKPiArfTsKPiArCj4gIC8qIHBsYXRm b3JtIGNvbmZpZyBkYXRhIChpZS4gZnJvbSBEVCwgb3IgcGRhdGEpICovCj4gIHN0cnVjdCBhZHJl bm9fcGxhdGZvcm1fY29uZmlnIHsKPiAgCXN0cnVjdCBhZHJlbm9fcmV2IHJldjsKPiBAQCAtMjQx LDYgKzI0NywxMCBAQCB2b2lkIGFkcmVub19kdW1wKHN0cnVjdCBtc21fZ3B1ICpncHUpOwo+ICB2 b2lkIGFkcmVub193YWl0X3Jpbmcoc3RydWN0IG1zbV9yaW5nYnVmZmVyICpyaW5nLCB1aW50MzJf dCBuZHdvcmRzKTsKPiAgc3RydWN0IG1zbV9yaW5nYnVmZmVyICphZHJlbm9fYWN0aXZlX3Jpbmco c3RydWN0IG1zbV9ncHUgKmdwdSk7Cj4gIAo+ICtpbnQgYWRyZW5vX2dwdV9vY21lbV9pbml0KHN0 cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGFkcmVub19ncHUgKmFkcmVub19ncHUsCj4gKwkJCSAg c3RydWN0IGFkcmVub19vY21lbSAqb2NtZW0pOwo+ICt2b2lkIGFkcmVub19ncHVfb2NtZW1fY2xl YW51cChzdHJ1Y3QgYWRyZW5vX29jbWVtICpvY21lbSk7Cj4gKwo+ICBpbnQgYWRyZW5vX2dwdV9p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYs Cj4gIAkJc3RydWN0IGFkcmVub19ncHUgKmdwdSwgY29uc3Qgc3RydWN0IGFkcmVub19ncHVfZnVu Y3MgKmZ1bmNzLAo+ICAJCWludCBucl9yaW5ncyk7Cj4gLS0gCj4gMi4yMC4xCgotLSAKVGhlIFF1 YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIENvZGUgQXVyb3Jh IEZvcnVtLAphIExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0Cl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5n IGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubw==