From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 1/9] drm/i915: Allow mmio updates on all platforms, v3. Date: Thu, 26 May 2016 12:37:57 +0200 Message-ID: <1464259085-13604-2-git-send-email-maarten.lankhorst@linux.intel.com> References: <1464259085-13604-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id AB0936EA8F for ; Thu, 26 May 2016 10:38:09 +0000 (UTC) In-Reply-To: <1464259085-13604-1-git-send-email-maarten.lankhorst@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 List-Id: intel-gfx@lists.freedesktop.org V2l0aCBpbnRlbF9waXBlX3VwZGF0ZSBiZWdpbi9lbmQgd2UgZW5zdXJlIHRoYXQgdGhlIG1taW8g dXBkYXRlcwpkb24ndCBydW4gZHVyaW5nIHZibGFuayBpbnRlcnJ1cHQsIHVzaW5nIHRoZSBodyBj b3VudGVyIHdlIGNhbgpiZSBzdXJlIHRoYXQgd2hlbiBjdXJyZW50IHZibGFuayBjb3VudCAhPSB2 YmxhbmsgY291bnQgYXQgdGhlIHRpbWUKb2YgcGlwZV91cGRhdGVfZW5kIHRoZSBtbWlvIHVwZGF0 ZSBpcyBjb21wbGV0ZS4KClRoaXMgYWxsb3dzIHVzIHRvIHVzZSBtbWlvIHVwZGF0ZXMgb24gYWxs IHBsYXRmb3JtcywgdXNpbmcgdGhlCnVwZGF0ZV9wbGFuZSBjYWxsLgoKV2l0aCBDaHJpcyBXaWxz b24ncyBwYXRjaCB0byBza2lwIHdhaXRpbmcgZm9yIHZibGFua3MgZm9yCmxlZ2FjeV9jdXJzb3Jf dXBkYXRlIHRoaXMgcG90ZW50aWFsbHkgbGVhdmVzIGEgc21hbGwgcmFjZQpjb25kaXRpb24uIElu IGNhc2Ugb2YgIWxlZ2FjeV9jdXJzb3JfdXBkYXRlIHdlIHdhaXQgZm9yIGZsaXBzIHRvCmNvbXBs ZXRlIHNvIHRoZXJlJ3Mgbm8gcmFjZSBmb3IgZnJlZWluZyBjcnRjX3N0YXRlLiBJbiBjYXNlIG9m CmxlZ2FjeV9jdXJzb3JfdXBkYXRlIHRoZXJlJ3MgYSBjaGVjayBmb3IKd29yay0+Y3J0Y19zdGF0 ZSA9PSBvbGRfY3J0Y19zdGF0ZS4gSW4gdGhhdCBjYXNlIHRoZSBvbGRfY3J0Y19zdGF0ZQppcyBy ZW1vdmVkIGZyb20gaW50ZWxfYXRvbWljX3N0YXRlIGFuZCBmcmVlZCBieSBpbnRlbF91bnBpbl93 b3JrX2ZuLgpUaGlzIGVuc3VyZXMgdGhhdCBpbnRlbF9tbWlvX2ZsaXBfd29ya19mdW5jIG5ldmVy IHVzZXMgYSBmcmVlZCBwb2ludGVyCnRvIGNydGNfc3RhdGUuCgpDaGFuZ2VzIHNpbmNlIHYxOgot IFNwbGl0IG91dCB0aGUgZmxpcF93b3JrIHJlbmFtZS4KQ2hhbmdlcyBzaW5jZSB2MjoKLSBEbyBu b3QgYnJlYWsgYmlzZWN0IGJ5IHJldmVydGluZyB0aGUgc3RhbGwgZml4IGZvciBjdXJzb3IgdXBk YXRlcywKICBpbnN0ZWFkIGFkZCBjcnRjX3N0YXRlIHRvIGludGVsX2ZsaXBfd29yaywgYW5kIG1h a2Ugc3VyZSBpdCdzIG5vdAogIGZyZWVkIGluIGludGVsX2F0b21pY19jb21taXQgZm9yIGxlZ2Fj eSBjdXJzb3IgdXBkYXRlcy4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFy dGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jIHwgMTE4ICsrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgIDQgKy0KIDIgZmlsZXMg Y2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgOTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDljY2Q3NjY5OWY0OC4uYWU4MDM2YjVmZTdjIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xMDk3Niw2ICsxMDk3Niw5IEBAIHN0 YXRpYyB2b2lkIGludGVsX3VucGluX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICpfX3dvcmsp CiAJQlVHX09OKGF0b21pY19yZWFkKCZjcnRjLT51bnBpbl93b3JrX2NvdW50KSA9PSAwKTsKIAlh dG9taWNfZGVjKCZjcnRjLT51bnBpbl93b3JrX2NvdW50KTsKIAorCWlmICh3b3JrLT5mcmVlX25l d19jcnRjX3N0YXRlKQorCQlpbnRlbF9jcnRjX2Rlc3Ryb3lfc3RhdGUoJmNydGMtPmJhc2UsICZ3 b3JrLT5uZXdfY3J0Y19zdGF0ZS0+YmFzZSk7CisKIAlrZnJlZSh3b3JrKTsKIH0KIApAQCAtMTEz NzMsOSArMTEzNzYsNiBAQCBzdGF0aWMgYm9vbCB1c2VfbW1pb19mbGlwKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSwKIAlpZiAoZW5naW5lID09IE5VTEwpCiAJCXJldHVybiB0cnVlOwog Ci0JaWYgKElOVEVMX0dFTihlbmdpbmUtPmk5MTUpIDwgNSkKLQkJcmV0dXJuIGZhbHNlOwotCiAJ aWYgKGk5MTUudXNlX21taW9fZmxpcCA8IDApCiAJCXJldHVybiBmYWxzZTsKIAllbHNlIGlmIChp OTE1LnVzZV9tbWlvX2ZsaXAgPiAwKQpAQCAtMTEzOTAsOTIgKzExMzkwLDE1IEBAIHN0YXRpYyBi b29sIHVzZV9tbWlvX2ZsaXAoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogCQlyZXR1 cm4gZW5naW5lICE9IGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X2VuZ2luZShvYmotPmxhc3Rfd3JpdGVf cmVxKTsKIH0KIAotc3RhdGljIHZvaWQgc2tsX2RvX21taW9fZmxpcChzdHJ1Y3QgaW50ZWxfY3J0 YyAqaW50ZWxfY3J0YywKLQkJCSAgICAgdW5zaWduZWQgaW50IHJvdGF0aW9uLAotCQkJICAgICBz dHJ1Y3QgaW50ZWxfZmxpcF93b3JrICp3b3JrKQotewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBpbnRlbF9jcnRjLT5iYXNlLmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwotCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gaW50 ZWxfY3J0Yy0+YmFzZS5wcmltYXJ5LT5mYjsKLQljb25zdCBlbnVtIHBpcGUgcGlwZSA9IGludGVs X2NydGMtPnBpcGU7Ci0JdTMyIGN0bCwgc3RyaWRlLCB0aWxlX2hlaWdodDsKLQotCWN0bCA9IEk5 MTVfUkVBRChQTEFORV9DVEwocGlwZSwgMCkpOwotCWN0bCAmPSB+UExBTkVfQ1RMX1RJTEVEX01B U0s7Ci0Jc3dpdGNoIChmYi0+bW9kaWZpZXJbMF0pIHsKLQljYXNlIERSTV9GT1JNQVRfTU9EX05P TkU6Ci0JCWJyZWFrOwotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQ6Ci0JCWN0bCB8PSBQ TEFORV9DVExfVElMRURfWDsKLQkJYnJlYWs7Ci0JY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxF RDoKLQkJY3RsIHw9IFBMQU5FX0NUTF9USUxFRF9ZOwotCQlicmVhazsKLQljYXNlIEk5MTVfRk9S TUFUX01PRF9ZZl9USUxFRDoKLQkJY3RsIHw9IFBMQU5FX0NUTF9USUxFRF9ZRjsKLQkJYnJlYWs7 Ci0JZGVmYXVsdDoKLQkJTUlTU0lOR19DQVNFKGZiLT5tb2RpZmllclswXSk7Ci0JfQotCi0JLyoK LQkgKiBUaGUgc3RyaWRlIGlzIGVpdGhlciBleHByZXNzZWQgYXMgYSBtdWx0aXBsZSBvZiA2NCBi eXRlcyBjaHVua3MgZm9yCi0JICogbGluZWFyIGJ1ZmZlcnMgb3IgaW4gbnVtYmVyIG9mIHRpbGVz IGZvciB0aWxlZCBidWZmZXJzLgotCSAqLwotCWlmIChpbnRlbF9yb3RhdGlvbl85MF9vcl8yNzAo cm90YXRpb24pKSB7Ci0JCS8qIHN0cmlkZSA9IFN1cmZhY2UgaGVpZ2h0IGluIHRpbGVzICovCi0J CXRpbGVfaGVpZ2h0ID0gaW50ZWxfdGlsZV9oZWlnaHQoZGV2X3ByaXYsIGZiLT5tb2RpZmllclsw XSwgMCk7Ci0JCXN0cmlkZSA9IERJVl9ST1VORF9VUChmYi0+aGVpZ2h0LCB0aWxlX2hlaWdodCk7 Ci0JfSBlbHNlIHsKLQkJc3RyaWRlID0gZmItPnBpdGNoZXNbMF0gLwotCQkJaW50ZWxfZmJfc3Ry aWRlX2FsaWdubWVudChkZXZfcHJpdiwgZmItPm1vZGlmaWVyWzBdLAotCQkJCQkJICBmYi0+cGl4 ZWxfZm9ybWF0KTsKLQl9Ci0KLQkvKgotCSAqIEJvdGggUExBTkVfQ1RMIGFuZCBQTEFORV9TVFJJ REUgYXJlIG5vdCB1cGRhdGVkIG9uIHZibGFuayBidXQgb24KLQkgKiBQTEFORV9TVVJGIHVwZGF0 ZXMsIHRoZSB1cGRhdGUgaXMgdGhlbiBndWFyYW50ZWVkIHRvIGJlIGF0b21pYy4KLQkgKi8KLQlJ OTE1X1dSSVRFKFBMQU5FX0NUTChwaXBlLCAwKSwgY3RsKTsKLQlJOTE1X1dSSVRFKFBMQU5FX1NU UklERShwaXBlLCAwKSwgc3RyaWRlKTsKLQotCUk5MTVfV1JJVEUoUExBTkVfU1VSRihwaXBlLCAw KSwgd29yay0+Z3R0X29mZnNldCk7Ci0JUE9TVElOR19SRUFEKFBMQU5FX1NVUkYocGlwZSwgMCkp OwotfQotCi1zdGF0aWMgdm9pZCBpbGtfZG9fbW1pb19mbGlwKHN0cnVjdCBpbnRlbF9jcnRjICpp bnRlbF9jcnRjLAotCQkJICAgICBzdHJ1Y3QgaW50ZWxfZmxpcF93b3JrICp3b3JrKQotewotCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9jcnRjLT5iYXNlLmRldjsKLQlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwotCXN0cnVjdCBpbnRl bF9mcmFtZWJ1ZmZlciAqaW50ZWxfZmIgPQotCQl0b19pbnRlbF9mcmFtZWJ1ZmZlcihpbnRlbF9j cnRjLT5iYXNlLnByaW1hcnktPmZiKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq ID0gaW50ZWxfZmItPm9iajsKLQlpOTE1X3JlZ190IHJlZyA9IERTUENOVFIoaW50ZWxfY3J0Yy0+ cGxhbmUpOwotCXUzMiBkc3BjbnRyOwotCi0JZHNwY250ciA9IEk5MTVfUkVBRChyZWcpOwotCi0J aWYgKG9iai0+dGlsaW5nX21vZGUgIT0gSTkxNV9USUxJTkdfTk9ORSkKLQkJZHNwY250ciB8PSBE SVNQUExBTkVfVElMRUQ7Ci0JZWxzZQotCQlkc3BjbnRyICY9IH5ESVNQUExBTkVfVElMRUQ7Ci0K LQlJOTE1X1dSSVRFKHJlZywgZHNwY250cik7Ci0KLQlJOTE1X1dSSVRFKERTUFNVUkYoaW50ZWxf Y3J0Yy0+cGxhbmUpLCB3b3JrLT5ndHRfb2Zmc2V0KTsKLQlQT1NUSU5HX1JFQUQoRFNQU1VSRihp bnRlbF9jcnRjLT5wbGFuZSkpOwotfQotCiBzdGF0aWMgdm9pZCBpbnRlbF9tbWlvX2ZsaXBfd29y a19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqdykKIHsKIAlzdHJ1Y3QgaW50ZWxfZmxpcF93b3Jr ICp3b3JrID0KIAkJY29udGFpbmVyX29mKHcsIHN0cnVjdCBpbnRlbF9mbGlwX3dvcmssIG1taW9f d29yayk7CiAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHdvcmstPmNy dGMpOwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9mcmFtZWJ1ZmZlciAqaW50ZWxfZmIgPQotCQl0b19p bnRlbF9mcmFtZWJ1ZmZlcihjcnRjLT5iYXNlLnByaW1hcnktPmZiKTsKLQlzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqID0gaW50ZWxfZmItPm9iajsKKwlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnByaW1hcnkgPSB0b19p bnRlbF9wbGFuZShjcnRjLT5iYXNlLnByaW1hcnkpOworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmogPSBpbnRlbF9mYl9vYmoocHJpbWFyeS0+YmFzZS5zdGF0ZS0+ZmIpOwogCiAJaWYg KHdvcmstPmZsaXBfcXVldWVkX3JlcSkKIAkJV0FSTl9PTihfX2k5MTVfd2FpdF9yZXF1ZXN0KHdv cmstPmZsaXBfcXVldWVkX3JlcSwKQEAgLTExNDg5LDEzICsxMTQxMiw5IEBAIHN0YXRpYyB2b2lk IGludGVsX21taW9fZmxpcF93b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICp3KQogCQkJCQkJ CSAgICBNQVhfU0NIRURVTEVfVElNRU9VVCkgPCAwKTsKIAogCWludGVsX3BpcGVfdXBkYXRlX3N0 YXJ0KGNydGMpOwotCi0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKLQkJc2tsX2RvX21t aW9fZmxpcChjcnRjLCB3b3JrLT5yb3RhdGlvbiwgd29yayk7Ci0JZWxzZQotCQkvKiB1c2VfbW1p b19mbGlwKCkgcmV0cmljdHMgTU1JTyBmbGlwcyB0byBpbGsrICovCi0JCWlsa19kb19tbWlvX2Zs aXAoY3J0Yywgd29yayk7Ci0KKwlwcmltYXJ5LT51cGRhdGVfcGxhbmUoJnByaW1hcnktPmJhc2Us CisJCQkgICAgICB3b3JrLT5uZXdfY3J0Y19zdGF0ZSwKKwkJCSAgICAgIHRvX2ludGVsX3BsYW5l X3N0YXRlKHByaW1hcnktPmJhc2Uuc3RhdGUpKTsKIAlpbnRlbF9waXBlX3VwZGF0ZV9lbmQoY3J0 Yywgd29yayk7CiB9CiAKQEAgLTExNjIyLDYgKzExNTQxLDggQEAgc3RhdGljIGludCBpbnRlbF9j cnRjX3BhZ2VfZmxpcChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJaWYgKHdvcmsgPT0gTlVMTCkK IAkJcmV0dXJuIC1FTk9NRU07CiAKKwl3b3JrLT5uZXdfY3J0Y19zdGF0ZSA9IHRvX2ludGVsX2Ny dGNfc3RhdGUoY3J0Yy0+c3RhdGUpOworCiAJd29yay0+ZXZlbnQgPSBldmVudDsKIAl3b3JrLT5j cnRjID0gY3J0YzsKIAl3b3JrLT5vbGRfZmIgPSBvbGRfZmI7CkBAIC0xMTcyMCw3ICsxMTY0MSw2 IEBAIHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRj LAogCXdvcmstPmd0dF9vZmZzZXQgPSBpbnRlbF9wbGFuZV9vYmpfb2Zmc2V0KHRvX2ludGVsX3Bs YW5lKHByaW1hcnkpLAogCQkJCQkJICBvYmosIDApOwogCXdvcmstPmd0dF9vZmZzZXQgKz0gaW50 ZWxfY3J0Yy0+ZHNwYWRkcl9vZmZzZXQ7Ci0Jd29yay0+cm90YXRpb24gPSBjcnRjLT5wcmltYXJ5 LT5zdGF0ZS0+cm90YXRpb247CiAKIAlpZiAobW1pb19mbGlwKSB7CiAJCUlOSVRfV09SSygmd29y ay0+bW1pb193b3JrLCBpbnRlbF9tbWlvX2ZsaXBfd29ya19mdW5jKTsKQEAgLTEzNzc5LDYgKzEz Njk5LDIwIEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAogCQkJbW9kZXNldF9wdXRfcG93ZXJfZG9tYWlucyhkZXZfcHJpdiwgcHV0X2RvbWFp bnNbaV0pOwogCiAJCWludGVsX21vZGVzZXRfdmVyaWZ5X2NydGMoY3J0Yywgb2xkX2NydGNfc3Rh dGUsIGNydGMtPnN0YXRlKTsKKworCQlpZiAoc3RhdGUtPmxlZ2FjeV9jdXJzb3JfdXBkYXRlICYm CisJCSAgICB0b19pbnRlbF9jcnRjKGNydGMpLT5mbGlwX3dvcmspIHsKKwkJCXN0cnVjdCBpbnRl bF9mbGlwX3dvcmsgKndvcms7CisKKwkJCXNwaW5fbG9ja19pcnEoJmRldi0+ZXZlbnRfbG9jayk7 CisJCQl3b3JrID0gdG9faW50ZWxfY3J0YyhjcnRjKS0+ZmxpcF93b3JrOworCQkJaWYgKHdvcmsg JiYgJndvcmstPm5ld19jcnRjX3N0YXRlLT5iYXNlID09IG9sZF9jcnRjX3N0YXRlKSB7CisJCQkJ c3RhdGUtPmNydGNzW2ldID0gTlVMTDsKKwkJCQlzdGF0ZS0+Y3J0Y19zdGF0ZXNbaV0gPSBOVUxM OworCQkJCXdvcmstPmZyZWVfbmV3X2NydGNfc3RhdGUgPSB0cnVlOworCQkJfQorCQkJc3Bpbl91 bmxvY2tfaXJxKCZkZXYtPmV2ZW50X2xvY2spOworCQl9CiAJfQogCiAJaWYgKGludGVsX3N0YXRl LT5tb2Rlc2V0KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCA5YjVmNjYzNGM1NTguLmFi Nzc4MTkzYmNjZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTk3Niw2ICs5NzYsOSBA QCBzdHJ1Y3QgaW50ZWxfZmxpcF93b3JrIHsKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QgdW5waW5fd29y azsKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QgbW1pb193b3JrOwogCisJc3RydWN0IGludGVsX2NydGNf c3RhdGUgKm5ld19jcnRjX3N0YXRlOworCWJvb2wgZnJlZV9uZXdfY3J0Y19zdGF0ZTsKKwogCXN0 cnVjdCBkcm1fY3J0YyAqY3J0YzsKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbGRfZmI7CiAJ c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKnBlbmRpbmdfZmxpcF9vYmo7CkBAIC05ODYsNyAr OTg5LDYgQEAgc3RydWN0IGludGVsX2ZsaXBfd29yayB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICpmbGlwX3F1ZXVlZF9yZXE7CiAJdTMyIGZsaXBfcXVldWVkX3ZibGFuazsKIAl1MzIg ZmxpcF9yZWFkeV92Ymxhbms7Ci0JdW5zaWduZWQgaW50IHJvdGF0aW9uOwogfTsKIAogc3RydWN0 IGludGVsX2xvYWRfZGV0ZWN0X3BpcGUgewotLSAKMi41LjUKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=