From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [DPU PATCH 1/6] drm/msm: remove display stream compression(DSC) support for SM845 Date: Tue, 17 Apr 2018 16:41:32 -0400 Message-ID: <20180417204132.GP73214@art_vandelay> References: <1523902941-2253-1-git-send-email-jsanka@codeaurora.org> <1523902941-2253-2-git-send-email-jsanka@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: <1523902941-2253-2-git-send-email-jsanka@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jeykumar Sankaran Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, hoegsberg@google.com, freedreno@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org T24gTW9uLCBBcHIgMTYsIDIwMTggYXQgMTE6MjI6MTZBTSAtMDcwMCwgSmV5a3VtYXIgU2Fua2Fy YW4gd3JvdGU6Cj4gVXBzdHJlYW0gRFNJIGRyaXZlciBkb2Vzbid0IHN1cHBvcnQgRFNDIHBhbmVs cyB5ZXQuIFJlbW92ZQo+IHRoZSBzdXBwb3J0IGZvciBjb21wcmVzc2lvbiBmcm9tIERQVSBmb3Ig bm93Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IEpleWt1bWFyIFNhbmthcmFuIDxqc2Fua2FAY29kZWF1 cm9yYS5vcmc+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vTWFrZWZpbGUgICAgICAgICAg ICAgICAgICAgICAgIHwgICAxIC0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2Nvbm5lY3Rvci5jICAgICAgfCAgIDQgLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfY3J0Yy5oICAgICAgICAgICB8ICAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfZW5jb2Rlci5jICAgICAgICB8IDQ3NiArLS0tLS0tLS0tLS0tLS0tLS0tLS0K PiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuaCAgICAgICAgfCAg MTQgLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzLmgg ICB8ICAgNyArLQo+ICAuLi4vZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNf Y21kLmMgICB8ICAgMSAtCj4gIC4uLi9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJf cGh5c192aWQuYyAgIHwgICA3ICstCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9od19jYXRhbG9nLmMgICAgIHwgIDI1IC0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9od19jYXRhbG9nLmggICAgIHwgIDE2IC0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2h3X2RzYy5jICAgICAgICAgfCAyNTIgLS0tLS0tLS0tLS0KPiAgZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2RzYy5oICAgICAgICAgfCAxMDAgLS0tLS0K PiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X21kc3MuaCAgICAgICAgfCAg MTcgKy0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3Bpbmdwb25nLmMg ICAgfCAgNDggLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19waW5n cG9uZy5oICAgIHwgIDIyIC0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3 X3RvcC5jICAgICAgICAgfCAgMTMgLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfaHdfdG9wLmggICAgICAgICB8ICAgNyAtCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9ybS5jICAgICAgICAgICAgIHwgIDU1IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfcm0uaCAgICAgICAgICAgICB8ICAgOCAtCj4gIGRyaXZlcnMvZ3B1L2Ry bS9tc20vbXNtX2Rydi5oICAgICAgICAgICAgICAgICAgICAgIHwgIDE2IC0KPiAgMjAgZmlsZXMg Y2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxMDg0IGRlbGV0aW9ucygtKQo+ICBkZWxldGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2RzYy5jCj4gIGRl bGV0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfZHNj LmgKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9NYWtlZmlsZSBiL2RyaXZl cnMvZ3B1L2RybS9tc20vTWFrZWZpbGUKPiBpbmRleCA5YzI3OTkxLi5iMjNhMDAxIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vTWFrZWZpbGUKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vbXNtL01ha2VmaWxlCj4gQEAgLTY0LDcgKzY0LDYgQEAgbXNtLXkgOj0gXAo+ICAJZGlzcC9k cHUxL2RwdV9od19jb2xvcl9wcm9jZXNzaW5nX3YxXzcubyBcCj4gIAlkaXNwL2RwdTEvZHB1X2h3 X2N0bC5vIFwKPiAgCWRpc3AvZHB1MS9kcHVfaHdfZHMubyBcCj4gLQlkaXNwL2RwdTEvZHB1X2h3 X2RzYy5vIFwKPiAgCWRpc3AvZHB1MS9kcHVfaHdfZHNwcC5vIFwKPiAgCWRpc3AvZHB1MS9kcHVf aHdfaW50ZXJydXB0cy5vIFwKPiAgCWRpc3AvZHB1MS9kcHVfaHdfaW50Zi5vIFwKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Nvbm5lY3Rvci5jIGIvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Nvbm5lY3Rvci5jCj4gaW5kZXggMzY2MDdl My4uMTIzN2VmYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfY29ubmVjdG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf Y29ubmVjdG9yLmMKPiBAQCAtMzksMTIgKzM5LDggQEAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fcHJvcF9lbnVtX2xpc3QgZV90b3BvbG9neV9uYW1lW10gPSB7Cj4gIAl7RFBVX1JNX1RPUE9M T0dZX05PTkUsCSJkcHVfbm9uZSJ9LAo+ICAJe0RQVV9STV9UT1BPTE9HWV9TSU5HTEVQSVBFLAki ZHB1X3NpbmdsZXBpcGUifSwKPiAtCXtEUFVfUk1fVE9QT0xPR1lfU0lOR0xFUElQRV9EU0MsCSJk cHVfc2luZ2xlcGlwZV9kc2MifSwKPiAgCXtEUFVfUk1fVE9QT0xPR1lfRFVBTFBJUEUsCSJkcHVf ZHVhbHBpcGUifSwKPiAtCXtEUFVfUk1fVE9QT0xPR1lfRFVBTFBJUEVfRFNDLAkiZHB1X2R1YWxw aXBlX2RzYyJ9LAo+ICAJe0RQVV9STV9UT1BPTE9HWV9EVUFMUElQRV8zRE1FUkdFLAkiZHB1X2R1 YWxwaXBlbWVyZ2UifSwKPiAtCXtEUFVfUk1fVE9QT0xPR1lfRFVBTFBJUEVfM0RNRVJHRV9EU0Ms CSJkcHVfZHVhbHBpcGVtZXJnZV9kc2MifSwKPiAtCXtEUFVfUk1fVE9QT0xPR1lfRFVBTFBJUEVf RFNDTUVSR0UsCSJkcHVfZHVhbHBpcGVfZHNjbWVyZ2UifSwKPiAgCXtEUFVfUk1fVE9QT0xPR1lf UFBTUExJVCwJImRwdV9wcHNwbGl0In0sCj4gIH07Cj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJt X3Byb3BfZW51bV9saXN0IGVfdG9wb2xvZ3lfY29udHJvbFtdID0gewo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaAo+IGluZGV4IDg3NTZiMmIuLmZhZGU2NTggMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmgKPiBAQCAtMTQ3LDcgKzE0 Nyw3IEBAIHN0cnVjdCBkcHVfY3J0Y19ldmVudCB7Cj4gICAqIEBudW1fY3RscyAgICAgIDogTnVt YmVyIG9mIGN0bCBwYXRocyBpbiB1c2UKPiAgICogQG51bV9taXhlcnMgICAgOiBOdW1iZXIgb2Yg bWl4ZXJzIGluIHVzZQo+ICAgKiBAbWl4ZXJzX3N3YXBwZWQ6IFdoZXRoZXIgdGhlIG1peGVycyBo YXZlIGJlZW4gc3dhcHBlZCBmb3IgbGVmdC9yaWdodCB1cGRhdGUKPiAtICogICAgICAgICAgICAg ICAgICBlc3BlY2lhbGx5IGluIHRoZSBjYXNlIG9mIERTQyBNZXJnZS4KPiArCQkJCQllc3BlY2lh bGx5IGluIHRoZSBjYXNlIG9mIERTQyBNZXJnZS4KPiAgICogQG1peGVycyAgICAgICAgOiBMaXN0 IG9mIGFjdGl2ZSBtaXhlcnMKPiAgICogQGV2ZW50ICAgICAgICAgOiBQb2ludGVyIHRvIGxhc3Qg cmVjZWl2ZWQgZHJtIHZibGFuayBldmVudC4gSWYgdGhlcmUgaXMgYQo+ICAgKiAgICAgICAgICAg ICAgICAgIHBlbmRpbmcgdmJsYW5rIGV2ZW50LCB0aGlzIHdpbGwgYmUgbm9uLW51bGwuCgpVbnJl bGF0ZWQgY2hhbmdlCgo8c25pcCAvPgoKPiAgc3RhdGljIHZvaWQgX2RwdV9lbmNvZGVyX3VwZGF0 ZV92c3luY19zb3VyY2Uoc3RydWN0IGRwdV9lbmNvZGVyX3ZpcnQgKmRwdV9lbmMsCj4gIAkJCXN0 cnVjdCBtc21fZGlzcGxheV9pbmZvICpkaXNwX2luZm8pCj4gIHsKPiBAQCAtMTEwOSwxMDIgKzc2 MSw4IEBAIHN0YXRpYyB2b2lkIF9kcHVfZW5jb2Rlcl91cGRhdGVfdnN5bmNfc291cmNlKHN0cnVj dCBkcHVfZW5jb2Rlcl92aXJ0ICpkcHVfZW5jLAo+ICAKPiAgCQlod19tZHB0b3AtPm9wcy5zZXR1 cF92c3luY19zb3VyY2UoaHdfbWRwdG9wLCAmdnN5bmNfY2ZnKTsKPiAgCX0KPiAtfQo+IC0KPiAt c3RhdGljIGludCBfZHB1X2VuY29kZXJfZHNjX2Rpc2FibGUoc3RydWN0IGRwdV9lbmNvZGVyX3Zp cnQgKmRwdV9lbmMpCj4gLXsKPiAtCWVudW0gZHB1X3JtX3RvcG9sb2d5X25hbWUgdG9wb2xvZ3k7 Cj4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqZHJtX2Nvbm47Cj4gLQlpbnQgaSwgcmV0ID0gMDsK PiAtCXN0cnVjdCBkcHVfaHdfcGluZ3BvbmcgKmh3X3BwW01BWF9DSEFOTkVMU19QRVJfRU5DXTsK PiAtCXN0cnVjdCBkcHVfaHdfZHNjICpod19kc2NbTUFYX0NIQU5ORUxTX1BFUl9FTkNdID0ge05V TEx9Owo+IC0JaW50IHBwX2NvdW50ID0gMDsKPiAtCWludCBkc2NfY291bnQgPSAwOwo+IC0KPiAt CWlmICghZHB1X2VuYyB8fCAhZHB1X2VuYy0+cGh5c19lbmNzWzBdIHx8Cj4gLQkJCSFkcHVfZW5j LT5waHlzX2VuY3NbMF0tPmNvbm5lY3Rvcikgewo+IC0JCURQVV9FUlJPUigiaW52YWxpZCBwYXJh bXMgJWQgJWRcbiIsCj4gLQkJCSFkcHVfZW5jLCBkcHVfZW5jID8gIWRwdV9lbmMtPnBoeXNfZW5j c1swXSA6IC0xKTsKPiAtCQlyZXR1cm4gLUVJTlZBTDsKPiAtCX0KPiAtCj4gLQlkcm1fY29ubiA9 IGRwdV9lbmMtPnBoeXNfZW5jc1swXS0+Y29ubmVjdG9yOwo+IC0KPiAtCXRvcG9sb2d5ID0gZHB1 X2Nvbm5lY3Rvcl9nZXRfdG9wb2xvZ3lfbmFtZShkcm1fY29ubik7Cj4gLQlpZiAodG9wb2xvZ3kg PT0gRFBVX1JNX1RPUE9MT0dZX05PTkUpIHsKPiAtCQlEUFVfRVJST1JfRU5DKGRwdV9lbmMsICJ0 b3BvbG9neSBub3Qgc2V0IHlldFxuIik7Cj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4gLQl9Cj4gLQo+ IC0Jc3dpdGNoICh0b3BvbG9neSkgewo+IC0JY2FzZSBEUFVfUk1fVE9QT0xPR1lfU0lOR0xFUElQ RToKPiAtCWNhc2UgRFBVX1JNX1RPUE9MT0dZX1NJTkdMRVBJUEVfRFNDOgo+IC0JCS8qIHNpbmds ZSBQUCAqLwo+IC0JCWh3X3BwWzBdID0gZHB1X2VuYy0+aHdfcHBbMF07Cj4gLQkJaHdfZHNjWzBd ID0gZHB1X2VuYy0+aHdfZHNjWzBdOwo+IC0JCXBwX2NvdW50ID0gMTsKPiAtCQlkc2NfY291bnQg PSAxOwo+IC0JCWJyZWFrOwo+IC0JY2FzZSBEUFVfUk1fVE9QT0xPR1lfRFVBTFBJUEVfRFNDOgo+ IC0JY2FzZSBEUFVfUk1fVE9QT0xPR1lfRFVBTFBJUEVfM0RNRVJHRV9EU0M6Cj4gLQljYXNlIERQ VV9STV9UT1BPTE9HWV9EVUFMUElQRV9EU0NNRVJHRToKPiAtCQkvKiBkdWFsIGRzYyAqLwo+IC0J CWZvciAoaSA9IDA7IGkgPCBNQVhfQ0hBTk5FTFNfUEVSX0VOQzsgaSsrKSB7Cj4gLQkJCWh3X2Rz Y1tpXSA9IGRwdV9lbmMtPmh3X2RzY1tpXTsKPiAtCQkJaWYgKGh3X2RzY1tpXSkKPiAtCQkJCWRz Y19jb3VudCsrOwo+IC0JCX0KPiAtCQkvKiBmYWxsIHRocm91Z2ggKi8KPiAtCWNhc2UgRFBVX1JN X1RPUE9MT0dZX0RVQUxQSVBFOgo+IC0JY2FzZSBEUFVfUk1fVE9QT0xPR1lfRFVBTFBJUEVfM0RN RVJHRToKPiAtCQkvKiBkdWFsIHBwICovCj4gLQkJZm9yIChpID0gMDsgaSA8IE1BWF9DSEFOTkVM U19QRVJfRU5DOyBpKyspIHsKPiAtCQkJaHdfcHBbaV0gPSBkcHVfZW5jLT5od19wcFtpXTsKPiAt CQkJaWYgKGh3X3BwW2ldKQo+IC0JCQkJcHBfY291bnQrKzsKPiAtCQl9Cj4gLQkJYnJlYWs7Cj4g LQlkZWZhdWx0Ogo+IC0JCURQVV9ERUJVR19FTkMoZHB1X2VuYywgIlVuZXhwZWN0ZWQgdG9wb2xv Z3k6JWRcbiIsIHRvcG9sb2d5KTsKPiAtCQlyZXR1cm4gLUVJTlZBTDsKPiAtCX07Cj4gLQo+IC0J RFBVX0VWVDMyKERSTUlEKCZkcHVfZW5jLT5iYXNlKSwgdG9wb2xvZ3ksIHBwX2NvdW50LCBkc2Nf Y291bnQpOwo+IC0KPiAtCWlmIChwcF9jb3VudCA+IE1BWF9DSEFOTkVMU19QRVJfRU5DIHx8Cj4g LQkJZHNjX2NvdW50ID4gTUFYX0NIQU5ORUxTX1BFUl9FTkMpIHsKPiAtCQlEUFVfRVJST1JfRU5D KGRwdV9lbmMsICJXcm9uZyBjb3VudCBwcDolZCBkc2M6JWQgdG9wOiVkXG4iLAo+IC0JCQkJcHBf Y291bnQsIGRzY19jb3VudCwgdG9wb2xvZ3kpOwo+IC0JCXJldHVybiAtRUlOVkFMOwo+IC0JfQo+ IC0KPiAtCS8qIERpc2FibGUgRFNDIGZvciBhbGwgdGhlIHBwJ3MgcHJlc2VudCBpbiB0aGlzIHRv cG9sb2d5ICovCj4gLQlmb3IgKGkgPSAwOyBpIDwgcHBfY291bnQ7IGkrKykgewo+IC0KPiAtCQlp ZiAoIWh3X3BwW2ldKSB7Cj4gLQkJCURQVV9FUlJPUl9FTkMoZHB1X2VuYywgIm51bGwgcHA6JWQg dG9wOiVkIGNudDolZFxuIiwKPiAtCQkJCQlpLCB0b3BvbG9neSwgcHBfY291bnQpOwo+IC0JCQly ZXR1cm4gLUVJTlZBTDsKPiAtCQl9Cj4gLQo+IC0JCWlmIChod19wcFtpXS0+b3BzLmRpc2FibGVf ZHNjKQo+IC0JCQlod19wcFtpXS0+b3BzLmRpc2FibGVfZHNjKGh3X3BwW2ldKTsKPiAtCX0KPiAt Cj4gLQkvKiBEaXNhYmxlIERTQyBIVyAqLwo+IC0JZm9yIChpID0gMDsgaSA8IGRzY19jb3VudDsg aSsrKSB7Cj4gLQo+IC0JCWlmICghaHdfZHNjW2ldKSB7Cj4gLQkJCURQVV9FUlJPUl9FTkMoZHB1 X2VuYywgIm51bGwgZHNjOiVkIHRvcDolZCBjbnQ6JWRcbiIsCj4gLQkJCQkJaSwgdG9wb2xvZ3ks IGRzY19jb3VudCk7Cj4gLQkJCXJldHVybiAtRUlOVkFMOwo+IC0JCX0KPiAtCj4gLQkJaWYgKGh3 X2RzY1tpXS0+b3BzLmRzY19kaXNhYmxlKQo+IC0JCQlod19kc2NbaV0tPm9wcy5kc2NfZGlzYWJs ZShod19kc2NbaV0pOwo+IC0JfQo+ICAKPiAtCXJldHVybiByZXQ7Cj4gKwlyZXR1cm47CgpVbm5l Y2Vzc2FyeSByZXR1cm4KCjxzbmlwIC8+Cgo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9lbmNvZGVyX3BoeXMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9lbmNvZGVyX3BoeXMuaAo+IEBAIC0yMzIsNyArMjMyLDYgQEAgc3RydWN0IGRw dV9lbmNvZGVyX2lycSB7Cj4gICAqIEBzcGxpdF9yb2xlOgkJUm9sZSB0byBwbGF5IGluIGEgc3Bs aXQtcGFuZWwgY29uZmlndXJhdGlvbgo+ICAgKiBAaW50Zl9tb2RlOgkJSW50ZXJmYWNlIG1vZGUK PiAgICogQGludGZfaWR4OgkJSW50ZXJmYWNlIGluZGV4IG9uIGRwdSBoYXJkd2FyZQo+IC0gKiBA Y29tcF90eXBlOiAgICAgIFR5cGUgb2YgY29tcHJlc3Npb24gc3VwcG9ydGVkCj4gICAqIEBlbmNf c3BpbmxvY2s6CVZpcnR1YWwtRW5jb2Rlci1XaWRlIFNwaW4gTG9jayBmb3IgSVJRIHB1cnBvc2Vz Cj4gICAqIEBlbmFibGVfc3RhdGU6CUVuYWJsZSBzdGF0ZSB0cmFja2luZwo+ICAgKiBAdmJsYW5r X3JlZmNvdW50OglSZWZlcmVuY2UgY291bnQgb2YgdmJsYW5rIHJlcXVlc3QKPiBAQCAtMjYyLDcg KzI2MSw2IEBAIHN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzIHsKPiAgCWVudW0gZHB1X2VuY19zcGxp dF9yb2xlIHNwbGl0X3JvbGU7Cj4gIAllbnVtIGRwdV9pbnRmX21vZGUgaW50Zl9tb2RlOwo+ICAJ ZW51bSBkcHVfaW50ZiBpbnRmX2lkeDsKPiAtCWVudW0gbXNtX2Rpc3BsYXlfY29tcHJlc3Npb25f dHlwZSBjb21wX3R5cGU7Cj4gIAlzcGlubG9ja190ICplbmNfc3BpbmxvY2s7Cj4gIAllbnVtIGRw dV9lbmNfZW5hYmxlX3N0YXRlIGVuYWJsZV9zdGF0ZTsKPiAgCWF0b21pY190IHZibGFua19yZWZj b3VudDsKPiBAQCAtMzg0LDcgKzM4Miw2IEBAIHN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzX3diIHsK PiAgICogQHNwbGl0X3JvbGU6CQlSb2xlIHRvIHBsYXkgaW4gYSBzcGxpdC1wYW5lbCBjb25maWd1 cmF0aW9uCj4gICAqIEBpbnRmX2lkeDoJCUludGVyZmFjZSBpbmRleCB0aGlzIHBoeXNfZW5jIHdp bGwgY29udHJvbAo+ICAgKiBAd2JfaWR4OgkJV3JpdGViYWNrIGluZGV4IHRoaXMgcGh5c19lbmMg d2lsbCBjb250cm9sCj4gLSAqIEBjb21wX3R5cGU6ICAgICAgVHlwZSBvZiBjb21wcmVzc2lvbiBz dXBwb3J0ZWQKPiAgICogQGVuY19zcGlubG9jazoJVmlydHVhbC1FbmNvZGVyLVdpZGUgU3BpbiBM b2NrIGZvciBJUlEgcHVycG9zZXMKPiAgICovCj4gIHN0cnVjdCBkcHVfZW5jX3BoeXNfaW5pdF9w YXJhbXMgewo+IEBAIC0zOTQsNyArMzkxLDYgQEAgc3RydWN0IGRwdV9lbmNfcGh5c19pbml0X3Bh cmFtcyB7Cj4gIAllbnVtIGRwdV9lbmNfc3BsaXRfcm9sZSBzcGxpdF9yb2xlOwo+ICAJZW51bSBk cHVfaW50ZiBpbnRmX2lkeDsKPiAgCWVudW0gZHB1X3diIHdiX2lkeDsKPiAtCWVudW0gbXNtX2Rp c3BsYXlfY29tcHJlc3Npb25fdHlwZSBjb21wX3R5cGU7Cj4gIAlzcGlubG9ja190ICplbmNfc3Bp bmxvY2s7Cj4gIH07Cj4gIAo+IEBAIC00NzksOCArNDc1LDcgQEAgc3RhdGljIGlubGluZSBlbnVt IGRwdV8zZF9ibGVuZF9tb2RlIGRwdV9lbmNvZGVyX2hlbHBlcl9nZXRfM2RfYmxlbmRfbW9kZSgK PiAgCj4gIAl0b3BvbG9neSA9IGRwdV9jb25uZWN0b3JfZ2V0X3RvcG9sb2d5X25hbWUocGh5c19l bmMtPmNvbm5lY3Rvcik7Cj4gIAlpZiAocGh5c19lbmMtPnNwbGl0X3JvbGUgPT0gRU5DX1JPTEVf U09MTyAmJgo+IC0JCQkodG9wb2xvZ3kgPT0gRFBVX1JNX1RPUE9MT0dZX0RVQUxQSVBFXzNETUVS R0UgfHwKPiAtCQkJIHRvcG9sb2d5ID09IERQVV9STV9UT1BPTE9HWV9EVUFMUElQRV8zRE1FUkdF X0RTQykpCj4gKwkJdG9wb2xvZ3kgPT0gRFBVX1JNX1RPUE9MT0dZX0RVQUxQSVBFXzNETUVSR0Up CgpuaXQ6IHRoZSBhbGlnbm1lbnQgaXMgc3RpbGwgb2ZmLCBpdCBzaG91bGQgbGluZSB1cCB3aXRo IHRoZSBwcmV2aW91cyBjb25kaXRpb24sIGllOgogICAgICAgIGlmIChwaHlzX2VuYy0+c3BsaXRf cm9sZSA9PSBFTkNfUk9MRV9TT0xPICYmCiAgICAgICAgICAgIHRvcG9sb2d5ID09IERQVV9STV9U T1BPTE9HWV9EVUFMUElQRV8zRE1FUkdFKQoKPiAgCQlyZXR1cm4gQkxFTkRfM0RfSF9ST1dfSU5U Owo+ICAKPiAgCXJldHVybiBCTEVORF8zRF9OT05FOwoKPHNuaXAgLz4KCk9uY2UgdGhlIG5pdHMg YXJlIGZpeGVkLCBwbGVhc2UgYWRkIG15CgpSZXZpZXdlZC1ieTogU2VhbiBQYXVsIDxzZWFucGF1 bEBjaHJvbWl1bS5vcmc+CgpUaGFua3MsCgpTZWFuCgo+IAo+IC0tCj4gVG8gdW5zdWJzY3JpYmUg ZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIGxpbnV4LWFybS1tc20i IGluCj4gdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcK PiBNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9yZG9t by1pbmZvLmh0bWwKCi0tIApTZWFuIFBhdWwsIFNvZnR3YXJlIEVuZ2luZWVyLCBHb29nbGUgLyBD aHJvbWl1bSBPUwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK