From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arun Siluvery Subject: [PATCH v2 1/3] drm/i915:bxt: Enable Pooled EU support Date: Fri, 3 Jun 2016 06:34:33 +0100 Message-ID: <1464932075-34466-2-git-send-email-arun.siluvery@linux.intel.com> References: <1464932075-34466-1-git-send-email-arun.siluvery@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 230176ECBA for ; Fri, 3 Jun 2016 05:34:43 +0000 (UTC) In-Reply-To: <1464932075-34466-1-git-send-email-arun.siluvery@linux.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: Armin Reese , Mika Kuoppala List-Id: intel-gfx@lists.freedesktop.org VGhpcyBtb2RlIGFsbG93cyB0byBhc3NpZ24gRVVzIHRvIHBvb2xzIHdoaWNoIGNhbiBwcm9jZXNz IHdvcmsgY29sbGVjdGl2ZWx5LgpUaGUgY29tbWFuZCB0byBlbmFibGUgdGhpcyBtb2RlIHNob3Vs ZCBiZSBpc3N1ZWQgYXMgcGFydCBvZiBjb250ZXh0IGluaXRpYWxpemF0aW9uLgoKVGhlIHBvb2xl ZCBtb2RlIGlzIGdsb2JhbCwgb25jZSBlbmFibGVkIGl0IGhhcyB0byBzdGF5IHRoZSBzYW1lIGFj cm9zcyBhbGwKY29udGV4dHMgdW50aWwgSFcgcmVzZXQgaGVuY2UgdGhpcyBpcyBzZW50IGluIGF1 eGlsaWFyeSBnb2xkZW4gY29udGV4dCBiYXRjaC4KVGhhbmtzIHRvIE1pa2EgZm9yIHRoZSBwcmVs aW1pbmFyeSByZXZpZXcgYW5kIGNvbW1lbnRzLgoKdjI6IGV4cGxhaW4gd2h5IHRoaXMgaXMgZW5h YmxlZCBpbiBnb2xkZW4gY29udGV4dCwgdXNlIGZlYXR1cmUgZmxhZyB3aGlsZQplbmFibGluZyB0 aGUgc3VwcG9ydCAoQ2hyaXMpCgp2MzogSW5jbHVkZSBvbmx5IGtlcm5lbCBzdXBwb3J0IGFzIHVz ZXJzcGFjZSBzdXBwb3J0IGlzIG5vdCBhdmFpbGFibGUgeWV0LgoKVXNlciBzcGFjZSBjbGllbnRz IG5lZWQgdG8ga25vdyB3aGVuIHRoZSBwb29sZWQgRVUgZmVhdHVyZSBpcyBwcmVzZW50CmFuZCBl bmFibGVkIG9uIHRoZSBoYXJkd2FyZSBzbyB0aGF0IHRoZXkgY2FuIGFkYXB0IHdvcmsgc3VibWlz c2lvbnMuCkNyZWF0ZSBhIG5ldyBkZXZpY2UgaW5mbyBmbGFnIGZvciB0aGlzIHB1cnBvc2UuCgpT ZXQgaGFzX3Bvb2xlZF9ldSB0byB0cnVlIGluIHRoZSBCcm94dG9uIHN0YXRpYyBkZXZpY2UgaW5m byAtIEJyb3h0b24Kc3VwcG9ydHMgdGhlIGZlYXR1cmUgaW4gaGFyZHdhcmUgYW5kIHRoZSBkcml2 ZXIgd2lsbCBlbmFibGUgaXQgYnkKZGVmYXVsdC4KCldlIG5lZWQgdG8gYWRkIGdldHBhcmFtIGlv Y3RscyB0byBlbmFibGUgdXNlcnNwYWNlIHRvIHF1ZXJ5IGF2YWlsYWJpbGl0eSBvZgp0aGlzIGZl YXR1cmUgYW5kIHRvIHJldHJpZXZlIG1pbi4gbm8gb2YgZXVzIGluIGEgcG9vbCBidXQgd2Ugd2ls bCBleHBvc2UKdGhlbSBvbmNlIHVzZXJzcGFjZSBzdXBwb3J0IGlzIGF2YWlsYWJsZS4gT3BlbnNv dXJjZSB1c2VycyBmb3IgdGhpcyBmZWF0dXJlCmFyZSBtZXNhLCBsaWJ2YSBhbmQgYmVpZ25ldC4K CkJlaWduZXQgdGVhbSBpcyBjdXJyZW50bHkgd29ya2luZyBvbiBhZGRpbmcgdXNlcnNwYWNlIHN1 cHBvcnQuCgpSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28u dWs+ICh2MikKQ2M6IFdpbmlhcnNraSwgTWljaGFsIDxtaWNoYWwud2luaWFyc2tpQGludGVsLmNv bT4KQ2M6IFpvdSwgTmFuaGFpIDxuYW5oYWkuem91QGludGVsLmNvbT4KQ2M6IFlhbmcsIFJvbmcg UiA8cm9uZy5yLnlhbmdAaW50ZWwuY29tPgpDYzogTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFs YUBpbnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K Q2M6IEFybWluIFJlZXNlIDxhcm1pbi5jLnJlZXNlQGludGVsLmNvbT4KQ2M6IFRpbSBHb3JlIDx0 aW0uZ29yZUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEplZmYgTWNHZWUgPGplZmYubWNnZWVA aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBcnVuIFNpbHV2ZXJ5IDxhcnVuLnNpbHV2ZXJ5QGxp bnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAg ICAgICAgICB8ICA0ICsrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMgICAgICAg ICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuYyAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oICAgICAgICAgICAgICB8ICA2ICsrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fcmVuZGVyX3N0YXRlLmMgfCAyOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgICAgICB8ICAyICsrCiA2IGZpbGVz IGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jCmluZGV4IGU2MDZjNmEuLjE1NzdmYWQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jCkBAIC01Mjg0LDYgKzUyODQsMTAgQEAgc3RhdGljIGludCBpOTE1X3Nz ZXVfc3RhdHVzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQogCQkgICBJTlRFTF9J TkZPKGRldiktPmV1X3RvdGFsKTsKIAlzZXFfcHJpbnRmKG0sICIgIEF2YWlsYWJsZSBFVSBQZXIg U3Vic2xpY2U6ICV1XG4iLAogCQkgICBJTlRFTF9JTkZPKGRldiktPmV1X3Blcl9zdWJzbGljZSk7 CisJc2VxX3ByaW50ZihtLCAiICBIYXMgUG9vbGVkIEVVOiAlc1xuIiwgeWVzbm8oSEFTX1BPT0xF RF9FVShkZXYpKSk7CisJaWYgKEhBU19QT09MRURfRVUoZGV2KSkKKwkJc2VxX3ByaW50ZihtLCAi ICBNaW4gRVUgaW4gcG9vbDogJXVcbiIsCisJCQkgICBJTlRFTF9JTkZPKGRldiktPm1pbl9ldV9p bl9wb29sKTsKIAlzZXFfcHJpbnRmKG0sICIgIEhhcyBTbGljZSBQb3dlciBHYXRpbmc6ICVzXG4i LAogCQkgICB5ZXNubyhJTlRFTF9JTkZPKGRldiktPmhhc19zbGljZV9wZykpOwogCXNlcV9wcmlu dGYobSwgIiAgSGFzIFN1YnNsaWNlIFBvd2VyIEdhdGluZzogJXNcbiIsCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kbWEuYwppbmRleCAwN2VkYWVkLi5hNmM1ZDg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RtYS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMK QEAgLTc2NCw2ICs3NjQsMjIgQEAgc3RhdGljIHZvaWQgZ2VuOV9zc2V1X2luZm9faW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQogCQkJICAgICAgIChpbmZvLT5zbGljZV90b3RhbCA+IDEpKTsK IAlpbmZvLT5oYXNfc3Vic2xpY2VfcGcgPSAoSVNfQlJPWFRPTihkZXYpICYmIChpbmZvLT5zdWJz bGljZV90b3RhbCA+IDEpKTsKIAlpbmZvLT5oYXNfZXVfcGcgPSAoaW5mby0+ZXVfcGVyX3N1YnNs aWNlID4gMik7CisKKwlpZiAoSVNfQlJPWFRPTihkZXYpKSB7CisjZGVmaW5lIElTX1NTX0RJU0FC TEVEKF9zc19kaXNhYmxlLCBzcykgICAgKF9zc19kaXNhYmxlICYgKDB4MSA8PCBzcykpCisKKwkJ aW5mby0+bWluX2V1X2luX3Bvb2wgPSAwOworCQlpZiAoaW5mby0+aGFzX3Bvb2xlZF9ldSkgewor CQkJaWYgKElTX1NTX0RJU0FCTEVEKHNzX2Rpc2FibGUsIDApIHx8CisJCQkgICAgSVNfU1NfRElT QUJMRUQoc3NfZGlzYWJsZSwgMikpCisJCQkJaW5mby0+bWluX2V1X2luX3Bvb2wgPSAzOworCQkJ ZWxzZSBpZiAoSVNfU1NfRElTQUJMRUQoc3NfZGlzYWJsZSwgMSkpCisJCQkJaW5mby0+bWluX2V1 X2luX3Bvb2wgPSA2OworCQkJZWxzZQorCQkJCWluZm8tPm1pbl9ldV9pbl9wb29sID0gOTsKKwkJ fQorI3VuZGVmIElTX1NTX0RJU0FCTEVECisJfQogfQogCiBzdGF0aWMgdm9pZCBicm9hZHdlbGxf c3NldV9pbmZvX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKQEAgLTk2Miw2ICs5NzgsOSBA QCBzdGF0aWMgdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19ydW50aW1lX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIAlEUk1fREVCVUdfRFJJVkVSKCJzdWJzbGljZSBwZXIgc2xpY2U6ICV1XG4i LCBpbmZvLT5zdWJzbGljZV9wZXJfc2xpY2UpOwogCURSTV9ERUJVR19EUklWRVIoIkVVIHRvdGFs OiAldVxuIiwgaW5mby0+ZXVfdG90YWwpOwogCURSTV9ERUJVR19EUklWRVIoIkVVIHBlciBzdWJz bGljZTogJXVcbiIsIGluZm8tPmV1X3Blcl9zdWJzbGljZSk7CisJRFJNX0RFQlVHX0RSSVZFUigi SGFzIFBvb2xlZCBFVTogJXNcbiIsIEhBU19QT09MRURfRVUoZGV2KSA/ICJ5IiA6ICJuIik7CisJ aWYgKEhBU19QT09MRURfRVUoZGV2KSkKKwkJRFJNX0RFQlVHX0RSSVZFUigiTWluIEVVIGluIHBv b2w6ICV1XG4iLCBpbmZvLT5taW5fZXVfaW5fcG9vbCk7CiAJRFJNX0RFQlVHX0RSSVZFUigiaGFz IHNsaWNlIHBvd2VyIGdhdGluZzogJXNcbiIsCiAJCQkgaW5mby0+aGFzX3NsaWNlX3BnID8gInki IDogIm4iKTsKIAlEUk1fREVCVUdfRFJJVkVSKCJoYXMgc3Vic2xpY2UgcG93ZXIgZ2F0aW5nOiAl c1xuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCmluZGV4IDk0M2Q3YjIuLmRlNzhhMzAgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtMzU3LDYgKzM1Nyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfYnJveHRvbl9pbmZvID0gewogCS5oYXNfZGRpID0g MSwKIAkuaGFzX2ZwZ2FfZGJnID0gMSwKIAkuaGFzX2ZiYyA9IDEsCisJLmhhc19wb29sZWRfZXUg PSAxLAogCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLAogCUlWQl9DVVJTT1JfT0ZGU0VUUywKIAlC RFdfQ09MT1JTLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggNzhkMzhjMi4uY2JhODA2MiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC03NTYsNyArNzU2LDggQEAgc3RydWN0IGludGVs X2NzciB7CiAJZnVuYyhoYXNfbGxjKSBzZXAgXAogCWZ1bmMoaGFzX3Nub29wKSBzZXAgXAogCWZ1 bmMoaGFzX2RkaSkgc2VwIFwKLQlmdW5jKGhhc19mcGdhX2RiZykKKwlmdW5jKGhhc19mcGdhX2Ri Zykgc2VwIFwKKwlmdW5jKGhhc19wb29sZWRfZXUpCiAKICNkZWZpbmUgREVGSU5FX0ZMQUcobmFt ZSkgdTggbmFtZToxCiAjZGVmaW5lIFNFUF9TRU1JQ09MT04gOwpAQCAtNzgyLDYgKzc4Myw3IEBA IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyB7CiAJdTggc3Vic2xpY2VfcGVyX3NsaWNlOwogCXU4 IGV1X3RvdGFsOwogCXU4IGV1X3Blcl9zdWJzbGljZTsKKwl1OCBtaW5fZXVfaW5fcG9vbDsKIAkv KiBGb3IgZWFjaCBzbGljZSwgd2hpY2ggc3Vic2xpY2UocykgaGFzKGhhdmUpIDcgRVVzIChiaXRm aWVsZCk/ICovCiAJdTggc3Vic2xpY2VfN2V1WzNdOwogCXU4IGhhc19zbGljZV9wZzoxOwpAQCAt MjgyMiw2ICsyODI0LDggQEAgc3RydWN0IGRybV9pOTE1X2NtZF90YWJsZSB7CiAJCQkJICFJU19W QUxMRVlWSUVXKGRldikgJiYgIUlTX0NIRVJSWVZJRVcoZGV2KSAmJiBcCiAJCQkJICFJU19CUk9Y VE9OKGRldikpCiAKKyNkZWZpbmUgSEFTX1BPT0xFRF9FVShkZXYpCShJTlRFTF9JTkZPKGRldikt Pmhhc19wb29sZWRfZXUpCisKICNkZWZpbmUgSU5URUxfUENIX0RFVklDRV9JRF9NQVNLCQkweGZm MDAKICNkZWZpbmUgSU5URUxfUENIX0lCWF9ERVZJQ0VfSURfVFlQRQkJMHgzYjAwCiAjZGVmaW5l IElOVEVMX1BDSF9DUFRfREVWSUNFX0lEX1RZUEUJCTB4MWMwMApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYwppbmRleCA3YzkzMzI3Li5iN2MxYjVmIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYwpAQCAtOTQsNiAr OTQsNyBAQCBmcmVlX2dlbToKIAogc3RhdGljIGludCByZW5kZXJfc3RhdGVfc2V0dXAoc3RydWN0 IHJlbmRlcl9zdGF0ZSAqc28pCiB7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHNvLT5vYmot PmJhc2UuZGV2OwogCWNvbnN0IHN0cnVjdCBpbnRlbF9yZW5kZXJzdGF0ZV9yb2RhdGEgKnJvZGF0 YSA9IHNvLT5yb2RhdGE7CiAJdW5zaWduZWQgaW50IGkgPSAwLCByZWxvY19pbmRleCA9IDA7CiAJ c3RydWN0IHBhZ2UgKnBhZ2U7CkBAIC0xMzUsNiArMTM2LDMzIEBAIHN0YXRpYyBpbnQgcmVuZGVy X3N0YXRlX3NldHVwKHN0cnVjdCByZW5kZXJfc3RhdGUgKnNvKQogCiAJc28tPmF1eF9iYXRjaF9v ZmZzZXQgPSBpICogc2l6ZW9mKHUzMik7CiAKKwlpZiAoSEFTX1BPT0xFRF9FVShkZXYpKSB7CisJ CS8qCisJCSAqIFdlIGFsd2F5cyBwcm9ncmFtIDN4NiBwb29sIGNvbmZpZyBidXQgZGVwZW5kaW5n IHVwb24gd2hpY2gKKwkJICogc3Vic2xpY2UgaXMgZGlzYWJsZWQgSFcgZHJvcHMgZG93biB0byBh cHByb3ByaWF0ZSBjb25maWcKKwkJICogc2hvd24gYmVsb3cuCisJCSAqCisJCSAqIEluIHRoZSBi ZWxvdyB0YWJsZSAyeDYgY29uZmlnIGFsd2F5cyByZWZlcnMgdG8KKwkJICogZnVzZWQtZG93biB2 ZXJzaW9uLCBuYXRpdmUgMng2IGlzIG5vdCBhdmFpbGFibGUgYW5kIGNhbgorCQkgKiBiZSBpZ25v cmVkCisJCSAqCisJCSAqIFNObyAgc3Vic2xpY2VzIGNvbmZpZyAgICAgICAgICAgICAgICBldSBw b29sIGNvbmZpZ3VyYXRpb24KKwkJICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwkJICogMSAgICAzIHN1YnNsaWNlcyBlbmFibGVk ICgzeDYpICAtICAgIDB4MDA3NzcwMDAgICg5KzkpCisJCSAqIDIgICAgc3MwIGRpc2FibGVkICgy eDYpICAgICAgICAgLSAgICAweDAwNzc3MDAwICAoMys5KQorCQkgKiAzICAgIHNzMSBkaXNhYmxl ZCAoMng2KSAgICAgICAgIC0gICAgMHgwMDc3MDAwMCAgKDYrNikKKwkJICogNCAgICBzczIgZGlz YWJsZWQgKDJ4NikgICAgICAgICAtICAgIDB4MDAwMDcwMDAgICg5KzMpCisJCSAqLworCQl1MzIg ZXVfcG9vbF9jb25maWcgPSAweDAwNzc3MDAwOworCisJCU9VVF9CQVRDSChkLCBpLCBHRU45X01F RElBX1BPT0xfU1RBVEUpOworCQlPVVRfQkFUQ0goZCwgaSwgR0VOOV9NRURJQV9QT09MX0VOQUJM RSk7CisJCU9VVF9CQVRDSChkLCBpLCBldV9wb29sX2NvbmZpZyk7CisJCU9VVF9CQVRDSChkLCBp LCAwKTsKKwkJT1VUX0JBVENIKGQsIGksIDApOworCQlPVVRfQkFUQ0goZCwgaSwgMCk7CisJfQor CiAJT1VUX0JBVENIKGQsIGksIE1JX0JBVENIX0JVRkZFUl9FTkQpOwogCXNvLT5hdXhfYmF0Y2hf c2l6ZSA9IChpICogc2l6ZW9mKHUzMikpIC0gc28tPmF1eF9iYXRjaF9vZmZzZXQ7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oCmluZGV4IGUzMDc3MjUuLjFkOTczMjFlIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmgKQEAgLTQ0Miw2ICs0NDIsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9tbWlv X3JlZ192YWxpZChpOTE1X3JlZ190IHJlZykKICAqLwogI2RlZmluZSBHRlhfSU5TVFIob3Bjb2Rl LCBmbGFncykgKCgweDMgPDwgMjkpIHwgKChvcGNvZGUpIDw8IDI0KSB8IChmbGFncykpCiAKKyNk ZWZpbmUgR0VOOV9NRURJQV9QT09MX1NUQVRFICAgICAoKDB4MyA8PCAyOSkgfCAoMHgyIDw8IDI3 KSB8ICgweDUgPDwgMTYpIHwgNCkKKyNkZWZpbmUgICBHRU45X01FRElBX1BPT0xfRU5BQkxFICAo MSA8PCAzMSkKICNkZWZpbmUgR0ZYX09QX1JBU1RFUl9SVUxFUyAgICAoKDB4Mzw8MjkpfCgweDc8 PDI0KSkKICNkZWZpbmUgR0ZYX09QX1NDSVNTT1IgICAgICAgICAoKDB4Mzw8MjkpfCgweDFjPDwy NCl8KDB4MTA8PDE5KSkKICNkZWZpbmUgICBTQ19VUERBVEVfU0NJU1NPUiAgICAgICAoMHgxPDwx KQotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=