From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas De Marchi Subject: [PATCH v2 08/40] drm/i915/psr: Only handle interruptions of the transcoder in use Date: Sat, 17 Aug 2019 02:38:30 -0700 Message-ID: <20190817093902.2171-9-lucas.demarchi@intel.com> References: <20190817093902.2171-1-lucas.demarchi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 449F589AB3 for ; Sat, 17 Aug 2019 09:39:29 +0000 (UTC) In-Reply-To: <20190817093902.2171-1-lucas.demarchi@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: Dhinakaran Pandiyan List-Id: intel-gfx@lists.freedesktop.org RnJvbTogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRlbC5jb20+CgpJdCB3 YXMgZW5hYmxpbmcgYW5kIGNoZWNraW5nIFBTUiBpbnRlcnJ1cHRpb25zIGluIGV2ZXJ5IHRyYW5z Y29kZXIKd2hpbGUgaXQgc2hvdWxkIGtlZXAgdGhlIGludGVycnVwdGlvbnMgb24gdGhlIG5vbi11 c2VkIHRyYW5zY29kZXJzCm1hc2tlZC4KClRoaXMgYWxzbyBhbHJlYWR5IHByZXBhcmVzIGZvciBm dXR1cmUgd2hlbiBtb3JlIHRoYW4gb25lIFBTUiBpbnN0YW5jZQp3aWxsIGJlIGFsbG93ZWQuCgpD YzogRGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+ClNp Z25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGludGVsLmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jIHwgMTQwICsr KysrKysrKy0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAg ICAgICAgIHwgIDEzICstLQogMiBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspLCA5NCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX3Bzci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuYwppbmRl eCBlY2Y5NDVhZWY5MjIuLjI5MTY5ZTI0MzVlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX3Bzci5jCkBAIC04OCw0OCArODgsMjMgQEAgc3RhdGljIGJvb2wgaW50ZWxfcHNy Ml9lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAl9CiB9CiAKLXN0 YXRpYyBpbnQgZWRwX3Bzcl9zaGlmdChlbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIpCitz dGF0aWMgdm9pZCBpbnRlbF9wc3JfaXJxX2NvbnRyb2woc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQogewotCXN3aXRjaCAoY3B1X3RyYW5zY29kZXIpIHsKLQljYXNlIFRSQU5TQ09E RVJfQToKLQkJcmV0dXJuIEVEUF9QU1JfVFJBTlNDT0RFUl9BX1NISUZUOwotCWNhc2UgVFJBTlND T0RFUl9COgotCQlyZXR1cm4gRURQX1BTUl9UUkFOU0NPREVSX0JfU0hJRlQ7Ci0JY2FzZSBUUkFO U0NPREVSX0M6Ci0JCXJldHVybiBFRFBfUFNSX1RSQU5TQ09ERVJfQ19TSElGVDsKLQlkZWZhdWx0 OgotCQlNSVNTSU5HX0NBU0UoY3B1X3RyYW5zY29kZXIpOwotCQkvKiBmYWxsdGhyb3VnaCAqLwot CWNhc2UgVFJBTlNDT0RFUl9FRFA6Ci0JCXJldHVybiBFRFBfUFNSX1RSQU5TQ09ERVJfRURQX1NI SUZUOwotCX0KLX0KKwllbnVtIHRyYW5zY29kZXIgdHJhbnMgPSBkZXZfcHJpdi0+cHNyLnRyYW5z Y29kZXI7CisJdTMyIHZhbCwgbWFzazsKIAotc3RhdGljIHZvaWQgaW50ZWxfcHNyX2lycV9jb250 cm9sKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIGRlYnVnKQotewotCXUz MiBkZWJ1Z19tYXNrLCBtYXNrOwotCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlcjsKLQl1 MzIgdHJhbnNjb2RlcnMgPSBCSVQoVFJBTlNDT0RFUl9FRFApOwotCi0JaWYgKElOVEVMX0dFTihk ZXZfcHJpdikgPj0gOCkKLQkJdHJhbnNjb2RlcnMgfD0gQklUKFRSQU5TQ09ERVJfQSkgfAotCQkJ ICAgICAgIEJJVChUUkFOU0NPREVSX0IpIHwKLQkJCSAgICAgICBCSVQoVFJBTlNDT0RFUl9DKTsK LQotCWRlYnVnX21hc2sgPSAwOwotCW1hc2sgPSAwOwotCWZvcl9lYWNoX2NwdV90cmFuc2NvZGVy X21hc2tlZChkZXZfcHJpdiwgY3B1X3RyYW5zY29kZXIsIHRyYW5zY29kZXJzKSB7Ci0JCWludCBz aGlmdCA9IGVkcF9wc3Jfc2hpZnQoY3B1X3RyYW5zY29kZXIpOwotCi0JCW1hc2sgfD0gRURQX1BT Ul9FUlJPUihzaGlmdCk7Ci0JCWRlYnVnX21hc2sgfD0gRURQX1BTUl9QT1NUX0VYSVQoc2hpZnQp IHwKLQkJCSAgICAgIEVEUF9QU1JfUFJFX0VOVFJZKHNoaWZ0KTsKLQl9CisJbWFzayA9IEVEUF9Q U1JfRVJST1IodHJhbnMpOworCWlmIChkZXZfcHJpdi0+cHNyLmRlYnVnICYgSTkxNV9QU1JfREVC VUdfSVJRKQorCQltYXNrIHw9IEVEUF9QU1JfUE9TVF9FWElUKHRyYW5zKSB8IEVEUF9QU1JfUFJF X0VOVFJZKHRyYW5zKTsKIAotCWlmIChkZWJ1ZyAmIEk5MTVfUFNSX0RFQlVHX0lSUSkKLQkJbWFz ayB8PSBkZWJ1Z19tYXNrOwotCi0JSTkxNV9XUklURShFRFBfUFNSX0lNUiwgfm1hc2spOworCS8q CisJICogVE9ETzogd2hlbiBoYW5kbGluZyBtdWx0aXBsZSBQU1IgaW5zdGFuY2VzIGEgZ2xvYmFs IHNwaW5sb2NrIHdpbGwgYmUKKwkgKiBuZWVkZWQgdG8gc3luY2hyb25pemUgdGhlIHZhbHVlIG9m IHNoYXJlZCByZWdpc3RlcgorCSAqLworCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSX0lNUik7CisJ dmFsICY9IH5FRFBfUFNSX1RSQU5TX01BU0sodHJhbnMpOworCXZhbCB8PSB+bWFzazsKKwlJOTE1 X1dSSVRFKEVEUF9QU1JfSU1SLCB2YWwpOwogfQogCiBzdGF0aWMgdm9pZCBwc3JfZXZlbnRfcHJp bnQodTMyIHZhbCwgYm9vbCBwc3IyX2VuYWJsZWQpCkBAIC0xNzEsNjMgKzE0Niw1NCBAQCBzdGF0 aWMgdm9pZCBwc3JfZXZlbnRfcHJpbnQodTMyIHZhbCwgYm9vbCBwc3IyX2VuYWJsZWQpCiAKIHZv aWQgaW50ZWxfcHNyX2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgdTMyIHBzcl9paXIpCiB7Ci0JdTMyIHRyYW5zY29kZXJzID0gQklUKFRSQU5TQ09ERVJfRURQ KTsKLQllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXI7CisJZW51bSB0cmFuc2NvZGVyIGNw dV90cmFuc2NvZGVyID0gZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyOwogCWt0aW1lX3QgdGltZV9u cyA9ICBrdGltZV9nZXQoKTsKLQl1MzIgbWFzayA9IDA7CiAKLQlpZiAoSU5URUxfR0VOKGRldl9w cml2KSA+PSA4KQotCQl0cmFuc2NvZGVycyB8PSBCSVQoVFJBTlNDT0RFUl9BKSB8Ci0JCQkgICAg ICAgQklUKFRSQU5TQ09ERVJfQikgfAotCQkJICAgICAgIEJJVChUUkFOU0NPREVSX0MpOworCWlm IChwc3JfaWlyICYgRURQX1BTUl9FUlJPUihjcHVfdHJhbnNjb2RlcikpIHsKKwkJdTMyIHZhbDsK IAotCWZvcl9lYWNoX2NwdV90cmFuc2NvZGVyX21hc2tlZChkZXZfcHJpdiwgY3B1X3RyYW5zY29k ZXIsIHRyYW5zY29kZXJzKSB7Ci0JCWludCBzaGlmdCA9IGVkcF9wc3Jfc2hpZnQoY3B1X3RyYW5z Y29kZXIpOworCQlEUk1fV0FSTigiW3RyYW5zY29kZXIgJXNdIFBTUiBhdXggZXJyb3JcbiIsCisJ CQkgdHJhbnNjb2Rlcl9uYW1lKGNwdV90cmFuc2NvZGVyKSk7CiAKLQkJaWYgKHBzcl9paXIgJiBF RFBfUFNSX0VSUk9SKHNoaWZ0KSkgewotCQkJRFJNX1dBUk4oIlt0cmFuc2NvZGVyICVzXSBQU1Ig YXV4IGVycm9yXG4iLAotCQkJCSB0cmFuc2NvZGVyX25hbWUoY3B1X3RyYW5zY29kZXIpKTsKKwkJ ZGV2X3ByaXYtPnBzci5pcnFfYXV4X2Vycm9yID0gdHJ1ZTsKIAotCQkJZGV2X3ByaXYtPnBzci5p cnFfYXV4X2Vycm9yID0gdHJ1ZTsKKwkJLyoKKwkJICogSWYgdGhpcyBpbnRlcnJ1cHRpb24gaXMg bm90IG1hc2tlZCBpdCB3aWxsIGtlZXAKKwkJICogaW50ZXJydXB0aW5nIHNvIGZhc3QgdGhhdCBp dCBwcmV2ZW50cyB0aGUgc2NoZWR1bGVkCisJCSAqIHdvcmsgdG8gcnVuLgorCQkgKiBBbHNvIGFm dGVyIGEgUFNSIGVycm9yLCB3ZSBkb24ndCB3YW50IHRvIGFybSBQU1IKKwkJICogYWdhaW4gc28g d2UgZG9uJ3QgY2FyZSBhYm91dCB1bm1hc2sgdGhlIGludGVycnVwdGlvbgorCQkgKiBvciB1bnNl dCBpcnFfYXV4X2Vycm9yLgorCQkgKgorCQkgKiBUT0RPOiB3aGVuIGhhbmRsaW5nIG11bHRpcGxl IFBTUiBpbnN0YW5jZXMgYSBnbG9iYWwgc3BpbmxvY2sKKwkJICogd2lsbCBiZSBuZWVkZWQgdG8g c3luY2hyb25pemUgdGhlIHZhbHVlIG9mIHNoYXJlZCByZWdpc3RlcgorCQkgKi8KKwkJdmFsID0g STkxNV9SRUFEKEVEUF9QU1JfSU1SKTsKKwkJdmFsIHw9IEVEUF9QU1JfRVJST1IoY3B1X3RyYW5z Y29kZXIpOworCQlJOTE1X1dSSVRFKEVEUF9QU1JfSU1SLCB2YWwpOwogCi0JCQkvKgotCQkJICog SWYgdGhpcyBpbnRlcnJ1cHRpb24gaXMgbm90IG1hc2tlZCBpdCB3aWxsIGtlZXAKLQkJCSAqIGlu dGVycnVwdGluZyBzbyBmYXN0IHRoYXQgaXQgcHJldmVudHMgdGhlIHNjaGVkdWxlZAotCQkJICog d29yayB0byBydW4uCi0JCQkgKiBBbHNvIGFmdGVyIGEgUFNSIGVycm9yLCB3ZSBkb24ndCB3YW50 IHRvIGFybSBQU1IKLQkJCSAqIGFnYWluIHNvIHdlIGRvbid0IGNhcmUgYWJvdXQgdW5tYXNrIHRo ZSBpbnRlcnJ1cHRpb24KLQkJCSAqIG9yIHVuc2V0IGlycV9hdXhfZXJyb3IuCi0JCQkgKi8KLQkJ CW1hc2sgfD0gRURQX1BTUl9FUlJPUihzaGlmdCk7Ci0JCX0KKwkJc2NoZWR1bGVfd29yaygmZGV2 X3ByaXYtPnBzci53b3JrKTsKKwl9CiAKLQkJaWYgKHBzcl9paXIgJiBFRFBfUFNSX1BSRV9FTlRS WShzaGlmdCkpIHsKLQkJCWRldl9wcml2LT5wc3IubGFzdF9lbnRyeV9hdHRlbXB0ID0gdGltZV9u czsKLQkJCURSTV9ERUJVR19LTVMoIlt0cmFuc2NvZGVyICVzXSBQU1IgZW50cnkgYXR0ZW1wdCBp biAyIHZibGFua3NcbiIsCi0JCQkJICAgICAgdHJhbnNjb2Rlcl9uYW1lKGNwdV90cmFuc2NvZGVy KSk7Ci0JCX0KKwlpZiAocHNyX2lpciAmIEVEUF9QU1JfUFJFX0VOVFJZKGNwdV90cmFuc2NvZGVy KSkgeworCQlkZXZfcHJpdi0+cHNyLmxhc3RfZW50cnlfYXR0ZW1wdCA9IHRpbWVfbnM7CisJCURS TV9ERUJVR19LTVMoIlt0cmFuc2NvZGVyICVzXSBQU1IgZW50cnkgYXR0ZW1wdCBpbiAyIHZibGFu a3NcbiIsCisJCQkgICAgICB0cmFuc2NvZGVyX25hbWUoY3B1X3RyYW5zY29kZXIpKTsKKwl9CiAK LQkJaWYgKHBzcl9paXIgJiBFRFBfUFNSX1BPU1RfRVhJVChzaGlmdCkpIHsKLQkJCWRldl9wcml2 LT5wc3IubGFzdF9leGl0ID0gdGltZV9uczsKLQkJCURSTV9ERUJVR19LTVMoIlt0cmFuc2NvZGVy ICVzXSBQU1IgZXhpdCBjb21wbGV0ZWRcbiIsCi0JCQkJICAgICAgdHJhbnNjb2Rlcl9uYW1lKGNw dV90cmFuc2NvZGVyKSk7CisJaWYgKHBzcl9paXIgJiBFRFBfUFNSX1BPU1RfRVhJVChjcHVfdHJh bnNjb2RlcikpIHsKKwkJZGV2X3ByaXYtPnBzci5sYXN0X2V4aXQgPSB0aW1lX25zOworCQlEUk1f REVCVUdfS01TKCJbdHJhbnNjb2RlciAlc10gUFNSIGV4aXQgY29tcGxldGVkXG4iLAorCQkJICAg ICAgdHJhbnNjb2Rlcl9uYW1lKGNwdV90cmFuc2NvZGVyKSk7CiAKLQkJCWlmIChJTlRFTF9HRU4o ZGV2X3ByaXYpID49IDkpIHsKLQkJCQl1MzIgdmFsID0gSTkxNV9SRUFEKFBTUl9FVkVOVChjcHVf dHJhbnNjb2RlcikpOwotCQkJCWJvb2wgcHNyMl9lbmFibGVkID0gZGV2X3ByaXYtPnBzci5wc3Iy X2VuYWJsZWQ7CisJCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsKKwkJCXUzMiB2YWwg PSBJOTE1X1JFQUQoUFNSX0VWRU5UKGNwdV90cmFuc2NvZGVyKSk7CisJCQlib29sIHBzcjJfZW5h YmxlZCA9IGRldl9wcml2LT5wc3IucHNyMl9lbmFibGVkOwogCi0JCQkJSTkxNV9XUklURShQU1Jf RVZFTlQoY3B1X3RyYW5zY29kZXIpLCB2YWwpOwotCQkJCXBzcl9ldmVudF9wcmludCh2YWwsIHBz cjJfZW5hYmxlZCk7Ci0JCQl9CisJCQlJOTE1X1dSSVRFKFBTUl9FVkVOVChjcHVfdHJhbnNjb2Rl ciksIHZhbCk7CisJCQlwc3JfZXZlbnRfcHJpbnQodmFsLCBwc3IyX2VuYWJsZWQpOwogCQl9CiAJ fQotCi0JaWYgKG1hc2spIHsKLQkJbWFzayB8PSBJOTE1X1JFQUQoRURQX1BTUl9JTVIpOwotCQlJ OTE1X1dSSVRFKEVEUF9QU1JfSU1SLCBtYXNrKTsKLQotCQlzY2hlZHVsZV93b3JrKCZkZXZfcHJp di0+cHNyLndvcmspOwotCX0KIH0KIAogc3RhdGljIGJvb2wgaW50ZWxfZHBfZ2V0X2FscG1fc3Rh dHVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCkBAIC03MzgsNyArNzA0LDcgQEAgc3RhdGlj IHZvaWQgaW50ZWxfcHNyX2VuYWJsZV9zb3VyY2Uoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwK IAogCUk5MTVfV1JJVEUoRURQX1BTUl9ERUJVRyhkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpLCBt YXNrKTsKIAotCWludGVsX3Bzcl9pcnFfY29udHJvbChkZXZfcHJpdiwgZGV2X3ByaXYtPnBzci5k ZWJ1Zyk7CisJaW50ZWxfcHNyX2lycV9jb250cm9sKGRldl9wcml2KTsKIH0KIAogc3RhdGljIHZv aWQgaW50ZWxfcHNyX2VuYWJsZV9sb2NrZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LApAQCAtNzYzLDcgKzcyOSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Bzcl9lbmFibGVfbG9j a2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkgKiB0byBhdm9pZCBhbnkg cmVuZGVyaW5nIHByb2JsZW1zLgogCSAqLwogCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSX0lJUik7 Ci0JdmFsICY9IEVEUF9QU1JfRVJST1IoZWRwX3Bzcl9zaGlmdChkZXZfcHJpdi0+cHNyLnRyYW5z Y29kZXIpKTsKKwl2YWwgJj0gRURQX1BTUl9FUlJPUihkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIp OwogCWlmICh2YWwpIHsKIAkJZGV2X3ByaXYtPnBzci5zaW5rX25vdF9yZWxpYWJsZSA9IHRydWU7 CiAJCURSTV9ERUJVR19LTVMoIlBTUiBpbnRlcnJ1cHRpb24gZXJyb3Igc2V0LCBub3QgZW5hYmxp bmcgUFNSXG4iKTsKQEAgLTExMTEsNyArMTA3Nyw3IEBAIGludCBpbnRlbF9wc3JfZGVidWdfc2V0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTY0IHZhbCkKIAogCW9sZF9tb2Rl ID0gZGV2X3ByaXYtPnBzci5kZWJ1ZyAmIEk5MTVfUFNSX0RFQlVHX01PREVfTUFTSzsKIAlkZXZf cHJpdi0+cHNyLmRlYnVnID0gdmFsOwotCWludGVsX3Bzcl9pcnFfY29udHJvbChkZXZfcHJpdiwg ZGV2X3ByaXYtPnBzci5kZWJ1Zyk7CisJaW50ZWxfcHNyX2lycV9jb250cm9sKGRldl9wcml2KTsK IAogCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPnBzci5sb2NrKTsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cmVnLmgKaW5kZXggNzU3ZTljZjQ1ZWIyLi4zNDE3Zjc1YjdjNGMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaApAQCAtNDIyNCwxMyArNDIyNCwxMiBAQCBlbnVtIHsKIC8qIEJzcGVjIGNsYWltcyB0 aG9zZSBhcmVuJ3Qgc2hpZnRlZCBidXQgc3RheSBhdCAweDY0ODAwICovCiAjZGVmaW5lIEVEUF9Q U1JfSU1SCQkJCV9NTUlPKDB4NjQ4MzQpCiAjZGVmaW5lIEVEUF9QU1JfSUlSCQkJCV9NTUlPKDB4 NjQ4MzgpCi0jZGVmaW5lICAgRURQX1BTUl9FUlJPUihzaGlmdCkJCQkoMSA8PCAoKHNoaWZ0KSAr IDIpKQotI2RlZmluZSAgIEVEUF9QU1JfUE9TVF9FWElUKHNoaWZ0KQkJKDEgPDwgKChzaGlmdCkg KyAxKSkKLSNkZWZpbmUgICBFRFBfUFNSX1BSRV9FTlRSWShzaGlmdCkJCSgxIDw8IChzaGlmdCkp Ci0jZGVmaW5lICAgRURQX1BTUl9UUkFOU0NPREVSX0NfU0hJRlQJCTI0Ci0jZGVmaW5lICAgRURQ X1BTUl9UUkFOU0NPREVSX0JfU0hJRlQJCTE2Ci0jZGVmaW5lICAgRURQX1BTUl9UUkFOU0NPREVS X0FfU0hJRlQJCTgKLSNkZWZpbmUgICBFRFBfUFNSX1RSQU5TQ09ERVJfRURQX1NISUZUCQkwCisj ZGVmaW5lICAgX0VEUF9QU1JfVFJBTlNfU0hJRlQodHJhbnMpCQkoKHRyYW5zKSA9PSBUUkFOU0NP REVSX0VEUCA/IFwKKwkJCQkJCSAwIDogKCh0cmFucykgKyAxKSAqIDgpCisjZGVmaW5lICAgRURQ X1BTUl9UUkFOU19NQVNLKHRyYW5zKQkJKDB4NyA8PCBfRURQX1BTUl9UUkFOU19TSElGVCh0cmFu cykpCisjZGVmaW5lICAgRURQX1BTUl9FUlJPUih0cmFucykJCQkoMHg0IDw8IF9FRFBfUFNSX1RS QU5TX1NISUZUKHRyYW5zKSkKKyNkZWZpbmUgICBFRFBfUFNSX1BPU1RfRVhJVCh0cmFucykJCSgw eDIgPDwgX0VEUF9QU1JfVFJBTlNfU0hJRlQodHJhbnMpKQorI2RlZmluZSAgIEVEUF9QU1JfUFJF X0VOVFJZKHRyYW5zKQkJKDB4MSA8PCBfRURQX1BTUl9UUkFOU19TSElGVCh0cmFucykpCiAKICNk ZWZpbmUgX1NSRF9BVVhfQ1RMX0EJCQkJMHg2MDgxMAogI2RlZmluZSBfU1JEX0FVWF9DVExfRURQ CQkJMHg2ZjgxMAotLSAKMi4yMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZng=