From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sripada, Radhakrishna" Subject: Re: [PATCH 6/6] drm/i915/tgl: Add Clear Color supoort for TGL Render Decompression Date: Thu, 19 Sep 2019 22:16:34 +0000 Message-ID: <8C2593290C2B3E488D763E819AF1F02E15F4E85D@ORSMSX101.amr.corp.intel.com> References: <20190917121155.13197-1-radhakrishna.sripada@intel.com> <20190917121155.13197-7-radhakrishna.sripada@intel.com> <20190917215245.GB28384@mdroper-desk1.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id F2FDF6F560 for ; Thu, 19 Sep 2019 22:16:35 +0000 (UTC) In-Reply-To: <20190917215245.GB28384@mdroper-desk1.amr.corp.intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Roper, Matthew D" Cc: "Chery, Nanley G" , "intel-gfx@lists.freedesktop.org" , "Pandiyan, Dhinakaran" , "Syrjala, Ville" List-Id: intel-gfx@lists.freedesktop.org SGkgTWF0dCwKPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IFJvcGVyLCBNYXR0 aGV3IEQKPiBTZW50OiBUdWVzZGF5LCBTZXB0ZW1iZXIgMTcsIDIwMTkgMjo1MyBQTQo+IFRvOiBT cmlwYWRhLCBSYWRoYWtyaXNobmEgPHJhZGhha3Jpc2huYS5zcmlwYWRhQGludGVsLmNvbT4KPiBD YzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgUGFuZGl5YW4sIERoaW5ha2FyYW4K PiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+OyBTeXJqYWxhLCBWaWxsZSA8dmlsbGUu c3lyamFsYUBpbnRlbC5jb20+Owo+IFNoYXJtYSwgU2hhc2hhbmsgPHNoYXNoYW5rLnNoYXJtYUBp bnRlbC5jb20+OyBBbnRvZ25vbGxpLCBSYWZhZWwKPiA8cmFmYWVsLmFudG9nbm9sbGlAaW50ZWwu Y29tPjsgQ2hlcnksIE5hbmxleSBHIDxuYW5sZXkuZy5jaGVyeUBpbnRlbC5jb20+Cj4gU3ViamVj dDogUmU6IFtQQVRDSCA2LzZdIGRybS9pOTE1L3RnbDogQWRkIENsZWFyIENvbG9yIHN1cG9vcnQg Zm9yIFRHTAo+IFJlbmRlciBEZWNvbXByZXNzaW9uCj4gCj4gT24gVHVlLCBTZXAgMTcsIDIwMTkg YXQgMDU6MTE6NTVBTSAtMDcwMCwgUmFkaGFrcmlzaG5hIFNyaXBhZGEgd3JvdGU6Cj4gPiBSZW5k ZXIgRGVjb21wcmVzc2lvbiBpcyBzdXBwb3J0ZWQgd2l0aCBZLVRpbGVkIG1haW4gc3VyZmFjZS4g VGhlIENDUwo+ID4gaXMgbGluZWFyIGFuZCBoYXMgNCBiaXRzIG9mIGRhdGEgZm9yIGVhY2ggbWFp biBzdXJmYWNlIGNhY2hlIGxpbmUKPiA+IHBhaXIsIGEgcmF0aW8gb2YgMToyNTYuIEFkZGl0aW9u YWwgQ2xlYXIgQ29sb3IgaW5mb3JtYXRpb24gaXMgcGFzc2VkCj4gPiBmcm9tIHRoZSB1c2VyLXNw YWNlIHRocm91Z2ggYW4gb2Zmc2V0IGluIHRoZSBHRU0gQk8uIEFkZCBhIG5ldwo+ID4gbW9kaWZp ZXIgdG8gaWRlbnRpZnkgYW5kIHBhcnNlIG5ldyBDbGVhciBDb2xvciBpbmZvcm1hdGlvbiBhbmQg ZXh0ZW5kCj4gPiBHZW4xMiByZW5kZXIgZGVjb21wcmVzc2lvbiBmdW5jdGlvbmFsaXR5IHRvIHRo ZSBuZXdseSBhZGRlZCBtb2RpZmllci4KPiA+Cj4gPiBDYzogRGhpbmFrYXJhbiBQYW5kaXlhbiA8 ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+Cj4gPiBDYzogVmlsbGUgU3lyamFsYSA8dmls bGUuc3lyamFsYUBpbnRlbC5jb20+Cj4gPiBDYzogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5z aGFybWFAaW50ZWwuY29tPgo+ID4gQ2M6IFJhZmFlbCBBbnRvZ25vbGxpIDxyYWZhZWwuYW50b2du b2xsaUBpbnRlbC5jb20+Cj4gPiBDYzogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVs LmNvbT4KPiA+IENjOiBOYW5sZXkgRyBDaGVyeSA8bmFubGV5LmcuY2hlcnlAaW50ZWwuY29tPgo+ ID4gU2lnbmVkLW9mZi1ieTogUmFkaGFrcmlzaG5hIFNyaXBhZGEgPHJhZGhha3Jpc2huYS5zcmlw YWRhQGludGVsLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheS5jICB8IDQ3ICsrKysrKysrKysrKysrKysrLS0KPiA+ICAuLi4vZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggICAgfCAgMyArKwo+ID4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMgICB8IDEwICsrKy0KPiA+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgICAgICAgfCAxMyArKysrKwo+ID4g IDQgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPiA+Cj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5 LmMKPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiA+ IGluZGV4IDJkYTcyMWE2YWJhYi4uNzI1Yjk3MjRkYTQ5IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gPiBAQCAtMTkxMyw2ICsxOTEz LDcgQEAgaW50ZWxfdGlsZV93aWR0aF9ieXRlcyhjb25zdCBzdHJ1Y3QKPiBkcm1fZnJhbWVidWZm ZXIgKmZiLCBpbnQgY29sb3JfcGxhbmUpCj4gPiAgCQkvKiBmYWxsIHRocm91Z2ggKi8KPiA+ICAJ Y2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4xMl9SQ19DQ1M6Cj4gPiAgCWNhc2UgSTkx NV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJfTUNfQ0NTOgo+ID4gKwljYXNlIEk5MTVfRk9STUFU X01PRF9ZX1RJTEVEX0dFTjEyX1JDX0NDU19DQzoKPiA+ICAJCWlmIChjb2xvcl9wbGFuZSA9PSAx KQo+ID4gIAkJCXJldHVybiBjcHA7Cj4gPiAgCQkvKiBmYWxsIHRocm91Z2ggKi8KPiA+IEBAIC0y MDUxLDYgKzIwNTIsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGludGVsX3N1cmZfYWxpZ25tZW50 KGNvbnN0Cj4gc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gPiAgCQlyZXR1cm4gMDsKPiA+ ICAJY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4xMl9SQ19DQ1M6Cj4gPiAgCWNhc2Ug STkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJfTUNfQ0NTOgo+ID4gKwljYXNlIEk5MTVfRk9S TUFUX01PRF9ZX1RJTEVEX0dFTjEyX1JDX0NDU19DQzoKPiA+ICAJCXJldHVybiA0ICogNCAqIDEw MjQ7Cj4gPiAgCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfQ0NTOgo+ID4gIAljYXNlIEk5 MTVfRk9STUFUX01PRF9ZZl9USUxFRF9DQ1M6Cj4gPiBAQCAtMjI1Niw2ICsyMjU4LDcgQEAgc3Rh dGljIGJvb2wgaXNfc3VyZmFjZV9saW5lYXIodTY0IG1vZGlmaWVyLCBpbnQKPiBjb2xvcl9wbGFu ZSkKPiA+ICAJCXJldHVybiB0cnVlOwo+ID4gIAljYXNlIEk5MTVfRk9STUFUX01PRF9ZX1RJTEVE X0dFTjEyX1JDX0NDUzoKPiA+ICAJY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4xMl9N Q19DQ1M6Cj4gPiArCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJfUkNfQ0NTX0ND Ogo+ID4gIAkJcmV0dXJuIGNvbG9yX3BsYW5lID09IDE7Cj4gPiAgCWRlZmF1bHQ6Cj4gPiAgCQly ZXR1cm4gZmFsc2U7Cj4gPiBAQCAtMjQ0OCw2ICsyNDUxLDcgQEAgc3RhdGljIHVuc2lnbmVkIGlu dAo+IGludGVsX2ZiX21vZGlmaWVyX3RvX3RpbGluZyh1NjQgZmJfbW9kaWZpZXIpCj4gPiAgCWNh c2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfQ0NTOgo+ID4gIAljYXNlIEk5MTVfRk9STUFUX01P RF9ZX1RJTEVEX0dFTjEyX1JDX0NDUzoKPiA+ICAJY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxF RF9HRU4xMl9NQ19DQ1M6Cj4gPiArCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJf UkNfQ0NTX0NDOgo+ID4gIAkJcmV0dXJuIEk5MTVfVElMSU5HX1k7Cj4gPiAgCWRlZmF1bHQ6Cj4g PiAgCQlyZXR1cm4gSTkxNV9USUxJTkdfTk9ORTsKPiA+IEBAIC0yNDk3LDYgKzI1MDEsMjEgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZm9ybWF0X2luZm8KPiBnZW4xMl9jY3NfZm9ybWF0c1td ID0gewo+ID4gIAkgIC5jcHAgPSB7IDQsIDEsIH0sIC5oc3ViID0gMiwgLnZzdWIgPSAzMiwgLmhh c19hbHBoYSA9IHRydWUgfSwgIH07Cj4gPgo+ID4gKy8qCj4gPiArICogR2VuLTEyIGNvbXByZXNz aW9uIHVzZXMgNCBiaXRzIG9mIENDUyBkYXRhIGZvciBlYWNoIGNhY2hlIGxpbmUKPiA+ICtwYWly IGluIHRoZQo+ID4gKyAqIG1haW4gc3VyZmFjZS4gQW5kIGVhY2ggNjRCIENDUyBjYWNoZSBsaW5l IHJlcHJlc2VudHMgYW4gYXJlYSBvZgo+ID4gKzR4MSBZLXRpbGVzCj4gPiArICogaW4gdGhlIG1h aW4gc3VyZmFjZS4gV2l0aCA0IGJ5dGUgcGl4ZWxzIGFuZCBlYWNoIFktdGlsZSBoYXZpbmcKPiA+ ICtkaW1lbnNpb25zIG9mCj4gPiArICogMzJ4MzIgcGl4ZWxzLCB0aGUgcmF0aW8gdHVybnMgb3V0 IHRvIDFCIGluIHRoZSBDQ1MgZm9yIGV2ZXJ5IDIgeAo+ID4gKzMyIHBpeGVscyBpbgo+ID4gKyAq IHRoZSBtYWluIHN1cmZhY2UuIEFkZGl0aW9uYWwgc3VyZmFjZSBpcyB1c2VkIHRvIHBhc3MgdGhl IENsZWFyCj4gPiArQ29sb3IKPiA+ICsgKiBzdHJ1Y3R1cmUgZm9yIHRoZSBkcml2ZXIgdG8gcHJv Z3JhbSB0aGUgREUuCj4gPiArICovCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZm9ybWF0 X2luZm8gZ2VuMTJfY2NzX2NjX2Zvcm1hdHNbXSA9IHsKPiA+ICsJeyAuZm9ybWF0ID0gRFJNX0ZP Uk1BVF9YUkdCODg4OCwgLmRlcHRoID0gMjQsIC5udW1fcGxhbmVzID0gMywKPiAuY3BwID0geyA0 LCAxLCAwfSwgLmhzdWIgPSAyLCAudnN1YiA9IDMyLCB9LAo+ID4gKwl7IC5mb3JtYXQgPSBEUk1f Rk9STUFUX1hCR1I4ODg4LCAuZGVwdGggPSAyNCwgLm51bV9wbGFuZXMgPSAzLAo+IC5jcHAgPSB7 IDQsIDEsIDB9LCAuaHN1YiA9IDIsIC52c3ViID0gMzIsIH0sCj4gPiArCXsgLmZvcm1hdCA9IERS TV9GT1JNQVRfQVJHQjg4ODgsIC5kZXB0aCA9IDMyLCAubnVtX3BsYW5lcyA9IDMsCj4gLmNwcCA9 IHsgNCwgMSwgMH0sIC5oc3ViID0gMiwgLnZzdWIgPSAzMiwgfSwKPiA+ICsJeyAuZm9ybWF0ID0g RFJNX0ZPUk1BVF9BQkdSODg4OCwgLmRlcHRoID0gMzIsIC5udW1fcGxhbmVzID0gMywKPiAuY3Bw Cj4gPiArPSB7IDQsIDEsIDB9LCAuaHN1YiA9IDIsIC52c3ViID0gMzIsIH0sCj4gCj4gSSB0aGlu ayB0aGVzZSBsYXN0IHR3byB3ZXJlIHN1cHBvc2VkIHRvIGhhdmUgLmhhc19hbHBoYSA9IHRydWU/ ClN1cmUgd2lsbCBpbmNsdWRlIGluIHRoZSBuZXh0IHJldi4KCj4gIAo+ID4gK307Cj4gPiArCj4g PiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZm9ybWF0X2luZm8gKiAgbG9va3VwX2Zvcm1hdF9p bmZvKGNvbnN0Cj4gPiBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvIGZvcm1hdHNbXSwKPiA+ICAJCSAg IGludCBudW1fZm9ybWF0cywgdTMyIGZvcm1hdCkKPiA+IEBAIC0yNTI1LDYgKzI1NDQsMTAgQEAg aW50ZWxfZ2V0X2Zvcm1hdF9pbmZvKGNvbnN0IHN0cnVjdAo+IGRybV9tb2RlX2ZiX2NtZDIgKmNt ZCkKPiA+ICAJCXJldHVybiBsb29rdXBfZm9ybWF0X2luZm8oZ2VuMTJfY2NzX2Zvcm1hdHMsCj4g PiAgCQkJCQkgIEFSUkFZX1NJWkUoZ2VuMTJfY2NzX2Zvcm1hdHMpLAo+ID4gIAkJCQkJICBjbWQt PnBpeGVsX2Zvcm1hdCk7Cj4gPiArCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJf UkNfQ0NTX0NDOgo+ID4gKwkJcmV0dXJuIGxvb2t1cF9mb3JtYXRfaW5mbyhnZW4xMl9jY3NfZm9y bWF0cywKPiA+ICsKPiBBUlJBWV9TSVpFKGdlbjEyX2Njc19jY19mb3JtYXRzKSwKPiA+ICsJCQkJ CSAgY21kLT5waXhlbF9mb3JtYXQpOwo+ID4gIAlkZWZhdWx0Ogo+ID4gIAkJcmV0dXJuIE5VTEw7 Cj4gPiAgCX0KPiA+IEBAIC0yNTM0LDYgKzI1NTcsNyBAQCBib29sIGlzX2Njc19tb2RpZmllcih1 NjQgbW9kaWZpZXIpICB7Cj4gPiAgCXJldHVybiBtb2RpZmllciA9PSBJOTE1X0ZPUk1BVF9NT0Rf WV9USUxFRF9HRU4xMl9SQ19DQ1MgfHwKPiA+ICAJICAgICAgIG1vZGlmaWVyID09IEk5MTVfRk9S TUFUX01PRF9ZX1RJTEVEX0dFTjEyX01DX0NDUyB8fAo+ID4gKwkgICAgICAgbW9kaWZpZXIgPT0g STkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJfUkNfQ0NTX0NDCj4gfHwKPiA+ICAJICAgICAg IG1vZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0NDUyB8fAo+ID4gIAkgICAgICAg bW9kaWZpZXIgPT0gSTkxNV9GT1JNQVRfTU9EX1lmX1RJTEVEX0NDUzsgIH0gQEAgLTQxMjAsNgo+ ID4gKzQxNDQsOSBAQCBzdGF0aWMgdTMyIHNrbF9wbGFuZV9jdGxfdGlsaW5nKHU2NCBmYl9tb2Rp ZmllcikKPiA+ICAJY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9DQ1M6Cj4gPiAgCQkvKiBm YWxsIHRocm91Z2ggKi8KPiA+ICAJY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4xMl9S Q19DQ1M6Cj4gPiArCQlyZXR1cm4gUExBTkVfQ1RMX1RJTEVEX1kgfAo+IFBMQU5FX0NUTF9SRU5E RVJfREVDT01QUkVTU0lPTl9FTkFCTEUgfAo+ID4gKwkJCUlDTF9QTEFORV9DVExfQ0xFQVJfQ09M T1JfRElTQUJMRTsKPiAKPiBJIHRoaW5rIHRoaXMgbmVlZHMgdG8gYmUgc3F1YXNoZWQgYmFjayBp bnRvIHRoZSBwcmV2aW91cyBwYXRjaCB0aGF0IGFkZGVkCj4gZ2VuZXJhbCBnZW4xMiBDQ1MuClN1 cmUuIEkgd2lsbCB3b3JrIHdpdGggREsgdG8gZ2V0IHRoaXMgY2hhbmdlcy4KPiAKPiAKPiA+ICsJ Y2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4xMl9SQ19DQ1NfQ0M6Cj4gPiAgCQlyZXR1 cm4gUExBTkVfQ1RMX1RJTEVEX1kgfAo+IFBMQU5FX0NUTF9SRU5ERVJfREVDT01QUkVTU0lPTl9F TkFCTEU7Cj4gPiAgCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJfTUNfQ0NTOgo+ ID4gIAkJcmV0dXJuIFBMQU5FX0NUTF9USUxFRF9ZIHwKPiBQTEFORV9DVExfTUVESUFfREVDT01Q UkVTU0lPTl9FTkFCTEU7Cj4gPiBAQCAtOTg5Nyw5ICs5OTI0LDEzIEBAIHNreWxha2VfZ2V0X2lu aXRpYWxfcGxhbmVfY29uZmlnKHN0cnVjdAo+IGludGVsX2NydGMgKmNydGMsCj4gPiAgCWNhc2Ug UExBTkVfQ1RMX1RJTEVEX1k6Cj4gPiAgCQlwbGFuZV9jb25maWctPnRpbGluZyA9IEk5MTVfVElM SU5HX1k7Cj4gPiAgCQlpZiAodmFsICYgUExBTkVfQ1RMX1JFTkRFUl9ERUNPTVBSRVNTSU9OX0VO QUJMRSkKPiA+IC0JCQlmYi0+bW9kaWZpZXIgPSBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEyID8K PiA+IC0KPiAJSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJfUkNfQ0NTIDoKPiA+IC0JCQkJ STkxNV9GT1JNQVRfTU9EX1lfVElMRURfQ0NTOwo+ID4gKwkJCWlmIChJTlRFTF9HRU4oZGV2X3By aXYpID49IDEyKQo+ID4gKwkJCQlmYi0+bW9kaWZpZXIgPSB2YWwgJgo+ID4gKwo+IAlJQ0xfUExB TkVfQ1RMX0NMRUFSX0NPTE9SX0RJU0FCTEUgPwo+ID4gKwo+IAlJOTE1X0ZPUk1BVF9NT0RfWV9U SUxFRF9HRU4xMl9SQ19DQ1MgOgo+ID4gKwo+IAlJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4x Ml9SQ19DQ1NfQ0M7Cj4gPiArCQkJZWxzZQo+ID4gKwkJCQlmYi0+bW9kaWZpZXIgPQo+IEk5MTVf Rk9STUFUX01PRF9ZX1RJTEVEX0NDUzsKPiA+ICAJCWVsc2UgaWYgKHZhbCAmCj4gUExBTkVfQ1RM X1JFTkRFUl9ERUNPTVBSRVNTSU9OX0VOQUJMRSkKPiA+ICAJCQlmYi0+bW9kaWZpZXIgPQo+IEk5 MTVfRk9STUFUX01PRF9ZX1RJTEVEX0dFTjEyX01DX0NDUzsKPiA+ICAJCWVsc2UKPiA+IEBAIC0x NDMyMiw2ICsxNDM1MywxNSBAQCBzdGF0aWMgaW50IGludGVsX3BsYW5lX3Bpbl9mYihzdHJ1Y3QK PiA+IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKPiA+Cj4gPiAgCXBsYW5lX3N0YXRl LT52bWEgPSB2bWE7Cj4gPgo+ID4gKwlpZiAoZmItPm1vZGlmaWVyID09Cj4gSTkxNV9GT1JNQVRf TU9EX1lfVElMRURfR0VOMTJfUkNfQ0NTX0NDKSB7Cj4gPiArCQl1MzIgKmNjYWRkciA9Cj4ga21h cF9hdG9taWMoaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlKGludGVsX2ZiX29iaihmYiksCj4gPiAr CQkJCQkJCQkgIGZiLQo+ID5vZmZzZXRzWzJdID4+IFBBR0VfU0hJRlQpKTsKPiA+ICsKPiAKPiBX aWxsIHRoaXMgd29yayBvbiBmcmFtZWJ1ZmZlcnMgaW4gc3RvbGVuIG1lbW9yeT8gIE5vdCB0aGF0 IGl0J3MgbGlrZWx5IGEgcmVndWxhcgo+IEJJT1Mgd291bGQgYWN0dWFsbHkgc2V0dXAgY29tcHJl c3NlZCBmcmFtZWJ1ZmZlcnMgdG8gYmVnaW4gd2l0aC4uLgpJdCBpcyB1bmxpa2VseSB0aGF0IEJJ T1Mgc2V0cyB1cCBhIGNvbXByZXNzZWQgZmIuIEhvd2V2ZXIgRkJDIGNvdWxkIGltcGFjdCBhcyBp dCB3b3JrcyB3aXRoClN0b2xlbiBtZW1vcnkuIEkgYW0gbm90IHN1cmUgYWJvdXQgdGhlIGludGVy YWN0aW9uIGJldHdlZW4gZmJjIGFuZCByZW5kZXIgY29tcHJlc3Npb24Kd29ya2luZyBhdCB0aGUg c2FtZSB0aW1lLiBBcGFydCBmcm9tIHRoYXQgSSBhbSB1bmFibGUgdG8gdGhpbmsgb2YgYW4gaXNz dWUuIFdpbGwgdHJ5IHRvIGZpZ3VyZQogb3V0IGR1cmluZyB0ZXN0aW5nLgoKPiAKPiA+ICsJCXBs YW5lX3N0YXRlLT5jY3ZhbCA9ICgodTY0KSooY2NhZGRyICsKPiBDQ19WQUxfSElHSEVSX09GRlNF VCkgPDwgMzIpCj4gPiArCQkJCSAgICAgfCAqKGNjYWRkciArIENDX1ZBTF9MT1dFUl9PRkZTRVQp Owo+IAo+IElzIHRoZXJlIG1vcmUgZGF0YSBpbiB0aGUgY2xlYXIgY29sb3IgcGFnZSBiZXNpZGVz IHRoZSBjb2xvciBpdHNlbGY/ICBJZiBzbywKPiBtYXliZSB3ZSBzaG91bGQganVzdCB1c2UgYSBz dHJ1Y3QgdG8gbWFrZSB0aGUgbWVtb3J5IGxheW91dCBleHBsaWNpdD8KQWNjb3JkaW5nIHRvIEJT cGVjOiA0Mzg1NCB0aGUgZmlyc3QgMyBvZmZzZXRzIGFyZSBmb3IgdGhlIHJhdyBjb2xvciB3aGlj aCBhY3RzIGFzIGFuIGlucHV0IHRvCjNkIGVuZ2luZSB3aGljaCBmaWxscyB0aGUgaW5mbyBpbiB0 aGUgbGF0ZXIgMiBvZmZzZXRzIGluIERFIGNvbXBhdGlibGUgZm9ybWF0LiBUaGUgb3RoZXIgZGF0 YQpUaGVyZWZvcmUgaXMgcmVkdW5kYW50IGFuZCBjYW5ub3QgYmUgY29uc3VtZWQgYnkgdGhlIERF IGhlbmNlIGlnbm9yaW5nLgo+IAo+ID4gKwkJa3VubWFwX2F0b21pYyhjY2FkZHIpOwo+ID4gKwl9 Cj4gPiArCj4gPiAgCXJldHVybiAwOwo+ID4gIH0KPiA+Cj4gPiBAQCAtMTU3MDksNiArMTU3NDks NyBAQCBzdGF0aWMgaW50IGludGVsX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0Cj4gaW50ZWxfZnJh bWVidWZmZXIgKmludGVsX2ZiLAo+ID4gIAkJICogdGlsZSB3aWR0aHMuCj4gPiAgCQkgKi8KPiA+ ICAJCWlmICgoZmItPm1vZGlmaWVyID09Cj4gSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJf UkNfQ0NTIHx8Cj4gPiArCQkgICAgIGZiLT5tb2RpZmllciA9PQo+IEk5MTVfRk9STUFUX01PRF9Z X1RJTEVEX0dFTjEyX1JDX0NDU19DQyB8fAo+ID4gIAkJICAgICBmYi0+bW9kaWZpZXIgPT0KPiBJ OTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4xMl9NQ19DQ1MpICYmCj4gPiAgCQkgICAgaSA9PSAw KQo+ID4gIAkJCXN0cmlkZV9hbGlnbm1lbnQgKj0gNDsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+ID4gYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+ID4gaW5kZXggZDVj YzRiODEwZDllLi5hODI2OTVhM2UwYjggMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPiA+IEBAIC01NzksNiArNTc5 LDkgQEAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlIHsKPiA+ICAJdTMyIHNsYXZlOwo+ID4KPiA+ ICAJc3RydWN0IGRybV9pbnRlbF9zcHJpdGVfY29sb3JrZXkgY2tleTsKPiA+ICsKPiA+ICsJLyog Q2xlYXIgQ29sb3IgVmFsdWUgKi8KPiA+ICsJdTY0IGNjdmFsOwo+ID4gIH07Cj4gPgo+ID4gIHN0 cnVjdCBpbnRlbF9pbml0aWFsX3BsYW5lX2NvbmZpZyB7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9zcHJpdGUuYwo+ID4gYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jCj4gPiBpbmRleCAxNjU1OTg0OTU1Y2EuLjM2 NzJlOGI5YzBiYyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfc3ByaXRlLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfc3ByaXRlLmMKPiA+IEBAIC01NDksNiArNTQ5LDcgQEAgc2tsX3Byb2dyYW1fcGxhbmUoc3Ry dWN0IGludGVsX3BsYW5lICpwbGFuZSwKPiA+ICAJdTMyIHBsYW5lX2NvbG9yX2N0bCA9IDA7Cj4g PiAgCXVuc2lnbmVkIGxvbmcgaXJxZmxhZ3M7Cj4gPiAgCXUzMiBrZXltc2ssIGtleW1heDsKPiA+ ICsJdTY0IGNjdmFsID0gcGxhbmVfc3RhdGUtPmNjdmFsOwo+ID4KPiA+ICAJcGxhbmVfY3RsIHw9 IHNrbF9wbGFuZV9jdGxfY3J0YyhjcnRjX3N0YXRlKTsKPiA+Cj4gPiBAQCAtNjA5LDYgKzYxMCwx MCBAQCBza2xfcHJvZ3JhbV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAo+ID4gIAlp ZiAoZmItPmZvcm1hdC0+aXNfeXV2ICYmIGljbF9pc19oZHJfcGxhbmUoZGV2X3ByaXYsIHBsYW5l X2lkKSkKPiA+ICAJCWljbF9wcm9ncmFtX2lucHV0X2NzYyhwbGFuZSwgY3J0Y19zdGF0ZSwgcGxh bmVfc3RhdGUpOwo+ID4KPiA+ICsJaWYgKGZiLT5tb2RpZmllciA9PQo+IEk5MTVfRk9STUFUX01P RF9ZX1RJTEVEX0dFTjEyX1JDX0NDU19DQykKPiA+ICsJCWludGVsX3VuY29yZV93cml0ZTY0X2Z3 KCZkZXZfcHJpdi0+dW5jb3JlLAo+ID4gKwkJCQkJUExBTkVfQ0NfVkFMKHBpcGUsIHBsYW5lX2lk KSwKPiBjY3ZhbCk7Cj4gPiArCj4gPiAgCXNrbF93cml0ZV9wbGFuZV93bShwbGFuZSwgY3J0Y19z dGF0ZSk7Cj4gPgo+ID4gIAlJOTE1X1dSSVRFX0ZXKFBMQU5FX0tFWVZBTChwaXBlLCBwbGFuZV9p ZCksIGtleS0+bWluX3ZhbHVlKTsKPiBAQAo+ID4gLTE3MzgsNyArMTc0Myw4IEBAIHN0YXRpYyBp bnQgc2tsX3BsYW5lX2NoZWNrX2ZiKGNvbnN0IHN0cnVjdAo+IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUsCj4gPiAgCSAgICAgZmItPm1vZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9ZX1RJ TEVEX0NDUyB8fAo+ID4gIAkgICAgIGZiLT5tb2RpZmllciA9PSBJOTE1X0ZPUk1BVF9NT0RfWWZf VElMRURfQ0NTIHx8Cj4gPiAgCSAgICAgZmItPm1vZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9Z X1RJTEVEX0dFTjEyX1JDX0NDUyB8fAo+ID4gLQkgICAgIGZiLT5tb2RpZmllciA9PSBJOTE1X0ZP Uk1BVF9NT0RfWV9USUxFRF9HRU4xMl9NQ19DQ1MpKQo+IHsKPiA+ICsJICAgICBmYi0+bW9kaWZp ZXIgPT0gSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJfTUNfQ0NTCj4gfHwKPiA+ICsJICAg ICBmYi0+bW9kaWZpZXIgPT0KPiBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4xMl9SQ19DQ1Nf Q0MpKSB7Cj4gPiAgCQlEUk1fREVCVUdfS01TKCJZL1lmIHRpbGluZyBub3Qgc3VwcG9ydGVkIGlu IElGLUlECj4gbW9kZVxuIik7Cj4gPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICAJfQo+ID4gQEAg LTIxNTMsNiArMjE1OSw3IEBAIHN0YXRpYyBjb25zdCB1NjQKPiA+IHNrbF9wbGFuZV9mb3JtYXRf bW9kaWZpZXJzX2Njc1tdID0geyAgc3RhdGljIGNvbnN0IHU2NAo+IGdlbjEyX3BsYW5lX2Zvcm1h dF9tb2RpZmllcnNfY2NzW10gPSB7Cj4gPiAgCUk5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0dFTjEy X1JDX0NDUywKPiA+ICAJSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJfTUNfQ0NTLAo+ID4g KwlJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4xMl9SQ19DQ1NfQ0MsCj4gPiAgCUk5MTVfRk9S TUFUX01PRF9ZX1RJTEVELAo+ID4gIAlJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRCwKPiA+ICAJRFJN X0ZPUk1BVF9NT0RfTElORUFSLAo+ID4gQEAgLTIzMjEsNiArMjMyOCw3IEBAIHN0YXRpYyBib29s Cj4gZ2VuMTJfcGxhbmVfZm9ybWF0X21vZF9zdXBwb3J0ZWQoc3RydWN0IGRybV9wbGFuZSAqX3Bs YW5lLAo+ID4gIAljYXNlIEk5MTVfRk9STUFUX01PRF9YX1RJTEVEOgo+ID4gIAljYXNlIEk5MTVf Rk9STUFUX01PRF9ZX1RJTEVEOgo+ID4gIAljYXNlIEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0dF TjEyX1JDX0NDUzoKPiA+ICsJY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4xMl9SQ19D Q1NfQ0M6Cj4gPiAgCQlicmVhazsKPiA+ICAJZGVmYXVsdDoKPiA+ICAJCXJldHVybiBmYWxzZTsK PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggaW5kZXggMDk2YmU5NWVjN2Y5Li4wMGM1OWVk OGIxMTQKPiA+IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gQEAgLTY2ODEs NiArNjY4MSw3IEBAIGVudW0gewo+ID4gICNkZWZpbmUgICBQTEFORV9DVExfWVVWNDIyX1ZZVVkJ CQkoMyA8PCAxNikKPiA+ICAjZGVmaW5lICAgUExBTkVfQ1RMX1JFTkRFUl9ERUNPTVBSRVNTSU9O X0VOQUJMRQkoMSA8PCAxNSkKPiA+ICAjZGVmaW5lICAgUExBTkVfQ1RMX1RSSUNLTEVfRkVFRF9E SVNBQkxFCSgxIDw8IDE0KQo+ID4gKyNkZWZpbmUJICBJQ0xfUExBTkVfQ1RMX0NMRUFSX0NPTE9S X0RJU0FCTEUJKDEgPDwgMTMpCj4gCj4gTG9va3MgbGlrZSB0aGUgd2hpdGVzcGFjZSBpcyBvZmYg aGVyZS4KV2lsbCBmaXggaXQgbmV4dCByZXYuCgpUaGFua3MsClJLCj4gCj4gCj4gTWF0dAo+IAo+ ID4gICNkZWZpbmUgICBQTEFORV9DVExfUExBTkVfR0FNTUFfRElTQUJMRQkJKDEgPDwgMTMpIC8q Cj4gUHJlLUdMSyAqLwo+ID4gICNkZWZpbmUgICBQTEFORV9DVExfVElMRURfTUFTSwkJCSgweDcg PDwgMTApCj4gPiAgI2RlZmluZSAgIFBMQU5FX0NUTF9USUxFRF9MSU5FQVIJCSgwIDw8IDEwKQo+ ID4gQEAgLTY3MjEsNiArNjcyMiw4IEBAIGVudW0gewo+ID4gICNkZWZpbmUgX1BMQU5FX0tFWU1B WF8xX0EJCQkweDcwMWEwCj4gPiAgI2RlZmluZSBfUExBTkVfS0VZTUFYXzJfQQkJCTB4NzAyYTAK PiA+ICAjZGVmaW5lICBQTEFORV9LRVlNQVhfQUxQSEEoYSkJCQkoKGEpIDw8IDI0KQo+ID4gKyNk ZWZpbmUgX1BMQU5FX0NDX1ZBTF8xX0EJCQkweDcwMWI0Cj4gPiArI2RlZmluZSBfUExBTkVfQ0Nf VkFMXzJfQQkJCTB4NzAyYjQKPiA+ICAjZGVmaW5lIF9QTEFORV9BVVhfRElTVF8xX0EJCQkweDcw MWMwCj4gPiAgI2RlZmluZSBfUExBTkVfQVVYX0RJU1RfMl9BCQkJMHg3MDJjMAo+ID4gICNkZWZp bmUgX1BMQU5FX0FVWF9PRkZTRVRfMV9BCQkJMHg3MDFjNAo+ID4gQEAgLTY3NjAsNiArNjc2Mywx NiBAQCBlbnVtIHsKPiA+ICAjZGVmaW5lIF9QTEFORV9OVjEyX0JVRl9DRkdfMV9BCQkweDcwMjc4 Cj4gPiAgI2RlZmluZSBfUExBTkVfTlYxMl9CVUZfQ0ZHXzJfQQkJMHg3MDM3OAo+ID4KPiA+ICsj ZGVmaW5lIF9QTEFORV9DQ19WQUxfMV9CCQkJMHg3MTFiNAo+ID4gKyNkZWZpbmUgX1BMQU5FX0ND X1ZBTF8yX0IJCQkweDcxMmI0Cj4gPiArI2RlZmluZSBfUExBTkVfQ0NfVkFMXzEocGlwZSkJX1BJ UEUocGlwZSwgX1BMQU5FX0NDX1ZBTF8xX0EsCj4gX1BMQU5FX0NDX1ZBTF8xX0IpCj4gPiArI2Rl ZmluZSBfUExBTkVfQ0NfVkFMXzIocGlwZSkJX1BJUEUocGlwZSwgX1BMQU5FX0NDX1ZBTF8yX0Es Cj4gX1BMQU5FX0NDX1ZBTF8yX0IpCj4gPiArI2RlZmluZSBQTEFORV9DQ19WQUwocGlwZSwgcGxh bmUpCVwKPiA+ICsJX01NSU9fUExBTkUocGxhbmUsIF9QTEFORV9DQ19WQUxfMShwaXBlKSwKPiBf UExBTkVfQ0NfVkFMXzIocGlwZSkpCj4gPiArCj4gPiArI2RlZmluZSBDQ19WQUxfTE9XRVJfT0ZG U0VUCQk0Cj4gPiArI2RlZmluZSBDQ19WQUxfSElHSEVSX09GRlNFVAkJNQo+ID4gKwo+ID4gIC8q IElucHV0IENTQyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLwo+ID4gICNkZWZpbmUgX1BMQU5FX0lO UFVUX0NTQ19SWV9HWV8xX0EJMHg3MDFFMAo+ID4gICNkZWZpbmUgX1BMQU5FX0lOUFVUX0NTQ19S WV9HWV8yX0EJMHg3MDJFMAo+ID4gLS0KPiA+IDIuMjAuMQo+ID4KPiAKPiAtLQo+IE1hdHQgUm9w ZXIKPiBHcmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgo+IFZUVC1PU0dDIFBsYXRmb3JtIEVuYWJs ZW1lbnQKPiBJbnRlbCBDb3Jwb3JhdGlvbgo+ICg5MTYpIDM1Ni0yNzk1Cl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==