From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [CI v11] drm/i915: Engine discovery query Date: Thu, 2 May 2019 06:38:53 +0100 Message-ID: <20190502053853.22191-1-tvrtko.ursulin@linux.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 39BE68929D for ; Thu, 2 May 2019 05:38:56 +0000 (UTC) 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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkVuZ2luZSBk aXNjb3ZlcnkgcXVlcnkgYWxsb3dzIHVzZXJzcGFjZSB0byBlbnVtZXJhdGUgZW5naW5lcywgcHJv YmUgdGhlaXIKY29uZmlndXJhdGlvbiBmZWF0dXJlcywgYWxsIHdpdGhvdXQgbmVlZGluZyB0byBt YWludGFpbiB0aGUgaW50ZXJuYWwgUENJCklEIGJhc2VkIGRhdGFiYXNlLgoKQSBuZXcgcXVlcnkg Zm9yIHRoZSBnZW5lcmljIGk5MTUgcXVlcnkgaW9jdGwgaXMgYWRkZWQgbmFtZWQKRFJNX0k5MTVf UVVFUllfRU5HSU5FX0lORk8sIHRvZ2V0aGVyIHdpdGggYWNjb21wYW55aW5nIHN0cnVjdHVyZQpk cm1faTkxNV9xdWVyeV9lbmdpbmVfaW5mby4gVGhlIGFkZHJlc3Mgb2YgbGF0dGVyIHNob3VsZCBi ZSBwYXNzZWQgdG8gdGhlCmtlcm5lbCBpbiB0aGUgcXVlcnkuZGF0YV9wdHIgZmllbGQsIGFuZCBz aG91bGQgYmUgbGFyZ2UgZW5vdWdoIGZvciB0aGUKa2VybmVsIHRvIGZpbGwgb3V0IGFsbCBrbm93 biBlbmdpbmVzIGFzIHN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbwplbGVtZW50cyB0cmFpbGlu ZyB0aGUgcXVlcnkuCgpBcyB3aXRoIG90aGVyIHF1ZXJpZXMsIHNldHRpbmcgdGhlIGl0ZW0gcXVl cnkgbGVuZ3RoIHRvIHplcm8gYWxsb3dzCnVzZXJzcGFjZSB0byBxdWVyeSBtaW5pbXVtIHJlcXVp cmVkIGJ1ZmZlciBzaXplLgoKRW51bWVyYXRlZCBlbmdpbmVzIGhhdmUgY29tbW9uIHR5cGUgbWFz ayB3aGljaCBjYW4gYmUgdXNlZCB0byBxdWVyeSBhbGwKaGFyZHdhcmUgZW5naW5lcywgdmVyc3Vz IGVuZ2luZXMgdXNlcnNwYWNlIGNhbiBzdWJtaXQgdG8gdXNpbmcgdGhlIGV4ZWNidWYKdUFQSS4K CkVuZ2luZXMgYWxzbyBoYXZlIGNhcGFiaWxpdGllcyB3aGljaCBhcmUgcGVyIGVuZ2luZSBjbGFz cyBuYW1lc3BhY2Ugb2YKYml0cyBkZXNjcmliaW5nIGZlYXR1cmVzIG5vdCBwcmVzZW50IG9uIGFs bCBlbmdpbmUgaW5zdGFuY2VzLgoKdjI6CiAqIEZpeGVkIEhFVkMgYXNzaWdubWVudC4KICogUmVv cmRlciBzb21lIGZpZWxkcywgcmVuYW1lIHR5cGUgdG8gZmxhZ3MsIGluY3JlYXNlIHdpZHRoLiAo TGlvbmVsKQogKiBObyBuZWVkIHRvIGFsbG9jYXRlIHRlbXBvcmFyeSBzdG9yYWdlIGlmIHdlIGRv IGl0IGVuZ2luZSBieSBlbmdpbmUuCiAgIChMaW9uZWwpCgp2MzoKICogRGVzY3JpYmUgZW5naW5l IGZsYWdzIGFuZCBtYXJrIG1ieiBmaWVsZHMuIChMaW9uZWwpCiAqIEhFVkMgb25seSBhcHBsaWVz IHRvIFZDUy4KCnY0OgogKiBTcXVhc2ggU0ZDIGZsYWcgaW50byBtYWluIHBhdGNoLgogKiBUaWR5 IHNvbWUgY29tbWVudHMuCgp2NToKICogQWRkIHVhYmlfIHByZWZpeCB0byBlbmdpbmUgY2FwYWJp bGl0aWVzLiAoQ2hyaXMgV2lsc29uKQogKiBSZXBvcnQgZXhhY3Qgc2l6ZSBvZiBlbmdpbmUgaW5m byBhcnJheS4gKENocmlzIFdpbHNvbikKICogRHJvcCB0aGUgZW5naW5lIGZsYWdzLiAoSm9vbmFz IExhaHRpbmVuKQogKiBBZGRlZCBzb21lIG1vcmUgcmVzZXJ2ZWQgZmllbGRzLgogKiBNb3ZlIGZs YWdzIGFmdGVyIGNsYXNzL2luc3RhbmNlLgoKdjY6CiAqIERvIG5vdCBjaGVjayBlbmdpbmUgaW5m byBhcnJheSB3YXMgemVyb2VkIGJ5IHVzZXJzcGFjZSBidXQgemVybyB0aGUKICAgdW51c2VkIGZp ZWxkcyBmb3IgdGhlbSBpbnN0ZWFkLgoKdjc6CiAqIFNpbXBsaWZ5IGxlbmd0aCBjYWxjdWxhdGlv biBsb29wLiAoTGlvbmVsIExhbmR3ZXJsaW4pCgp2ODoKICogUmVtb3ZlIE1CWiBjb21tZW50cyB3 aGVyZSBub3QgYXBwbGljYWJsZS4KICogUmVuYW1lIEFCSSBmbGFncyB0byBtYXRjaCBlbmdpbmUg Y2xhc3MgZGVmaW5lIG5hbWluZy4KICogUmVuYW1lIFNGQyBBQkkgZmxhZyB0byByZWZsZWN0IGl0 IGFwcGxpZXMgdG8gVkNTIGFuZCBWRUNTLgogKiBTRkMgaXMgd2lyZWQgdG8gZXZlbiBfbG9naWNh bF8gZW5naW5lIGluc3RhbmNlcy4KICogU0ZDIGFwcGxpZXMgdG8gVkNTIGFuZCBWRUNTLgogKiBI RVZDIGlzIHByZXNlbnQgb24gYWxsIGluc3RhbmNlcyBvbiBHZW4xMS4gKFRvbnkpCiAqIFNpbXBs aWZ5IGxlbmd0aCBjYWxjdWxhdGlvbiBldmVuIG1vcmUuIChDaHJpcyBXaWxzb24pCiAqIE1vdmUg aW5mb19wdHIgYXNzaWdtZW50IGNsb3NlciB0byBsb29wIGZvciBjbGFyaXR5LiAoQ2hyaXMgV2ls c29uKQogKiBVc2UgdmRib3hfc2ZjX2FjY2VzcyBmcm9tIHJ1bnRpbWUgaW5mby4KICogUmViYXNl IGZvciBSVU5USU1FX0lORk8uCiAqIFJlZmFjdG9yIGZvciBsb3dlciBpbmRlbnRhdGlvbi4KICog UmVuYW1lIHVBUEkgY2xhc3MvaW5zdGFuY2UgdG8gZW5naW5lX2NsYXNzL2luc3RhbmNlIHRvIGF2 b2lkIEMrKwogICBrZXl3b3JkLgoKdjk6CiAqIFJlYmFzZSBmb3Igcy9udW1fcmluZ3MvbnVtX2Vu Z2luZXMvIGluIFJVTlRJTUVfSU5GTy4KCnYxMDoKICogVXNlIG5ldyBjb3B5X3F1ZXJ5X2l0ZW0u Cgp2MTE6CiAqIENvbnNvbGlkYXRlIHdpdGggc3RydWN0IGk5MTVfZW5naW5lX2NsYXNzX2luc3Ru YWNlLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVs LmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogSm9u IEJsb29tZmllbGQgPGpvbi5ibG9vbWZpZWxkQGludGVsLmNvbT4KQ2M6IERtaXRyeSBSb2dvemhr aW4gPGRtaXRyeS52LnJvZ296aGtpbkBpbnRlbC5jb20+CkNjOiBMaW9uZWwgTGFuZHdlcmxpbiA8 bGlvbmVsLmcubGFuZHdlcmxpbkBpbnRlbC5jb20+CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25h cy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+CkNjOiBUb255IFllIDx0b255LnllQGludGVsLmNv bT4KUmV2aWV3ZWQtYnk6IExpb25lbCBMYW5kd2VybGluIDxsaW9uZWwuZy5sYW5kd2VybGluQGlu dGVsLmNvbT4gIyB2NwpSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+Ci0tLQpUZXN0LXdpdGg6IDIwMTkwNTAxMTE0MjU5LjE2MTU4LTMtdHZydGtvLnVy c3VsaW5AbGludXguaW50ZWwuY29tCi0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf ZW5naW5lX2NzLmMgICAgfCA0MSArKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9lbmdpbmVfdHlwZXMuaCB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcXVlcnkuYyAgICAgICAgICAgIHwgNDkgKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUv dWFwaS9kcm0vaTkxNV9kcm0uaCAgICAgICAgICAgICAgICAgIHwgNDIgKysrKysrKysrKysrKysr KysKIDQgZmlsZXMgY2hhbmdlZCwgMTM0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jCmluZGV4IGY3MzA4NDc5ZDUxMS4uNGUzZTg1NmY5MDY1 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwpAQCAtMzQzLDYg KzM0Myw0NSBAQCBpbnRlbF9lbmdpbmVfc2V0dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAogCXJldHVybiAwOwogfQogCitzdGF0aWMgdm9pZCBfX3NldHVwX2VuZ2luZV9jYXBh YmlsaXRpZXMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQoreworCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1ID0gZW5naW5lLT5pOTE1OworCisJaWYgKGVuZ2luZS0+Y2xhc3Mg PT0gVklERU9fREVDT0RFX0NMQVNTKSB7CisJCS8qCisJCSAqIEhFVkMgc3VwcG9ydCBpcyBwcmVz ZW50IG9uIGZpcnN0IGVuZ2luZSBpbnN0YW5jZQorCQkgKiBiZWZvcmUgR2VuMTEgYW5kIG9uIGFs bCBpbnN0YW5jZXMgYWZ0ZXJ3YXJkcy4KKwkJICovCisJCWlmIChJTlRFTF9HRU4oaTkxNSkgPj0g MTEgfHwKKwkJICAgIChJTlRFTF9HRU4oaTkxNSkgPj0gOSAmJiBlbmdpbmUtPmluc3RhbmNlID09 IDApKQorCQkJZW5naW5lLT51YWJpX2NhcGFiaWxpdGllcyB8PQorCQkJCUk5MTVfVklERU9fQ0xB U1NfQ0FQQUJJTElUWV9IRVZDOworCisJCS8qCisJCSAqIFNGQyBibG9jayBpcyBwcmVzZW50IG9u bHkgb24gZXZlbiBsb2dpY2FsIGVuZ2luZQorCQkgKiBpbnN0YW5jZXMuCisJCSAqLworCQlpZiAo KElOVEVMX0dFTihpOTE1KSA+PSAxMSAmJgorCQkgICAgIFJVTlRJTUVfSU5GTyhpOTE1KS0+dmRi b3hfc2ZjX2FjY2VzcyAmIGVuZ2luZS0+bWFzaykgfHwKKwkJICAgIChJTlRFTF9HRU4oaTkxNSkg Pj0gOSAmJiBlbmdpbmUtPmluc3RhbmNlID09IDApKQorCQkJZW5naW5lLT51YWJpX2NhcGFiaWxp dGllcyB8PQorCQkJCUk5MTVfVklERU9fQU5EX0VOSEFOQ0VfQ0xBU1NfQ0FQQUJJTElUWV9TRkM7 CisJfSBlbHNlIGlmIChlbmdpbmUtPmNsYXNzID09IFZJREVPX0VOSEFOQ0VNRU5UX0NMQVNTKSB7 CisJCWlmIChJTlRFTF9HRU4oaTkxNSkgPj0gOSkKKwkJCWVuZ2luZS0+dWFiaV9jYXBhYmlsaXRp ZXMgfD0KKwkJCQlJOTE1X1ZJREVPX0FORF9FTkhBTkNFX0NMQVNTX0NBUEFCSUxJVFlfU0ZDOwor CX0KK30KKworc3RhdGljIHZvaWQgaW50ZWxfc2V0dXBfZW5naW5lX2NhcGFiaWxpdGllcyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmU7CisJZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7CisKKwlmb3JfZWFjaF9lbmdpbmUoZW5n aW5lLCBpOTE1LCBpZCkKKwkJX19zZXR1cF9lbmdpbmVfY2FwYWJpbGl0aWVzKGVuZ2luZSk7Cit9 CisKIC8qKgogICogaW50ZWxfZW5naW5lc19pbml0X21taW8oKSAtIGFsbG9jYXRlIGFuZCBwcmVw YXJlIHRoZSBFbmdpbmUgQ29tbWFuZCBTdHJlYW1lcnMKICAqIEBkZXZfcHJpdjogaTkxNSBkZXZp Y2UgcHJpdmF0ZQpAQCAtMzk1LDYgKzQzNCw4IEBAIGludCBpbnRlbF9lbmdpbmVzX2luaXRfbW1p byhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAlpOTE1X2NoZWNrX2FuZF9j bGVhcl9mYXVsdHMoZGV2X3ByaXYpOwogCisJaW50ZWxfc2V0dXBfZW5naW5lX2NhcGFiaWxpdGll cyhkZXZfcHJpdik7CisKIAlyZXR1cm4gMDsKIAogY2xlYW51cDoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmgKaW5kZXggZDk3MmMzMzkzMDljLi4yMTFiM2Zk NzZkNTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90 eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5o CkBAIC0yNzksNiArMjc5LDggQEAgc3RydWN0IGludGVsX2VuZ2luZV9jcyB7CiAJdTMyIGNvbnRl eHRfc2l6ZTsKIAl1MzIgbW1pb19iYXNlOwogCisJdTMyIHVhYmlfY2FwYWJpbGl0aWVzOworCiAJ c3RydWN0IGludGVsX3NzZXUgc3NldTsKIAogCXN0cnVjdCBpbnRlbF9yaW5nICpidWZmZXI7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3F1ZXJ5LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3F1ZXJ5LmMKaW5kZXggNzgyMTgzYjc4ZjQ5Li40MTRkMGE2ZDFmNzAg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVlcnkuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3F1ZXJ5LmMKQEAgLTk2LDkgKzk2LDU4IEBAIHN0YXRpYyBp bnQgcXVlcnlfdG9wb2xvZ3lfaW5mbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAJcmV0dXJuIHRvdGFsX2xlbmd0aDsKIH0KIAorc3RhdGljIGludAorcXVlcnlfZW5naW5lX2lu Zm8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJCSAgc3RydWN0IGRybV9pOTE1X3F1 ZXJ5X2l0ZW0gKnF1ZXJ5X2l0ZW0pCit7CisJc3RydWN0IGRybV9pOTE1X3F1ZXJ5X2VuZ2luZV9p bmZvIF9fdXNlciAqcXVlcnlfcHRyID0KKwkJCQl1NjRfdG9fdXNlcl9wdHIocXVlcnlfaXRlbS0+ ZGF0YV9wdHIpOworCXN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbyBfX3VzZXIgKmluZm9fcHRy OworCXN0cnVjdCBkcm1faTkxNV9xdWVyeV9lbmdpbmVfaW5mbyBxdWVyeTsKKwlzdHJ1Y3QgZHJt X2k5MTVfZW5naW5lX2luZm8gaW5mbyA9IHsgfTsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmU7CisJZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7CisJaW50IGxlbiwgcmV0OworCisJaWYg KHF1ZXJ5X2l0ZW0tPmZsYWdzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWxlbiA9IHNpemVvZihz dHJ1Y3QgZHJtX2k5MTVfcXVlcnlfZW5naW5lX2luZm8pICsKKwkgICAgICBSVU5USU1FX0lORk8o aTkxNSktPm51bV9lbmdpbmVzICoKKwkgICAgICBzaXplb2Yoc3RydWN0IGRybV9pOTE1X2VuZ2lu ZV9pbmZvKTsKKworCXJldCA9IGNvcHlfcXVlcnlfaXRlbSgmcXVlcnksIHNpemVvZihxdWVyeSks IGxlbiwgcXVlcnlfaXRlbSk7CisJaWYgKHJldCAhPSAwKQorCQlyZXR1cm4gcmV0OworCisJaWYg KHF1ZXJ5Lm51bV9lbmdpbmVzIHx8IHF1ZXJ5LnJzdmRbMF0gfHwgcXVlcnkucnN2ZFsxXSB8fAor CSAgICBxdWVyeS5yc3ZkWzJdKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWluZm9fcHRyID0gJnF1 ZXJ5X3B0ci0+ZW5naW5lc1swXTsKKworCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGk5MTUsIGlk KSB7CisJCWluZm8uZW5naW5lLmVuZ2luZV9jbGFzcyA9IGVuZ2luZS0+dWFiaV9jbGFzczsKKwkJ aW5mby5lbmdpbmUuZW5naW5lX2luc3RhbmNlID0gZW5naW5lLT5pbnN0YW5jZTsKKwkJaW5mby5j YXBhYmlsaXRpZXMgPSBlbmdpbmUtPnVhYmlfY2FwYWJpbGl0aWVzOworCisJCWlmIChfX2NvcHlf dG9fdXNlcihpbmZvX3B0ciwgJmluZm8sIHNpemVvZihpbmZvKSkpCisJCQlyZXR1cm4gLUVGQVVM VDsKKworCQlxdWVyeS5udW1fZW5naW5lcysrOworCQlpbmZvX3B0cisrOworCX0KKworCWlmIChf X2NvcHlfdG9fdXNlcihxdWVyeV9wdHIsICZxdWVyeSwgc2l6ZW9mKHF1ZXJ5KSkpCisJCXJldHVy biAtRUZBVUxUOworCisJcmV0dXJuIGxlbjsKK30KKwogc3RhdGljIGludCAoKiBjb25zdCBpOTE1 X3F1ZXJ5X2Z1bmNzW10pKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkJ c3RydWN0IGRybV9pOTE1X3F1ZXJ5X2l0ZW0gKnF1ZXJ5X2l0ZW0pID0gewogCXF1ZXJ5X3RvcG9s b2d5X2luZm8sCisJcXVlcnlfZW5naW5lX2luZm8sCiB9OwogCiBpbnQgaTkxNV9xdWVyeV9pb2N0 bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGUpCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggYi9pbmNsdWRlL3Vh cGkvZHJtL2k5MTVfZHJtLmgKaW5kZXggM2E3M2Y1MzE2NzY2Li44YzU0Yjc2NmU5YTEgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJt L2k5MTVfZHJtLmgKQEAgLTE4MjEsNiArMTgyMSw3IEBAIHN0cnVjdCBkcm1faTkxNV9wZXJmX29h X2NvbmZpZyB7CiBzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSB7CiAJX191NjQgcXVlcnlfaWQ7 CiAjZGVmaW5lIERSTV9JOTE1X1FVRVJZX1RPUE9MT0dZX0lORk8gICAgMQorI2RlZmluZSBEUk1f STkxNV9RVUVSWV9FTkdJTkVfSU5GTwkyCiAvKiBNdXN0IGJlIGtlcHQgY29tcGFjdCAtLSBubyBo b2xlcyBhbmQgd2VsbCBkb2N1bWVudGVkICovCiAKIAkvKgpAQCAtMTkxOSw2ICsxOTIwLDQ3IEBA IHN0cnVjdCBkcm1faTkxNV9xdWVyeV90b3BvbG9neV9pbmZvIHsKIAlfX3U4IGRhdGFbXTsKIH07 CiAKKy8qKgorICogc3RydWN0IGRybV9pOTE1X2VuZ2luZV9pbmZvCisgKgorICogRGVzY3JpYmVz IG9uZSBlbmdpbmUgYW5kIGl0J3MgY2FwYWJpbGl0aWVzIGFzIGtub3duIHRvIHRoZSBkcml2ZXIu CisgKi8KK3N0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbyB7CisJLyoqIEVuZ2luZSBjbGFzcyBh bmQgaW5zdGFuY2UuICovCisJc3RydWN0IGk5MTVfZW5naW5lX2NsYXNzX2luc3RhbmNlIGVuZ2lu ZTsKKworCS8qKiBSZXNlcnZlZCBmaWVsZC4gKi8KKwlfX3UzMiByc3ZkMDsKKworCS8qKiBFbmdp bmUgZmxhZ3MuICovCisJX191NjQgZmxhZ3M7CisKKwkvKiogQ2FwYWJpbGl0aWVzIG9mIHRoaXMg ZW5naW5lLiAqLworCV9fdTY0IGNhcGFiaWxpdGllczsKKyNkZWZpbmUgSTkxNV9WSURFT19DTEFT U19DQVBBQklMSVRZX0hFVkMJCSgxIDw8IDApCisjZGVmaW5lIEk5MTVfVklERU9fQU5EX0VOSEFO Q0VfQ0xBU1NfQ0FQQUJJTElUWV9TRkMJKDEgPDwgMSkKKworCS8qKiBSZXNlcnZlZCBmaWVsZHMu ICovCisJX191NjQgcnN2ZDFbNF07Cit9OworCisvKioKKyAqIHN0cnVjdCBkcm1faTkxNV9xdWVy eV9lbmdpbmVfaW5mbworICoKKyAqIEVuZ2luZSBpbmZvIHF1ZXJ5IGVudW1lcmF0ZXMgYWxsIGVu Z2luZXMga25vd24gdG8gdGhlIGRyaXZlciBieSBmaWxsaW5nIGluCisgKiBhbiBhcnJheSBvZiBz dHJ1Y3QgZHJtX2k5MTVfZW5naW5lX2luZm8gc3RydWN0dXJlcy4KKyAqLworc3RydWN0IGRybV9p OTE1X3F1ZXJ5X2VuZ2luZV9pbmZvIHsKKwkvKiogTnVtYmVyIG9mIHN0cnVjdCBkcm1faTkxNV9l bmdpbmVfaW5mbyBzdHJ1Y3RzIGZvbGxvd2luZy4gKi8KKwlfX3UzMiBudW1fZW5naW5lczsKKwor CS8qKiBNQlogKi8KKwlfX3UzMiByc3ZkWzNdOworCisJLyoqIE1hcmtlciBmb3IgZHJtX2k5MTVf ZW5naW5lX2luZm8gc3RydWN0dXJlcy4gKi8KKwlzdHJ1Y3QgZHJtX2k5MTVfZW5naW5lX2luZm8g ZW5naW5lc1tdOworfTsKKwogI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCiB9CiAjZW5kaWYKLS0g CjIuMTkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4