From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [PATCH 09/10] drm/i915/cnl: Enable DDI-F on Cannonlake. Date: Mon, 29 Jan 2018 15:22:22 -0800 Message-ID: <20180129232223.766-9-rodrigo.vivi@intel.com> References: <20180129232223.766-1-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id AF22D6E6AF for ; Mon, 29 Jan 2018 23:22:26 +0000 (UTC) In-Reply-To: <20180129232223.766-1-rodrigo.vivi@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: Dhinakaran Pandiyan , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org Tm93IGxldCdzIGZpbmlzaCB0aGUgUG9ydC1GIHN1cHBvcnQgYnkgYWRkaW5nIHRoZQpwcm9wZXIg cG9ydCBGIGRldGVjdGlvbiwgaXJxIGFuZCBwb3dlciB3ZWxsIHN1cHBvcnQuCgp2MjogUmViYXNl CnYzOiBVc2UgQklUX1VMTAp2NDogQ292ZXIgbWlzc2VkIGNhc2Ugb24gZGRpIGluaXQuCnY1OiBV cGRhdGUgY29tbWl0IG1lc3NhZ2UuCnY2OiBSZWJhc2Ugb24gdG9wIG9mIGRpc3BsYXkgaGVhZGVy cyByZXdvcmsuCnY3OiBTcXVhc2ggcG93ZXItd2VsbCBoYW5kbGluZyByZWxhdGVkIHRvIERESSBG IHRvIHRoaXMKICAgIHBhdGNoIHRvIGF2b2lkIHdhcm5zIGFzIHBvaW50ZWQgb3V0IGJ5IERLLgp2 ODogSW50cm9kdWNlIERESV9GX0xBTkVTIHRvIFBHMi4gKERLKQp2OTogU3F1YXNoIGluIHRoZSBQ T1JUX0YgY2FzZSBmb3IgZW5hYmxpbmcgRFAgTVNUIGVuY29kZXIuIChESykKCkNjOiBEaGluYWth cmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4KQ2M6IE1hbmFzaSBO YXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+CkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZp bGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBSb2RyaWdvIFZpdmkg PHJvZHJpZ28udml2aUBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBEYXZpZCBXZWluZWhhbGwgPGRh dmlkLndlaW5laGFsbEBsaW51eC5pbnRlbC5jb20+ClJldmlld2VkLWJ5OiBEaGluYWthcmFuIFBh bmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGRpLmMgICAgICAgIHwgIDQgKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jICAgIHwgIDYgKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmggICAgfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgICAg IHwgIDMgKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCAyMCAr KysrKysrKysrKysrKysrKy0tLQogNiBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCA1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDA3NmE0OTEwN2UwMi4u ODI2MWZlNGM0MzE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTEzMDQsNiArMTMwNCw3 IEBAIGVudW0gaTkxNV9wb3dlcl93ZWxsX2lkIHsKIAlTS0xfRElTUF9QV19ERElfQiwKIAlTS0xf RElTUF9QV19ERElfQywKIAlTS0xfRElTUF9QV19ERElfRCwKKwlDTkxfRElTUF9QV19ERElfRiA9 IDYsCiAKIAlHTEtfRElTUF9QV19BVVhfQSA9IDgsCiAJR0xLX0RJU1BfUFdfQVVYX0IsCkBAIC04 OTQ1LDYgKzg5NDYsNyBAQCBlbnVtIHNrbF9wb3dlcl9nYXRlIHsKICNkZWZpbmUgIFNGVVNFX1NU UkFQX1JBV19GUkVRVUVOQ1kJKDE8PDgpCiAjZGVmaW5lICBTRlVTRV9TVFJBUF9ESVNQTEFZX0RJ U0FCTEVECSgxPDw3KQogI2RlZmluZSAgU0ZVU0VfU1RSQVBfQ1JUX0RJU0FCTEVECSgxPDw2KQor I2RlZmluZSAgU0ZVU0VfU1RSQVBfRERJRl9ERVRFQ1RFRAkoMTw8MykKICNkZWZpbmUgIFNGVVNF X1NUUkFQX0RESUJfREVURUNURUQJKDE8PDIpCiAjZGVmaW5lICBTRlVTRV9TVFJBUF9ERElDX0RF VEVDVEVECSgxPDwxKQogI2RlZmluZSAgU0ZVU0VfU1RSQVBfRERJRF9ERVRFQ1RFRAkoMTw8MCkK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKaW5kZXggZTUxNTU5YmUyZTNiLi5jZmNkOWNiMzdkNWQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCkBAIC0yOTQ2LDYgKzI5NDYsMTAgQEAgdm9pZCBp bnRlbF9kZGlfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcG9y dCBwb3J0KQogCQlpbnRlbF9kaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbiA9CiAJCQlQT1dF Ul9ET01BSU5fUE9SVF9ERElfRV9JTzsKIAkJYnJlYWs7CisJY2FzZSBQT1JUX0Y6CisJCWludGVs X2RpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluID0KKwkJCVBPV0VSX0RPTUFJTl9QT1JUX0RE SV9GX0lPOworCQlicmVhazsKIAlkZWZhdWx0OgogCQlNSVNTSU5HX0NBU0UocG9ydCk7CiAJfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDY3ZTBlYzRmYjVlMy4uY2Y0Mjkx NzcyNWQwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC01NjQ3LDYgKzU2 NDcsOCBAQCBlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIGludGVsX3BvcnRfdG9fcG93 ZXJfZG9tYWluKGVudW0gcG9ydCBwb3J0KQogCQlyZXR1cm4gUE9XRVJfRE9NQUlOX1BPUlRfRERJ X0RfTEFORVM7CiAJY2FzZSBQT1JUX0U6CiAJCXJldHVybiBQT1dFUl9ET01BSU5fUE9SVF9ERElf RV9MQU5FUzsKKwljYXNlIFBPUlRfRjoKKwkJcmV0dXJuIFBPV0VSX0RPTUFJTl9QT1JUX0RESV9G X0xBTkVTOwogCWRlZmF1bHQ6CiAJCU1JU1NJTkdfQ0FTRShwb3J0KTsKIAkJcmV0dXJuIFBPV0VS X0RPTUFJTl9QT1JUX09USEVSOwpAQCAtMTM2MTksNyArMTM2MjEsNyBAQCBzdGF0aWMgdm9pZCBp bnRlbF9zZXR1cF9vdXRwdXRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJ aWYgKGZvdW5kIHx8IElTX0dFTjlfQkMoZGV2X3ByaXYpKQogCQkJaW50ZWxfZGRpX2luaXQoZGV2 X3ByaXYsIFBPUlRfQSk7CiAKLQkJLyogRERJIEIsIEMgYW5kIEQgZGV0ZWN0aW9uIGlzIGluZGlj YXRlZCBieSB0aGUgU0ZVU0VfU1RSQVAKKwkJLyogRERJIEIsIEMsIEQsIGFuZCBGIGRldGVjdGlv biBpcyBpbmRpY2F0ZWQgYnkgdGhlIFNGVVNFX1NUUkFQCiAJCSAqIHJlZ2lzdGVyICovCiAJCWZv dW5kID0gSTkxNV9SRUFEKFNGVVNFX1NUUkFQKTsKIApAQCAtMTM2MjksNiArMTM2MzEsOCBAQCBz dGF0aWMgdm9pZCBpbnRlbF9zZXR1cF9vdXRwdXRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIAkJCWludGVsX2RkaV9pbml0KGRldl9wcml2LCBQT1JUX0MpOwogCQlpZiAoZm91 bmQgJiBTRlVTRV9TVFJBUF9ERElEX0RFVEVDVEVEKQogCQkJaW50ZWxfZGRpX2luaXQoZGV2X3By aXYsIFBPUlRfRCk7CisJCWlmIChmb3VuZCAmIFNGVVNFX1NUUkFQX0RESUZfREVURUNURUQpCisJ CQlpbnRlbF9kZGlfaW5pdChkZXZfcHJpdiwgUE9SVF9GKTsKIAkJLyoKIAkJICogT24gU0tMIHdl IGRvbid0IGhhdmUgYSB3YXkgdG8gZGV0ZWN0IERESS1FIHNvIHdlIHJlbHkgb24gVkJULgogCQkg Ki8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuaAppbmRleCAzMGZhMjA0MWE0NWYuLmM0 MDQyZTM0MmY1MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuaApAQCAtMTU3LDEx ICsxNTcsMTMgQEAgZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiB7CiAJUE9XRVJfRE9N QUlOX1BPUlRfRERJX0NfTEFORVMsCiAJUE9XRVJfRE9NQUlOX1BPUlRfRERJX0RfTEFORVMsCiAJ UE9XRVJfRE9NQUlOX1BPUlRfRERJX0VfTEFORVMsCisJUE9XRVJfRE9NQUlOX1BPUlRfRERJX0Zf TEFORVMsCiAJUE9XRVJfRE9NQUlOX1BPUlRfRERJX0FfSU8sCiAJUE9XRVJfRE9NQUlOX1BPUlRf RERJX0JfSU8sCiAJUE9XRVJfRE9NQUlOX1BPUlRfRERJX0NfSU8sCiAJUE9XRVJfRE9NQUlOX1BP UlRfRERJX0RfSU8sCiAJUE9XRVJfRE9NQUlOX1BPUlRfRERJX0VfSU8sCisJUE9XRVJfRE9NQUlO X1BPUlRfRERJX0ZfSU8sCiAJUE9XRVJfRE9NQUlOX1BPUlRfRFNJLAogCVBPV0VSX0RPTUFJTl9Q T1JUX0NSVCwKIAlQT1dFUl9ET01BSU5fUE9SVF9PVEhFUiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j CmluZGV4IGFkMDU1YzUyN2IxZS4uODZhNWU4YmZlMmE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw LmMKQEAgLTYzNTgsNyArNjM1OCw4IEBAIGludGVsX2RwX2luaXRfY29ubmVjdG9yKHN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAogCiAJLyogaW5pdCBNU1Qgb24gcG9y dHMgdGhhdCBjYW4gc3VwcG9ydCBpdCAqLwogCWlmIChIQVNfRFBfTVNUKGRldl9wcml2KSAmJiAh aW50ZWxfZHBfaXNfZWRwKGludGVsX2RwKSAmJgotCSAgICAocG9ydCA9PSBQT1JUX0IgfHwgcG9y dCA9PSBQT1JUX0MgfHwgcG9ydCA9PSBQT1JUX0QpKQorCSAgICAocG9ydCA9PSBQT1JUX0IgfHwg cG9ydCA9PSBQT1JUX0MgfHwKKwkgICAgIHBvcnQgPT0gUE9SVF9EIHx8IHBvcnQgPT0gUE9SVF9G KSkKIAkJaW50ZWxfZHBfbXN0X2VuY29kZXJfaW5pdChpbnRlbF9kaWdfcG9ydCwKIAkJCQkJICBp bnRlbF9jb25uZWN0b3ItPmJhc2UuYmFzZS5pZCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3J1bnRpbWVfcG0uYwppbmRleCAyOTRiODVhZGM0MTMuLjcwZTY1OTc3MmE3YSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwpAQCAtOTQsNiArOTQsOCBAQCBpbnRlbF9k aXNwbGF5X3Bvd2VyX2RvbWFpbl9zdHIoZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBk b21haW4pCiAJCXJldHVybiAiUE9SVF9ERElfRF9MQU5FUyI7CiAJY2FzZSBQT1dFUl9ET01BSU5f UE9SVF9ERElfRV9MQU5FUzoKIAkJcmV0dXJuICJQT1JUX0RESV9FX0xBTkVTIjsKKwljYXNlIFBP V0VSX0RPTUFJTl9QT1JUX0RESV9GX0xBTkVTOgorCQlyZXR1cm4gIlBPUlRfRERJX0ZfTEFORVMi OwogCWNhc2UgUE9XRVJfRE9NQUlOX1BPUlRfRERJX0FfSU86CiAJCXJldHVybiAiUE9SVF9ERElf QV9JTyI7CiAJY2FzZSBQT1dFUl9ET01BSU5fUE9SVF9ERElfQl9JTzoKQEAgLTEwNCw2ICsxMDYs OCBAQCBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbl9zdHIoZW51bSBpbnRlbF9kaXNwbGF5X3Bv d2VyX2RvbWFpbiBkb21haW4pCiAJCXJldHVybiAiUE9SVF9ERElfRF9JTyI7CiAJY2FzZSBQT1dF Ul9ET01BSU5fUE9SVF9ERElfRV9JTzoKIAkJcmV0dXJuICJQT1JUX0RESV9FX0lPIjsKKwljYXNl IFBPV0VSX0RPTUFJTl9QT1JUX0RESV9GX0lPOgorCQlyZXR1cm4gIlBPUlRfRERJX0ZfSU8iOwog CWNhc2UgUE9XRVJfRE9NQUlOX1BPUlRfRFNJOgogCQlyZXR1cm4gIlBPUlRfRFNJIjsKIAljYXNl IFBPV0VSX0RPTUFJTl9QT1JUX0NSVDoKQEAgLTE4MjcsNiArMTgzMSw3IEBAIHZvaWQgaW50ZWxf ZGlzcGxheV9wb3dlcl9wdXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCUJJ VF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0JfTEFORVMpIHwJCVwKIAlCSVRfVUxMKFBPV0VS X0RPTUFJTl9QT1JUX0RESV9DX0xBTkVTKSB8CQlcCiAJQklUX1VMTChQT1dFUl9ET01BSU5fUE9S VF9ERElfRF9MQU5FUykgfAkJXAorCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0ZfTEFO RVMpIHwJCVwKIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9BVVhfQikgfCAgICAgICAgICAgICAgICAg ICAgICAgXAogCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0FVWF9DKSB8CQkJXAogCUJJVF9VTEwoUE9X RVJfRE9NQUlOX0FVWF9EKSB8CQkJXApAQCAtMTg2MSw2ICsxODY2LDkgQEAgdm9pZCBpbnRlbF9k aXNwbGF5X3Bvd2VyX3B1dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAjZGVm aW5lIENOTF9ESVNQTEFZX0FVWF9GX1BPV0VSX0RPTUFJTlMgKAkJXAogCUJJVF9VTEwoUE9XRVJf RE9NQUlOX0FVWF9GKSB8CQkJXAogCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQorI2RlZmlu ZSBDTkxfRElTUExBWV9ERElfRl9JT19QT1dFUl9ET01BSU5TICgJCVwKKwlCSVRfVUxMKFBPV0VS X0RPTUFJTl9QT1JUX0RESV9GX0lPKSB8CQlcCisJQklUX1VMTChQT1dFUl9ET01BSU5fSU5JVCkp CiAjZGVmaW5lIENOTF9ESVNQTEFZX0RDX09GRl9QT1dFUl9ET01BSU5TICgJCVwKIAlDTkxfRElT UExBWV9QT1dFUldFTExfMl9QT1dFUl9ET01BSU5TIHwJCVwKIAlCSVRfVUxMKFBPV0VSX0RPTUFJ Tl9HVF9JUlEpIHwJCQlcCkBAIC0yNDEyLDYgKzI0MjAsMTIgQEAgc3RhdGljIHN0cnVjdCBpOTE1 X3Bvd2VyX3dlbGwgY25sX3Bvd2VyX3dlbGxzW10gPSB7CiAJCS5pZCA9IFNLTF9ESVNQX1BXX0RE SV9ELAogCX0sCiAJeworCQkubmFtZSA9ICJEREkgRiBJTyBwb3dlciB3ZWxsIiwKKwkJLmRvbWFp bnMgPSBDTkxfRElTUExBWV9ERElfRl9JT19QT1dFUl9ET01BSU5TLAorCQkub3BzID0gJmhzd19w b3dlcl93ZWxsX29wcywKKwkJLmlkID0gQ05MX0RJU1BfUFdfRERJX0YsCisJfSwKKwl7CiAJCS5u YW1lID0gIkFVWCBGIiwKIAkJLmRvbWFpbnMgPSBDTkxfRElTUExBWV9BVVhfRl9QT1dFUl9ET01B SU5TLAogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKQEAgLTI1MzQsMTMgKzI1NDgsMTMg QEAgaW50IGludGVsX3Bvd2VyX2RvbWFpbnNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiAJCXNldF9wb3dlcl93ZWxscyhwb3dlcl9kb21haW5zLCBjbmxfcG93ZXJfd2Vs bHMpOwogCiAJCS8qCi0JCSAqIEF1eCBJTyBpcyBnZXR0aW5nIGVuYWJsZWQgZm9yIGFsbCBwb3J0 cworCQkgKiBEREkgYW5kIEF1eCBJTyBhcmUgZ2V0dGluZyBlbmFibGVkIGZvciBhbGwgcG9ydHMK IAkJICogcmVnYXJkbGVzcyB0aGUgcHJlc2VuY2Ugb3IgdXNlLiBTbywgaW4gb3JkZXIgdG8gYXZv aWQKLQkJICogdGltZW91dHMsIGxldHMgcmVtb3ZlIGl0IGZyb20gdGhlIGxpc3QKKwkJICogdGlt ZW91dHMsIGxldHMgcmVtb3ZlIHRoZW0gZnJvbSB0aGUgbGlzdAogCQkgKiBmb3IgdGhlIFNLVXMg d2l0aG91dCBwb3J0IEYuCiAJCSAqLwogCQlpZiAoIUlTX0NOTF9XSVRIX1BPUlRfRihkZXZfcHJp dikpCi0JCQlwb3dlcl9kb21haW5zLT5wb3dlcl93ZWxsX2NvdW50IC09IDE7CisJCQlwb3dlcl9k b21haW5zLT5wb3dlcl93ZWxsX2NvdW50IC09IDI7CiAKIAl9IGVsc2UgaWYgKElTX0JST1hUT04o ZGV2X3ByaXYpKSB7CiAJCXNldF9wb3dlcl93ZWxscyhwb3dlcl9kb21haW5zLCBieHRfcG93ZXJf d2VsbHMpOwotLSAKMi4xMy42CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK