From mboxrd@z Thu Jan 1 00:00:00 1970 From: Radhakrishna Sripada Subject: [PATCH v4 10/10] drm/i915/tgl: Add Clear Color supoort for TGL Render Decompression Date: Mon, 14 Oct 2019 17:05:33 -0700 Message-ID: <20191015000533.11425-11-radhakrishna.sripada@intel.com> References: <20191015000533.11425-1-radhakrishna.sripada@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id F3B7A6E1CF for ; Tue, 15 Oct 2019 00:03:46 +0000 (UTC) In-Reply-To: <20191015000533.11425-1-radhakrishna.sripada@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: nanley.g.chery@intel.com, dhinakaran.pandiyan@intel.com, ville.syrjala@intel.com List-Id: intel-gfx@lists.freedesktop.org UmVuZGVyIERlY29tcHJlc3Npb24gaXMgc3VwcG9ydGVkIHdpdGggWS1UaWxlZCBtYWluIHN1cmZh Y2UuIFRoZSBDQ1MgaXMKbGluZWFyIGFuZCBoYXMgNCBiaXRzIG9mIGRhdGEgZm9yIGVhY2ggbWFp biBzdXJmYWNlIGNhY2hlIGxpbmUgcGFpciwgYQpyYXRpbyBvZiAxOjI1Ni4gQWRkaXRpb25hbCBD bGVhciBDb2xvciBpbmZvcm1hdGlvbiBpcyBwYXNzZWQgZnJvbSB0aGUKdXNlci1zcGFjZSB0aHJv dWdoIGFuIG9mZnNldCBpbiB0aGUgR0VNIEJPLiBBZGQgYSBuZXcgbW9kaWZpZXIgdG8gaWRlbnRp ZnkKYW5kIHBhcnNlIG5ldyBDbGVhciBDb2xvciBpbmZvcm1hdGlvbiBhbmQgZXh0ZW5kIEdlbjEy IHJlbmRlciBkZWNvbXByZXNzaW9uCmZ1bmN0aW9uYWxpdHkgdG8gdGhlIG5ld2x5IGFkZGVkIG1v ZGlmaWVyLgoKdjI6IEZpeCBoYXNfYWxwaGEgZmxhZyBmb3IgbW9kaWZpZXJzLCBvbWl0IENDIG1v ZGlmaWVyIGR1cmluZyBpbml0aWFsCiAgICBwbGFuZSBjb25maWcoTWF0dCkuIEZpeCBMb29rdXAg ZXJyb3IuCnYzOiBGaXggdGhlIHBhbmljIHdoaWxlIHJ1bm5pbmcga21zX2N1YmUKdjQ6IEFkZCBh bGlnbm1lbnQgY2hlY2sgYW5kIHJldXNlIHRoZSBjb21tZW50cyBmb3IgZ2UxMl9jY3NfZm9ybWF0 cyhNYXR0KQoKQ2M6IERoaW5ha2FyYW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5AaW50 ZWwuY29tPgpDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBpbnRlbC5jb20+CkNjOiBT aGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+CkNjOiBSYWZhZWwgQW50 b2dub2xsaSA8cmFmYWVsLmFudG9nbm9sbGlAaW50ZWwuY29tPgpDYzogTWF0dCBSb3BlciA8bWF0 dGhldy5kLnJvcGVyQGludGVsLmNvbT4KQ2M6IE5hbmxleSBHIENoZXJ5IDxuYW5sZXkuZy5jaGVy eUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFJhZGhha3Jpc2huYSBTcmlwYWRhIDxyYWRoYWty aXNobmEuc3JpcGFkYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kaXNwbGF5LmMgIHwgNTIgKysrKysrKysrKysrKysrKysrKwogLi4uL2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oICAgIHwgIDMgKysKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMgICB8IDExICsrKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmggICAgICAgICAgICAgICB8IDEyICsrKysrCiA0IGZpbGVzIGNoYW5n ZWQsIDc3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCmluZGV4IDQ0ODE2OGE0ZDc4MC4uODgzNTkyMGNi MDA1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwpA QCAtMTkxNyw2ICsxOTE3LDEwIEBAIGludGVsX3RpbGVfd2lkdGhfYnl0ZXMoY29uc3Qgc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBjb2xvcl9wbGFuZSkKIAkJaWYgKGNvbG9yX3BsYW5l ID09IDEpCiAJCQlyZXR1cm4gNjQ7CiAJCS8qIGZhbGwgdGhyb3VnaCAqLworCWNhc2UgSTkxNV9G T1JNQVRfTU9EX1lfVElMRURfR0VOMTJfUkNfQ0NTX0NDOgorCQlpZiAoY29sb3JfcGxhbmUgPT0g MSB8fCBjb2xvcl9wbGFuZSA9PSAyKQorCQkJcmV0dXJuIDY0OworCQkvKiBmYWxsIHRocm91Z2gg Ki8KIAljYXNlIEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEOgogCQlpZiAoSVNfR0VOKGRldl9wcml2 LCAyKSB8fCBIQVNfMTI4X0JZVEVfWV9USUxJTkcoZGV2X3ByaXYpKQogCQkJcmV0dXJuIDEyODsK QEAgLTIwNTgsNiArMjA2Miw3IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgaW50ZWxfc3VyZl9hbGln bm1lbnQoY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQlyZXR1cm4gMjU2ICog MTAyNDsKIAkJcmV0dXJuIDA7CiAJY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4xMl9S Q19DQ1M6CisJY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4xMl9SQ19DQ1NfQ0M6CiAJ CXJldHVybiAxNiAqIDEwMjQ7CiAJY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9DQ1M6CiAJ Y2FzZSBJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRURfQ0NTOgpAQCAtMjI2MCw2ICsyMjY1LDggQEAg c3RhdGljIGJvb2wgaXNfc3VyZmFjZV9saW5lYXIodTY0IG1vZGlmaWVyLCBpbnQgY29sb3JfcGxh bmUpCiAJCXJldHVybiB0cnVlOwogCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJf UkNfQ0NTOgogCQlyZXR1cm4gY29sb3JfcGxhbmUgPT0gMTsKKwljYXNlIEk5MTVfRk9STUFUX01P RF9ZX1RJTEVEX0dFTjEyX1JDX0NDU19DQzoKKwkJcmV0dXJuIGNvbG9yX3BsYW5lID09IDEgfHwg Y29sb3JfcGxhbmUgPT0gMjsKIAljYXNlIEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0dFTjEyX01D X0NDUzoKIAkJcmV0dXJuIGNvbG9yX3BsYW5lID09IDEgfHwgY29sb3JfcGxhbmUgPT0gMzsKIAlk ZWZhdWx0OgpAQCAtMjQ1Myw2ICsyNDYwLDcgQEAgc3RhdGljIHVuc2lnbmVkIGludCBpbnRlbF9m Yl9tb2RpZmllcl90b190aWxpbmcodTY0IGZiX21vZGlmaWVyKQogCWNhc2UgSTkxNV9GT1JNQVRf TU9EX1lfVElMRURfQ0NTOgogCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJfUkNf Q0NTOgogCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJfTUNfQ0NTOgorCWNhc2Ug STkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJfUkNfQ0NTX0NDOgogCQlyZXR1cm4gSTkxNV9U SUxJTkdfWTsKIAlkZWZhdWx0OgogCQlyZXR1cm4gSTkxNV9USUxJTkdfTk9ORTsKQEAgLTI1MDYs NiArMjUxNCwyMSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9mb3JtYXRfaW5mbyBnZW4xMl9j Y3NfZm9ybWF0c1tdID0gewogCSAgLmNwcCA9IHsgMSwgMSwgMiwgMX0sIC5oc3ViID0gMiwgLnZz dWIgPSAyLCAuaXNfeXV2ID0gdHJ1ZSB9LAogfTsKIAorLyoKKyAqIFNhbWUgYXMgZ2VuMTJfY2Nz X2Zvcm1hdHNbXSBhYm92ZSwgYnV0IHdpdGggYWRkaXRpb25hbCBzdXJmYWNlIHVzZWQKKyAqIHRv cCBwYXNzIENsZWFyIENvbG9yIGluZm9ybWF0aW9uIGluIHBsYW5lIDIgd2l0aCA2NCBiaXRzIG9m IGRhdGEuCisgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvIGdlbjEyX2Nj c19jY19mb3JtYXRzW10gPSB7CisJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9YUkdCODg4OCwgLmRl cHRoID0gMjQsIC5udW1fcGxhbmVzID0gMywKKwkgIC5jcHAgPSB7IDQsIDEsIDAsIH0sIC5oc3Vi ID0gMiwgLnZzdWIgPSAzMiwgfSwKKwl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1hCR1I4ODg4LCAu ZGVwdGggPSAyNCwgLm51bV9wbGFuZXMgPSAzLAorCSAgLmNwcCA9IHsgNCwgMSwgMCwgfSwgLmhz dWIgPSAyLCAudnN1YiA9IDMyLCB9LAorCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfQVJHQjg4ODgs IC5kZXB0aCA9IDMyLCAubnVtX3BsYW5lcyA9IDMsCisJICAuY3BwID0geyA0LCAxLCAwLCB9LCAu aHN1YiA9IDIsIC52c3ViID0gMzIsIC5oYXNfYWxwaGEgPSB0cnVlIH0sCisJeyAuZm9ybWF0ID0g RFJNX0ZPUk1BVF9BQkdSODg4OCwgLmRlcHRoID0gMzIsIC5udW1fcGxhbmVzID0gMywKKwkgIC5j cHAgPSB7IDQsIDEsIDAsIH0sIC5oc3ViID0gMiwgLnZzdWIgPSAzMiwgLmhhc19hbHBoYSA9IHRy dWUgfSwKK307CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvICoKIGxvb2t1 cF9mb3JtYXRfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvIGZvcm1hdHNbXSwKIAkJ ICAgaW50IG51bV9mb3JtYXRzLCB1MzIgZm9ybWF0KQpAQCAtMjUzMyw2ICsyNTU2LDEwIEBAIGlu dGVsX2dldF9mb3JtYXRfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqY21kKQog CQlyZXR1cm4gbG9va3VwX2Zvcm1hdF9pbmZvKGdlbjEyX2Njc19mb3JtYXRzLAogCQkJCQkgIEFS UkFZX1NJWkUoZ2VuMTJfY2NzX2Zvcm1hdHMpLAogCQkJCQkgIGNtZC0+cGl4ZWxfZm9ybWF0KTsK KwljYXNlIEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0dFTjEyX1JDX0NDU19DQzoKKwkJcmV0dXJu IGxvb2t1cF9mb3JtYXRfaW5mbyhnZW4xMl9jY3NfY2NfZm9ybWF0cywKKwkJCQkJICBBUlJBWV9T SVpFKGdlbjEyX2Njc19jY19mb3JtYXRzKSwKKwkJCQkJICBjbWQtPnBpeGVsX2Zvcm1hdCk7CiAJ ZGVmYXVsdDoKIAkJcmV0dXJuIE5VTEw7CiAJfQpAQCAtMjU0Miw2ICsyNTY5LDcgQEAgYm9vbCBp c19jY3NfbW9kaWZpZXIodTY0IG1vZGlmaWVyKQogewogCXJldHVybiBtb2RpZmllciA9PSBJOTE1 X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4xMl9SQ19DQ1MgfHwKIAkgICAgICAgbW9kaWZpZXIgPT0g STkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJfTUNfQ0NTIHx8CisJICAgICAgIG1vZGlmaWVy ID09IEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0dFTjEyX1JDX0NDU19DQyB8fAogCSAgICAgICBt b2RpZmllciA9PSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9DQ1MgfHwKIAkgICAgICAgbW9kaWZp ZXIgPT0gSTkxNV9GT1JNQVRfTU9EX1lmX1RJTEVEX0NDUzsKIH0KQEAgLTI3MjksNiArMjc1Nyw4 IEBAIHN0YXRpYyBib29sIGlzX2Njc19wbGFuZSh1NjQgbW9kaWZpZXIsIGludCBjb2xvcl9wbGFu ZSkKIAkJcmV0dXJuIGZhbHNlOwogCWVsc2UgaWYgKG1vZGlmaWVyID09IEk5MTVfRk9STUFUX01P RF9ZX1RJTEVEX0dFTjEyX01DX0NDUykKIAkJcmV0dXJuIGNvbG9yX3BsYW5lID09IDMgfHwgY29s b3JfcGxhbmUgPT0gMTsKKwllbHNlIGlmIChtb2RpZmllciA9PSBJOTE1X0ZPUk1BVF9NT0RfWV9U SUxFRF9HRU4xMl9SQ19DQ1NfQ0MpCisJCXJldHVybiBjb2xvcl9wbGFuZSA9PSAxIHx8IGNvbG9y X3BsYW5lID09IDI7CiAJZWxzZQogCQlyZXR1cm4gY29sb3JfcGxhbmUgPT0gMTsKIH0KQEAgLTI3 OTcsNiArMjgyNywxOCBAQCBpbnRlbF9maWxsX2ZiX2luZm8oc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogCQlpbnQgeCwgeTsKIAkJaW50IHJldDsKIAorCQkvKgorCQkgKiBQbGFu ZSAyIG9mIFJlbmRlciBDb21wcmVzc2lvbiB3aXRoIENsZWFyIENvbG9yIGZiIG1vZGlmaWVyIGlz IGNvbnN1bWVkCisJCSAqIGJ5IHRoZSBkcml2ZXIgYW5kIG5vdCBwYXNzZWQgdG8gREUuIFNraXAg dGhlIGFyaXRobWV0aWMgcmVsYXRlZCB0bworCQkgKiBhbGlnbm1lbnQgYW5kIG9mZnNldCBjYWxj dWxhdGlvbi4KKwkJICovCisJCWlmIChpID09IDIgJiYgZmItPm1vZGlmaWVyID09IEk5MTVfRk9S TUFUX01PRF9ZX1RJTEVEX0dFTjEyX1JDX0NDU19DQykgeworCQkJaWYgKElTX0FMSUdORUQoZmIt Pm9mZnNldHNbMl0sIFBBR0VfU0laRSkpCisJCQkJY29udGludWU7CisJCQllbHNlCisJCQkJcmV0 dXJuIC1FSU5WQUw7CisJCX0KKwogCQljcHAgPSBmYi0+Zm9ybWF0LT5jcHBbaV07CiAJCWludGVs X2ZiX3BsYW5lX2RpbXMoJndpZHRoLCAmaGVpZ2h0LCBmYiwgaSk7CiAKQEAgLTQyNjMsNiArNDMw NSw3IEBAIHN0YXRpYyB1MzIgc2tsX3BsYW5lX2N0bF90aWxpbmcodTY0IGZiX21vZGlmaWVyKQog CWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRUQ6CiAJCXJldHVybiBQTEFORV9DVExfVElMRURf WTsKIAljYXNlIEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0NDUzoKKwljYXNlIEk5MTVfRk9STUFU X01PRF9ZX1RJTEVEX0dFTjEyX1JDX0NDU19DQzoKIAkJcmV0dXJuIFBMQU5FX0NUTF9USUxFRF9Z IHwgUExBTkVfQ1RMX1JFTkRFUl9ERUNPTVBSRVNTSU9OX0VOQUJMRTsKIAljYXNlIEk5MTVfRk9S TUFUX01PRF9ZX1RJTEVEX0dFTjEyX1JDX0NDUzoKIAkJcmV0dXJuIFBMQU5FX0NUTF9USUxFRF9Z IHwKQEAgLTE0NTg2LDYgKzE0NjI5LDE1IEBAIHN0YXRpYyBpbnQgaW50ZWxfcGxhbmVfcGluX2Zi KHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCiAKIAlwbGFuZV9zdGF0ZS0+ dm1hID0gdm1hOwogCisJaWYgKGZiLT5tb2RpZmllciA9PSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxF RF9HRU4xMl9SQ19DQ1NfQ0MpIHsKKwkJdTMyICpjY2FkZHIgPSBrbWFwX2F0b21pYyhpOTE1X2dl bV9vYmplY3RfZ2V0X3BhZ2UoaW50ZWxfZmJfb2JqKGZiKSwKKwkJCQkJCQkJICBmYi0+b2Zmc2V0 c1syXSA+PiBQQUdFX1NISUZUKSk7CisKKwkJcGxhbmVfc3RhdGUtPmNjdmFsID0gKCh1NjQpKihj Y2FkZHIgKyBDQ19WQUxfSElHSEVSX09GRlNFVCkgPDwgMzIpCisJCQkJICAgICB8ICooY2NhZGRy ICsgQ0NfVkFMX0xPV0VSX09GRlNFVCk7CisJCWt1bm1hcF9hdG9taWMoY2NhZGRyKTsKKwl9CisK IAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2Rpc3BsYXlfdHlwZXMuaAppbmRleCA5MTI0MWYyYmM1NzUuLjIxMzg5OWUyMDJhMyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVz LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVz LmgKQEAgLTU3OSw2ICs1NzksOSBAQCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgewogCXUzMiBw bGFuYXJfc2xhdmU7CiAKIAlzdHJ1Y3QgZHJtX2ludGVsX3Nwcml0ZV9jb2xvcmtleSBja2V5Owor CisJLyogQ2xlYXIgQ29sb3IgVmFsdWUgKi8KKwl1NjQgY2N2YWw7CiB9OwogCiBzdHJ1Y3QgaW50 ZWxfaW5pdGlhbF9wbGFuZV9jb25maWcgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfc3ByaXRlLmMKaW5kZXggZmRiOWRjYzQwNjBjLi5iYWYxMzUxOTEwY2EgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9zcHJpdGUuYwpAQCAtNTQ5LDYgKzU0OSw3 IEBAIHNrbF9wcm9ncmFtX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJdTMyIHBs YW5lX2NvbG9yX2N0bCA9IDA7CiAJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKIAl1MzIga2V5bXNr LCBrZXltYXg7CisJdTY0IGNjdmFsID0gcGxhbmVfc3RhdGUtPmNjdmFsOwogCiAJcGxhbmVfY3Rs IHw9IHNrbF9wbGFuZV9jdGxfY3J0YyhjcnRjX3N0YXRlKTsKIApAQCAtNjA5LDYgKzYxMCwxMCBA QCBza2xfcHJvZ3JhbV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogCWlmIChmYi0+ Zm9ybWF0LT5pc195dXYgJiYgaWNsX2lzX2hkcl9wbGFuZShkZXZfcHJpdiwgcGxhbmVfaWQpKQog CQlpY2xfcHJvZ3JhbV9pbnB1dF9jc2MocGxhbmUsIGNydGNfc3RhdGUsIHBsYW5lX3N0YXRlKTsK IAorCWlmIChmYi0+bW9kaWZpZXIgPT0gSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJfUkNf Q0NTX0NDKQorCQlpbnRlbF91bmNvcmVfd3JpdGU2NF9mdygmZGV2X3ByaXYtPnVuY29yZSwKKwkJ CQkJUExBTkVfQ0NfVkFMKHBpcGUsIHBsYW5lX2lkKSwgY2N2YWwpOworCiAJc2tsX3dyaXRlX3Bs YW5lX3dtKHBsYW5lLCBjcnRjX3N0YXRlKTsKIAogCUk5MTVfV1JJVEVfRlcoUExBTkVfS0VZVkFM KHBpcGUsIHBsYW5lX2lkKSwga2V5LT5taW5fdmFsdWUpOwpAQCAtMTczOSw3ICsxNzQ0LDggQEAg c3RhdGljIGludCBza2xfcGxhbmVfY2hlY2tfZmIoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCiAJICAgICBmYi0+bW9kaWZpZXIgPT0gSTkxNV9GT1JNQVRfTU9EX1lf VElMRURfQ0NTIHx8CiAJICAgICBmYi0+bW9kaWZpZXIgPT0gSTkxNV9GT1JNQVRfTU9EX1lmX1RJ TEVEX0NDUyB8fAogCSAgICAgZmItPm1vZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9ZX1RJTEVE X0dFTjEyX1JDX0NDUyB8fAotCSAgICAgZmItPm1vZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9Z X1RJTEVEX0dFTjEyX01DX0NDUykpIHsKKwkgICAgIGZiLT5tb2RpZmllciA9PSBJOTE1X0ZPUk1B VF9NT0RfWV9USUxFRF9HRU4xMl9NQ19DQ1MgfHwKKwkgICAgIGZiLT5tb2RpZmllciA9PSBJOTE1 X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4xMl9SQ19DQ1NfQ0MpKSB7CiAJCURSTV9ERUJVR19LTVMo IlkvWWYgdGlsaW5nIG5vdCBzdXBwb3J0ZWQgaW4gSUYtSUQgbW9kZVxuIik7CiAJCXJldHVybiAt RUlOVkFMOwogCX0KQEAgLTIxNTQsNiArMjE2MCw3IEBAIHN0YXRpYyBjb25zdCB1NjQgc2tsX3Bs YW5lX2Zvcm1hdF9tb2RpZmllcnNfY2NzW10gPSB7CiBzdGF0aWMgY29uc3QgdTY0IGdlbjEyX3Bs YW5lX2Zvcm1hdF9tb2RpZmllcnNfbWNfY2NzW10gPSB7CiAJSTkxNV9GT1JNQVRfTU9EX1lfVElM RURfR0VOMTJfTUNfQ0NTLAogCUk5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0dFTjEyX1JDX0NDUywK KwlJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4xMl9SQ19DQ1NfQ0MsCiAJSTkxNV9GT1JNQVRf TU9EX1lfVElMRUQsCiAJSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQsCiAJRFJNX0ZPUk1BVF9NT0Rf TElORUFSLApAQCAtMjE2Miw2ICsyMTY5LDcgQEAgc3RhdGljIGNvbnN0IHU2NCBnZW4xMl9wbGFu ZV9mb3JtYXRfbW9kaWZpZXJzX21jX2Njc1tdID0gewogCiBzdGF0aWMgY29uc3QgdTY0IGdlbjEy X3BsYW5lX2Zvcm1hdF9tb2RpZmllcnNfcmNfY2NzW10gPSB7CiAJSTkxNV9GT1JNQVRfTU9EX1lf VElMRURfR0VOMTJfUkNfQ0NTLAorCUk5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0dFTjEyX1JDX0ND U19DQywKIAlJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRCwKIAlJOTE1X0ZPUk1BVF9NT0RfWF9USUxF RCwKIAlEUk1fRk9STUFUX01PRF9MSU5FQVIsCkBAIC0yMzM1LDYgKzIzNDMsNyBAQCBzdGF0aWMg Ym9vbCBnZW4xMl9wbGFuZV9mb3JtYXRfbW9kX3N1cHBvcnRlZChzdHJ1Y3QgZHJtX3BsYW5lICpf cGxhbmUsCiAJY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRDoKIAljYXNlIEk5MTVfRk9STUFU X01PRF9ZX1RJTEVEOgogCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJfUkNfQ0NT OgorCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VOMTJfUkNfQ0NTX0NDOgogCQlicmVh azsKIAlkZWZhdWx0OgogCQlyZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRl eCA1ZmFkOWNiMzU5NzkuLmQ4ODgzYWQ5OWE2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBA IC02NzQzLDYgKzY3NDMsOCBAQCBlbnVtIHsKICNkZWZpbmUgX1BMQU5FX0tFWU1BWF8xX0EJCQkw eDcwMWEwCiAjZGVmaW5lIF9QTEFORV9LRVlNQVhfMl9BCQkJMHg3MDJhMAogI2RlZmluZSAgUExB TkVfS0VZTUFYX0FMUEhBKGEpCQkJKChhKSA8PCAyNCkKKyNkZWZpbmUgX1BMQU5FX0NDX1ZBTF8x X0EJCQkweDcwMWI0CisjZGVmaW5lIF9QTEFORV9DQ19WQUxfMl9BCQkJMHg3MDJiNAogI2RlZmlu ZSBfUExBTkVfQVVYX0RJU1RfMV9BCQkJMHg3MDFjMAogI2RlZmluZSBfUExBTkVfQVVYX0RJU1Rf Ml9BCQkJMHg3MDJjMAogI2RlZmluZSBfUExBTkVfQVVYX09GRlNFVF8xX0EJCQkweDcwMWM0CkBA IC02NzgyLDYgKzY3ODQsMTYgQEAgZW51bSB7CiAjZGVmaW5lIF9QTEFORV9OVjEyX0JVRl9DRkdf MV9BCQkweDcwMjc4CiAjZGVmaW5lIF9QTEFORV9OVjEyX0JVRl9DRkdfMl9BCQkweDcwMzc4CiAK KyNkZWZpbmUgX1BMQU5FX0NDX1ZBTF8xX0IJCQkweDcxMWI0CisjZGVmaW5lIF9QTEFORV9DQ19W QUxfMl9CCQkJMHg3MTJiNAorI2RlZmluZSBfUExBTkVfQ0NfVkFMXzEocGlwZSkJX1BJUEUocGlw ZSwgX1BMQU5FX0NDX1ZBTF8xX0EsIF9QTEFORV9DQ19WQUxfMV9CKQorI2RlZmluZSBfUExBTkVf Q0NfVkFMXzIocGlwZSkJX1BJUEUocGlwZSwgX1BMQU5FX0NDX1ZBTF8yX0EsIF9QTEFORV9DQ19W QUxfMl9CKQorI2RlZmluZSBQTEFORV9DQ19WQUwocGlwZSwgcGxhbmUpCVwKKwlfTU1JT19QTEFO RShwbGFuZSwgX1BMQU5FX0NDX1ZBTF8xKHBpcGUpLCBfUExBTkVfQ0NfVkFMXzIocGlwZSkpCisK KyNkZWZpbmUgQ0NfVkFMX0xPV0VSX09GRlNFVAkJNAorI2RlZmluZSBDQ19WQUxfSElHSEVSX09G RlNFVAkJNQorCiAvKiBJbnB1dCBDU0MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KICNkZWZpbmUg X1BMQU5FX0lOUFVUX0NTQ19SWV9HWV8xX0EJMHg3MDFFMAogI2RlZmluZSBfUExBTkVfSU5QVVRf Q1NDX1JZX0dZXzJfQQkweDcwMkUwCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeA==