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 18:22:26 +0200 Message-ID: <20160211162226.GE23290@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> <20160211100050.GY23290@intel.com> <20160211160526.GL27772@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: <20160211160526.GL27772@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matt Roper Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBGZWIgMTEsIDIwMTYgYXQgMDg6MDU6MjZBTSAtMDgwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBPbiBUaHUsIEZlYiAxMSwgMjAxNiBhdCAxMjowMDo1MFBNICswMjAwLCBWaWxsZSBTeXJq w6Rsw6Qgd3JvdGU6Cj4gPiBPbiBXZWQsIEZlYiAxMCwgMjAxNiBhdCAwNjozMjo1OVBNIC0wODAw LCBNYXR0IFJvcGVyIHdyb3RlOgo+ID4gPiBHZW45IHBsYXRmb3JtcyBhbGxvdyBDUlRDJ3MgdG8g YmUgcHJvZ3JhbW1lZCB3aXRoIGEgYmFja2dyb3VuZC9jYW52YXMKPiA+ID4gY29sb3IgYmVsb3cg dGhlIHByb2dyYW1tYWJsZSBwbGFuZXMuICBMZXQncyBleHBvc2UgdGhpcyBhcyBhIHByb3BlcnR5 IHRvCj4gPiA+IGFsbG93IHVzZXJzcGFjZSB0byBwcm9ncmFtIGEgZGVzaXJlZCB2YWx1ZS4KPiA+ ID4gCj4gPiA+IFRoaXMgcGF0Y2ggaXMgYmFzZWQgb24gZWFybGllciB3b3JrIGJ5IENoYW5kcmEg S29uZHVydTsgdW5mb3J0dW5hdGVseQo+ID4gPiB0aGUgZHJpdmVyIGhhcyBldm9sdmVkIHNvIG11 Y2ggc2luY2UgaGlzIHBhdGNoZXMgd2VyZSB3cml0dGVuIChpbiB0aGUKPiA+ID4gcHJlLWF0b21p YyBlcmEpIHRoYXQgdGhlIGZ1bmN0aW9uYWxpdHkgaGFkIHRvIGJlIHByZXR0eSBtdWNoIGNvbXBs ZXRlbHkKPiA+ID4gcmV3cml0dGVuIGZvciB0aGUgbmV3IGk5MTUgYXRvbWljIGludGVybmFscy4K PiA+ID4gCj4gPiA+IHYyOgo+ID4gPiAgLSBTZXQgaW5pdGlhbCBiYWNrZ3JvdW5kIGNvbG9yIChi bGFjaykgdmlhIHByb3BlciBoZWxwZXIgZnVuY3Rpb24gKEJvYikKPiA+ID4gIC0gRml4IGRlYnVn ZnMgb3V0cHV0Cj4gPiA+ICAtIEdlbmVyYWwgcmViYXNpbmcKPiA+ID4gCj4gPiA+IENjOiBDaGFu ZHJhIEtvbmR1cnUgPGNoYW5kcmEua29uZHVydUBpbnRlbC5jb20+Cj4gPiA+IENjOiBCb2IgUGFh dXdlIDxib2Iuai5wYWF1d2VAaW50ZWwuY29tPgo+ID4gPiBDYzogZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQu cm9wZXJAaW50ZWwuY29tPgo+ID4gPiAtLS0KPiA+ID4gIERvY3VtZW50YXRpb24vRG9jQm9vay9n cHUudG1wbCAgICAgICB8IDEwICsrKysrKystCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYyAgfCAgOCArKysrKysrCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oICAgICAgfCAgOSArKysrKysrCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK PiA+ID4gIDQgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vRG9jQm9vay9ncHUudG1wbCBi L0RvY3VtZW50YXRpb24vRG9jQm9vay9ncHUudG1wbAo+ID4gPiBpbmRleCBmZTZiMzZhLi45ZTAw M2NkIDEwMDY0NAo+ID4gPiAtLS0gYS9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZ3B1LnRtcGwKPiA+ ID4gKysrIGIvRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2dwdS50bXBsCj4gPiA+IEBAIC0yMDkyLDcg KzIwOTIsNyBAQCB2b2lkIGludGVsX2NydF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4g PiA+ICAJPHRkIHZhbGlnbj0idG9wIiA+VEJEPC90ZD4KPiA+ID4gIAk8L3RyPgo+ID4gPiAgCTx0 cj4KPiA+ID4gLQk8dGQgcm93c3Bhbj0iMjAiIHZhbGlnbj0idG9wIiA+aTkxNTwvdGQ+Cj4gPiA+ ICsJPHRkIHJvd3NwYW49IjIxIiB2YWxpZ249InRvcCIgPmk5MTU8L3RkPgo+ID4gPiAgCTx0ZCBy b3dzcGFuPSIyIiB2YWxpZ249InRvcCIgPkdlbmVyaWM8L3RkPgo+ID4gPiAgCTx0ZCB2YWxpZ249 InRvcCIgPiJCcm9hZGNhc3QgUkdCIjwvdGQ+Cj4gPiA+ICAJPHRkIHZhbGlnbj0idG9wIiA+RU5V TTwvdGQ+Cj4gPiA+IEBAIC0yMTA4LDYgKzIxMDgsMTQgQEAgdm9pZCBpbnRlbF9jcnRfaW5pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gPiAgCTx0ZCB2YWxpZ249InRvcCIgPlRCRDwvdGQ+ Cj4gPiA+ICAJPC90cj4KPiA+ID4gIAk8dHI+Cj4gPiA+ICsJPHRkIHJvd3NwYW49IjEiIHZhbGln bj0idG9wIiA+Q1JUQzwvdGQ+Cj4gPiA+ICsJPHRkIHZhbGlnbj0idG9wIiA+4oCcYmFja2dyb3Vu ZF9jb2xvcuKAnTwvdGQ+Cj4gPiA+ICsJPHRkIHZhbGlnbj0idG9wIiA+UkdCQTwvdGQ+Cj4gPiA+ ICsJPHRkIHZhbGlnbj0idG9wIiA+Jm5ic3A7PC90ZD4KPiA+ID4gKwk8dGQgdmFsaWduPSJ0b3Ai ID5DUlRDPC90ZD4KPiA+ID4gKwk8dGQgdmFsaWduPSJ0b3AiID5CYWNrZ3JvdW5kIGNvbG9yIG9m IHJlZ2lvbnMgbm90IGNvdmVyZWQgYnkgYSBwbGFuZTwvdGQ+Cj4gPiA+ICsJPC90cj4KPiA+ID4g Kwk8dHI+Cj4gPiA+ICAJPHRkIHJvd3NwYW49IjE3IiB2YWxpZ249InRvcCIgPlNEVk8tVFY8L3Rk Pgo+ID4gPiAgCTx0ZCB2YWxpZ249InRvcCIgPuKAnG1vZGXigJ08L3RkPgo+ID4gPiAgCTx0ZCB2 YWxpZ249InRvcCIgPkVOVU08L3RkPgo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMu Ywo+ID4gPiBpbmRleCBlYzBjMmEwNWUuLmU3MzUyZmMgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gPiA+IEBAIC0zMTA0LDYgKzMxMDQsMTQgQEAgc3RhdGlj IGludCBpOTE1X2Rpc3BsYXlfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkK PiA+ID4gIAkJCWludGVsX3NjYWxlcl9pbmZvKG0sIGNydGMpOwo+ID4gPiAgCQkJaW50ZWxfcGxh bmVfaW5mbyhtLCBjcnRjKTsKPiA+ID4gIAkJfQo+ID4gPiArCQlpZiAoSU5URUxfSU5GTyhkZXYp LT5nZW4gPj0gOSAmJiBwaXBlX2NvbmZpZy0+YmFzZS5hY3RpdmUpIHsKPiA+ID4gKwkJCXN0cnVj dCBkcm1fcmdiYSBiYWNrZ3JvdW5kID0gcGlwZV9jb25maWctPmJhc2UuYmFja2dyb3VuZF9jb2xv cjsKPiA+ID4gKwo+ID4gPiArCQkJc2VxX3ByaW50ZihtLCAiXHRiYWNrZ3JvdW5kIGNvbG9yICgx MGJwYyk6IHI9JXggZz0leCBiPSV4XG4iLAo+ID4gPiArCQkJCSAgIERSTV9SR0JBX1JFREJJVFMo YmFja2dyb3VuZCwgMTApLAo+ID4gPiArCQkJCSAgIERSTV9SR0JBX0dSRUVOQklUUyhiYWNrZ3Jv dW5kLCAxMCksCj4gPiA+ICsJCQkJICAgRFJNX1JHQkFfQkxVRUJJVFMoYmFja2dyb3VuZCwgMTAp KTsKPiA+ID4gKwkJfQo+ID4gPiAgCj4gPiA+ICAJCXNlcV9wcmludGYobSwgIlx0dW5kZXJydW4g cmVwb3J0aW5nOiBjcHU9JXMgcGNoPSVzIFxuIiwKPiA+ID4gIAkJCSAgIHllc25vKCFjcnRjLT5j cHVfZmlmb191bmRlcnJ1bl9kaXNhYmxlZCksCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ ID4gPiBpbmRleCAxNDQ1ODZlLi5iMGIwMTRkIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmgKPiA+ID4gQEAgLTc2NDksNiArNzY0OSwxNSBAQCBlbnVtIHNrbF9kaXNwX3Bvd2Vy X3dlbGxzIHsKPiA+ID4gICNkZWZpbmUgUElQRV9DU0NfUE9TVE9GRl9NRShwaXBlKQlfTU1JT19Q SVBFKHBpcGUsIF9QSVBFX0FfQ1NDX1BPU1RPRkZfTUUsIF9QSVBFX0JfQ1NDX1BPU1RPRkZfTUUp Cj4gPiA+ICAjZGVmaW5lIFBJUEVfQ1NDX1BPU1RPRkZfTE8ocGlwZSkJX01NSU9fUElQRShwaXBl LCBfUElQRV9BX0NTQ19QT1NUT0ZGX0xPLCBfUElQRV9CX0NTQ19QT1NUT0ZGX0xPKQo+ID4gPiAg Cj4gPiA+ICsvKiBTa3lsYWtlIHBpcGUgYm90dG9tIGNvbG9yICovCj4gPiA+ICsjZGVmaW5lIF9Q SVBFX0JPVFRPTV9DT0xPUl9BICAgICAgICAweDcwMDM0Cj4gPiA+ICsjZGVmaW5lIF9QSVBFX0JP VFRPTV9DT0xPUl9CICAgICAgICAweDcxMDM0Cj4gPiA+ICsjZGVmaW5lIF9QSVBFX0JPVFRPTV9D T0xPUl9DICAgICAgICAweDcyMDM0Cj4gPiA+ICsjZGVmaW5lIFBJUEVfQk9UVE9NX0dBTU1BX0VO QUJMRSAgICgxIDw8IDMxKQo+ID4gPiArI2RlZmluZSBQSVBFX0JPVFRPTV9DU0NfRU5BQkxFICAg ICAoMSA8PCAzMCkKPiA+ID4gKyNkZWZpbmUgUElQRV9CT1RUT01fQ09MT1JfTUFTSyAgICAgMHgz RkZGRkZGRgo+ID4gPiArI2RlZmluZSBQSVBFX0JPVFRPTV9DT0xPUihwaXBlKSBfTU1JT19QSVBF KHBpcGUsIF9QSVBFX0JPVFRPTV9DT0xPUl9BLCBfUElQRV9CT1RUT01fQ09MT1JfQikKPiA+ID4g Kwo+ID4gPiAgLyogTUlQSSBEU0kgcmVnaXN0ZXJzICovCj4gPiA+ICAKPiA+ID4gICNkZWZpbmUg X01JUElfUE9SVChwb3J0LCBhLCBjKQlfUE9SVDMocG9ydCwgYSwgMCwgYykJLyogcG9ydHMgQSBh bmQgQyBvbmx5ICovCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4g aW5kZXggODM2YmJkYy4uYTYxNmFjNDIgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPiA+ID4gQEAgLTMyOTksNiArMzI5OSw4IEBAIHN0YXRpYyB2b2lkIGlu dGVsX3VwZGF0ZV9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiA+ID4gIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ID4g PiAgCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyA9Cj4gPiA+ICAJCXRvX2lu dGVsX2NydGNfc3RhdGUoY3J0Yy0+YmFzZS5zdGF0ZSk7Cj4gPiA+ICsJc3RydWN0IGRybV9yZ2Jh IGJhY2tncm91bmQgPSBwaXBlX2NvbmZpZy0+YmFzZS5iYWNrZ3JvdW5kX2NvbG9yOwo+ID4gPiAr CXVpbnQzMl90IHZhbDsKPiA+ID4gIAo+ID4gPiAgCS8qIGRybV9hdG9taWNfaGVscGVyX3VwZGF0 ZV9sZWdhY3lfbW9kZXNldF9zdGF0ZSBtaWdodCBub3QgYmUgY2FsbGVkLiAqLwo+ID4gPiAgCWNy dGMtPmJhc2UubW9kZSA9IGNydGMtPmJhc2Uuc3RhdGUtPm1vZGU7Cj4gPiA+IEBAIC0zMzM1LDYg KzMzMzcsMjYgQEAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX3BpcGVfY29uZmlnKHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjLAo+ID4gPiAgCQllbHNlIGlmIChvbGRfY3J0Y19zdGF0ZS0+cGNoX3Bm aXQuZW5hYmxlZCkKPiA+ID4gIAkJCWlyb25sYWtlX3BmaXRfZGlzYWJsZShjcnRjLCB0cnVlKTsK PiA+ID4gIAl9Cj4gPiA+ICsKPiA+ID4gKwlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkg ewo+ID4gPiArCQkvKiBCR1IgMTZicGMgPT0+IFJHQiAxMGJwYyAqLwo+ID4gPiArCQl2YWwgPSBE Uk1fUkdCQV9SRURCSVRTKGJhY2tncm91bmQsIDEwKSA8PCAyMAo+ID4gPiArCQkgICAgfCBEUk1f UkdCQV9HUkVFTkJJVFMoYmFja2dyb3VuZCwgMTApIDw8IDEwCj4gPiA+ICsJCSAgICB8IERSTV9S R0JBX0JMVUVCSVRTKGJhY2tncm91bmQsIDEwKTsKPiA+IAo+ID4gSSdtIG5vdCBhIGZhbiBvZiB0 aGUgZHJtX3JnYmEgdGhpbmcgaGF2aW5nIGFscGhhIGluIHRoZSBsb3cgYml0cy4gSXQKPiA+IGdv ZXMgYWdhaW5zdCB0aGUgZXhpc3RpbmcgcHJlY2VkZW50IHNldCBieSBlZy4gdGhlIGNvbG9ya2V5 IGlvY3Rscwo+ID4gd2hlcmUgYWxwaGEgKGlmIGl0IHdvdWxkIGJlIHVzZWQpIHdvdWxkIGJlIGlu IHRoZSBoaWdoIGJpdHMuIEkgdGhpbmsgSQo+ID4gY29tcGxhaW5lZCBhYm91dCB0aGlzIGJlZm9y ZSBhbHJlYWR5LCBvciBtYXliZSBpdCB3YXMgYWxzbyBhYm91dAo+ID4gc29tZSBCR1IgdnMuIFJH QiBvcmRlcmluZyB0aGluZz8KPiA+IAo+ID4gTG9va3MgbGlrZSBkcm1fcmdiYSBpc24ndCBhY3R1 YWxseSBwYXJ0IG9mIHRoaXMgc2VyaWVzLCBhbmQgSSBjYW4ndCBzZWUKPiA+IGl0IGluIHRoZSB0 cmVlIGVpdGhlciwgc28gSSBndWVzcyBpdCBjb21lcyBpbiB2aWEgc29tZSBvdGhlciBzZXJpZXM/ Cj4gCj4gZHJtX3JnYmEgd2FzIGluIHBhdGNoICMxIG9mIHRoaXMgc2VyaWVzOyBpZiB0aGF0IGRp ZG4ndCBjb21lIHRocm91Z2ggZm9yCj4geW91LCBpdCdzIGluIHBhdGNod29yayBoZXJlOgo+ICAg aHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoLzczMjI0LwoKSXQgZGlkIGNv bWUgdGhyb3VnaCwgYnV0IHNvbWVob3cgSSBkaWRuJ3Qgc2VlIGl0LgoKPiAKPiBXZSBjb3VsZCBj ZXJ0YWlubHkgZmxpcCBhcm91bmQgdGhlIGludGVybmFsIG9yZGVyaW5nIG9mIGJpdHMsIGJ1dCBJ J20KPiBub3Qgc3VyZSBpdCByZWFsbHkgbWF0dGVycy4gIFRoZSB3aG9sZSBwb2ludCBvZiBkcm1f cmdiYSBpcyB0byBiZQo+IHNvbWV3aGF0IG9wYXF1ZSBzbyB0aGF0IGRyaXZlcnMgZG9uJ3QgdHJ5 IHRvIHdvcmsgZGlyZWN0bHkgb24gdGhlCj4gaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gKGFuZCBw b3RlbnRpYWxseSBtaXNpbnRlcnByZXQgdGhlIGZvcm1hdCkuCgpTdXJlLiBKdXN0IGdvZXMgYWdh aW5zdCBleGlzdGluZyBwcmFjdGljZSBhIGJpdC4gQW5kIGZlZWxzIGEgYml0CnN0cmFuZ2UgdG8g aGF2ZSB0aGUgY29tcG9uZW50IHRoYXQncyBtb3N0IG9mdGVuIHRoZSBvbmUgdGhhdCdzIG5vdApw cmVzZW50IG9jY3VweSB0aGUgbG93IGJpdHMuCgpPVE9IIHRoZSBmYWN0IHRoYXQgUkdCQSBpcyBh IGZhaXJseSBvYnNjdXJlIGZvcm1hdCBoYXJkd2FyZSB3aXNlLAptaWdodCBjYXRjaCBwZW9wbGUg dHJ5aW5nIHVzaW5nIHRoZSBBUEkgdGhlIHdyb25nIHdheS4KCj4gCj4gCj4gTWF0dAo+IAo+ID4g Cj4gPiA+ICsKPiA+ID4gKwkJLyoKPiA+ID4gKwkJICogU2V0IENTQyBhbmQgZ2FtbWEgZm9yIGJv dHRvbSBjb2xvci4KPiA+ID4gKwkJICoKPiA+ID4gKwkJICogRklYTUU6ICBXZSB0dXJuIHRoZXNl IG9uIHVuY29uZGl0aW9uYWxseSBmb3Igbm93IHRvIG1hdGNoCj4gPiA+ICsJCSAqIGhvdyB3ZSd2 ZSBzZXR1cCB0aGUgdmFyaW91cyBwbGFuZXMuICBPbmNlIHRoZSBjb2xvcgo+ID4gPiArCQkgKiBt YW5hZ2VtZW50IGZyYW1ld29yayBsYW5kcywgaXQgbWF5IG9yIG1heSBub3QgY2hvb3NlIHRvCj4g PiA+ICsJCSAqIHNldCB0aGVzZSBiaXRzLgo+ID4gPiArCQkgKi8KPiA+ID4gKwkJdmFsIHw9IFBJ UEVfQk9UVE9NX0NTQ19FTkFCTEU7Cj4gPiA+ICsJCXZhbCB8PSBQSVBFX0JPVFRPTV9HQU1NQV9F TkFCTEU7Cj4gPiA+ICsKPiA+ID4gKwkJSTkxNV9XUklURShQSVBFX0JPVFRPTV9DT0xPUihjcnRj LT5waXBlKSwgdmFsKTsKPiA+ID4gKwl9Cj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gIHN0YXRpYyB2 b2lkIGludGVsX2ZkaV9ub3JtYWxfdHJhaW4oc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ID4gPiBA QCAtMTIwMzIsNiArMTIwNTQsOSBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfYXRvbWljX2NoZWNr KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gIAkJCQkJCQkgcGlwZV9jb25maWcpOwo+ID4g PiAgCX0KPiA+ID4gIAo+ID4gPiArCWlmIChjcnRjLT5zdGF0ZS0+YmFja2dyb3VuZF9jb2xvci52 ICE9IGNydGNfc3RhdGUtPmJhY2tncm91bmRfY29sb3IudikKPiA+ID4gKwkJcGlwZV9jb25maWct PnVwZGF0ZV9waXBlID0gdHJ1ZTsKPiA+ID4gKwo+ID4gPiAgCXJldHVybiByZXQ7Cj4gPiA+ICB9 Cj4gPiA+ICAKPiA+ID4gQEAgLTEzNjYwLDYgKzEzNjg1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBkcm1fY3J0Y19mdW5jcyBpbnRlbF9jcnRjX2Z1bmNzID0gewo+ID4gPiAgCS5zZXRfY29uZmln ID0gZHJtX2F0b21pY19oZWxwZXJfc2V0X2NvbmZpZywKPiA+ID4gIAkuZGVzdHJveSA9IGludGVs X2NydGNfZGVzdHJveSwKPiA+ID4gIAkucGFnZV9mbGlwID0gaW50ZWxfY3J0Y19wYWdlX2ZsaXAs Cj4gPiA+ICsJLnNldF9wcm9wZXJ0eSA9IGRybV9hdG9taWNfaGVscGVyX2NydGNfc2V0X3Byb3Bl cnR5LAo+ID4gPiAgCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0gaW50ZWxfY3J0Y19kdXBsaWNh dGVfc3RhdGUsCj4gPiA+ICAJLmF0b21pY19kZXN0cm95X3N0YXRlID0gaW50ZWxfY3J0Y19kZXN0 cm95X3N0YXRlLAo+ID4gPiAgfTsKPiA+ID4gQEAgLTE0MjU0LDYgKzE0MjgwLDIwIEBAIHN0YXRp YyB2b2lkIHNrbF9pbml0X3NjYWxlcnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGlu dGVsX2NydGMgKmludGVsX2NyCj4gPiA+ICAJc2NhbGVyX3N0YXRlLT5zY2FsZXJfaWQgPSAtMTsK PiA+ID4gIH0KPiA+ID4gIAo+ID4gPiArc3RhdGljIHZvaWQgaW50ZWxfY3JlYXRlX2JhY2tncm91 bmRfY29sb3JfcHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ID4gKwkJCQkJCSAg IHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ID4gPiArewo+ID4gPiArCWlmICghZGV2LT5tb2Rl X2NvbmZpZy5wcm9wX2JhY2tncm91bmRfY29sb3IpCj4gPiA+ICsJCWRldi0+bW9kZV9jb25maWcu cHJvcF9iYWNrZ3JvdW5kX2NvbG9yID0KPiA+ID4gKwkJCWRybV9tb2RlX2NyZWF0ZV9iYWNrZ3Jv dW5kX2NvbG9yX3Byb3BlcnR5KGRldik7Cj4gPiA+ICsJaWYgKCFkZXYtPm1vZGVfY29uZmlnLnBy b3BfYmFja2dyb3VuZF9jb2xvcikKPiA+ID4gKwkJcmV0dXJuOwo+ID4gPiArCj4gPiA+ICsJZHJt X29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNydGMtPmJhc2UuYmFzZSwKPiA+ID4gKwkJCQkgICBk ZXYtPm1vZGVfY29uZmlnLnByb3BfYmFja2dyb3VuZF9jb2xvciwKPiA+ID4gKwkJCQkgICBjcnRj LT5iYXNlLnN0YXRlLT5iYWNrZ3JvdW5kX2NvbG9yLnYpOwo+ID4gPiArfQo+ID4gPiArCj4gPiA+ ICBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50 IHBpcGUpCj4gPiA+ICB7Cj4gPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiA+ID4gQEAgLTE0MzI5LDYgKzE0MzY5LDEyIEBAIHN0YXRp YyB2b2lkIGludGVsX2NydGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgcGlwZSkK PiA+ID4gIAlkcm1fY3J0Y19oZWxwZXJfYWRkKCZpbnRlbF9jcnRjLT5iYXNlLCAmaW50ZWxfaGVs cGVyX2Z1bmNzKTsKPiA+ID4gIAo+ID4gPiAgCVdBUk5fT04oZHJtX2NydGNfaW5kZXgoJmludGVs X2NydGMtPmJhc2UpICE9IGludGVsX2NydGMtPnBpcGUpOwo+ID4gPiArCj4gPiA+ICsJaWYgKElO VEVMX0lORk8oZGV2KS0+Z2VuID49IDkpIHsKPiA+ID4gKwkJY3J0Y19zdGF0ZS0+YmFzZS5iYWNr Z3JvdW5kX2NvbG9yID0gZHJtX3JnYmEoMTYsIDAsIDAsIDAsIDApOwo+ID4gPiArCQlpbnRlbF9j cmVhdGVfYmFja2dyb3VuZF9jb2xvcl9wcm9wZXJ0eShkZXYsIGludGVsX2NydGMpOwo+ID4gPiAr CX0KPiA+ID4gKwo+ID4gPiAgCXJldHVybjsKPiA+ID4gIAo+ID4gPiAgZmFpbDoKPiA+ID4gLS0g Cj4gPiA+IDIuMS40Cj4gPiA+IAo+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+ID4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiA+IGRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKPiA+IAo+ID4gLS0gCj4gPiBWaWxsZSBT eXJqw6Rsw6QKPiA+IEludGVsIE9UQwo+IAo+IC0tIAo+IE1hdHQgUm9wZXIKPiBHcmFwaGljcyBT b2Z0d2FyZSBFbmdpbmVlcgo+IElvVEcgUGxhdGZvcm0gRW5hYmxpbmcgJiBEZXZlbG9wbWVudAo+ IEludGVsIENvcnBvcmF0aW9uCj4gKDkxNikgMzU2LTI3OTUKCi0tIApWaWxsZSBTeXJqw6Rsw6QK SW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=