From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH 17/20] drm/i915: Convert intel_pipe_will_have_type() to using atomic state Date: Fri, 20 Mar 2015 16:18:17 +0200 Message-ID: <1426861099-28445-18-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <1426861099-28445-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 9E02E6EC45 for ; Fri, 20 Mar 2015 07:19:54 -0700 (PDT) In-Reply-To: <1426861099-28445-1-git-send-email-ander.conselvan.de.oliveira@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: Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org UGFzcyBhIGNydGNfc3RhdGUgdG8gaXQgYW5kIGZpbmQgd2hldGhlciB0aGUgcGlwZSBoYXMgYW4g ZW5jb2RlciBvZiBhCmdpdmVuIHR5cGUgYnkgbG9va2luZyBhdCB0aGUgZHJtX2F0b21pY19zdGF0 ZSB0aGUgY3J0Y19zdGF0ZSBwb2ludHMgdG8uCgpVbnRpbCByZWNlbnRseSBpOXh4X2dldF9yZWZj bGsoKSB1c2VkIHRvIGJlIGNhbGxlZCBpbmRpcmVjdGx5IGZyb20Kdmx2X2ZvcmNlX3BsbF9vbigp IHdpdGggYSBkdW1teSBjcnRjX3N0YXRlLiBUaGF0IGR1bW15IGNydGMgc3RhdGUgaXMgbm90CmNv bnZlcnRlZCB0byBiZSBwYXJ0IG9mIGEgZnVsbCBkcm0gYXRvbWljIHN0YXRlLCBzbyBhZGQgYSBX QVJOIGluIGNhc2UKc29tZW9uZSBkZWNpZGVzIHRvIGNhbGwgdGhhdCBhZ2FpbiB3aXRoIGEgc3Vj aCBkdW1teSBzdGF0ZS4KCnYyOiBXYXJuIGlmIHRoZXJlIGlzIG5vIGNvbm5lY3RvcnMgZm9yIGEg Z2l2ZW4gY3J0Yy4gKERhbmllbCkKICAgIFJlcGxhY2UgY29tbWVudCBpOXh4X2dldF9yZWZjbGso KSB3aXRoIGEgV0FSTl9PTigpLiAoQW5kZXIpCgpTaWduZWQtb2ZmLWJ5OiBBbmRlciBDb25zZWx2 YW4gZGUgT2xpdmVpcmEgPGFuZGVyLmNvbnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRlbC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgICAyICstCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAxMzMgKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKSwgNTIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggN2M4YjBhZC4uYjcxZGVjMyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC01NDQsNyArNTQ0LDcgQEAgc3RydWN0IGRybV9p OTE1X2Rpc3BsYXlfZnVuY3MgewogCSAqIFJldHVybnMgdHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZSBv biBmYWlsdXJlLgogCSAqLwogCWJvb2wgKCpmaW5kX2RwbGwpKGNvbnN0IHN0cnVjdCBpbnRlbF9s aW1pdCAqbGltaXQsCi0JCQkgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAorCQkJICBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgaW50IHRhcmdldCwgaW50IHJlZmNs aywKIAkJCSAgc3RydWN0IGRwbGwgKm1hdGNoX2Nsb2NrLAogCQkJICBzdHJ1Y3QgZHBsbCAqYmVz dF9jbG9jayk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggYWJmYjdhOS4u MjZmNGQzMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtNDMxLDI1ICs0 MzEsNDEgQEAgYm9vbCBpbnRlbF9waXBlX2hhc190eXBlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRj LCBlbnVtIGludGVsX291dHB1dF90eXBlIHR5cGUpCiAgKiBpbnRlbF9waXBlX2hhc190eXBlKCkg YnV0IGxvb2tpbmcgYXQgZW5jb2Rlci0+bmV3X2NydGMgaW5zdGVhZCBvZgogICogZW5jb2Rlci0+ Y3J0Yy4KICAqLwotc3RhdGljIGJvb2wgaW50ZWxfcGlwZV93aWxsX2hhdmVfdHlwZShzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YywgaW50IHR5cGUpCitzdGF0aWMgYm9vbCBpbnRlbF9waXBlX3dpbGxf aGF2ZV90eXBlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAorCQkJ CSAgICAgIGludCB0eXBlKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNl LmRldjsKKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNl LnN0YXRlOworCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uZWN0b3Jfc3RhdGU7CiAJ c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXI7CisJaW50IGksIG51bV9jb25uZWN0b3JzID0g MDsKKworCWZvciAoaSA9IDA7IGkgPCBzdGF0ZS0+bnVtX2Nvbm5lY3RvcjsgaSsrKSB7CisJCWlm ICghc3RhdGUtPmNvbm5lY3RvcnNbaV0pCisJCQljb250aW51ZTsKKworCQljb25uZWN0b3Jfc3Rh dGUgPSBzdGF0ZS0+Y29ubmVjdG9yX3N0YXRlc1tpXTsKKwkJaWYgKGNvbm5lY3Rvcl9zdGF0ZS0+ Y3J0YyAhPSBjcnRjX3N0YXRlLT5iYXNlLmNydGMpCisJCQljb250aW51ZTsKKworCQludW1fY29u bmVjdG9ycysrOwogCi0JZm9yX2VhY2hfaW50ZWxfZW5jb2RlcihkZXYsIGVuY29kZXIpCi0JCWlm IChlbmNvZGVyLT5uZXdfY3J0YyA9PSBjcnRjICYmIGVuY29kZXItPnR5cGUgPT0gdHlwZSkKKwkJ ZW5jb2RlciA9IHRvX2ludGVsX2VuY29kZXIoY29ubmVjdG9yX3N0YXRlLT5iZXN0X2VuY29kZXIp OworCQlpZiAoZW5jb2Rlci0+dHlwZSA9PSB0eXBlKQogCQkJcmV0dXJuIHRydWU7CisJfQorCisJ V0FSTl9PTihudW1fY29ubmVjdG9ycyA9PSAwKTsKIAogCXJldHVybiBmYWxzZTsKIH0KIAotc3Rh dGljIGNvbnN0IGludGVsX2xpbWl0X3QgKmludGVsX2lyb25sYWtlX2xpbWl0KHN0cnVjdCBpbnRl bF9jcnRjICpjcnRjLAotCQkJCQkJaW50IHJlZmNsaykKK3N0YXRpYyBjb25zdCBpbnRlbF9saW1p dF90ICoKK2ludGVsX2lyb25sYWtlX2xpbWl0KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlLCBpbnQgcmVmY2xrKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5i YXNlLmRldjsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Y19zdGF0ZS0+YmFzZS5jcnRj LT5kZXY7CiAJY29uc3QgaW50ZWxfbGltaXRfdCAqbGltaXQ7CiAKLQlpZiAoaW50ZWxfcGlwZV93 aWxsX2hhdmVfdHlwZShjcnRjLCBJTlRFTF9PVVRQVVRfTFZEUykpIHsKKwlpZiAoaW50ZWxfcGlw ZV93aWxsX2hhdmVfdHlwZShjcnRjX3N0YXRlLCBJTlRFTF9PVVRQVVRfTFZEUykpIHsKIAkJaWYg KGludGVsX2lzX2R1YWxfbGlua19sdmRzKGRldikpIHsKIAkJCWlmIChyZWZjbGsgPT0gMTAwMDAw KQogCQkJCWxpbWl0ID0gJmludGVsX2xpbWl0c19pcm9ubGFrZV9kdWFsX2x2ZHNfMTAwbTsKQEAg LTQ2NywyMCArNDgzLDIxIEBAIHN0YXRpYyBjb25zdCBpbnRlbF9saW1pdF90ICppbnRlbF9pcm9u bGFrZV9saW1pdChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAlyZXR1cm4gbGltaXQ7CiB9CiAK LXN0YXRpYyBjb25zdCBpbnRlbF9saW1pdF90ICppbnRlbF9nNHhfbGltaXQoc3RydWN0IGludGVs X2NydGMgKmNydGMpCitzdGF0aWMgY29uc3QgaW50ZWxfbGltaXRfdCAqCitpbnRlbF9nNHhfbGlt aXQoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2OworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBj cnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldjsKIAljb25zdCBpbnRlbF9saW1pdF90ICpsaW1pdDsK IAotCWlmIChpbnRlbF9waXBlX3dpbGxfaGF2ZV90eXBlKGNydGMsIElOVEVMX09VVFBVVF9MVkRT KSkgeworCWlmIChpbnRlbF9waXBlX3dpbGxfaGF2ZV90eXBlKGNydGNfc3RhdGUsIElOVEVMX09V VFBVVF9MVkRTKSkgewogCQlpZiAoaW50ZWxfaXNfZHVhbF9saW5rX2x2ZHMoZGV2KSkKIAkJCWxp bWl0ID0gJmludGVsX2xpbWl0c19nNHhfZHVhbF9jaGFubmVsX2x2ZHM7CiAJCWVsc2UKIAkJCWxp bWl0ID0gJmludGVsX2xpbWl0c19nNHhfc2luZ2xlX2NoYW5uZWxfbHZkczsKLQl9IGVsc2UgaWYg KGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0YywgSU5URUxfT1VUUFVUX0hETUkpIHx8Ci0J CSAgIGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0YywgSU5URUxfT1VUUFVUX0FOQUxPRykp IHsKKwl9IGVsc2UgaWYgKGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0Y19zdGF0ZSwgSU5U RUxfT1VUUFVUX0hETUkpIHx8CisJCSAgIGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0Y19z dGF0ZSwgSU5URUxfT1VUUFVUX0FOQUxPRykpIHsKIAkJbGltaXQgPSAmaW50ZWxfbGltaXRzX2c0 eF9oZG1pOwotCX0gZWxzZSBpZiAoaW50ZWxfcGlwZV93aWxsX2hhdmVfdHlwZShjcnRjLCBJTlRF TF9PVVRQVVRfU0RWTykpIHsKKwl9IGVsc2UgaWYgKGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUo Y3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX1NEVk8pKSB7CiAJCWxpbWl0ID0gJmludGVsX2xpbWl0 c19nNHhfc2R2bzsKIAl9IGVsc2UgLyogVGhlIG9wdGlvbiBpcyBmb3Igb3RoZXIgb3V0cHV0cyAq LwogCQlsaW1pdCA9ICZpbnRlbF9saW1pdHNfaTl4eF9zZHZvOwpAQCAtNDg4LDE3ICs1MDUsMTgg QEAgc3RhdGljIGNvbnN0IGludGVsX2xpbWl0X3QgKmludGVsX2c0eF9saW1pdChzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YykKIAlyZXR1cm4gbGltaXQ7CiB9CiAKLXN0YXRpYyBjb25zdCBpbnRlbF9s aW1pdF90ICppbnRlbF9saW1pdChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywgaW50IHJlZmNsaykK K3N0YXRpYyBjb25zdCBpbnRlbF9saW1pdF90ICoKK2ludGVsX2xpbWl0KHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLCBpbnQgcmVmY2xrKQogewotCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Y19z dGF0ZS0+YmFzZS5jcnRjLT5kZXY7CiAJY29uc3QgaW50ZWxfbGltaXRfdCAqbGltaXQ7CiAKIAlp ZiAoSEFTX1BDSF9TUExJVChkZXYpKQotCQlsaW1pdCA9IGludGVsX2lyb25sYWtlX2xpbWl0KGNy dGMsIHJlZmNsayk7CisJCWxpbWl0ID0gaW50ZWxfaXJvbmxha2VfbGltaXQoY3J0Y19zdGF0ZSwg cmVmY2xrKTsKIAllbHNlIGlmIChJU19HNFgoZGV2KSkgewotCQlsaW1pdCA9IGludGVsX2c0eF9s aW1pdChjcnRjKTsKKwkJbGltaXQgPSBpbnRlbF9nNHhfbGltaXQoY3J0Y19zdGF0ZSk7CiAJfSBl bHNlIGlmIChJU19QSU5FVklFVyhkZXYpKSB7Ci0JCWlmIChpbnRlbF9waXBlX3dpbGxfaGF2ZV90 eXBlKGNydGMsIElOVEVMX09VVFBVVF9MVkRTKSkKKwkJaWYgKGludGVsX3BpcGVfd2lsbF9oYXZl X3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0xWRFMpKQogCQkJbGltaXQgPSAmaW50ZWxf bGltaXRzX3BpbmV2aWV3X2x2ZHM7CiAJCWVsc2UKIAkJCWxpbWl0ID0gJmludGVsX2xpbWl0c19w aW5ldmlld19zZHZvOwpAQCAtNTA3LDE0ICs1MjUsMTQgQEAgc3RhdGljIGNvbnN0IGludGVsX2xp bWl0X3QgKmludGVsX2xpbWl0KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLCBpbnQgcmVmY2xrKQog CX0gZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXYpKSB7CiAJCWxpbWl0ID0gJmludGVsX2xpbWl0 c192bHY7CiAJfSBlbHNlIGlmICghSVNfR0VOMihkZXYpKSB7Ci0JCWlmIChpbnRlbF9waXBlX3dp bGxfaGF2ZV90eXBlKGNydGMsIElOVEVMX09VVFBVVF9MVkRTKSkKKwkJaWYgKGludGVsX3BpcGVf d2lsbF9oYXZlX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0xWRFMpKQogCQkJbGltaXQg PSAmaW50ZWxfbGltaXRzX2k5eHhfbHZkczsKIAkJZWxzZQogCQkJbGltaXQgPSAmaW50ZWxfbGlt aXRzX2k5eHhfc2R2bzsKIAl9IGVsc2UgewotCQlpZiAoaW50ZWxfcGlwZV93aWxsX2hhdmVfdHlw ZShjcnRjLCBJTlRFTF9PVVRQVVRfTFZEUykpCisJCWlmIChpbnRlbF9waXBlX3dpbGxfaGF2ZV90 eXBlKGNydGNfc3RhdGUsIElOVEVMX09VVFBVVF9MVkRTKSkKIAkJCWxpbWl0ID0gJmludGVsX2xp bWl0c19pOHh4X2x2ZHM7Ci0JCWVsc2UgaWYgKGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0 YywgSU5URUxfT1VUUFVUX0RWTykpCisJCWVsc2UgaWYgKGludGVsX3BpcGVfd2lsbF9oYXZlX3R5 cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0RWTykpCiAJCQlsaW1pdCA9ICZpbnRlbF9saW1p dHNfaTh4eF9kdm87CiAJCWVsc2UKIAkJCWxpbWl0ID0gJmludGVsX2xpbWl0c19pOHh4X2RhYzsK QEAgLTYwMSwxNSArNjE5LDE3IEBAIHN0YXRpYyBib29sIGludGVsX1BMTF9pc192YWxpZChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAogfQogCiBzdGF0aWMgYm9vbAotaTl4eF9maW5kX2Jlc3RfZHBs bChjb25zdCBpbnRlbF9saW1pdF90ICpsaW1pdCwgc3RydWN0IGludGVsX2NydGMgKmNydGMsCitp OXh4X2ZpbmRfYmVzdF9kcGxsKGNvbnN0IGludGVsX2xpbWl0X3QgKmxpbWl0LAorCQkgICAgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCSAgICBpbnQgdGFyZ2V0LCBpbnQg cmVmY2xrLCBpbnRlbF9jbG9ja190ICptYXRjaF9jbG9jaywKIAkJICAgIGludGVsX2Nsb2NrX3Qg KmJlc3RfY2xvY2spCiB7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRj KGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMt PmJhc2UuZGV2OwogCWludGVsX2Nsb2NrX3QgY2xvY2s7CiAJaW50IGVyciA9IHRhcmdldDsKIAot CWlmIChpbnRlbF9waXBlX3dpbGxfaGF2ZV90eXBlKGNydGMsIElOVEVMX09VVFBVVF9MVkRTKSkg eworCWlmIChpbnRlbF9waXBlX3dpbGxfaGF2ZV90eXBlKGNydGNfc3RhdGUsIElOVEVMX09VVFBV VF9MVkRTKSkgewogCQkvKgogCQkgKiBGb3IgTFZEUyBqdXN0IHJlbHkgb24gaXRzIGN1cnJlbnQg c2V0dGluZ3MgZm9yIGR1YWwtY2hhbm5lbC4KIAkJICogV2UgaGF2ZW4ndCBmaWd1cmVkIG91dCBo b3cgdG8gcmVsaWFibHkgc2V0IHVwIGRpZmZlcmVudApAQCAtNjYyLDE1ICs2ODIsMTcgQEAgaTl4 eF9maW5kX2Jlc3RfZHBsbChjb25zdCBpbnRlbF9saW1pdF90ICpsaW1pdCwgc3RydWN0IGludGVs X2NydGMgKmNydGMsCiB9CiAKIHN0YXRpYyBib29sCi1wbnZfZmluZF9iZXN0X2RwbGwoY29uc3Qg aW50ZWxfbGltaXRfdCAqbGltaXQsIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAorcG52X2ZpbmRf YmVzdF9kcGxsKGNvbnN0IGludGVsX2xpbWl0X3QgKmxpbWl0LAorCQkgICBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICAgaW50IHRhcmdldCwgaW50IHJlZmNsaywgaW50 ZWxfY2xvY2tfdCAqbWF0Y2hfY2xvY2ssCiAJCSAgIGludGVsX2Nsb2NrX3QgKmJlc3RfY2xvY2sp CiB7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PmJhc2UuY3J0Yyk7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2Owog CWludGVsX2Nsb2NrX3QgY2xvY2s7CiAJaW50IGVyciA9IHRhcmdldDsKIAotCWlmIChpbnRlbF9w aXBlX3dpbGxfaGF2ZV90eXBlKGNydGMsIElOVEVMX09VVFBVVF9MVkRTKSkgeworCWlmIChpbnRl bF9waXBlX3dpbGxfaGF2ZV90eXBlKGNydGNfc3RhdGUsIElOVEVMX09VVFBVVF9MVkRTKSkgewog CQkvKgogCQkgKiBGb3IgTFZEUyBqdXN0IHJlbHkgb24gaXRzIGN1cnJlbnQgc2V0dGluZ3MgZm9y IGR1YWwtY2hhbm5lbC4KIAkJICogV2UgaGF2ZW4ndCBmaWd1cmVkIG91dCBob3cgdG8gcmVsaWFi bHkgc2V0IHVwIGRpZmZlcmVudApAQCAtNzIxLDEwICs3NDMsMTIgQEAgcG52X2ZpbmRfYmVzdF9k cGxsKGNvbnN0IGludGVsX2xpbWl0X3QgKmxpbWl0LCBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywK IH0KIAogc3RhdGljIGJvb2wKLWc0eF9maW5kX2Jlc3RfZHBsbChjb25zdCBpbnRlbF9saW1pdF90 ICpsaW1pdCwgc3RydWN0IGludGVsX2NydGMgKmNydGMsCitnNHhfZmluZF9iZXN0X2RwbGwoY29u c3QgaW50ZWxfbGltaXRfdCAqbGltaXQsCisJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlLAogCQkgICBpbnQgdGFyZ2V0LCBpbnQgcmVmY2xrLCBpbnRlbF9jbG9ja190ICpt YXRjaF9jbG9jaywKIAkJICAgaW50ZWxfY2xvY2tfdCAqYmVzdF9jbG9jaykKIHsKKwlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsK IAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJaW50ZWxfY2xvY2tf dCBjbG9jazsKIAlpbnQgbWF4X247CkBAIC03MzMsNyArNzU3LDcgQEAgZzR4X2ZpbmRfYmVzdF9k cGxsKGNvbnN0IGludGVsX2xpbWl0X3QgKmxpbWl0LCBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywK IAlpbnQgZXJyX21vc3QgPSAodGFyZ2V0ID4+IDgpICsgKHRhcmdldCA+PiA5KTsKIAlmb3VuZCA9 IGZhbHNlOwogCi0JaWYgKGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0YywgSU5URUxfT1VU UFVUX0xWRFMpKSB7CisJaWYgKGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0Y19zdGF0ZSwg SU5URUxfT1VUUFVUX0xWRFMpKSB7CiAJCWlmIChpbnRlbF9pc19kdWFsX2xpbmtfbHZkcyhkZXYp KQogCQkJY2xvY2sucDIgPSBsaW1pdC0+cDIucDJfZmFzdDsKIAkJZWxzZQpAQCAtNzc4LDEwICs4 MDIsMTIgQEAgZzR4X2ZpbmRfYmVzdF9kcGxsKGNvbnN0IGludGVsX2xpbWl0X3QgKmxpbWl0LCBz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIH0KIAogc3RhdGljIGJvb2wKLXZsdl9maW5kX2Jlc3Rf ZHBsbChjb25zdCBpbnRlbF9saW1pdF90ICpsaW1pdCwgc3RydWN0IGludGVsX2NydGMgKmNydGMs Cit2bHZfZmluZF9iZXN0X2RwbGwoY29uc3QgaW50ZWxfbGltaXRfdCAqbGltaXQsCisJCSAgIHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkgICBpbnQgdGFyZ2V0LCBpbnQg cmVmY2xrLCBpbnRlbF9jbG9ja190ICptYXRjaF9jbG9jaywKIAkJICAgaW50ZWxfY2xvY2tfdCAq YmVzdF9jbG9jaykKIHsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMo Y3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ YmFzZS5kZXY7CiAJaW50ZWxfY2xvY2tfdCBjbG9jazsKIAl1bnNpZ25lZCBpbnQgYmVzdHBwbSA9 IDEwMDAwMDA7CkBAIC04MzUsMTAgKzg2MSwxMiBAQCB2bHZfZmluZF9iZXN0X2RwbGwoY29uc3Qg aW50ZWxfbGltaXRfdCAqbGltaXQsIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogfQogCiBzdGF0 aWMgYm9vbAotY2h2X2ZpbmRfYmVzdF9kcGxsKGNvbnN0IGludGVsX2xpbWl0X3QgKmxpbWl0LCBz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKK2Nodl9maW5kX2Jlc3RfZHBsbChjb25zdCBpbnRlbF9s aW1pdF90ICpsaW1pdCwKKwkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs CiAJCSAgIGludCB0YXJnZXQsIGludCByZWZjbGssIGludGVsX2Nsb2NrX3QgKm1hdGNoX2Nsb2Nr LAogCQkgICBpbnRlbF9jbG9ja190ICpiZXN0X2Nsb2NrKQogeworCXN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwogCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKIAlpbnRlbF9jbG9ja190IGNsb2NrOwog CXVpbnQ2NF90IG0yOwpAQCAtNTcyNSw3ICs1NzUzLDcgQEAgc3RhdGljIGludCBpbnRlbF9jcnRj X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCSAqIC0gTFZEUyBkdWFs IGNoYW5uZWwgbW9kZQogCSAqIC0gRG91YmxlIHdpZGUgcGlwZQogCSAqLwotCWlmICgoaW50ZWxf cGlwZV93aWxsX2hhdmVfdHlwZShjcnRjLCBJTlRFTF9PVVRQVVRfTFZEUykgJiYKKwlpZiAoKGlu dGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUocGlwZV9jb25maWcsIElOVEVMX09VVFBVVF9MVkRTKSAm JgogCSAgICAgaW50ZWxfaXNfZHVhbF9saW5rX2x2ZHMoZGV2KSkgfHwgcGlwZV9jb25maWctPmRv dWJsZV93aWRlKQogCQlwaXBlX2NvbmZpZy0+cGlwZV9zcmNfdyAmPSB+MTsKIApAQCAtNTkwNCwx NSArNTkzMiwxOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfcGFuZWxfdXNlX3NzYyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCSYmICEoZGV2X3ByaXYtPnF1aXJrcyAm IFFVSVJLX0xWRFNfU1NDX0RJU0FCTEUpOwogfQogCi1zdGF0aWMgaW50IGk5eHhfZ2V0X3JlZmNs ayhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywgaW50IG51bV9jb25uZWN0b3JzKQorc3RhdGljIGlu dCBpOXh4X2dldF9yZWZjbGsoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUsCisJCQkgICBpbnQgbnVtX2Nvbm5lY3RvcnMpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGNydGMtPmJhc2UuZGV2OworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjX3N0YXRl LT5iYXNlLmNydGMtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwogCWludCByZWZjbGs7CiAKKwlXQVJOX09OKCFjcnRjX3N0YXRlLT5i YXNlLnN0YXRlKTsKKwogCWlmIChJU19WQUxMRVlWSUVXKGRldikpIHsKIAkJcmVmY2xrID0gMTAw MDAwOwotCX0gZWxzZSBpZiAoaW50ZWxfcGlwZV93aWxsX2hhdmVfdHlwZShjcnRjLCBJTlRFTF9P VVRQVVRfTFZEUykgJiYKKwl9IGVsc2UgaWYgKGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0 Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0xWRFMpICYmCiAJICAgIGludGVsX3BhbmVsX3VzZV9zc2Mo ZGV2X3ByaXYpICYmIG51bV9jb25uZWN0b3JzIDwgMikgewogCQlyZWZjbGsgPSBkZXZfcHJpdi0+ dmJ0Lmx2ZHNfc3NjX2ZyZXE7CiAJCURSTV9ERUJVR19LTVMoInVzaW5nIFNTQyByZWZlcmVuY2Ug Y2xvY2sgb2YgJWQga0h6XG4iLCByZWZjbGspOwpAQCAtNTk1NSw3ICs1OTg2LDcgQEAgc3RhdGlj IHZvaWQgaTl4eF91cGRhdGVfcGxsX2RpdmlkZXJzKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAog CWNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUuZnAwID0gZnA7CiAKIAljcnRjLT5sb3dmcmVxX2F2 YWlsID0gZmFsc2U7Ci0JaWYgKGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0YywgSU5URUxf T1VUUFVUX0xWRFMpICYmCisJaWYgKGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0Y19zdGF0 ZSwgSU5URUxfT1VUUFVUX0xWRFMpICYmCiAJICAgIHJlZHVjZWRfY2xvY2sgJiYgaTkxNS5wb3dl cnNhdmUpIHsKIAkJY3J0Y19zdGF0ZS0+ZHBsbF9od19zdGF0ZS5mcDEgPSBmcDI7CiAJCWNydGMt Pmxvd2ZyZXFfYXZhaWwgPSB0cnVlOwpAQCAtNjMxMyw2ICs2MzQ0LDcgQEAgdm9pZCB2bHZfZm9y Y2VfcGxsX29uKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlLAogCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0KIAkJdG9faW50ZWxfY3J0YyhpbnRlbF9nZXRfY3J0Y19mb3Jf cGlwZShkZXYsIHBpcGUpKTsKIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSBwaXBlX2NvbmZpZyA9 IHsKKwkJLmJhc2UuY3J0YyA9ICZjcnRjLT5iYXNlLAogCQkucGl4ZWxfbXVsdGlwbGllciA9IDEs CiAJCS5kcGxsID0gKmRwbGwsCiAJfTsKQEAgLTYzNTcsMTIgKzYzODksMTIgQEAgc3RhdGljIHZv aWQgaTl4eF91cGRhdGVfcGxsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCiAJaTl4eF91cGRh dGVfcGxsX2RpdmlkZXJzKGNydGMsIGNydGNfc3RhdGUsIHJlZHVjZWRfY2xvY2spOwogCi0JaXNf c2R2byA9IGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0YywgSU5URUxfT1VUUFVUX1NEVk8p IHx8Ci0JCWludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0YywgSU5URUxfT1VUUFVUX0hETUkp OworCWlzX3Nkdm8gPSBpbnRlbF9waXBlX3dpbGxfaGF2ZV90eXBlKGNydGNfc3RhdGUsIElOVEVM X09VVFBVVF9TRFZPKSB8fAorCQlpbnRlbF9waXBlX3dpbGxfaGF2ZV90eXBlKGNydGNfc3RhdGUs IElOVEVMX09VVFBVVF9IRE1JKTsKIAogCWRwbGwgPSBEUExMX1ZHQV9NT0RFX0RJUzsKIAotCWlm IChpbnRlbF9waXBlX3dpbGxfaGF2ZV90eXBlKGNydGMsIElOVEVMX09VVFBVVF9MVkRTKSkKKwlp ZiAoaW50ZWxfcGlwZV93aWxsX2hhdmVfdHlwZShjcnRjX3N0YXRlLCBJTlRFTF9PVVRQVVRfTFZE UykpCiAJCWRwbGwgfD0gRFBMTEJfTU9ERV9MVkRTOwogCWVsc2UKIAkJZHBsbCB8PSBEUExMQl9N T0RFX0RBQ19TRVJJQUw7CkBAIC02NDA1LDcgKzY0MzcsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X3Vw ZGF0ZV9wbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAKIAlpZiAoY3J0Y19zdGF0ZS0+c2R2 b190dl9jbG9jaykKIAkJZHBsbCB8PSBQTExfUkVGX0lOUFVUX1RWQ0xLSU5CQzsKLQllbHNlIGlm IChpbnRlbF9waXBlX3dpbGxfaGF2ZV90eXBlKGNydGMsIElOVEVMX09VVFBVVF9MVkRTKSAmJgor CWVsc2UgaWYgKGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VU UFVUX0xWRFMpICYmCiAJCSBpbnRlbF9wYW5lbF91c2Vfc3NjKGRldl9wcml2KSAmJiBudW1fY29u bmVjdG9ycyA8IDIpCiAJCWRwbGwgfD0gUExMQl9SRUZfSU5QVVRfU1BSRUFEU1BFQ1RSVU1JTjsK IAllbHNlCkBAIC02NDM1LDcgKzY0NjcsNyBAQCBzdGF0aWMgdm9pZCBpOHh4X3VwZGF0ZV9wbGwo c3RydWN0IGludGVsX2NydGMgKmNydGMsCiAKIAlkcGxsID0gRFBMTF9WR0FfTU9ERV9ESVM7CiAK LQlpZiAoaW50ZWxfcGlwZV93aWxsX2hhdmVfdHlwZShjcnRjLCBJTlRFTF9PVVRQVVRfTFZEUykp IHsKKwlpZiAoaW50ZWxfcGlwZV93aWxsX2hhdmVfdHlwZShjcnRjX3N0YXRlLCBJTlRFTF9PVVRQ VVRfTFZEUykpIHsKIAkJZHBsbCB8PSAoMSA8PCAoY2xvY2stPnAxIC0gMSkpIDw8IERQTExfRlBB MDFfUDFfUE9TVF9ESVZfU0hJRlQ7CiAJfSBlbHNlIHsKIAkJaWYgKGNsb2NrLT5wMSA9PSAyKQpA QCAtNjQ0NiwxMCArNjQ3OCwxMCBAQCBzdGF0aWMgdm9pZCBpOHh4X3VwZGF0ZV9wbGwoc3RydWN0 IGludGVsX2NydGMgKmNydGMsCiAJCQlkcGxsIHw9IFBMTF9QMl9ESVZJREVfQllfNDsKIAl9CiAK LQlpZiAoIUlTX0k4MzAoZGV2KSAmJiBpbnRlbF9waXBlX3dpbGxfaGF2ZV90eXBlKGNydGMsIElO VEVMX09VVFBVVF9EVk8pKQorCWlmICghSVNfSTgzMChkZXYpICYmIGludGVsX3BpcGVfd2lsbF9o YXZlX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0RWTykpCiAJCWRwbGwgfD0gRFBMTF9E Vk9fMlhfTU9ERTsKIAotCWlmIChpbnRlbF9waXBlX3dpbGxfaGF2ZV90eXBlKGNydGMsIElOVEVM X09VVFBVVF9MVkRTKSAmJgorCWlmIChpbnRlbF9waXBlX3dpbGxfaGF2ZV90eXBlKGNydGNfc3Rh dGUsIElOVEVMX09VVFBVVF9MVkRTKSAmJgogCQkgaW50ZWxfcGFuZWxfdXNlX3NzYyhkZXZfcHJp dikgJiYgbnVtX2Nvbm5lY3RvcnMgPCAyKQogCQlkcGxsIHw9IFBMTEJfUkVGX0lOUFVUX1NQUkVB RFNQRUNUUlVNSU47CiAJZWxzZQpAQCAtNjY4Niw3ICs2NzE4LDcgQEAgc3RhdGljIGludCBpOXh4 X2NydGNfY29tcHV0ZV9jbG9jayhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJcmV0dXJuIDA7 CiAKIAlpZiAoIWNydGNfc3RhdGUtPmNsb2NrX3NldCkgewotCQlyZWZjbGsgPSBpOXh4X2dldF9y ZWZjbGsoY3J0YywgbnVtX2Nvbm5lY3RvcnMpOworCQlyZWZjbGsgPSBpOXh4X2dldF9yZWZjbGso Y3J0Y19zdGF0ZSwgbnVtX2Nvbm5lY3RvcnMpOwogCiAJCS8qCiAJCSAqIFJldHVybnMgYSBzZXQg b2YgZGl2aXNvcnMgZm9yIHRoZSBkZXNpcmVkIHRhcmdldCBjbG9jayB3aXRoCkBAIC02Njk0LDgg KzY3MjYsOCBAQCBzdGF0aWMgaW50IGk5eHhfY3J0Y19jb21wdXRlX2Nsb2NrKHN0cnVjdCBpbnRl bF9jcnRjICpjcnRjLAogCQkgKiB0aGUgY2xvY2sgZXF1YXRpb246IHJlZmxjayAqICg1ICogKG0x ICsgMikgKyAobTIgKyAyKSkgLyAobiArCiAJCSAqIDIpIC8gcDEgLyBwMi4KIAkJICovCi0JCWxp bWl0ID0gaW50ZWxfbGltaXQoY3J0YywgcmVmY2xrKTsKLQkJb2sgPSBkZXZfcHJpdi0+ZGlzcGxh eS5maW5kX2RwbGwobGltaXQsIGNydGMsCisJCWxpbWl0ID0gaW50ZWxfbGltaXQoY3J0Y19zdGF0 ZSwgcmVmY2xrKTsKKwkJb2sgPSBkZXZfcHJpdi0+ZGlzcGxheS5maW5kX2RwbGwobGltaXQsIGNy dGNfc3RhdGUsCiAJCQkJCQkgY3J0Y19zdGF0ZS0+cG9ydF9jbG9jaywKIAkJCQkJCSByZWZjbGss IE5VTEwsICZjbG9jayk7CiAJCWlmICghb2spIHsKQEAgLTY3MTEsNyArNjc0Myw3IEBAIHN0YXRp YyBpbnQgaTl4eF9jcnRjX2NvbXB1dGVfY2xvY2soc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJ CQkgKiB3ZSB3aWxsIGRpc2FibGUgdGhlIExWRFMgZG93bmNsb2NrIGZlYXR1cmUuCiAJCQkgKi8K IAkJCWhhc19yZWR1Y2VkX2Nsb2NrID0KLQkJCQlkZXZfcHJpdi0+ZGlzcGxheS5maW5kX2RwbGwo bGltaXQsIGNydGMsCisJCQkJZGV2X3ByaXYtPmRpc3BsYXkuZmluZF9kcGxsKGxpbWl0LCBjcnRj X3N0YXRlLAogCQkJCQkJCSAgICBkZXZfcHJpdi0+bHZkc19kb3duY2xvY2ssCiAJCQkJCQkJICAg IHJlZmNsaywgJmNsb2NrLAogCQkJCQkJCSAgICAmcmVkdWNlZF9jbG9jayk7CkBAIC03NTM5LDEy ICs3NTcxLDExIEBAIHN0YXRpYyBib29sIGlyb25sYWtlX2NvbXB1dGVfY2xvY2tzKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owog CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0J c3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwogCWlu dCByZWZjbGs7CiAJY29uc3QgaW50ZWxfbGltaXRfdCAqbGltaXQ7CiAJYm9vbCByZXQsIGlzX2x2 ZHMgPSBmYWxzZTsKIAotCWlzX2x2ZHMgPSBpbnRlbF9waXBlX3dpbGxfaGF2ZV90eXBlKGludGVs X2NydGMsIElOVEVMX09VVFBVVF9MVkRTKTsKKwlpc19sdmRzID0gaW50ZWxfcGlwZV93aWxsX2hh dmVfdHlwZShjcnRjX3N0YXRlLCBJTlRFTF9PVVRQVVRfTFZEUyk7CiAKIAlyZWZjbGsgPSBpcm9u bGFrZV9nZXRfcmVmY2xrKGNydGMpOwogCkBAIC03NTUzLDggKzc1ODQsOCBAQCBzdGF0aWMgYm9v bCBpcm9ubGFrZV9jb21wdXRlX2Nsb2NrcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJICogcmVm Y2xrLCBvciBGQUxTRS4gIFRoZSByZXR1cm5lZCB2YWx1ZXMgcmVwcmVzZW50IHRoZSBjbG9jayBl cXVhdGlvbjoKIAkgKiByZWZsY2sgKiAoNSAqIChtMSArIDIpICsgKG0yICsgMikpIC8gKG4gKyAy KSAvIHAxIC8gcDIuCiAJICovCi0JbGltaXQgPSBpbnRlbF9saW1pdChpbnRlbF9jcnRjLCByZWZj bGspOwotCXJldCA9IGRldl9wcml2LT5kaXNwbGF5LmZpbmRfZHBsbChsaW1pdCwgaW50ZWxfY3J0 YywKKwlsaW1pdCA9IGludGVsX2xpbWl0KGNydGNfc3RhdGUsIHJlZmNsayk7CisJcmV0ID0gZGV2 X3ByaXYtPmRpc3BsYXkuZmluZF9kcGxsKGxpbWl0LCBjcnRjX3N0YXRlLAogCQkJCQkgIGNydGNf c3RhdGUtPnBvcnRfY2xvY2ssCiAJCQkJCSAgcmVmY2xrLCBOVUxMLCBjbG9jayk7CiAJaWYgKCFy ZXQpCkBAIC03NTY4LDcgKzc1OTksNyBAQCBzdGF0aWMgYm9vbCBpcm9ubGFrZV9jb21wdXRlX2Ns b2NrcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCSAqIGRvd25jbG9jayBmZWF0dXJlLgogCQkq LwogCQkqaGFzX3JlZHVjZWRfY2xvY2sgPQotCQkJZGV2X3ByaXYtPmRpc3BsYXkuZmluZF9kcGxs KGxpbWl0LCBpbnRlbF9jcnRjLAorCQkJZGV2X3ByaXYtPmRpc3BsYXkuZmluZF9kcGxsKGxpbWl0 LCBjcnRjX3N0YXRlLAogCQkJCQkJICAgIGRldl9wcml2LT5sdmRzX2Rvd25jbG9jaywKIAkJCQkJ CSAgICByZWZjbGssIGNsb2NrLAogCQkJCQkJICAgIHJlZHVjZWRfY2xvY2spOwotLSAKMi4xLjAK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==