From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH v2 13/16] drm/i915/gen9: Propagate watermark calculation failures up the call chain Date: Tue, 19 Apr 2016 19:26:20 -0700 Message-ID: <1461119183-14267-14-git-send-email-matthew.d.roper@intel.com> References: <1461119183-14267-1-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 9A73C6E8B8 for ; Wed, 20 Apr 2016 02:27:49 +0000 (UTC) In-Reply-To: <1461119183-14267-1-git-send-email-matthew.d.roper@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 T25jZSB3ZSBtb3ZlIHdhdGVybWFyayBjYWxjdWxhdGlvbiB0byB0aGUgYXRvbWljIGNoZWNrIHBo YXNlLCB3ZSdsbCB3YW50CnRvIHN0YXJ0IHJlamVjdGluZyBkaXNwbGF5IGNvbmZpZ3VyYXRpb25z IHRoYXQgZXhjZWVkIG91dCB3YXRlcm1hcmsKbGltaXRzLiAgQXQgdGhlIG1vbWVudCB3ZSBqdXN0 IGFzc3VtZSB0aGF0IHRoZXJlJ3MgYWx3YXlzIGEgdmFsaWQgc2V0IG9mCndhdGVybWFya3MsIGV2 ZW4gdGhvdWdoIHRoaXMgbWF5IG5vdCBhY3R1YWxseSBiZSB0cnVlLiAgTGV0J3MgcHJlcGFyZSBi eQpwYXNzaW5nIHJldHVybiBjb2RlcyB1cCB0aHJvdWdoIHRoZSBjYWxsIHN0YWNrIGluIHByZXBh cmF0aW9uLgoKU2lnbmVkLW9mZi1ieTogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVs LmNvbT4KUmV2aWV3ZWQtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBs aW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j IHwgMTAgKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgIHwgOTAgKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDYxIGlu c2VydGlvbnMoKyksIDM5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwppbmRleCA4MGQ4Zjc3Li43ZThmYTg4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCkBAIC0xMzMxMiw3ICsxMzMxMiw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfbW9kZXNldF9j aGVja3Moc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogICogcGhhc2UuICBUaGUgY29k ZSBoZXJlIHNob3VsZCBiZSBydW4gYWZ0ZXIgdGhlIHBlci1jcnRjIGFuZCBwZXItcGxhbmUgJ2No ZWNrJwogICogaGFuZGxlcnMgdG8gZW5zdXJlIHRoYXQgYWxsIGRlcml2ZWQgc3RhdGUgaGFzIGJl ZW4gdXBkYXRlZC4KICAqLwotc3RhdGljIHZvaWQgY2FsY193YXRlcm1hcmtfZGF0YShzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCitzdGF0aWMgaW50IGNhbGNfd2F0ZXJtYXJrX2RhdGEo c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBzdGF0ZS0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZGV2KTsKQEAgLTEzMzQ4LDcgKzEzMzQ4LDkgQEAgc3RhdGljIHZvaWQgY2FsY193YXRl cm1hcmtfZGF0YShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAKIAkvKiBJcyB0aGVy ZSBwbGF0Zm9ybS1zcGVjaWZpYyB3YXRlcm1hcmsgaW5mb3JtYXRpb24gdG8gY2FsY3VsYXRlPyAq LwogCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5jb21wdXRlX2dsb2JhbF93YXRlcm1hcmtzKQotCQlk ZXZfcHJpdi0+ZGlzcGxheS5jb21wdXRlX2dsb2JhbF93YXRlcm1hcmtzKHN0YXRlKTsKKwkJcmV0 dXJuIGRldl9wcml2LT5kaXNwbGF5LmNvbXB1dGVfZ2xvYmFsX3dhdGVybWFya3Moc3RhdGUpOwor CisJcmV0dXJuIDA7CiB9CiAKIC8qKgpAQCAtMTM0MzIsOSArMTM0MzQsNyBAQCBzdGF0aWMgaW50 IGludGVsX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlyZXR1cm4gcmV0 OwogCiAJaW50ZWxfZmJjX2Nob29zZV9jcnRjKGRldl9wcml2LCBzdGF0ZSk7Ci0JY2FsY193YXRl cm1hcmtfZGF0YShzdGF0ZSk7Ci0KLQlyZXR1cm4gMDsKKwlyZXR1cm4gY2FsY193YXRlcm1hcmtf ZGF0YShzdGF0ZSk7CiB9CiAKIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX3ByZXBhcmVfY29tbWl0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRleCAyMWZk ZTA1Li5mMDcwNTRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKQEAgLTMyNDEsMTMgKzMyNDEs MTQgQEAgc3RhdGljIGJvb2wgc2tsX2RkYl9hbGxvY2F0aW9uX2NoYW5nZWQoY29uc3Qgc3RydWN0 IHNrbF9kZGJfYWxsb2NhdGlvbiAqbmV3X2RkYiwKIAlyZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRp YyBib29sIHNrbF9jb21wdXRlX3BsYW5lX3dtKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKLQkJCQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKLQkJCQkg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICppbnRlbF9wc3RhdGUsCi0JCQkJIHVpbnQxNl90IGRk Yl9hbGxvY2F0aW9uLAotCQkJCSBpbnQgbGV2ZWwsCi0JCQkJIHVpbnQxNl90ICpvdXRfYmxvY2tz LCAvKiBvdXQgKi8KLQkJCQkgdWludDhfdCAqb3V0X2xpbmVzIC8qIG91dCAqLykKK3N0YXRpYyBp bnQgc2tsX2NvbXB1dGVfcGxhbmVfd20oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAorCQkJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCisJCQkJc3RydWN0 IGludGVsX3BsYW5lX3N0YXRlICppbnRlbF9wc3RhdGUsCisJCQkJdWludDE2X3QgZGRiX2FsbG9j YXRpb24sCisJCQkJaW50IGxldmVsLAorCQkJCXVpbnQxNl90ICpvdXRfYmxvY2tzLCAvKiBvdXQg Ki8KKwkJCQl1aW50OF90ICpvdXRfbGluZXMsIC8qIG91dCAqLworCQkJCWJvb2wgKmVuYWJsZWQg Lyogb3V0ICovKQogewogCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBzdGF0ZSA9ICZpbnRlbF9w c3RhdGUtPmJhc2U7CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwc3RhdGUtPmZiOwpA QCAtMzI1OSw4ICszMjYwLDEwIEBAIHN0YXRpYyBib29sIHNrbF9jb21wdXRlX3BsYW5lX3dtKGNv bnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAl1aW50OF90IGNwcDsKIAl1 aW50MzJfdCB3aWR0aCA9IDAsIGhlaWdodCA9IDA7CiAKLQlpZiAobGF0ZW5jeSA9PSAwIHx8ICFj c3RhdGUtPmJhc2UuYWN0aXZlIHx8ICFpbnRlbF9wc3RhdGUtPnZpc2libGUpCi0JCXJldHVybiBm YWxzZTsKKwlpZiAobGF0ZW5jeSA9PSAwIHx8ICFjc3RhdGUtPmJhc2UuYWN0aXZlIHx8ICFpbnRl bF9wc3RhdGUtPnZpc2libGUpIHsKKwkJKmVuYWJsZWQgPSBmYWxzZTsKKwkJcmV0dXJuIDA7CisJ fQogCiAJd2lkdGggPSBkcm1fcmVjdF93aWR0aCgmaW50ZWxfcHN0YXRlLT5zcmMpID4+IDE2Owog CWhlaWdodCA9IGRybV9yZWN0X2hlaWdodCgmaW50ZWxfcHN0YXRlLT5zcmMpID4+IDE2OwpAQCAt MzMyMSwxMyArMzMyNCwxNiBAQCBzdGF0aWMgYm9vbCBza2xfY29tcHV0ZV9wbGFuZV93bShjb25z dCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQlyZXNfYmxvY2tzKys7CiAJ fQogCi0JaWYgKHJlc19ibG9ja3MgPj0gZGRiX2FsbG9jYXRpb24gfHwgcmVzX2xpbmVzID4gMzEp Ci0JCXJldHVybiBmYWxzZTsKKwlpZiAocmVzX2Jsb2NrcyA+PSBkZGJfYWxsb2NhdGlvbiB8fCBy ZXNfbGluZXMgPiAzMSkgeworCQkqZW5hYmxlZCA9IGZhbHNlOworCQlyZXR1cm4gMDsKKwl9CiAK IAkqb3V0X2Jsb2NrcyA9IHJlc19ibG9ja3M7CiAJKm91dF9saW5lcyA9IHJlc19saW5lczsKKwkq ZW5hYmxlZCA9IHRydWU7CiAKLQlyZXR1cm4gdHJ1ZTsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGlj IGludApAQCAtMzM0NSw2ICszMzUxLDcgQEAgc2tsX2NvbXB1dGVfd21fbGV2ZWwoY29uc3Qgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0 ZSAqaW50ZWxfcHN0YXRlOwogCXVpbnQxNl90IGRkYl9ibG9ja3M7CiAJZW51bSBwaXBlIHBpcGUg PSBpbnRlbF9jcnRjLT5waXBlOworCWludCByZXQ7CiAKIAlmb3JfZWFjaF9pbnRlbF9wbGFuZV9v bl9jcnRjKGRldiwgaW50ZWxfY3J0YywgaW50ZWxfcGxhbmUpIHsKIAkJaW50IGkgPSBza2xfd21f cGxhbmVfaWQoaW50ZWxfcGxhbmUpOwpAQCAtMzM3NCwxMyArMzM4MSwxNiBAQCBza2xfY29tcHV0 ZV93bV9sZXZlbChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAkJ ZGRiX2Jsb2NrcyA9IHNrbF9kZGJfZW50cnlfc2l6ZSgmZGRiLT5wbGFuZVtwaXBlXVtpXSk7CiAK LQkJcmVzdWx0LT5wbGFuZV9lbltpXSA9IHNrbF9jb21wdXRlX3BsYW5lX3dtKGRldl9wcml2LAot CQkJCQkJY3N0YXRlLAotCQkJCQkJaW50ZWxfcHN0YXRlLAotCQkJCQkJZGRiX2Jsb2NrcywKLQkJ CQkJCWxldmVsLAotCQkJCQkJJnJlc3VsdC0+cGxhbmVfcmVzX2JbaV0sCi0JCQkJCQkmcmVzdWx0 LT5wbGFuZV9yZXNfbFtpXSk7CisJCXJldCA9IHNrbF9jb21wdXRlX3BsYW5lX3dtKGRldl9wcml2 LAorCQkJCQkgICBjc3RhdGUsCisJCQkJCSAgIGludGVsX3BzdGF0ZSwKKwkJCQkJICAgZGRiX2Js b2NrcywKKwkJCQkJICAgbGV2ZWwsCisJCQkJCSAgICZyZXN1bHQtPnBsYW5lX3Jlc19iW2ldLAor CQkJCQkgICAmcmVzdWx0LT5wbGFuZV9yZXNfbFtpXSwKKwkJCQkJICAgJnJlc3VsdC0+cGxhbmVf ZW5baV0pOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKIAl9CiAKIAlyZXR1cm4gMDsKQEAg LTM0MTcsMjEgKzM0MjcsMjYgQEAgc3RhdGljIHZvaWQgc2tsX2NvbXB1dGVfdHJhbnNpdGlvbl93 bShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlLAogCX0KIH0KIAotc3RhdGljIHZvaWQg c2tsX2J1aWxkX3BpcGVfd20oc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKLQkJCSAg ICAgIHN0cnVjdCBza2xfZGRiX2FsbG9jYXRpb24gKmRkYiwKLQkJCSAgICAgIHN0cnVjdCBza2xf cGlwZV93bSAqcGlwZV93bSkKK3N0YXRpYyBpbnQgc2tsX2J1aWxkX3BpcGVfd20oc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKKwkJCSAgICAgc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlv biAqZGRiLAorCQkJICAgICBzdHJ1Y3Qgc2tsX3BpcGVfd20gKnBpcGVfd20pCiB7CiAJc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGNzdGF0ZS0+YmFzZS5jcnRjLT5kZXY7CiAJY29uc3Qgc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlpbnQgbGV2 ZWwsIG1heF9sZXZlbCA9IGlsa193bV9tYXhfbGV2ZWwoZGV2KTsKKwlpbnQgcmV0OwogCiAJZm9y IChsZXZlbCA9IDA7IGxldmVsIDw9IG1heF9sZXZlbDsgbGV2ZWwrKykgewotCQlza2xfY29tcHV0 ZV93bV9sZXZlbChkZXZfcHJpdiwgZGRiLCBjc3RhdGUsCi0JCQkJICAgICBsZXZlbCwgJnBpcGVf d20tPndtW2xldmVsXSk7CisJCXJldCA9IHNrbF9jb21wdXRlX3dtX2xldmVsKGRldl9wcml2LCBk ZGIsIGNzdGF0ZSwKKwkJCQkJICAgbGV2ZWwsICZwaXBlX3dtLT53bVtsZXZlbF0pOworCQlpZiAo cmV0KQorCQkJcmV0dXJuIHJldDsKIAl9CiAJcGlwZV93bS0+bGluZXRpbWUgPSBza2xfY29tcHV0 ZV9saW5ldGltZV93bShjc3RhdGUpOwogCiAJc2tsX2NvbXB1dGVfdHJhbnNpdGlvbl93bShjc3Rh dGUsICZwaXBlX3dtLT50cmFuc193bSk7CisKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQg c2tsX2NvbXB1dGVfd21fcmVzdWx0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LApAQCAtMzY3OCwy MSArMzY5MywyNyBAQCBzdGF0aWMgdm9pZCBza2xfZmx1c2hfd21fdmFsdWVzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAl9CiB9CiAKLXN0YXRpYyBib29sIHNrbF91cGRhdGVf cGlwZV93bShzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNzdGF0ZSwKLQkJCSAgICAgICBzdHJ1Y3Qg c2tsX2RkYl9hbGxvY2F0aW9uICpkZGIsIC8qIG91dCAqLwotCQkJICAgICAgIHN0cnVjdCBza2xf cGlwZV93bSAqcGlwZV93bSAvKiBvdXQgKi8pCitzdGF0aWMgaW50IHNrbF91cGRhdGVfcGlwZV93 bShzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNzdGF0ZSwKKwkJCSAgICAgIHN0cnVjdCBza2xfZGRi X2FsbG9jYXRpb24gKmRkYiwgLyogb3V0ICovCisJCQkgICAgICBzdHJ1Y3Qgc2tsX3BpcGVfd20g KnBpcGVfd20sIC8qIG91dCAqLworCQkJICAgICAgYm9vbCAqY2hhbmdlZCAvKiBvdXQgKi8pCiB7 CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNzdGF0ZS0+ Y3J0Yyk7CiAJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmludGVsX2NzdGF0ZSA9IHRvX2ludGVs X2NydGNfc3RhdGUoY3N0YXRlKTsKKwlpbnQgcmV0OwogCi0Jc2tsX2J1aWxkX3BpcGVfd20oaW50 ZWxfY3N0YXRlLCBkZGIsIHBpcGVfd20pOworCXJldCA9IHNrbF9idWlsZF9waXBlX3dtKGludGVs X2NzdGF0ZSwgZGRiLCBwaXBlX3dtKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OwogCiAJaWYg KCFtZW1jbXAoJmludGVsX2NydGMtPndtLmFjdGl2ZS5za2wsIHBpcGVfd20sIHNpemVvZigqcGlw ZV93bSkpKQotCQlyZXR1cm4gZmFsc2U7CisJCSpjaGFuZ2VkID0gZmFsc2U7CisJZWxzZQorCQkq Y2hhbmdlZCA9IHRydWU7CiAKIAlpbnRlbF9jcnRjLT53bS5hY3RpdmUuc2tsID0gKnBpcGVfd207 CiAKLQlyZXR1cm4gdHJ1ZTsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQgc2tsX3VwZGF0 ZV9vdGhlcl9waXBlX3dtKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCkBAIC0zNzI1LDggKzM3NDYs OCBAQCBzdGF0aWMgdm9pZCBza2xfdXBkYXRlX290aGVyX3BpcGVfd20oc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKIAkJaWYgKCFpbnRlbF9jcnRjLT5hY3RpdmUpCiAJCQljb250aW51ZTsKIAotCQl3 bV9jaGFuZ2VkID0gc2tsX3VwZGF0ZV9waXBlX3dtKGludGVsX2NydGMtPmJhc2Uuc3RhdGUsCi0J CQkJCQkmci0+ZGRiLCAmcGlwZV93bSk7CisJCXNrbF91cGRhdGVfcGlwZV93bShpbnRlbF9jcnRj LT5iYXNlLnN0YXRlLAorCQkJCSAgICZyLT5kZGIsICZwaXBlX3dtLCAmd21fY2hhbmdlZCk7CiAK IAkJLyoKIAkJICogSWYgd2UgZW5kIHVwIHJlLWNvbXB1dGluZyB0aGUgb3RoZXIgcGlwZSBXTSB2 YWx1ZXMsIGl0J3MKQEAgLTM4MjcsMTQgKzM4NDgsMTUgQEAgc3RhdGljIHZvaWQgc2tsX3VwZGF0 ZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJc3RydWN0IHNrbF93bV92YWx1ZXMgKnJlc3Vs dHMgPSAmZGV2X3ByaXYtPndtLnNrbF9yZXN1bHRzOwogCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKIAlzdHJ1Y3Qgc2ts X3BpcGVfd20gKnBpcGVfd20gPSAmY3N0YXRlLT53bS5za2wub3B0aW1hbDsKLQorCWJvb2wgd21f Y2hhbmdlZDsKIAogCS8qIENsZWFyIGFsbCBkaXJ0eSBmbGFncyAqLwogCXJlc3VsdHMtPmRpcnR5 X3BpcGVzID0gMDsKIAogCXNrbF9jbGVhcl93bShyZXN1bHRzLCBpbnRlbF9jcnRjLT5waXBlKTsK IAotCWlmICghc2tsX3VwZGF0ZV9waXBlX3dtKGNydGMtPnN0YXRlLCAmcmVzdWx0cy0+ZGRiLCBw aXBlX3dtKSkKKwlza2xfdXBkYXRlX3BpcGVfd20oY3J0Yy0+c3RhdGUsICZyZXN1bHRzLT5kZGIs IHBpcGVfd20sICZ3bV9jaGFuZ2VkKTsKKwlpZiAoIXdtX2NoYW5nZWQpCiAJCXJldHVybjsKIAog CXNrbF9jb21wdXRlX3dtX3Jlc3VsdHMoZGV2LCBwaXBlX3dtLCByZXN1bHRzLCBpbnRlbF9jcnRj KTsKLS0gCjIuMS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK