From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 15/15] drm/i915: Add CHV PHY LDO power sanity checks Date: Tue, 1 Sep 2015 11:45:43 +0200 Message-ID: <20150901094543.GM1367@phenom.ffwll.local> References: <1436388361-11130-1-git-send-email-ville.syrjala@linux.intel.com> <1436388361-11130-16-git-send-email-ville.syrjala@linux.intel.com> <55DE9489.2040909@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f178.google.com (mail-wi0-f178.google.com [209.85.212.178]) by gabe.freedesktop.org (Postfix) with ESMTPS id E14FA6E4ED for ; Tue, 1 Sep 2015 02:45:46 -0700 (PDT) Received: by wicmc4 with SMTP id mc4so26527570wic.0 for ; Tue, 01 Sep 2015 02:45:45 -0700 (PDT) Content-Disposition: inline In-Reply-To: <55DE9489.2040909@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: Deepak Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBBdWcgMjcsIDIwMTUgYXQgMTA6MDk6MzdBTSArMDUzMCwgRGVlcGFrIHdyb3RlOgo+ IAo+IAo+IE9uIDA3LzA5LzIwMTUgMDI6MTYgQU0sIHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tIHdyb3RlOgo+ID5Gcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgo+ID4KPiA+QXQgdmFyaW91cyBwb2ludHMgd2hlbiBjaGFuZ2luZyB0aGUgRFBJ TyBsYW5lL3BoeSBwb3dlciBzdGF0ZXMsCj4gPmNvbnN0cnVjdCBhbiBleHBlY3RlZCB2YWx1ZSBv ZiB0aGUgRElTUExBWV9QSFlfU1RBVFVTIHJlZ2lzdGVyCj4gPmFuZCBjb21wYXJlIGl0IHdpdGgg dGhlIHJlYWwgdGhpbmcuCj4gPgo+ID5UbyBjb25zdHJ1Y3QgdGhlIGV4cGVjdGVkIHZhbHVlIHdl IGxvb2sgYXQgb3VyIHNoYWRvdyBQSFlfQ09OVFJPTAo+ID5yZWdpc3RlciB2YWx1ZSAod2hpY2gg c2hvdWxkIG1hdGNoIHdoYXQgd2UndmUganVzdCB3cml0dGVuIHRvIHRoZQo+ID5oYXJkd2FyZSks IGFuZCB3ZSBhbHNvIG5lZWQgdG8gbG9vayBhdCB0aGUgYWN0dWFsIHN0YXRlIG9mIHRoZSBjbW4K PiA+cG93ZXIgd2VsbHMgYXMgYSBkaXNhYmxlZCBwb3dlciB3ZWxsIGNhdXNlcyB0aGUgcmVsZXZh bnQgTERPIHN0YXR1cwo+ID50byBiZSByZXBvcnRlZCBhcyAnb24nIGluIERJU1BMQVlfUEhZX1NU QVRVUy4KPiA+Cj4gPldoZW4gaW5pdGlhbGx5IHBvd2VyaW5nIHVwIHRoZSBQSFkgaXQgcGVyZm9y bXMgdmFyaW91cyBpbnRlcm5hbAo+ID5jYWxpYnJhdGlvbnMgZm9yIHdoaWNoIGl0IGZ1bGx5IHBv d2VycyB1cC4gVGhhdCBtZWFucyB0aGF0IGlmIHdlIGNoZWNrCj4gPmZvciB0aGUgZXhwZXRlY3Rl ZCBwb3dlciBzdGF0ZSBpbW1lZGlhdGVseSB1cG9uIHJlbGVhc2luZyBjbW5yZXNldCB3ZQo+ID53 b3VsZCBnZXQgdGhlIG9jY2FzaW9uYWwgZmFsc2UgcG9zaXRpdmUuIEJ1dCB3ZSBjYW4gb2YgY291 cnNlCj4gPnBvbGwgdW50aWwgdGhlIGV4cGVjdGVkIHZhbHVlIGFwcGVhcnMuIEl0IHNob3VsZG4n dCBiZSB0b28gbG9uZyBzbwo+ID50aGlzIHNob3VsZG4ndCBtYWtlIG1vZGVzZXRzIHN1YnN0YW50 aWFsbHkgbG9uZ2VyLgo+ID4KPiA+T25lIGV4dHJhIGNvbXBsaWNhdGlvbiBpcyBpbnRyb2R1Y2Vk IHdoZW4gd2UgY3Jvc3MgdGhlIHN0cmVhbXMsIGllLgo+ID5kcml2ZSBwb3J0IEIgd2l0aCBwaXBl IEIuIEluIHRoaXMgY2FzZSB3ZSB0cmljayBDTDIgKHdoZXJlIHRoZSBEUExMIGxpdmVzKQo+ID5p bnRvIGxpZmUgYnkgdGVtcG9yYWlseSBwb3dlcmluZyB1cCB0aGUgbGFuZXMgaW4gdGhlIHNlY29u ZCBjaGFubmVsLAo+ID5hbmQgb25jZSB0aGUgcGlwZSBpcyB1cCBhbmQgcnVubmlnbiB3ZSByZWxl YXNlIHRoZSBsYW5lIHBvd2VyIG92ZXJyaWRlLgo+ID5BdCB0aGF0IHBvaW50IHRoZSBwb3dlciBz dGF0ZSBvZiBDTDIgaGFzIHNvbWVob3cgZ290dGVuIGVudGFuZ2xlZCB3aXRoCj4gPnRoZSBwb3dl ciBzdGF0ZSBvZiB0aGUgZmlyc3QgY2hhbm5lbC4gVGhhdCBtZWFucyB0aGF0IGNvbnN0cnVjdGlu ZyB0aGUKPiA+ZXhwZWN0ZWQgRElTUExBWV9QSFlfU1RBVFVTIHZhbHVlIGlzIGEgYml0IHRyaWNr eSBzaW5jZSBiYXNlZCBvbiB0aGUKPiA+bGFuZSBwb3dlciBzdGF0ZXMgaW4gdGhlIHNlY29uZCBj aGFubmVsLCBDTDIgc2hvdWxkIGFsc28gYmUgcG93ZXJlZAo+ID5kb3duLiBCdXQgd2UgY2FuIHVz ZSB0aGUgRFBMTCBlbmFibGUgYml0IHRvIGRldGVybWluZSB3aGVuIENMMiBzaG91bGQKPiA+YmUg YWxpdmUgZXZlbiBpZiB0aGUgbGFuZXMgYXJlIHBvd2VyZWQgZG93bi4gSG93ZXZlciB0aGUgcG93 ZXIgc3RhdGUKPiA+b2YgQ0wyIGlzbid0IGFjdHVhbGx5IHRpZWQgaW4gd2l0aCB0aGUgRFBMTCBz dGF0ZSwgYnV0IHRvIHRoZSBzdGF0ZQo+ID5vZiB0aGUgbGFuZXMgaW4gZmlyc3QgY2hhbm5lbCwg c28gd2UgaGF2ZSB0byBhdm9pZCBjaGVja2luZyB0aGUKPiA+ZXhwZWN0ZWQgc3RhdGUgYmV0d2Vl biBzaHV0dGluZyBkb3duIHRoZSBEUExMIGFuZCBwb3dlcmluZyBkb3duCj4gPnRoZSBsYW5lcyBp biB0aGUgZmlyc3QgY2hhbm5lbC4gU28gbm8gY2FsbGluZyBhc3NlcnRfY2h2X3BoeV9zdGF0dXMo KQo+ID5iZWZvcmUgdGhlIERJU1BMQVlfUEhZX0NPTlRST0wgd3JpdGUgaW4gY2h2X3BoeV9wb3dl cmdhdGVfbGFuZXMoKSwKPiA+YnV0IGFmdGVyIHRoZSB3cml0ZSBpcyBhIHNhZmUgdGltZSB0byBj aGVjay4KPiA+Cj4gPlNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFs YUBsaW51eC5pbnRlbC5jb20+CgpSZW1haW5pbmcgMyBwYXRjaGVzIHB1bGxlZCBpbnRvIGRpbnEs IHRoYW5rcy4KLURhbmllbAoKPiA+LS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCAgICAgICAgIHwgICAyICsKPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50 aW1lX3BtLmMgfCAxMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KPiA+ICAyIGZp bGVzIGNoYW5nZWQsIDExMSBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKPiA+Cj4gPmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID5pbmRleCA1ODZhMGY3Li40MjkxMDVlIDEwMDY0NAo+ID4t LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+QEAgLTIyMDYsNiArMjIwNiw4IEBAIGVudW0gc2tsX2Rp c3BfcG93ZXJfd2VsbHMgewo+ID4gICNkZWZpbmUgICBQSFlfQ09NX0xBTkVfUkVTRVRfREVBU1NF UlQocGh5KQkoMSA8PCAocGh5KSkKPiA+ICAjZGVmaW5lIERJU1BMQVlfUEhZX1NUQVRVUyAoVkxW X0RJU1BMQVlfQkFTRSArIDB4NjAxMDQpCj4gPiAgI2RlZmluZSAgIFBIWV9QT1dFUkdPT0QocGh5 KQkoKChwaHkpID09IERQSU9fUEhZMCkgPyAoMTw8MzEpIDogKDE8PDMwKSkKPiA+KyNkZWZpbmUg ICBQSFlfU1RBVFVTX0NNTl9MRE8ocGh5LCBjaCkgICAgICAgICAgICAgICAgICAgKDEgPDwgKDYt KDYqKHBoeSkrMyooY2gpKSkpCj4gPisjZGVmaW5lICAgUEhZX1NUQVRVU19TUExJTkVfTERPKHBo eSwgY2gsIHNwbGluZSkgICAgICAgICgxIDw8ICg4LSg2KihwaHkpKzMqKGNoKSsoc3BsaW5lKSkp KQo+ID4gIC8qCj4gPiAgICogVGhlIGk4MzAgZ2VuZXJhdGlvbiwgaW4gTFZEUyBtb2RlLCBkZWZp bmVzIFAxIGFzIHRoZSBiaXQgbnVtYmVyIHNldCB3aXRoaW4KPiA+ZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3J1bnRpbWVfcG0uYwo+ID5pbmRleCBhMWQ5Njc2Li5lNmYxYjRlZSAxMDA2NDQKPiA+ LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gPisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ID5AQCAtOTQyLDYgKzk0Miwx MDcgQEAgc3RhdGljIHZvaWQgdmx2X2RwaW9fY21uX3Bvd2VyX3dlbGxfZGlzYWJsZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiAgCXZsdl9zZXRfcG93ZXJfd2VsbChkZXZf cHJpdiwgcG93ZXJfd2VsbCwgZmFsc2UpOwo+ID4gIH0KPiA+KyNkZWZpbmUgUE9XRVJfRE9NQUlO X01BU0sgKEJJVChQT1dFUl9ET01BSU5fTlVNKSAtIDEpCj4gPisKPiA+K3N0YXRpYyBzdHJ1Y3Qg aTkxNV9wb3dlcl93ZWxsICpsb29rdXBfcG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gPisJCQkJCQkgaW50IHBvd2VyX3dlbGxfaWQpCj4gPit7Cj4gPisJc3Ry dWN0IGk5MTVfcG93ZXJfZG9tYWlucyAqcG93ZXJfZG9tYWlucyA9ICZkZXZfcHJpdi0+cG93ZXJf ZG9tYWluczsKPiA+KwlzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpwb3dlcl93ZWxsOwo+ID4rCWlu dCBpOwo+ID4rCj4gPisJZm9yX2VhY2hfcG93ZXJfd2VsbChpLCBwb3dlcl93ZWxsLCBQT1dFUl9E T01BSU5fTUFTSywgcG93ZXJfZG9tYWlucykgewo+ID4rCQlpZiAocG93ZXJfd2VsbC0+ZGF0YSA9 PSBwb3dlcl93ZWxsX2lkKQo+ID4rCQkJcmV0dXJuIHBvd2VyX3dlbGw7Cj4gPisJfQo+ID4rCj4g PisJcmV0dXJuIE5VTEw7Cj4gPit9Cj4gPisKPiA+KyNkZWZpbmUgQklUU19TRVQodmFsLCBiaXRz KSAoKCh2YWwpICYgKGJpdHMpKSA9PSAoYml0cykpCj4gPisKPiA+K3N0YXRpYyB2b2lkIGFzc2Vy dF9jaHZfcGh5X3N0YXR1cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPit7 Cj4gPisJc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqY21uX2JjID0KPiA+KwkJbG9va3VwX3Bvd2Vy X3dlbGwoZGV2X3ByaXYsIFBVTklUX1BPV0VSX1dFTExfRFBJT19DTU5fQkMpOwo+ID4rCXN0cnVj dCBpOTE1X3Bvd2VyX3dlbGwgKmNtbl9kID0KPiA+KwkJbG9va3VwX3Bvd2VyX3dlbGwoZGV2X3By aXYsIFBVTklUX1BPV0VSX1dFTExfRFBJT19DTU5fRCk7Cj4gPisJdTMyIHBoeV9jb250cm9sID0g ZGV2X3ByaXYtPmNodl9waHlfY29udHJvbDsKPiA+Kwl1MzIgcGh5X3N0YXR1cyA9IDA7Cj4gPisJ dTMyIHRtcDsKPiA+Kwo+ID4rCWlmIChjbW5fYmMtPm9wcy0+aXNfZW5hYmxlZChkZXZfcHJpdiwg Y21uX2JjKSkgewo+ID4rCQlwaHlfc3RhdHVzIHw9IFBIWV9QT1dFUkdPT0QoRFBJT19QSFkwKTsK PiA+Kwo+ID4rCQkvKiB0aGlzIGFzc3VtZXMgb3ZlcnJpZGUgaXMgb25seSB1c2VkIHRvIGVuYWJs ZSBsYW5lcyAqLwo+ID4rCQlpZiAoKHBoeV9jb250cm9sICYgUEhZX0NIX1BPV0VSX0RPV05fT1ZS RF9FTihEUElPX1BIWTAsIERQSU9fQ0gwKSkgPT0gMCkKPiA+KwkJCXBoeV9jb250cm9sIHw9IFBI WV9DSF9QT1dFUl9ET1dOX09WUkQoMHhmLCBEUElPX1BIWTAsIERQSU9fQ0gwKTsKPiA+Kwo+ID4r CQlpZiAoKHBoeV9jb250cm9sICYgUEhZX0NIX1BPV0VSX0RPV05fT1ZSRF9FTihEUElPX1BIWTAs IERQSU9fQ0gxKSkgPT0gMCkKPiA+KwkJCXBoeV9jb250cm9sIHw9IFBIWV9DSF9QT1dFUl9ET1dO X09WUkQoMHhmLCBEUElPX1BIWTAsIERQSU9fQ0gxKTsKPiA+Kwo+ID4rCQkvKiBDTDEgaXMgb24g d2hlbmV2ZXIgYW55dGhpbmcgaXMgb24gaW4gZWl0aGVyIGNoYW5uZWwgKi8KPiA+KwkJaWYgKEJJ VFNfU0VUKHBoeV9jb250cm9sLAo+ID4rCQkJICAgICBQSFlfQ0hfUE9XRVJfRE9XTl9PVlJEKDB4 ZiwgRFBJT19QSFkwLCBEUElPX0NIMCkgfAo+ID4rCQkJICAgICBQSFlfQ0hfUE9XRVJfRE9XTl9P VlJEKDB4ZiwgRFBJT19QSFkwLCBEUElPX0NIMSkpKQo+ID4rCQkJcGh5X3N0YXR1cyB8PSBQSFlf U1RBVFVTX0NNTl9MRE8oRFBJT19QSFkwLCBEUElPX0NIMCk7Cj4gPisKPiA+KwkJLyoKPiA+KwkJ ICogVGhlIERQTExCIGNoZWNrIGFjY291bnRzIGZvciB0aGUgcGlwZSBCICsgcG9ydCBBIHVzYWdl Cj4gPisJCSAqIHdpdGggQ0wyIHBvd2VyZWQgdXAgYnV0IGFsbCB0aGUgbGFuZXMgaW4gdGhlIHNl Y29uZCBjaGFubmVsCj4gPisJCSAqIHBvd2VyZWQgZG93bi4KPiA+KwkJICovCj4gPisJCWlmIChC SVRTX1NFVChwaHlfY29udHJvbCwKPiA+KwkJCSAgICAgUEhZX0NIX1BPV0VSX0RPV05fT1ZSRCgw eGYsIERQSU9fUEhZMCwgRFBJT19DSDEpKSAmJgo+ID4rCQkgICAgKEk5MTVfUkVBRChEUExMKFBJ UEVfQikpICYgRFBMTF9WQ09fRU5BQkxFKSA9PSAwKQo+ID4rCQkJcGh5X3N0YXR1cyB8PSBQSFlf U1RBVFVTX0NNTl9MRE8oRFBJT19QSFkwLCBEUElPX0NIMSk7Cj4gPisKPiA+KwkJaWYgKEJJVFNf U0VUKHBoeV9jb250cm9sLAo+ID4rCQkJICAgICBQSFlfQ0hfUE9XRVJfRE9XTl9PVlJEKDB4Mywg RFBJT19QSFkwLCBEUElPX0NIMCkpKQo+ID4rCQkJcGh5X3N0YXR1cyB8PSBQSFlfU1RBVFVTX1NQ TElORV9MRE8oRFBJT19QSFkwLCBEUElPX0NIMCwgMCk7Cj4gPisJCWlmIChCSVRTX1NFVChwaHlf Y29udHJvbCwKPiA+KwkJCSAgICAgUEhZX0NIX1BPV0VSX0RPV05fT1ZSRCgweGMsIERQSU9fUEhZ MCwgRFBJT19DSDApKSkKPiA+KwkJCXBoeV9zdGF0dXMgfD0gUEhZX1NUQVRVU19TUExJTkVfTERP KERQSU9fUEhZMCwgRFBJT19DSDAsIDEpOwo+ID4rCj4gPisJCWlmIChCSVRTX1NFVChwaHlfY29u dHJvbCwKPiA+KwkJCSAgICAgUEhZX0NIX1BPV0VSX0RPV05fT1ZSRCgweDMsIERQSU9fUEhZMCwg RFBJT19DSDEpKSkKPiA+KwkJCXBoeV9zdGF0dXMgfD0gUEhZX1NUQVRVU19TUExJTkVfTERPKERQ SU9fUEhZMCwgRFBJT19DSDEsIDApOwo+ID4rCQlpZiAoQklUU19TRVQocGh5X2NvbnRyb2wsCj4g PisJCQkgICAgIFBIWV9DSF9QT1dFUl9ET1dOX09WUkQoMHhjLCBEUElPX1BIWTAsIERQSU9fQ0gx KSkpCj4gPisJCQlwaHlfc3RhdHVzIHw9IFBIWV9TVEFUVVNfU1BMSU5FX0xETyhEUElPX1BIWTAs IERQSU9fQ0gxLCAxKTsKPiA+Kwl9Cj4gPisKPiA+KwlpZiAoY21uX2QtPm9wcy0+aXNfZW5hYmxl ZChkZXZfcHJpdiwgY21uX2QpKSB7Cj4gPisJCXBoeV9zdGF0dXMgfD0gUEhZX1BPV0VSR09PRChE UElPX1BIWTEpOwo+ID4rCj4gPisJCS8qIHRoaXMgYXNzdW1lcyBvdmVycmlkZSBpcyBvbmx5IHVz ZWQgdG8gZW5hYmxlIGxhbmVzICovCj4gPisJCWlmICgocGh5X2NvbnRyb2wgJiBQSFlfQ0hfUE9X RVJfRE9XTl9PVlJEX0VOKERQSU9fUEhZMSwgRFBJT19DSDApKSA9PSAwKQo+ID4rCQkJcGh5X2Nv bnRyb2wgfD0gUEhZX0NIX1BPV0VSX0RPV05fT1ZSRCgweGYsIERQSU9fUEhZMSwgRFBJT19DSDAp Owo+ID4rCj4gPisJCWlmIChCSVRTX1NFVChwaHlfY29udHJvbCwKPiA+KwkJCSAgICAgUEhZX0NI X1BPV0VSX0RPV05fT1ZSRCgweGYsIERQSU9fUEhZMSwgRFBJT19DSDApKSkKPiA+KwkJCXBoeV9z dGF0dXMgfD0gUEhZX1NUQVRVU19DTU5fTERPKERQSU9fUEhZMSwgRFBJT19DSDApOwo+ID4rCj4g PisJCWlmIChCSVRTX1NFVChwaHlfY29udHJvbCwKPiA+KwkJCSAgICAgUEhZX0NIX1BPV0VSX0RP V05fT1ZSRCgweDMsIERQSU9fUEhZMSwgRFBJT19DSDApKSkKPiA+KwkJCXBoeV9zdGF0dXMgfD0g UEhZX1NUQVRVU19TUExJTkVfTERPKERQSU9fUEhZMSwgRFBJT19DSDAsIDApOwo+ID4rCQlpZiAo QklUU19TRVQocGh5X2NvbnRyb2wsCj4gPisJCQkgICAgIFBIWV9DSF9QT1dFUl9ET1dOX09WUkQo MHhjLCBEUElPX1BIWTEsIERQSU9fQ0gwKSkpCj4gPisJCQlwaHlfc3RhdHVzIHw9IFBIWV9TVEFU VVNfU1BMSU5FX0xETyhEUElPX1BIWTEsIERQSU9fQ0gwLCAxKTsKPiA+Kwl9Cj4gPisKPiA+Kwkv Kgo+ID4rCSAqIFRoZSBQSFkgbWF5IGJlIGJ1c3kgd2l0aCBzb21lIGluaXRpYWwgY2FsaWJyYXRp b24gYW5kIHdoYXRub3QsCj4gPisJICogc28gdGhlIHBvd2VyIHN0YXRlIGNhbiB0YWtlIGEgd2hp bGUgdG8gYWN0dWFsbHkgY2hhbmdlLgo+ID4rCSAqLwo+ID4rCWlmICh3YWl0X2ZvcigodG1wID0g STkxNV9SRUFEKERJU1BMQVlfUEhZX1NUQVRVUykpID09IHBoeV9zdGF0dXMsIDEwKSkKPiA+KwkJ V0FSTihwaHlfc3RhdHVzICE9IHRtcCwKPiA+KwkJICAgICAiVW5leHBlY3RlZCBQSFlfU1RBVFVT IDB4JTA4eCwgZXhwZWN0ZWQgMHglMDh4IChQSFlfQ09OVFJPTD0weCUwOHgpXG4iLAo+ID4rCQkg ICAgIHRtcCwgcGh5X3N0YXR1cywgZGV2X3ByaXYtPmNodl9waHlfY29udHJvbCk7Cj4gPit9Cj4g PisKPiA+KyN1bmRlZiBCSVRTX1NFVAo+ID4rCj4gPiAgc3RhdGljIHZvaWQgY2h2X2RwaW9fY21u X3Bvd2VyX3dlbGxfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ ICAJCQkJCSAgIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCj4gPiAgewo+ID5A QCAtOTk4LDYgKzEwOTksOCBAQCBzdGF0aWMgdm9pZCBjaHZfZHBpb19jbW5fcG93ZXJfd2VsbF9l bmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gIAlEUk1fREVCVUdf S01TKCJFbmFibGVkIERQSU8gUEhZJWQgKFBIWV9DT05UUk9MPTB4JTA4eClcbiIsCj4gPiAgCQkg ICAgICBwaHksIGRldl9wcml2LT5jaHZfcGh5X2NvbnRyb2wpOwo+ID4rCj4gPisJYXNzZXJ0X2No dl9waHlfc3RhdHVzKGRldl9wcml2KTsKPiA+ICB9Cj4gPiAgc3RhdGljIHZvaWQgY2h2X2RwaW9f Y21uX3Bvd2VyX3dlbGxfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs Cj4gPkBAIC0xMDI0LDYgKzExMjcsOCBAQCBzdGF0aWMgdm9pZCBjaHZfZHBpb19jbW5fcG93ZXJf d2VsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ICAJRFJN X0RFQlVHX0tNUygiRGlzYWJsZWQgRFBJTyBQSFklZCAoUEhZX0NPTlRST0w9MHglMDh4KVxuIiwK PiA+ICAJCSAgICAgIHBoeSwgZGV2X3ByaXYtPmNodl9waHlfY29udHJvbCk7Cj4gPisKPiA+Kwlh c3NlcnRfY2h2X3BoeV9zdGF0dXMoZGV2X3ByaXYpOwo+ID4gIH0KPiA+ICBzdGF0aWMgdm9pZCBh c3NlcnRfY2h2X3BoeV9wb3dlcmdhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCBlbnVtIGRwaW9fcGh5IHBoeSwKPiA+QEAgLTExMDEsNiArMTIwNiw4IEBAIGJvb2wgY2h2X3Bo eV9wb3dlcmdhdGVfY2goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIGRw aW9fcGh5IHBoeSwKPiA+ICAJRFJNX0RFQlVHX0tNUygiUG93ZXIgZ2F0aW5nIERQSU8gUEhZJWQg Q0glZCAoRFBJT19QSFlfQ09OVFJPTD0weCUwOHgpXG4iLAo+ID4gIAkJICAgICAgcGh5LCBjaCwg ZGV2X3ByaXYtPmNodl9waHlfY29udHJvbCk7Cj4gPisJYXNzZXJ0X2Nodl9waHlfc3RhdHVzKGRl dl9wcml2KTsKPiA+Kwo+ID4gIG91dDoKPiA+ICAJbXV0ZXhfdW5sb2NrKCZwb3dlcl9kb21haW5z LT5sb2NrKTsKPiA+QEAgLTExMzAsNiArMTIzNyw4IEBAIHZvaWQgY2h2X3BoeV9wb3dlcmdhdGVf bGFuZXMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCURSTV9ERUJVR19LTVMo IlBvd2VyIGdhdGluZyBEUElPIFBIWSVkIENIJWQgbGFuZXMgMHgleCAoUEhZX0NPTlRST0w9MHgl MDh4KVxuIiwKPiA+ICAJCSAgICAgIHBoeSwgY2gsIG1hc2ssIGRldl9wcml2LT5jaHZfcGh5X2Nv bnRyb2wpOwo+ID4rCWFzc2VydF9jaHZfcGh5X3N0YXR1cyhkZXZfcHJpdik7Cj4gPisKPiBQYXRj aCBsb29rcyBmaW5lIHdpdGggYXNzZXJ0aW9uIGF0IHJpZ2h0IHBsYWNlcwo+IFJldmlld2VkLWJ5 OiBEZWVwYWsgUyA8ZGVlcGFrLnNAbGludXguaW50ZWwuY29tPgo+ID4gIAlhc3NlcnRfY2h2X3Bo eV9wb3dlcmdhdGUoZGV2X3ByaXYsIHBoeSwgY2gsIG92ZXJyaWRlLCBtYXNrKTsKPiA+ICAJbXV0 ZXhfdW5sb2NrKCZwb3dlcl9kb21haW5zLT5sb2NrKTsKPiA+QEAgLTEzMDIsOCArMTQxMSw2IEBA IHZvaWQgaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAo+ID4gIAlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7Cj4gPiAgfQo+ID4t I2RlZmluZSBQT1dFUl9ET01BSU5fTUFTSyAoQklUKFBPV0VSX0RPTUFJTl9OVU0pIC0gMSkKPiA+ LQo+ID4gICNkZWZpbmUgSFNXX0FMV0FZU19PTl9QT1dFUl9ET01BSU5TICgJCQlcCj4gPiAgCUJJ VChQT1dFUl9ET01BSU5fUElQRV9BKSB8CQkJXAo+ID4gIAlCSVQoUE9XRVJfRE9NQUlOX1RSQU5T Q09ERVJfRURQKSB8CQlcCj4gPkBAIC0xNTY1LDIxICsxNjcyLDYgQEAgc3RhdGljIHN0cnVjdCBp OTE1X3Bvd2VyX3dlbGwgY2h2X3Bvd2VyX3dlbGxzW10gPSB7Cj4gPiAgCX0sCj4gPiAgfTsKPiA+ LXN0YXRpYyBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpsb29rdXBfcG93ZXJfd2VsbChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPi0JCQkJCQkgaW50IHBvd2VyX3dlbGxfaWQp Cj4gPi17Cj4gPi0Jc3RydWN0IGk5MTVfcG93ZXJfZG9tYWlucyAqcG93ZXJfZG9tYWlucyA9ICZk ZXZfcHJpdi0+cG93ZXJfZG9tYWluczsKPiA+LQlzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpwb3dl cl93ZWxsOwo+ID4tCWludCBpOwo+ID4tCj4gPi0JZm9yX2VhY2hfcG93ZXJfd2VsbChpLCBwb3dl cl93ZWxsLCBQT1dFUl9ET01BSU5fTUFTSywgcG93ZXJfZG9tYWlucykgewo+ID4tCQlpZiAocG93 ZXJfd2VsbC0+ZGF0YSA9PSBwb3dlcl93ZWxsX2lkKQo+ID4tCQkJcmV0dXJuIHBvd2VyX3dlbGw7 Cj4gPi0JfQo+ID4tCj4gPi0JcmV0dXJuIE5VTEw7Cj4gPi19Cj4gPi0KPiA+ICBib29sIGludGVs X2Rpc3BsYXlfcG93ZXJfd2VsbF9pc19lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKPiA+ICAJCQkJICAgIGludCBwb3dlcl93ZWxsX2lkKQo+ID4gIHsKPiAKPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBt YWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCkRhbmll bCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9n LmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==