From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 15/15] drm/i915: Add CHV PHY LDO power sanity checks Date: Wed, 8 Jul 2015 23:46:01 +0300 Message-ID: <1436388361-11130-16-git-send-email-ville.syrjala@linux.intel.com> References: <1436388361-11130-1-git-send-email-ville.syrjala@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 ESMTP id F07166EBE2 for ; Wed, 8 Jul 2015 13:47:07 -0700 (PDT) In-Reply-To: <1436388361-11130-1-git-send-email-ville.syrjala@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: "Deepak S"@freedesktop.org, deepak.s@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkF0 IHZhcmlvdXMgcG9pbnRzIHdoZW4gY2hhbmdpbmcgdGhlIERQSU8gbGFuZS9waHkgcG93ZXIgc3Rh dGVzLApjb25zdHJ1Y3QgYW4gZXhwZWN0ZWQgdmFsdWUgb2YgdGhlIERJU1BMQVlfUEhZX1NUQVRV UyByZWdpc3RlcgphbmQgY29tcGFyZSBpdCB3aXRoIHRoZSByZWFsIHRoaW5nLgoKVG8gY29uc3Ry dWN0IHRoZSBleHBlY3RlZCB2YWx1ZSB3ZSBsb29rIGF0IG91ciBzaGFkb3cgUEhZX0NPTlRST0wK cmVnaXN0ZXIgdmFsdWUgKHdoaWNoIHNob3VsZCBtYXRjaCB3aGF0IHdlJ3ZlIGp1c3Qgd3JpdHRl biB0byB0aGUKaGFyZHdhcmUpLCBhbmQgd2UgYWxzbyBuZWVkIHRvIGxvb2sgYXQgdGhlIGFjdHVh bCBzdGF0ZSBvZiB0aGUgY21uCnBvd2VyIHdlbGxzIGFzIGEgZGlzYWJsZWQgcG93ZXIgd2VsbCBj YXVzZXMgdGhlIHJlbGV2YW50IExETyBzdGF0dXMKdG8gYmUgcmVwb3J0ZWQgYXMgJ29uJyBpbiBE SVNQTEFZX1BIWV9TVEFUVVMuCgpXaGVuIGluaXRpYWxseSBwb3dlcmluZyB1cCB0aGUgUEhZIGl0 IHBlcmZvcm1zIHZhcmlvdXMgaW50ZXJuYWwKY2FsaWJyYXRpb25zIGZvciB3aGljaCBpdCBmdWxs eSBwb3dlcnMgdXAuIFRoYXQgbWVhbnMgdGhhdCBpZiB3ZSBjaGVjawpmb3IgdGhlIGV4cGV0ZWN0 ZWQgcG93ZXIgc3RhdGUgaW1tZWRpYXRlbHkgdXBvbiByZWxlYXNpbmcgY21ucmVzZXQgd2UKd291 bGQgZ2V0IHRoZSBvY2Nhc2lvbmFsIGZhbHNlIHBvc2l0aXZlLiBCdXQgd2UgY2FuIG9mIGNvdXJz ZQpwb2xsIHVudGlsIHRoZSBleHBlY3RlZCB2YWx1ZSBhcHBlYXJzLiBJdCBzaG91bGRuJ3QgYmUg dG9vIGxvbmcgc28KdGhpcyBzaG91bGRuJ3QgbWFrZSBtb2Rlc2V0cyBzdWJzdGFudGlhbGx5IGxv bmdlci4KCk9uZSBleHRyYSBjb21wbGljYXRpb24gaXMgaW50cm9kdWNlZCB3aGVuIHdlIGNyb3Nz IHRoZSBzdHJlYW1zLCBpZS4KZHJpdmUgcG9ydCBCIHdpdGggcGlwZSBCLiBJbiB0aGlzIGNhc2Ug d2UgdHJpY2sgQ0wyICh3aGVyZSB0aGUgRFBMTCBsaXZlcykKaW50byBsaWZlIGJ5IHRlbXBvcmFp bHkgcG93ZXJpbmcgdXAgdGhlIGxhbmVzIGluIHRoZSBzZWNvbmQgY2hhbm5lbCwKYW5kIG9uY2Ug dGhlIHBpcGUgaXMgdXAgYW5kIHJ1bm5pZ24gd2UgcmVsZWFzZSB0aGUgbGFuZSBwb3dlciBvdmVy cmlkZS4KQXQgdGhhdCBwb2ludCB0aGUgcG93ZXIgc3RhdGUgb2YgQ0wyIGhhcyBzb21laG93IGdv dHRlbiBlbnRhbmdsZWQgd2l0aAp0aGUgcG93ZXIgc3RhdGUgb2YgdGhlIGZpcnN0IGNoYW5uZWwu IFRoYXQgbWVhbnMgdGhhdCBjb25zdHJ1Y3RpbmcgdGhlCmV4cGVjdGVkIERJU1BMQVlfUEhZX1NU QVRVUyB2YWx1ZSBpcyBhIGJpdCB0cmlja3kgc2luY2UgYmFzZWQgb24gdGhlCmxhbmUgcG93ZXIg c3RhdGVzIGluIHRoZSBzZWNvbmQgY2hhbm5lbCwgQ0wyIHNob3VsZCBhbHNvIGJlIHBvd2VyZWQK ZG93bi4gQnV0IHdlIGNhbiB1c2UgdGhlIERQTEwgZW5hYmxlIGJpdCB0byBkZXRlcm1pbmUgd2hl biBDTDIgc2hvdWxkCmJlIGFsaXZlIGV2ZW4gaWYgdGhlIGxhbmVzIGFyZSBwb3dlcmVkIGRvd24u IEhvd2V2ZXIgdGhlIHBvd2VyIHN0YXRlCm9mIENMMiBpc24ndCBhY3R1YWxseSB0aWVkIGluIHdp dGggdGhlIERQTEwgc3RhdGUsIGJ1dCB0byB0aGUgc3RhdGUKb2YgdGhlIGxhbmVzIGluIGZpcnN0 IGNoYW5uZWwsIHNvIHdlIGhhdmUgdG8gYXZvaWQgY2hlY2tpbmcgdGhlCmV4cGVjdGVkIHN0YXRl IGJldHdlZW4gc2h1dHRpbmcgZG93biB0aGUgRFBMTCBhbmQgcG93ZXJpbmcgZG93bgp0aGUgbGFu ZXMgaW4gdGhlIGZpcnN0IGNoYW5uZWwuIFNvIG5vIGNhbGxpbmcgYXNzZXJ0X2Nodl9waHlfc3Rh dHVzKCkKYmVmb3JlIHRoZSBESVNQTEFZX1BIWV9DT05UUk9MIHdyaXRlIGluIGNodl9waHlfcG93 ZXJnYXRlX2xhbmVzKCksCmJ1dCBhZnRlciB0aGUgd3JpdGUgaXMgYSBzYWZlIHRpbWUgdG8gY2hl Y2suCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICAgICB8 ICAgMiArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCAxMjYgKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTExIGluc2Vy dGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDU4 NmEwZjcuLjQyOTEwNWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAtMjIwNiw2ICsyMjA2 LDggQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7CiAjZGVmaW5lICAgUEhZX0NPTV9MQU5F X1JFU0VUX0RFQVNTRVJUKHBoeSkJKDEgPDwgKHBoeSkpCiAjZGVmaW5lIERJU1BMQVlfUEhZX1NU QVRVUyAoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjAxMDQpCiAjZGVmaW5lICAgUEhZX1BPV0VSR09P RChwaHkpCSgoKHBoeSkgPT0gRFBJT19QSFkwKSA/ICgxPDwzMSkgOiAoMTw8MzApKQorI2RlZmlu ZSAgIFBIWV9TVEFUVVNfQ01OX0xETyhwaHksIGNoKSAgICAgICAgICAgICAgICAgICAoMSA8PCAo Ni0oNioocGh5KSszKihjaCkpKSkKKyNkZWZpbmUgICBQSFlfU1RBVFVTX1NQTElORV9MRE8ocGh5 LCBjaCwgc3BsaW5lKSAgICAgICAgKDEgPDwgKDgtKDYqKHBoeSkrMyooY2gpKyhzcGxpbmUpKSkp CiAKIC8qCiAgKiBUaGUgaTgzMCBnZW5lcmF0aW9uLCBpbiBMVkRTIG1vZGUsIGRlZmluZXMgUDEg YXMgdGhlIGJpdCBudW1iZXIgc2V0IHdpdGhpbgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVu dGltZV9wbS5jCmluZGV4IGExZDk2NzYuLmU2ZjFiNGVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcnVudGltZV9wbS5jCkBAIC05NDIsNiArOTQyLDEwNyBAQCBzdGF0aWMgdm9pZCB2bHZf ZHBpb19jbW5fcG93ZXJfd2VsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKIAl2bHZfc2V0X3Bvd2VyX3dlbGwoZGV2X3ByaXYsIHBvd2VyX3dlbGwsIGZhbHNlKTsK IH0KIAorI2RlZmluZSBQT1dFUl9ET01BSU5fTUFTSyAoQklUKFBPV0VSX0RPTUFJTl9OVU0pIC0g MSkKKworc3RhdGljIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKmxvb2t1cF9wb3dlcl93ZWxsKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkJCSBpbnQgcG93ZXJfd2VsbF9p ZCkKK3sKKwlzdHJ1Y3QgaTkxNV9wb3dlcl9kb21haW5zICpwb3dlcl9kb21haW5zID0gJmRldl9w cml2LT5wb3dlcl9kb21haW5zOworCXN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGw7 CisJaW50IGk7CisKKwlmb3JfZWFjaF9wb3dlcl93ZWxsKGksIHBvd2VyX3dlbGwsIFBPV0VSX0RP TUFJTl9NQVNLLCBwb3dlcl9kb21haW5zKSB7CisJCWlmIChwb3dlcl93ZWxsLT5kYXRhID09IHBv d2VyX3dlbGxfaWQpCisJCQlyZXR1cm4gcG93ZXJfd2VsbDsKKwl9CisKKwlyZXR1cm4gTlVMTDsK K30KKworI2RlZmluZSBCSVRTX1NFVCh2YWwsIGJpdHMpICgoKHZhbCkgJiAoYml0cykpID09IChi aXRzKSkKKworc3RhdGljIHZvaWQgYXNzZXJ0X2Nodl9waHlfc3RhdHVzKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpjbW5fYmMg PQorCQlsb29rdXBfcG93ZXJfd2VsbChkZXZfcHJpdiwgUFVOSVRfUE9XRVJfV0VMTF9EUElPX0NN Tl9CQyk7CisJc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqY21uX2QgPQorCQlsb29rdXBfcG93ZXJf d2VsbChkZXZfcHJpdiwgUFVOSVRfUE9XRVJfV0VMTF9EUElPX0NNTl9EKTsKKwl1MzIgcGh5X2Nv bnRyb2wgPSBkZXZfcHJpdi0+Y2h2X3BoeV9jb250cm9sOworCXUzMiBwaHlfc3RhdHVzID0gMDsK Kwl1MzIgdG1wOworCisJaWYgKGNtbl9iYy0+b3BzLT5pc19lbmFibGVkKGRldl9wcml2LCBjbW5f YmMpKSB7CisJCXBoeV9zdGF0dXMgfD0gUEhZX1BPV0VSR09PRChEUElPX1BIWTApOworCisJCS8q IHRoaXMgYXNzdW1lcyBvdmVycmlkZSBpcyBvbmx5IHVzZWQgdG8gZW5hYmxlIGxhbmVzICovCisJ CWlmICgocGh5X2NvbnRyb2wgJiBQSFlfQ0hfUE9XRVJfRE9XTl9PVlJEX0VOKERQSU9fUEhZMCwg RFBJT19DSDApKSA9PSAwKQorCQkJcGh5X2NvbnRyb2wgfD0gUEhZX0NIX1BPV0VSX0RPV05fT1ZS RCgweGYsIERQSU9fUEhZMCwgRFBJT19DSDApOworCisJCWlmICgocGh5X2NvbnRyb2wgJiBQSFlf Q0hfUE9XRVJfRE9XTl9PVlJEX0VOKERQSU9fUEhZMCwgRFBJT19DSDEpKSA9PSAwKQorCQkJcGh5 X2NvbnRyb2wgfD0gUEhZX0NIX1BPV0VSX0RPV05fT1ZSRCgweGYsIERQSU9fUEhZMCwgRFBJT19D SDEpOworCisJCS8qIENMMSBpcyBvbiB3aGVuZXZlciBhbnl0aGluZyBpcyBvbiBpbiBlaXRoZXIg Y2hhbm5lbCAqLworCQlpZiAoQklUU19TRVQocGh5X2NvbnRyb2wsCisJCQkgICAgIFBIWV9DSF9Q T1dFUl9ET1dOX09WUkQoMHhmLCBEUElPX1BIWTAsIERQSU9fQ0gwKSB8CisJCQkgICAgIFBIWV9D SF9QT1dFUl9ET1dOX09WUkQoMHhmLCBEUElPX1BIWTAsIERQSU9fQ0gxKSkpCisJCQlwaHlfc3Rh dHVzIHw9IFBIWV9TVEFUVVNfQ01OX0xETyhEUElPX1BIWTAsIERQSU9fQ0gwKTsKKworCQkvKgor CQkgKiBUaGUgRFBMTEIgY2hlY2sgYWNjb3VudHMgZm9yIHRoZSBwaXBlIEIgKyBwb3J0IEEgdXNh Z2UKKwkJICogd2l0aCBDTDIgcG93ZXJlZCB1cCBidXQgYWxsIHRoZSBsYW5lcyBpbiB0aGUgc2Vj b25kIGNoYW5uZWwKKwkJICogcG93ZXJlZCBkb3duLgorCQkgKi8KKwkJaWYgKEJJVFNfU0VUKHBo eV9jb250cm9sLAorCQkJICAgICBQSFlfQ0hfUE9XRVJfRE9XTl9PVlJEKDB4ZiwgRFBJT19QSFkw LCBEUElPX0NIMSkpICYmCisJCSAgICAoSTkxNV9SRUFEKERQTEwoUElQRV9CKSkgJiBEUExMX1ZD T19FTkFCTEUpID09IDApCisJCQlwaHlfc3RhdHVzIHw9IFBIWV9TVEFUVVNfQ01OX0xETyhEUElP X1BIWTAsIERQSU9fQ0gxKTsKKworCQlpZiAoQklUU19TRVQocGh5X2NvbnRyb2wsCisJCQkgICAg IFBIWV9DSF9QT1dFUl9ET1dOX09WUkQoMHgzLCBEUElPX1BIWTAsIERQSU9fQ0gwKSkpCisJCQlw aHlfc3RhdHVzIHw9IFBIWV9TVEFUVVNfU1BMSU5FX0xETyhEUElPX1BIWTAsIERQSU9fQ0gwLCAw KTsKKwkJaWYgKEJJVFNfU0VUKHBoeV9jb250cm9sLAorCQkJICAgICBQSFlfQ0hfUE9XRVJfRE9X Tl9PVlJEKDB4YywgRFBJT19QSFkwLCBEUElPX0NIMCkpKQorCQkJcGh5X3N0YXR1cyB8PSBQSFlf U1RBVFVTX1NQTElORV9MRE8oRFBJT19QSFkwLCBEUElPX0NIMCwgMSk7CisKKwkJaWYgKEJJVFNf U0VUKHBoeV9jb250cm9sLAorCQkJICAgICBQSFlfQ0hfUE9XRVJfRE9XTl9PVlJEKDB4MywgRFBJ T19QSFkwLCBEUElPX0NIMSkpKQorCQkJcGh5X3N0YXR1cyB8PSBQSFlfU1RBVFVTX1NQTElORV9M RE8oRFBJT19QSFkwLCBEUElPX0NIMSwgMCk7CisJCWlmIChCSVRTX1NFVChwaHlfY29udHJvbCwK KwkJCSAgICAgUEhZX0NIX1BPV0VSX0RPV05fT1ZSRCgweGMsIERQSU9fUEhZMCwgRFBJT19DSDEp KSkKKwkJCXBoeV9zdGF0dXMgfD0gUEhZX1NUQVRVU19TUExJTkVfTERPKERQSU9fUEhZMCwgRFBJ T19DSDEsIDEpOworCX0KKworCWlmIChjbW5fZC0+b3BzLT5pc19lbmFibGVkKGRldl9wcml2LCBj bW5fZCkpIHsKKwkJcGh5X3N0YXR1cyB8PSBQSFlfUE9XRVJHT09EKERQSU9fUEhZMSk7CisKKwkJ LyogdGhpcyBhc3N1bWVzIG92ZXJyaWRlIGlzIG9ubHkgdXNlZCB0byBlbmFibGUgbGFuZXMgKi8K KwkJaWYgKChwaHlfY29udHJvbCAmIFBIWV9DSF9QT1dFUl9ET1dOX09WUkRfRU4oRFBJT19QSFkx LCBEUElPX0NIMCkpID09IDApCisJCQlwaHlfY29udHJvbCB8PSBQSFlfQ0hfUE9XRVJfRE9XTl9P VlJEKDB4ZiwgRFBJT19QSFkxLCBEUElPX0NIMCk7CisKKwkJaWYgKEJJVFNfU0VUKHBoeV9jb250 cm9sLAorCQkJICAgICBQSFlfQ0hfUE9XRVJfRE9XTl9PVlJEKDB4ZiwgRFBJT19QSFkxLCBEUElP X0NIMCkpKQorCQkJcGh5X3N0YXR1cyB8PSBQSFlfU1RBVFVTX0NNTl9MRE8oRFBJT19QSFkxLCBE UElPX0NIMCk7CisKKwkJaWYgKEJJVFNfU0VUKHBoeV9jb250cm9sLAorCQkJICAgICBQSFlfQ0hf UE9XRVJfRE9XTl9PVlJEKDB4MywgRFBJT19QSFkxLCBEUElPX0NIMCkpKQorCQkJcGh5X3N0YXR1 cyB8PSBQSFlfU1RBVFVTX1NQTElORV9MRE8oRFBJT19QSFkxLCBEUElPX0NIMCwgMCk7CisJCWlm IChCSVRTX1NFVChwaHlfY29udHJvbCwKKwkJCSAgICAgUEhZX0NIX1BPV0VSX0RPV05fT1ZSRCgw eGMsIERQSU9fUEhZMSwgRFBJT19DSDApKSkKKwkJCXBoeV9zdGF0dXMgfD0gUEhZX1NUQVRVU19T UExJTkVfTERPKERQSU9fUEhZMSwgRFBJT19DSDAsIDEpOworCX0KKworCS8qCisJICogVGhlIFBI WSBtYXkgYmUgYnVzeSB3aXRoIHNvbWUgaW5pdGlhbCBjYWxpYnJhdGlvbiBhbmQgd2hhdG5vdCwK KwkgKiBzbyB0aGUgcG93ZXIgc3RhdGUgY2FuIHRha2UgYSB3aGlsZSB0byBhY3R1YWxseSBjaGFu Z2UuCisJICovCisJaWYgKHdhaXRfZm9yKCh0bXAgPSBJOTE1X1JFQUQoRElTUExBWV9QSFlfU1RB VFVTKSkgPT0gcGh5X3N0YXR1cywgMTApKQorCQlXQVJOKHBoeV9zdGF0dXMgIT0gdG1wLAorCQkg ICAgICJVbmV4cGVjdGVkIFBIWV9TVEFUVVMgMHglMDh4LCBleHBlY3RlZCAweCUwOHggKFBIWV9D T05UUk9MPTB4JTA4eClcbiIsCisJCSAgICAgdG1wLCBwaHlfc3RhdHVzLCBkZXZfcHJpdi0+Y2h2 X3BoeV9jb250cm9sKTsKK30KKworI3VuZGVmIEJJVFNfU0VUCisKIHN0YXRpYyB2b2lkIGNodl9k cGlvX2Ntbl9wb3dlcl93ZWxsX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJCQkJCSAgIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCiB7CkBAIC05 OTgsNiArMTA5OSw4IEBAIHN0YXRpYyB2b2lkIGNodl9kcGlvX2Ntbl9wb3dlcl93ZWxsX2VuYWJs ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAlEUk1fREVCVUdfS01TKCJF bmFibGVkIERQSU8gUEhZJWQgKFBIWV9DT05UUk9MPTB4JTA4eClcbiIsCiAJCSAgICAgIHBoeSwg ZGV2X3ByaXYtPmNodl9waHlfY29udHJvbCk7CisKKwlhc3NlcnRfY2h2X3BoeV9zdGF0dXMoZGV2 X3ByaXYpOwogfQogCiBzdGF0aWMgdm9pZCBjaHZfZHBpb19jbW5fcG93ZXJfd2VsbF9kaXNhYmxl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKQEAgLTEwMjQsNiArMTEyNyw4IEBA IHN0YXRpYyB2b2lkIGNodl9kcGlvX2Ntbl9wb3dlcl93ZWxsX2Rpc2FibGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogCiAJRFJNX0RFQlVHX0tNUygiRGlzYWJsZWQgRFBJTyBQ SFklZCAoUEhZX0NPTlRST0w9MHglMDh4KVxuIiwKIAkJICAgICAgcGh5LCBkZXZfcHJpdi0+Y2h2 X3BoeV9jb250cm9sKTsKKworCWFzc2VydF9jaHZfcGh5X3N0YXR1cyhkZXZfcHJpdik7CiB9CiAK IHN0YXRpYyB2b2lkIGFzc2VydF9jaHZfcGh5X3Bvd2VyZ2F0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsIGVudW0gZHBpb19waHkgcGh5LApAQCAtMTEwMSw2ICsxMjA2LDggQEAg Ym9vbCBjaHZfcGh5X3Bvd2VyZ2F0ZV9jaChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIGVudW0gZHBpb19waHkgcGh5LAogCURSTV9ERUJVR19LTVMoIlBvd2VyIGdhdGluZyBEUElP IFBIWSVkIENIJWQgKERQSU9fUEhZX0NPTlRST0w9MHglMDh4KVxuIiwKIAkJICAgICAgcGh5LCBj aCwgZGV2X3ByaXYtPmNodl9waHlfY29udHJvbCk7CiAKKwlhc3NlcnRfY2h2X3BoeV9zdGF0dXMo ZGV2X3ByaXYpOworCiBvdXQ6CiAJbXV0ZXhfdW5sb2NrKCZwb3dlcl9kb21haW5zLT5sb2NrKTsK IApAQCAtMTEzMCw2ICsxMjM3LDggQEAgdm9pZCBjaHZfcGh5X3Bvd2VyZ2F0ZV9sYW5lcyhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlEUk1fREVCVUdfS01TKCJQb3dlciBnYXRpbmcg RFBJTyBQSFklZCBDSCVkIGxhbmVzIDB4JXggKFBIWV9DT05UUk9MPTB4JTA4eClcbiIsCiAJCSAg ICAgIHBoeSwgY2gsIG1hc2ssIGRldl9wcml2LT5jaHZfcGh5X2NvbnRyb2wpOwogCisJYXNzZXJ0 X2Nodl9waHlfc3RhdHVzKGRldl9wcml2KTsKKwogCWFzc2VydF9jaHZfcGh5X3Bvd2VyZ2F0ZShk ZXZfcHJpdiwgcGh5LCBjaCwgb3ZlcnJpZGUsIG1hc2spOwogCiAJbXV0ZXhfdW5sb2NrKCZwb3dl cl9kb21haW5zLT5sb2NrKTsKQEAgLTEzMDIsOCArMTQxMSw2IEBAIHZvaWQgaW50ZWxfZGlzcGxh eV9wb3dlcl9wdXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWludGVsX3J1 bnRpbWVfcG1fcHV0KGRldl9wcml2KTsKIH0KIAotI2RlZmluZSBQT1dFUl9ET01BSU5fTUFTSyAo QklUKFBPV0VSX0RPTUFJTl9OVU0pIC0gMSkKLQogI2RlZmluZSBIU1dfQUxXQVlTX09OX1BPV0VS X0RPTUFJTlMgKAkJCVwKIAlCSVQoUE9XRVJfRE9NQUlOX1BJUEVfQSkgfAkJCVwKIAlCSVQoUE9X RVJfRE9NQUlOX1RSQU5TQ09ERVJfRURQKSB8CQlcCkBAIC0xNTY1LDIxICsxNjcyLDYgQEAgc3Rh dGljIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgY2h2X3Bvd2VyX3dlbGxzW10gPSB7CiAJfSwKIH07 CiAKLXN0YXRpYyBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpsb29rdXBfcG93ZXJfd2VsbChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkJCQkgaW50IHBvd2VyX3dlbGxfaWQp Ci17Ci0Jc3RydWN0IGk5MTVfcG93ZXJfZG9tYWlucyAqcG93ZXJfZG9tYWlucyA9ICZkZXZfcHJp di0+cG93ZXJfZG9tYWluczsKLQlzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpwb3dlcl93ZWxsOwot CWludCBpOwotCi0JZm9yX2VhY2hfcG93ZXJfd2VsbChpLCBwb3dlcl93ZWxsLCBQT1dFUl9ET01B SU5fTUFTSywgcG93ZXJfZG9tYWlucykgewotCQlpZiAocG93ZXJfd2VsbC0+ZGF0YSA9PSBwb3dl cl93ZWxsX2lkKQotCQkJcmV0dXJuIHBvd2VyX3dlbGw7Ci0JfQotCi0JcmV0dXJuIE5VTEw7Ci19 Ci0KIGJvb2wgaW50ZWxfZGlzcGxheV9wb3dlcl93ZWxsX2lzX2VuYWJsZWQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgICBpbnQgcG93ZXJfd2VsbF9pZCkKIHsKLS0g CjIuMy42CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=