From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: [PATCH 05/24] drm/i915/icp: Add Interrupt Support Date: Mon, 21 May 2018 17:25:39 -0700 Message-ID: <20180522002558.29262-6-paulo.r.zanoni@intel.com> References: <20180522002558.29262-1-paulo.r.zanoni@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id DF2E96E050 for ; Tue, 22 May 2018 00:26:02 +0000 (UTC) In-Reply-To: <20180522002558.29262-1-paulo.r.zanoni@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: Paulo Zanoni , Dhinakaran Pandiyan List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwuY29tPgoKVGhpcyBw YXRjaCBhZGRyZXNzZXMgSW50ZXJydXB0cyBmcm9tIHNvdXRoIGRpc3BsYXkgZW5naW5lIChTREUp LgoKSUNQIGhhcyB0d28gcmVnaXN0ZXJzIC0gU0hPVFBMVUdfQ1RMX0RESSBhbmQgU0hPVFBMVUdf Q1RMX1RDLgpJbnRyb2R1Y2UgdGhlc2UgcmVnaXN0ZXJzIGFuZCB0aGVpciBpbnRlbmRlZCB2YWx1 ZXMuCgpJbnRyb2R1Y2UgaWNwX2lycV9oYW5kbGVyKCkuCgpDYzogUGF1bG8gWmFub25pIDxwYXVs by5yLnphbm9uaUBpbnRlbC5jb20+CkNjOiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFu LnBhbmRpeWFuQGludGVsLmNvbT4KQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbnVzaGEgU3JpdmF0c2EgPGFudXNoYS5zcml2 YXRzYUBpbnRlbC5jb20+CltQYXVsbzogY29kaW5nIHN0eWxlIGJpa2VzaGVkcyBhbmQgcmViYXNl c10uClNpZ25lZC1vZmYtYnk6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgfCAxMzQgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCB8ICA0MCArKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTcyIGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKaW5kZXggOWJjZWM1ZmRi OWQwLi42YjEwOTk5MTc4NmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf aXJxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwpAQCAtMTIyLDYgKzEy MiwxNSBAQCBzdGF0aWMgY29uc3QgdTMyIGhwZF90Y19nZW4xMVtIUERfTlVNX1BJTlNdID0gewog CVtIUERfUE9SVF9GXSA9IEdFTjExX1RDNF9IT1RQTFVHCiB9OwogCitzdGF0aWMgY29uc3QgdTMy IGhwZF9pY3BbSFBEX05VTV9QSU5TXSA9IHsKKwlbSFBEX1BPUlRfQV0gPSBJQ1BfRERJQV9IT1RQ TFVHLAorCVtIUERfUE9SVF9CXSA9IElDUF9ERElCX0hPVFBMVUcsCisJW0hQRF9QT1JUX0NdID0g SUNQX1RDMV9IT1RQTFVHLAorCVtIUERfUE9SVF9EXSA9IElDUF9UQzJfSE9UUExVRywKKwlbSFBE X1BPUlRfRV0gPSBJQ1BfVEMzX0hPVFBMVUcsCisJW0hQRF9QT1JUX0ZdID0gSUNQX1RDNF9IT1RQ TFVHCit9OworCiAvKiBJSVIgY2FuIHRoZW9yZXRpY2FsbHkgcXVldWUgdXAgdHdvIGV2ZW50cy4g QmUgcGFyYW5vaWQuICovCiAjZGVmaW5lIEdFTjhfSVJRX1JFU0VUX05EWCh0eXBlLCB3aGljaCkg ZG8geyBcCiAJSTkxNV9XUklURShHRU44XyMjdHlwZSMjX0lNUih3aGljaCksIDB4ZmZmZmZmZmYp OyBcCkBAIC0xNTg2LDYgKzE1OTUsMzQgQEAgc3RhdGljIGJvb2wgYnh0X3BvcnRfaG90cGx1Z19s b25nX2RldGVjdChlbnVtIHBvcnQgcG9ydCwgdTMyIHZhbCkKIAl9CiB9CiAKK3N0YXRpYyBib29s IGljcF9kZGlfcG9ydF9ob3RwbHVnX2xvbmdfZGV0ZWN0KGVudW0gcG9ydCBwb3J0LCB1MzIgdmFs KQoreworCXN3aXRjaCAocG9ydCkgeworCWNhc2UgUE9SVF9BOgorCQlyZXR1cm4gdmFsICYgSUNQ X0RESUFfSFBEX0xPTkdfREVURUNUOworCWNhc2UgUE9SVF9COgorCQlyZXR1cm4gdmFsICYgSUNQ X0RESUJfSFBEX0xPTkdfREVURUNUOworCWRlZmF1bHQ6CisJCXJldHVybiBmYWxzZTsKKwl9Cit9 CisKK3N0YXRpYyBib29sIGljcF90Y19wb3J0X2hvdHBsdWdfbG9uZ19kZXRlY3QoZW51bSBwb3J0 IHBvcnQsIHUzMiB2YWwpCit7CisJc3dpdGNoIChwb3J0KSB7CisJY2FzZSBQT1JUX0M6CisJCXJl dHVybiB2YWwgJiBJQ1BfVENfSFBEX0xPTkdfREVURUNUKFBPUlRfVEMxKTsKKwljYXNlIFBPUlRf RDoKKwkJcmV0dXJuIHZhbCAmIElDUF9UQ19IUERfTE9OR19ERVRFQ1QoUE9SVF9UQzIpOworCWNh c2UgUE9SVF9FOgorCQlyZXR1cm4gdmFsICYgSUNQX1RDX0hQRF9MT05HX0RFVEVDVChQT1JUX1RD Myk7CisJY2FzZSBQT1JUX0Y6CisJCXJldHVybiB2YWwgJiBJQ1BfVENfSFBEX0xPTkdfREVURUNU KFBPUlRfVEM0KTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gZmFsc2U7CisJfQorfQorCiBzdGF0aWMg Ym9vbCBzcHRfcG9ydF9ob3RwbHVnMl9sb25nX2RldGVjdChlbnVtIHBvcnQgcG9ydCwgdTMyIHZh bCkKIHsKIAlzd2l0Y2ggKHBvcnQpIHsKQEAgLTIzNzcsNiArMjQxNCw0MyBAQCBzdGF0aWMgdm9p ZCBjcHRfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIg cGNoX2lpcikKIAkJY3B0X3NlcnJfaW50X2hhbmRsZXIoZGV2X3ByaXYpOwogfQogCitzdGF0aWMg dm9pZCBpY3BfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1 MzIgcGNoX2lpcikKK3sKKwl1MzIgZGRpX2hvdHBsdWdfdHJpZ2dlciA9IHBjaF9paXIgJiBJQ1Bf U0RFX0RESV9NQVNLOworCXUzMiB0Y19ob3RwbHVnX3RyaWdnZXIgPSBwY2hfaWlyICYgSUNQX1NE RV9UQ19NQVNLOworCXUzMiBwaW5fbWFzayA9IDAsIGxvbmdfbWFzayA9IDA7CisKKwlpZiAoZGRp X2hvdHBsdWdfdHJpZ2dlcikgeworCQl1MzIgZGlnX2hvdHBsdWdfcmVnOworCisJCWRpZ19ob3Rw bHVnX3JlZyA9IEk5MTVfUkVBRChTSE9UUExVR19DVExfRERJKTsKKwkJSTkxNV9XUklURShTSE9U UExVR19DVExfRERJLCBkaWdfaG90cGx1Z19yZWcpOworCisJCWludGVsX2dldF9ocGRfcGlucyhk ZXZfcHJpdiwgJnBpbl9tYXNrLCAmbG9uZ19tYXNrLAorCQkJCSAgIGRkaV9ob3RwbHVnX3RyaWdn ZXIsCisJCQkJICAgZGlnX2hvdHBsdWdfcmVnLCBocGRfaWNwLAorCQkJCSAgIGljcF9kZGlfcG9y dF9ob3RwbHVnX2xvbmdfZGV0ZWN0KTsKKwl9CisKKwlpZiAodGNfaG90cGx1Z190cmlnZ2VyKSB7 CisJCXUzMiBkaWdfaG90cGx1Z19yZWc7CisKKwkJZGlnX2hvdHBsdWdfcmVnID0gSTkxNV9SRUFE KFNIT1RQTFVHX0NUTF9UQyk7CisJCUk5MTVfV1JJVEUoU0hPVFBMVUdfQ1RMX1RDLCBkaWdfaG90 cGx1Z19yZWcpOworCisJCWludGVsX2dldF9ocGRfcGlucyhkZXZfcHJpdiwgJnBpbl9tYXNrLCAm bG9uZ19tYXNrLAorCQkJCSAgIHRjX2hvdHBsdWdfdHJpZ2dlciwKKwkJCQkgICBkaWdfaG90cGx1 Z19yZWcsIGhwZF9pY3AsCisJCQkJICAgaWNwX3RjX3BvcnRfaG90cGx1Z19sb25nX2RldGVjdCk7 CisJfQorCisJaWYgKHBpbl9tYXNrKQorCQlpbnRlbF9ocGRfaXJxX2hhbmRsZXIoZGV2X3ByaXYs IHBpbl9tYXNrLCBsb25nX21hc2spOworCisJaWYgKHBjaF9paXIgJiBJQ1BfR01CVVMpCisJCWdt YnVzX2lycV9oYW5kbGVyKGRldl9wcml2KTsKK30KKwogc3RhdGljIHZvaWQgc3B0X2lycV9oYW5k bGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIHBjaF9paXIpCiB7CiAJ dTMyIGhvdHBsdWdfdHJpZ2dlciA9IHBjaF9paXIgJiBTREVfSE9UUExVR19NQVNLX1NQVCAmCkBA IC0yNzc5LDggKzI4NTMsMTEgQEAgZ2VuOF9kZV9pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBtYXN0ZXJfY3RsKQogCQkJSTkxNV9XUklURShTREVJSVIs IGlpcik7CiAJCQlyZXQgPSBJUlFfSEFORExFRDsKIAotCQkJaWYgKEhBU19QQ0hfU1BUKGRldl9w cml2KSB8fCBIQVNfUENIX0tCUChkZXZfcHJpdikgfHwKLQkJCSAgICBIQVNfUENIX0NOUChkZXZf cHJpdikpCisJCQlpZiAoSEFTX1BDSF9JQ1AoZGV2X3ByaXYpKQorCQkJCWljcF9pcnFfaGFuZGxl cihkZXZfcHJpdiwgaWlyKTsKKwkJCWVsc2UgaWYgKEhBU19QQ0hfU1BUKGRldl9wcml2KSB8fAor CQkJCSBIQVNfUENIX0tCUChkZXZfcHJpdikgfHwKKwkJCQkgSEFTX1BDSF9DTlAoZGV2X3ByaXYp KQogCQkJCXNwdF9pcnFfaGFuZGxlcihkZXZfcHJpdiwgaWlyKTsKIAkJCWVsc2UKIAkJCQljcHRf aXJxX2hhbmRsZXIoZGV2X3ByaXYsIGlpcik7CkBAIC0zNTQ4LDYgKzM2MjUsOSBAQCBzdGF0aWMg dm9pZCBnZW4xMV9pcnFfcmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlHRU4zX0lSUV9S RVNFVChHRU4xMV9ERV9IUERfKTsKIAlHRU4zX0lSUV9SRVNFVChHRU4xMV9HVV9NSVNDXyk7CiAJ R0VOM19JUlFfUkVTRVQoR0VOOF9QQ1VfKTsKKworCWlmIChIQVNfUENIX0lDUChkZXZfcHJpdikp CisJCUdFTjNfSVJRX1JFU0VUKElDUF9TREVfKTsKIH0KIAogdm9pZCBnZW44X2lycV9wb3dlcl93 ZWxsX3Bvc3RfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKQEAgLTM2 NjQsNiArMzc0NCwzNSBAQCBzdGF0aWMgdm9pZCBpYnhfaHBkX2lycV9zZXR1cChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaWJ4X2hwZF9kZXRlY3Rpb25fc2V0dXAoZGV2X3By aXYpOwogfQogCitzdGF0aWMgdm9pZCBpY3BfaHBkX2RldGVjdGlvbl9zZXR1cChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJdTMyIGhvdHBsdWc7CisKKwlob3RwbHVnID0g STkxNV9SRUFEKFNIT1RQTFVHX0NUTF9EREkpOworCWhvdHBsdWcgfD0gSUNQX0RESUFfSFBEX0VO QUJMRSB8CisJCSAgIElDUF9ERElCX0hQRF9FTkFCTEU7CisJSTkxNV9XUklURShTSE9UUExVR19D VExfRERJLCBob3RwbHVnKTsKKworCWhvdHBsdWcgPSBJOTE1X1JFQUQoU0hPVFBMVUdfQ1RMX1RD KTsKKwlob3RwbHVnIHw9IElDUF9UQ19IUERfRU5BQkxFKFBPUlRfVEMxKSB8CisJCSAgIElDUF9U Q19IUERfRU5BQkxFKFBPUlRfVEMyKSB8CisJCSAgIElDUF9UQ19IUERfRU5BQkxFKFBPUlRfVEMz KSB8CisJCSAgIElDUF9UQ19IUERfRU5BQkxFKFBPUlRfVEM0KTsKKwlJOTE1X1dSSVRFKFNIT1RQ TFVHX0NUTF9UQywgaG90cGx1Zyk7Cit9CisKK3N0YXRpYyB2b2lkIGljcF9ocGRfaXJxX3NldHVw KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwl1MzIgaG90cGx1Z19pcnFz LCBlbmFibGVkX2lycXM7CisKKwlob3RwbHVnX2lycXMgPSBJQ1BfU0RFX0RESV9NQVNLIHwgSUNQ X1NERV9UQ19NQVNLOworCWVuYWJsZWRfaXJxcyA9IGludGVsX2hwZF9lbmFibGVkX2lycXMoZGV2 X3ByaXYsIGhwZF9pY3ApOworCisJaWJ4X2Rpc3BsYXlfaW50ZXJydXB0X3VwZGF0ZShkZXZfcHJp diwgaG90cGx1Z19pcnFzLCBlbmFibGVkX2lycXMpOworCisJaWNwX2hwZF9kZXRlY3Rpb25fc2V0 dXAoZGV2X3ByaXYpOworfQorCiBzdGF0aWMgdm9pZCBnZW4xMV9ocGRfZGV0ZWN0aW9uX3NldHVw KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAl1MzIgaG90cGx1ZzsKQEAg LTM2OTAsNiArMzc5OSw5IEBAIHN0YXRpYyB2b2lkIGdlbjExX2hwZF9pcnFfc2V0dXAoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCVBPU1RJTkdfUkVBRChHRU4xMV9ERV9IUERf SU1SKTsKIAogCWdlbjExX2hwZF9kZXRlY3Rpb25fc2V0dXAoZGV2X3ByaXYpOworCisJaWYgKEhB U19QQ0hfSUNQKGRldl9wcml2KSkKKwkJaWNwX2hwZF9pcnFfc2V0dXAoZGV2X3ByaXYpOwogfQog CiBzdGF0aWMgdm9pZCBzcHRfaHBkX2RldGVjdGlvbl9zZXR1cChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCkBAIC00MTIxLDExICs0MjMzLDI5IEBAIHN0YXRpYyB2b2lkIGdlbjEx X2d0X2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJ STkxNV9XUklURShHRU4xMV9HUE1fV0dCT1hQRVJGX0lOVFJfTUFTSywgIH4wKTsKIH0KIAorc3Rh dGljIHZvaWQgaWNwX2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQorewor CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKKwl1MzIg bWFzayA9IElDUF9HTUJVUzsKKworCVdBUk5fT04oSTkxNV9SRUFEKElDUF9TREVfSUVSKSAhPSAw KTsKKwlJOTE1X1dSSVRFKElDUF9TREVfSUVSLCAweGZmZmZmZmZmKTsKKwlQT1NUSU5HX1JFQUQo SUNQX1NERV9JRVIpOworCisJZ2VuM19hc3NlcnRfaWlyX2lzX3plcm8oZGV2X3ByaXYsIElDUF9T REVfSUlSKTsKKwlJOTE1X1dSSVRFKElDUF9TREVfSU1SLCB+bWFzayk7CisKKwlpY3BfaHBkX2Rl dGVjdGlvbl9zZXR1cChkZXZfcHJpdik7Cit9CisKIHN0YXRpYyBpbnQgZ2VuMTFfaXJxX3Bvc3Rp bnN0YWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAl1MzIgZ3VfbWlzY19tYXNrZWQgPSBH RU4xMV9HVV9NSVNDX0dTRTsKIAorCWlmIChIQVNfUENIX0lDUChkZXZfcHJpdikpCisJCWljcF9p cnFfcG9zdGluc3RhbGwoZGV2KTsKKwogCWdlbjExX2d0X2lycV9wb3N0aW5zdGFsbChkZXZfcHJp dik7CiAJZ2VuOF9kZV9pcnFfcG9zdGluc3RhbGwoZGV2X3ByaXYpOwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaAppbmRleCAxOTYwMDA5NzU4MWYuLjI4Y2U5NmNlMDQ4NCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCkBAIC03NDYwLDYgKzc0NjAsNDYgQEAgZW51bSB7CiAjZGVmaW5lICBQT1JURV9I T1RQTFVHX1NIT1JUX0RFVEVDVAkoMSA8PCAwKQogI2RlZmluZSAgUE9SVEVfSE9UUExVR19MT05H X0RFVEVDVAkoMiA8PCAwKQogCisvKiBJQ1AgKi8KKyNkZWZpbmUgSUNQX1NERV9JU1IJCQlfTU1J TygweGM0MDAwKQorI2RlZmluZSBJQ1BfU0RFX0lNUgkJCV9NTUlPKDB4YzQwMDQpCisjZGVmaW5l IElDUF9TREVfSUlSCQkJX01NSU8oMHhjNDAwOCkKKyNkZWZpbmUgSUNQX1NERV9JRVIJCQlfTU1J TygweGM0MDBjKQorI2RlZmluZSAgIElDUF9UQzRfSE9UUExVRwkJKDEgPDwgMjcpCisjZGVmaW5l ICAgSUNQX1RDM19IT1RQTFVHCQkoMSA8PCAyNikKKyNkZWZpbmUgICBJQ1BfVEMyX0hPVFBMVUcJ CSgxIDw8IDI1KQorI2RlZmluZSAgIElDUF9UQzFfSE9UUExVRwkJKDEgPDwgMjQpCisjZGVmaW5l ICAgSUNQX0dNQlVTCQkJKDEgPDwgMjMpCisjZGVmaW5lICAgSUNQX0RESUJfSE9UUExVRwkJKDEg PDwgMTcpCisjZGVmaW5lICAgSUNQX0RESUFfSE9UUExVRwkJKDEgPDwgMTYpCisKKyNkZWZpbmUg SUNQX1NERV9ERElfTUFTSwkJKElDUF9ERElCX0hPVFBMVUcgfAlcCisJCQkJCSBJQ1BfRERJQV9I T1RQTFVHKQorCisjZGVmaW5lIElDUF9TREVfVENfTUFTSwkJCShJQ1BfVEM0X0hPVFBMVUcgfAlc CisJCQkJCSBJQ1BfVEMzX0hPVFBMVUcgfAlcCisJCQkJCSBJQ1BfVEMyX0hPVFBMVUcgfAlcCisJ CQkJCSBJQ1BfVEMxX0hPVFBMVUcpCisKKyNkZWZpbmUgU0hPVFBMVUdfQ1RMX0RESQkJCV9NTUlP KDB4YzQwMzApCS8qIFNIT1RQTFVHX0NUTCAqLworI2RlZmluZSAgIElDUF9ERElCX0hQRF9FTkFC TEUJCQkoMSA8PCA3KQorI2RlZmluZSAgIElDUF9ERElCX0hQRF9TVEFUVVNfTUFTSwkJKDMgPDwg NCkKKyNkZWZpbmUgICBJQ1BfRERJQl9IUERfTk9fREVURUNUCQkoMCA8PCA0KQorI2RlZmluZSAg IElDUF9ERElCX0hQRF9TSE9SVF9ERVRFQ1QJCSgxIDw8IDQpCisjZGVmaW5lICAgSUNQX0RESUJf SFBEX0xPTkdfREVURUNUCQkoMiA8PCA0KQorI2RlZmluZSAgIElDUF9ERElCX0hQRF9TSE9SVF9M T05HX0RFVEVDVAkoMyA8PCA0KQorI2RlZmluZSAgIElDUF9ERElBX0hQRF9FTkFCTEUJCQkoMSA8 PCAzKQorI2RlZmluZSAgIElDUF9ERElBX0hQRF9TVEFUVVNfTUFTSwkJKDMgPDwgMCkKKyNkZWZp bmUgICBJQ1BfRERJQV9IUERfTk9fREVURUNUCQkoMCA8PCAwKQorI2RlZmluZSAgIElDUF9ERElB X0hQRF9TSE9SVF9ERVRFQ1QJCSgxIDw8IDApCisjZGVmaW5lICAgSUNQX0RESUFfSFBEX0xPTkdf REVURUNUCQkoMiA8PCAwKQorI2RlZmluZSAgIElDUF9ERElBX0hQRF9TSE9SVF9MT05HX0RFVEVD VAkoMyA8PCAwKQorCisjZGVmaW5lIFNIT1RQTFVHX0NUTF9UQwkJCQlfTU1JTygweGM0MDM0KQor I2RlZmluZSAgIElDUF9UQ19IUERfRU5BQkxFKHRjX3BvcnQpCQkoOCA8PCAodGNfcG9ydCkgKiA0 KQorI2RlZmluZSAgIElDUF9UQ19IUERfTE9OR19ERVRFQ1QodGNfcG9ydCkJKDIgPDwgKHRjX3Bv cnQpICogNCkKKyNkZWZpbmUgICBJQ1BfVENfSFBEX1NIT1JUX0RFVEVDVCh0Y19wb3J0KQkoMSA8 PCAodGNfcG9ydCkgKiA0KQorCiAjZGVmaW5lIFBDSF9HUElPQSAgICAgICAgICAgICAgIF9NTUlP KDB4YzUwMTApCiAjZGVmaW5lIFBDSF9HUElPQiAgICAgICAgICAgICAgIF9NTUlPKDB4YzUwMTQp CiAjZGVmaW5lIFBDSF9HUElPQyAgICAgICAgICAgICAgIF9NTUlPKDB4YzUwMTgpCi0tIAoyLjE0 LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=