From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Bride Subject: [PATCH v5] drm/i915/edp: Allow alternate fixed mode for eDP if available. Date: Fri, 28 Jul 2017 12:22:29 -0700 Message-ID: <1501269749-10909-1-git-send-email-jim.bride@linux.intel.com> References: <1501001291-2708-5-git-send-email-jim.bride@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1F3016F4D4 for ; Fri, 28 Jul 2017 19:25:10 +0000 (UTC) In-Reply-To: <1501001291-2708-5-git-send-email-jim.bride@linux.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: Paulo Zanoni , Jani Nikula , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org U29tZSBmaXhlZCByZXNvbHV0aW9uIHBhbmVscyBhY3R1YWxseSBzdXBwb3J0IG1vcmUgdGhhbiBv bmUgbW9kZSwKd2l0aCB0aGUgb25seSB0aGluZyBkaWZmZXJlbnQgYmVpbmcgdGhlIHJlZnJlc2gg cmF0ZS4gIEhhdmluZyB0aGlzCmFsdGVybmF0ZSBtb2RlIGF2YWlsYWJsZSB0byB1cyBpcyBkZXNp cmFibGUsIGJlY2F1c2UgaXQgYWxsb3dzIHVzIHRvCnRlc3QgUFNSIG9uIHBhbmVscyB3aG9zZSBz ZXR1cCB0aW1lIGF0IHRoZSBwcmVmZXJyZWQgbW9kZSBpcyB0b28gbG9uZy4KV2l0aCB0aGlzIHBh dGNoIHdlIGFsbG93IHRoZSB1c2Ugb2YgdGhlIGFsdGVybmF0ZSBtb2RlIGlmIGl0J3MKYXZhaWxh YmxlIGFuZCBpdCB3YXMgc3BlY2lmaWNhbGx5IHJlcXVlc3RlZC4KCnYyIGFuZCB2MzogUmViYXNl CnY0OiAqIEZpeCB1cCBzb21lIGxlYWt5IG1vZGUgc3R1ZmYgKENocmlzKQogICAgKiBSZWJhc2UK djU6ICogRml4IGEgTlVMTCBwb2ludGVyIGRlcmVmcmVlbmNlIChEYXZpZCBXZWluZWhhbGwpCgpD YzogRGF2aWQgV2VpbmVoYWxsIDxkYXZpZC53ZWluZWhhbGxAbGludXguaW50ZWwuY29tPgpDYzog Um9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgpDYzogUGF1bG8gWmFub25pIDxw YXVsby5yLnphbm9uaUBpbnRlbC5jb20+CkNjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50 ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClNpZ25l ZC1vZmYtYnk6IEppbSBCcmlkZSA8amltLmJyaWRlQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgIHwgMzggKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgfCAg MiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgICB8ICAyICstCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYyAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2x2ZHMuYyAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVs LmMgfCAgNiArKysrKysKIDYgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgOCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwppbmRleCA3YzBlNTMwLi42MGM0NjQyIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMKQEAgLTE2MDYsNiArMTYwNiwyMyBAQCBzdGF0aWMgaW50 IGludGVsX2RwX2NvbXB1dGVfYnBwKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJcmV0dXJu IGJwcDsKIH0KIAorc3RhdGljIGJvb2wgaW50ZWxfZWRwX2NvbXBhcmVfYWx0X21vZGUoc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm0xLAorCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbTIpCit7CisJYm9vbCBicmVzID0gZmFsc2U7CisJCisJaWYgKG0xICYmIG0yKQorCQlicmVz ID0gIChtMS0+aGRpc3BsYXkgPT0gbTItPmhkaXNwbGF5ICYmCisJCQkgbTEtPmhzeW5jX3N0YXJ0 ID09IG0yLT5oc3luY19zdGFydCAmJgorCQkJIG0xLT5oc3luY19lbmQgPT0gbTItPmhzeW5jX2Vu ZCAmJgorCQkJIG0xLT5odG90YWwgPT0gbTItPmh0b3RhbCAmJgorCQkJIG0xLT52ZGlzcGxheSA9 PSBtMi0+dmRpc3BsYXkgJiYKKwkJCSBtMS0+dnN5bmNfc3RhcnQgPT0gbTItPnZzeW5jX3N0YXJ0 ICYmCisJCQkgbTEtPnZzeW5jX2VuZCA9PSBtMi0+dnN5bmNfZW5kICYmCisJCQkgbTEtPnZ0b3Rh bCA9PSBtMi0+dnRvdGFsKTsKKwlyZXR1cm4gYnJlczsKK30KKwogYm9vbAogaW50ZWxfZHBfY29t cHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQlzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCkBAIC0xNjUyLDggKzE2NjksMTYgQEAgaW50ZWxf ZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCXBpcGVf Y29uZmlnLT5oYXNfYXVkaW8gPSBpbnRlbF9jb25uX3N0YXRlLT5mb3JjZV9hdWRpbyA9PSBIRE1J X0FVRElPX09OOwogCiAJaWYgKGlzX2VkcChpbnRlbF9kcCkgJiYgaW50ZWxfY29ubmVjdG9yLT5w YW5lbC5maXhlZF9tb2RlKSB7Ci0JCWludGVsX2ZpeGVkX3BhbmVsX21vZGUoaW50ZWxfY29ubmVj dG9yLT5wYW5lbC5maXhlZF9tb2RlLAotCQkJCSAgICAgICBhZGp1c3RlZF9tb2RlKTsKKwkJc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKnBhbmVsX21vZGUgPQorCQkJaW50ZWxfY29ubmVjdG9yLT5w YW5lbC5hbHRfZml4ZWRfbW9kZTsKKwkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKnJlcV9tb2Rl ID0gJnBpcGVfY29uZmlnLT5iYXNlLm1vZGU7CisKKwkJaWYgKCFpbnRlbF9lZHBfY29tcGFyZV9h bHRfbW9kZShyZXFfbW9kZSwgcGFuZWxfbW9kZSkpCisJCQlwYW5lbF9tb2RlID0gaW50ZWxfY29u bmVjdG9yLT5wYW5lbC5maXhlZF9tb2RlOworCisJCWRybV9tb2RlX2RlYnVnX3ByaW50bW9kZWxp bmUocGFuZWxfbW9kZSk7CisKKwkJaW50ZWxfZml4ZWRfcGFuZWxfbW9kZShwYW5lbF9tb2RlLCBh ZGp1c3RlZF9tb2RlKTsKIAogCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7CiAJCQlp bnQgcmV0OwpAQCAtNTgxMCw2ICs1ODM1LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfZWRwX2luaXRf Y29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGludGVsX2VuY29kZXItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZml4 ZWRfbW9kZSA9IE5VTEw7CisJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFsdF9maXhlZF9tb2Rl ID0gTlVMTDsKIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZG93bmNsb2NrX21vZGUgPSBOVUxM OwogCWJvb2wgaGFzX2RwY2Q7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKnNjYW47CkBAIC01 ODY1LDEzICs1ODkxLDE0IEBAIHN0YXRpYyBib29sIGludGVsX2VkcF9pbml0X2Nvbm5lY3Rvcihz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCX0KIAlpbnRlbF9jb25uZWN0b3ItPmVkaWQgPSBl ZGlkOwogCi0JLyogcHJlZmVyIGZpeGVkIG1vZGUgZnJvbSBFRElEIGlmIGF2YWlsYWJsZSAqLwor CS8qIHByZWZlciBmaXhlZCBtb2RlIGZyb20gRURJRCBpZiBhdmFpbGFibGUsIHNhdmUgYW4gYWx0 IG1vZGUgYWxzbyAqLwogCWxpc3RfZm9yX2VhY2hfZW50cnkoc2NhbiwgJmNvbm5lY3Rvci0+cHJv YmVkX21vZGVzLCBoZWFkKSB7CiAJCWlmICgoc2Nhbi0+dHlwZSAmIERSTV9NT0RFX1RZUEVfUFJF RkVSUkVEKSkgewogCQkJZml4ZWRfbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShkZXYsIHNjYW4p OwogCQkJZG93bmNsb2NrX21vZGUgPSBpbnRlbF9kcF9kcnJzX2luaXQoCiAJCQkJCQlpbnRlbF9j b25uZWN0b3IsIGZpeGVkX21vZGUpOwotCQkJYnJlYWs7CisJCX0gZWxzZSBpZiAoIWFsdF9maXhl ZF9tb2RlKSB7CisJCQlhbHRfZml4ZWRfbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShkZXYsIHNj YW4pOwogCQl9CiAJfQogCkBAIC01OTA4LDcgKzU5MzUsOCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9l ZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAkJCSAgICAgIHBp cGVfbmFtZShwaXBlKSk7CiAJfQogCi0JaW50ZWxfcGFuZWxfaW5pdCgmaW50ZWxfY29ubmVjdG9y LT5wYW5lbCwgZml4ZWRfbW9kZSwgZG93bmNsb2NrX21vZGUpOworCWludGVsX3BhbmVsX2luaXQo JmludGVsX2Nvbm5lY3Rvci0+cGFuZWwsIGZpeGVkX21vZGUsIGFsdF9maXhlZF9tb2RlLAorCQkJ IGRvd25jbG9ja19tb2RlKTsKIAlpbnRlbF9jb25uZWN0b3ItPnBhbmVsLmJhY2tsaWdodC5wb3dl ciA9IGludGVsX2VkcF9iYWNrbGlnaHRfcG93ZXI7CiAJaW50ZWxfcGFuZWxfc2V0dXBfYmFja2xp Z2h0KGNvbm5lY3RvciwgcGlwZSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMDQ2 ZDM1OC4uMDBiZGU2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTI2NSw2ICsyNjUs NyBAQCBzdHJ1Y3QgaW50ZWxfZW5jb2RlciB7CiAKIHN0cnVjdCBpbnRlbF9wYW5lbCB7CiAJc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKmZpeGVkX21vZGU7CisJc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKmFsdF9maXhlZF9tb2RlOwogCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpkb3duY2xvY2tf bW9kZTsKIAogCS8qIGJhY2tsaWdodCAqLwpAQCAtMTY4Miw2ICsxNjgzLDcgQEAgdm9pZCBpbnRl bF9vdmVybGF5X3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiAvKiBp bnRlbF9wYW5lbC5jICovCiBpbnQgaW50ZWxfcGFuZWxfaW5pdChzdHJ1Y3QgaW50ZWxfcGFuZWwg KnBhbmVsLAogCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpmaXhlZF9tb2RlLAorCQkg ICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphbHRfZml4ZWRfbW9kZSwKIAkJICAgICBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZG93bmNsb2NrX21vZGUpOwogdm9pZCBpbnRlbF9wYW5lbF9m aW5pKHN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwpOwogdm9pZCBpbnRlbF9maXhlZF9wYW5lbF9t b2RlKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpmaXhlZF9tb2RlLApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kc2kuYwppbmRleCA1MGVjODM2Li5kM2E2NjA4IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kc2kuYwpAQCAtMTg1MSw3ICsxODUxLDcgQEAgdm9pZCBpbnRlbF9kc2lfaW5pdChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lk dGhfbW0gPSBmaXhlZF9tb2RlLT53aWR0aF9tbTsKIAljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5o ZWlnaHRfbW0gPSBmaXhlZF9tb2RlLT5oZWlnaHRfbW07CiAKLQlpbnRlbF9wYW5lbF9pbml0KCZp bnRlbF9jb25uZWN0b3ItPnBhbmVsLCBmaXhlZF9tb2RlLCBOVUxMKTsKKwlpbnRlbF9wYW5lbF9p bml0KCZpbnRlbF9jb25uZWN0b3ItPnBhbmVsLCBmaXhlZF9tb2RlLCBOVUxMLCBOVUxMKTsKIAlp bnRlbF9wYW5lbF9zZXR1cF9iYWNrbGlnaHQoY29ubmVjdG9yLCBJTlZBTElEX1BJUEUpOwogCiAJ aW50ZWxfZHNpX2FkZF9wcm9wZXJ0aWVzKGludGVsX2Nvbm5lY3Rvcik7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2R2by5jCmluZGV4IGMxNTQ0YTUuLjM5ZmQ0ZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2R2by5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2 by5jCkBAIC01NTQsNyArNTU0LDcgQEAgdm9pZCBpbnRlbF9kdm9faW5pdChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCQkgKi8KIAkJCWludGVsX3BhbmVsX2luaXQoJmludGVs X2Nvbm5lY3Rvci0+cGFuZWwsCiAJCQkJCSBpbnRlbF9kdm9fZ2V0X2N1cnJlbnRfbW9kZShjb25u ZWN0b3IpLAotCQkJCQkgTlVMTCk7CisJCQkJCSBOVUxMLCBOVUxMKTsKIAkJCWludGVsX2R2by0+ cGFuZWxfd2FudHNfZGl0aGVyID0gdHJ1ZTsKIAkJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRz LmMKaW5kZXggNmZlNWQ3Yy4uYTk5NWNjYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHZkcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwpA QCAtMTE0MCw3ICsxMTQwLDggQEAgdm9pZCBpbnRlbF9sdmRzX2luaXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQogb3V0OgogCW11dGV4X3VubG9jaygmZGV2LT5tb2RlX2NvbmZp Zy5tdXRleCk7CiAKLQlpbnRlbF9wYW5lbF9pbml0KCZpbnRlbF9jb25uZWN0b3ItPnBhbmVsLCBm aXhlZF9tb2RlLCBkb3duY2xvY2tfbW9kZSk7CisJaW50ZWxfcGFuZWxfaW5pdCgmaW50ZWxfY29u bmVjdG9yLT5wYW5lbCwgZml4ZWRfbW9kZSwgTlVMTCwKKwkJCSBkb3duY2xvY2tfbW9kZSk7CiAJ aW50ZWxfcGFuZWxfc2V0dXBfYmFja2xpZ2h0KGNvbm5lY3RvciwgSU5WQUxJRF9QSVBFKTsKIAog CWx2ZHNfZW5jb2Rlci0+aXNfZHVhbF9saW5rID0gY29tcHV0ZV9pc19kdWFsX2xpbmtfbHZkcyhs dmRzX2VuY29kZXIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFu ZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKaW5kZXggZmQyZTA4MS4u ZTdkZjc3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCkBAIC0xOTIwLDExICsxOTIw LDEzIEBAIGludGVsX3BhbmVsX2luaXRfYmFja2xpZ2h0X2Z1bmNzKHN0cnVjdCBpbnRlbF9wYW5l bCAqcGFuZWwpCiAKIGludCBpbnRlbF9wYW5lbF9pbml0KHN0cnVjdCBpbnRlbF9wYW5lbCAqcGFu ZWwsCiAJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmZpeGVkX21vZGUsCisJCSAgICAg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFsdF9maXhlZF9tb2RlLAogCQkgICAgIHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICpkb3duY2xvY2tfbW9kZSkKIHsKIAlpbnRlbF9wYW5lbF9pbml0X2Jh Y2tsaWdodF9mdW5jcyhwYW5lbCk7CiAKIAlwYW5lbC0+Zml4ZWRfbW9kZSA9IGZpeGVkX21vZGU7 CisJcGFuZWwtPmFsdF9maXhlZF9tb2RlID0gYWx0X2ZpeGVkX21vZGU7CiAJcGFuZWwtPmRvd25j bG9ja19tb2RlID0gZG93bmNsb2NrX21vZGU7CiAKIAlyZXR1cm4gMDsKQEAgLTE5MzgsNiArMTk0 MCwxMCBAQCB2b2lkIGludGVsX3BhbmVsX2Zpbmkoc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCkK IAlpZiAocGFuZWwtPmZpeGVkX21vZGUpCiAJCWRybV9tb2RlX2Rlc3Ryb3koaW50ZWxfY29ubmVj dG9yLT5iYXNlLmRldiwgcGFuZWwtPmZpeGVkX21vZGUpOwogCisJaWYgKHBhbmVsLT5hbHRfZml4 ZWRfbW9kZSkKKwkJZHJtX21vZGVfZGVzdHJveShpbnRlbF9jb25uZWN0b3ItPmJhc2UuZGV2LAor CQkJCXBhbmVsLT5hbHRfZml4ZWRfbW9kZSk7CisKIAlpZiAocGFuZWwtPmRvd25jbG9ja19tb2Rl KQogCQlkcm1fbW9kZV9kZXN0cm95KGludGVsX2Nvbm5lY3Rvci0+YmFzZS5kZXYsCiAJCQkJcGFu ZWwtPmRvd25jbG9ja19tb2RlKTsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK