From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH v2 2/2] drm/i915/gen9: Add support for pipe background color (v2) Date: Thu, 11 Feb 2016 08:05:26 -0800 Message-ID: <20160211160526.GL27772@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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20160211100050.GY23290@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBGZWIgMTEsIDIwMTYgYXQgMTI6MDA6NTBQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFdlZCwgRmViIDEwLCAyMDE2IGF0IDA2OjMyOjU5UE0gLTA4MDAsIE1hdHQg Um9wZXIgd3JvdGU6Cj4gPiBHZW45IHBsYXRmb3JtcyBhbGxvdyBDUlRDJ3MgdG8gYmUgcHJvZ3Jh bW1lZCB3aXRoIGEgYmFja2dyb3VuZC9jYW52YXMKPiA+IGNvbG9yIGJlbG93IHRoZSBwcm9ncmFt bWFibGUgcGxhbmVzLiAgTGV0J3MgZXhwb3NlIHRoaXMgYXMgYSBwcm9wZXJ0eSB0bwo+ID4gYWxs b3cgdXNlcnNwYWNlIHRvIHByb2dyYW0gYSBkZXNpcmVkIHZhbHVlLgo+ID4gCj4gPiBUaGlzIHBh dGNoIGlzIGJhc2VkIG9uIGVhcmxpZXIgd29yayBieSBDaGFuZHJhIEtvbmR1cnU7IHVuZm9ydHVu YXRlbHkKPiA+IHRoZSBkcml2ZXIgaGFzIGV2b2x2ZWQgc28gbXVjaCBzaW5jZSBoaXMgcGF0Y2hl cyB3ZXJlIHdyaXR0ZW4gKGluIHRoZQo+ID4gcHJlLWF0b21pYyBlcmEpIHRoYXQgdGhlIGZ1bmN0 aW9uYWxpdHkgaGFkIHRvIGJlIHByZXR0eSBtdWNoIGNvbXBsZXRlbHkKPiA+IHJld3JpdHRlbiBm b3IgdGhlIG5ldyBpOTE1IGF0b21pYyBpbnRlcm5hbHMuCj4gPiAKPiA+IHYyOgo+ID4gIC0gU2V0 IGluaXRpYWwgYmFja2dyb3VuZCBjb2xvciAoYmxhY2spIHZpYSBwcm9wZXIgaGVscGVyIGZ1bmN0 aW9uIChCb2IpCj4gPiAgLSBGaXggZGVidWdmcyBvdXRwdXQKPiA+ICAtIEdlbmVyYWwgcmViYXNp bmcKPiA+IAo+ID4gQ2M6IENoYW5kcmEgS29uZHVydSA8Y2hhbmRyYS5rb25kdXJ1QGludGVsLmNv bT4KPiA+IENjOiBCb2IgUGFhdXdlIDxib2Iuai5wYWF1d2VAaW50ZWwuY29tPgo+ID4gQ2M6IGRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+IFNpZ25lZC1vZmYtYnk6IE1hdHQgUm9w ZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBEb2N1bWVudGF0aW9u L0RvY0Jvb2svZ3B1LnRtcGwgICAgICAgfCAxMCArKysrKysrLQo+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZGVidWdmcy5jICB8ICA4ICsrKysrKysKPiA+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oICAgICAgfCAgOSArKysrKysrCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIHwgNDYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p Cj4gPiAKPiA+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZ3B1LnRtcGwgYi9E b2N1bWVudGF0aW9uL0RvY0Jvb2svZ3B1LnRtcGwKPiA+IGluZGV4IGZlNmIzNmEuLjllMDAzY2Qg MTAwNjQ0Cj4gPiAtLS0gYS9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZ3B1LnRtcGwKPiA+ICsrKyBi L0RvY3VtZW50YXRpb24vRG9jQm9vay9ncHUudG1wbAo+ID4gQEAgLTIwOTIsNyArMjA5Miw3IEBA IHZvaWQgaW50ZWxfY3J0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICAJPHRkIHZh bGlnbj0idG9wIiA+VEJEPC90ZD4KPiA+ICAJPC90cj4KPiA+ICAJPHRyPgo+ID4gLQk8dGQgcm93 c3Bhbj0iMjAiIHZhbGlnbj0idG9wIiA+aTkxNTwvdGQ+Cj4gPiArCTx0ZCByb3dzcGFuPSIyMSIg dmFsaWduPSJ0b3AiID5pOTE1PC90ZD4KPiA+ICAJPHRkIHJvd3NwYW49IjIiIHZhbGlnbj0idG9w IiA+R2VuZXJpYzwvdGQ+Cj4gPiAgCTx0ZCB2YWxpZ249InRvcCIgPiJCcm9hZGNhc3QgUkdCIjwv dGQ+Cj4gPiAgCTx0ZCB2YWxpZ249InRvcCIgPkVOVU08L3RkPgo+ID4gQEAgLTIxMDgsNiArMjEw OCwxNCBAQCB2b2lkIGludGVsX2NydF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiAg CTx0ZCB2YWxpZ249InRvcCIgPlRCRDwvdGQ+Cj4gPiAgCTwvdHI+Cj4gPiAgCTx0cj4KPiA+ICsJ PHRkIHJvd3NwYW49IjEiIHZhbGlnbj0idG9wIiA+Q1JUQzwvdGQ+Cj4gPiArCTx0ZCB2YWxpZ249 InRvcCIgPuKAnGJhY2tncm91bmRfY29sb3LigJ08L3RkPgo+ID4gKwk8dGQgdmFsaWduPSJ0b3Ai ID5SR0JBPC90ZD4KPiA+ICsJPHRkIHZhbGlnbj0idG9wIiA+Jm5ic3A7PC90ZD4KPiA+ICsJPHRk IHZhbGlnbj0idG9wIiA+Q1JUQzwvdGQ+Cj4gPiArCTx0ZCB2YWxpZ249InRvcCIgPkJhY2tncm91 bmQgY29sb3Igb2YgcmVnaW9ucyBub3QgY292ZXJlZCBieSBhIHBsYW5lPC90ZD4KPiA+ICsJPC90 cj4KPiA+ICsJPHRyPgo+ID4gIAk8dGQgcm93c3Bhbj0iMTciIHZhbGlnbj0idG9wIiA+U0RWTy1U VjwvdGQ+Cj4gPiAgCTx0ZCB2YWxpZ249InRvcCIgPuKAnG1vZGXigJ08L3RkPgo+ID4gIAk8dGQg dmFsaWduPSJ0b3AiID5FTlVNPC90ZD4KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j Cj4gPiBpbmRleCBlYzBjMmEwNWUuLmU3MzUyZmMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMKPiA+IEBAIC0zMTA0LDYgKzMxMDQsMTQgQEAgc3RhdGljIGludCBpOTE1 X2Rpc3BsYXlfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKPiA+ICAJCQlp bnRlbF9zY2FsZXJfaW5mbyhtLCBjcnRjKTsKPiA+ICAJCQlpbnRlbF9wbGFuZV9pbmZvKG0sIGNy dGMpOwo+ID4gIAkJfQo+ID4gKwkJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDkgJiYgcGlw ZV9jb25maWctPmJhc2UuYWN0aXZlKSB7Cj4gPiArCQkJc3RydWN0IGRybV9yZ2JhIGJhY2tncm91 bmQgPSBwaXBlX2NvbmZpZy0+YmFzZS5iYWNrZ3JvdW5kX2NvbG9yOwo+ID4gKwo+ID4gKwkJCXNl cV9wcmludGYobSwgIlx0YmFja2dyb3VuZCBjb2xvciAoMTBicGMpOiByPSV4IGc9JXggYj0leFxu IiwKPiA+ICsJCQkJICAgRFJNX1JHQkFfUkVEQklUUyhiYWNrZ3JvdW5kLCAxMCksCj4gPiArCQkJ CSAgIERSTV9SR0JBX0dSRUVOQklUUyhiYWNrZ3JvdW5kLCAxMCksCj4gPiArCQkJCSAgIERSTV9S R0JBX0JMVUVCSVRTKGJhY2tncm91bmQsIDEwKSk7Cj4gPiArCQl9Cj4gPiAgCj4gPiAgCQlzZXFf cHJpbnRmKG0sICJcdHVuZGVycnVuIHJlcG9ydGluZzogY3B1PSVzIHBjaD0lcyBcbiIsCj4gPiAg CQkJICAgeWVzbm8oIWNydGMtPmNwdV9maWZvX3VuZGVycnVuX2Rpc2FibGVkKSwKPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaAo+ID4gaW5kZXggMTQ0NTg2ZS4uYjBiMDE0ZCAxMDA2NDQKPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+IEBAIC03NjQ5LDYgKzc2NDksMTUgQEAgZW51bSBza2xf ZGlzcF9wb3dlcl93ZWxscyB7Cj4gPiAgI2RlZmluZSBQSVBFX0NTQ19QT1NUT0ZGX01FKHBpcGUp CV9NTUlPX1BJUEUocGlwZSwgX1BJUEVfQV9DU0NfUE9TVE9GRl9NRSwgX1BJUEVfQl9DU0NfUE9T VE9GRl9NRSkKPiA+ICAjZGVmaW5lIFBJUEVfQ1NDX1BPU1RPRkZfTE8ocGlwZSkJX01NSU9fUElQ RShwaXBlLCBfUElQRV9BX0NTQ19QT1NUT0ZGX0xPLCBfUElQRV9CX0NTQ19QT1NUT0ZGX0xPKQo+ ID4gIAo+ID4gKy8qIFNreWxha2UgcGlwZSBib3R0b20gY29sb3IgKi8KPiA+ICsjZGVmaW5lIF9Q SVBFX0JPVFRPTV9DT0xPUl9BICAgICAgICAweDcwMDM0Cj4gPiArI2RlZmluZSBfUElQRV9CT1RU T01fQ09MT1JfQiAgICAgICAgMHg3MTAzNAo+ID4gKyNkZWZpbmUgX1BJUEVfQk9UVE9NX0NPTE9S X0MgICAgICAgIDB4NzIwMzQKPiA+ICsjZGVmaW5lIFBJUEVfQk9UVE9NX0dBTU1BX0VOQUJMRSAg ICgxIDw8IDMxKQo+ID4gKyNkZWZpbmUgUElQRV9CT1RUT01fQ1NDX0VOQUJMRSAgICAgKDEgPDwg MzApCj4gPiArI2RlZmluZSBQSVBFX0JPVFRPTV9DT0xPUl9NQVNLICAgICAweDNGRkZGRkZGCj4g PiArI2RlZmluZSBQSVBFX0JPVFRPTV9DT0xPUihwaXBlKSBfTU1JT19QSVBFKHBpcGUsIF9QSVBF X0JPVFRPTV9DT0xPUl9BLCBfUElQRV9CT1RUT01fQ09MT1JfQikKPiA+ICsKPiA+ICAvKiBNSVBJ IERTSSByZWdpc3RlcnMgKi8KPiA+ICAKPiA+ICAjZGVmaW5lIF9NSVBJX1BPUlQocG9ydCwgYSwg YykJX1BPUlQzKHBvcnQsIGEsIDAsIGMpCS8qIHBvcnRzIEEgYW5kIEMgb25seSAqLwo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gaW5kZXggODM2YmJkYy4uYTYxNmFjNDIg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gQEAgLTMyOTks NiArMzI5OSw4IEBAIHN0YXRpYyB2b2lkIGludGVsX3VwZGF0ZV9waXBlX2NvbmZpZyhzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YywKPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiA+ICAJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVf Y29uZmlnID0KPiA+ICAJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+YmFzZS5zdGF0ZSk7Cj4g PiArCXN0cnVjdCBkcm1fcmdiYSBiYWNrZ3JvdW5kID0gcGlwZV9jb25maWctPmJhc2UuYmFja2dy b3VuZF9jb2xvcjsKPiA+ICsJdWludDMyX3QgdmFsOwo+ID4gIAo+ID4gIAkvKiBkcm1fYXRvbWlj X2hlbHBlcl91cGRhdGVfbGVnYWN5X21vZGVzZXRfc3RhdGUgbWlnaHQgbm90IGJlIGNhbGxlZC4g Ki8KPiA+ICAJY3J0Yy0+YmFzZS5tb2RlID0gY3J0Yy0+YmFzZS5zdGF0ZS0+bW9kZTsKPiA+IEBA IC0zMzM1LDYgKzMzMzcsMjYgQEAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX3BpcGVfY29uZmln KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ID4gIAkJZWxzZSBpZiAob2xkX2NydGNfc3RhdGUt PnBjaF9wZml0LmVuYWJsZWQpCj4gPiAgCQkJaXJvbmxha2VfcGZpdF9kaXNhYmxlKGNydGMsIHRy dWUpOwo+ID4gIAl9Cj4gPiArCj4gPiArCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5KSB7 Cj4gPiArCQkvKiBCR1IgMTZicGMgPT0+IFJHQiAxMGJwYyAqLwo+ID4gKwkJdmFsID0gRFJNX1JH QkFfUkVEQklUUyhiYWNrZ3JvdW5kLCAxMCkgPDwgMjAKPiA+ICsJCSAgICB8IERSTV9SR0JBX0dS RUVOQklUUyhiYWNrZ3JvdW5kLCAxMCkgPDwgMTAKPiA+ICsJCSAgICB8IERSTV9SR0JBX0JMVUVC SVRTKGJhY2tncm91bmQsIDEwKTsKPiAKPiBJJ20gbm90IGEgZmFuIG9mIHRoZSBkcm1fcmdiYSB0 aGluZyBoYXZpbmcgYWxwaGEgaW4gdGhlIGxvdyBiaXRzLiBJdAo+IGdvZXMgYWdhaW5zdCB0aGUg ZXhpc3RpbmcgcHJlY2VkZW50IHNldCBieSBlZy4gdGhlIGNvbG9ya2V5IGlvY3Rscwo+IHdoZXJl IGFscGhhIChpZiBpdCB3b3VsZCBiZSB1c2VkKSB3b3VsZCBiZSBpbiB0aGUgaGlnaCBiaXRzLiBJ IHRoaW5rIEkKPiBjb21wbGFpbmVkIGFib3V0IHRoaXMgYmVmb3JlIGFscmVhZHksIG9yIG1heWJl IGl0IHdhcyBhbHNvIGFib3V0Cj4gc29tZSBCR1IgdnMuIFJHQiBvcmRlcmluZyB0aGluZz8KPiAK PiBMb29rcyBsaWtlIGRybV9yZ2JhIGlzbid0IGFjdHVhbGx5IHBhcnQgb2YgdGhpcyBzZXJpZXMs IGFuZCBJIGNhbid0IHNlZQo+IGl0IGluIHRoZSB0cmVlIGVpdGhlciwgc28gSSBndWVzcyBpdCBj b21lcyBpbiB2aWEgc29tZSBvdGhlciBzZXJpZXM/Cgpkcm1fcmdiYSB3YXMgaW4gcGF0Y2ggIzEg b2YgdGhpcyBzZXJpZXM7IGlmIHRoYXQgZGlkbid0IGNvbWUgdGhyb3VnaCBmb3IKeW91LCBpdCdz IGluIHBhdGNod29yayBoZXJlOgogIGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9w YXRjaC83MzIyNC8KCldlIGNvdWxkIGNlcnRhaW5seSBmbGlwIGFyb3VuZCB0aGUgaW50ZXJuYWwg b3JkZXJpbmcgb2YgYml0cywgYnV0IEknbQpub3Qgc3VyZSBpdCByZWFsbHkgbWF0dGVycy4gIFRo ZSB3aG9sZSBwb2ludCBvZiBkcm1fcmdiYSBpcyB0byBiZQpzb21ld2hhdCBvcGFxdWUgc28gdGhh dCBkcml2ZXJzIGRvbid0IHRyeSB0byB3b3JrIGRpcmVjdGx5IG9uIHRoZQppbnRlcm5hbCByZXBy ZXNlbnRhdGlvbiAoYW5kIHBvdGVudGlhbGx5IG1pc2ludGVycHJldCB0aGUgZm9ybWF0KS4KCgpN YXR0Cgo+IAo+ID4gKwo+ID4gKwkJLyoKPiA+ICsJCSAqIFNldCBDU0MgYW5kIGdhbW1hIGZvciBi b3R0b20gY29sb3IuCj4gPiArCQkgKgo+ID4gKwkJICogRklYTUU6ICBXZSB0dXJuIHRoZXNlIG9u IHVuY29uZGl0aW9uYWxseSBmb3Igbm93IHRvIG1hdGNoCj4gPiArCQkgKiBob3cgd2UndmUgc2V0 dXAgdGhlIHZhcmlvdXMgcGxhbmVzLiAgT25jZSB0aGUgY29sb3IKPiA+ICsJCSAqIG1hbmFnZW1l bnQgZnJhbWV3b3JrIGxhbmRzLCBpdCBtYXkgb3IgbWF5IG5vdCBjaG9vc2UgdG8KPiA+ICsJCSAq IHNldCB0aGVzZSBiaXRzLgo+ID4gKwkJICovCj4gPiArCQl2YWwgfD0gUElQRV9CT1RUT01fQ1ND X0VOQUJMRTsKPiA+ICsJCXZhbCB8PSBQSVBFX0JPVFRPTV9HQU1NQV9FTkFCTEU7Cj4gPiArCj4g PiArCQlJOTE1X1dSSVRFKFBJUEVfQk9UVE9NX0NPTE9SKGNydGMtPnBpcGUpLCB2YWwpOwo+ID4g Kwl9Cj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGludGVsX2ZkaV9ub3JtYWxfdHJhaW4o c3RydWN0IGRybV9jcnRjICpjcnRjKQo+ID4gQEAgLTEyMDMyLDYgKzEyMDU0LDkgQEAgc3RhdGlj IGludCBpbnRlbF9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiAg CQkJCQkJCSBwaXBlX2NvbmZpZyk7Cj4gPiAgCX0KPiA+ICAKPiA+ICsJaWYgKGNydGMtPnN0YXRl LT5iYWNrZ3JvdW5kX2NvbG9yLnYgIT0gY3J0Y19zdGF0ZS0+YmFja2dyb3VuZF9jb2xvci52KQo+ ID4gKwkJcGlwZV9jb25maWctPnVwZGF0ZV9waXBlID0gdHJ1ZTsKPiA+ICsKPiA+ICAJcmV0dXJu IHJldDsKPiA+ICB9Cj4gPiAgCj4gPiBAQCAtMTM2NjAsNiArMTM2ODUsNyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzIGludGVsX2NydGNfZnVuY3MgPSB7Cj4gPiAgCS5zZXRf Y29uZmlnID0gZHJtX2F0b21pY19oZWxwZXJfc2V0X2NvbmZpZywKPiA+ICAJLmRlc3Ryb3kgPSBp bnRlbF9jcnRjX2Rlc3Ryb3ksCj4gPiAgCS5wYWdlX2ZsaXAgPSBpbnRlbF9jcnRjX3BhZ2VfZmxp cCwKPiA+ICsJLnNldF9wcm9wZXJ0eSA9IGRybV9hdG9taWNfaGVscGVyX2NydGNfc2V0X3Byb3Bl cnR5LAo+ID4gIAkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGludGVsX2NydGNfZHVwbGljYXRl X3N0YXRlLAo+ID4gIAkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBpbnRlbF9jcnRjX2Rlc3Ryb3lf c3RhdGUsCj4gPiAgfTsKPiA+IEBAIC0xNDI1NCw2ICsxNDI4MCwyMCBAQCBzdGF0aWMgdm9pZCBz a2xfaW5pdF9zY2FsZXJzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcgo+ID4gIAlzY2FsZXJfc3RhdGUtPnNjYWxlcl9pZCA9IC0xOwo+ID4gIH0KPiA+ ICAKPiA+ICtzdGF0aWMgdm9pZCBpbnRlbF9jcmVhdGVfYmFja2dyb3VuZF9jb2xvcl9wcm9wZXJ0 eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gKwkJCQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjKQo+ID4gK3sKPiA+ICsJaWYgKCFkZXYtPm1vZGVfY29uZmlnLnByb3BfYmFja2dyb3Vu ZF9jb2xvcikKPiA+ICsJCWRldi0+bW9kZV9jb25maWcucHJvcF9iYWNrZ3JvdW5kX2NvbG9yID0K PiA+ICsJCQlkcm1fbW9kZV9jcmVhdGVfYmFja2dyb3VuZF9jb2xvcl9wcm9wZXJ0eShkZXYpOwo+ ID4gKwlpZiAoIWRldi0+bW9kZV9jb25maWcucHJvcF9iYWNrZ3JvdW5kX2NvbG9yKQo+ID4gKwkJ cmV0dXJuOwo+ID4gKwo+ID4gKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY3J0Yy0+YmFz ZS5iYXNlLAo+ID4gKwkJCQkgICBkZXYtPm1vZGVfY29uZmlnLnByb3BfYmFja2dyb3VuZF9jb2xv ciwKPiA+ICsJCQkJICAgY3J0Yy0+YmFzZS5zdGF0ZS0+YmFja2dyb3VuZF9jb2xvci52KTsKPiA+ ICt9Cj4gPiArCj4gPiAgc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIGludCBwaXBlKQo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiA+IEBAIC0xNDMyOSw2ICsxNDM2OSwxMiBA QCBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50 IHBpcGUpCj4gPiAgCWRybV9jcnRjX2hlbHBlcl9hZGQoJmludGVsX2NydGMtPmJhc2UsICZpbnRl bF9oZWxwZXJfZnVuY3MpOwo+ID4gIAo+ID4gIAlXQVJOX09OKGRybV9jcnRjX2luZGV4KCZpbnRl bF9jcnRjLT5iYXNlKSAhPSBpbnRlbF9jcnRjLT5waXBlKTsKPiA+ICsKPiA+ICsJaWYgKElOVEVM X0lORk8oZGV2KS0+Z2VuID49IDkpIHsKPiA+ICsJCWNydGNfc3RhdGUtPmJhc2UuYmFja2dyb3Vu ZF9jb2xvciA9IGRybV9yZ2JhKDE2LCAwLCAwLCAwLCAwKTsKPiA+ICsJCWludGVsX2NyZWF0ZV9i YWNrZ3JvdW5kX2NvbG9yX3Byb3BlcnR5KGRldiwgaW50ZWxfY3J0Yyk7Cj4gPiArCX0KPiA+ICsK PiA+ICAJcmV0dXJuOwo+ID4gIAo+ID4gIGZhaWw6Cj4gPiAtLSAKPiA+IDIuMS40Cj4gPiAKPiA+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4g PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo+IAo+IC0tIAo+IFZpbGxlIFN5cmrDpGzDpAo+IEludGVsIE9UQwoKLS0gCk1hdHQgUm9wZXIK R3JhcGhpY3MgU29mdHdhcmUgRW5naW5lZXIKSW9URyBQbGF0Zm9ybSBFbmFibGluZyAmIERldmVs b3BtZW50CkludGVsIENvcnBvcmF0aW9uCig5MTYpIDM1Ni0yNzk1Cl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=