From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 2/2] drm/i915/gen9: Add support for pipe background color (v2) Date: Thu, 11 Feb 2016 12:00:50 +0200 Message-ID: <20160211100050.GY23290@intel.com> References: <1455157979-7341-1-git-send-email-matthew.d.roper@intel.com> <1455157979-7341-3-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1455157979-7341-3-git-send-email-matthew.d.roper@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Matt Roper Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Chandra Konduru List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBGZWIgMTAsIDIwMTYgYXQgMDY6MzI6NTlQTSAtMDgwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBHZW45IHBsYXRmb3JtcyBhbGxvdyBDUlRDJ3MgdG8gYmUgcHJvZ3JhbW1lZCB3aXRoIGEg YmFja2dyb3VuZC9jYW52YXMKPiBjb2xvciBiZWxvdyB0aGUgcHJvZ3JhbW1hYmxlIHBsYW5lcy4g IExldCdzIGV4cG9zZSB0aGlzIGFzIGEgcHJvcGVydHkgdG8KPiBhbGxvdyB1c2Vyc3BhY2UgdG8g cHJvZ3JhbSBhIGRlc2lyZWQgdmFsdWUuCj4gCj4gVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiBlYXJs aWVyIHdvcmsgYnkgQ2hhbmRyYSBLb25kdXJ1OyB1bmZvcnR1bmF0ZWx5Cj4gdGhlIGRyaXZlciBo YXMgZXZvbHZlZCBzbyBtdWNoIHNpbmNlIGhpcyBwYXRjaGVzIHdlcmUgd3JpdHRlbiAoaW4gdGhl Cj4gcHJlLWF0b21pYyBlcmEpIHRoYXQgdGhlIGZ1bmN0aW9uYWxpdHkgaGFkIHRvIGJlIHByZXR0 eSBtdWNoIGNvbXBsZXRlbHkKPiByZXdyaXR0ZW4gZm9yIHRoZSBuZXcgaTkxNSBhdG9taWMgaW50 ZXJuYWxzLgo+IAo+IHYyOgo+ICAtIFNldCBpbml0aWFsIGJhY2tncm91bmQgY29sb3IgKGJsYWNr KSB2aWEgcHJvcGVyIGhlbHBlciBmdW5jdGlvbiAoQm9iKQo+ICAtIEZpeCBkZWJ1Z2ZzIG91dHB1 dAo+ICAtIEdlbmVyYWwgcmViYXNpbmcKPiAKPiBDYzogQ2hhbmRyYSBLb25kdXJ1IDxjaGFuZHJh LmtvbmR1cnVAaW50ZWwuY29tPgo+IENjOiBCb2IgUGFhdXdlIDxib2Iuai5wYWF1d2VAaW50ZWwu Y29tPgo+IENjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gU2lnbmVkLW9mZi1i eTogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KPiAtLS0KPiAgRG9jdW1l bnRhdGlvbi9Eb2NCb29rL2dwdS50bXBsICAgICAgIHwgMTAgKysrKysrKy0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgIHwgIDggKysrKysrKwo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oICAgICAgfCAgOSArKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyB8IDQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwo+ICA0IGZpbGVzIGNoYW5nZWQsIDcyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK PiAKPiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2dwdS50bXBsIGIvRG9jdW1l bnRhdGlvbi9Eb2NCb29rL2dwdS50bXBsCj4gaW5kZXggZmU2YjM2YS4uOWUwMDNjZCAxMDA2NDQK PiAtLS0gYS9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZ3B1LnRtcGwKPiArKysgYi9Eb2N1bWVudGF0 aW9uL0RvY0Jvb2svZ3B1LnRtcGwKPiBAQCAtMjA5Miw3ICsyMDkyLDcgQEAgdm9pZCBpbnRlbF9j cnRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJPHRkIHZhbGlnbj0idG9wIiA+VEJE PC90ZD4KPiAgCTwvdHI+Cj4gIAk8dHI+Cj4gLQk8dGQgcm93c3Bhbj0iMjAiIHZhbGlnbj0idG9w IiA+aTkxNTwvdGQ+Cj4gKwk8dGQgcm93c3Bhbj0iMjEiIHZhbGlnbj0idG9wIiA+aTkxNTwvdGQ+ Cj4gIAk8dGQgcm93c3Bhbj0iMiIgdmFsaWduPSJ0b3AiID5HZW5lcmljPC90ZD4KPiAgCTx0ZCB2 YWxpZ249InRvcCIgPiJCcm9hZGNhc3QgUkdCIjwvdGQ+Cj4gIAk8dGQgdmFsaWduPSJ0b3AiID5F TlVNPC90ZD4KPiBAQCAtMjEwOCw2ICsyMTA4LDE0IEBAIHZvaWQgaW50ZWxfY3J0X2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiAgCTx0ZCB2YWxpZ249InRvcCIgPlRCRDwvdGQ+Cj4gIAk8 L3RyPgo+ICAJPHRyPgo+ICsJPHRkIHJvd3NwYW49IjEiIHZhbGlnbj0idG9wIiA+Q1JUQzwvdGQ+ Cj4gKwk8dGQgdmFsaWduPSJ0b3AiID7igJxiYWNrZ3JvdW5kX2NvbG9y4oCdPC90ZD4KPiArCTx0 ZCB2YWxpZ249InRvcCIgPlJHQkE8L3RkPgo+ICsJPHRkIHZhbGlnbj0idG9wIiA+Jm5ic3A7PC90 ZD4KPiArCTx0ZCB2YWxpZ249InRvcCIgPkNSVEM8L3RkPgo+ICsJPHRkIHZhbGlnbj0idG9wIiA+ QmFja2dyb3VuZCBjb2xvciBvZiByZWdpb25zIG5vdCBjb3ZlcmVkIGJ5IGEgcGxhbmU8L3RkPgo+ ICsJPC90cj4KPiArCTx0cj4KPiAgCTx0ZCByb3dzcGFuPSIxNyIgdmFsaWduPSJ0b3AiID5TRFZP LVRWPC90ZD4KPiAgCTx0ZCB2YWxpZ249InRvcCIgPuKAnG1vZGXigJ08L3RkPgo+ICAJPHRkIHZh bGlnbj0idG9wIiA+RU5VTTwvdGQ+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBp bmRleCBlYzBjMmEwNWUuLmU3MzUyZmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYwo+IEBAIC0zMTA0LDYgKzMxMDQsMTQgQEAgc3RhdGljIGludCBpOTE1X2Rpc3BsYXlfaW5m byhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKPiAgCQkJaW50ZWxfc2NhbGVyX2lu Zm8obSwgY3J0Yyk7Cj4gIAkJCWludGVsX3BsYW5lX2luZm8obSwgY3J0Yyk7Cj4gIAkJfQo+ICsJ CWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5ICYmIHBpcGVfY29uZmlnLT5iYXNlLmFjdGl2 ZSkgewo+ICsJCQlzdHJ1Y3QgZHJtX3JnYmEgYmFja2dyb3VuZCA9IHBpcGVfY29uZmlnLT5iYXNl LmJhY2tncm91bmRfY29sb3I7Cj4gKwo+ICsJCQlzZXFfcHJpbnRmKG0sICJcdGJhY2tncm91bmQg Y29sb3IgKDEwYnBjKTogcj0leCBnPSV4IGI9JXhcbiIsCj4gKwkJCQkgICBEUk1fUkdCQV9SRURC SVRTKGJhY2tncm91bmQsIDEwKSwKPiArCQkJCSAgIERSTV9SR0JBX0dSRUVOQklUUyhiYWNrZ3Jv dW5kLCAxMCksCj4gKwkJCQkgICBEUk1fUkdCQV9CTFVFQklUUyhiYWNrZ3JvdW5kLCAxMCkpOwo+ ICsJCX0KPiAgCj4gIAkJc2VxX3ByaW50ZihtLCAiXHR1bmRlcnJ1biByZXBvcnRpbmc6IGNwdT0l cyBwY2g9JXMgXG4iLAo+ICAJCQkgICB5ZXNubyghY3J0Yy0+Y3B1X2ZpZm9fdW5kZXJydW5fZGlz YWJsZWQpLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGluZGV4IDE0NDU4NmUuLmIwYjAxNGQg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAtNzY0OSw2ICs3NjQ5LDE1IEBAIGVu dW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lIFBJUEVfQ1NDX1BPU1RPRkZfTUUo cGlwZSkJX01NSU9fUElQRShwaXBlLCBfUElQRV9BX0NTQ19QT1NUT0ZGX01FLCBfUElQRV9CX0NT Q19QT1NUT0ZGX01FKQo+ICAjZGVmaW5lIFBJUEVfQ1NDX1BPU1RPRkZfTE8ocGlwZSkJX01NSU9f UElQRShwaXBlLCBfUElQRV9BX0NTQ19QT1NUT0ZGX0xPLCBfUElQRV9CX0NTQ19QT1NUT0ZGX0xP KQo+ICAKPiArLyogU2t5bGFrZSBwaXBlIGJvdHRvbSBjb2xvciAqLwo+ICsjZGVmaW5lIF9QSVBF X0JPVFRPTV9DT0xPUl9BICAgICAgICAweDcwMDM0Cj4gKyNkZWZpbmUgX1BJUEVfQk9UVE9NX0NP TE9SX0IgICAgICAgIDB4NzEwMzQKPiArI2RlZmluZSBfUElQRV9CT1RUT01fQ09MT1JfQyAgICAg ICAgMHg3MjAzNAo+ICsjZGVmaW5lIFBJUEVfQk9UVE9NX0dBTU1BX0VOQUJMRSAgICgxIDw8IDMx KQo+ICsjZGVmaW5lIFBJUEVfQk9UVE9NX0NTQ19FTkFCTEUgICAgICgxIDw8IDMwKQo+ICsjZGVm aW5lIFBJUEVfQk9UVE9NX0NPTE9SX01BU0sgICAgIDB4M0ZGRkZGRkYKPiArI2RlZmluZSBQSVBF X0JPVFRPTV9DT0xPUihwaXBlKSBfTU1JT19QSVBFKHBpcGUsIF9QSVBFX0JPVFRPTV9DT0xPUl9B LCBfUElQRV9CT1RUT01fQ09MT1JfQikKPiArCj4gIC8qIE1JUEkgRFNJIHJlZ2lzdGVycyAqLwo+ ICAKPiAgI2RlZmluZSBfTUlQSV9QT1JUKHBvcnQsIGEsIGMpCV9QT1JUMyhwb3J0LCBhLCAwLCBj KQkvKiBwb3J0cyBBIGFuZCBDIG9ubHkgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCj4gaW5kZXggODM2YmJkYy4uYTYxNmFjNDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gQEAgLTMyOTksNiArMzI5OSw4IEBAIHN0YXRpYyB2b2lkIGludGVsX3Vw ZGF0ZV9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAgCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcgPQo+ICAJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0 Yy0+YmFzZS5zdGF0ZSk7Cj4gKwlzdHJ1Y3QgZHJtX3JnYmEgYmFja2dyb3VuZCA9IHBpcGVfY29u ZmlnLT5iYXNlLmJhY2tncm91bmRfY29sb3I7Cj4gKwl1aW50MzJfdCB2YWw7Cj4gIAo+ICAJLyog ZHJtX2F0b21pY19oZWxwZXJfdXBkYXRlX2xlZ2FjeV9tb2Rlc2V0X3N0YXRlIG1pZ2h0IG5vdCBi ZSBjYWxsZWQuICovCj4gIAljcnRjLT5iYXNlLm1vZGUgPSBjcnRjLT5iYXNlLnN0YXRlLT5tb2Rl Owo+IEBAIC0zMzM1LDYgKzMzMzcsMjYgQEAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX3BpcGVf Y29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICAJCWVsc2UgaWYgKG9sZF9jcnRjX3N0 YXRlLT5wY2hfcGZpdC5lbmFibGVkKQo+ICAJCQlpcm9ubGFrZV9wZml0X2Rpc2FibGUoY3J0Yywg dHJ1ZSk7Cj4gIAl9Cj4gKwo+ICsJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDkpIHsKPiAr CQkvKiBCR1IgMTZicGMgPT0+IFJHQiAxMGJwYyAqLwo+ICsJCXZhbCA9IERSTV9SR0JBX1JFREJJ VFMoYmFja2dyb3VuZCwgMTApIDw8IDIwCj4gKwkJICAgIHwgRFJNX1JHQkFfR1JFRU5CSVRTKGJh Y2tncm91bmQsIDEwKSA8PCAxMAo+ICsJCSAgICB8IERSTV9SR0JBX0JMVUVCSVRTKGJhY2tncm91 bmQsIDEwKTsKCkknbSBub3QgYSBmYW4gb2YgdGhlIGRybV9yZ2JhIHRoaW5nIGhhdmluZyBhbHBo YSBpbiB0aGUgbG93IGJpdHMuIEl0CmdvZXMgYWdhaW5zdCB0aGUgZXhpc3RpbmcgcHJlY2VkZW50 IHNldCBieSBlZy4gdGhlIGNvbG9ya2V5IGlvY3Rscwp3aGVyZSBhbHBoYSAoaWYgaXQgd291bGQg YmUgdXNlZCkgd291bGQgYmUgaW4gdGhlIGhpZ2ggYml0cy4gSSB0aGluayBJCmNvbXBsYWluZWQg YWJvdXQgdGhpcyBiZWZvcmUgYWxyZWFkeSwgb3IgbWF5YmUgaXQgd2FzIGFsc28gYWJvdXQKc29t ZSBCR1IgdnMuIFJHQiBvcmRlcmluZyB0aGluZz8KCkxvb2tzIGxpa2UgZHJtX3JnYmEgaXNuJ3Qg YWN0dWFsbHkgcGFydCBvZiB0aGlzIHNlcmllcywgYW5kIEkgY2FuJ3Qgc2VlCml0IGluIHRoZSB0 cmVlIGVpdGhlciwgc28gSSBndWVzcyBpdCBjb21lcyBpbiB2aWEgc29tZSBvdGhlciBzZXJpZXM/ Cgo+ICsKPiArCQkvKgo+ICsJCSAqIFNldCBDU0MgYW5kIGdhbW1hIGZvciBib3R0b20gY29sb3Iu Cj4gKwkJICoKPiArCQkgKiBGSVhNRTogIFdlIHR1cm4gdGhlc2Ugb24gdW5jb25kaXRpb25hbGx5 IGZvciBub3cgdG8gbWF0Y2gKPiArCQkgKiBob3cgd2UndmUgc2V0dXAgdGhlIHZhcmlvdXMgcGxh bmVzLiAgT25jZSB0aGUgY29sb3IKPiArCQkgKiBtYW5hZ2VtZW50IGZyYW1ld29yayBsYW5kcywg aXQgbWF5IG9yIG1heSBub3QgY2hvb3NlIHRvCj4gKwkJICogc2V0IHRoZXNlIGJpdHMuCj4gKwkJ ICovCj4gKwkJdmFsIHw9IFBJUEVfQk9UVE9NX0NTQ19FTkFCTEU7Cj4gKwkJdmFsIHw9IFBJUEVf Qk9UVE9NX0dBTU1BX0VOQUJMRTsKPiArCj4gKwkJSTkxNV9XUklURShQSVBFX0JPVFRPTV9DT0xP UihjcnRjLT5waXBlKSwgdmFsKTsKPiArCX0KPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgaW50ZWxf ZmRpX25vcm1hbF90cmFpbihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gQEAgLTEyMDMyLDYgKzEy MDU0LDkgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCj4gIAkJCQkJCQkgcGlwZV9jb25maWcpOwo+ICAJfQo+ICAKPiArCWlmIChjcnRj LT5zdGF0ZS0+YmFja2dyb3VuZF9jb2xvci52ICE9IGNydGNfc3RhdGUtPmJhY2tncm91bmRfY29s b3IudikKPiArCQlwaXBlX2NvbmZpZy0+dXBkYXRlX3BpcGUgPSB0cnVlOwo+ICsKPiAgCXJldHVy biByZXQ7Cj4gIH0KPiAgCj4gQEAgLTEzNjYwLDYgKzEzNjg1LDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1fY3J0Y19mdW5jcyBpbnRlbF9jcnRjX2Z1bmNzID0gewo+ICAJLnNldF9jb25maWcg PSBkcm1fYXRvbWljX2hlbHBlcl9zZXRfY29uZmlnLAo+ICAJLmRlc3Ryb3kgPSBpbnRlbF9jcnRj X2Rlc3Ryb3ksCj4gIAkucGFnZV9mbGlwID0gaW50ZWxfY3J0Y19wYWdlX2ZsaXAsCj4gKwkuc2V0 X3Byb3BlcnR5ID0gZHJtX2F0b21pY19oZWxwZXJfY3J0Y19zZXRfcHJvcGVydHksCj4gIAkuYXRv bWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGludGVsX2NydGNfZHVwbGljYXRlX3N0YXRlLAo+ICAJLmF0 b21pY19kZXN0cm95X3N0YXRlID0gaW50ZWxfY3J0Y19kZXN0cm95X3N0YXRlLAo+ICB9Owo+IEBA IC0xNDI1NCw2ICsxNDI4MCwyMCBAQCBzdGF0aWMgdm9pZCBza2xfaW5pdF9zY2FsZXJzKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcgo+ICAJc2NhbGVy X3N0YXRlLT5zY2FsZXJfaWQgPSAtMTsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgaW50ZWxfY3Jl YXRlX2JhY2tncm91bmRfY29sb3JfcHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAr CQkJCQkJICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gK3sKPiArCWlmICghZGV2LT5tb2Rl X2NvbmZpZy5wcm9wX2JhY2tncm91bmRfY29sb3IpCj4gKwkJZGV2LT5tb2RlX2NvbmZpZy5wcm9w X2JhY2tncm91bmRfY29sb3IgPQo+ICsJCQlkcm1fbW9kZV9jcmVhdGVfYmFja2dyb3VuZF9jb2xv cl9wcm9wZXJ0eShkZXYpOwo+ICsJaWYgKCFkZXYtPm1vZGVfY29uZmlnLnByb3BfYmFja2dyb3Vu ZF9jb2xvcikKPiArCQlyZXR1cm47Cj4gKwo+ICsJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHko JmNydGMtPmJhc2UuYmFzZSwKPiArCQkJCSAgIGRldi0+bW9kZV9jb25maWcucHJvcF9iYWNrZ3Jv dW5kX2NvbG9yLAo+ICsJCQkJICAgY3J0Yy0+YmFzZS5zdGF0ZS0+YmFja2dyb3VuZF9jb2xvci52 KTsKPiArfQo+ICsKPiAgc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIGludCBwaXBlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IEBAIC0xNDMyOSw2ICsxNDM2OSwxMiBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9jcnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUp Cj4gIAlkcm1fY3J0Y19oZWxwZXJfYWRkKCZpbnRlbF9jcnRjLT5iYXNlLCAmaW50ZWxfaGVscGVy X2Z1bmNzKTsKPiAgCj4gIAlXQVJOX09OKGRybV9jcnRjX2luZGV4KCZpbnRlbF9jcnRjLT5iYXNl KSAhPSBpbnRlbF9jcnRjLT5waXBlKTsKPiArCj4gKwlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4g Pj0gOSkgewo+ICsJCWNydGNfc3RhdGUtPmJhc2UuYmFja2dyb3VuZF9jb2xvciA9IGRybV9yZ2Jh KDE2LCAwLCAwLCAwLCAwKTsKPiArCQlpbnRlbF9jcmVhdGVfYmFja2dyb3VuZF9jb2xvcl9wcm9w ZXJ0eShkZXYsIGludGVsX2NydGMpOwo+ICsJfQo+ICsKPiAgCXJldHVybjsKPiAgCj4gIGZhaWw6 Cj4gLS0gCj4gMi4xLjQKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=