From: Tomasz Lis Subject: [PATCH v3] drm/i915/gen11: Preempt-to-idle support in execlists. Date: Fri, 11 May 2018 17:45:22 +0200 Message-ID: <1526053522-3745-2-git-send-email-tomasz.lis@intel.com> References: <1522163879-10837-1-git-send-email-tomasz.lis@intel.com> <1526053522-3745-1-git-send-email-tomasz.lis@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 5A8316F1CC for ; Fri, 11 May 2018 15:45:28 +0000 (UTC) In-Reply-To: <1526053522-3745-1-git-send-email-tomasz.lis@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: mika.kuoppala@intel.com List-Id: intel-gfx@lists.freedesktop.org VGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBvZiBwcmVlbXB0LXRvLWlkbGUgcmVxdWVzdGluZyBieSBz ZXR0aW5nIGEgcHJvcGVyCmJpdCB3aXRoaW4gRXhlY2xpc3QgQ29udHJvbCBSZWdpc3RlciwgYW5k IHJlY2VpdmluZyBwcmVlbXB0aW9uIHJlc3VsdCBmcm9tCkNvbnRleHQgU3RhdHVzIEJ1ZmZlci4K ClByZWVtcHRpb24gaW4gcHJldmlvdXMgZ2VucyByZXF1aXJlZCBhIHNwZWNpYWwgYmF0Y2ggYnVm ZmVyIHRvIGJlIGV4ZWN1dGVkLApzbyB0aGUgQ29tbWFuZCBTdHJlYW1lciBuZXZlciBwcmVlbXB0 ZWQgdG8gaWRsZSBkaXJlY3RseS4gSW4gSWNlbGFrZSBpdCBpcwpwb3NzaWJsZSwgYXMgdGhlcmUg aXMgYSBoYXJkd2FyZSBtZWNoYW5pc20gdG8gaW5mb3JtIHRoZSBrZXJuZWwgYWJvdXQKc3RhdHVz IG9mIHRoZSBwcmVlbXB0aW9uIHJlcXVlc3QuCgpUaGlzIHBhdGNoIGRvZXMgbm90IGNvdmVyIHVz aW5nIHRoZSBuZXcgcHJlZW1wdGlvbiBtZWNoYW5pc20gd2hlbiBHdUMgaXMKYWN0aXZlLgoKdjI6 IEFkZGVkIG5lZWRzX3ByZWVtcHRfY29udGV4dCgpIGNoYW5nZSBzbyB0aGF0IGl0IGlzIG5vdCBj cmVhdGVkIHdoZW4KICAgIHByZWVtcHQtdG8taWRsZSBpcyBzdXBwb3J0ZWQuIChDaHJpcykKICAg IFVwZGF0ZWQgc2V0dGluZyBIV0FDSyBmbGFnIHNvIHRoYXQgaXQgaXMgY2xlYXJlZCBhZnRlcgog ICAgcHJlZW1wdC10by1kbGUuIChDaHJpcywgRGFuaWVsZSkKICAgIFVwZGF0ZWQgdG8gdXNlIEk5 MTVfRU5HSU5FX0hBU19QUkVFTVBUSU9OIGZsYWcuIChDaHJpcykKCnYzOiBGaXhlZCBuZWVkc19w cmVlbXB0X2NvbnRleHQoKSBjaGFuZ2UuIChDaHJpcykKICAgIE1lcmdlZCBwcmVlbXB0aW9uIHRy aWdnZXIgZnVuY3Rpb25zIHRvIG9uZS4gKENocmlzKQogICAgRml4ZWQgY29udGV4dCBzdGF0ZSB0 byBub3QgYXNzdW1lIENPTVBMRVRFRF9NQVNLIGFmdGVyIHByZWVtcHRpb24sCiAgICBzaW5jZSBp ZGxlLXRvLWlkbGUgY2FzZSB3aWxsIG5vdCBoYXZlIGl0IHNldC4KCkJzcGVjOiAxODkyMgpTaWdu ZWQtb2ZmLWJ5OiBUb21hc3ogTGlzIDx0b21hc3oubGlzQGludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgIHwgICAyICsKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyAgfCAgIDUgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcGNpLmMgICAgICAgICAgfCAgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RldmljZV9pbmZvLmggfCAgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMg ICAgICAgICB8IDExNSArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuaCAgICAgICAgIHwgICAxICsKIDYgZmlsZXMgY2hhbmdlZCwg OTIgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK aW5kZXggNTdmYjNhYS4uNmU5NjQ3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yNTM1 LDYgKzI1MzUsOCBAQCBpbnRlbF9pbmZvKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIAkJKChkZXZfcHJpdiktPmluZm8uaGFzX2xvZ2ljYWxfcmluZ19lbHNxKQogI2Rl ZmluZSBIQVNfTE9HSUNBTF9SSU5HX1BSRUVNUFRJT04oZGV2X3ByaXYpIFwKIAkJKChkZXZfcHJp diktPmluZm8uaGFzX2xvZ2ljYWxfcmluZ19wcmVlbXB0aW9uKQorI2RlZmluZSBIQVNfSFdfUFJF RU1QVF9UT19JRExFKGRldl9wcml2KSBcCisJCSgoZGV2X3ByaXYpLT5pbmZvLmhhc19od19wcmVl bXB0X3RvX2lkbGUpCiAKICNkZWZpbmUgSEFTX0VYRUNMSVNUUyhkZXZfcHJpdikgSEFTX0xPR0lD QUxfUklOR19DT05URVhUUyhkZXZfcHJpdikKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Y29udGV4dC5jCmluZGV4IDMzZjhhNGIuLmJkYWMxMjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9jb250ZXh0LmMKQEAgLTQ1NCw3ICs0NTQsMTAgQEAgZGVzdHJveV9rZXJuZWxfY29u dGV4dChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqKmN0eHApCiAKIHN0YXRpYyBib29sIG5lZWRz X3ByZWVtcHRfY29udGV4dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKLQlyZXR1 cm4gSEFTX0xPR0lDQUxfUklOR19QUkVFTVBUSU9OKGk5MTUpOworCXJldHVybiBIQVNfTE9HSUNB TF9SSU5HX1BSRUVNUFRJT04oaTkxNSkgJiYKKwkgICAgICAgKCFIQVNfSFdfUFJFRU1QVF9UT19J RExFKGk5MTUpIHx8CisJCShIQVNfSFdfUFJFRU1QVF9UT19JRExFKGk5MTUpICYmCisJCSFVU0VT X0dVQ19TVUJNSVNTSU9OKGk5MTUpKSk7CiB9CiAKIGludCBpOTE1X2dlbV9jb250ZXh0c19pbml0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcGNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5j CmluZGV4IDQzNjQ5MjIuLjY2YjY3MDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcGNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYwpAQCAtNTk1 LDcgKzU5NSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxf Y2Fubm9ubGFrZV9pbmZvID0gewogCUdFTigxMSksIFwKIAkuZGRiX3NpemUgPSAyMDQ4LCBcCiAJ Lmhhc19jc3IgPSAwLCBcCi0JLmhhc19sb2dpY2FsX3JpbmdfZWxzcSA9IDEKKwkuaGFzX2xvZ2lj YWxfcmluZ19lbHNxID0gMSwgXAorCS5oYXNfaHdfcHJlZW1wdF90b19pZGxlID0gMQogCiBzdGF0 aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2ljZWxha2VfMTFfaW5mbyA9 IHsKIAlHRU4xMV9GRUFUVVJFUywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RldmljZV9pbmZvLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5m by5oCmluZGV4IDkzM2UzMTYuLjRlYjk3YjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RldmljZV9pbmZvLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGV2aWNlX2luZm8uaApAQCAtOTgsNiArOTgsNyBAQCBlbnVtIGludGVsX3BsYXRmb3JtIHsKIAlm dW5jKGhhc19sb2dpY2FsX3JpbmdfY29udGV4dHMpOyBcCiAJZnVuYyhoYXNfbG9naWNhbF9yaW5n X2Vsc3EpOyBcCiAJZnVuYyhoYXNfbG9naWNhbF9yaW5nX3ByZWVtcHRpb24pOyBcCisJZnVuYyho YXNfaHdfcHJlZW1wdF90b19pZGxlKTsgXAogCWZ1bmMoaGFzX292ZXJsYXkpOyBcCiAJZnVuYyho YXNfcG9vbGVkX2V1KTsgXAogCWZ1bmMoaGFzX3Bzcik7IFwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmMKaW5kZXggMjlkY2YzNC4uOGZlNjc5NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAg LTE1NCw2ICsxNTQsNyBAQAogI2RlZmluZSBHRU44X0NUWF9TVEFUVVNfQUNUSVZFX0lETEUJKDEg PDwgMykKICNkZWZpbmUgR0VOOF9DVFhfU1RBVFVTX0NPTVBMRVRFCSgxIDw8IDQpCiAjZGVmaW5l IEdFTjhfQ1RYX1NUQVRVU19MSVRFX1JFU1RPUkUJKDEgPDwgMTUpCisjZGVmaW5lIEdFTjExX0NU WF9TVEFUVVNfUFJFRU1QVF9JRExFCSgxIDw8IDI5KQogCiAjZGVmaW5lIEdFTjhfQ1RYX1NUQVRV U19DT01QTEVURURfTUFTSyBcCiAJIChHRU44X0NUWF9TVEFUVVNfQ09NUExFVEUgfCBHRU44X0NU WF9TVEFUVVNfUFJFRU1QVEVEKQpAQCAtNTI2LDMxICs1MjcsNDkgQEAgc3RhdGljIHZvaWQgcG9y dF9hc3NpZ24oc3RydWN0IGV4ZWNsaXN0X3BvcnQgKnBvcnQsIHN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJxKQogc3RhdGljIHZvaWQgaW5qZWN0X3ByZWVtcHRfY29udGV4dChzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGludGVsX2VuZ2luZV9leGVjbGlzdHMgKmV4ZWNs aXN0cyA9ICZlbmdpbmUtPmV4ZWNsaXN0czsKLQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UgPQot CQl0b19pbnRlbF9jb250ZXh0KGVuZ2luZS0+aTkxNS0+cHJlZW1wdF9jb250ZXh0LCBlbmdpbmUp OwotCXVuc2lnbmVkIGludCBuOwogCi0JR0VNX0JVR19PTihleGVjbGlzdHMtPnByZWVtcHRfY29t cGxldGVfc3RhdHVzICE9Ci0JCSAgIHVwcGVyXzMyX2JpdHMoY2UtPmxyY19kZXNjKSk7Ci0JR0VN X0JVR19PTigoY2UtPmxyY19yZWdfc3RhdGVbQ1RYX0NPTlRFWFRfQ09OVFJPTCArIDFdICYKLQkJ ICAgIF9NQVNLRURfQklUX0VOQUJMRShDVFhfQ1RSTF9FTkdJTkVfQ1RYX1JFU1RPUkVfSU5ISUJJ VCB8Ci0JCQkJICAgICAgIENUWF9DVFJMX0VOR0lORV9DVFhfU0FWRV9JTkhJQklUKSkgIT0KLQkJ ICAgX01BU0tFRF9CSVRfRU5BQkxFKENUWF9DVFJMX0VOR0lORV9DVFhfUkVTVE9SRV9JTkhJQklU IHwKLQkJCQkgICAgICBDVFhfQ1RSTF9FTkdJTkVfQ1RYX1NBVkVfSU5ISUJJVCkpOworCWlmIChI QVNfSFdfUFJFRU1QVF9UT19JRExFKGVuZ2luZS0+aTkxNSkpIHsKKwkJLyoKKwkJICogSWYgd2Ug aGF2ZSBoYXJkd2FyZSBwcmVlbXB0LXRvLWlkbGUsIHdlIGRvIG5vdCBuZWVkIHRvCisJCSAqIGlu amVjdCBhbnkgam9iIHRvIHRoZSBoYXJkd2FyZS4gV2Ugb25seSBzZXQgYSBmbGFnLgorCQkgKi8K KwkJR0VNX1RSQUNFKCIlc1xuIiwgZW5naW5lLT5uYW1lKTsKIAotCS8qCi0JICogU3dpdGNoIHRv IG91ciBlbXB0eSBwcmVlbXB0IGNvbnRleHQgc28KLQkgKiB0aGUgc3RhdGUgb2YgdGhlIEdQVSBp cyBrbm93biAoaWRsZSkuCi0JICovCi0JR0VNX1RSQUNFKCIlc1xuIiwgZW5naW5lLT5uYW1lKTsK LQlmb3IgKG4gPSBleGVjbGlzdHNfbnVtX3BvcnRzKGV4ZWNsaXN0cyk7IC0tbjsgKQotCQl3cml0 ZV9kZXNjKGV4ZWNsaXN0cywgMCwgbik7CisJCS8qCisJCSAqIGhhcmR3YXJlIHdoaWNoIEhBU19I V19QUkVFTVBUX1RPX0lETEUoKSwgYWx3YXlzIGFsc28KKwkJICogSEFTX0xPR0lDQUxfUklOR19F TFNRKCksIHNvIHdlIGNhbiBhc3N1bWUgY3RybF9yZWcgaXMgc2V0CisJCSAqLworCQlHRU1fQlVH X09OKGV4ZWNsaXN0cy0+Y3RybF9yZWcgPT0gTlVMTCk7CiAKLQl3cml0ZV9kZXNjKGV4ZWNsaXN0 cywgY2UtPmxyY19kZXNjLCBuKTsKKwkJLyogdHJpZ2dlciBwcmVlbXB0aW9uIHRvIGlkbGUgKi8K KwkJd3JpdGVsKEVMX0NUUkxfUFJFRU1QVF9UT19JRExFLCBleGVjbGlzdHMtPmN0cmxfcmVnKTsK Kwl9IGVsc2UgeworCQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UgPQorCQkJdG9faW50ZWxfY29u dGV4dChlbmdpbmUtPmk5MTUtPnByZWVtcHRfY29udGV4dCwgZW5naW5lKTsKKwkJdW5zaWduZWQg aW50IG47CiAKLQkvKiB3ZSBuZWVkIHRvIG1hbnVhbGx5IGxvYWQgdGhlIHN1Ym1pdCBxdWV1ZSAq LwotCWlmIChleGVjbGlzdHMtPmN0cmxfcmVnKQotCQl3cml0ZWwoRUxfQ1RSTF9MT0FELCBleGVj bGlzdHMtPmN0cmxfcmVnKTsKKwkJR0VNX0JVR19PTihleGVjbGlzdHMtPnByZWVtcHRfY29tcGxl dGVfc3RhdHVzICE9CisJCQkgICB1cHBlcl8zMl9iaXRzKGNlLT5scmNfZGVzYykpOworCQlHRU1f QlVHX09OKChjZS0+bHJjX3JlZ19zdGF0ZVtDVFhfQ09OVEVYVF9DT05UUk9MICsgMV0gJgorCQkg ICAgICAgX01BU0tFRF9CSVRfRU5BQkxFKENUWF9DVFJMX0VOR0lORV9DVFhfUkVTVE9SRV9JTkhJ QklUIHwKKwkJCQkJICBDVFhfQ1RSTF9FTkdJTkVfQ1RYX1NBVkVfSU5ISUJJVCkpICE9CisJCSAg ICAgICBfTUFTS0VEX0JJVF9FTkFCTEUoQ1RYX0NUUkxfRU5HSU5FX0NUWF9SRVNUT1JFX0lOSElC SVQgfAorCQkJCQkgIENUWF9DVFJMX0VOR0lORV9DVFhfU0FWRV9JTkhJQklUKSk7CisKKwkJLyoK KwkJICogU3dpdGNoIHRvIG91ciBlbXB0eSBwcmVlbXB0IGNvbnRleHQgc28KKwkJICogdGhlIHN0 YXRlIG9mIHRoZSBHUFUgaXMga25vd24gKGlkbGUpLgorCQkgKi8KKwkJR0VNX1RSQUNFKCIlc1xu IiwgZW5naW5lLT5uYW1lKTsKKwkJZm9yIChuID0gZXhlY2xpc3RzX251bV9wb3J0cyhleGVjbGlz dHMpOyAtLW47ICkKKwkJCXdyaXRlX2Rlc2MoZXhlY2xpc3RzLCAwLCBuKTsKKworCQl3cml0ZV9k ZXNjKGV4ZWNsaXN0cywgY2UtPmxyY19kZXNjLCBuKTsKKworCQkvKiB3ZSBuZWVkIHRvIG1hbnVh bGx5IGxvYWQgdGhlIHN1Ym1pdCBxdWV1ZSAqLworCQlpZiAoZXhlY2xpc3RzLT5jdHJsX3JlZykK KwkJCXdyaXRlbChFTF9DVFJMX0xPQUQsIGV4ZWNsaXN0cy0+Y3RybF9yZWcpOworCX0KIAogCWV4 ZWNsaXN0c19jbGVhcl9hY3RpdmUoJmVuZ2luZS0+ZXhlY2xpc3RzLCBFWEVDTElTVFNfQUNUSVZF X0hXQUNLKTsKIAlleGVjbGlzdHNfc2V0X2FjdGl2ZSgmZW5naW5lLT5leGVjbGlzdHMsIEVYRUNM SVNUU19BQ1RJVkVfUFJFRU1QVCk7CkBAIC0xMDQ1LDIyICsxMDY0LDUxIEBAIHN0YXRpYyB2b2lk IGV4ZWNsaXN0c19zdWJtaXNzaW9uX3Rhc2tsZXQodW5zaWduZWQgbG9uZyBkYXRhKQogCQkJCSAg c3RhdHVzLCBidWZbMipoZWFkICsgMV0sCiAJCQkJICBleGVjbGlzdHMtPmFjdGl2ZSk7CiAKLQkJ CWlmIChzdGF0dXMgJiAoR0VOOF9DVFhfU1RBVFVTX0lETEVfQUNUSVZFIHwKLQkJCQkgICAgICBH RU44X0NUWF9TVEFUVVNfUFJFRU1QVEVEKSkKLQkJCQlleGVjbGlzdHNfc2V0X2FjdGl2ZShleGVj bGlzdHMsCi0JCQkJCQkgICAgIEVYRUNMSVNUU19BQ1RJVkVfSFdBQ0spOwotCQkJaWYgKHN0YXR1 cyAmIEdFTjhfQ1RYX1NUQVRVU19BQ1RJVkVfSURMRSkKKwkJCS8qCisJCQkgKiBDaGVjayBpZiBw cmVlbXB0ZWQgZnJvbSBpZGxlIHRvIGlkbGUgZGlyZWN0bHkuCisJCQkgKiBUaGUgU1RBVFVTX0lE TEVfQUNUSVZFIGZsYWcgaXMgdXNlZCB0byBtYXJrCisJCQkgKiBzdWNoIHRyYW5zaXRpb24uCisJ CQkgKi8KKwkJCWlmICgoc3RhdHVzICYgR0VOOF9DVFhfU1RBVFVTX0lETEVfQUNUSVZFKSAmJgor CQkJICAgICAoc3RhdHVzICYgR0VOMTFfQ1RYX1NUQVRVU19QUkVFTVBUX0lETEUpKSB7CisKIAkJ CQlleGVjbGlzdHNfY2xlYXJfYWN0aXZlKGV4ZWNsaXN0cywKIAkJCQkJCSAgICAgICBFWEVDTElT VFNfQUNUSVZFX0hXQUNLKTsKIAotCQkJaWYgKCEoc3RhdHVzICYgR0VOOF9DVFhfU1RBVFVTX0NP TVBMRVRFRF9NQVNLKSkKLQkJCQljb250aW51ZTsKKwkJCQkvKgorCQkJCSAqIFdlIGNvdWxkIG5v dCBoYXZlIENPTVBMRVRFRCBhbnl0aGluZworCQkJCSAqIGlmIHdlIHdlcmUgaWRsZSBiZWZvcmUg cHJlZW1wdGlvbi4KKwkJCQkgKi8KKwkJCQlHRU1fQlVHX09OKHN0YXR1cyAmIEdFTjhfQ1RYX1NU QVRVU19DT01QTEVURURfTUFTSyk7CisJCQl9CisKKwkJCWVsc2UgeworCQkJCWlmIChzdGF0dXMg JiAoR0VOOF9DVFhfU1RBVFVTX0lETEVfQUNUSVZFIHwKKwkJCQkJICAgICAgR0VOOF9DVFhfU1RB VFVTX1BSRUVNUFRFRCkpCisJCQkJCWV4ZWNsaXN0c19zZXRfYWN0aXZlKGV4ZWNsaXN0cywKKwkJ CQkJCSAgICAgICBFWEVDTElTVFNfQUNUSVZFX0hXQUNLKTsKKworCQkJCWlmIChzdGF0dXMgJiBH RU44X0NUWF9TVEFUVVNfQUNUSVZFX0lETEUpCisJCQkJCWV4ZWNsaXN0c19jbGVhcl9hY3RpdmUo ZXhlY2xpc3RzLAorCQkJCQkJICAgICAgIEVYRUNMSVNUU19BQ1RJVkVfSFdBQ0spOwogCi0JCQkv KiBXZSBzaG91bGQgbmV2ZXIgZ2V0IGEgQ09NUExFVEVEIHwgSURMRV9BQ1RJVkUhICovCi0JCQlH RU1fQlVHX09OKHN0YXR1cyAmIEdFTjhfQ1RYX1NUQVRVU19JRExFX0FDVElWRSk7CisJCQkJaWYg KCEoc3RhdHVzICYgR0VOOF9DVFhfU1RBVFVTX0NPTVBMRVRFRF9NQVNLKSkKKwkJCQkJY29udGlu dWU7CiAKLQkJCWlmIChzdGF0dXMgJiBHRU44X0NUWF9TVEFUVVNfQ09NUExFVEUgJiYKLQkJCSAg ICBidWZbMipoZWFkICsgMV0gPT0gZXhlY2xpc3RzLT5wcmVlbXB0X2NvbXBsZXRlX3N0YXR1cykg eworCQkJCS8qCisJCQkJICogV2Ugc2hvdWxkIG5ldmVyIGdldCBhCisJCQkJICogQ09NUExFVEVE IHwgSURMRV9BQ1RJVkUhCisJCQkJICovCisJCQkJR0VNX0JVR19PTihzdGF0dXMgJiBHRU44X0NU WF9TVEFUVVNfSURMRV9BQ1RJVkUpOworCQkJfQorCisJCQkvKgorCQkJICogQ2hlY2sgaWYgcHJl ZW1wdGVkIHRvIHJlYWwgaWRsZSwgZWl0aGVyIGRpcmVjdGx5IG9yCisJCQkgKiB0aGUgcHJlZW1w dGl2ZSBjb250ZXh0IGFscmVhZHkgZmluaXNoZWQgZXhlY3V0aW5nCisJCQkgKi8KKwkJCWlmICgo c3RhdHVzICYgR0VOMTFfQ1RYX1NUQVRVU19QUkVFTVBUX0lETEUpIHx8CisJCQkgICAgKHN0YXR1 cyAmIEdFTjhfQ1RYX1NUQVRVU19DT01QTEVURSAmJgorCQkJICAgIGJ1ZlsyKmhlYWQgKyAxXSA9 PSBleGVjbGlzdHMtPnByZWVtcHRfY29tcGxldGVfc3RhdHVzKSkgewogCQkJCUdFTV9UUkFDRSgi JXMgcHJlZW1wdC1pZGxlXG4iLCBlbmdpbmUtPm5hbWUpOwogCiAJCQkJZXhlY2xpc3RzX2NhbmNl bF9wb3J0X3JlcXVlc3RzKGV4ZWNsaXN0cyk7CkBAIC0yMjE3LDcgKzIyNjUsOCBAQCBzdGF0aWMg dm9pZCBleGVjbGlzdHNfc2V0X2RlZmF1bHRfc3VibWlzc2lvbihzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpCiAJZW5naW5lLT51bnBhcmsgPSBOVUxMOwogCiAJZW5naW5lLT5mbGFncyB8 PSBJOTE1X0VOR0lORV9TVVBQT1JUU19TVEFUUzsKLQlpZiAoZW5naW5lLT5pOTE1LT5wcmVlbXB0 X2NvbnRleHQpCisJaWYgKGVuZ2luZS0+aTkxNS0+cHJlZW1wdF9jb250ZXh0IHx8CisJICAgIEhB U19IV19QUkVFTVBUX1RPX0lETEUoZW5naW5lLT5pOTE1KSkKIAkJZW5naW5lLT5mbGFncyB8PSBJ OTE1X0VOR0lORV9IQVNfUFJFRU1QVElPTjsKIAogCWVuZ2luZS0+aTkxNS0+Y2Fwcy5zY2hlZHVs ZXIgPQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAppbmRleCA0ZWM3ZDhkLi5iMTA4M2FjIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuaApAQCAtNDUsNiArNDUsNyBAQAogI2RlZmluZSBSSU5HX0VY RUNMSVNUX1NRX0NPTlRFTlRTKGVuZ2luZSkJX01NSU8oKGVuZ2luZSktPm1taW9fYmFzZSArIDB4 NTEwKQogI2RlZmluZSBSSU5HX0VYRUNMSVNUX0NPTlRST0woZW5naW5lKQkJX01NSU8oKGVuZ2lu ZSktPm1taW9fYmFzZSArIDB4NTUwKQogI2RlZmluZQkgIEVMX0NUUkxfTE9BRAkJCQkoMSA8PCAw KQorI2RlZmluZQkgIEVMX0NUUkxfUFJFRU1QVF9UT19JRExFCQkoMSA8PCAxKQogCiAvKiBUaGUg ZG9jcyBzcGVjaWZ5IHRoYXQgdGhlIHdyaXRlIHBvaW50ZXIgd3JhcHMgYXJvdW5kIGFmdGVyIDVo LCAiQWZ0ZXIgc3RhdHVzCiAgKiBpcyB3cml0dGVuIG91dCB0byB0aGUgbGFzdCBhdmFpbGFibGUg c3RhdHVzIFFXIGF0IG9mZnNldCA1aCwgdGhpcyBwb2ludGVyCi0tIAoyLjcuNAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==