From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: Re: [PATCH 09/12] drm/msm: dpu: Remove dpu_power_handle Date: Mon, 12 Nov 2018 17:30:45 -0800 Message-ID: References: <20181112194222.193546-1-sean@poorly.run> <20181112194222.193546-10-sean@poorly.run> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181112194222.193546-10-sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Sean Paul Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Abhinav Kumar , robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, Sean Paul , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gMjAxOC0xMS0xMiAxMTo0MiwgU2VhbiBQYXVsIHdyb3RlOgo+IEZyb206IFNlYW4gUGF1bCA8 c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+IAo+IE5vdyB0aGF0IHdlIGRvbid0IGhhdmUgYW55IGV2 ZW50IGhhbmRsZXJzLCByZW1vdmUgZHB1X3Bvd2VyX2hhbmRsZSEKPiAKPiBTaWduZWQtb2ZmLWJ5 OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KClJldmlld2VkLWJ5OiBKZXlrdW1h ciBTYW5rYXJhbiA8anNhbmthQGNvZGVhdXJvcmEub3JnPgoKPiAtLS0KPiAgZHJpdmVycy9ncHUv ZHJtL21zbS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgIHwgICAxIC0KPiAgZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jICAgICAgIHwgIDExIC0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuaCAgICAgICB8ICAgMyAtCj4gIC4uLi9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X3Bvd2VyX2hhbmRsZS5jICB8IDEzNiAtLS0tLS0tLS0tLS0tLS0t LS0KPiAgLi4uL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcG93ZXJfaGFuZGxlLmggIHwgMTEz IC0tLS0tLS0tLS0tLS0tLQo+ICA1IGZpbGVzIGNoYW5nZWQsIDI2NCBkZWxldGlvbnMoLSkKPiAg ZGVsZXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wb3dl cl9oYW5kbGUuYwo+ICBkZWxldGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X3Bvd2VyX2hhbmRsZS5oCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vTWFrZWZpbGUgCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL01ha2VmaWxlCj4gaW5kZXgg MTlhYjUyMWQ0YzNhLi43ZDAyZWYzNjU1YjUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L21zbS9NYWtlZmlsZQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vTWFrZWZpbGUKPiBAQCAt NzIsNyArNzIsNiBAQCBtc20teSA6PSBcCj4gIAlkaXNwL2RwdTEvZHB1X2ttcy5vIFwKPiAgCWRp c3AvZHB1MS9kcHVfbWRzcy5vIFwKPiAgCWRpc3AvZHB1MS9kcHVfcGxhbmUubyBcCj4gLQlkaXNw L2RwdTEvZHB1X3Bvd2VyX2hhbmRsZS5vIFwKPiAgCWRpc3AvZHB1MS9kcHVfcm0ubyBcCj4gIAlk aXNwL2RwdTEvZHB1X3ZiaWYubyBcCj4gIAltc21fYXRvbWljLm8gXAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMKPiBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYwo+IGluZGV4IGJhZTdlODZiMjkxMy4uZTQyNjg1YTFk OTI4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYwo+IEBAIC0x MDYzLDggKzEwNjMsNiBAQCBzdGF0aWMgaW50IGRwdV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwg c3RydWN0Cj4gZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCj4gIAkJcmV0dXJuIHJldDsKPiAg CX0KPiAKPiAtCWRwdV9wb3dlcl9yZXNvdXJjZV9pbml0KHBkZXYsICZkcHVfa21zLT5waGFuZGxl KTsKPiAtCj4gIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBkcHVfa21zKTsKPiAKPiAgCW1z bV9rbXNfaW5pdCgmZHB1X2ttcy0+YmFzZSwgJmttc19mdW5jcyk7Cj4gQEAgLTEwODQsNyArMTA4 Miw2IEBAIHN0YXRpYyB2b2lkIGRwdV91bmJpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QK PiBkZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKPiAgCXN0cnVjdCBkcHVfa21zICpkcHVfa21z ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Cj4gIAlzdHJ1Y3QgZHNzX21vZHVsZV9wb3dl ciAqbXAgPSAmZHB1X2ttcy0+bXA7Cj4gCj4gLQlkcHVfcG93ZXJfcmVzb3VyY2VfZGVpbml0KHBk ZXYsICZkcHVfa21zLT5waGFuZGxlKTsKPiAgCW1zbV9kc3NfcHV0X2NsayhtcC0+Y2xrX2NvbmZp ZywgbXAtPm51bV9jbGspOwo+ICAJZGV2bV9rZnJlZSgmcGRldi0+ZGV2LCBtcC0+Y2xrX2NvbmZp Zyk7Cj4gIAltcC0+bnVtX2NsayA9IDA7Cj4gQEAgLTExMjMsMTAgKzExMjAsNiBAQCBzdGF0aWMg aW50IF9fbWF5YmVfdW51c2VkCj4gZHB1X3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpk ZXYpCj4gIAkJcmV0dXJuIHJjOwo+ICAJfQo+IAo+IC0JcmMgPSBkcHVfcG93ZXJfcmVzb3VyY2Vf ZW5hYmxlKCZkcHVfa21zLT5waGFuZGxlLCBmYWxzZSk7Cj4gLQlpZiAocmMpCj4gLQkJRFBVX0VS Uk9SKCJyZXNvdXJjZSBkaXNhYmxlIGZhaWxlZDogJWRcbiIsIHJjKTsKPiAtCj4gIAlyYyA9IG1z bV9kc3NfZW5hYmxlX2NsayhtcC0+Y2xrX2NvbmZpZywgbXAtPm51bV9jbGssIGZhbHNlKTsKPiAg CWlmIChyYykKPiAgCQlEUFVfRVJST1IoImNsb2NrIGRpc2FibGUgZmFpbGVkIHJjOiVkXG4iLCBy Yyk7Cj4gQEAgLTExNjAsMTAgKzExNTMsNiBAQCBzdGF0aWMgaW50IF9fbWF5YmVfdW51c2VkIAo+ IGRwdV9ydW50aW1lX3Jlc3VtZShzdHJ1Y3QKPiBkZXZpY2UgKmRldikKPiAgCWRybV9mb3JfZWFj aF9jcnRjKGNydGMsIGRkZXYpCj4gIAkJZHB1X2NydGNfcnVudGltZV9yZXN1bWUoY3J0Yyk7Cj4g Cj4gLQlyYyA9IGRwdV9wb3dlcl9yZXNvdXJjZV9lbmFibGUoJmRwdV9rbXMtPnBoYW5kbGUsIHRy dWUpOwo+IC0JaWYgKHJjKQo+IC0JCURQVV9FUlJPUigicmVzb3VyY2UgZW5hYmxlIGZhaWxlZDog JWRcbiIsIHJjKTsKPiAtCj4gIAlyZXR1cm4gcmM7Cj4gIH0KPiAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5oCj4gYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfa21zLmgKPiBpbmRleCA0ZTVhY2FjYjMwNjUuLjU5ZTE4ZTJkM2M1 OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmgK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmgKPiBAQCAtMzEs NyArMzEsNiBAQAo+ICAjaW5jbHVkZSAiZHB1X2h3X3RvcC5oIgo+ICAjaW5jbHVkZSAiZHB1X2lv X3V0aWwuaCIKPiAgI2luY2x1ZGUgImRwdV9ybS5oIgo+IC0jaW5jbHVkZSAiZHB1X3Bvd2VyX2hh bmRsZS5oIgo+ICAjaW5jbHVkZSAiZHB1X2lycS5oIgo+ICAjaW5jbHVkZSAiZHB1X2NvcmVfcGVy Zi5oIgo+IAo+IEBAIC0xMTQsOCArMTEzLDYgQEAgc3RydWN0IGRwdV9rbXMgewo+ICAJaW50IGNv cmVfcmV2Owo+ICAJc3RydWN0IGRwdV9tZHNzX2NmZyAqY2F0YWxvZzsKPiAKPiAtCXN0cnVjdCBk cHVfcG93ZXJfaGFuZGxlIHBoYW5kbGU7Cj4gLQo+ICAJLyogZGlyZWN0b3J5IGVudHJ5IGZvciBk ZWJ1Z2ZzICovCj4gIAlzdHJ1Y3QgZGVudHJ5ICpkZWJ1Z2ZzX3Jvb3Q7Cj4gIAlzdHJ1Y3QgZGVu dHJ5ICpkZWJ1Z2ZzX2RhbmdlcjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X3Bvd2VyX2hhbmRsZS5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfcG93ZXJfaGFuZGxlLmMKPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRl eCA4ZTY0ZjBhNTIxNDcuLjAwMDAwMDAwMDAwMAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9wb3dlcl9oYW5kbGUuYwo+ICsrKyAvZGV2L251bGwKPiBAQCAtMSwxMzYg KzAsMCBAQAo+IC0vKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgVGhlIExpbnV4IEZvdW5kYXRp b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgCj4gbW9kaWZ5Cj4gLSAq IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVy c2lvbiAyIGFuZAo+IC0gKiBvbmx5IHZlcnNpb24gMiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAq IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K PiAtICoKPiAtICovCj4gLQo+IC0jZGVmaW5lIHByX2ZtdChmbXQpCSJbZHJtOiVzOiVkXTogIiBm bXQsIF9fZnVuY19fLCBfX0xJTkVfXwo+IC0KPiAtI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgo+ IC0jaW5jbHVkZSA8bGludXgvb2YuaD4KPiAtI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgo+IC0j aW5jbHVkZSA8bGludXgvb2ZfYWRkcmVzcy5oPgo+IC0jaW5jbHVkZSA8bGludXgvc2xhYi5oPgo+ IC0jaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KPiAtI2luY2x1ZGUgPGxpbnV4L29mX3BsYXRmb3Jt Lmg+Cj4gLQo+IC0jaW5jbHVkZSAiZHB1X3Bvd2VyX2hhbmRsZS5oIgo+IC0jaW5jbHVkZSAiZHB1 X3RyYWNlLmgiCj4gLQo+IC1zdGF0aWMgdm9pZCBkcHVfcG93ZXJfZXZlbnRfdHJpZ2dlcl9sb2Nr ZWQoc3RydWN0IGRwdV9wb3dlcl9oYW5kbGUKPiAqcGhhbmRsZSwKPiAtCQl1MzIgZXZlbnRfdHlw ZSkKPiAtewo+IC0Jc3RydWN0IGRwdV9wb3dlcl9ldmVudCAqZXZlbnQ7Cj4gLQo+IC0JbGlzdF9m b3JfZWFjaF9lbnRyeShldmVudCwgJnBoYW5kbGUtPmV2ZW50X2xpc3QsIGxpc3QpIHsKPiAtCQlp ZiAoZXZlbnQtPmV2ZW50X3R5cGUgJiBldmVudF90eXBlKQo+IC0JCQlldmVudC0+Y2JfZm5jKGV2 ZW50X3R5cGUsIGV2ZW50LT51c3IpOwo+IC0JfQo+IC19Cj4gLQo+IC12b2lkIGRwdV9wb3dlcl9y ZXNvdXJjZV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCj4gLQlzdHJ1Y3QgZHB1 X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZSkKPiAtewo+IC0JcGhhbmRsZS0+ZGV2ID0gJnBkZXYtPmRl djsKPiAtCj4gLQlJTklUX0xJU1RfSEVBRCgmcGhhbmRsZS0+ZXZlbnRfbGlzdCk7Cj4gLQo+IC0J bXV0ZXhfaW5pdCgmcGhhbmRsZS0+cGhhbmRsZV9sb2NrKTsKPiAtfQo+IC0KPiAtdm9pZCBkcHVf cG93ZXJfcmVzb3VyY2VfZGVpbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCj4gLQlz dHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZSkKPiAtewo+IC0Jc3RydWN0IGRwdV9wb3dl cl9ldmVudCAqY3Vycl9ldmVudCwgKm5leHRfZXZlbnQ7Cj4gLQo+IC0JaWYgKCFwaGFuZGxlIHx8 ICFwZGV2KSB7Cj4gLQkJcHJfZXJyKCJpbnZhbGlkIGlucHV0IHBhcmFtXG4iKTsKPiAtCQlyZXR1 cm47Cj4gLQl9Cj4gLQo+IC0JbXV0ZXhfbG9jaygmcGhhbmRsZS0+cGhhbmRsZV9sb2NrKTsKPiAt CWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShjdXJyX2V2ZW50LCBuZXh0X2V2ZW50LAo+IC0JCQkm cGhhbmRsZS0+ZXZlbnRfbGlzdCwgbGlzdCkgewo+IC0JCXByX2VycigiZXZlbnQ6JWQsIGNsaWVu dDolcyBzdGlsbCByZWdpc3RlcmVkXG4iLAo+IC0JCQkJY3Vycl9ldmVudC0+ZXZlbnRfdHlwZSwK PiAtCQkJCWN1cnJfZXZlbnQtPmNsaWVudF9uYW1lKTsKPiAtCQljdXJyX2V2ZW50LT5hY3RpdmUg PSBmYWxzZTsKPiAtCQlsaXN0X2RlbCgmY3Vycl9ldmVudC0+bGlzdCk7Cj4gLQl9Cj4gLQltdXRl eF91bmxvY2soJnBoYW5kbGUtPnBoYW5kbGVfbG9jayk7Cj4gLX0KPiAtCj4gLWludCBkcHVfcG93 ZXJfcmVzb3VyY2VfZW5hYmxlKHN0cnVjdCBkcHVfcG93ZXJfaGFuZGxlICpwaGFuZGxlLCBib29s Cj4gZW5hYmxlKQo+IC17Cj4gLQl1MzIgZXZlbnRfdHlwZTsKPiAtCj4gLQlpZiAoIXBoYW5kbGUp IHsKPiAtCQlwcl9lcnIoImludmFsaWQgaW5wdXQgYXJndW1lbnRcbiIpOwo+IC0JCXJldHVybiAt RUlOVkFMOwo+IC0JfQo+IC0KPiAtCW11dGV4X2xvY2soJnBoYW5kbGUtPnBoYW5kbGVfbG9jayk7 Cj4gLQo+IC0JZXZlbnRfdHlwZSA9IGVuYWJsZSA/IERQVV9QT1dFUl9FVkVOVF9FTkFCTEUgOgo+ IERQVV9QT1dFUl9FVkVOVF9ESVNBQkxFOwo+IC0KPiAtCWRwdV9wb3dlcl9ldmVudF90cmlnZ2Vy X2xvY2tlZChwaGFuZGxlLAlldmVudF90eXBlKTsKPiAtCj4gLQltdXRleF91bmxvY2soJnBoYW5k bGUtPnBoYW5kbGVfbG9jayk7Cj4gLQlyZXR1cm4gMDsKPiAtfQo+IC0KPiAtc3RydWN0IGRwdV9w b3dlcl9ldmVudCAqZHB1X3Bvd2VyX2hhbmRsZV9yZWdpc3Rlcl9ldmVudCgKPiAtCQlzdHJ1Y3Qg ZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZSwKPiAtCQl1MzIgZXZlbnRfdHlwZSwgdm9pZCAoKmNi X2ZuYykodTMyIGV2ZW50X3R5cGUsIHZvaWQgKnVzciksCj4gLQkJdm9pZCAqdXNyLCBjaGFyICpj bGllbnRfbmFtZSkKPiAtewo+IC0Jc3RydWN0IGRwdV9wb3dlcl9ldmVudCAqZXZlbnQ7Cj4gLQo+ IC0JaWYgKCFwaGFuZGxlKSB7Cj4gLQkJcHJfZXJyKCJpbnZhbGlkIHBvd2VyIGhhbmRsZVxuIik7 Cj4gLQkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7Cj4gLQl9IGVsc2UgaWYgKCFjYl9mbmMgfHwg IWV2ZW50X3R5cGUpIHsKPiAtCQlwcl9lcnIoIm5vIGNhbGxiYWNrIGZuYyBvciBldmVudCB0eXBl XG4iKTsKPiAtCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKPiAtCX0KPiAtCj4gLQlldmVudCA9 IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBkcHVfcG93ZXJfZXZlbnQpLCBHRlBfS0VSTkVMKTsKPiAt CWlmICghZXZlbnQpCj4gLQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gLQo+IC0JZXZlbnQt PmV2ZW50X3R5cGUgPSBldmVudF90eXBlOwo+IC0JZXZlbnQtPmNiX2ZuYyA9IGNiX2ZuYzsKPiAt CWV2ZW50LT51c3IgPSB1c3I7Cj4gLQlzdHJsY3B5KGV2ZW50LT5jbGllbnRfbmFtZSwgY2xpZW50 X25hbWUsIE1BWF9DTElFTlRfTkFNRV9MRU4pOwo+IC0JZXZlbnQtPmFjdGl2ZSA9IHRydWU7Cj4g LQo+IC0JbXV0ZXhfbG9jaygmcGhhbmRsZS0+cGhhbmRsZV9sb2NrKTsKPiAtCWxpc3RfYWRkKCZl dmVudC0+bGlzdCwgJnBoYW5kbGUtPmV2ZW50X2xpc3QpOwo+IC0JbXV0ZXhfdW5sb2NrKCZwaGFu ZGxlLT5waGFuZGxlX2xvY2spOwo+IC0KPiAtCXJldHVybiBldmVudDsKPiAtfQo+IC0KPiAtdm9p ZCBkcHVfcG93ZXJfaGFuZGxlX3VucmVnaXN0ZXJfZXZlbnQoCj4gLQkJc3RydWN0IGRwdV9wb3dl cl9oYW5kbGUgKnBoYW5kbGUsCj4gLQkJc3RydWN0IGRwdV9wb3dlcl9ldmVudCAqZXZlbnQpCj4g LXsKPiAtCWlmICghcGhhbmRsZSB8fCAhZXZlbnQpIHsKPiAtCQlwcl9lcnIoImludmFsaWQgcGhh bmRsZSBvciBldmVudFxuIik7Cj4gLQl9IGVsc2UgaWYgKCFldmVudC0+YWN0aXZlKSB7Cj4gLQkJ cHJfZXJyKCJwb3dlciBoYW5kbGUgZGVpbml0IGFscmVhZHkgZG9uZVxuIik7Cj4gLQkJa2ZyZWUo ZXZlbnQpOwo+IC0JfSBlbHNlIHsKPiAtCQltdXRleF9sb2NrKCZwaGFuZGxlLT5waGFuZGxlX2xv Y2spOwo+IC0JCWxpc3RfZGVsX2luaXQoJmV2ZW50LT5saXN0KTsKPiAtCQltdXRleF91bmxvY2so JnBoYW5kbGUtPnBoYW5kbGVfbG9jayk7Cj4gLQkJa2ZyZWUoZXZlbnQpOwo+IC0JfQo+IC19Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wb3dlcl9oYW5k bGUuaAo+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3Bvd2VyX2hhbmRsZS5o Cj4gZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggNzUzNjYyNGM4YjIwLi4wMDAwMDAw MDAwMDAKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcG93ZXJfaGFu ZGxlLmgKPiArKysgL2Rldi9udWxsCj4gQEAgLTEsMTEzICswLDAgQEAKPiAtLyogQ29weXJpZ2h0 IChjKSAyMDE2LTIwMTgsIFRoZSBMaW51eCBGb3VuZGF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIAo+IG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhbmQKPiAtICogb25seSB2 ZXJzaW9uIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4g LSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+IC0KPiAtI2lm bmRlZiBfRFBVX1BPV0VSX0hBTkRMRV9IXwo+IC0jZGVmaW5lIF9EUFVfUE9XRVJfSEFORExFX0hf Cj4gLQo+IC0jZGVmaW5lIE1BWF9DTElFTlRfTkFNRV9MRU4gMTI4Cj4gLQo+IC0jZGVmaW5lIERQ VV9QT1dFUl9IQU5ETEVfRU5BQkxFX0JVU19BQl9RVU9UQQkwCj4gLSNkZWZpbmUgRFBVX1BPV0VS X0hBTkRMRV9ESVNBQkxFX0JVU19BQl9RVU9UQQkwCj4gLSNkZWZpbmUgRFBVX1BPV0VSX0hBTkRM RV9FTkFCTEVfQlVTX0lCX1FVT1RBCTE2MDAwMDAwMDAKPiAtI2RlZmluZSBEUFVfUE9XRVJfSEFO RExFX0RJU0FCTEVfQlVTX0lCX1FVT1RBCTAKPiAtCj4gLSNpbmNsdWRlICJkcHVfaW9fdXRpbC5o Igo+IC0KPiAtLyogZXZlbnRzIHdpbGwgYmUgdHJpZ2dlcmVkIG9uIHBvd2VyIGhhbmRsZXIgZW5h YmxlL2Rpc2FibGUgKi8KPiAtI2RlZmluZSBEUFVfUE9XRVJfRVZFTlRfRElTQUJMRQlCSVQoMCkK PiAtI2RlZmluZSBEUFVfUE9XRVJfRVZFTlRfRU5BQkxFCUJJVCgxKQo+IC0KPiAtLyoKPiAtICog c3RydWN0IGRwdV9wb3dlcl9ldmVudCAtIGxvY2FsIGV2ZW50IHJlZ2lzdHJhdGlvbiBzdHJ1Y3R1 cmUKPiAtICogQGNsaWVudF9uYW1lOiBuYW1lIG9mIHRoZSBjbGllbnQgcmVnaXN0ZXJpbmcKPiAt ICogQGNiX2ZuYzogcG9pbnRlciB0byBkZXNpcmVkIGNhbGxiYWNrIGZ1bmN0aW9uCj4gLSAqIEB1 c3I6IHVzZXIgcG9pbnRlciB0byBwYXNzIHRvIGNhbGxiYWNrIGV2ZW50IHRyaWdnZXIKPiAtICog QGV2ZW50OiByZWZlciB0byBEUFVfUE9XRVJfSEFORExFX0VWRU5UXyoKPiAtICogQGxpc3Q6IGxp c3QgdG8gYXR0YWNoIGV2ZW50IG1hc3RlciBsaXN0Cj4gLSAqIEBhY3RpdmU6IGluZGljYXRlcyB0 aGUgc3RhdGUgb2YgZHB1IHBvd2VyIGhhbmRsZQo+IC0gKi8KPiAtc3RydWN0IGRwdV9wb3dlcl9l dmVudCB7Cj4gLQljaGFyIGNsaWVudF9uYW1lW01BWF9DTElFTlRfTkFNRV9MRU5dOwo+IC0Jdm9p ZCAoKmNiX2ZuYykodTMyIGV2ZW50X3R5cGUsIHZvaWQgKnVzcik7Cj4gLQl2b2lkICp1c3I7Cj4g LQl1MzIgZXZlbnRfdHlwZTsKPiAtCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKPiAtCWJvb2wgYWN0 aXZlOwo+IC19Owo+IC0KPiAtLyoqCj4gLSAqIHN0cnVjdCBkcHVfcG93ZXJfaGFuZGxlOiBwb3dl ciBoYW5kbGUgbWFpbiBzdHJ1Y3QKPiAtICogQHBoYW5kbGVfbG9jazogbG9jayB0byBzeW5jaHJv bml6ZSB0aGUgZW5hYmxlL2Rpc2FibGUKPiAtICogQGRldjogcG9pbnRlciB0byBkZXZpY2Ugc3Ry dWN0dXJlCj4gLSAqIEB1c2VjYXNlX25keDogY3VycmVudCB1c2VjYXNlIGluZGV4Cj4gLSAqIEBl dmVudF9saXN0OiBjdXJyZW50IHBvd2VyIGhhbmRsZSBldmVudCBsaXN0Cj4gLSAqLwo+IC1zdHJ1 Y3QgZHB1X3Bvd2VyX2hhbmRsZSB7Cj4gLQlzdHJ1Y3QgbXV0ZXggcGhhbmRsZV9sb2NrOwo+IC0J c3RydWN0IGRldmljZSAqZGV2Owo+IC0JdTMyIGN1cnJlbnRfdXNlY2FzZV9uZHg7Cj4gLQlzdHJ1 Y3QgbGlzdF9oZWFkIGV2ZW50X2xpc3Q7Cj4gLX07Cj4gLQo+IC0vKioKPiAtICogZHB1X3Bvd2Vy X3Jlc291cmNlX2luaXQoKSAtIGluaXRpYWxpemVzIHRoZSBkcHUgcG93ZXIgaGFuZGxlCj4gLSAq IEBwZGV2OiAgIHBsYXRmb3JtIGRldmljZSB0byBzZWFyY2ggdGhlIHBvd2VyIHJlc291cmNlcwo+ IC0gKiBAcGRhdGE6ICBwb3dlciBoYW5kbGUgdG8gc3RvcmUgdGhlIHBvd2VyIHJlc291cmNlcwo+ IC0gKi8KPiAtdm9pZCBkcHVfcG93ZXJfcmVzb3VyY2VfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2LAo+IC0Jc3RydWN0IGRwdV9wb3dlcl9oYW5kbGUgKnBkYXRhKTsKPiAtCj4gLS8q Kgo+IC0gKiBkcHVfcG93ZXJfcmVzb3VyY2VfZGVpbml0KCkgLSByZWxlYXNlIHRoZSBkcHUgcG93 ZXIgaGFuZGxlCj4gLSAqIEBwZGV2OiAgIHBsYXRmb3JtIGRldmljZSBmb3IgcG93ZXIgcmVzb3Vy Y2VzCj4gLSAqIEBwZGF0YTogIHBvd2VyIGhhbmRsZSBjb250YWluaW5nIHRoZSByZXNvdXJjZXMK PiAtICoKPiAtICogUmV0dXJuOiBlcnJvciBjb2RlLgo+IC0gKi8KPiAtdm9pZCBkcHVfcG93ZXJf cmVzb3VyY2VfZGVpbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCj4gLQlzdHJ1Y3Qg ZHB1X3Bvd2VyX2hhbmRsZSAqcGRhdGEpOwo+IC0KPiAtLyoqCj4gLSAqIGRwdV9wb3dlcl9yZXNv dXJjZV9lbmFibGUoKSAtIGVuYWJsZS9kaXNhYmxlIHRoZSBwb3dlciByZXNvdXJjZXMKPiAtICog QHBkYXRhOiAgcG93ZXIgaGFuZGxlIGNvbnRhaW5pbmcgdGhlIHJlc291cmNlcwo+IC0gKiBAZW5h YmxlOiBib29sZWFuIHJlcXVlc3QgZm9yIGVuYWJsZS9kaXNhYmxlCj4gLSAqCj4gLSAqIFJldHVy bjogZXJyb3IgY29kZS4KPiAtICovCj4gLWludCBkcHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKHN0 cnVjdCBkcHVfcG93ZXJfaGFuZGxlICpwZGF0YSwgYm9vbAo+IGVuYWJsZSk7Cj4gLQo+IC0vKioK PiAtICogZHB1X3Bvd2VyX2hhbmRsZV9yZWdpc3Rlcl9ldmVudCAtIHJlZ2lzdGVyIGEgY2FsbGJh Y2sgZnVuY3Rpb24gZm9yIAo+IGFuCj4gZXZlbnQuCj4gLSAqCUNsaWVudHMgY2FuIHJlZ2lzdGVy IGZvciBtdWx0aXBsZSBldmVudHMgd2l0aCBhIHNpbmdsZSByZWdpc3Rlci4KPiAtICoJQW55IGJs b2NrIHdpdGggYWNjZXNzIHRvIHBoYW5kbGUgY2FuIHJlZ2lzdGVyIGZvciB0aGUgZXZlbnQKPiAt ICoJbm90aWZpY2F0aW9uLgo+IC0gKiBAcGhhbmRsZToJcG93ZXIgaGFuZGxlIGNvbnRhaW5pbmcg dGhlIHJlc291cmNlcwo+IC0gKiBAZXZlbnRfdHlwZToJZXZlbnQgdHlwZSB0byByZWdpc3Rlcjsg cmVmZXIKPiBEUFVfUE9XRVJfSEFORExFX0VWRU5UXyoKPiAtICogQGNiX2ZuYzoJcG9pbnRlciB0 byBkZXNpcmVkIGNhbGxiYWNrIGZ1bmN0aW9uCj4gLSAqIEB1c3I6CXVzZXIgcG9pbnRlciB0byBw YXNzIHRvIGNhbGxiYWNrIG9uIGV2ZW50IHRyaWdnZXIKPiAtICoKPiAtICogUmV0dXJuOglldmVu dCBwb2ludGVyIGlmIHN1Y2Nlc3MsIG9yIGVycm9yIGNvZGUgb3RoZXJ3aXNlCj4gLSAqLwo+IC1z dHJ1Y3QgZHB1X3Bvd2VyX2V2ZW50ICpkcHVfcG93ZXJfaGFuZGxlX3JlZ2lzdGVyX2V2ZW50KAo+ IC0JCXN0cnVjdCBkcHVfcG93ZXJfaGFuZGxlICpwaGFuZGxlLAo+IC0JCXUzMiBldmVudF90eXBl LCB2b2lkICgqY2JfZm5jKSh1MzIgZXZlbnRfdHlwZSwgdm9pZCAqdXNyKSwKPiAtCQl2b2lkICp1 c3IsIGNoYXIgKmNsaWVudF9uYW1lKTsKPiAtLyoqCj4gLSAqIGRwdV9wb3dlcl9oYW5kbGVfdW5y ZWdpc3Rlcl9ldmVudCAtIHVucmVnaXN0ZXIgY2FsbGJhY2sgZm9yIAo+IGV2ZW50KHMpCj4gLSAq IEBwaGFuZGxlOglwb3dlciBoYW5kbGUgY29udGFpbmluZyB0aGUgcmVzb3VyY2VzCj4gLSAqIEBl dmVudDoJZXZlbnQgcG9pbnRlciByZXR1cm5lZCBhZnRlciBwb3dlciBoYW5kbGUgcmVnaXN0ZXIK PiAtICovCj4gLXZvaWQgZHB1X3Bvd2VyX2hhbmRsZV91bnJlZ2lzdGVyX2V2ZW50KHN0cnVjdCBk cHVfcG93ZXJfaGFuZGxlIAo+ICpwaGFuZGxlLAo+IC0JCXN0cnVjdCBkcHVfcG93ZXJfZXZlbnQg KmV2ZW50KTsKPiAtCj4gLSNlbmRpZiAvKiBfRFBVX1BPV0VSX0hBTkRMRV9IXyAqLwoKLS0gCkpl eWt1bWFyIFMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K RnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==