From mboxrd@z Thu Jan 1 00:00:00 1970 From: Animesh Manna Subject: [PATCH v4 5/8] drm/i915/skl: Add DC6 Trigger sequence. Date: Thu, 16 Apr 2015 14:22:11 +0530 Message-ID: <1429174334-12089-6-git-send-email-animesh.manna@intel.com> References: <1429174334-12089-1-git-send-email-animesh.manna@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 ESMTP id 17D7A6E9A0 for ; Thu, 16 Apr 2015 00:56:38 -0700 (PDT) In-Reply-To: <1429174334-12089-1-git-send-email-animesh.manna@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: Suketu Shah List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU3VrZXR1IFNoYWggPHN1a2V0dS5qLnNoYWhAaW50ZWwuY29tPgoKQWRkIHRyaWdnZXJz IGZvciBEQzYgYXMgcGVyIGRldGFpbHMgcHJvdmlkZWQgaW4gc2tsX2VuYWJsZV9kYzYKYW5kIHNr bF9kaXNhYmxlX2RjNiBpbXBsZW1lbnRhdGlvbnMuCgpBbHNvIENhbGwgUE9TVElOR19SRUFEIGZv ciBldmVyeSB3cml0ZSB0byBhIHJlZ2lzdGVyIHRvIGVuc3VyZQppdCBpcyB3cml0dGVuIHRvIGlt bWVkaWF0ZWx5Cgp2MTogUmVtb3ZlIFBPU1RJTkdfUkVBRCBhbmQgaW50ZWxfcHJlcGFyZV9kZGkg Y2FsbHMgYXMgdGhleSd2ZSBiZWVuIGFkZGVkIGluIHByZXZpb3VzIHBhdGNoZXMuCgp2MjoKMV0g UmVtb3ZlIGNoZWNrIGZvciBiYWNrbGlnaHQgZGlzYWJsZWQgYXMgaXQgc2hvdWxkIGJlIHRoZSBj YXNlIGJ5IHRoYXQgdGltZS4KMl0gTWFyayBEQzUgYXMgZGlzYWJsZWQgd2hlbiBlbmFibGluZyBE QzYuCjNdIFJldHVybiBmcm9tIERDNS1kaXNhYmxpbmcgZnVuY3Rpb24gZWFybHkgaWYgREM1IGlz IGFscmVhZHkgYmUgZGlzYWJsZWQgd2hpY2ggY2FuIGhhcHBlbgogICBkdWUgdG8gREM2LWVuYWJs aW5nIGVhcmxpZXIuCjNdIEVuc3VyZSBDU1IgZmlybXdhcmUgaXMgbG9hZGVkIGFmdGVyIHJlc3Vt ZSBmcm9tIERDNiBhcyBjb3JyZXNwb25kaW5nIG1lbW9yeSBjb250ZW50cyB3b24ndAogICBiZSBy ZXRhaW5lZCBhZnRlciBydW50aW1lLXN1c3BlbmQuCjRdIEVuc3VyZSB0aGF0IENTUiBpc24ndCBp ZGVudGlmaWVkIGFzIGxvYWRlZCBiZWZvcmUgQ1NSLWxvYWRpbmcgcHJvZ3JhbSBpcyBjYWxsZWQg ZHVyaW5nCiAgIHJ1bnRpbWUtcmVzdW1lLgoKdjM6IFJlYmFzZSB0byBsYXRlc3QKTW9kaWZpZWQg YXMgcGVyIHJldmlldyBjb21tZW50cyBmcm9tIEltcmUgYW5kIGFmdGVyIGRpc2N1c3Npb24gd2l0 aCBBcnQ6CjFdIERDNiBzaG91bGQgYmUgcHJlZmVyYWJseSBlbmFibGVkIHdoZW4gUEcyIGlzIGRp c2FibGVkIGJ5IFNXIGFzIHRoZSBjaGVjayBmb3IgUEcxIGJlaW5nCiAgIGRpc2FibGVkIGlzIHRh a2VuIG9mIGJ5IEhXIHRvIGVudGVyIERDNiwgYW5kIGRpc2FibGVkIHdoZW4gUEcyIGlzIGVuYWJs ZWQgcmVzcGVjdGl2ZWx5LgogICBUaGlzIGhlbHBzIHNhdmUgbW9yZSBwb3dlciwgZXNwZWNpYWxs eSBpbiB0aGUgY2FzZSB3aGVuIGRpc3BsYXkgaXMgZGlzYWJsZWQgYnV0IEdUIGlzCiAgIGVuYWJs ZWQuIEFjY29yZGluZ2x5LCByZXBsYWNpbmcgREM1IHRyaWdnZXIgc2VxdWVuY2Ugd2l0aCBEQzYg Zm9yIFNLTC4KMl0gREM2IGNvdWxkIGJlIGVuYWJsZWQgZnJvbSBpbnRlbF9ydW50aW1lX3N1c3Bl bmQoKSBmdW5jdGlvbiwgaWYgREM1IGlzIGFscmVhZHkgZW5hYmxlZC4KM10gTW92ZSBDU1ItbG9h ZC1zdGF0dXMgc2V0dGluZyBjb2RlIGZyb20gaW50ZWxfcnVudGltZV9zdXNwZW5kIGZ1bmN0aW9u IHRvIGEgbmV3IGZ1bmN0aW9uLgoKdjQ6CjFdIEVuYWJsZS9kaXNhYmxlIERDNiBvbmx5IHdoZW4g dG9nZ2xpbmcgdGhlIHBvd2VyLXdlbGwgdXNpbmcgYSBuZXdseSBkZWZpbmVkIG1hY3JvIEVOQUJM RV9EQzYuCgp2NToKMV0gTG9hZCBDU1Igb24gc3lzdGVtIHJlc3VtZSB0b28gYXMgZmlybXdhcmUg bWF5IGJlIGxvc3Qgb24gc3lzdGVtIHN1c3BlbmQgcHJldmVudGluZwogICBlbmFibGluZyBEQzUs IERDNi4KMl0gRERJIGJ1ZmZlcnMgc2hvdWxkbid0IGJlIHByb2dyYW1tZWQgZHVyaW5nIGRyaXZl ci1sb2FkL3Jlc3VtZSBhcyBpdCdzIGFscmVhZHkgZG9uZQogICBkdXJpbmcgbW9kZXNldCBpbml0 aWFsaXphdGlvbiB0aGVuIGFuZCBhbHNvIHRoYXQgdGhlIGVuY29kZXIgbGlzdCBpcyBzdGlsbCB1 bmluaXRpYWxpemVkIGJ5CiAgIHRoZW4uIFRoZXJlZm9yZSwgY2FsbCBpbnRlbF9wcmVwYXJlX2Rk aSBmdW5jdGlvbiByaWdodCBhZnRlciBkaXNhYmxpbmcgREM2IGJ1dCBvdXRzaWRlCiAgIHNrbF9k aXNhYmxlX2RjNiBmdW5jdGlvbiBhbmQgbm90IGR1cmluZyBkcml2ZXItbG9hZC9yZXN1bWUuCgp2 NjoKMV0gUmViYXNlIHRvIGxhdGVzdC4KMl0gTW92ZSBTS0xfRU5BQkxFX0RDNiBtYWNybyBkZWZp bml0aW9uIGZyb20gaW50ZWxfZGlzcGxheS5jIHRvIGludGVsX3J1bnRpbWVfcG0uYy4KCnY3Ogox KSBSZWZhY3RvcmVkIHRoZSBjb2RlIGZvciByZW1vdmluZyB0aGUgd2FybmluZyBnb3QgZnJvbSBj aGVja3BhdGNoLgoyKSBBZnRlciBhZGRpbmcgZG1jIHZlciAxLjAgc3VwcG9ydCByZWJhc2VkIG9u IHRvcCBvZiBuaWdodGx5LiAoQW5pbWVzaCkKCnY4OgotIFJldmVydGVkIHRoZSBjaGFuZ2VzIGRv bmUgaW4gdjcuCi0gUmVtb3ZlZCB0aGUgY29uZGl0aW9uIGNoZWNrIGluIHNrbF9wcmVwYXJlX3Jl c3VuZSgpLiAoQW5pbWVzaCkKCklzc3VlOiBWSVotMjgxOQpTaWduZWQtb2ZmLWJ5OiBBLlN1bmls IEthbWF0aCA8c3VuaWwua2FtYXRoQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogU3VrZXR1IFNo YWggPHN1a2V0dS5qLnNoYWhAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYW1pZW4gTGVzcGlh dSA8ZGFtaWVuLmxlc3BpYXVAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbmltZXNoIE1hbm5h IDxhbmltZXNoLm1hbm5hQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jICAgICAgICAgfCAzMCArKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIHwgNDMgKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggYWNkMGUyYi4uMGY1OTBlMyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5jCkBAIC01OTQsNiArNTk0LDggQEAgc3RhdGljIHZvaWQgaW50ZWxf c3VzcGVuZF9lbmNvZGVycyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiBzdGF0 aWMgaW50IGludGVsX3N1c3BlbmRfY29tcGxldGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KTsKIHN0YXRpYyBpbnQgdmx2X3Jlc3VtZV9wcmVwYXJlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKIAkJCSAgICAgIGJvb2wgcnBtX3Jlc3VtZSk7CitzdGF0aWMgaW50 IHNrbF9yZXN1bWVfcHJlcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwor CiAKIHN0YXRpYyBpbnQgaTkxNV9kcm1fc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQog ewpAQCAtODA4LDYgKzgxMCw4IEBAIHN0YXRpYyBpbnQgaTkxNV9kcm1fcmVzdW1lX2Vhcmx5KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAKIAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwgSVNf QlJPQURXRUxMKGRldl9wcml2KSkKIAkJaHN3X2Rpc2FibGVfcGM4KGRldl9wcml2KTsKKwllbHNl IGlmIChJU19TS1lMQUtFKGRldl9wcml2KSkKKwkJcmV0ID0gc2tsX3Jlc3VtZV9wcmVwYXJlKGRl dl9wcml2KTsKIAogCWludGVsX3VuY29yZV9zYW5pdGl6ZShkZXYpOwogCWludGVsX3Bvd2VyX2Rv bWFpbnNfaW5pdF9odyhkZXZfcHJpdik7CkBAIC0xMDIyLDYgKzEwMjYsMTkgQEAgc3RhdGljIGlu dCBpOTE1X3BtX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJcmV0dXJuIGk5MTVfZHJtX3Jl c3VtZShkcm1fZGV2KTsKIH0KIAorc3RhdGljIGludCBza2xfc3VzcGVuZF9jb21wbGV0ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJLyogRW5hYmxpbmcgREM2IGlzIG5v dCBhIGhhcmQgcmVxdWlyZW1lbnQgdG8gZW50ZXIgcnVudGltZSBEMyAqLworCisJLyoKKwkgKiBU aGlzIGlzIHRvIGVuc3VyZSB0aGF0IENTUiBpc24ndCBpZGVudGlmaWVkIGFzIGxvYWRlZCBiZWZv cmUKKwkgKiBDU1ItbG9hZGluZyBwcm9ncmFtIGlzIGNhbGxlZCBkdXJpbmcgcnVudGltZS1yZXN1 bWUuCisJICovCisJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZfcHJpdiwgRldfVU5JTklU SUFMSVpFRCk7CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBoc3dfc3VzcGVuZF9jb21w bGV0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJaHN3X2VuYWJsZV9w YzgoZGV2X3ByaXYpOwpAQCAtMTAyOSw2ICsxMDQ2LDE1IEBAIHN0YXRpYyBpbnQgaHN3X3N1c3Bl bmRfY29tcGxldGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXJldHVybiAw OwogfQogCitzdGF0aWMgaW50IHNrbF9yZXN1bWVfcHJlcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9wcml2LT5k ZXY7CisKKwlpbnRlbF9jc3JfbG9hZF9wcm9ncmFtKGRldik7CisKKwlyZXR1cm4gMDsKK30KKwog LyoKICAqIFNhdmUgYWxsIEd1bml0IHJlZ2lzdGVycyB0aGF0IG1heSBiZSBsb3N0IGFmdGVyIGEg RDMgYW5kIGEgc3Vic2VxdWVudAogICogUzBpW1IxMjNdIHRyYW5zaXRpb24uIFRoZSBsaXN0IG9m IHJlZ2lzdGVycyBuZWVkaW5nIGEgc2F2ZS9yZXN0b3JlIGlzCkBAIC0xNDg3LDYgKzE1MTMsOCBA QCBzdGF0aWMgaW50IGludGVsX3J1bnRpbWVfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldmljZSkK IAogCWlmIChJU19HRU42KGRldl9wcml2KSkKIAkJaW50ZWxfaW5pdF9wY2hfcmVmY2xrKGRldik7 CisJZWxzZSBpZiAoSVNfU0tZTEFLRShkZXYpKQorCQlyZXQgPSBza2xfcmVzdW1lX3ByZXBhcmUo ZGV2X3ByaXYpOwogCWVsc2UgaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8IElTX0JST0FEV0VM TChkZXZfcHJpdikpCiAJCWhzd19kaXNhYmxlX3BjOChkZXZfcHJpdik7CiAJZWxzZSBpZiAoSVNf VkFMTEVZVklFVyhkZXZfcHJpdikpCkBAIC0xNTE5LDYgKzE1NDcsOCBAQCBzdGF0aWMgaW50IGlu dGVsX3N1c3BlbmRfY29tcGxldGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQog CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2OwogCWludCByZXQ7CiAKKwlp ZiAoSVNfU0tZTEFLRShkZXYpKQorCQlyZXQgPSBza2xfc3VzcGVuZF9jb21wbGV0ZShkZXZfcHJp dik7CiAJaWYgKElTX0hBU1dFTEwoZGV2KSB8fCBJU19CUk9BRFdFTEwoZGV2KSkKIAkJcmV0ID0g aHN3X3N1c3BlbmRfY29tcGxldGUoZGV2X3ByaXYpOwogCWVsc2UgaWYgKElTX1ZBTExFWVZJRVco ZGV2KSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwppbmRleCBkYThjMThk Li43ZTY5MDhlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1l X3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCkBAIC00 OSw3ICs0OSw4IEBACiAgKiBwcmVzZW50IGZvciBhIGdpdmVuIHBsYXRmb3JtLgogICovCiAKLSNk ZWZpbmUgR0VOOV9FTkFCTEVfREM1KGRldikgKElTX1NLWUxBS0UoZGV2KSkKKyNkZWZpbmUgR0VO OV9FTkFCTEVfREM1KGRldikgMAorI2RlZmluZSBTS0xfRU5BQkxFX0RDNihkZXYpIElTX1NLWUxB S0UoZGV2KQogCiAjZGVmaW5lIGZvcl9lYWNoX3Bvd2VyX3dlbGwoaSwgcG93ZXJfd2VsbCwgZG9t YWluX21hc2ssIHBvd2VyX2RvbWFpbnMpCVwKIAlmb3IgKGkgPSAwOwkJCQkJCQlcCkBAIC0zOTcs NiArMzk4LDE2IEBAIHN0YXRpYyB2b2lkIGdlbjlfZGlzYWJsZV9kYzUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQogCVBPU1RJTkdfUkVBRChEQ19TVEFURV9FTik7CiB9CiAKK3N0 YXRpYyB2b2lkIHNrbF9lbmFibGVfZGM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKK3sKKwkvKiBUT0RPOiBJbXBsZW1lbnRhdGlvbiB0byBiZSBkb25lLiAqLworfQorCitzdGF0 aWMgdm9pZCBza2xfZGlzYWJsZV9kYzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQoreworCS8qIFRPRE86IEltcGxlbWVudGF0aW9uIHRvIGJlIGRvbmUuICovCit9CisKIHN0YXRp YyB2b2lkIHNrbF9zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJCQlzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpwb3dlcl93ZWxsLCBib29sIGVuYWJsZSkK IHsKQEAgLTQ0NCw5ICs0NTUsMjEgQEAgc3RhdGljIHZvaWQgc2tsX3NldF9wb3dlcl93ZWxsKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkhSTkxNV9SRUFEKEhTV19QV1Jf V0VMTF9CSU9TKSwKIAkJCQkiSW52YWxpZCBmb3IgcG93ZXIgd2VsbCBzdGF0dXMgdG8gYmUgZW5h YmxlZCwgdW5sZXNzIGRvbmUgYnkgdGhlIEJJT1MsIFwKIAkJCQl3aGVuIHJlcXVlc3QgaXMgdG8g ZGlzYWJsZSFcbiIpOwotCQkJaWYgKEdFTjlfRU5BQkxFX0RDNShkZXYpICYmCi0JCQkJcG93ZXJf d2VsbC0+ZGF0YSA9PSBTS0xfRElTUF9QV18yKQotCQkJCWdlbjlfZGlzYWJsZV9kYzUoZGV2X3By aXYpOworCQkJaWYgKChHRU45X0VOQUJMRV9EQzUoZGV2KSB8fCBTS0xfRU5BQkxFX0RDNihkZXYp KSAmJgorCQkJCXBvd2VyX3dlbGwtPmRhdGEgPT0gU0tMX0RJU1BfUFdfMikgeworCQkJCWlmIChT S0xfRU5BQkxFX0RDNihkZXYpKSB7CisJCQkJCXNrbF9kaXNhYmxlX2RjNihkZXZfcHJpdik7CisJ CQkJCS8qCisJCQkJCSAqIERESSBidWZmZXIgcHJvZ3JhbW1pbmcgdW5uZWNlc3NhcnkgZHVyaW5n IGRyaXZlci1sb2FkL3Jlc3VtZQorCQkJCQkgKiBhcyBpdCdzIGFscmVhZHkgZG9uZSBkdXJpbmcg bW9kZXNldCBpbml0aWFsaXphdGlvbiB0aGVuLgorCQkJCQkgKiBJdCdzIGFsc28gaW52YWxpZCBo ZXJlIGFzIGVuY29kZXIgbGlzdCBpcyBzdGlsbCB1bmluaXRpYWxpemVkLgorCQkJCQkgKi8KKwkJ CQkJaWYgKCFkZXZfcHJpdi0+cG93ZXJfZG9tYWlucy5pbml0aWFsaXppbmcpCisJCQkJCQlpbnRl bF9wcmVwYXJlX2RkaShkZXYpOworCQkJCX0gZWxzZSB7CisJCQkJCWdlbjlfZGlzYWJsZV9kYzUo ZGV2X3ByaXYpOworCQkJCX0KKwkJCX0KIAkJCUk5MTVfV1JJVEUoSFNXX1BXUl9XRUxMX0RSSVZF UiwgdG1wIHwgcmVxX21hc2spOwogCQl9CiAKQEAgLTQ2NCwxNyArNDg3LDIzIEBAIHN0YXRpYyB2 b2lkIHNrbF9zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAJCQlQT1NUSU5HX1JFQUQoSFNXX1BXUl9XRUxMX0RSSVZFUik7CiAJCQlEUk1fREVCVUdfS01T KCJEaXNhYmxpbmcgJXNcbiIsIHBvd2VyX3dlbGwtPm5hbWUpOwogCi0JCQlpZiAoR0VOOV9FTkFC TEVfREM1KGRldikgJiYKKwkJCWlmICgoR0VOOV9FTkFCTEVfREM1KGRldikgfHwgU0tMX0VOQUJM RV9EQzYoZGV2KSkgJiYKIAkJCQlwb3dlcl93ZWxsLT5kYXRhID09IFNLTF9ESVNQX1BXXzIpIHsK IAkJCQllbnVtIGNzcl9zdGF0ZSBzdGF0ZTsKLQorCQkJCS8qIFRPRE86IHdhaXQgZm9yIGEgY29t cGxldGlvbiBldmVudCBvcgorCQkJCSAqIHNpbWlsYXIgaGVyZSBpbnN0ZWFkIG9mIGJ1c3kKKwkJ CQkgKiB3YWl0aW5nIHVzaW5nIHdhaXRfZm9yIGZ1bmN0aW9uLgorCQkJCSAqLwogCQkJCXdhaXRf Zm9yKChzdGF0ZSA9IGludGVsX2Nzcl9sb2FkX3N0YXR1c19nZXQoZGV2X3ByaXYpKSAhPQogCQkJ CQkJRldfVU5JTklUSUFMSVpFRCwgMTAwMCk7CiAJCQkJaWYgKHN0YXRlICE9IEZXX0xPQURFRCkK IAkJCQkJRFJNX0VSUk9SKCJDU1IgZmlybXdhcmUgbm90IHJlYWR5ICglZClcbiIsCiAJCQkJCQkJ c3RhdGUpOwogCQkJCWVsc2UKLQkJCQkJZ2VuOV9lbmFibGVfZGM1KGRldl9wcml2KTsKKwkJCQkJ aWYgKFNLTF9FTkFCTEVfREM2KGRldikpCisJCQkJCQlza2xfZW5hYmxlX2RjNihkZXZfcHJpdik7 CisJCQkJCWVsc2UKKwkJCQkJCWdlbjlfZW5hYmxlX2RjNShkZXZfcHJpdik7CiAJCQl9CiAJCX0K IAl9Ci0tIAoyLjAuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK