From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liviu Dudau Subject: Re: [PATCH v3 6/9] drm/komeda: Add komeda_framebuffer Date: Mon, 24 Dec 2018 12:15:23 +0000 Message-ID: <20181224121523.GH22341@e110455-lin.cambridge.arm.com> References: <20181221095757.15510-1-james.qian.wang@arm.com> <20181221095757.15510-7-james.qian.wang@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20181221095757.15510-7-james.qian.wang@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "james qian wang (Arm Technology China)" Cc: Mark Rutland , "linux-doc@vger.kernel.org" , "maxime.ripard@bootlin.com" , "Jonathan Chai (Arm Technology China)" , Alexandru-Cosmin Gheorghe , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "yamada.masahiro@socionext.com" , "Yiqi Kang (Arm Technology China)" , "mchehab+samsung@kernel.org" , "Tiannan Zhu (Arm Technology China)" , "corbet@lwn.net" , "airlied@linux.ie" , "malidp@foss.arm.com" , "thomas Sun (Arm Technology China)" , Ayan Halder , devicetree List-Id: devicetree@vger.kernel.org T24gRnJpLCBEZWMgMjEsIDIwMTggYXQgMTA6MDA6MTdBTSArMDAwMCwgamFtZXMgcWlhbiB3YW5n IChBcm0gVGVjaG5vbG9neSBDaGluYSkgd3JvdGU6Cj4ga29tZWRhX2ZyYW1lYnVmZmVyIGlzIGZv ciBleHRlbmRpbmcgZHJtX2ZyYW1lYnVmZmVyIHRvIGFkZCBrb21lZGEgb3duCj4gYXR0cmlidXRl cyBhbmQga29tZWRhIHNwZWNpZmljIGZiIGhhbmRsaW5nLgo+IAo+IENoYW5nZXMgaW4gdjM6Cj4g LSBGaXhlZCBzdHlsZSBwcm9ibGVtIGZvdW5kIGJ5IGNoZWNrcGF0Y2gucGwgLS1zdHJpY3QuCj4g Cj4gU2lnbmVkLW9mZi1ieTogSmFtZXMgKFFpYW4pIFdhbmcgPGphbWVzLnFpYW4ud2FuZ0Bhcm0u Y29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL01ha2VmaWxl ICAgfCAgIDMgKy0KPiAgLi4uL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZnJhbWVidWZmZXIu YyAgIHwgMTY1ICsrKysrKysrKysrKysrKysrKwo+ICAuLi4vYXJtL2Rpc3BsYXkva29tZWRhL2tv bWVkYV9mcmFtZWJ1ZmZlci5oICAgfCAgMzEgKysrKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDE5OCBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5jCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9m cmFtZWJ1ZmZlci5oCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxh eS9rb21lZGEvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL01h a2VmaWxlCj4gaW5kZXggMzk0ZmMyYWE0MzRhLi4yNWJlYWU5MDBlZDIgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9NYWtlZmlsZQo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvTWFrZWZpbGUKPiBAQCAtOCw3ICs4LDggQEAg a29tZWRhLXkgOj0gXAo+ICAJa29tZWRhX2Rydi5vIFwKPiAgCWtvbWVkYV9kZXYubyBcCj4gIAlr b21lZGFfZm9ybWF0X2NhcHMubyBcCj4gLQlrb21lZGFfcGlwZWxpbmUubwo+ICsJa29tZWRhX3Bp cGVsaW5lLm8gXAo+ICsJa29tZWRhX2ZyYW1lYnVmZmVyLm8KPiAgCj4gIGtvbWVkYS15ICs9IFwK PiAgCWQ3MS9kNzFfZGV2Lm8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfZnJhbWVidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlz cGxheS9rb21lZGEva29tZWRhX2ZyYW1lYnVmZmVyLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ IGluZGV4IDAwMDAwMDAwMDAwMC4uNGRkZDUzMTRjYTIzCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ZyYW1lYnVmZmVyLmMK PiBAQCAtMCwwICsxLDE2NSBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MAo+ICsvKgo+ICsgKiAoQykgQ09QWVJJR0hUIDIwMTggQVJNIExpbWl0ZWQuIEFsbCByaWdodHMg cmVzZXJ2ZWQuCj4gKyAqIEF1dGhvcjogSmFtZXMuUWlhbi5XYW5nIDxqYW1lcy5xaWFuLndhbmdA YXJtLmNvbT4KPiArICoKPiArICovCj4gKyNpbmNsdWRlIDxkcm0vZHJtX2dlbS5oPgo+ICsjaW5j bHVkZSA8ZHJtL2RybV9nZW1fZnJhbWVidWZmZXJfaGVscGVyLmg+Cj4gKyNpbmNsdWRlIDxkcm0v ZHJtX2ZiX2NtYV9oZWxwZXIuaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fZ2VtX2NtYV9oZWxwZXIu aD4KPiArI2luY2x1ZGUgImtvbWVkYV9mcmFtZWJ1ZmZlci5oIgo+ICsjaW5jbHVkZSAia29tZWRh X2Rldi5oIgo+ICsKPiArc3RhdGljIHZvaWQga29tZWRhX2ZiX2Rlc3Ryb3koc3RydWN0IGRybV9m cmFtZWJ1ZmZlciAqZmIpCj4gK3sKPiArCXN0cnVjdCBrb21lZGFfZmIgKmtmYiA9IHRvX2tmYihm Yik7Cj4gKwl1MzIgaTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgZmItPmZvcm1hdC0+bnVtX3Bs YW5lczsgaSsrKQo+ICsJCWRybV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChmYi0+b2JqW2ldKTsK PiArCj4gKwlkcm1fZnJhbWVidWZmZXJfY2xlYW51cChmYik7Cj4gKwlrZnJlZShrZmIpOwo+ICt9 Cj4gKwo+ICtzdGF0aWMgaW50IGtvbWVkYV9mYl9jcmVhdGVfaGFuZGxlKHN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKmZiLAo+ICsJCQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlLCB1MzIgKmhhbmRs ZSkKPiArewo+ICsJcmV0dXJuIGRybV9nZW1faGFuZGxlX2NyZWF0ZShmaWxlLCBmYi0+b2JqWzBd LCBoYW5kbGUpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZl cl9mdW5jcyBrb21lZGFfZmJfZnVuY3MgPSB7Cj4gKwkuZGVzdHJveQk9IGtvbWVkYV9mYl9kZXN0 cm95LAo+ICsJLmNyZWF0ZV9oYW5kbGUJPSBrb21lZGFfZmJfY3JlYXRlX2hhbmRsZSwKPiArfTsK PiArCj4gK3N0YXRpYyBpbnQKPiAra29tZWRhX2ZiX25vbmVfYWZiY19zaXplX2NoZWNrKHN0cnVj dCBrb21lZGFfZGV2ICptZGV2LCBzdHJ1Y3Qga29tZWRhX2ZiICprZmIsCj4gKwkJCSAgICAgICBz dHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4gKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX21vZGVf ZmJfY21kMiAqbW9kZV9jbWQpCgpOb3Qgc3VyZSB3aGF0IF9ub25lIHN0YW5kcyBmb3IgaGVyZSwg YnV0IG90aGVyd2lzZToKCkFja2VkLWJ5OiBMaXZpdSBEdWRhdSA8bGl2aXUuZHVkYXVAYXJtLmNv bT4KCkJlc3QgcmVnYXJkcywKTGl2aXUKCj4gK3sKPiArCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIg KmZiID0gJmtmYi0+YmFzZTsKPiArCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqOwo+ICsJdTMy IG1pbl9zaXplID0gMDsKPiArCXUzMiBpOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBmYi0+Zm9y bWF0LT5udW1fcGxhbmVzOyBpKyspIHsKPiArCQlvYmogPSBkcm1fZ2VtX29iamVjdF9sb29rdXAo ZmlsZSwgbW9kZV9jbWQtPmhhbmRsZXNbaV0pOwo+ICsJCWlmICghb2JqKSB7Cj4gKwkJCURSTV9E RUJVR19LTVMoIkZhaWxlZCB0byBsb29rdXAgR0VNIG9iamVjdFxuIik7Cj4gKwkJCWZiLT5vYmpb aV0gPSBOVUxMOwo+ICsKPiArCQkJcmV0dXJuIC1FTk9FTlQ7Cj4gKwkJfQo+ICsKPiArCQlrZmIt PmFsaWduZWRfdyA9IGZiLT53aWR0aCAvIChpID8gZmItPmZvcm1hdC0+aHN1YiA6IDEpOwo+ICsJ CWtmYi0+YWxpZ25lZF9oID0gZmItPmhlaWdodCAvIChpID8gZmItPmZvcm1hdC0+dnN1YiA6IDEp Owo+ICsKPiArCQlpZiAoZmItPnBpdGNoZXNbaV0gJSBtZGV2LT5jaGlwLmJ1c193aWR0aCkgewo+ ICsJCQlEUk1fREVCVUdfS01TKCJQaXRjaFslZF06IDB4JXggZG9lc24ndCBhbGlnbiB0byAweCV4 XG4iLAo+ICsJCQkJICAgICAgaSwgZmItPnBpdGNoZXNbaV0sIG1kZXYtPmNoaXAuYnVzX3dpZHRo KTsKPiArCQkJZHJtX2dlbV9vYmplY3RfcHV0X3VubG9ja2VkKG9iaik7Cj4gKwkJCWZiLT5vYmpb aV0gPSBOVUxMOwo+ICsKPiArCQkJcmV0dXJuIC1FSU5WQUw7Cj4gKwkJfQo+ICsKPiArCQltaW5f c2l6ZSA9ICgoa2ZiLT5hbGlnbmVkX2ggLyBrZmItPmZvcm1hdF9jYXBzLT50aWxlX3NpemUgLSAx KQo+ICsJCQkgICAgKiBmYi0+cGl0Y2hlc1tpXSkKPiArCQkJICAgICsgKGtmYi0+YWxpZ25lZF93 ICogZmItPmZvcm1hdC0+Y3BwW2ldCj4gKwkJCSAgICAgICAqIGtmYi0+Zm9ybWF0X2NhcHMtPnRp bGVfc2l6ZSkKPiArCQkJICAgICsgZmItPm9mZnNldHNbaV07Cj4gKwo+ICsJCWlmIChvYmotPnNp emUgPCBtaW5fc2l6ZSkgewo+ICsJCQlEUk1fREVCVUdfS01TKCJGYWlsIHRvIGNoZWNrIG5vbmUg YWZiYyBmYiBzaXplLlxuIik7Cj4gKwkJCWRybV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChvYmop Owo+ICsJCQlmYi0+b2JqW2ldID0gTlVMTDsKPiArCj4gKwkJCXJldHVybiAtRUlOVkFMOwo+ICsJ CX0KPiArCj4gKwkJZmItPm9ialtpXSA9IG9iajsKPiArCX0KPiArCj4gKwlpZiAoZmItPmZvcm1h dC0+bnVtX3BsYW5lcyA9PSAzKSB7Cj4gKwkJaWYgKGZiLT5waXRjaGVzWzFdICE9IGZiLT5waXRj aGVzWzJdKSB7Cj4gKwkJCURSTV9ERUJVR19LTVMoIlRoZSBwaXRjaFsxXSBhbmQgWzJdIGFyZSBu b3Qgc2FtZVxuIik7Cj4gKwkJCXJldHVybiAtRUlOVkFMOwo+ICsJCX0KPiArCX0KPiArCj4gKwly ZXR1cm4gMDsKPiArfQo+ICsKPiArc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqCj4gK2tvbWVkYV9m Yl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+ ICsJCSBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQpCj4gK3sKPiArCXN0 cnVjdCBrb21lZGFfZGV2ICptZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiArCXN0cnVjdCBrb21l ZGFfZmIgKmtmYjsKPiArCWludCByZXQgPSAwLCBpOwo+ICsKPiArCWtmYiA9IGt6YWxsb2Moc2l6 ZW9mKCprZmIpLCBHRlBfS0VSTkVMKTsKPiArCWlmICgha2ZiKQo+ICsJCXJldHVybiBFUlJfUFRS KC1FTk9NRU0pOwo+ICsKPiArCWtmYi0+Zm9ybWF0X2NhcHMgPSBrb21lZGFfZ2V0X2Zvcm1hdF9j YXBzKCZtZGV2LT5mbXRfdGJsLAo+ICsJCQkJCQkgIG1vZGVfY21kLT5waXhlbF9mb3JtYXQsCj4g KwkJCQkJCSAgbW9kZV9jbWQtPm1vZGlmaWVyWzBdKTsKPiArCWlmICgha2ZiLT5mb3JtYXRfY2Fw cykgewo+ICsJCURSTV9ERUJVR19LTVMoIkZNVCAleCBpcyBub3Qgc3VwcG9ydGVkLlxuIiwKPiAr CQkJICAgICAgbW9kZV9jbWQtPnBpeGVsX2Zvcm1hdCk7Cj4gKwkJa2ZyZWUoa2ZiKTsKPiArCQly ZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKPiArCX0KPiArCj4gKwlkcm1faGVscGVyX21vZGVfZmls bF9mYl9zdHJ1Y3QoZGV2LCAma2ZiLT5iYXNlLCBtb2RlX2NtZCk7Cj4gKwo+ICsJcmV0ID0ga29t ZWRhX2ZiX25vbmVfYWZiY19zaXplX2NoZWNrKG1kZXYsIGtmYiwgZmlsZSwgbW9kZV9jbWQpOwo+ ICsJaWYgKHJldCA8IDApCj4gKwkJZ290byBlcnJfY2xlYW51cDsKPiArCj4gKwlyZXQgPSBkcm1f ZnJhbWVidWZmZXJfaW5pdChkZXYsICZrZmItPmJhc2UsICZrb21lZGFfZmJfZnVuY3MpOwo+ICsJ aWYgKHJldCA8IDApIHsKPiArCQlEUk1fREVCVUdfS01TKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBm YlxuIik7Cj4gKwo+ICsJCWdvdG8gZXJyX2NsZWFudXA7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuICZr ZmItPmJhc2U7Cj4gKwo+ICtlcnJfY2xlYW51cDoKPiArCWZvciAoaSA9IDA7IGkgPCBrZmItPmJh c2UuZm9ybWF0LT5udW1fcGxhbmVzOyBpKyspCj4gKwkJZHJtX2dlbV9vYmplY3RfcHV0X3VubG9j a2VkKGtmYi0+YmFzZS5vYmpbaV0pOwo+ICsKPiArCWtmcmVlKGtmYik7Cj4gKwlyZXR1cm4gRVJS X1BUUihyZXQpOwo+ICt9Cj4gKwo+ICtkbWFfYWRkcl90Cj4gK2tvbWVkYV9mYl9nZXRfcGl4ZWxf YWRkcihzdHJ1Y3Qga29tZWRhX2ZiICprZmIsIGludCB4LCBpbnQgeSwgaW50IHBsYW5lKQo+ICt7 Cj4gKwlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9ICZrZmItPmJhc2U7Cj4gKwljb25zdCBz dHJ1Y3QgZHJtX2dlbV9jbWFfb2JqZWN0ICpvYmo7Cj4gKwl1MzIgcGxhbmVfeCwgcGxhbmVfeSwg Y3BwLCBwaXRjaCwgb2Zmc2V0Owo+ICsKPiArCWlmIChwbGFuZSA+IGZiLT5mb3JtYXQtPm51bV9w bGFuZXMpIHsKPiArCQlEUk1fREVCVUdfS01TKCJPdXQgb2YgbWF4IHBsYW5lIG51bS5cbiIpOwo+ ICsJCXJldHVybiAtRUlOVkFMOwo+ICsJfQo+ICsKPiArCW9iaiA9IGRybV9mYl9jbWFfZ2V0X2dl bV9vYmooZmIsIHBsYW5lKTsKPiArCj4gKwlvZmZzZXQgPSBmYi0+b2Zmc2V0c1twbGFuZV07Cj4g KwlpZiAoIWZiLT5tb2RpZmllcikgewo+ICsJCXBsYW5lX3ggPSB4IC8gKHBsYW5lID8gZmItPmZv cm1hdC0+aHN1YiA6IDEpOwo+ICsJCXBsYW5lX3kgPSB5IC8gKHBsYW5lID8gZmItPmZvcm1hdC0+ dnN1YiA6IDEpOwo+ICsJCWNwcCA9IGZiLT5mb3JtYXQtPmNwcFtwbGFuZV07Cj4gKwkJcGl0Y2gg PSBmYi0+cGl0Y2hlc1twbGFuZV07Cj4gKwkJb2Zmc2V0ICs9IHBsYW5lX3ggKiBjcHAgKiAga2Zi LT5mb3JtYXRfY2Fwcy0+dGlsZV9zaXplICsKPiArCQkJCShwbGFuZV95ICogcGl0Y2gpIC8ga2Zi LT5mb3JtYXRfY2Fwcy0+dGlsZV9zaXplOwo+ICsJfQo+ICsKPiArCXJldHVybiBvYmotPnBhZGRy ICsgb2Zmc2V0Owo+ICt9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxh eS9rb21lZGEva29tZWRhX2ZyYW1lYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBp bmRleCAwMDAwMDAwMDAwMDAuLjM4Mzc4MDAxM2JiOQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5oCj4g QEAgLTAsMCArMSwzMSBAQAo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCAq Lwo+ICsvKgo+ICsgKiAoQykgQ09QWVJJR0hUIDIwMTggQVJNIExpbWl0ZWQuIEFsbCByaWdodHMg cmVzZXJ2ZWQuCj4gKyAqIEF1dGhvcjogSmFtZXMuUWlhbi5XYW5nIDxqYW1lcy5xaWFuLndhbmdA YXJtLmNvbT4KPiArICoKPiArICovCj4gKyNpZm5kZWYgX0tPTUVEQV9GUkFNRUJVRkZFUl9IXwo+ ICsjZGVmaW5lIF9LT01FREFfRlJBTUVCVUZGRVJfSF8KPiArCj4gKy8qKiBzdHJ1Y3Qga29tZWRh X2ZiIC0gZW50ZW5kIGRybV9mcmFtZWJ1ZmZlciB3aXRoIGtvbWVkYSBhdHRyaWJ1dGUgKi8KPiAr c3RydWN0IGtvbWVkYV9mYiB7Cj4gKwkvKiogQGJhc2U6ICZkcm1fZnJhbWVidWZmZXIgKi8KPiAr CXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgYmFzZTsKPiArCS8qIEBmb3JtYXRfY2FwczogJmtvbWVk YV9mb3JtYXRfY2FwcyAqLwo+ICsJY29uc3Qgc3RydWN0IGtvbWVkYV9mb3JtYXRfY2FwcyAqZm9y bWF0X2NhcHM7Cj4gKwkvKiogQGFsaWduZWRfdzogYWxpZ25lZCBmcmFtZSBidWZmZXIgd2lkdGgg Ki8KPiArCXUzMiBhbGlnbmVkX3c7Cj4gKwkvKiogQGFsaWduZWRfaDogYWxpZ25lZCBmcmFtZSBi dWZmZXIgaGVpZ2h0ICovCj4gKwl1MzIgYWxpZ25lZF9oOwo+ICt9Owo+ICsKPiArI2RlZmluZSB0 b19rZmIoZGZiKQljb250YWluZXJfb2YoZGZiLCBzdHJ1Y3Qga29tZWRhX2ZiLCBiYXNlKQo+ICsK PiArc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqCj4gK2tvbWVkYV9mYl9jcmVhdGUoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+ICsJCSBjb25zdCBzdHJ1Y3Qg ZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQpOwo+ICtkbWFfYWRkcl90Cj4gK2tvbWVkYV9mYl9n ZXRfcGl4ZWxfYWRkcihzdHJ1Y3Qga29tZWRhX2ZiICprZmIsIGludCB4LCBpbnQgeSwgaW50IHBs YW5lKTsKPiArYm9vbCBrb21lZGFfZmJfaXNfbGF5ZXJfc3VwcG9ydGVkKHN0cnVjdCBrb21lZGFf ZmIgKmtmYiwgdTMyIGxheWVyX3R5cGUpOwo+ICsKPiArI2VuZGlmCj4gLS0gCj4gMi4xNy4xCj4g CgotLSAKPT09PT09PT09PT09PT09PT09PT0KfCBJIHdvdWxkIGxpa2UgdG8gfAp8IGZpeCB0aGUg d29ybGQsICB8CnwgYnV0IHRoZXkncmUgbm90IHwKfCBnaXZpbmcgbWUgdGhlICAgfAogXCBzb3Vy Y2UgY29kZSEgIC8KICAtLS0tLS0tLS0tLS0tLS0KICAgIMKvXF8o44OEKV8vwq8KX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==