From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?QW50dGkgS29za2lww6TDpA==?= Subject: Re: [PATCH 10/14] drm/i915: Track which port is using which pipe's power sequencer Date: Mon, 01 Sep 2014 14:19:51 +0300 Message-ID: <54045657.3000205@linux.intel.com> References: <1408389369-22898-1-git-send-email-ville.syrjala@linux.intel.com> <1408389369-22898-11-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 627776E18D for ; Mon, 1 Sep 2014 04:17:50 -0700 (PDT) In-Reply-To: <1408389369-22898-11-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 List-Id: intel-gfx@lists.freedesktop.org UmV2aWV3ZWQtYnk6IEFudHRpIEtvc2tpcGFhIDxhbnR0aS5rb3NraXBhYUBsaW51eC5pbnRlbC5j b20+CgotLSAKLSBBbnR0aQoKT24gMDgvMTgvMjAxNCAxMDoxNiBQTSwgdmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBWTFYvQ0hWIGhhdmUgYSBwZXItcGlwZSBwYW5lbCBw b3dlciBzZXF1ZW5jZXIgd2hpY2ggbG9ja3Mgb250byB0aGUKPiBwb3J0IG9uY2UgdXNlZC4gV2Ug bmVlZCB0byBrZWVwIHRyYWNrIHdpY2ggcG93ZXIgc2VxdWVuY2VycyBhcmUKPiBsb2NrZWQgdG8g d2hpY2ggcG9ydHMuCj4gCj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYyAgfCAxODUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIHwgICA2ICsrCj4gIDIgZmlsZXMgY2hh bmdlZCwgMTY4IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYwo+IGluZGV4IDU1NmU0ZGUuLjQ2MTRlNmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwLmMKPiBAQCAtMjk0LDI4ICsyOTQsOTkgQEAgc3RhdGljIGVudW0gcGlwZQo+ICB2bHZf cG93ZXJfc2VxdWVuY2VyX3BpcGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgewo+ICAJ c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9y dChpbnRlbF9kcCk7Cj4gLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBpbnRlbF9kaWdfcG9ydC0+ YmFzZS5iYXNlLmNydGM7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZGlnX3Bv cnQtPmJhc2UuYmFzZS5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkZXYtPmRldl9wcml2YXRlOwo+IC0JZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+ cG9ydDsKPiAtCWVudW0gcGlwZSBwaXBlOwo+ICsJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXI7Cj4gKwl1bnNpZ25lZCBpbnQgcGlwZXMgPSAoMSA8PCBQSVBFX0EpIHwgKDEgPDwgUElQRV9C KTsKPiArCXN0cnVjdCBlZHBfcG93ZXJfc2VxIHBvd2VyX3NlcTsKPiAgCj4gIAlsb2NrZGVwX2Fz c2VydF9oZWxkKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKPiAgCj4gLQkvKiBtb2Rlc2V0IHNob3Vs ZCBoYXZlIHBpcGUgKi8KPiAtCWlmIChjcnRjKQo+IC0JCXJldHVybiB0b19pbnRlbF9jcnRjKGNy dGMpLT5waXBlOwo+ICsJaWYgKGludGVsX2RwLT5wcHNfcGlwZSAhPSBJTlZBTElEX1BJUEUpCj4g KwkJcmV0dXJuIGludGVsX2RwLT5wcHNfcGlwZTsKPiArCj4gKwkvKgo+ICsJICogV2UgZG9uJ3Qg aGF2ZSBwb3dlciBzZXF1ZW5jZXIgY3VycmVudGx5Lgo+ICsJICogUGljayBvbmUgdGhhdCdzIG5v dCB1c2VkIGJ5IG90aGVyIHBvcnRzLgo+ICsJICovCj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVu Y29kZXIsICZkZXYtPm1vZGVfY29uZmlnLmVuY29kZXJfbGlzdCwgYmFzZS5oZWFkKSB7Cj4gKwkJ c3RydWN0IGludGVsX2RwICp0bXA7Cj4gKwo+ICsJCWlmIChlbmNvZGVyLT50eXBlICE9IElOVEVM X09VVFBVVF9FRFApCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQl0bXAgPSBlbmNfdG9faW50ZWxf ZHAoJmVuY29kZXItPmJhc2UpOwo+ICsKPiArCQlpZiAodG1wLT5wcHNfcGlwZSAhPSBJTlZBTElE X1BJUEUpCj4gKwkJCXBpcGVzICY9IH4oMSA8PCB0bXAtPnBwc19waXBlKTsKPiArCX0KPiArCj4g KwkvKgo+ICsJICogRGlkbid0IGZpbmQgb25lLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuIHNpbmNl IHRoZXJlCj4gKwkgKiBhcmUgdHdvIHBvd2VyIHNlcXVlbmNlcnMgYW5kIHVwIHRvIHR3byBlRFAg cG9ydHMuCj4gKwkgKi8KPiArCWlmIChXQVJOX09OKHBpcGVzID09IDApKQo+ICsJCXJldHVybiBQ SVBFX0E7Cj4gKwo+ICsJaW50ZWxfZHAtPnBwc19waXBlID0gZmZzKHBpcGVzKSAtIDE7Cj4gKwo+ ICsJRFJNX0RFQlVHX0tNUygicGlja2VkIHBpcGUgJWMgcG93ZXIgc2VxdWVuY2VyIGZvciBwb3J0 ICVjXG4iLAo+ICsJCSAgICAgIHBpcGVfbmFtZShpbnRlbF9kcC0+cHBzX3BpcGUpLCBwb3J0X25h bWUoaW50ZWxfZGlnX3BvcnQtPnBvcnQpKTsKPiArCj4gKwkvKiBpbml0IHBvd2VyIHNlcXVlbmNl ciBvbiB0aGlzIHBpcGUgYW5kIHBvcnQgKi8KPiArCWludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJf c2VxdWVuY2VyKGRldiwgaW50ZWxfZHAsICZwb3dlcl9zZXEpOwo+ICsJaW50ZWxfZHBfaW5pdF9w YW5lbF9wb3dlcl9zZXF1ZW5jZXJfcmVnaXN0ZXJzKGRldiwgaW50ZWxfZHAsCj4gKwkJCQkJCSAg ICAgICZwb3dlcl9zZXEpOwo+ICsKPiArCXJldHVybiBpbnRlbF9kcC0+cHBzX3BpcGU7Cj4gK30K PiArCj4gK3N0YXRpYyBlbnVtIHBpcGUKPiArdmx2X2luaXRpYWxfcG93ZXJfc2VxdWVuY2VyX3Bp cGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCQkJIGVudW0gcG9ydCBw b3J0KQo+ICt7Cj4gKwllbnVtIHBpcGUgcGlwZTsKPiAgCj4gLQkvKiBpbml0IHRpbWUsIHRyeSB0 byBmaW5kIGEgcGlwZSB3aXRoIHRoaXMgcG9ydCBzZWxlY3RlZCAqLwo+ICAJZm9yIChwaXBlID0g UElQRV9BOyBwaXBlIDw9IFBJUEVfQjsgcGlwZSsrKSB7Cj4gIAkJdTMyIHBvcnRfc2VsID0gSTkx NV9SRUFEKFZMVl9QSVBFX1BQX09OX0RFTEFZUyhwaXBlKSkgJgo+ICAJCQlQQU5FTF9QT1JUX1NF TEVDVF9NQVNLOwo+IC0JCWlmIChwb3J0X3NlbCA9PSBQQU5FTF9QT1JUX1NFTEVDVF9WTFYocG9y dCkpCj4gLQkJCXJldHVybiBwaXBlOwo+ICsKPiArCQlpZiAocG9ydF9zZWwgIT0gUEFORUxfUE9S VF9TRUxFQ1RfVkxWKHBvcnQpKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJcmV0dXJuIHBpcGU7 Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIElOVkFMSURfUElQRTsKPiArfQo+ICsKPiArc3RhdGljIHZv aWQKPiArdmx2X2luaXRpYWxfcG93ZXJfc2VxdWVuY2VyX3NldHVwKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHApCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19w b3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2Owo+ICsJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiArCXN0cnVjdCBlZHBfcG93ZXJf c2VxIHBvd2VyX3NlcTsKPiArCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPnBvcnQ7 Cj4gKwo+ICsJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBwc19tdXRleCk7Cj4gKwo+ ICsJLyogdHJ5IHRvIGZpbmQgYSBwaXBlIHdpdGggdGhpcyBwb3J0IHNlbGVjdGVkICovCj4gKwlp bnRlbF9kcC0+cHBzX3BpcGUgPSB2bHZfaW5pdGlhbF9wb3dlcl9zZXF1ZW5jZXJfcGlwZShkZXZf cHJpdiwgcG9ydCk7Cj4gKwo+ICsJLyogZGlkbid0IGZpbmQgb25lPyBqdXN0IGxldCB2bHZfcG93 ZXJfc2VxdWVuY2VyX3BpcGUoKSBwaWNrIG9uZSB3aGVuIG5lZWRlZCAqLwo+ICsJaWYgKGludGVs X2RwLT5wcHNfcGlwZSA9PSBJTlZBTElEX1BJUEUpIHsKPiArCQlEUk1fREVCVUdfS01TKCJubyBp bml0aWFsIHBvd2VyIHNlcXVlbmNlciBmb3IgcG9ydCAlY1xuIiwKPiArCQkJICAgICAgcG9ydF9u YW1lKHBvcnQpKTsKPiArCQlyZXR1cm47Cj4gIAl9Cj4gIAo+IC0JLyogc2hydWcgKi8KPiAtCXJl dHVybiBQSVBFX0E7Cj4gKwlEUk1fREVCVUdfS01TKCJpbml0aWFsIHBvd2VyIHNlcXVlbmNlciBm b3IgcG9ydCAlYzogcGlwZSAlY1xuIiwKPiArCQkgICAgICBwb3J0X25hbWUocG9ydCksIHBpcGVf bmFtZShpbnRlbF9kcC0+cHBzX3BpcGUpKTsKPiArCj4gKwlpbnRlbF9kcF9pbml0X3BhbmVsX3Bv d2VyX3NlcXVlbmNlcihkZXYsIGludGVsX2RwLCAmcG93ZXJfc2VxKTsKPiArCWludGVsX2RwX2lu aXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyX3JlZ2lzdGVycyhkZXYsIGludGVsX2RwLAo+ICsJCQkJ CQkgICAgICAmcG93ZXJfc2VxKTsKPiAgfQo+ICAKPiAgc3RhdGljIHUzMiBfcHBfY3RybF9yZWco c3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiBAQCAtMjIwOSw2ICsyMjgwLDc2IEBAIHN0YXRp YyB2b2lkIGc0eF9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ ICAJfQo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCB2bHZfc3RlYWxfcG93ZXJfc2VxdWVuY2VyKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gKwkJCQkgICAgICBlbnVtIHBpcGUgcGlwZSkKPiArewo+ ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK PiArCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyOwo+ICsKPiArCWxvY2tkZXBfYXNzZXJ0 X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwo+ICsKPiArCWxpc3RfZm9yX2VhY2hfZW50cnko ZW5jb2RlciwgJmRldi0+bW9kZV9jb25maWcuZW5jb2Rlcl9saXN0LCBiYXNlLmhlYWQpIHsKPiAr CQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwOwo+ICsKPiArCQlpZiAoZW5jb2Rlci0+dHlwZSAh PSBJTlRFTF9PVVRQVVRfRURQKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJaW50ZWxfZHAgPSBl bmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOwo+ICsKPiArCQlpZiAoaW50ZWxfZHAtPnBw c19waXBlICE9IHBpcGUpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlEUk1fREVCVUdfS01TKCJz dGVhbGluZyBwaXBlICVjIHBvd2VyIHNlcXVlbmNlciBmcm9tIHBvcnQgJWNcbiIsCj4gKwkJCSAg ICAgIHBpcGVfbmFtZShwaXBlKSwKPiArCQkJICAgICAgcG9ydF9uYW1lKGRwX3RvX2RpZ19wb3J0 KGludGVsX2RwKS0+cG9ydCkpOwo+ICsKPiArCQkvKiBtYWtlIHN1cmUgdmRkIGlzIG9mZiBiZWZv cmUgd2Ugc3RlYWwgaXQgKi8KPiArCQllZHBfcGFuZWxfdmRkX29mZl9zeW5jKGludGVsX2RwKTsK PiArCj4gKwkJaW50ZWxfZHAtPnBwc19waXBlID0gSU5WQUxJRF9QSVBFOwo+ICsJfQo+ICt9Cj4g Kwo+ICtzdGF0aWMgdm9pZCB2bHZfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCkKPiArewo+ICsJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Cj4gKwlzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciA9ICZpbnRlbF9kaWdfcG9ydC0+YmFzZTsKPiArCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKTsKPiArCXN0cnVjdCBlZHBf cG93ZXJfc2VxIHBvd2VyX3NlcTsKPiArCj4gKwlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJp di0+cHBzX211dGV4KTsKPiArCj4gKwlpZiAoaW50ZWxfZHAtPnBwc19waXBlID09IGNydGMtPnBp cGUpCj4gKwkJcmV0dXJuOwo+ICsKPiArCS8qCj4gKwkgKiBJZiBhbm90aGVyIHBvd2VyIHNlcXVl bmNlciB3YXMgYmVpbmcgdXNlZCBvbiB0aGlzCj4gKwkgKiBwb3J0IHByZXZpb3VzbHkgbWFrZSBz dXJlIHRvIHR1cm4gb2ZmIHZkZCB0aGVyZSB3aGlsZQo+ICsJICogd2Ugc3RpbGwgaGF2ZSBjb250 cm9sIG9mIGl0Lgo+ICsJICovCj4gKwlpZiAoaW50ZWxfZHAtPnBwc19waXBlICE9IElOVkFMSURf UElQRSkKPiArCQllZHBfcGFuZWxfdmRkX29mZl9zeW5jKGludGVsX2RwKTsKPiArCj4gKwkvKgo+ ICsJICogV2UgbWF5IGJlIHN0ZWFsaW5nIHRoZSBwb3dlcgo+ICsJICogc2VxdWVuY2VyIGZyb20g YW5vdGhlciBwb3J0Lgo+ICsJICovCj4gKwl2bHZfc3RlYWxfcG93ZXJfc2VxdWVuY2VyKGRldiwg Y3J0Yy0+cGlwZSk7Cj4gKwo+ICsJLyogbm93IGl0J3MgYWxsIG91cnMgKi8KPiArCWludGVsX2Rw LT5wcHNfcGlwZSA9IGNydGMtPnBpcGU7Cj4gKwo+ICsJRFJNX0RFQlVHX0tNUygiaW5pdGlhbGl6 aW5nIHBpcGUgJWMgcG93ZXIgc2VxdWVuY2VyIGZvciBwb3J0ICVjXG4iLAo+ICsJCSAgICAgIHBp cGVfbmFtZShpbnRlbF9kcC0+cHBzX3BpcGUpLCBwb3J0X25hbWUoaW50ZWxfZGlnX3BvcnQtPnBv cnQpKTsKPiArCj4gKwkvKiBpbml0IHBvd2VyIHNlcXVlbmNlciBvbiB0aGlzIHBpcGUgYW5kIHBv cnQgKi8KPiArCWludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyKGRldiwgaW50ZWxf ZHAsICZwb3dlcl9zZXEpOwo+ICsJaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXJf cmVnaXN0ZXJzKGRldiwgaW50ZWxfZHAsCj4gKwkJCQkJCSAgICAgICZwb3dlcl9zZXEpOwo+ICt9 Cj4gKwo+ICBzdGF0aWMgdm9pZCB2bHZfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlcikKPiAgewo+ICAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19p bnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7Cj4gQEAgLTIyMTgsNyArMjM1OSw2IEBAIHN0YXRpYyB2 b2lkIHZsdl9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJ c3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmJh c2UuY3J0Yyk7Cj4gIAllbnVtIGRwaW9fY2hhbm5lbCBwb3J0ID0gdmx2X2Rwb3J0X3RvX2NoYW5u ZWwoZHBvcnQpOwo+ICAJaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwo+IC0Jc3RydWN0IGVk cF9wb3dlcl9zZXEgcG93ZXJfc2VxOwo+ICAJdTMyIHZhbDsKPiAgCj4gIAltdXRleF9sb2NrKCZk ZXZfcHJpdi0+ZHBpb19sb2NrKTsKPiBAQCAtMjIzNywxMSArMjM3Nyw4IEBAIHN0YXRpYyB2b2lk IHZsdl9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJbXV0 ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHBpb19sb2NrKTsKPiAgCj4gIAlpZiAoaXNfZWRwKGludGVs X2RwKSkgewo+IC0JCS8qIGluaXQgcG93ZXIgc2VxdWVuY2VyIG9uIHRoaXMgcGlwZSBhbmQgcG9y dCAqLwo+ICAJCW11dGV4X2xvY2soJmRldl9wcml2LT5wcHNfbXV0ZXgpOwo+IC0JCWludGVsX2Rw X2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyKGRldiwgaW50ZWxfZHAsICZwb3dlcl9zZXEpOwo+ IC0JCWludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyX3JlZ2lzdGVycyhkZXYsIGlu dGVsX2RwLAo+IC0JCQkJCQkJICAgICAgJnBvd2VyX3NlcSk7Cj4gKwkJdmx2X2luaXRfcGFuZWxf cG93ZXJfc2VxdWVuY2VyKGludGVsX2RwKTsKPiAgCQltdXRleF91bmxvY2soJmRldl9wcml2LT5w cHNfbXV0ZXgpOwo+ICAJfQo+ICAKPiBAQCAtMjI4Niw3ICsyNDIzLDYgQEAgc3RhdGljIHZvaWQg Y2h2X3ByZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIAlzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsK PiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKPiAgCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQlzdHJ1 Y3QgZWRwX3Bvd2VyX3NlcSBwb3dlcl9zZXE7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxf Y3J0YyA9Cj4gIAkJdG9faW50ZWxfY3J0YyhlbmNvZGVyLT5iYXNlLmNydGMpOwo+ICAJZW51bSBk cGlvX2NoYW5uZWwgY2ggPSB2bHZfZHBvcnRfdG9fY2hhbm5lbChkcG9ydCk7Cj4gQEAgLTIzNDEs MTEgKzI0NzcsOCBAQCBzdGF0aWMgdm9pZCBjaHZfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlcikKPiAgCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmRwaW9fbG9jayk7 Cj4gIAo+ICAJaWYgKGlzX2VkcChpbnRlbF9kcCkpIHsKPiAtCQkvKiBpbml0IHBvd2VyIHNlcXVl bmNlciBvbiB0aGlzIHBpcGUgYW5kIHBvcnQgKi8KPiAgCQltdXRleF9sb2NrKCZkZXZfcHJpdi0+ cHBzX211dGV4KTsKPiAtCQlpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcihkZXYs IGludGVsX2RwLCAmcG93ZXJfc2VxKTsKPiAtCQlpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3Nl cXVlbmNlcl9yZWdpc3RlcnMoZGV2LCBpbnRlbF9kcCwKPiAtCQkJCQkJCSAgICAgICZwb3dlcl9z ZXEpOwo+ICsJCXZsdl9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcihpbnRlbF9kcCk7Cj4gIAkJ bXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKPiAgCX0KPiAgCj4gQEAgLTQ2OTEs NiArNDgyNCw4IEBAIGludGVsX2RwX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFs X3BvcnQgKmludGVsX2RpZ19wb3J0LAo+ICAJc3RydWN0IGVkcF9wb3dlcl9zZXEgcG93ZXJfc2Vx ID0geyAwIH07Cj4gIAlpbnQgdHlwZTsKPiAgCj4gKwlpbnRlbF9kcC0+cHBzX3BpcGUgPSBJTlZB TElEX1BJUEU7Cj4gKwo+ICAJLyogaW50ZWxfZHAgdmZ1bmNzICovCj4gIAlpZiAoSVNfVkFMTEVZ VklFVyhkZXYpKQo+ICAJCWludGVsX2RwLT5nZXRfYXV4X2Nsb2NrX2RpdmlkZXIgPSB2bHZfZ2V0 X2F1eF9jbG9ja19kaXZpZGVyOwo+IEBAIC00NzYyLDggKzQ4OTcsMTIgQEAgaW50ZWxfZHBfaW5p dF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCj4g IAo+ICAJaWYgKGlzX2VkcChpbnRlbF9kcCkpIHsKPiAgCQltdXRleF9sb2NrKCZkZXZfcHJpdi0+ cHBzX211dGV4KTsKPiAtCQlpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3RpbWVzdGFtcHMoaW50 ZWxfZHApOwo+IC0JCWludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyKGRldiwgaW50 ZWxfZHAsICZwb3dlcl9zZXEpOwo+ICsJCWlmIChJU19WQUxMRVlWSUVXKGRldikpIHsKPiArCQkJ dmx2X2luaXRpYWxfcG93ZXJfc2VxdWVuY2VyX3NldHVwKGludGVsX2RwKTsKPiArCQl9IGVsc2Ug ewo+ICsJCQlpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3RpbWVzdGFtcHMoaW50ZWxfZHApOwo+ ICsJCQlpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcihkZXYsIGludGVsX2RwLCAm cG93ZXJfc2VxKTsKPiArCQl9Cj4gIAkJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cHBzX211dGV4 KTsKPiAgCX0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCBhZDRlNjliLi5k MzYyOTliIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtNTYwLDYgKzU2MCwx MiBAQCBzdHJ1Y3QgaW50ZWxfZHAgewo+ICAKPiAgCXN0cnVjdCBub3RpZmllcl9ibG9jayBlZHBf bm90aWZpZXI7Cj4gIAo+ICsJLyoKPiArCSAqIFBpcGUgd2hvc2UgcG93ZXIgc2VxdWVuY2VyIGlz IGN1cnJlbnRseSBsb2NrZWQgaW50bwo+ICsJICogdGhpcyBwb3J0LiBPbmx5IHJlbGV2YW50IG9u IFZMVi9DSFYuCj4gKwkgKi8KPiArCWVudW0gcGlwZSBwcHNfcGlwZTsKPiArCj4gIAlib29sIHVz ZV90cHMzOwo+ICAJYm9vbCBjYW5fbXN0OyAvKiB0aGlzIHBvcnQgc3VwcG9ydHMgbXN0ICovCj4g IAlib29sIGlzX21zdDsKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==