From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH 06/11] drm/msm/dpu: Cleanup callers of dpu_hw_blk_init Date: Tue, 6 Nov 2018 09:45:01 -0500 Message-ID: <20181106144501.GQ154160@art_vandelay> References: <20181105233103.7657-1-jcrouse@codeaurora.org> <20181105233103.7657-7-jcrouse@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: <20181105233103.7657-7-jcrouse-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: Jordan Crouse Cc: sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, bzwang-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gTW9uLCBOb3YgMDUsIDIwMTggYXQgMDQ6MzA6NThQTSAtMDcwMCwgSm9yZGFuIENyb3VzZSB3 cm90ZToKPiBPdXRzaWRlIG9mIHN1cGVyZmx1b3VzIHBhcmFtZXRlciBjaGVja3MgdGhlIGRwdV9o d19ibGtfaW5pdCgpCj4gZG9lc24ndCBoYXZlIGFueSBmYWlsdXJlIHBhdGhzLiBTd2l0Y2ggaXQg b3ZlciB0byBiZSBhIHZvaWQKPiBmdW5jdGlvbiBhbmQgd2UgY2FuIHJlbW92ZSBlcnJvciBoYW5k bGluZyBwYXRocyBpbiBhbGwgdGhlIGZ1bmN0aW9ucwo+IHRoYXQgY2FsbCBpdC4gV2hpbGUgd2Un cmUgaW4gdGhvc2UgZnVuY3Rpb25zIHJlbW92ZSB1bm5lZWRlZAo+IGluaXRpYWxpemF0aW9uIGZv ciBhIHN0YXRpYyB2YXJpYWJsZS4KPiAKPiB2MjogUmVtb3ZlZCBhIGNsZWFudXAgaW50ZW5kZWQg Zm9yIGEgZGlmZmVyZW50IHBhdGNoCj4gCj4gU2lnbmVkLW9mZi1ieTogSm9yZGFuIENyb3VzZSA8 amNyb3VzZUBjb2RlYXVyb3JhLm9yZz4KClJldmlld2VkLWJ5OiBTZWFuIFBhdWwgPHNlYW5AcG9v cmx5LnJ1bj4KCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19i bGsuYyAgICAgIHwgMTAgKy0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfaHdfYmxrLmggICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9od19jdGwuYyAgICAgIHwgMTcgKystLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2ludGYuYyAgICAgfCAxNyArKy0tLS0tLS0tLS0t LS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfbG0uYyAgICAgICB8 IDE3ICsrLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9od19waW5ncG9uZy5jIHwgMTcgKystLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuYyAgICAgfCAxNyArKy0tLS0tLS0tLS0tLS0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfdG9wLmMgICAgICB8IDE3ICsr LS0tLS0tLS0tLS0tLS0tCj4gIDggZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTAw IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfaHdfYmxrLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdf YmxrLmMKPiBpbmRleCA1OGQyOWU0M2ZhZWYuLjkyZjFjNDI0MWI5YSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfYmxrLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfYmxrLmMKPiBAQCAtMzAsMTYgKzMwLDEwIEBA IHN0YXRpYyBMSVNUX0hFQUQoZHB1X2h3X2Jsa19saXN0KTsKPiAgICogQHR5cGU6IGh3IGJsb2Nr IHR5cGUgLSBlbnVtIGRwdV9od19ibGtfdHlwZQo+ICAgKiBAaWQ6IGluc3RhbmNlIGlkIG9mIHRo ZSBodyBibG9jawo+ICAgKiBAb3BzOiBQb2ludGVyIHRvIGJsb2NrIG9wZXJhdGlvbnMKPiAtICog cmV0dXJuOiAwIGlmIHN1Y2Nlc3M7IGVycm9yIGNvZGUgb3RoZXJ3aXNlCj4gICAqLwo+IC1pbnQg ZHB1X2h3X2Jsa19pbml0KHN0cnVjdCBkcHVfaHdfYmxrICpod19ibGssIHUzMiB0eXBlLCBpbnQg aWQsCj4gK3ZvaWQgZHB1X2h3X2Jsa19pbml0KHN0cnVjdCBkcHVfaHdfYmxrICpod19ibGssIHUz MiB0eXBlLCBpbnQgaWQsCj4gIAkJc3RydWN0IGRwdV9od19ibGtfb3BzICpvcHMpCj4gIHsKPiAt CWlmICghaHdfYmxrKSB7Cj4gLQkJcHJfZXJyKCJpbnZhbGlkIHBhcmFtZXRlcnNcbiIpOwo+IC0J CXJldHVybiAtRUlOVkFMOwo+IC0JfQo+IC0KPiAgCUlOSVRfTElTVF9IRUFEKCZod19ibGstPmxp c3QpOwo+ICAJaHdfYmxrLT50eXBlID0gdHlwZTsKPiAgCWh3X2Jsay0+aWQgPSBpZDsKPiBAQCAt NTEsOCArNDUsNiBAQCBpbnQgZHB1X2h3X2Jsa19pbml0KHN0cnVjdCBkcHVfaHdfYmxrICpod19i bGssIHUzMiB0eXBlLCBpbnQgaWQsCj4gIAltdXRleF9sb2NrKCZkcHVfaHdfYmxrX2xvY2spOwo+ ICAJbGlzdF9hZGQoJmh3X2Jsay0+bGlzdCwgJmRwdV9od19ibGtfbGlzdCk7Cj4gIAltdXRleF91 bmxvY2soJmRwdV9od19ibGtfbG9jayk7Cj4gLQo+IC0JcmV0dXJuIDA7Cj4gIH0KPiAgCj4gIC8q Kgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfYmxr LmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfYmxrLmgKPiBpbmRleCAw ZjRjYThhZjFlYzUuLjE5MzRjMmY3ZThmYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfaHdfYmxrLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfaHdfYmxrLmgKPiBAQCAtNDQsNyArNDQsNyBAQCBzdHJ1Y3QgZHB1X2h3X2Js ayB7Cj4gIAlzdHJ1Y3QgZHB1X2h3X2Jsa19vcHMgb3BzOwo+ICB9Owo+ICAKPiAtaW50IGRwdV9o d19ibGtfaW5pdChzdHJ1Y3QgZHB1X2h3X2JsayAqaHdfYmxrLCB1MzIgdHlwZSwgaW50IGlkLAo+ ICt2b2lkIGRwdV9od19ibGtfaW5pdChzdHJ1Y3QgZHB1X2h3X2JsayAqaHdfYmxrLCB1MzIgdHlw ZSwgaW50IGlkLAo+ICAJCXN0cnVjdCBkcHVfaHdfYmxrX29wcyAqb3BzKTsKPiAgdm9pZCBkcHVf aHdfYmxrX2Rlc3Ryb3koc3RydWN0IGRwdV9od19ibGsgKmh3X2Jsayk7Cj4gIAo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfY3RsLmMgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfY3RsLmMKPiBpbmRleCA0YWFiMDQzMzVjNmQu LjEwNjhiNGI3OTQwZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfaHdfY3RsLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf aHdfY3RsLmMKPiBAQCAtNDgzLDEwICs0ODMsNyBAQCBzdGF0aWMgdm9pZCBfc2V0dXBfY3RsX29w cyhzdHJ1Y3QgZHB1X2h3X2N0bF9vcHMgKm9wcywKPiAgCW9wcy0+Z2V0X2JpdG1hc2tfaW50ZiA9 IGRwdV9od19jdGxfZ2V0X2JpdG1hc2tfaW50ZjsKPiAgfTsKPiAgCj4gLXN0YXRpYyBzdHJ1Y3Qg ZHB1X2h3X2Jsa19vcHMgZHB1X2h3X29wcyA9IHsKPiAtCS5zdGFydCA9IE5VTEwsCj4gLQkuc3Rv cCA9IE5VTEwsCj4gLX07Cj4gK3N0YXRpYyBzdHJ1Y3QgZHB1X2h3X2Jsa19vcHMgZHB1X2h3X29w czsKPiAgCj4gIHN0cnVjdCBkcHVfaHdfY3RsICpkcHVfaHdfY3RsX2luaXQoZW51bSBkcHVfY3Rs IGlkeCwKPiAgCQl2b2lkIF9faW9tZW0gKmFkZHIsCj4gQEAgLTQ5NCw3ICs0OTEsNiBAQCBzdHJ1 Y3QgZHB1X2h3X2N0bCAqZHB1X2h3X2N0bF9pbml0KGVudW0gZHB1X2N0bCBpZHgsCj4gIHsKPiAg CXN0cnVjdCBkcHVfaHdfY3RsICpjOwo+ICAJc3RydWN0IGRwdV9jdGxfY2ZnICpjZmc7Cj4gLQlp bnQgcmM7Cj4gIAo+ICAJYyA9IGt6YWxsb2Moc2l6ZW9mKCpjKSwgR0ZQX0tFUk5FTCk7Cj4gIAlp ZiAoIWMpCj4gQEAgLTUxMywxOCArNTA5LDkgQEAgc3RydWN0IGRwdV9od19jdGwgKmRwdV9od19j dGxfaW5pdChlbnVtIGRwdV9jdGwgaWR4LAo+ICAJYy0+bWl4ZXJfY291bnQgPSBtLT5taXhlcl9j b3VudDsKPiAgCWMtPm1peGVyX2h3X2NhcHMgPSBtLT5taXhlcjsKPiAgCj4gLQlyYyA9IGRwdV9o d19ibGtfaW5pdCgmYy0+YmFzZSwgRFBVX0hXX0JMS19DVEwsIGlkeCwgJmRwdV9od19vcHMpOwo+ IC0JaWYgKHJjKSB7Cj4gLQkJRFBVX0VSUk9SKCJmYWlsZWQgdG8gaW5pdCBodyBibGsgJWRcbiIs IHJjKTsKPiAtCQlnb3RvIGJsa19pbml0X2Vycm9yOwo+IC0JfQo+ICsJZHB1X2h3X2Jsa19pbml0 KCZjLT5iYXNlLCBEUFVfSFdfQkxLX0NUTCwgaWR4LCAmZHB1X2h3X29wcyk7Cj4gIAo+ICAJcmV0 dXJuIGM7Cj4gLQo+IC1ibGtfaW5pdF9lcnJvcjoKPiAtCWt6ZnJlZShjKTsKPiAtCj4gLQlyZXR1 cm4gRVJSX1BUUihyYyk7Cj4gIH0KPiAgCj4gIHZvaWQgZHB1X2h3X2N0bF9kZXN0cm95KHN0cnVj dCBkcHVfaHdfY3RsICpjdHgpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9od19pbnRmLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf aHdfaW50Zi5jCj4gaW5kZXggNjk1ZDI3YTczMGU4Li5mNmE4M2RhYTM4NWIgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2ludGYuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19pbnRmLmMKPiBAQCAtMjY0LDEwICsy NjQsNyBAQCBzdGF0aWMgdm9pZCBfc2V0dXBfaW50Zl9vcHMoc3RydWN0IGRwdV9od19pbnRmX29w cyAqb3BzLAo+ICAJb3BzLT5nZXRfbGluZV9jb3VudCA9IGRwdV9od19pbnRmX2dldF9saW5lX2Nv dW50Owo+ICB9Cj4gIAo+IC1zdGF0aWMgc3RydWN0IGRwdV9od19ibGtfb3BzIGRwdV9od19vcHMg PSB7Cj4gLQkuc3RhcnQgPSBOVUxMLAo+IC0JLnN0b3AgPSBOVUxMLAo+IC19Owo+ICtzdGF0aWMg c3RydWN0IGRwdV9od19ibGtfb3BzIGRwdV9od19vcHM7Cj4gIAo+ICBzdHJ1Y3QgZHB1X2h3X2lu dGYgKmRwdV9od19pbnRmX2luaXQoZW51bSBkcHVfaW50ZiBpZHgsCj4gIAkJdm9pZCBfX2lvbWVt ICphZGRyLAo+IEBAIC0yNzUsNyArMjcyLDYgQEAgc3RydWN0IGRwdV9od19pbnRmICpkcHVfaHdf aW50Zl9pbml0KGVudW0gZHB1X2ludGYgaWR4LAo+ICB7Cj4gIAlzdHJ1Y3QgZHB1X2h3X2ludGYg KmM7Cj4gIAlzdHJ1Y3QgZHB1X2ludGZfY2ZnICpjZmc7Cj4gLQlpbnQgcmM7Cj4gIAo+ICAJYyA9 IGt6YWxsb2Moc2l6ZW9mKCpjKSwgR0ZQX0tFUk5FTCk7Cj4gIAlpZiAoIWMpCj4gQEAgLTI5Niwx OCArMjkyLDkgQEAgc3RydWN0IGRwdV9od19pbnRmICpkcHVfaHdfaW50Zl9pbml0KGVudW0gZHB1 X2ludGYgaWR4LAo+ICAJYy0+bWRzcyA9IG07Cj4gIAlfc2V0dXBfaW50Zl9vcHMoJmMtPm9wcywg Yy0+Y2FwLT5mZWF0dXJlcyk7Cj4gIAo+IC0JcmMgPSBkcHVfaHdfYmxrX2luaXQoJmMtPmJhc2Us IERQVV9IV19CTEtfSU5URiwgaWR4LCAmZHB1X2h3X29wcyk7Cj4gLQlpZiAocmMpIHsKPiAtCQlE UFVfRVJST1IoImZhaWxlZCB0byBpbml0IGh3IGJsayAlZFxuIiwgcmMpOwo+IC0JCWdvdG8gYmxr X2luaXRfZXJyb3I7Cj4gLQl9Cj4gKwlkcHVfaHdfYmxrX2luaXQoJmMtPmJhc2UsIERQVV9IV19C TEtfSU5URiwgaWR4LCAmZHB1X2h3X29wcyk7Cj4gIAo+ICAJcmV0dXJuIGM7Cj4gLQo+IC1ibGtf aW5pdF9lcnJvcjoKPiAtCWt6ZnJlZShjKTsKPiAtCj4gLQlyZXR1cm4gRVJSX1BUUihyYyk7Cj4g IH0KPiAgCj4gIHZvaWQgZHB1X2h3X2ludGZfZGVzdHJveShzdHJ1Y3QgZHB1X2h3X2ludGYgKmlu dGYpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19s bS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2xtLmMKPiBpbmRleCBj NzZiNWNjOTQ5ZmIuLjlmMzQyYWYyYWJhNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfaHdfbG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9od19sbS5jCj4gQEAgLTE3NSwxMCArMTc1LDcgQEAgc3RhdGljIHZvaWQgX3Nl dHVwX21peGVyX29wcyhzdHJ1Y3QgZHB1X21kc3NfY2ZnICptLAo+ICAJb3BzLT5zZXR1cF9nYyA9 IGRwdV9od19sbV9nYzsKPiAgfTsKPiAgCj4gLXN0YXRpYyBzdHJ1Y3QgZHB1X2h3X2Jsa19vcHMg ZHB1X2h3X29wcyA9IHsKPiAtCS5zdGFydCA9IE5VTEwsCj4gLQkuc3RvcCA9IE5VTEwsCj4gLX07 Cj4gK3N0YXRpYyBzdHJ1Y3QgZHB1X2h3X2Jsa19vcHMgZHB1X2h3X29wczsKPiAgCj4gIHN0cnVj dCBkcHVfaHdfbWl4ZXIgKmRwdV9od19sbV9pbml0KGVudW0gZHB1X2xtIGlkeCwKPiAgCQl2b2lk IF9faW9tZW0gKmFkZHIsCj4gQEAgLTE4Niw3ICsxODMsNiBAQCBzdHJ1Y3QgZHB1X2h3X21peGVy ICpkcHVfaHdfbG1faW5pdChlbnVtIGRwdV9sbSBpZHgsCj4gIHsKPiAgCXN0cnVjdCBkcHVfaHdf bWl4ZXIgKmM7Cj4gIAlzdHJ1Y3QgZHB1X2xtX2NmZyAqY2ZnOwo+IC0JaW50IHJjOwo+ICAKPiAg CWMgPSBremFsbG9jKHNpemVvZigqYyksIEdGUF9LRVJORUwpOwo+ICAJaWYgKCFjKQo+IEBAIC0y MDMsMTggKzE5OSw5IEBAIHN0cnVjdCBkcHVfaHdfbWl4ZXIgKmRwdV9od19sbV9pbml0KGVudW0g ZHB1X2xtIGlkeCwKPiAgCWMtPmNhcCA9IGNmZzsKPiAgCV9zZXR1cF9taXhlcl9vcHMobSwgJmMt Pm9wcywgYy0+Y2FwLT5mZWF0dXJlcyk7Cj4gIAo+IC0JcmMgPSBkcHVfaHdfYmxrX2luaXQoJmMt PmJhc2UsIERQVV9IV19CTEtfTE0sIGlkeCwgJmRwdV9od19vcHMpOwo+IC0JaWYgKHJjKSB7Cj4g LQkJRFBVX0VSUk9SKCJmYWlsZWQgdG8gaW5pdCBodyBibGsgJWRcbiIsIHJjKTsKPiAtCQlnb3Rv IGJsa19pbml0X2Vycm9yOwo+IC0JfQo+ICsJZHB1X2h3X2Jsa19pbml0KCZjLT5iYXNlLCBEUFVf SFdfQkxLX0xNLCBpZHgsICZkcHVfaHdfb3BzKTsKPiAgCj4gIAlyZXR1cm4gYzsKPiAtCj4gLWJs a19pbml0X2Vycm9yOgo+IC0Ja3pmcmVlKGMpOwo+IC0KPiAtCXJldHVybiBFUlJfUFRSKHJjKTsK PiAgfQo+ICAKPiAgdm9pZCBkcHVfaHdfbG1fZGVzdHJveShzdHJ1Y3QgZHB1X2h3X21peGVyICps bSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3Bp bmdwb25nLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfcGluZ3Bvbmcu Ywo+IGluZGV4IGNmYzkzODE2MDc4Zi4uM2JkZjQ3ZWQxODQ1IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19waW5ncG9uZy5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3Bpbmdwb25nLmMKPiBAQCAtMTk5LDEwICsx OTksNyBAQCBzdGF0aWMgdm9pZCBfc2V0dXBfcGluZ3Bvbmdfb3BzKHN0cnVjdCBkcHVfaHdfcGlu Z3Bvbmdfb3BzICpvcHMsCj4gIAlvcHMtPmdldF9saW5lX2NvdW50ID0gZHB1X2h3X3BwX2dldF9s aW5lX2NvdW50Owo+ICB9Owo+ICAKPiAtc3RhdGljIHN0cnVjdCBkcHVfaHdfYmxrX29wcyBkcHVf aHdfb3BzID0gewo+IC0JLnN0YXJ0ID0gTlVMTCwKPiAtCS5zdG9wID0gTlVMTCwKPiAtfTsKPiAr c3RhdGljIHN0cnVjdCBkcHVfaHdfYmxrX29wcyBkcHVfaHdfb3BzOwo+ICAKPiAgc3RydWN0IGRw dV9od19waW5ncG9uZyAqZHB1X2h3X3Bpbmdwb25nX2luaXQoZW51bSBkcHVfcGluZ3BvbmcgaWR4 LAo+ICAJCXZvaWQgX19pb21lbSAqYWRkciwKPiBAQCAtMjEwLDcgKzIwNyw2IEBAIHN0cnVjdCBk cHVfaHdfcGluZ3BvbmcgKmRwdV9od19waW5ncG9uZ19pbml0KGVudW0gZHB1X3Bpbmdwb25nIGlk eCwKPiAgewo+ICAJc3RydWN0IGRwdV9od19waW5ncG9uZyAqYzsKPiAgCXN0cnVjdCBkcHVfcGlu Z3BvbmdfY2ZnICpjZmc7Cj4gLQlpbnQgcmM7Cj4gIAo+ICAJYyA9IGt6YWxsb2Moc2l6ZW9mKCpj KSwgR0ZQX0tFUk5FTCk7Cj4gIAlpZiAoIWMpCj4gQEAgLTIyNiwxOCArMjIyLDkgQEAgc3RydWN0 IGRwdV9od19waW5ncG9uZyAqZHB1X2h3X3Bpbmdwb25nX2luaXQoZW51bSBkcHVfcGluZ3Bvbmcg aWR4LAo+ICAJYy0+Y2FwcyA9IGNmZzsKPiAgCV9zZXR1cF9waW5ncG9uZ19vcHMoJmMtPm9wcywg Yy0+Y2Fwcyk7Cj4gIAo+IC0JcmMgPSBkcHVfaHdfYmxrX2luaXQoJmMtPmJhc2UsIERQVV9IV19C TEtfUElOR1BPTkcsIGlkeCwgJmRwdV9od19vcHMpOwo+IC0JaWYgKHJjKSB7Cj4gLQkJRFBVX0VS Uk9SKCJmYWlsZWQgdG8gaW5pdCBodyBibGsgJWRcbiIsIHJjKTsKPiAtCQlnb3RvIGJsa19pbml0 X2Vycm9yOwo+IC0JfQo+ICsJZHB1X2h3X2Jsa19pbml0KCZjLT5iYXNlLCBEUFVfSFdfQkxLX1BJ TkdQT05HLCBpZHgsICZkcHVfaHdfb3BzKTsKPiAgCj4gIAlyZXR1cm4gYzsKPiAtCj4gLWJsa19p bml0X2Vycm9yOgo+IC0Ja3pmcmVlKGMpOwo+IC0KPiAtCXJldHVybiBFUlJfUFRSKHJjKTsKPiAg fQo+ICAKPiAgdm9pZCBkcHVfaHdfcGluZ3BvbmdfZGVzdHJveShzdHJ1Y3QgZHB1X2h3X3Bpbmdw b25nICpwcCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2h3X3NzcHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19zc3BwLmMK PiBpbmRleCA4Mjk3OTYzZDJjNGMuLjNlYmRmMjkyZDhmMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfc3NwcC5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuYwo+IEBAIC02OTYsMTAgKzY5Niw3IEBAIHN0 YXRpYyBzdHJ1Y3QgZHB1X3NzcHBfY2ZnICpfc3NwcF9vZmZzZXQoZW51bSBkcHVfc3NwcCBzc3Bw LAo+ICAJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gIH0KPiAgCj4gLXN0YXRpYyBzdHJ1Y3Qg ZHB1X2h3X2Jsa19vcHMgZHB1X2h3X29wcyA9IHsKPiAtCS5zdGFydCA9IE5VTEwsCj4gLQkuc3Rv cCA9IE5VTEwsCj4gLX07Cj4gK3N0YXRpYyBzdHJ1Y3QgZHB1X2h3X2Jsa19vcHMgZHB1X2h3X29w czsKPiAgCj4gIHN0cnVjdCBkcHVfaHdfcGlwZSAqZHB1X2h3X3NzcHBfaW5pdChlbnVtIGRwdV9z c3BwIGlkeCwKPiAgCQl2b2lkIF9faW9tZW0gKmFkZHIsIHN0cnVjdCBkcHVfbWRzc19jZmcgKmNh dGFsb2csCj4gQEAgLTcwNyw3ICs3MDQsNiBAQCBzdHJ1Y3QgZHB1X2h3X3BpcGUgKmRwdV9od19z c3BwX2luaXQoZW51bSBkcHVfc3NwcCBpZHgsCj4gIHsKPiAgCXN0cnVjdCBkcHVfaHdfcGlwZSAq aHdfcGlwZTsKPiAgCXN0cnVjdCBkcHVfc3NwcF9jZmcgKmNmZzsKPiAtCWludCByYzsKPiAgCj4g IAlpZiAoIWFkZHIgfHwgIWNhdGFsb2cpCj4gIAkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7Cj4g QEAgLTcyOSwxOCArNzI1LDkgQEAgc3RydWN0IGRwdV9od19waXBlICpkcHVfaHdfc3NwcF9pbml0 KGVudW0gZHB1X3NzcHAgaWR4LAo+ICAJaHdfcGlwZS0+Y2FwID0gY2ZnOwo+ICAJX3NldHVwX2xh eWVyX29wcyhod19waXBlLCBod19waXBlLT5jYXAtPmZlYXR1cmVzKTsKPiAgCj4gLQlyYyA9IGRw dV9od19ibGtfaW5pdCgmaHdfcGlwZS0+YmFzZSwgRFBVX0hXX0JMS19TU1BQLCBpZHgsICZkcHVf aHdfb3BzKTsKPiAtCWlmIChyYykgewo+IC0JCURQVV9FUlJPUigiZmFpbGVkIHRvIGluaXQgaHcg YmxrICVkXG4iLCByYyk7Cj4gLQkJZ290byBibGtfaW5pdF9lcnJvcjsKPiAtCX0KPiArCWRwdV9o d19ibGtfaW5pdCgmaHdfcGlwZS0+YmFzZSwgRFBVX0hXX0JMS19TU1BQLCBpZHgsICZkcHVfaHdf b3BzKTsKPiAgCj4gIAlyZXR1cm4gaHdfcGlwZTsKPiAtCj4gLWJsa19pbml0X2Vycm9yOgo+IC0J a3pmcmVlKGh3X3BpcGUpOwo+IC0KPiAtCXJldHVybiBFUlJfUFRSKHJjKTsKPiAgfQo+ICAKPiAg dm9pZCBkcHVfaHdfc3NwcF9kZXN0cm95KHN0cnVjdCBkcHVfaHdfcGlwZSAqY3R4KQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfdG9wLmMgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfdG9wLmMKPiBpbmRleCBmN2UwZjY2MWE4 YmIuLmEwNDE1OTdiYjg0OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfaHdfdG9wLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfaHdfdG9wLmMKPiBAQCAtMzIxLDEwICszMjEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRw dV9tZHBfY2ZnICpfdG9wX29mZnNldChlbnVtIGRwdV9tZHAgbWRwLAo+ICAJcmV0dXJuIEVSUl9Q VFIoLUVJTlZBTCk7Cj4gIH0KPiAgCj4gLXN0YXRpYyBzdHJ1Y3QgZHB1X2h3X2Jsa19vcHMgZHB1 X2h3X29wcyA9IHsKPiAtCS5zdGFydCA9IE5VTEwsCj4gLQkuc3RvcCA9IE5VTEwsCj4gLX07Cj4g K3N0YXRpYyBzdHJ1Y3QgZHB1X2h3X2Jsa19vcHMgZHB1X2h3X29wczsKPiAgCj4gIHN0cnVjdCBk cHVfaHdfbWRwICpkcHVfaHdfbWRwdG9wX2luaXQoZW51bSBkcHVfbWRwIGlkeCwKPiAgCQl2b2lk IF9faW9tZW0gKmFkZHIsCj4gQEAgLTMzMiw3ICszMjksNiBAQCBzdHJ1Y3QgZHB1X2h3X21kcCAq ZHB1X2h3X21kcHRvcF9pbml0KGVudW0gZHB1X21kcCBpZHgsCj4gIHsKPiAgCXN0cnVjdCBkcHVf aHdfbWRwICptZHA7Cj4gIAljb25zdCBzdHJ1Y3QgZHB1X21kcF9jZmcgKmNmZzsKPiAtCWludCBy YzsKPiAgCj4gIAlpZiAoIWFkZHIgfHwgIW0pCj4gIAkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7 Cj4gQEAgLTM1NCwxOCArMzUwLDkgQEAgc3RydWN0IGRwdV9od19tZHAgKmRwdV9od19tZHB0b3Bf aW5pdChlbnVtIGRwdV9tZHAgaWR4LAo+ICAJbWRwLT5jYXBzID0gY2ZnOwo+ICAJX3NldHVwX21k cF9vcHMoJm1kcC0+b3BzLCBtZHAtPmNhcHMtPmZlYXR1cmVzKTsKPiAgCj4gLQlyYyA9IGRwdV9o d19ibGtfaW5pdCgmbWRwLT5iYXNlLCBEUFVfSFdfQkxLX1RPUCwgaWR4LCAmZHB1X2h3X29wcyk7 Cj4gLQlpZiAocmMpIHsKPiAtCQlEUFVfRVJST1IoImZhaWxlZCB0byBpbml0IGh3IGJsayAlZFxu IiwgcmMpOwo+IC0JCWdvdG8gYmxrX2luaXRfZXJyb3I7Cj4gLQl9Cj4gKwlkcHVfaHdfYmxrX2lu aXQoJm1kcC0+YmFzZSwgRFBVX0hXX0JMS19UT1AsIGlkeCwgJmRwdV9od19vcHMpOwo+ICAKPiAg CXJldHVybiBtZHA7Cj4gLQo+IC1ibGtfaW5pdF9lcnJvcjoKPiAtCWt6ZnJlZShtZHApOwo+IC0K PiAtCXJldHVybiBFUlJfUFRSKHJjKTsKPiAgfQo+ICAKPiAgdm9pZCBkcHVfaHdfbWRwX2Rlc3Ry b3koc3RydWN0IGRwdV9od19tZHAgKm1kcCkKPiAtLSAKPiAyLjE4LjAKPiAKPiBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEZyZWVkcmVubyBtYWlsaW5n IGxpc3QKPiBGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8KCi0tIApTZWFuIFBhdWws IFNvZnR3YXJlIEVuZ2luZWVyLCBHb29nbGUgLyBDaHJvbWl1bSBPUwpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZy ZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K