From mboxrd@z Thu Jan 1 00:00:00 1970 From: Praveen Paneri Subject: [PATCH v4] drm/i915/bxt: Broxton decoupled MMIO Date: Tue, 15 Nov 2016 12:10:15 +0530 Message-ID: <1479192015-4247-1-git-send-email-praveen.paneri@intel.com> References: <20161004195644.GA28117@nuc-i3427.alporthouse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9498A6E19E for ; Tue, 15 Nov 2016 06:35:30 +0000 (UTC) In-Reply-To: <20161004195644.GA28117@nuc-i3427.alporthouse.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: Zhe Wang , Praveen Paneri , rodrigo.vivi@intel.com List-Id: intel-gfx@lists.freedesktop.org RGVjb3VwbGVkIE1NSU8gaXMgYW4gYWx0ZXJuYXRpdmUgd2F5IHRvIGFjY2VzcyBmb3JjZXdha2Ug ZG9tYWluCnJlZ2lzdGVycywgd2hpY2ggcmVxdWlyZXMgbGVzcyBjeWNsZXMgZm9yIGEgc2luZ2xl IHJlYWQvd3JpdGUgYW5kCmF2b2lkcyBmcmVxdWVudCBzb2Z0d2FyZSBmb3JjZXdha2UuClRoaXMg Y2VydGFpbmx5IGdpdmVzIGFkdmFudGFnZSBvdmVyIHRoZSBmb3JjZXdha2UgYXMgdGhpcyBuZXcK bWVjaGFuaXNtIOKAnGRlY291cGxlc+KAnSBDUFUgY3ljbGVzIGFuZCBhbGxvdyB0aGVtIHRvIGNv bXBsZXRlIGV2ZW4Kd2hlbiBHVCBpcyBpbiBhIENQRCAoZnJlcXVlbmN5IGNoYW5nZSkgb3IgQzYg c3RhdGUuCgpUaGlzIGNhbiBjby1leGlzdCB3aXRoIGZvcmNld2FrZSBhbmQgd2Ugd2lsbCBjb250 aW51ZSB0byB1c2UgZm9yY2V3YWtlCmFzIGFwcHJvcHJpYXRlLiBFLmcuIDY0LWJpdCByZWdpc3Rl ciB3cml0ZXMgdG8gYXZvaWQgd3JpdGluZyAyIGR3b3JkcwpzZXBhcmF0ZWx5IGFuZCBsYW5kIGlu dG8gZnVubnkgc2l0dWF0aW9ucy4KCnYyOgotIE1vdmVkIHBsYXRmb3JtIGNoZWNrIG91dCBvZiB0 aGUgZnVuY3Rpb24gYW5kIGdvdCByaWQgb2YgZHVwbGljYXRlCiBmdW5jdGlvbnMgdG8gZmluZCBv dXQgZGVjb3VwbGVkIHBvd2VyIGRvbWFpbiAoQ2hyaXMpCi0gQWRkZWQgYSBjaGVjayBmb3IgZm9y Y2V3YWtlIGFscmVhZHkgaGVsZCBhbmQgc2tpcHBlZCBkZWNvdXBsZWQKIGFjY2VzcyAoQ2hyaXMp Ci0gU2tpcHBlZCB3cml0aW5nIDY0IGJpdCByZWdpc3RlcnMgdGhyb3VnaCBkZWNvdXBsZWQgTU1J TyAoQ2hyaXMpCgp2MzoKLSBJbXByb3ZlZCBjb21taXQgbWVzc2FnZSB3aXRoIG1vcmUgaW5mbyBv biBkZWNvdXBsZWQgbW1pbyAoVHZydGtvKQotIENoYW5nZWQgZGVjb3VwbGVkIG9wZXJhdGlvbiB0 byBlbnVtIGFuZCB1c2VkIHUzMiBpbnN0ZWFkIG9mCiB1aW50XzMyIGRhdGEgdHlwZSBmb3IgcmVn aXN0ZXIgb2Zmc2V0IChUdnJ0a28pCi0gTW92ZWQgSEFTX0RFQ09VUExFRF9NTUlPIHRvIGRldmlj ZSBpbmZvIChUdnJ0a28pCi0gQWRkZWQgbG9va3VwIHRhYmxlIGZvciBjb252ZXJ0aW5nIGZ3X2Vu Z2luZSB0byBwZF9lbmdpbmUgKFR2cnRrbykKLSBJbXByb3ZlZCBfX2dlbjlfZGVjb3VwbGVkX3Jl YWQgYW5kIF9fZ2VuOV9kZWNvdXBsZWRfd3JpdGUKIHJvdXRpbmVzIChUdnJ0a28pCgp2NDoKLSBG aXhlZCBhbGlnbm1lbnQgYW5kIHZhcmlhYmxlIG5hbWVzIChDaHJpcykKLSBXcml0ZSBHRU45X0RF Q09VUExFRF9SRUcwX0RXMSByZWdpc3RlciBpbiBqdXN0IG9uZSBnbyAoWmhlIFdhbmcpCgpTaWdu ZWQtb2ZmLWJ5OiBaaGUgV2FuZyA8emhlMS53YW5nQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTog UHJhdmVlbiBQYW5lcmkgPHByYXZlZW4ucGFuZXJpQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICB8ICAxOCArKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcGNpLmMgICAgIHwgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmggICAgIHwgICA3ICsrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgfCAx MDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQs IDEzNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK aW5kZXggNGU3MTQ4YS4uMTU4ZjA1YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC01NDks NiArNTQ5LDE4IEBAIGVudW0gZm9yY2V3YWtlX2RvbWFpbnMgewogI2RlZmluZSBGV19SRUdfUkVB RCAgKDEpCiAjZGVmaW5lIEZXX1JFR19XUklURSAoMikKIAorZW51bSBkZWNvdXBsZWRfcG93ZXJf ZG9tYWluIHsKKwlHRU45X0RFQ09VUExFRF9QRF9CTElUVEVSID0gMCwKKwlHRU45X0RFQ09VUExF RF9QRF9SRU5ERVIsCisJR0VOOV9ERUNPVVBMRURfUERfTUVESUEsCisJR0VOOV9ERUNPVVBMRURf UERfQUxMCit9OworCitlbnVtIGRlY291cGxlZF9vcHMgeworCUdFTjlfREVDT1VQTEVEX09QX1dS SVRFID0gMCwKKwlHRU45X0RFQ09VUExFRF9PUF9SRUFECit9OworCiBlbnVtIGZvcmNld2FrZV9k b21haW5zCiBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2Zvcl9yZWcoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAogCQkJICAgICAgIGk5MTVfcmVnX3QgcmVnLCB1bnNpZ25lZCBpbnQg b3ApOwpAQCAtNjgzLDcgKzY5NSw4IEBAIHN0cnVjdCBpbnRlbF9jc3IgewogCWZ1bmMoY3Vyc29y X25lZWRzX3BoeXNpY2FsKTsgXAogCWZ1bmMoaHdzX25lZWRzX3BoeXNpY2FsKTsgXAogCWZ1bmMo b3ZlcmxheV9uZWVkc19waHlzaWNhbCk7IFwKLQlmdW5jKHN1cHBvcnRzX3R2KQorCWZ1bmMoc3Vw cG9ydHNfdHYpOyBcCisJZnVuYyhoYXNfZGVjb3VwbGVkX21taW8pCiAKIHN0cnVjdCBzc2V1X2Rl dl9pbmZvIHsKIAl1OCBzbGljZV9tYXNrOwpAQCAtMjY1Miw2ICsyNjY1LDkgQEAgc3RydWN0IGRy bV9pOTE1X2NtZF90YWJsZSB7CiAjZGVmaW5lIEdUX0ZSRVFVRU5DWV9NVUxUSVBMSUVSIDUwCiAj ZGVmaW5lIEdFTjlfRlJFUV9TQ0FMRVIgMwogCisjZGVmaW5lIEhBU19ERUNPVVBMRURfTU1JTyhk ZXYpIChJTlRFTF9JTkZPKGRldiktPmhhc19kZWNvdXBsZWRfbW1pbyBcCisJCSYmIElTX0JYVF9S RVZJRChkZXYsIEJYVF9SRVZJRF9DMCwgUkVWSURfRk9SRVZFUikpCisKICNpbmNsdWRlICJpOTE1 X3RyYWNlLmgiCiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF9zY2Fub3V0X25lZWRzX3Z0ZF93 YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2ku YwppbmRleCA3MGE5OWNlLi5mY2U4ZTE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3BjaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKQEAgLTM2 Myw2ICszNjMsNyBAQAogCS5oYXNfaHdfY29udGV4dHMgPSAxLAogCS5oYXNfbG9naWNhbF9yaW5n X2NvbnRleHRzID0gMSwKIAkuaGFzX2d1YyA9IDEsCisJLmhhc19kZWNvdXBsZWRfbW1pbyA9IDEs CiAJLmRkYl9zaXplID0gNTEyLAogCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLAogCUlWQl9DVVJT T1JfT0ZGU0VUUywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDMzNjFkN2YuLmM3MGMwN2Eg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAtNzM0Miw2ICs3MzQyLDEzIEBAIGVudW0gewog I2RlZmluZSAgU0tMX0ZVU0VfUEcxX0RJU1RfU1RBVFVTICAgICAgICAgICAgICAoMTw8MjYpCiAj ZGVmaW5lICBTS0xfRlVTRV9QRzJfRElTVF9TVEFUVVMgICAgICAgICAgICAgICgxPDwyNSkKIAor LyogRGVjb3VwbGVkIE1NSU8gcmVnaXN0ZXIgcGFpciBmb3Iga2VybmVsIGRyaXZlciAqLworI2Rl ZmluZSBHRU45X0RFQ09VUExFRF9SRUcwX0RXMAkJCV9NTUlPKDB4RjAwKQorI2RlZmluZSBHRU45 X0RFQ09VUExFRF9SRUcwX0RXMQkJCV9NTUlPKDB4RjA0KQorI2RlZmluZSBHRU45X0RFQ09VUExF RF9EVzFfR08JCQkoMTw8MzEpCisjZGVmaW5lIEdFTjlfREVDT1VQTEVEX1BEX1NISUZUCQkJMjgK KyNkZWZpbmUgR0VOOV9ERUNPVVBMRURfT1BfU0hJRlQJCQkyNAorCiAvKiBQZXItcGlwZSBEREkg RnVuY3Rpb24gQ29udHJvbCAqLwogI2RlZmluZSBfVFJBTlNfRERJX0ZVTkNfQ1RMX0EJCTB4NjA0 MDAKICNkZWZpbmUgX1RSQU5TX0RESV9GVU5DX0NUTF9CCQkweDYxNDAwCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3VuY29yZS5jCmluZGV4IGUyYjE4OGQuLmU0YzUwY2IgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3VuY29yZS5jCkBAIC04MzEsNiArODMxLDY2IEBAIHN0YXRpYyBib29sIGlzX2dlbjhf c2hhZG93ZWQodTMyIG9mZnNldCkKIAlfX3VuY2xhaW1lZF9yZWdfZGVidWcoZGV2X3ByaXYsIHJl ZywgcmVhZCwgYmVmb3JlKTsKIH0KIAorc3RhdGljIGNvbnN0IGVudW0gZGVjb3VwbGVkX3Bvd2Vy X2RvbWFpbiBmdzJkcGRfZG9tYWluW10gPSB7CisJR0VOOV9ERUNPVVBMRURfUERfUkVOREVSLAor CUdFTjlfREVDT1VQTEVEX1BEX0JMSVRURVIsCisJR0VOOV9ERUNPVVBMRURfUERfQUxMLAorCUdF TjlfREVDT1VQTEVEX1BEX01FRElBLAorCUdFTjlfREVDT1VQTEVEX1BEX0FMTCwKKwlHRU45X0RF Q09VUExFRF9QRF9BTEwsCisJR0VOOV9ERUNPVVBMRURfUERfQUxMCit9OworCisvKgorICogRGVj b3VwbGVkIE1NSU8gYWNjZXNzIGZvciBvbmx5IDEgRFdPUkQKKyAqLworc3RhdGljIHZvaWQgX19n ZW45X2RlY291cGxlZF9tbWlvX2FjY2VzcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCisJCQkJCSB1MzIgcmVnLAorCQkJCQkgZW51bSBmb3JjZXdha2VfZG9tYWlucyBmd19kb21h aW4sCisJCQkJCSBlbnVtIGRlY291cGxlZF9vcHMgb3BlcmF0aW9uKQoreworCWVudW0gZGVjb3Vw bGVkX3Bvd2VyX2RvbWFpbiBkcF9kb21haW47CisJdTMyIGN0cmxfcmVnX2RhdGEgPSAwOworCisJ ZHBfZG9tYWluID0gZncyZHBkX2RvbWFpbltmd19kb21haW4gLSAxXTsKKworCWN0cmxfcmVnX2Rh dGEgfD0gcmVnOworCWN0cmxfcmVnX2RhdGEgfD0gKG9wZXJhdGlvbiA8PCBHRU45X0RFQ09VUExF RF9PUF9TSElGVCk7CisJY3RybF9yZWdfZGF0YSB8PSAoZHBfZG9tYWluIDw8IEdFTjlfREVDT1VQ TEVEX1BEX1NISUZUKTsKKwljdHJsX3JlZ19kYXRhIHw9IEdFTjlfREVDT1VQTEVEX0RXMV9HTzsK KwlfX3Jhd19pOTE1X3dyaXRlMzIoZGV2X3ByaXYsIEdFTjlfREVDT1VQTEVEX1JFRzBfRFcxLCBj dHJsX3JlZ19kYXRhKTsKKworCWlmICh3YWl0X2Zvcl9hdG9taWMoKF9fcmF3X2k5MTVfcmVhZDMy KGRldl9wcml2LAorCQkJICAgIEdFTjlfREVDT1VQTEVEX1JFRzBfRFcxKSAmCisJCQkgICAgR0VO OV9ERUNPVVBMRURfRFcxX0dPKSA9PSAwLAorCQkJICAgIEZPUkNFV0FLRV9BQ0tfVElNRU9VVF9N UykpCisJCURSTV9FUlJPUigiRGVjb3VwbGVkIE1NSU8gd2FpdCB0aW1lZCBvdXRcbiIpOworfQor CitzdGF0aWMgaW5saW5lIHUzMgorX19nZW45X2RlY291cGxlZF9tbWlvX3JlYWQzMihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkgICAgIHUzMiByZWcsCisJCQkgICAgIGVu dW0gZm9yY2V3YWtlX2RvbWFpbnMgZndfZG9tYWluKQoreworCV9fZ2VuOV9kZWNvdXBsZWRfbW1p b19hY2Nlc3MoZGV2X3ByaXYsIHJlZywgZndfZG9tYWluLAorCQkJCSAgICAgR0VOOV9ERUNPVVBM RURfT1BfUkVBRCk7CisKKwlyZXR1cm4gX19yYXdfaTkxNV9yZWFkMzIoZGV2X3ByaXYsIEdFTjlf REVDT1VQTEVEX1JFRzBfRFcwKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitfX2dlbjlfZGVj b3VwbGVkX21taW9fd3JpdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJ ICAgIHUzMiByZWcsIHUzMiBkYXRhLAorCQkJICAgIGVudW0gZm9yY2V3YWtlX2RvbWFpbnMgZndf ZG9tYWluKQoreworCisJX19yYXdfaTkxNV93cml0ZTMyKGRldl9wcml2LCBHRU45X0RFQ09VUExF RF9SRUcwX0RXMCwgZGF0YSk7CisKKwlfX2dlbjlfZGVjb3VwbGVkX21taW9fYWNjZXNzKGRldl9w cml2LCByZWcsIGZ3X2RvbWFpbiwKKwkJCQkgICAgIEdFTjlfREVDT1VQTEVEX09QX1dSSVRFKTsK K30KKworCiAjZGVmaW5lIEdFTjJfUkVBRF9IRUFERVIoeCkgXAogCXUjI3ggdmFsID0gMDsgXAog CWFzc2VydF9ycG1fd2FrZWxvY2tfaGVsZChkZXZfcHJpdik7CkBAIC05MzUsNiArOTk1LDI4IEBA IHN0YXRpYyBpbmxpbmUgdm9pZCBfX2ZvcmNlX3dha2VfYXV0byhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiAJR0VONl9SRUFEX0ZPT1RFUjsgXAogfQogCisjZGVmaW5lIF9fZ2Vu OV9kZWNvdXBsZWRfcmVhZCh4KSBcCitzdGF0aWMgdSMjeCBcCitnZW45X2RlY291cGxlZF9yZWFk IyN4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgXAorCQkgICAgICAgaTkxNV9y ZWdfdCByZWcsIGJvb2wgdHJhY2UpIHsgXAorCWVudW0gZm9yY2V3YWtlX2RvbWFpbnMgZndfZW5n aW5lOyBcCisJR0VONl9SRUFEX0hFQURFUih4KTsgXAorCWZ3X2VuZ2luZSA9IF9fZnd0YWJsZV9y ZWdfcmVhZF9md19kb21haW5zKG9mZnNldCk7IFwKKwlpZiAoZndfZW5naW5lICYgfmRldl9wcml2 LT51bmNvcmUuZndfZG9tYWluc19hY3RpdmUpIHsgXAorCQl1bnNpZ25lZCBpOyBcCisJCXUzMiAq cHRyX2RhdGEgPSAodTMyICopICZ2YWw7IFwKKwkJZm9yIChpID0gMDsgaSA8IHgvMzI7IGkrKywg b2Zmc2V0ICs9IHNpemVvZih1MzIpLCBwdHJfZGF0YSsrKSBcCisJCQkqcHRyX2RhdGEgPSBfX2dl bjlfZGVjb3VwbGVkX21taW9fcmVhZDMyKGRldl9wcml2LCBcCisJCQkJCQkJCSBvZmZzZXQsIFwK KwkJCQkJCQkJIGZ3X2VuZ2luZSk7IFwKKwl9IGVsc2UgeyBcCisJCXZhbCA9IF9fcmF3X2k5MTVf cmVhZCMjeChkZXZfcHJpdiwgcmVnKTsgXAorCX0gXAorCUdFTjZfUkVBRF9GT09URVI7IFwKK30K KworX19nZW45X2RlY291cGxlZF9yZWFkKDMyKQorX19nZW45X2RlY291cGxlZF9yZWFkKDY0KQog X19md3RhYmxlX3JlYWQoOCkKIF9fZnd0YWJsZV9yZWFkKDE2KQogX19md3RhYmxlX3JlYWQoMzIp CkBAIC0xMDY0LDYgKzExNDYsMjUgQEAgc3RhdGljIGlubGluZSB2b2lkIF9fZm9yY2Vfd2FrZV9h dXRvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlHRU42X1dSSVRFX0ZPT1RF UjsgXAogfQogCisjZGVmaW5lIF9fZ2VuOV9kZWNvdXBsZWRfd3JpdGUoeCkgXAorc3RhdGljIHZv aWQgXAorZ2VuOV9kZWNvdXBsZWRfd3JpdGUjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCBcCisJCQlpOTE1X3JlZ190IHJlZywgdSMjeCB2YWwsIFwKKwkJYm9vbCB0cmFjZSkg eyBcCisJZW51bSBmb3JjZXdha2VfZG9tYWlucyBmd19lbmdpbmU7IFwKKwlHRU42X1dSSVRFX0hF QURFUjsgXAorCWZ3X2VuZ2luZSA9IF9fZnd0YWJsZV9yZWdfd3JpdGVfZndfZG9tYWlucyhvZmZz ZXQpOyBcCisJaWYgKGZ3X2VuZ2luZSAmIH5kZXZfcHJpdi0+dW5jb3JlLmZ3X2RvbWFpbnNfYWN0 aXZlKSBcCisJCV9fZ2VuOV9kZWNvdXBsZWRfbW1pb193cml0ZShkZXZfcHJpdiwgXAorCQkJCQkg ICAgb2Zmc2V0LCBcCisJCQkJCSAgICB2YWwsIFwKKwkJCQkJICAgIGZ3X2VuZ2luZSk7IFwKKwll bHNlIFwKKwkJX19yYXdfaTkxNV93cml0ZSMjeChkZXZfcHJpdiwgcmVnLCB2YWwpOyBcCisJR0VO Nl9XUklURV9GT09URVI7IFwKK30KKworX19nZW45X2RlY291cGxlZF93cml0ZSgzMikKIF9fZnd0 YWJsZV93cml0ZSg4KQogX19md3RhYmxlX3dyaXRlKDE2KQogX19md3RhYmxlX3dyaXRlKDMyKQpA QCAtMTI4Nyw2ICsxMzg4LDE0IEBAIHZvaWQgaW50ZWxfdW5jb3JlX2luaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQlBU1NJR05fRldfRE9NQUlOU19UQUJMRShfX2dlbjlf ZndfcmFuZ2VzKTsKIAkJQVNTSUdOX1dSSVRFX01NSU9fVkZVTkNTKGZ3dGFibGUpOwogCQlBU1NJ R05fUkVBRF9NTUlPX1ZGVU5DUyhmd3RhYmxlKTsKKwkJaWYgKEhBU19ERUNPVVBMRURfTU1JTyhk ZXZfcHJpdikpIHsKKwkJCWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb19yZWFkbCA9CisJCQkJ CQlnZW45X2RlY291cGxlZF9yZWFkMzI7CisJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9f cmVhZHEgPQorCQkJCQkJZ2VuOV9kZWNvdXBsZWRfcmVhZDY0OworCQkJZGV2X3ByaXYtPnVuY29y ZS5mdW5jcy5tbWlvX3dyaXRlbCA9CisJCQkJCQlnZW45X2RlY291cGxlZF93cml0ZTMyOworCQl9 CiAJCWJyZWFrOwogCWNhc2UgODoKIAkJaWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7Ci0t IAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==