From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH] TGL HAX drm/i915/tgl: Interrupts are overrated Date: Fri, 4 Oct 2019 10:03:18 +0100 Message-ID: <20191004090318.29419-1-chris@chris-wilson.co.uk> References: <20191003185613.27484-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9B13F6E2E6 for ; Fri, 4 Oct 2019 09:03:33 +0000 (UTC) In-Reply-To: <20191003185613.27484-1-chris@chris-wilson.co.uk> 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 V2h5IHNsZWVwIHdoZW4geW91IGNhbiBidXN5d2FpdCBmb3IgYW4gaW50ZXJydXB0PyBUaHJvdyBv dXQgdGhlIG9sZCBpcnEKaGFuZGxlcnMsIGFuZCB1c2UgaXJxX3BvbGwgaW5zdGVhZC4KClJlZmVy ZW5jZXM6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTg4 MApTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K Q2M6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L0tjb25maWcgICAgICAgICAgICAgICAgIHwgIDEgKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvS2NvbmZpZy5kZWJ1ZyAgICAgICAgICAgfCAgNSArKysKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5oIHwgMTUgKysrKysrLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfaXJxLmMgICAgICAgfCAxMyArKysrLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jICAgICAgICAgIHwgNDcgKysrKysrKysrKysr KysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICAgIHwg IDMgKysKIDYgZmlsZXMgY2hhbmdlZCwgNzggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9LY29uZmlnIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvS2NvbmZpZwppbmRleCAwZDIxNDAyOTQ1YWIuLmJmMmIyN2I2ZWJmMiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvS2NvbmZpZworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9LY29uZmlnCkBAIC0xMyw2ICsxMyw3IEBAIGNvbmZpZyBEUk1fSTkxNQogCXNlbGVjdCBE Uk1fUEFORUwKIAlzZWxlY3QgRFJNX01JUElfRFNJCiAJc2VsZWN0IFJFTEFZCisJc2VsZWN0IElS UV9QT0xMCiAJc2VsZWN0IElSUV9XT1JLCiAJIyBpOTE1IGRlcGVuZHMgb24gQUNQSV9WSURFTyB3 aGVuIEFDUEkgaXMgZW5hYmxlZAogCSMgYnV0IGZvciBzZWxlY3QgdG8gd29yaywgbmVlZCB0byBz ZWxlY3QgQUNQSV9WSURFTydzIGRlcGVuZGVuY2llcywgaWNrCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9LY29uZmlnLmRlYnVnIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvS2NvbmZp Zy5kZWJ1ZwppbmRleCA0YTgwMGZhYTI3NWMuLjRkMjNhODRhYzJjNCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvS2NvbmZpZy5kZWJ1ZworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9LY29uZmlnLmRlYnVnCkBAIC00NCw2ICs0NCw3IEBAIGNvbmZpZyBEUk1fSTkxNV9ERUJVRwog CXNlbGVjdCBEUk1fSTkxNV9TRUxGVEVTVAogCXNlbGVjdCBEUk1fSTkxNV9ERUJVR19SVU5USU1F X1BNCiAJc2VsZWN0IERSTV9JOTE1X0RFQlVHX01NSU8KKwlzZWxlY3QgVElHRVJMQUtFX0RFQlVH X0lSUQogICAgICAgICBkZWZhdWx0IG4KICAgICAgICAgaGVscAogICAgICAgICAgIENob29zZSB0 aGlzIG9wdGlvbiB0byB0dXJuIG9uIGV4dHJhIGRyaXZlciBkZWJ1Z2dpbmcgdGhhdCBtYXkgYWZm ZWN0CkBAIC0yMjAsMyArMjIxLDcgQEAgY29uZmlnIERSTV9JOTE1X0RFQlVHX1JVTlRJTUVfUE0K IAkgIGRyaXZlciBsb2FkaW5nLCBzdXNwZW5kIGFuZCByZXN1bWUgb3BlcmF0aW9ucy4KIAogCSAg SWYgaW4gZG91YnQsIHNheSAiTiIKKworY29uZmlnIFRJR0VSTEFLRV9ERUJVR19JUlEKKwlib29s ICJbVEdMXSBSZWR1Y2UgSVJRIGZ1bmN0aW9uYWxpdHkgZm9yIHN0YWJpbGl0eSIKKwlkZWZhdWx0 IG4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBl cy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmgKaW5kZXgg OTQzZjA2NjM4MzdlLi5kM2MzNmU1N2I4ODggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX2VuZ2luZV90eXBlcy5oCkBAIC04LDYgKzgsNyBAQAogI2RlZmluZSBfX0lOVEVMX0VO R0lORV9UWVBFU19fCiAKICNpbmNsdWRlIDxsaW51eC9oYXNodGFibGUuaD4KKyNpbmNsdWRlIDxs aW51eC9pcnFfcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L2lycV93b3JrLmg+CiAjaW5jbHVkZSA8 bGludXgva3JlZi5oPgogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KQEAgLTMzMCw2ICszMzEsOSBA QCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq ZGVmYXVsdF9zdGF0ZTsKIAl2b2lkICpwaW5uZWRfZGVmYXVsdF9zdGF0ZTsKIAorCXN0cnVjdCBp cnFfcG9sbCBpcnFfcG9sbDsKKwlhdG9taWNfdCBpcnFfY291bnQ7CisKIAlzdHJ1Y3QgewogCQlz dHJ1Y3QgaW50ZWxfcmluZyAqcmluZzsKIAkJc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGlu ZTsKQEAgLTQ4MCw4ICs0ODQsOSBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzIHsKICNkZWZpbmUg STkxNV9FTkdJTkVfSEFTX1BSRUVNUFRJT04gICBCSVQoMikKICNkZWZpbmUgSTkxNV9FTkdJTkVf SEFTX1NFTUFQSE9SRVMgICBCSVQoMykKICNkZWZpbmUgSTkxNV9FTkdJTkVfTkVFRFNfQlJFQURD UlVNQl9UQVNLTEVUIEJJVCg0KQotI2RlZmluZSBJOTE1X0VOR0lORV9JU19WSVJUVUFMICAgICAg IEJJVCg1KQotI2RlZmluZSBJOTE1X0VOR0lORV9IQVNfUkVMQVRJVkVfTU1JTyBCSVQoNikKKyNk ZWZpbmUgSTkxNV9FTkdJTkVfTkVFRFNfSVJRX1BPTEwgICBCSVQoNSkKKyNkZWZpbmUgSTkxNV9F TkdJTkVfSVNfVklSVFVBTCAgICAgICBCSVQoNikKKyNkZWZpbmUgSTkxNV9FTkdJTkVfSEFTX1JF TEFUSVZFX01NSU8gQklUKDcpCiAJdW5zaWduZWQgaW50IGZsYWdzOwogCiAJLyoKQEAgLTU3MSw2 ICs1NzYsMTIgQEAgaW50ZWxfZW5naW5lX25lZWRzX2JyZWFkY3J1bWJfdGFza2xldChjb25zdCBz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJcmV0dXJuIGVuZ2luZS0+ZmxhZ3MgJiBJ OTE1X0VOR0lORV9ORUVEU19CUkVBRENSVU1CX1RBU0tMRVQ7CiB9CiAKK3N0YXRpYyBpbmxpbmUg Ym9vbAoraW50ZWxfZW5naW5lX25lZWRzX2lycV9wb2xsKGNvbnN0IHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSkKK3sKKwlyZXR1cm4gZW5naW5lLT5mbGFncyAmIEk5MTVfRU5HSU5FX05F RURTX0lSUV9QT0xMOworfQorCiBzdGF0aWMgaW5saW5lIGJvb2wKIGludGVsX2VuZ2luZV9pc192 aXJ0dWFsKGNvbnN0IHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X2lycS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfaXJxLmMKaW5kZXggMzRhNGZiNjI0YmY3Li43ZDRjMmYxODU3 NmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X2lycS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X2lycS5jCkBAIC00NSw2ICs0NSw5 IEBAIGdlbjExX2d0X2VuZ2luZV9pZGVudGl0eShzdHJ1Y3QgaW50ZWxfZ3QgKmd0LAogCiAJbG9j a2RlcF9hc3NlcnRfaGVsZCgmZ3QtPmlycV9sb2NrKTsKIAorCWlmIChXQVJOX09OKFRJR0VSTEFL RV9OT19JUlEoZ3QtPmk5MTUpKSkKKwkJcmV0dXJuIDA7CisKIAlyYXdfcmVnX3dyaXRlKHJlZ3Ms IEdFTjExX0lJUl9SRUdfU0VMRUNUT1IoYmFuayksIEJJVChiaXQpKTsKIAogCS8qCkBAIC0yMDks MTIgKzIxMiwxNCBAQCB2b2lkIGdlbjExX2d0X2lycV9yZXNldChzdHJ1Y3QgaW50ZWxfZ3QgKmd0 KQogCiB2b2lkIGdlbjExX2d0X2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQog ewotCWNvbnN0IHUzMiBpcnFzID0gR1RfUkVOREVSX1VTRVJfSU5URVJSVVBUIHwgR1RfQ09OVEVY VF9TV0lUQ0hfSU5URVJSVVBUOwogCXN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSA9IGd0LT51 bmNvcmU7Ci0JY29uc3QgdTMyIGRtYXNrID0gaXJxcyA8PCAxNiB8IGlycXM7Ci0JY29uc3QgdTMy IHNtYXNrID0gaXJxcyA8PCAxNjsKKwl1MzIgaXJxcywgZG1hc2ssIHNtYXNrOwogCi0JQlVJTERf QlVHX09OKGlycXMgJiAweGZmZmYwMDAwKTsKKwlpcnFzID0gR1RfUkVOREVSX1VTRVJfSU5URVJS VVBUIHwgR1RfQ09OVEVYVF9TV0lUQ0hfSU5URVJSVVBUOworCWlmIChUSUdFUkxBS0VfTk9fSVJR KGd0LT5pOTE1KSkKKwkJaXJxcyA9IDA7IC8qIFhYWCBsYWxhbGFsYSAqLworCXNtYXNrID0gaXJx cyA8PCAxNjsKKwlkbWFzayA9IHNtYXNrIHwgaXJxczsKIAogCS8qIEVuYWJsZSBSQ1MsIEJDUywg VkNTIGFuZCBWRUNTIGNsYXNzIGludGVycnVwdHMuICovCiAJaW50ZWxfdW5jb3JlX3dyaXRlKHVu Y29yZSwgR0VOMTFfUkVOREVSX0NPUFlfSU5UUl9FTkFCTEUsIGRtYXNrKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfbHJjLmMKaW5kZXggNDMxZDNiOGMzMzcxLi4xYTc4NWU4NzZhMzIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCkBAIC05ODksNiArOTg5LDkgQEAgX19leGVjbGlz dHNfc2NoZWR1bGVfaW4oc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCiAJZXhlY2xpc3RzX2NvbnRl eHRfc3RhdHVzX2NoYW5nZShycSwgSU5URUxfQ09OVEVYVF9TQ0hFRFVMRV9JTik7CiAJaW50ZWxf ZW5naW5lX2NvbnRleHRfaW4oZW5naW5lKTsKIAorCWlmIChpbnRlbF9lbmdpbmVfbmVlZHNfaXJx X3BvbGwoZW5naW5lKSkKKwkJYXRvbWljX2luYygmZW5naW5lLT5pcnFfY291bnQpOworCiAJcmV0 dXJuIGVuZ2luZTsKIH0KIApAQCAtMTAyOCw2ICsxMDMxLDEwIEBAIF9fZXhlY2xpc3RzX3NjaGVk dWxlX291dChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKIHsKIAlzdHJ1Y3QgaW50ZWxfY29udGV4 dCAqIGNvbnN0IGNlID0gcnEtPmh3X2NvbnRleHQ7CiAKKwlpZiAoaW50ZWxfZW5naW5lX25lZWRz X2lycV9wb2xsKGVuZ2luZSkgJiYKKwkgICAgYXRvbWljX2RlY19hbmRfdGVzdCgmZW5naW5lLT5p cnFfY291bnQpKQorCQlzZXRfYml0KElSUV9QT0xMX0ZfRElTQUJMRSwgJmVuZ2luZS0+aXJxX3Bv bGwuc3RhdGUpOworCiAJaW50ZWxfZW5naW5lX2NvbnRleHRfb3V0KGVuZ2luZSk7CiAJZXhlY2xp c3RzX2NvbnRleHRfc3RhdHVzX2NoYW5nZShycSwgSU5URUxfQ09OVEVYVF9TQ0hFRFVMRV9PVVQp OwogCWludGVsX2d0X3BtX3B1dChlbmdpbmUtPmd0KTsKQEAgLTExOTYsNiArMTIwMywxMSBAQCBz dGF0aWMgdm9pZCBleGVjbGlzdHNfc3VibWl0X3BvcnRzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSkKIAkvKiB3ZSBuZWVkIHRvIG1hbnVhbGx5IGxvYWQgdGhlIHN1Ym1pdCBxdWV1ZSAq LwogCWlmIChleGVjbGlzdHMtPmN0cmxfcmVnKQogCQl3cml0ZWwoRUxfQ1RSTF9MT0FELCBleGVj bGlzdHMtPmN0cmxfcmVnKTsKKworCWlmIChhdG9taWNfcmVhZCgmZW5naW5lLT5pcnFfY291bnQp KSB7CisJCWNsZWFyX2JpdChJUlFfUE9MTF9GX0RJU0FCTEUsICZlbmdpbmUtPmlycV9wb2xsLnN0 YXRlKTsKKwkJaXJxX3BvbGxfc2NoZWQoJmVuZ2luZS0+aXJxX3BvbGwpOworCX0KIH0KIAogc3Rh dGljIGJvb2wgY3R4X3NpbmdsZV9wb3J0X3N1Ym1pc3Npb24oY29uc3Qgc3RydWN0IGludGVsX2Nv bnRleHQgKmNlKQpAQCAtMTgzOCw2ICsxODUwLDExIEBAIGdlbjhfY3NiX3BhcnNlKGNvbnN0IHN0 cnVjdCBpbnRlbF9lbmdpbmVfZXhlY2xpc3RzICpleGVjbGlzdHMsIGNvbnN0IHUzMiAqY3NiKQog CXJldHVybiAqY3NiICYgKEdFTjhfQ1RYX1NUQVRVU19JRExFX0FDVElWRSB8IEdFTjhfQ1RYX1NU QVRVU19QUkVFTVBURUQpOwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wgaGFzX2JyZWFkY3J1bWJz KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxKQoreworCXJldHVybiAhbGlzdF9lbXB0eSgmcnEtPmh3 X2NvbnRleHQtPnNpZ25hbHMpOworfQorCiBzdGF0aWMgdm9pZCBwcm9jZXNzX2NzYihzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGludGVsX2VuZ2luZV9leGVjbGlz dHMgKiBjb25zdCBleGVjbGlzdHMgPSAmZW5naW5lLT5leGVjbGlzdHM7CkBAIC0xOTQwLDYgKzE5 NTcsMTAgQEAgc3RhdGljIHZvaWQgcHJvY2Vzc19jc2Ioc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lKQogCQkJICovCiAJCQlHRU1fQlVHX09OKCFpOTE1X3JlcXVlc3RfY29tcGxldGVkKCpl eGVjbGlzdHMtPmFjdGl2ZSkgJiYKIAkJCQkgICAhcmVzZXRfaW5fcHJvZ3Jlc3MoZXhlY2xpc3Rz KSk7CisKKwkJCWlmIChoYXNfYnJlYWRjcnVtYnMoKmV4ZWNsaXN0cy0+YWN0aXZlKSkKKwkJCQlp bnRlbF9lbmdpbmVfcXVldWVfYnJlYWRjcnVtYnMoZW5naW5lKTsKKwogCQkJZXhlY2xpc3RzX3Nj aGVkdWxlX291dCgqZXhlY2xpc3RzLT5hY3RpdmUrKyk7CiAKIAkJCUdFTV9CVUdfT04oZXhlY2xp c3RzLT5hY3RpdmUgLSBleGVjbGlzdHMtPmluZmxpZ2h0ID4KQEAgLTE5ODcsNiArMjAwOCwyNyBA QCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfc3VibWlzc2lvbl90YXNrbGV0KHVuc2lnbmVkIGxvbmcg ZGF0YSkKIAl9CiB9CiAKK3N0YXRpYyBpbnQgaW9wX2hhbmRsZXIoc3RydWN0IGlycV9wb2xsICpp b3AsIGludCBidWRnZXQpCit7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0KKwkJ Y29udGFpbmVyX29mKGlvcCwgdHlwZW9mKCplbmdpbmUpLCBpcnFfcG9sbCk7CisJc3RydWN0IGlu dGVsX2VuZ2luZV9leGVjbGlzdHMgKmV4ZWNsaXN0cyA9ICZlbmdpbmUtPmV4ZWNsaXN0czsKKwlz dHJ1Y3QgdGFza2xldF9zdHJ1Y3QgKnQgPSAmZXhlY2xpc3RzLT50YXNrbGV0OworCisJaWYgKGV4 ZWNsaXN0cy0+Y3NiX2hlYWQgPT0gUkVBRF9PTkNFKCpleGVjbGlzdHMtPmNzYl93cml0ZSkpCisJ CXJldHVybiAwOworCisJaWYgKCF0YXNrbGV0X3RyeWxvY2sodCkpCisJCXJldHVybiAwOworCisJ LyogTXVzdCB3YWl0IGZvciBhbnkgR1BVIHJlc2V0IGluIHByb2dyZXNzLiAqLworCWlmIChfX3Rh c2tsZXRfaXNfZW5hYmxlZCh0KSkKKwkJdC0+ZnVuYyh0LT5kYXRhKTsKKworCXRhc2tsZXRfdW5s b2NrKHQpOworCXJldHVybiAwOworfQorCiBzdGF0aWMgdm9pZCBleGVjbGlzdHNfc3VibWlzc2lv bl90aW1lcihzdHJ1Y3QgdGltZXJfbGlzdCAqdGltZXIpCiB7CiAJc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lID0KQEAgLTM0NDIsMTAgKzM0ODQsMTQgQEAgdm9pZCBpbnRlbF9leGVjbGlz dHNfc2V0X2RlZmF1bHRfc3VibWlzc2lvbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp CiAKIAlpZiAoZW5naW5lLT5jbGFzcyAhPSBDT1BZX0VOR0lORV9DTEFTUyAmJiBJTlRFTF9HRU4o ZW5naW5lLT5pOTE1KSA+PSAxMikKIAkJZW5naW5lLT5mbGFncyB8PSBJOTE1X0VOR0lORV9IQVNf UkVMQVRJVkVfTU1JTzsKKworCWlmIChUSUdFUkxBS0VfTk9fSVJRKGVuZ2luZS0+aTkxNSkpCisJ CWVuZ2luZS0+ZmxhZ3MgfD0gSTkxNV9FTkdJTkVfTkVFRFNfSVJRX1BPTEw7CiB9CiAKIHN0YXRp YyB2b2lkIGV4ZWNsaXN0c19kZXN0cm95KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkK IHsKKwlpcnFfcG9sbF9kaXNhYmxlKCZlbmdpbmUtPmlycV9wb2xsKTsKIAlpbnRlbF9lbmdpbmVf Y2xlYW51cF9jb21tb24oZW5naW5lKTsKIAlscmNfZGVzdHJveV93YV9jdHgoZW5naW5lKTsKIAlr ZnJlZShlbmdpbmUpOwpAQCAtMzUzMiw2ICszNTc4LDcgQEAgc3RhdGljIHZvaWQgcmNzX3N1Ym1p c3Npb25fb3ZlcnJpZGUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCiBpbnQgaW50 ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb25fc2V0dXAoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lKQogeworCWlycV9wb2xsX2luaXQoJmVuZ2luZS0+aXJxX3BvbGwsIC0xLCBpb3BfaGFuZGxl cik7CiAJdGFza2xldF9pbml0KCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0LAogCQkgICAgIGV4 ZWNsaXN0c19zdWJtaXNzaW9uX3Rhc2tsZXQsICh1bnNpZ25lZCBsb25nKWVuZ2luZSk7CiAJdGlt ZXJfc2V0dXAoJmVuZ2luZS0+ZXhlY2xpc3RzLnRpbWVyLCBleGVjbGlzdHNfc3VibWlzc2lvbl90 aW1lciwgMCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCAzMzdkODMwNjQxNmEuLmM1MDVk OWUzOGU5OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMDY5LDYgKzIwNjksOSBAQCBJ U19TVUJQTEFURk9STShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKICNkZWZp bmUgSVNfR0VOOV9MUChkZXZfcHJpdikJKElTX0dFTihkZXZfcHJpdiwgOSkgJiYgSVNfTFAoZGV2 X3ByaXYpKQogI2RlZmluZSBJU19HRU45X0JDKGRldl9wcml2KQkoSVNfR0VOKGRldl9wcml2LCA5 KSAmJiAhSVNfTFAoZGV2X3ByaXYpKQogCisjZGVmaW5lIFRJR0VSTEFLRV9OT19JUlEoaTkxNSkg XAorCUlTX0VOQUJMRUQoQ09ORklHX1RJR0VSTEFLRV9ERUJVR19JUlEpICYmIElTX1RJR0VSTEFL RShpOTE1KQorCiAjZGVmaW5lIEhBU19FTkdJTkUoZGV2X3ByaXYsIGlkKSAoSU5URUxfSU5GTyhk ZXZfcHJpdiktPmVuZ2luZV9tYXNrICYgQklUKGlkKSkKIAogI2RlZmluZSBFTkdJTkVfSU5TVEFO Q0VTX01BU0soZGV2X3ByaXYsIGZpcnN0LCBjb3VudCkgKHsJCVwKLS0gCjIuMjMuMAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4