From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 4/4] drm/i915: Kill intel_dp_dpcd_read_wake Date: Wed, 21 Oct 2015 17:34:13 +0300 Message-ID: <20151021143413.GJ26517@intel.com> References: <1445448534-2376-1-git-send-email-rodrigo.vivi@intel.com> <1445448534-2376-5-git-send-email-rodrigo.vivi@intel.com> <20151021092316.GY26517@intel.com> <1445438015.24860.102.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 018756EE43 for ; Wed, 21 Oct 2015 07:34:29 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1445438015.24860.102.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Vivi, Rodrigo" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBPY3QgMjEsIDIwMTUgYXQgMDI6MzE6MzNQTSArMDAwMCwgVml2aSwgUm9kcmlnbyB3 cm90ZToKPiBPbiBXZWQsIDIwMTUtMTAtMjEgYXQgMTI6MjMgKzAzMDAsIFZpbGxlIFN5cmrDpGzD pCB3cm90ZToKPiA+IE9uIFdlZCwgT2N0IDIxLCAyMDE1IGF0IDEwOjI4OjU0QU0gLTA3MDAsIFJv ZHJpZ28gVml2aSB3cm90ZToKPiA+ID4gV2UgaGF2ZSBhbiBpbmNvbnNpc3RlbmN5IG9uIG91ciBj b2RlIG9uIHVzaW5nIAo+ID4gPiBpbnRlbF9kcF9kcGNkX3JlYWRfd2FrZSB3aXRoCj4gPiA+IHJl dHJpZXMgYW5kIHdoZW4gdXNpbmcgZHJtX2RwX2RwY2RfcmVhZCBoZWxwZXIgd2l0aG91dCByZXRy eS4KPiA+ID4gCj4gPiA+IE11c3QgcHJvYmFibHkgd2l0aCB0aGUgY2FzZSB3ZXJlIGF1eCBtZXNz YWdlIHNpemUgMCB3YXNuJ3QgYmVpbmcKPiA+ID4gcHJvcGVybHkgaGFuZGxlZC4KPiA+ID4gCj4g PiA+IFdpdGggdGhpcyBpbiBwbGFjZSBhbmQgd2l0aCBkcm0gbGV2ZWwgbm93IHRha2luZyBjYXJl IG9mIGFsbCAKPiA+ID4gcmV0cmllcwo+ID4gPiBsZXQncyBraWxsIHRoaXMgbGFzdCByYW5kb20g cmV0cnkuCj4gPiA+IAo+ID4gPiBTbyBpbiBjYXNlIHdlIGZpbmQgbW9yZSBjb3JuZXIgY2FzZXMg b24gYXV4IHRyYW5zYWN0aW9ucyB3ZSBmYWNlIAo+ID4gPiB0aGF0Cj4gPiA+IG9uIGF1eF9jaCB0 cmFuc2FjdGlvbiBkaXJlY3RseSByZXR1cm5pbmcgRUJVU1kgc28gZHJtIGxldmVsIHRha2VzIAo+ ID4gPiBjYXJlCj4gPiA+IG9mIGFueSByZXRyeS4KPiA+ID4gCj4gPiA+IFNpZ25lZC1vZmYtYnk6 IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiA+ID4gLS0tCj4gPiA+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIHwgOTUgKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0KPiA+ID4gLS0tLS0tLS0tLS0tCj4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgMzIgaW5z ZXJ0aW9ucygrKSwgNjMgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAKPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jCj4gPiA+IGluZGV4IDgwODUwZDYuLmZmNWUyYTEgMTAwNjQ0Cj4gPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gPiBAQCAtOTkyLDcgKzk5Miw4IEBAIGludGVsX2Rw X2F1eF90cmFuc2ZlcihzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LCAKPiA+ID4gc3RydWN0IGRybV9k cF9hdXhfbXNnICptc2cpCj4gPiA+ICAJCWlmIChXQVJOX09OKHJ4c2l6ZSA+IDIwKSkKPiA+ID4g IAkJCXJldHVybiAtRTJCSUc7Cj4gPiA+ICAKPiA+ID4gLQkJcmV0ID0gaW50ZWxfZHBfYXV4X2No KGludGVsX2RwLCB0eGJ1ZiwgdHhzaXplLCAKPiA+ID4gcnhidWYsIHJ4c2l6ZSk7Cj4gPiA+ICsJ CXJldCA9IGludGVsX2RwX2F1eF9jaChpbnRlbF9kcCwgdHhidWYsIHR4c2l6ZSwKPiA+ID4gKwkJ CQkgICAgICByeGJ1ZiwgcnhzaXplKTsKPiA+ID4gIAkJaWYgKHJldCA+IDApIHsKPiA+ID4gIAkJ CW1zZy0+cmVwbHkgPSByeGJ1ZlswXSA+PiA0Owo+ID4gPiAgCQkJLyoKPiA+ID4gQEAgLTMwMTgs NDcgKzMwMTksMTYgQEAgc3RhdGljIHZvaWQgY2h2X2RwX3Bvc3RfcGxsX2Rpc2FibGUoc3RydWN0 IAo+ID4gPiBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICAv Kgo+ID4gPiAtICogTmF0aXZlIHJlYWQgd2l0aCByZXRyeSBmb3IgbGluayBzdGF0dXMgYW5kIHJl Y2VpdmVyIGNhcGFiaWxpdHkgCj4gPiA+IHJlYWRzIGZvcgo+ID4gPiAtICogY2FzZXMgd2hlcmUg dGhlIHNpbmsgbWF5IHN0aWxsIGJlIGFzbGVlcC4KPiA+ID4gLSAqCj4gPiA+IC0gKiBTaW5rcyBh cmUgKnN1cHBvc2VkKiB0byBjb21lIHVwIHdpdGhpbiAxbXMgZnJvbSBhbiBvZmYgc3RhdGUsIAo+ ID4gPiBidXQgd2UncmUgYWxzbwo+ID4gPiAtICogc3VwcG9zZWQgdG8gcmV0cnkgMyB0aW1lcyBw ZXIgdGhlIHNwZWMuCj4gPiA+IC0gKi8KPiA+ID4gLXN0YXRpYyBzc2l6ZV90Cj4gPiA+IC1pbnRl bF9kcF9kcGNkX3JlYWRfd2FrZShzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LCB1bnNpZ25lZCBpbnQg Cj4gPiA+IG9mZnNldCwKPiA+ID4gLQkJCXZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUpCj4gPiA+ IC17Cj4gPiA+IC0Jc3NpemVfdCByZXQ7Cj4gPiA+IC0JaW50IGk7Cj4gPiA+IC0KPiA+ID4gLQkv Kgo+ID4gPiAtCSAqIFNvbWV0aW1lIHdlIGp1c3QgZ2V0IHRoZSBzYW1lIGluY29ycmVjdCBieXRl IHJlcGVhdGVkCj4gPiA+IC0JICogb3ZlciB0aGUgZW50aXJlIGJ1ZmZlci4gRG9pbmcganVzdCBv bmUgdGhyb3cgYXdheSByZWFkCj4gPiA+IC0JICogaW5pdGlhbGx5IHNlZW1zIHRvICJzb2x2ZSIg aXQuCj4gPiA+IC0JICovCj4gPiA+IC0JZHJtX2RwX2RwY2RfcmVhZChhdXgsIERQX0RQQ0RfUkVW LCBidWZmZXIsIDEpOwo+ID4gCj4gPiBKYW5pIGFscmVhZHkgbm90ZWQgdGhhdCB0aGlzIGNhbid0 IGJlIGtpbGxlZCB1bmxlc3Mgc29tZW9uZSBjYW4gCj4gPiBleHBsYWluCj4gPiB3aHkgd2UgbmVl ZCBpdCwgYW5kIGhvdyB3ZSBjYW4gbWFrZSBkbyB3aXRob3V0IGl0Lgo+IAo+IE15IHJlc2VhcmNo IGdvZXMgdXAgdG8gSmFuaSdzIHBhdGNoZXMuLi4gc29ycnkgSSBjb3VsbmQndCBnbyBmdXJ0aGVy Cj4gdGhhbiB0aGF0LiBJIGRvbid0IGtub3cgd2h5IHRoYXQgcmV0cnkgd2FzIHRoZXJlIGJlZm9y ZSB0aGF0IGJ1dCBJCj4gYXNzdW1lIG9yIGl0IHdhcyBmb3Jnb3R0ZW4gdGhlcmUgd2hlbiByZXRy eSB3YXMgYWRkZWQgdG8gZHJtIGxldmVsIG9yCj4gaXQgd2FzIGJlaW5nIHVzZWQgdG8gc29sdmUg dGhhdCBjYXNlcyB3aGVyZSBhdXggY2ggY3RsIG1lc3NhZ2Ugc2l6ZSB3YXMKPiB6ZXJvIGFuZCB3 ZSBuZXZlciBoYW5kbGVkLgoKVGhpcyBpc24ndCBhIHJldHJ5IG9mIGEgZmFpbGVkIHRyYW5zZmVy LgoKPiAKPiBCdXQgeWVzLCBpdCBpcyBhIGZhY3QgdGhhdCB3ZSBuZWVkIHNvbWUgUUEgaW52b2x2 ZWQgdG8gc2VlIGlmIHRoaXMKPiByZW1vdmFsIGRvZXNuJ3QgYnJlYWsgb3RoZXIgY2FzZXMuCj4g Cj4gTG9jYWxseSBoZXJlIG9uIEJEVyBhbmQgU0tMIC10IGJhc2ljIGxvb2tzIGZpbmUgd2l0aG91 dCB0aGlzCj4gZnVuY3Rpb24uLi4KPiAKPiA+IAo+ID4gPiAtCj4gPiA+IC0JZm9yIChpID0gMDsg aSA8IDM7IGkrKykgewo+ID4gPiAtCQlyZXQgPSBkcm1fZHBfZHBjZF9yZWFkKGF1eCwgb2Zmc2V0 LCBidWZmZXIsIHNpemUpOwo+ID4gPiAtCQlpZiAocmV0ID09IHNpemUpCj4gPiA+IC0JCQlyZXR1 cm4gcmV0Owo+ID4gPiAtCQltc2xlZXAoMSk7Cj4gPiA+IC0JfQo+ID4gPiAtCj4gPiA+IC0JcmV0 dXJuIHJldDsKPiA+ID4gLX0KPiA+ID4gLQo+ID4gPiAtLyoKPiA+ID4gICAqIEZldGNoIEFVWCBD SCByZWdpc3RlcnMgMHgyMDIgLSAweDIwNyB3aGljaCBjb250YWluCj4gPiA+ICAgKiBsaW5rIHN0 YXR1cyBpbmZvcm1hdGlvbgo+ID4gPiAgICovCj4gPiA+ICBzdGF0aWMgYm9vbAo+ID4gPiAgaW50 ZWxfZHBfZ2V0X2xpbmtfc3RhdHVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHVpbnQ4X3Qg Cj4gPiA+IGxpbmtfc3RhdHVzW0RQX0xJTktfU1RBVFVTX1NJWkVdKQo+ID4gPiAgewo+ID4gPiAt CXJldHVybiBpbnRlbF9kcF9kcGNkX3JlYWRfd2FrZSgmaW50ZWxfZHAtPmF1eCwKPiA+ID4gLQkJ CQkgICAgICAgRFBfTEFORTBfMV9TVEFUVVMsCj4gPiA+IC0JCQkJICAgICAgIGxpbmtfc3RhdHVz LAo+ID4gPiAtCQkJCSAgICAgICBEUF9MSU5LX1NUQVRVU19TSVpFKSA9PSAKPiA+ID4gRFBfTElO S19TVEFUVVNfU0laRTsKPiA+ID4gKwlyZXR1cm4gZHJtX2RwX2RwY2RfcmVhZCgmaW50ZWxfZHAt PmF1eCwKPiA+ID4gKwkJCQlEUF9MQU5FMF8xX1NUQVRVUywKPiA+ID4gKwkJCQlsaW5rX3N0YXR1 cywKPiA+ID4gKwkJCQlEUF9MSU5LX1NUQVRVU19TSVpFKSA9PSAKPiA+ID4gRFBfTElOS19TVEFU VVNfU0laRTsKPiA+ID4gIH0KPiA+ID4gIAo+ID4gPiAgLyogVGhlc2UgYXJlIHNvdXJjZS1zcGVj aWZpYyB2YWx1ZXMuICovCj4gPiA+IEBAIC0zOTg1LDggKzM5NTUsOCBAQCBpbnRlbF9kcF9nZXRf ZHBjZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4gPiAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPiA+ICAJdWludDhfdCByZXY7 Cj4gPiA+ICAKPiA+ID4gLQlpZiAoaW50ZWxfZHBfZHBjZF9yZWFkX3dha2UoJmludGVsX2RwLT5h dXgsIDB4MDAwLCAKPiA+ID4gaW50ZWxfZHAtPmRwY2QsCj4gPiA+IC0JCQkJICAgIHNpemVvZihp bnRlbF9kcC0+ZHBjZCkpIDwgMCkKPiA+ID4gKwlpZiAoZHJtX2RwX2RwY2RfcmVhZCgmaW50ZWxf ZHAtPmF1eCwgMHgwMDAsIGludGVsX2RwCj4gPiA+IC0+ZHBjZCwKPiA+ID4gKwkJCSAgICAgc2l6 ZW9mKGludGVsX2RwLT5kcGNkKSkgPCAwKQo+ID4gPiAgCQlyZXR1cm4gZmFsc2U7IC8qIGF1eCB0 cmFuc2ZlciBmYWlsZWQgKi8KPiA+ID4gIAo+ID4gPiAgCURSTV9ERUJVR19LTVMoIkRQQ0Q6ICUq cGhcbiIsIChpbnQpIHNpemVvZihpbnRlbF9kcAo+ID4gPiAtPmRwY2QpLCBpbnRlbF9kcC0+ZHBj ZCk7Cj4gPiA+IEBAIC0zOTk3LDkgKzM5NjcsOSBAQCBpbnRlbF9kcF9nZXRfZHBjZChzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQo+ID4gPiAgCS8qIENoZWNrIGlmIHRoZSBwYW5lbCBzdXBwb3J0 cyBQU1IgKi8KPiA+ID4gIAltZW1zZXQoaW50ZWxfZHAtPnBzcl9kcGNkLCAwLCBzaXplb2YoaW50 ZWxfZHAtPnBzcl9kcGNkKSk7Cj4gPiA+ICAJaWYgKGlzX2VkcChpbnRlbF9kcCkpIHsKPiA+ID4g LQkJaW50ZWxfZHBfZHBjZF9yZWFkX3dha2UoJmludGVsX2RwLT5hdXgsIAo+ID4gPiBEUF9QU1Jf U1VQUE9SVCwKPiA+ID4gLQkJCQkJaW50ZWxfZHAtPnBzcl9kcGNkLAo+ID4gPiAtCQkJCQlzaXpl b2YoaW50ZWxfZHAKPiA+ID4gLT5wc3JfZHBjZCkpOwo+ID4gPiArCQlkcm1fZHBfZHBjZF9yZWFk KCZpbnRlbF9kcC0+YXV4LCBEUF9QU1JfU1VQUE9SVCwKPiA+ID4gKwkJCQkgaW50ZWxfZHAtPnBz cl9kcGNkLAo+ID4gPiArCQkJCSBzaXplb2YoaW50ZWxfZHAtPnBzcl9kcGNkKSk7Cj4gPiA+ICAJ CWlmIChpbnRlbF9kcC0+cHNyX2RwY2RbMF0gJiBEUF9QU1JfSVNfU1VQUE9SVEVEKSB7Cj4gPiA+ ICAJCQlkZXZfcHJpdi0+cHNyLnNpbmtfc3VwcG9ydCA9IHRydWU7Cj4gPiA+ICAJCQlEUk1fREVC VUdfS01TKCJEZXRlY3RlZCBFRFAgUFNSIAo+ID4gPiBQYW5lbC5cbiIpOwo+ID4gPiBAQCAtNDAx MCw5ICszOTgwLDkgQEAgaW50ZWxfZHBfZ2V0X2RwY2Qoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKPiA+ID4gIAkJCXVpbnQ4X3QgZnJhbWVfc3luY19jYXA7Cj4gPiA+ICAKPiA+ID4gIAkJCWRl dl9wcml2LT5wc3Iuc2lua19zdXBwb3J0ID0gdHJ1ZTsKPiA+ID4gLQkJCWludGVsX2RwX2RwY2Rf cmVhZF93YWtlKCZpbnRlbF9kcC0+YXV4LAo+ID4gPiAtCQkJCQlEUF9TSU5LX0RFVklDRV9BVVhf RlJBTUVfUwo+ID4gPiBZTkNfQ0FQLAo+ID4gPiAtCQkJCQkmZnJhbWVfc3luY19jYXAsIDEpOwo+ ID4gPiArCQkJZHJtX2RwX2RwY2RfcmVhZGIoJmludGVsX2RwLT5hdXgsCj4gPiA+ICsJCQkJCSAK PiA+ID4gIERQX1NJTktfREVWSUNFX0FVWF9GUkFNRV9TWU5DX0NBUCwKPiA+ID4gKwkJCQkJICAm ZnJhbWVfc3luY19jYXApOwo+ID4gPiAgCQkJZGV2X3ByaXYtPnBzci5hdXhfZnJhbWVfc3luYyA9 IAo+ID4gPiBmcmFtZV9zeW5jX2NhcCA/IHRydWUgOiBmYWxzZTsKPiA+ID4gIAkJCS8qIFBTUjIg bmVlZHMgZnJhbWUgc3luYyBhcyB3ZWxsICovCj4gPiA+ICAJCQlkZXZfcHJpdi0+cHNyLnBzcjJf c3VwcG9ydCA9IGRldl9wcml2Cj4gPiA+IC0+cHNyLmF1eF9mcmFtZV9zeW5jOwo+ID4gPiBAQCAt NDAyOCwxNSArMzk5OCwxNSBAQCBpbnRlbF9kcF9nZXRfZHBjZChzdHJ1Y3QgaW50ZWxfZHAgCj4g PiA+ICppbnRlbF9kcCkKPiA+ID4gIAkvKiBJbnRlcm1lZGlhdGUgZnJlcXVlbmN5IHN1cHBvcnQg Ki8KPiA+ID4gIAlpZiAoaXNfZWRwKGludGVsX2RwKSAmJgo+ID4gPiAgCSAgICAoaW50ZWxfZHAt PmRwY2RbRFBfRURQX0NPTkZJR1VSQVRJT05fQ0FQXSAmCURQXwo+ID4gPiBEUENEX0RJU1BMQVlf Q09OVFJPTF9DQVBBQkxFKSAmJgo+ID4gPiAtCSAgICAoaW50ZWxfZHBfZHBjZF9yZWFkX3dha2Uo JmludGVsX2RwLT5hdXgsIAo+ID4gPiBEUF9FRFBfRFBDRF9SRVYsICZyZXYsIDEpID09IDEpICYm Cj4gPiA+ICsJICAgIChkcm1fZHBfZHBjZF9yZWFkYigmaW50ZWxfZHAtPmF1eCwgRFBfRURQX0RQ Q0RfUkVWLCAKPiA+ID4gJnJldikgPT0gMSkgJiYKPiA+ID4gIAkgICAgKHJldiA+PSAweDAzKSkg eyAvKiBlRHAgdjEuNCBvciBoaWdoZXIgKi8KPiA+ID4gIAkJX19sZTE2IHNpbmtfcmF0ZXNbRFBf TUFYX1NVUFBPUlRFRF9SQVRFU107Cj4gPiA+ICAJCWludCBpOwo+ID4gPiAgCj4gPiA+IC0JCWlu dGVsX2RwX2RwY2RfcmVhZF93YWtlKCZpbnRlbF9kcC0+YXV4LAo+ID4gPiAtCQkJCURQX1NVUFBP UlRFRF9MSU5LX1JBVEVTLAo+ID4gPiAtCQkJCXNpbmtfcmF0ZXMsCj4gPiA+IC0JCQkJc2l6ZW9m KHNpbmtfcmF0ZXMpKTsKPiA+ID4gKwkJZHJtX2RwX2RwY2RfcmVhZCgmaW50ZWxfZHAtPmF1eCwK PiA+ID4gKwkJCQkgRFBfU1VQUE9SVEVEX0xJTktfUkFURVMsCj4gPiA+ICsJCQkJIHNpbmtfcmF0 ZXMsCj4gPiA+ICsJCQkJIHNpemVvZihzaW5rX3JhdGVzKSk7Cj4gPiA+ICAKPiA+ID4gIAkJZm9y IChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc2lua19yYXRlcyk7IGkrKykgewo+ID4gPiAgCQkJaW50 IHZhbCA9IGxlMTZfdG9fY3B1KHNpbmtfcmF0ZXNbaV0pOwo+ID4gPiBAQCAtNDA1OSw5ICs0MDI5 LDkgQEAgaW50ZWxfZHBfZ2V0X2RwY2Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ID4g IAlpZiAoaW50ZWxfZHAtPmRwY2RbRFBfRFBDRF9SRVZdID09IDB4MTApCj4gPiA+ICAJCXJldHVy biB0cnVlOyAvKiBubyBwZXItcG9ydCBkb3duc3RyZWFtIGluZm8gKi8KPiA+ID4gIAo+ID4gPiAt CWlmIChpbnRlbF9kcF9kcGNkX3JlYWRfd2FrZSgmaW50ZWxfZHAtPmF1eCwgCj4gPiA+IERQX0RP V05TVFJFQU1fUE9SVF8wLAo+ID4gPiAtCQkJCSAgICBpbnRlbF9kcC0+ZG93bnN0cmVhbV9wb3J0 cywKPiA+ID4gLQkJCQkgICAgRFBfTUFYX0RPV05TVFJFQU1fUE9SVFMpIDwgMCkKPiA+ID4gKwlp ZiAoZHJtX2RwX2RwY2RfcmVhZCgmaW50ZWxfZHAtPmF1eCwgRFBfRE9XTlNUUkVBTV9QT1JUXzAs Cj4gPiA+ICsJCQkgICAgIGludGVsX2RwLT5kb3duc3RyZWFtX3BvcnRzLAo+ID4gPiArCQkJICAg ICBEUF9NQVhfRE9XTlNUUkVBTV9QT1JUUykgPCAwKQo+ID4gPiAgCQlyZXR1cm4gZmFsc2U7IC8q IGRvd25zdHJlYW0gcG9ydCBzdGF0dXMgZmV0Y2ggCj4gPiA+IGZhaWxlZCAqLwo+ID4gPiAgCj4g PiA+ICAJcmV0dXJuIHRydWU7Cj4gPiA+IEBAIC00MDc1LDExICs0MDQ1LDExIEBAIGludGVsX2Rw X3Byb2JlX291aShzdHJ1Y3QgaW50ZWxfZHAgCj4gPiA+ICppbnRlbF9kcCkKPiA+ID4gIAlpZiAo IShpbnRlbF9kcC0+ZHBjZFtEUF9ET1dOX1NUUkVBTV9QT1JUX0NPVU5UXSAmIAo+ID4gPiBEUF9P VUlfU1VQUE9SVCkpCj4gPiA+ICAJCXJldHVybjsKPiA+ID4gIAo+ID4gPiAtCWlmIChpbnRlbF9k cF9kcGNkX3JlYWRfd2FrZSgmaW50ZWxfZHAtPmF1eCwgRFBfU0lOS19PVUksIAo+ID4gPiBidWYs IDMpID09IDMpCj4gPiA+ICsJaWYgKGRybV9kcF9kcGNkX3JlYWQoJmludGVsX2RwLT5hdXgsIERQ X1NJTktfT1VJLCBidWYsIDMpIAo+ID4gPiA9PSAzKQo+ID4gPiAgCQlEUk1fREVCVUdfS01TKCJT aW5rIE9VSTogJTAyaHglMDJoeCUwMmh4XG4iLAo+ID4gPiAgCQkJICAgICAgYnVmWzBdLCBidWZb MV0sIGJ1ZlsyXSk7Cj4gPiA+ICAKPiA+ID4gLQlpZiAoaW50ZWxfZHBfZHBjZF9yZWFkX3dha2Uo JmludGVsX2RwLT5hdXgsIERQX0JSQU5DSF9PVUksIAo+ID4gPiBidWYsIDMpID09IDMpCj4gPiA+ ICsJaWYgKGRybV9kcF9kcGNkX3JlYWQoJmludGVsX2RwLT5hdXgsIERQX0JSQU5DSF9PVUksIGJ1 ZiwgCj4gPiA+IDMpID09IDMpCj4gPiA+ICAJCURSTV9ERUJVR19LTVMoIkJyYW5jaCBPVUk6ICUw Mmh4JTAyaHglMDJoeFxuIiwKPiA+ID4gIAkJCSAgICAgIGJ1ZlswXSwgYnVmWzFdLCBidWZbMl0p Owo+ID4gPiAgfQo+ID4gPiBAQCAtNDA5NSw3ICs0MDY1LDcgQEAgaW50ZWxfZHBfcHJvYmVfbXN0 KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiA+ICAJaWYgKGludGVsX2RwLT5kcGNkW0RQ X0RQQ0RfUkVWXSA8IDB4MTIpCj4gPiA+ICAJCXJldHVybiBmYWxzZTsKPiA+ID4gIAo+ID4gPiAt CWlmIChpbnRlbF9kcF9kcGNkX3JlYWRfd2FrZSgmaW50ZWxfZHAtPmF1eCwgRFBfTVNUTV9DQVAs IAo+ID4gPiBidWYsIDEpKSB7Cj4gPiA+ICsJaWYgKGRybV9kcF9kcGNkX3JlYWRiKCZpbnRlbF9k cC0+YXV4LCBEUF9NU1RNX0NBUCwgYnVmKSkgewo+ID4gPiAgCQlpZiAoYnVmWzBdICYgRFBfTVNU X0NBUCkgewo+ID4gPiAgCQkJRFJNX0RFQlVHX0tNUygiU2luayBpcyBNU1QgY2FwYWJsZVxuIik7 Cj4gPiA+ICAJCQlpbnRlbF9kcC0+aXNfbXN0ID0gdHJ1ZTsKPiA+ID4gQEAgLTQyMzQsOSArNDIw NCw5IEBAIHN0b3A6Cj4gPiA+ICBzdGF0aWMgYm9vbAo+ID4gPiAgaW50ZWxfZHBfZ2V0X3Npbmtf aXJxKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHU4IAo+ID4gPiAqc2lua19pcnFfdmVjdG9y KQo+ID4gPiAgewo+ID4gPiAtCXJldHVybiBpbnRlbF9kcF9kcGNkX3JlYWRfd2FrZSgmaW50ZWxf ZHAtPmF1eCwKPiA+ID4gLQkJCQkgICAgICAKPiA+ID4gIERQX0RFVklDRV9TRVJWSUNFX0lSUV9W RUNUT1IsCj4gPiA+IC0JCQkJICAgICAgIHNpbmtfaXJxX3ZlY3RvciwgMSkgPT0gMTsKPiA+ID4g KwlyZXR1cm4gZHJtX2RwX2RwY2RfcmVhZGIoJmludGVsX2RwLT5hdXgsCj4gPiA+ICsJCQkJIERQ X0RFVklDRV9TRVJWSUNFX0lSUV9WRUNUT1IsCj4gPiA+ICsJCQkJIHNpbmtfaXJxX3ZlY3Rvcikg PT0gMTsKPiA+ID4gIH0KPiA+ID4gIAo+ID4gPiAgc3RhdGljIGJvb2wKPiA+ID4gQEAgLTQyNDQs OSArNDIxNCw5IEBAIGludGVsX2RwX2dldF9zaW5rX2lycV9lc2koc3RydWN0IGludGVsX2RwIAo+ ID4gPiAqaW50ZWxfZHAsIHU4ICpzaW5rX2lycV92ZWN0b3IpCj4gPiA+ICB7Cj4gPiA+ICAJaW50 IHJldDsKPiA+ID4gIAo+ID4gPiAtCXJldCA9IGludGVsX2RwX2RwY2RfcmVhZF93YWtlKCZpbnRl bF9kcC0+YXV4LAo+ID4gPiAtCQkJCQkgICAgIERQX1NJTktfQ09VTlRfRVNJLAo+ID4gPiAtCQkJ CQkgICAgIHNpbmtfaXJxX3ZlY3RvciwgMTQpOwo+ID4gPiArCXJldCA9IGRybV9kcF9kcGNkX3Jl YWQoJmludGVsX2RwLT5hdXgsCj4gPiA+ICsJCQkgICAgICAgRFBfU0lOS19DT1VOVF9FU0ksCj4g PiA+ICsJCQkgICAgICAgc2lua19pcnFfdmVjdG9yLCAxNCk7Cj4gPiA+ICAJaWYgKHJldCAhPSAx NCkKPiA+ID4gIAkJcmV0dXJuIGZhbHNlOwo+ID4gPiAgCj4gPiA+IEBAIC00NTAyLDggKzQ0NzIs NyBAQCBpbnRlbF9kcF9kZXRlY3RfZHBjZChzdHJ1Y3QgaW50ZWxfZHAgCj4gPiA+ICppbnRlbF9k cCkKPiA+ID4gIAkgICAgaW50ZWxfZHAtPmRvd25zdHJlYW1fcG9ydHNbMF0gJiBEUF9EU19QT1JU X0hQRCkgewo+ID4gPiAgCQl1aW50OF90IHJlZzsKPiA+ID4gIAo+ID4gPiAtCQlpZiAoaW50ZWxf ZHBfZHBjZF9yZWFkX3dha2UoJmludGVsX2RwLT5hdXgsIAo+ID4gPiBEUF9TSU5LX0NPVU5ULAo+ ID4gPiAtCQkJCQkgICAgJnJlZywgMSkgPCAwKQo+ID4gPiArCQlpZiAoZHJtX2RwX2RwY2RfcmVh ZGIoJmludGVsX2RwLT5hdXgsIAo+ID4gPiBEUF9TSU5LX0NPVU5ULCAmcmVnKSA8IDApCj4gPiA+ ICAJCQlyZXR1cm4gY29ubmVjdG9yX3N0YXR1c191bmtub3duOwo+ID4gPiAgCj4gPiA+ICAJCXJl dHVybiBEUF9HRVRfU0lOS19DT1VOVChyZWcpID8gCj4gPiA+IGNvbm5lY3Rvcl9zdGF0dXNfY29u bmVjdGVkCj4gPiA+IC0tIAo+ID4gPiAyLjQuMwo+ID4gPiAKPiA+ID4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+ID4gSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdAo+ID4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiA+IGh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiA+IAoKLS0g ClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK