From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH 1/2] drm/i915: Use a crtc mask instead of a active refcount for dpll functions. Date: Thu, 26 Nov 2015 16:36:27 +0200 Message-ID: <1448548587.3189.38.camel@gmail.com> References: <1448358258-30209-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-f46.google.com (mail-pa0-f46.google.com [209.85.220.46]) by gabe.freedesktop.org (Postfix) with ESMTPS id 83A987A149 for ; Thu, 26 Nov 2015 06:36:31 -0800 (PST) Received: by pacej9 with SMTP id ej9so88242532pac.2 for ; Thu, 26 Nov 2015 06:36:31 -0800 (PST) In-Reply-To: <1448358258-30209-1-git-send-email-maarten.lankhorst@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: Maarten Lankhorst , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAyMDE1LTExLTI0IGF0IDEwOjQ0ICswMTAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90 ZToKPiBUaGlzIG1ha2VzIGl0IGVhc2llciB0byB2ZXJpZnkgY29ycmVjdCBkcGxsIHNldHVwIHdp dGggb25seSBhIHNpbmdsZSBjcnRjLgo+IEl0IGl0IGFsc28gdXNlZnVsIHRvIGRldGVjdCBkb3Vi bGUgZHBsbCBlbmFibGUvZGlzYWJsZS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmto b3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgfCA2OCArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQo+IC0K PiAgMyBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKPiAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gaW5kZXggYjg2ZmVlZWFmYzQ1Li4z N2Q0YTdmM2QxMTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC0z MjM2LDcgKzMyMzYsNyBAQCBzdGF0aWMgaW50IGk5MTVfc2hhcmVkX2RwbGxzX2luZm8oc3RydWN0 IHNlcV9maWxlICptLAo+IHZvaWQgKnVudXNlZCkKPiAgCj4gIAkJc2VxX3ByaW50ZihtLCAiRFBM TCVpOiAlcywgaWQ6ICVpXG4iLCBpLCBwbGwtPm5hbWUsIHBsbC0+aWQpOwo+ICAJCXNlcV9wcmlu dGYobSwgIiBjcnRjX21hc2s6IDB4JTA4eCwgYWN0aXZlOiAlZCwgb246ICVzXG4iLAo+IC0JCQkg ICBwbGwtPmNvbmZpZy5jcnRjX21hc2ssIHBsbC0+YWN0aXZlLCB5ZXNubyhwbGwKPiAtPm9uKSk7 Cj4gKwkJCSAgIHBsbC0+Y29uZmlnLmNydGNfbWFzaywgaHdlaWdodDMyKHBsbAo+IC0+YWN0aXZl X21hc2spLCB5ZXNubyhwbGwtPm9uKSk7Cj4gIAkJc2VxX3ByaW50ZihtLCAiIHRyYWNrZWQgaGFy ZHdhcmUgc3RhdGU6XG4iKTsKPiAgCQlzZXFfcHJpbnRmKG0sICIgZHBsbDogICAgMHglMDh4XG4i LCBwbGwKPiAtPmNvbmZpZy5od19zdGF0ZS5kcGxsKTsKPiAgCQlzZXFfcHJpbnRmKG0sICIgZHBs bF9tZDogMHglMDh4XG4iLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IGYzYWQ3MmFi ZWVhNy4uZTA3NjNjMzAwNWU4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTM5 Myw3ICszOTMsNyBAQCBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxfY29uZmlnIHsKPiAgc3RydWN0 IGludGVsX3NoYXJlZF9kcGxsIHsKPiAgCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9jb25maWcg Y29uZmlnOwo+ICAKPiAtCWludCBhY3RpdmU7IC8qIGNvdW50IG9mIG51bWJlciBvZiBhY3RpdmUg Q1JUQ3MgKGkuZS4gRFBNUyBvbikgKi8KPiArCXVuc2lnbmVkIGFjdGl2ZV9tYXNrOyAvKiBtYXNr IG9mIGFjdGl2ZSBDUlRDcyAoaS5lLiBEUE1TIG9uKSAqLwo+ICAJYm9vbCBvbjsgLyogaXMgdGhl IFBMTCBhY3R1YWxseSBhY3RpdmU/IERpc2FibGVkIGR1cmluZyBtb2Rlc2V0ICovCj4gIAljb25z dCBjaGFyICpuYW1lOwo+ICAJLyogc2hvdWxkIG1hdGNoIHRoZSBpbmRleCBpbiB0aGUgZGV2X3By aXYtPnNoYXJlZF9kcGxscyBhcnJheSAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwo+IGluZGV4IDMzMTdkYjM4MDZhOC4uNzliYjIyZWY2N2RjIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0xODcwLDcgKzE4NzAsNyBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9wcmVwYXJlX3NoYXJlZF9kcGxsKHN0cnVjdCBpbnRlbF9jcnRjCj4gKmNydGMpCj4g IAkJcmV0dXJuOwo+ICAKPiAgCVdBUk5fT04oIXBsbC0+Y29uZmlnLmNydGNfbWFzayk7Cj4gLQlp ZiAocGxsLT5hY3RpdmUgPT0gMCkgewo+ICsJaWYgKHBsbC0+YWN0aXZlX21hc2sgPT0gMCkgewo+ ICAJCURSTV9ERUJVR19EUklWRVIoInNldHRpbmcgdXAgJXNcbiIsIHBsbC0+bmFtZSk7Cj4gIAkJ V0FSTl9PTihwbGwtPm9uKTsKPiAgCQlhc3NlcnRfc2hhcmVkX2RwbGxfZGlzYWJsZWQoZGV2X3By aXYsIHBsbCk7Cj4gQEAgLTE4OTIsNiArMTg5Miw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2VuYWJs ZV9zaGFyZWRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0Ywo+ICpjcnRjKQo+ICAJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBs bCAqcGxsID0gaW50ZWxfY3J0Y190b19zaGFyZWRfZHBsbChjcnRjKTsKPiArCXVuc2lnbmVkIGNy dGNfbWFzayA9IDEgPDwgZHJtX2NydGNfaW5kZXgoJmNydGMtPmJhc2UpOwo+ICAKPiAgCWlmIChX QVJOX09OKHBsbCA9PSBOVUxMKSkKPiAgCQlyZXR1cm47Cj4gQEAgLTE4OTksMTEgKzE5MDAsMTYg QEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX3NoYXJlZF9kcGxsKHN0cnVjdCBpbnRlbF9jcnRj Cj4gKmNydGMpCj4gIAlpZiAoV0FSTl9PTihwbGwtPmNvbmZpZy5jcnRjX21hc2sgPT0gMCkpCj4g IAkJcmV0dXJuOwo+ICAKPiArCWlmIChXQVJOX09OKHBsbC0+YWN0aXZlX21hc2sgJiBjcnRjX21h c2spKQo+ICsJCXJldHVybjsKPiArCj4gIAlEUk1fREVCVUdfS01TKCJlbmFibGUgJXMgKGFjdGl2 ZSAlZCwgb24/ICVkKSBmb3IgY3J0YyAlZFxuIiwKPiAtCQkgICAgICBwbGwtPm5hbWUsIHBsbC0+ YWN0aXZlLCBwbGwtPm9uLAo+ICsJCSAgICAgIHBsbC0+bmFtZSwgaHdlaWdodDMyKHBsbC0+YWN0 aXZlX21hc2spLCBwbGwtPm9uLAoKTWF5YmUganVzdCBwcmludCBhY3RpdmVfbWFzaywgaXQgaXMg bW9yZSBpbmZvcm1hdGl2ZSBhbnl3YXkuCgo+ICAJCSAgICAgIGNydGMtPmJhc2UuYmFzZS5pZCk7 Cj4gIAo+IC0JaWYgKHBsbC0+YWN0aXZlKyspIHsKPiArCXBsbC0+YWN0aXZlX21hc2sgfD0gY3J0 Y19tYXNrOwo+ICsKPiArCWlmIChwbGwtPmFjdGl2ZV9tYXNrICE9IGNydGNfbWFzaykgewo+ICAJ CVdBUk5fT04oIXBsbC0+b24pOwo+ICAJCWFzc2VydF9zaGFyZWRfZHBsbF9lbmFibGVkKGRldl9w cml2LCBwbGwpOwo+ICAJCXJldHVybjsKPiBAQCAtMTkyMiwzMCArMTkyOCwzMyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9kaXNhYmxlX3NoYXJlZF9kcGxsKHN0cnVjdAo+IGludGVsX2NydGMgKmNydGMp Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0 IGludGVsX3NoYXJlZF9kcGxsICpwbGwgPSBpbnRlbF9jcnRjX3RvX3NoYXJlZF9kcGxsKGNydGMp Owo+ICsJdW5zaWduZWQgY3J0Y19tYXNrID0gMSA8PCBkcm1fY3J0Y19pbmRleCgmY3J0Yy0+YmFz ZSk7Cj4gIAo+ICAJLyogUENIIG9ubHkgYXZhaWxhYmxlIG9uIElMSysgKi8KPiAtCWlmIChJTlRF TF9JTkZPKGRldiktPmdlbiA8IDUpCj4gKwlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA8 IDUpCj4gIAkJcmV0dXJuOwo+ICAKPiAgCWlmIChwbGwgPT0gTlVMTCkKPiAgCQlyZXR1cm47Cj4g IAo+IC0JaWYgKFdBUk5fT04oIShwbGwtPmNvbmZpZy5jcnRjX21hc2sgJiAoMSA8PCBkcm1fY3J0 Y19pbmRleCgmY3J0Ywo+IC0+YmFzZSkpKSkpCj4gKwlpZiAoV0FSTl9PTighKHBsbC0+Y29uZmln LmNydGNfbWFzayAmIGNydGNfbWFzaykpKQo+ICAJCXJldHVybjsKPiAgCj4gLQlEUk1fREVCVUdf S01TKCJkaXNhYmxlICVzIChhY3RpdmUgJWQsIG9uPyAlZCkgZm9yIGNydGMgJWRcbiIsCj4gLQkJ ICAgICAgcGxsLT5uYW1lLCBwbGwtPmFjdGl2ZSwgcGxsLT5vbiwKPiArCWlmIChXQVJOX09OKCEo cGxsLT5hY3RpdmVfbWFzayAmIGNydGNfbWFzaykpKQo+ICsJCXJldHVybjsKPiArCj4gKwlEUk1f REVCVUdfS01TKCJkaXNhYmxlICVzIChhY3RpdmUgJXgsIG9uPyAlZCkgZm9yIGNydGMgJWRcbiIs Cj4gKwkJICAgICAgcGxsLT5uYW1lLCBwbGwtPmFjdGl2ZV9tYXNrLCBwbGwtPm9uLAo+ICAJCSAg ICAgIGNydGMtPmJhc2UuYmFzZS5pZCk7Cj4gIAo+IC0JaWYgKFdBUk5fT04ocGxsLT5hY3RpdmUg PT0gMCkpIHsKPiArCXBsbC0+YWN0aXZlX21hc2sgJj0gfmNydGNfbWFzazsKPiArCWlmIChwbGwt PmFjdGl2ZV9tYXNrKSB7Cj4gIAkJYXNzZXJ0X3NoYXJlZF9kcGxsX2Rpc2FibGVkKGRldl9wcml2 LCBwbGwpOwo+ICAJCXJldHVybjsKPiAgCX0KClRoYXQgY2FsbCB0byBhc3NlcnRfc2hhcmVkX2Rw bGxfZGlzYWJsZWQoKSBsb29rcyB3cm9uZyBub3cuIEp1c3QgcmVtb3ZlIGl0LCBtb3ZlCnRoZSBh c3NlcnQgZW5hYmxlIGFmdGVyIHRoZSBEUk1fREVCVUdfS01TIGFuZCBhZGQKClJldmlld2VkLWJ5 OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVpcmEgPGNvbnNlbHZhbjJAZ21haWwuY29tPgoKQW5k ZXIKCj4gIAo+ICAJYXNzZXJ0X3NoYXJlZF9kcGxsX2VuYWJsZWQoZGV2X3ByaXYsIHBsbCk7Cj4g IAlXQVJOX09OKCFwbGwtPm9uKTsKPiAtCWlmICgtLXBsbC0+YWN0aXZlKQo+IC0JCXJldHVybjsK PiAgCj4gIAlEUk1fREVCVUdfS01TKCJkaXNhYmxpbmcgJXNcbiIsIHBsbC0+bmFtZSk7Cj4gIAlw bGwtPmRpc2FibGUoZGV2X3ByaXYsIHBsbCk7Cj4gQEAgLTQyMzksMTAgKzQyNDgsMTAgQEAgc3Ry dWN0IGludGVsX3NoYXJlZF9kcGxsICppbnRlbF9nZXRfc2hhcmVkX2RwbGwoc3RydWN0Cj4gaW50 ZWxfY3J0YyAqY3J0YywKPiAgCQlpZiAobWVtY21wKCZjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRl LAo+ICAJCQkgICAmc2hhcmVkX2RwbGxbaV0uaHdfc3RhdGUsCj4gIAkJCSAgIHNpemVvZihjcnRj X3N0YXRlLT5kcGxsX2h3X3N0YXRlKSkgPT0gMCkgewo+IC0JCQlEUk1fREVCVUdfS01TKCJDUlRD OiVkIHNoYXJpbmcgZXhpc3RpbmcgJXMgKGNydGMgbWFzawo+IDB4JTA4eCwgYXRpdmUgJWQpXG4i LAo+ICsJCQlEUk1fREVCVUdfS01TKCJDUlRDOiVkIHNoYXJpbmcgZXhpc3RpbmcgJXMgKGNydGMg bWFzawo+IDB4JTA4eCwgYWN0aXZlIDB4JTA4eClcbiIsCj4gIAkJCQkgICAgICBjcnRjLT5iYXNl LmJhc2UuaWQsIHBsbC0+bmFtZSwKPiAgCQkJCSAgICAgIHNoYXJlZF9kcGxsW2ldLmNydGNfbWFz aywKPiAtCQkJCSAgICAgIHBsbC0+YWN0aXZlKTsKPiArCQkJCSAgICAgIHBsbC0+YWN0aXZlX21h c2spOwo+ICAJCQlnb3RvIGZvdW5kOwo+ICAJCX0KPiAgCX0KPiBAQCAtMTI4NDEsMTIgKzEyODUw LDEyIEBAIGNoZWNrX3NoYXJlZF9kcGxsX3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4g IAo+ICAJCWFjdGl2ZSA9IHBsbC0+Z2V0X2h3X3N0YXRlKGRldl9wcml2LCBwbGwsICZkcGxsX2h3 X3N0YXRlKTsKPiAgCj4gLQkJSTkxNV9TVEFURV9XQVJOKHBsbC0+YWN0aXZlID4gaHdlaWdodDMy KHBsbAo+IC0+Y29uZmlnLmNydGNfbWFzayksCj4gLQkJICAgICAibW9yZSBhY3RpdmUgcGxsIHVz ZXJzIHRoYW4gcmVmZXJlbmNlczogJWkgdnMgJWlcbiIsCj4gLQkJICAgICBwbGwtPmFjdGl2ZSwg aHdlaWdodDMyKHBsbC0+Y29uZmlnLmNydGNfbWFzaykpOwo+IC0JCUk5MTVfU1RBVEVfV0FSTihw bGwtPmFjdGl2ZSAmJiAhcGxsLT5vbiwKPiArCQlJOTE1X1NUQVRFX1dBUk4ocGxsLT5hY3RpdmVf bWFzayAmIH5wbGwtPmNvbmZpZy5jcnRjX21hc2ssCj4gKwkJICAgICAibW9yZSBhY3RpdmUgcGxs IHVzZXJzIHRoYW4gcmVmZXJlbmNlczogJXggdnMgJXhcbiIsCj4gKwkJICAgICBwbGwtPmFjdGl2 ZV9tYXNrLCBwbGwtPmNvbmZpZy5jcnRjX21hc2spOwo+ICsJCUk5MTVfU1RBVEVfV0FSTihwbGwt PmFjdGl2ZV9tYXNrICYmICFwbGwtPm9uLAo+ICAJCSAgICAgInBsbCBpbiBhY3RpdmUgdXNlIGJ1 dCBub3Qgb24gaW4gc3cgdHJhY2tpbmdcbiIpOwo+IC0JCUk5MTVfU1RBVEVfV0FSTihwbGwtPm9u ICYmICFwbGwtPmFjdGl2ZSwKPiArCQlJOTE1X1NUQVRFX1dBUk4ocGxsLT5vbiAmJiAhcGxsLT5h Y3RpdmVfbWFzaywKPiAgCQkgICAgICJwbGwgaW4gb24gYnV0IG5vdCBvbiBpbiB1c2UgaW4gc3cg dHJhY2tpbmdcbiIpOwo+ICAJCUk5MTVfU1RBVEVfV0FSTihwbGwtPm9uICE9IGFjdGl2ZSwKPiAg CQkgICAgICJwbGwgb24gc3RhdGUgbWlzbWF0Y2ggKGV4cGVjdGVkICVpLCBmb3VuZCAlaSlcbiIs Cj4gQEAgLTEyODU0LDE2ICsxMjg2MywxNiBAQCBjaGVja19zaGFyZWRfZHBsbF9zdGF0ZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAKPiAgCQlmb3JfZWFjaF9pbnRlbF9jcnRjKGRldiwgY3J0 Yykgewo+ICAJCQlpZiAoY3J0Yy0+YmFzZS5zdGF0ZS0+ZW5hYmxlICYmCj4gaW50ZWxfY3J0Y190 b19zaGFyZWRfZHBsbChjcnRjKSA9PSBwbGwpCj4gLQkJCQllbmFibGVkX2NydGNzKys7Cj4gKwkJ CQllbmFibGVkX2NydGNzIHw9IDEgPDwgZHJtX2NydGNfaW5kZXgoJmNydGMKPiAtPmJhc2UpOwo+ ICAJCQlpZiAoY3J0Yy0+YWN0aXZlICYmIGludGVsX2NydGNfdG9fc2hhcmVkX2RwbGwoY3J0YykK PiA9PSBwbGwpCj4gLQkJCQlhY3RpdmVfY3J0Y3MrKzsKPiArCQkJCWFjdGl2ZV9jcnRjcyB8PSAx IDw8IGRybV9jcnRjX2luZGV4KCZjcnRjCj4gLT5iYXNlKTsKPiAgCQl9Cj4gLQkJSTkxNV9TVEFU RV9XQVJOKHBsbC0+YWN0aXZlICE9IGFjdGl2ZV9jcnRjcywKPiAtCQkgICAgICJwbGwgYWN0aXZl IGNydGNzIG1pc21hdGNoIChleHBlY3RlZCAlaSwgZm91bmQgJWkpXG4iLAo+IC0JCSAgICAgcGxs LT5hY3RpdmUsIGFjdGl2ZV9jcnRjcyk7Cj4gLQkJSTkxNV9TVEFURV9XQVJOKGh3ZWlnaHQzMihw bGwtPmNvbmZpZy5jcnRjX21hc2spICE9Cj4gZW5hYmxlZF9jcnRjcywKPiAtCQkgICAgICJwbGwg ZW5hYmxlZCBjcnRjcyBtaXNtYXRjaCAoZXhwZWN0ZWQgJWksIGZvdW5kICVpKVxuIiwKPiAtCQkg ICAgIGh3ZWlnaHQzMihwbGwtPmNvbmZpZy5jcnRjX21hc2spLCBlbmFibGVkX2NydGNzKTsKPiAr CQlJOTE1X1NUQVRFX1dBUk4ocGxsLT5hY3RpdmVfbWFzayAhPSBhY3RpdmVfY3J0Y3MsCj4gKwkJ ICAgICAicGxsIGFjdGl2ZSBjcnRjcyBtaXNtYXRjaCAoZXhwZWN0ZWQgJXgsIGZvdW5kICV4KVxu IiwKPiArCQkgICAgIHBsbC0+YWN0aXZlX21hc2ssIGFjdGl2ZV9jcnRjcyk7Cj4gKwkJSTkxNV9T VEFURV9XQVJOKHBsbC0+Y29uZmlnLmNydGNfbWFzayAhPSBlbmFibGVkX2NydGNzLAo+ICsJCSAg ICAgInBsbCBlbmFibGVkIGNydGNzIG1pc21hdGNoIChleHBlY3RlZCAleCwgZm91bmQgJXgpXG4i LAo+ICsJCSAgICAgcGxsLT5jb25maWcuY3J0Y19tYXNrLCBlbmFibGVkX2NydGNzKTsKPiAgCj4g IAkJSTkxNV9TVEFURV9XQVJOKHBsbC0+b24gJiYgbWVtY21wKCZwbGwtPmNvbmZpZy5od19zdGF0 ZSwKPiAmZHBsbF9od19zdGF0ZSwKPiAgCQkJCSAgICAgICBzaXplb2YoZHBsbF9od19zdGF0ZSkp LAo+IEBAIC0xNTUwMiwxNCArMTU1MTEsMTMgQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9y ZWFkb3V0X2h3X3N0YXRlKHN0cnVjdAo+IGRybV9kZXZpY2UgKmRldikKPiAgCj4gIAkJcGxsLT5v biA9IHBsbC0+Z2V0X2h3X3N0YXRlKGRldl9wcml2LCBwbGwsCj4gIAkJCQkJICAgICZwbGwtPmNv bmZpZy5od19zdGF0ZSk7Cj4gLQkJcGxsLT5hY3RpdmUgPSAwOwo+ICsJCXBsbC0+YWN0aXZlX21h c2sgPSAwOwo+ICAJCXBsbC0+Y29uZmlnLmNydGNfbWFzayA9IDA7Cj4gIAkJZm9yX2VhY2hfaW50 ZWxfY3J0YyhkZXYsIGNydGMpIHsKPiAtCQkJaWYgKGNydGMtPmFjdGl2ZSAmJiBpbnRlbF9jcnRj X3RvX3NoYXJlZF9kcGxsKGNydGMpCj4gPT0gcGxsKSB7Cj4gLQkJCQlwbGwtPmFjdGl2ZSsrOwo+ ICsJCQlpZiAoY3J0Yy0+YWN0aXZlICYmIGludGVsX2NydGNfdG9fc2hhcmVkX2RwbGwoY3J0YykK PiA9PSBwbGwpCj4gIAkJCQlwbGwtPmNvbmZpZy5jcnRjX21hc2sgfD0gMSA8PCBjcnRjLT5waXBl Owo+IC0JCQl9Cj4gIAkJfQo+ICsJCXBsbC0+YWN0aXZlX21hc2sgPSBwbGwtPmNvbmZpZy5jcnRj X21hc2s7Cj4gIAo+ICAJCURSTV9ERUJVR19LTVMoIiVzIGh3IHN0YXRlIHJlYWRvdXQ6IGNydGNf bWFzayAweCUwOHgsIG9uCj4gJWlcbiIsCj4gIAkJCSAgICAgIHBsbC0+bmFtZSwgcGxsLT5jb25m aWcuY3J0Y19tYXNrLCBwbGwtPm9uKTsKPiBAQCAtMTU2MTUsNyArMTU2MjMsNyBAQCBpbnRlbF9t b2Rlc2V0X3NldHVwX2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAlmb3IgKGkg PSAwOyBpIDwgZGV2X3ByaXYtPm51bV9zaGFyZWRfZHBsbDsgaSsrKSB7Cj4gIAkJc3RydWN0IGlu dGVsX3NoYXJlZF9kcGxsICpwbGwgPSAmZGV2X3ByaXYtPnNoYXJlZF9kcGxsc1tpXTsKPiAgCj4g LQkJaWYgKCFwbGwtPm9uIHx8IHBsbC0+YWN0aXZlKQo+ICsJCWlmICghcGxsLT5vbiB8fCBwbGwt PmFjdGl2ZV9tYXNrKQo+ICAJCQljb250aW51ZTsKPiAgCj4gIAkJRFJNX0RFQlVHX0tNUygiJXMg ZW5hYmxlZCBidXQgbm90IGluIHVzZSwgZGlzYWJsaW5nXG4iLCBwbGwKPiAtPm5hbWUpOwpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=