From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/4] drm/i915/dsi: Fix pipe_bpp for handling for 6 bpc pixel-formats Date: Tue, 15 Jan 2019 16:51:20 +0200 Message-ID: <20190115145120.GJ20097@intel.com> References: <20181201113148.23184-1-hdegoede@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20181201113148.23184-1-hdegoede@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Hans de Goede Cc: intel-gfx , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gU2F0LCBEZWMgMDEsIDIwMTggYXQgMTI6MzE6NDVQTSArMDEwMCwgSGFucyBkZSBHb2VkZSB3 cm90ZToKPiBUaGVyZSBhcmUgMyBwcm9ibGVtcyB3aXRoIHRoZSBkc2kgY29kZSdzIHBpcGVfYnBw IGhhbmRsaW5nIGZvciA2IGJwYwo+IHBpeGVsLWZvcm1hdHMgd2hpY2ggdGhpcyBjb21taXQgYWRk cmVzc2VzOgo+IAo+IDEpIEl0IGFzc3VtZXMgdGhhdCB0aGUgcGlwZV9icHAgaXMgdGhlIHNhbWUg YXMgdGhlIGJwcCBnb2luZyBvdmVyIHRoZSBkc2kKPiBsYW5lcy4gVGhpcyBhc3N1bXB0aW9uIGlz IG5vdCB2YWxpZCBmb3IgTUlQSV9EU0lfRk1UX1JHQjY2Niwgd2hlcmUgcGlwZV9icHAKPiBzaG91 bGQgYmUgMTggc28gdGhhdCB3ZSBkbyBwcm9wZXIgZGl0aGVyaW5nIGJ1dCB3ZSBhY3R1YWxseSBz ZW5kIDI0IGJwcAo+IG92ZXIgdGhlIGRzaSBsYW5lcyAoTUlQSV9EU0lfRk1UX1JHQjY2Nl9QQUNL RUQgc2VuZHMgMTggYnBwKS4KPiAKPiBUaGlzIGFzc3VtcHRpb24gaXMgZW5mb3JjZWQgYnkgYW4g YXNzZXJ0IGluICpfZHNpX2dldF9wY2xrKCkuIFRoaXMgYXNzZXJ0Cj4gdHJpZ2dlcnMgb24gdGhl IGluaXRpYWwgaHctc3RhdGUgcmVhZGJhY2sgb24gQllUL0NIVCBkZXZpY2VzIHdoaWNoIHVzZQo+ IE1JUElfRFNJX0ZNVF9SR0I2NjYsIHN1Y2ggYXMgdGhlIFByb3dpc2UgUFQzMDEgdGFibGV0LiBQ SVBFQ09ORiBpcyBzZXQgdG8KPiA2QlBDIC8gMTggYnBwIGJ5IHRoZSBHT1AsIHdoaWxlIG1pcGlf ZHNpX3BpeGVsX2Zvcm1hdF90b19icHAoKSByZXR1cm5zIDI0Lgo+IAo+IFRoaXMgY29tbWl0cyBz d2l0Y2hlcyB0aGUgY2FsY3VsYXRpb25zIGluICpfZHNpX2dldF9wY2xrKCkgdG8gdXNlIHRoZSBi cHAKPiBmcm9tIG1pcGlfZHNpX3BpeGVsX2Zvcm1hdF90b19icHAoaW50ZWxfZHNpLT5waXhlbF9m b3JtYXQpIHdoaWNoCj4gcmV0dXJucyB0aGUgYnBwIGdvaW5nIG92ZXIgdGhlIG1pcGkgbGFuZXMg YW5kIGRyb3BzIHRoZSBhc3NlcnQuCj4gCj4gMikgT24gQlhUIGJ4dF9kc2lfZ2V0X3BpcGVfY29u ZmlnKCkgd3JvbmdseSBvdmVycmlkZXMgdGhlIHBpcGVfYnBwIHdoaWNoCj4gaTl4eF9nZXRfcGlw ZV9jb25maWcoKSByZWFkcyBmcm9tIFBJUEVDT05GIHdpdGggdGhlIHJldHVybiB2YWx1ZSBmcm9t Cj4gbWlwaV9kc2lfcGl4ZWxfZm9ybWF0X3RvX2JwcCgpLiBUaGlzIGF2b2lkcyB0aGUgYXNzZXJ0 IGZyb20gMS4gYnV0IGlzIHdyb25nCj4gc2luY2UgdGhlIHBpcGUgaXMgYWN0dWFsbHkgcnVubmlu ZyBhdCB0aGUgdmFsdWUgY29uZmlndXJlZCBpbiBQSVBFQ09ORi4KPiAKPiBUaGlzIGNvbW1pdCBk cm9wcyB0aGUgb3ZlcnJpZGUgb2YgcGlwZV9icHAgZnJvbSBieHRfZHNpX2dldF9waXBlX2NvbmZp ZygpLgo+IAo+IDMpIFRoZSBkc2kgZW5jb2RlcidzIGNvbXB1dGVfY29uZmlnKCkgbmV2ZXIgYXNz aWducyBhIHZhbHVlIHRvIHBpcGVfYnBwLAo+IHVubGlrZSBtb3N0IG90aGVyIGVuY29kZXJzLiBG YWxsaW5nIGJhY2sgb24gY29tcHV0ZV9iYXNlbGluZV9waXBlX2JwcCgpCj4gd2hpY2ggYWx3YXlz IHBpY2tzIDI0LiAyNCBpcyBvbmx5IGNvcnJlY3QgZm9yIE1JUElfRFNJX0ZNVF9SR0I4OCBmb3Ig dGhlCj4gb3RoZXJzIHdlIHNob3VsZCB1c2UgMTggYnBwIHNvIHRoYXQgd2UgY29ycmVjdGx5IGRv IDZicGMgY29sb3IgZGl0aGVyaW5nLgo+IAo+IFRoaXMgY29tbWl0IGFkZHMgY29kZSB0byBpbnRl bF9kc2lfY29tcHV0ZV9jb25maWcoKSB0byBwcm9wZXJseSBzZXQKPiBwaXBlX2JwcCBiYXNlZCBv biBpbnRlbF9kc2ktPnBpeGVsX2Zvcm1hdC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBIYW5zIGRlIEdv ZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKbGd0bQpSZXZpZXdlZC1ieTogVmlsbGUgU3lyasOk bMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRoYXQgc2FpZCwgSSB0aGluayB3 ZSBjb3VsZCBtYWtlIGV2ZXJ5dGhpbmcgbGVzcyBjb25mdXNpbmcgYnkgZG9pbmcKc29tZXRoaW5n IGxpa2UgdGhpczoKCmNvbXB1dGVfY29uZmlnKCkgewoJcG9ydF9jbG9jayA9IGJpdHJhdGU7Cn0K CmdldF9jb25maWcoKSB7Cglwb3J0X2Nsb2NrID0gcmVhZG91dCBmcm9tIHBsbDsKCWNydGNfY2xv Y2sgPSBkZXJpdmUgZnJvbSBwb3J0X2Nsb2NrOwp9Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kc2kuaCAgIHwgIDQgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS92bHZf ZHNpLmMgICAgIHwgMTcgKysrKysrKystLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS92 bHZfZHNpX3BsbC5jIHwgMzEgKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDMgZmls ZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHNpLmgKPiBpbmRleCBjODg4YzIxOTgzNWYuLmM3OTZhMjk2MmE0MyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuaAo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5oCj4gQEAgLTE2MCw3ICsxNjAsNyBAQCBpbnQgdmx2 X2RzaV9wbGxfY29tcHV0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgdm9pZCB2 bHZfZHNpX3BsbF9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCWNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25maWcpOwo+ICB2b2lkIHZsdl9kc2lfcGxs X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwo+IC11MzIgdmx2X2RzaV9n ZXRfcGNsayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50IHBpcGVfYnBwLAo+ICt1 MzIgdmx2X2RzaV9nZXRfcGNsayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkg ICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25maWcpOwo+ICB2b2lkIHZsdl9kc2lfcmVz ZXRfY2xvY2tzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBlbnVtIHBvcnQgcG9ydCk7 Cj4gIAo+IEBAIC0xNzAsNyArMTcwLDcgQEAgaW50IGJ4dF9kc2lfcGxsX2NvbXB1dGUoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIHZvaWQgYnh0X2RzaV9wbGxfZW5hYmxlKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY29uZmlnKTsKPiAgdm9pZCBieHRfZHNpX3BsbF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyKTsKPiAtdTMyIGJ4dF9kc2lfZ2V0X3BjbGsoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsIGludCBwaXBlX2JwcCwKPiArdTMyIGJ4dF9kc2lfZ2V0X3BjbGsoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY29uZmlnKTsKPiAgdm9pZCBieHRfZHNpX3Jlc2V0X2Nsb2NrcyhzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwgZW51bSBwb3J0IHBvcnQpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvdmx2X2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvdmx2X2Rz aS5jCj4gaW5kZXggYmUzYWY1ZjZjN2EwLi5jMTBkZWY1ZWZhMjIgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvdmx2X2RzaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv dmx2X2RzaS5jCj4gQEAgLTMyMiw2ICszMjIsMTEgQEAgc3RhdGljIGJvb2wgaW50ZWxfZHNpX2Nv bXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJLyogRFNJIHVz ZXMgc2hvcnQgcGFja2V0cyBmb3Igc3luYyBldmVudHMsIHNvIGNsZWFyIG1vZGUgZmxhZ3MgZm9y IERTSSAqLwo+ICAJYWRqdXN0ZWRfbW9kZS0+ZmxhZ3MgPSAwOwo+ICAKPiArCWlmIChpbnRlbF9k c2ktPnBpeGVsX2Zvcm1hdCA9PSBNSVBJX0RTSV9GTVRfUkdCODg4KQo+ICsJCXBpcGVfY29uZmln LT5waXBlX2JwcCA9IDI0Owo+ICsJZWxzZQo+ICsJCXBpcGVfY29uZmlnLT5waXBlX2JwcCA9IDE4 Owo+ICsKPiAgCWlmIChJU19HRU45X0xQKGRldl9wcml2KSkgewo+ICAJCS8qIEVuYWJsZSBGcmFt ZSB0aW1lIHN0YW1wIGJhc2VkIHNjYW5saW5lIHJlcG9ydGluZyAqLwo+ICAJCWFkanVzdGVkX21v ZGUtPnByaXZhdGVfZmxhZ3MgfD0KPiBAQCAtMTA5NywxMCArMTEwMiw4IEBAIHN0YXRpYyB2b2lk IGJ4dF9kc2lfZ2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ ICAJfQo+ICAKPiAgCWZtdCA9IEk5MTVfUkVBRChNSVBJX0RTSV9GVU5DX1BSRyhwb3J0KSkgJiBW SURfTU9ERV9GT1JNQVRfTUFTSzsKPiAtCXBpcGVfY29uZmlnLT5waXBlX2JwcCA9Cj4gLQkJCW1p cGlfZHNpX3BpeGVsX2Zvcm1hdF90b19icHAoCj4gLQkJCQlwaXhlbF9mb3JtYXRfZnJvbV9yZWdp c3Rlcl9iaXRzKGZtdCkpOwo+IC0JYnBwID0gcGlwZV9jb25maWctPnBpcGVfYnBwOwo+ICsJYnBw ID0gbWlwaV9kc2lfcGl4ZWxfZm9ybWF0X3RvX2JwcCgKPiArCQkJcGl4ZWxfZm9ybWF0X2Zyb21f cmVnaXN0ZXJfYml0cyhmbXQpKTsKPiAgCj4gIAkvKiBFbmFibGUgRnJhbWUgdGltZSBzdGFtbyBi YXNlZCBzY2FubGluZSByZXBvcnRpbmcgKi8KPiAgCWFkanVzdGVkX21vZGUtPnByaXZhdGVfZmxh Z3MgfD0KPiBAQCAtMTIzOCwxMSArMTI0MSw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2RzaV9nZXRf Y29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAKPiAgCWlmIChJU19HRU45 X0xQKGRldl9wcml2KSkgewo+ICAJCWJ4dF9kc2lfZ2V0X3BpcGVfY29uZmlnKGVuY29kZXIsIHBp cGVfY29uZmlnKTsKPiAtCQlwY2xrID0gYnh0X2RzaV9nZXRfcGNsayhlbmNvZGVyLCBwaXBlX2Nv bmZpZy0+cGlwZV9icHAsCj4gLQkJCQkJcGlwZV9jb25maWcpOwo+ICsJCXBjbGsgPSBieHRfZHNp X2dldF9wY2xrKGVuY29kZXIsIHBpcGVfY29uZmlnKTsKPiAgCX0gZWxzZSB7Cj4gLQkJcGNsayA9 IHZsdl9kc2lfZ2V0X3BjbGsoZW5jb2RlciwgcGlwZV9jb25maWctPnBpcGVfYnBwLAo+IC0JCQkJ CXBpcGVfY29uZmlnKTsKPiArCQlwY2xrID0gdmx2X2RzaV9nZXRfcGNsayhlbmNvZGVyLCBwaXBl X2NvbmZpZyk7Cj4gIAl9Cj4gIAo+ICAJaWYgKHBjbGspIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvdmx2X2RzaV9wbGwuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Zsdl9k c2lfcGxsLmMKPiBpbmRleCBhMTMyYTgwMzdlY2MuLjk1NGQ1YThjNGZhNyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS92bHZfZHNpX3BsbC5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvdmx2X2RzaV9wbGwuYwo+IEBAIC0yNTIsMjAgKzI1MiwxMiBAQCB2b2lkIGJ4dF9k c2lfcGxsX2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIAkJRFJNX0VS Uk9SKCJUaW1lb3V0IHdhaXRpbmcgZm9yIFBMTCBsb2NrIGRlYXNzZXJ0aW9uXG4iKTsKPiAgfQo+ ICAKPiAtc3RhdGljIHZvaWQgYXNzZXJ0X2JwcF9taXNtYXRjaChlbnVtIG1pcGlfZHNpX3BpeGVs X2Zvcm1hdCBmbXQsIGludCBwaXBlX2JwcCkKPiAtewo+IC0JaW50IGJwcCA9IG1pcGlfZHNpX3Bp eGVsX2Zvcm1hdF90b19icHAoZm10KTsKPiAtCj4gLQlXQVJOKGJwcCAhPSBwaXBlX2JwcCwKPiAt CSAgICAgImJwcCBtYXRjaCBhc3NlcnRpb24gZmFpbHVyZSAoZXhwZWN0ZWQgJWQsIGN1cnJlbnQg JWQpXG4iLAo+IC0JICAgICBicHAsIHBpcGVfYnBwKTsKPiAtfQo+IC0KPiAtdTMyIHZsdl9kc2lf Z2V0X3BjbGsoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCBwaXBlX2JwcCwKPiAr dTMyIHZsdl9kc2lfZ2V0X3BjbGsoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJ ICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY29uZmlnKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiAg CXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXIt PmJhc2UpOwo+ICsJaW50IGJwcCA9IG1pcGlfZHNpX3BpeGVsX2Zvcm1hdF90b19icHAoaW50ZWxf ZHNpLT5waXhlbF9mb3JtYXQpOwo+ICAJdTMyIGRzaV9jbG9jaywgcGNsazsKPiAgCXUzMiBwbGxf Y3RsLCBwbGxfZGl2Owo+ICAJdTMyIG0gPSAwLCBwID0gMCwgbjsKPiBAQCAtMzE5LDE1ICszMTEs MTIgQEAgdTMyIHZsdl9kc2lfZ2V0X3BjbGsoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs IGludCBwaXBlX2JwcCwKPiAgCj4gIAlkc2lfY2xvY2sgPSAobSAqIHJlZmNsaykgLyAocCAqIG4p Owo+ICAKPiAtCS8qIHBpeGVsX2Zvcm1hdCBhbmQgcGlwZV9icHAgc2hvdWxkIGFncmVlICovCj4g LQlhc3NlcnRfYnBwX21pc21hdGNoKGludGVsX2RzaS0+cGl4ZWxfZm9ybWF0LCBwaXBlX2JwcCk7 Cj4gLQo+IC0JcGNsayA9IERJVl9ST1VORF9DTE9TRVNUKGRzaV9jbG9jayAqIGludGVsX2RzaS0+ bGFuZV9jb3VudCwgcGlwZV9icHApOwo+ICsJcGNsayA9IERJVl9ST1VORF9DTE9TRVNUKGRzaV9j bG9jayAqIGludGVsX2RzaS0+bGFuZV9jb3VudCwgYnBwKTsKPiAgCj4gIAlyZXR1cm4gcGNsazsK PiAgfQo+ICAKPiAtdTMyIGJ4dF9kc2lfZ2V0X3BjbGsoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsIGludCBwaXBlX2JwcCwKPiArdTMyIGJ4dF9kc2lfZ2V0X3BjbGsoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCj4gIAkJICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY29u ZmlnKQo+ICB7Cj4gIAl1MzIgcGNsazsKPiBAQCAtMzM1LDEyICszMjQsNyBAQCB1MzIgYnh0X2Rz aV9nZXRfcGNsayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50IHBpcGVfYnBwLAo+ ICAJdTMyIGRzaV9yYXRpbzsKPiAgCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190 b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOwo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gLQo+IC0JLyogRGl2aWRl IGJ5IHplcm8gKi8KPiAtCWlmICghcGlwZV9icHApIHsKPiAtCQlEUk1fRVJST1IoIkludmFsaWQg QlBQKDApXG4iKTsKPiAtCQlyZXR1cm4gMDsKPiAtCX0KPiArCWludCBicHAgPSBtaXBpX2RzaV9w aXhlbF9mb3JtYXRfdG9fYnBwKGludGVsX2RzaS0+cGl4ZWxfZm9ybWF0KTsKPiAgCj4gIAljb25m aWctPmRzaV9wbGwuY3RybCA9IEk5MTVfUkVBRChCWFRfRFNJX1BMTF9DVEwpOwo+ICAKPiBAQCAt MzQ4LDEwICszMzIsNyBAQCB1MzIgYnh0X2RzaV9nZXRfcGNsayhzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwgaW50IHBpcGVfYnBwLAo+ICAKPiAgCWRzaV9jbGsgPSAoZHNpX3JhdGlvICog QlhUX1JFRl9DTE9DS19LSFopIC8gMjsKPiAgCj4gLQkvKiBwaXhlbF9mb3JtYXQgYW5kIHBpcGVf YnBwIHNob3VsZCBhZ3JlZSAqLwo+IC0JYXNzZXJ0X2JwcF9taXNtYXRjaChpbnRlbF9kc2ktPnBp eGVsX2Zvcm1hdCwgcGlwZV9icHApOwo+IC0KPiAtCXBjbGsgPSBESVZfUk9VTkRfQ0xPU0VTVChk c2lfY2xrICogaW50ZWxfZHNpLT5sYW5lX2NvdW50LCBwaXBlX2JwcCk7Cj4gKwlwY2xrID0gRElW X1JPVU5EX0NMT1NFU1QoZHNpX2NsayAqIGludGVsX2RzaS0+bGFuZV9jb3VudCwgYnBwKTsKPiAg Cj4gIAlEUk1fREVCVUdfRFJJVkVSKCJDYWxjdWxhdGVkIHBjbGs9JXVcbiIsIHBjbGspOwo+ICAJ cmV0dXJuIHBjbGs7Cj4gLS0gCj4gMi4xOS4xCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=