From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [CI 14/17] drm/i915/gen9: Propagate watermark calculation failures up the call chain Date: Thu, 12 May 2016 07:06:08 -0700 Message-ID: <1463061971-19638-15-git-send-email-matthew.d.roper@intel.com> References: <1463061971-19638-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 DA6346E8C6 for ; Thu, 12 May 2016 14:07:09 +0000 (UTC) In-Reply-To: <1463061971-19638-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 YXkuYwppbmRleCAyOTQzNThjLi4zM2Y2YzRiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCkBAIC0xMzMxMCw3ICsxMzMxMCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfbW9kZXNldF9j aGVja3Moc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogICogcGhhc2UuICBUaGUgY29k ZSBoZXJlIHNob3VsZCBiZSBydW4gYWZ0ZXIgdGhlIHBlci1jcnRjIGFuZCBwZXItcGxhbmUgJ2No ZWNrJwogICogaGFuZGxlcnMgdG8gZW5zdXJlIHRoYXQgYWxsIGRlcml2ZWQgc3RhdGUgaGFzIGJl ZW4gdXBkYXRlZC4KICAqLwotc3RhdGljIHZvaWQgY2FsY193YXRlcm1hcmtfZGF0YShzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCitzdGF0aWMgaW50IGNhbGNfd2F0ZXJtYXJrX2RhdGEo c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBzdGF0ZS0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZGV2KTsKQEAgLTEzMzQ2LDcgKzEzMzQ2LDkgQEAgc3RhdGljIHZvaWQgY2FsY193YXRl cm1hcmtfZGF0YShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAKIAkvKiBJcyB0aGVy ZSBwbGF0Zm9ybS1zcGVjaWZpYyB3YXRlcm1hcmsgaW5mb3JtYXRpb24gdG8gY2FsY3VsYXRlPyAq LwogCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5jb21wdXRlX2dsb2JhbF93YXRlcm1hcmtzKQotCQlk ZXZfcHJpdi0+ZGlzcGxheS5jb21wdXRlX2dsb2JhbF93YXRlcm1hcmtzKHN0YXRlKTsKKwkJcmV0 dXJuIGRldl9wcml2LT5kaXNwbGF5LmNvbXB1dGVfZ2xvYmFsX3dhdGVybWFya3Moc3RhdGUpOwor CisJcmV0dXJuIDA7CiB9CiAKIC8qKgpAQCAtMTM0MzMsOSArMTM0MzUsNyBAQCBzdGF0aWMgaW50 IGludGVsX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlyZXR1cm4gcmV0 OwogCiAJaW50ZWxfZmJjX2Nob29zZV9jcnRjKGRldl9wcml2LCBzdGF0ZSk7Ci0JY2FsY193YXRl cm1hcmtfZGF0YShzdGF0ZSk7Ci0KLQlyZXR1cm4gMDsKKwlyZXR1cm4gY2FsY193YXRlcm1hcmtf ZGF0YShzdGF0ZSk7CiB9CiAKIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX3ByZXBhcmVfY29tbWl0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRleCAxNGMy YzNlLi4xZDg0MDdhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKQEAgLTMyMzgsMTMgKzMyMzgs MTQgQEAgc3RhdGljIGJvb2wgc2tsX2RkYl9hbGxvY2F0aW9uX2NoYW5nZWQoY29uc3Qgc3RydWN0 IHNrbF9kZGJfYWxsb2NhdGlvbiAqbmV3X2RkYiwKIAlyZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRp YyBib29sIHNrbF9jb21wdXRlX3BsYW5lX3dtKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKLQkJCQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKLQkJCQkg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICppbnRlbF9wc3RhdGUsCi0JCQkJIHVpbnQxNl90IGRk Yl9hbGxvY2F0aW9uLAotCQkJCSBpbnQgbGV2ZWwsCi0JCQkJIHVpbnQxNl90ICpvdXRfYmxvY2tz LCAvKiBvdXQgKi8KLQkJCQkgdWludDhfdCAqb3V0X2xpbmVzIC8qIG91dCAqLykKK3N0YXRpYyBp bnQgc2tsX2NvbXB1dGVfcGxhbmVfd20oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAorCQkJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCisJCQkJc3RydWN0 IGludGVsX3BsYW5lX3N0YXRlICppbnRlbF9wc3RhdGUsCisJCQkJdWludDE2X3QgZGRiX2FsbG9j YXRpb24sCisJCQkJaW50IGxldmVsLAorCQkJCXVpbnQxNl90ICpvdXRfYmxvY2tzLCAvKiBvdXQg Ki8KKwkJCQl1aW50OF90ICpvdXRfbGluZXMsIC8qIG91dCAqLworCQkJCWJvb2wgKmVuYWJsZWQg Lyogb3V0ICovKQogewogCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBzdGF0ZSA9ICZpbnRlbF9w c3RhdGUtPmJhc2U7CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwc3RhdGUtPmZiOwpA QCAtMzI1Niw4ICszMjU3LDEwIEBAIHN0YXRpYyBib29sIHNrbF9jb21wdXRlX3BsYW5lX3dtKGNv bnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAl1aW50OF90IGNwcDsKIAl1 aW50MzJfdCB3aWR0aCA9IDAsIGhlaWdodCA9IDA7CiAKLQlpZiAobGF0ZW5jeSA9PSAwIHx8ICFj c3RhdGUtPmJhc2UuYWN0aXZlIHx8ICFpbnRlbF9wc3RhdGUtPnZpc2libGUpCi0JCXJldHVybiBm YWxzZTsKKwlpZiAobGF0ZW5jeSA9PSAwIHx8ICFjc3RhdGUtPmJhc2UuYWN0aXZlIHx8ICFpbnRl bF9wc3RhdGUtPnZpc2libGUpIHsKKwkJKmVuYWJsZWQgPSBmYWxzZTsKKwkJcmV0dXJuIDA7CisJ fQogCiAJd2lkdGggPSBkcm1fcmVjdF93aWR0aCgmaW50ZWxfcHN0YXRlLT5zcmMpID4+IDE2Owog CWhlaWdodCA9IGRybV9yZWN0X2hlaWdodCgmaW50ZWxfcHN0YXRlLT5zcmMpID4+IDE2OwpAQCAt MzMxOCwxMyArMzMyMSwxNiBAQCBzdGF0aWMgYm9vbCBza2xfY29tcHV0ZV9wbGFuZV93bShjb25z dCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQlyZXNfYmxvY2tzKys7CiAJ fQogCi0JaWYgKHJlc19ibG9ja3MgPj0gZGRiX2FsbG9jYXRpb24gfHwgcmVzX2xpbmVzID4gMzEp Ci0JCXJldHVybiBmYWxzZTsKKwlpZiAocmVzX2Jsb2NrcyA+PSBkZGJfYWxsb2NhdGlvbiB8fCBy ZXNfbGluZXMgPiAzMSkgeworCQkqZW5hYmxlZCA9IGZhbHNlOworCQlyZXR1cm4gMDsKKwl9CiAK IAkqb3V0X2Jsb2NrcyA9IHJlc19ibG9ja3M7CiAJKm91dF9saW5lcyA9IHJlc19saW5lczsKKwkq ZW5hYmxlZCA9IHRydWU7CiAKLQlyZXR1cm4gdHJ1ZTsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGlj IGludApAQCAtMzM0Miw2ICszMzQ4LDcgQEAgc2tsX2NvbXB1dGVfd21fbGV2ZWwoY29uc3Qgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0 ZSAqaW50ZWxfcHN0YXRlOwogCXVpbnQxNl90IGRkYl9ibG9ja3M7CiAJZW51bSBwaXBlIHBpcGUg PSBpbnRlbF9jcnRjLT5waXBlOworCWludCByZXQ7CiAKIAkvKgogCSAqIFdlJ2xsIG9ubHkgY2Fs Y3VsYXRlIHdhdGVybWFya3MgZm9yIHBsYW5lcyB0aGF0IGFyZSBhY3R1YWxseQpAQCAtMzM3OSwx MyArMzM4NiwxNiBAQCBza2xfY29tcHV0ZV93bV9sZXZlbChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAkJZGRiX2Jsb2NrcyA9IHNrbF9kZGJfZW50cnlfc2l6ZSgm ZGRiLT5wbGFuZVtwaXBlXVtpXSk7CiAKLQkJcmVzdWx0LT5wbGFuZV9lbltpXSA9IHNrbF9jb21w dXRlX3BsYW5lX3dtKGRldl9wcml2LAotCQkJCQkJY3N0YXRlLAotCQkJCQkJaW50ZWxfcHN0YXRl LAotCQkJCQkJZGRiX2Jsb2NrcywKLQkJCQkJCWxldmVsLAotCQkJCQkJJnJlc3VsdC0+cGxhbmVf cmVzX2JbaV0sCi0JCQkJCQkmcmVzdWx0LT5wbGFuZV9yZXNfbFtpXSk7CisJCXJldCA9IHNrbF9j b21wdXRlX3BsYW5lX3dtKGRldl9wcml2LAorCQkJCQkgICBjc3RhdGUsCisJCQkJCSAgIGludGVs X3BzdGF0ZSwKKwkJCQkJICAgZGRiX2Jsb2NrcywKKwkJCQkJICAgbGV2ZWwsCisJCQkJCSAgICZy ZXN1bHQtPnBsYW5lX3Jlc19iW2ldLAorCQkJCQkgICAmcmVzdWx0LT5wbGFuZV9yZXNfbFtpXSwK KwkJCQkJICAgJnJlc3VsdC0+cGxhbmVfZW5baV0pOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJl dDsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTM0MjIsMjEgKzM0MzIsMjYgQEAgc3RhdGljIHZvaWQg c2tsX2NvbXB1dGVfdHJhbnNpdGlvbl93bShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRl LAogCX0KIH0KIAotc3RhdGljIHZvaWQgc2tsX2J1aWxkX3BpcGVfd20oc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNzdGF0ZSwKLQkJCSAgICAgIHN0cnVjdCBza2xfZGRiX2FsbG9jYXRpb24gKmRk YiwKLQkJCSAgICAgIHN0cnVjdCBza2xfcGlwZV93bSAqcGlwZV93bSkKK3N0YXRpYyBpbnQgc2ts X2J1aWxkX3BpcGVfd20oc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKKwkJCSAgICAg c3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAqZGRiLAorCQkJICAgICBzdHJ1Y3Qgc2tsX3BpcGVf d20gKnBpcGVfd20pCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNzdGF0ZS0+YmFzZS5j cnRjLT5kZXY7CiAJY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKIAlpbnQgbGV2ZWwsIG1heF9sZXZlbCA9IGlsa193bV9tYXhfbGV2ZWwo ZGV2KTsKKwlpbnQgcmV0OwogCiAJZm9yIChsZXZlbCA9IDA7IGxldmVsIDw9IG1heF9sZXZlbDsg bGV2ZWwrKykgewotCQlza2xfY29tcHV0ZV93bV9sZXZlbChkZXZfcHJpdiwgZGRiLCBjc3RhdGUs Ci0JCQkJICAgICBsZXZlbCwgJnBpcGVfd20tPndtW2xldmVsXSk7CisJCXJldCA9IHNrbF9jb21w dXRlX3dtX2xldmVsKGRldl9wcml2LCBkZGIsIGNzdGF0ZSwKKwkJCQkJICAgbGV2ZWwsICZwaXBl X3dtLT53bVtsZXZlbF0pOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKIAl9CiAJcGlwZV93 bS0+bGluZXRpbWUgPSBza2xfY29tcHV0ZV9saW5ldGltZV93bShjc3RhdGUpOwogCiAJc2tsX2Nv bXB1dGVfdHJhbnNpdGlvbl93bShjc3RhdGUsICZwaXBlX3dtLT50cmFuc193bSk7CisKKwlyZXR1 cm4gMDsKIH0KIAogc3RhdGljIHZvaWQgc2tsX2NvbXB1dGVfd21fcmVzdWx0cyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LApAQCAtMzY4MywyMSArMzY5OCwyNyBAQCBzdGF0aWMgdm9pZCBza2xfZmx1 c2hfd21fdmFsdWVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAl9CiB9CiAK LXN0YXRpYyBib29sIHNrbF91cGRhdGVfcGlwZV93bShzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNz dGF0ZSwKLQkJCSAgICAgICBzdHJ1Y3Qgc2tsX2RkYl9hbGxvY2F0aW9uICpkZGIsIC8qIG91dCAq LwotCQkJICAgICAgIHN0cnVjdCBza2xfcGlwZV93bSAqcGlwZV93bSAvKiBvdXQgKi8pCitzdGF0 aWMgaW50IHNrbF91cGRhdGVfcGlwZV93bShzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNzdGF0ZSwK KwkJCSAgICAgIHN0cnVjdCBza2xfZGRiX2FsbG9jYXRpb24gKmRkYiwgLyogb3V0ICovCisJCQkg ICAgICBzdHJ1Y3Qgc2tsX3BpcGVfd20gKnBpcGVfd20sIC8qIG91dCAqLworCQkJICAgICAgYm9v bCAqY2hhbmdlZCAvKiBvdXQgKi8pCiB7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMg PSB0b19pbnRlbF9jcnRjKGNzdGF0ZS0+Y3J0Yyk7CiAJc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmludGVsX2NzdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3N0YXRlKTsKKwlpbnQgcmV0Owog Ci0Jc2tsX2J1aWxkX3BpcGVfd20oaW50ZWxfY3N0YXRlLCBkZGIsIHBpcGVfd20pOworCXJldCA9 IHNrbF9idWlsZF9waXBlX3dtKGludGVsX2NzdGF0ZSwgZGRiLCBwaXBlX3dtKTsKKwlpZiAocmV0 KQorCQlyZXR1cm4gcmV0OwogCiAJaWYgKCFtZW1jbXAoJmludGVsX2NydGMtPndtLmFjdGl2ZS5z a2wsIHBpcGVfd20sIHNpemVvZigqcGlwZV93bSkpKQotCQlyZXR1cm4gZmFsc2U7CisJCSpjaGFu Z2VkID0gZmFsc2U7CisJZWxzZQorCQkqY2hhbmdlZCA9IHRydWU7CiAKIAlpbnRlbF9jcnRjLT53 bS5hY3RpdmUuc2tsID0gKnBpcGVfd207CiAKLQlyZXR1cm4gdHJ1ZTsKKwlyZXR1cm4gMDsKIH0K IAogc3RhdGljIHZvaWQgc2tsX3VwZGF0ZV9vdGhlcl9waXBlX3dtKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCkBAIC0zNzMwLDggKzM3NTEsOCBAQCBzdGF0aWMgdm9pZCBza2xfdXBkYXRlX290aGVy X3BpcGVfd20oc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJaWYgKCFpbnRlbF9jcnRjLT5hY3Rp dmUpCiAJCQljb250aW51ZTsKIAotCQl3bV9jaGFuZ2VkID0gc2tsX3VwZGF0ZV9waXBlX3dtKGlu dGVsX2NydGMtPmJhc2Uuc3RhdGUsCi0JCQkJCQkmci0+ZGRiLCAmcGlwZV93bSk7CisJCXNrbF91 cGRhdGVfcGlwZV93bShpbnRlbF9jcnRjLT5iYXNlLnN0YXRlLAorCQkJCSAgICZyLT5kZGIsICZw aXBlX3dtLCAmd21fY2hhbmdlZCk7CiAKIAkJLyoKIAkJICogSWYgd2UgZW5kIHVwIHJlLWNvbXB1 dGluZyB0aGUgb3RoZXIgcGlwZSBXTSB2YWx1ZXMsIGl0J3MKQEAgLTM4NDEsMTQgKzM4NjIsMTUg QEAgc3RhdGljIHZvaWQgc2tsX3VwZGF0ZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJc3Ry dWN0IHNrbF93bV92YWx1ZXMgKnJlc3VsdHMgPSAmZGV2X3ByaXYtPndtLnNrbF9yZXN1bHRzOwog CXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGNy dGMtPnN0YXRlKTsKIAlzdHJ1Y3Qgc2tsX3BpcGVfd20gKnBpcGVfd20gPSAmY3N0YXRlLT53bS5z a2wub3B0aW1hbDsKLQorCWJvb2wgd21fY2hhbmdlZDsKIAogCS8qIENsZWFyIGFsbCBkaXJ0eSBm bGFncyAqLwogCXJlc3VsdHMtPmRpcnR5X3BpcGVzID0gMDsKIAogCXNrbF9jbGVhcl93bShyZXN1 bHRzLCBpbnRlbF9jcnRjLT5waXBlKTsKIAotCWlmICghc2tsX3VwZGF0ZV9waXBlX3dtKGNydGMt PnN0YXRlLCAmcmVzdWx0cy0+ZGRiLCBwaXBlX3dtKSkKKwlza2xfdXBkYXRlX3BpcGVfd20oY3J0 Yy0+c3RhdGUsICZyZXN1bHRzLT5kZGIsIHBpcGVfd20sICZ3bV9jaGFuZ2VkKTsKKwlpZiAoIXdt X2NoYW5nZWQpCiAJCXJldHVybjsKIAogCXNrbF9jb21wdXRlX3dtX3Jlc3VsdHMoZGV2LCBwaXBl X3dtLCByZXN1bHRzLCBpbnRlbF9jcnRjKTsKLS0gCjIuMS40CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK