From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH v2 (rebased) 1/4] drm/i915: Use a crtc mask instead of a refcount for dpll functions, v2. Date: Wed, 16 Mar 2016 16:59:39 +0200 Message-ID: <1458140379.2596.35.camel@gmail.com> References: <1457944075-14123-1-git-send-email-maarten.lankhorst@linux.intel.com> <1457944075-14123-2-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-pf0-x231.google.com (mail-pf0-x231.google.com [IPv6:2607:f8b0:400e:c00::231]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7457E6E94E for ; Wed, 16 Mar 2016 14:59:47 +0000 (UTC) Received: by mail-pf0-x231.google.com with SMTP id x3so78194525pfb.1 for ; Wed, 16 Mar 2016 07:59:47 -0700 (PDT) In-Reply-To: <1457944075-14123-2-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 T24gTW9uLCAyMDE2LTAzLTE0IGF0IDA5OjI3ICswMTAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90 ZToKPiBUaGlzIG1ha2VzIGl0IGVhc2llciB0byB2ZXJpZnkgY29ycmVjdCBkcGxsIHNldHVwIHdp dGggb25seSBhIHNpbmdsZSBjcnRjLgo+IEl0IGlzIGFsc28gdXNlZnVsIHRvIGRldGVjdCBkb3Vi bGUgZHBsbCBlbmFibGUvZGlzYWJsZS4KPiAKPiBDaGFuZ2VzIHNpbmNlIHYxOgo+IC0gUmViYXNl IG9uIHRvcCBvZiBBbmRlcidzIGRwbGwgcmV3b3JrLgo+IC0gQ2hhbmdlIGRlYnVnZnMgYWN0aXZl IHRvIGEgbWFzay4KPiAtIENoYW5nZSBlbmFibGVkX2NydGNzIGFuZCBhY3RpdmVfY3J0Y3MgdG8g dW5zaWduZWQuCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4u bGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KClJldmlld2VkLWJ5OiBBbmRlciBDb25zZWx2YW4g ZGUgT2xpdmVpcmEgPGNvbnNlbHZhbjJAZ21haWwuY29tPgoKPiAtLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICB8ICA0ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jICB8IDQzICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0KPiAtCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMgfCAzNSArKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw bGxfbWdyLmggfCAgMiArLQo+ICA0IGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDQx IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBpbmRl eCBkNjdhYjcxMzBjMGYuLmY4ZmQzMGJkNzViZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jCj4gQEAgLTMyMDgsOCArMzIwOCw4IEBAIHN0YXRpYyBpbnQgaTkxNV9zaGFyZWRf ZHBsbHNfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCj4gdm9pZCAqdW51c2VkKQo+ICAJCXN0cnVj dCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsID0gJmRldl9wcml2LT5zaGFyZWRfZHBsbHNbaV07Cj4g IAo+ICAJCXNlcV9wcmludGYobSwgIkRQTEwlaTogJXMsIGlkOiAlaVxuIiwgaSwgcGxsLT5uYW1l LCBwbGwtPmlkKTsKPiAtCQlzZXFfcHJpbnRmKG0sICIgY3J0Y19tYXNrOiAweCUwOHgsIGFjdGl2 ZTogJWQsIG9uOiAlc1xuIiwKPiAtCQkJICAgcGxsLT5jb25maWcuY3J0Y19tYXNrLCBwbGwtPmFj dGl2ZSwgeWVzbm8ocGxsCj4gLT5vbikpOwo+ICsJCXNlcV9wcmludGYobSwgIiBjcnRjX21hc2s6 IDB4JTA4eCwgYWN0aXZlOiAweCV4LCBvbjogJXNcbiIsCj4gKwkJCSAgIHBsbC0+Y29uZmlnLmNy dGNfbWFzaywgcGxsLT5hY3RpdmVfbWFzaywgeWVzbm8ocGxsCj4gLT5vbikpOwo+ICAJCXNlcV9w cmludGYobSwgIiB0cmFja2VkIGhhcmR3YXJlIHN0YXRlOlxuIik7Cj4gIAkJc2VxX3ByaW50Ziht LCAiIGRwbGw6ICAgIDB4JTA4eFxuIiwgcGxsCj4gLT5jb25maWcuaHdfc3RhdGUuZHBsbCk7Cj4g IAkJc2VxX3ByaW50ZihtLCAiIGRwbGxfbWQ6IDB4JTA4eFxuIiwKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCA1YTk1ZGNmNjhkZjEuLmY4ZjAyZWMyMDFiNyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTI5NzMsNyArMTI5NzMs NyBAQCBjaGVja19zaGFyZWRfZHBsbF9zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJ Zm9yIChpID0gMDsgaSA8IGRldl9wcml2LT5udW1fc2hhcmVkX2RwbGw7IGkrKykgewo+ICAJCXN0 cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsID0KPiAgCQkJaW50ZWxfZ2V0X3NoYXJlZF9kcGxs X2J5X2lkKGRldl9wcml2LCBpKTsKPiAtCQlpbnQgZW5hYmxlZF9jcnRjcyA9IDAsIGFjdGl2ZV9j cnRjcyA9IDA7Cj4gKwkJdW5zaWduZWQgZW5hYmxlZF9jcnRjcyA9IDAsIGFjdGl2ZV9jcnRjcyA9 IDA7Cj4gIAkJYm9vbCBhY3RpdmU7Cj4gIAo+ICAJCW1lbXNldCgmZHBsbF9od19zdGF0ZSwgMCwg c2l6ZW9mKGRwbGxfaHdfc3RhdGUpKTsKPiBAQCAtMTI5ODIsMTUgKzEyOTgyLDE1IEBAIGNoZWNr X3NoYXJlZF9kcGxsX3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAo+ICAJCWFjdGl2 ZSA9IHBsbC0+ZnVuY3MuZ2V0X2h3X3N0YXRlKGRldl9wcml2LCBwbGwsCj4gJmRwbGxfaHdfc3Rh dGUpOwo+ICAKPiAtCQlJOTE1X1NUQVRFX1dBUk4ocGxsLT5hY3RpdmUgPiBod2VpZ2h0MzIocGxs Cj4gLT5jb25maWcuY3J0Y19tYXNrKSwKPiAtCQkgICAgICJtb3JlIGFjdGl2ZSBwbGwgdXNlcnMg dGhhbiByZWZlcmVuY2VzOiAlaSB2cyAlaVxuIiwKPiAtCQkgICAgIHBsbC0+YWN0aXZlLCBod2Vp Z2h0MzIocGxsLT5jb25maWcuY3J0Y19tYXNrKSk7Cj4gLQkJSTkxNV9TVEFURV9XQVJOKHBsbC0+ YWN0aXZlICYmICFwbGwtPm9uLAo+IC0JCSAgICAgInBsbCBpbiBhY3RpdmUgdXNlIGJ1dCBub3Qg b24gaW4gc3cgdHJhY2tpbmdcbiIpOwo+ICsJCUk5MTVfU1RBVEVfV0FSTihwbGwtPmFjdGl2ZV9t YXNrICYgfnBsbC0+Y29uZmlnLmNydGNfbWFzaywKPiArCQkgICAgICJtb3JlIGFjdGl2ZSBwbGwg dXNlcnMgdGhhbiByZWZlcmVuY2VzOiAleCB2cyAleFxuIiwKPiArCQkgICAgIHBsbC0+YWN0aXZl X21hc2ssIHBsbC0+Y29uZmlnLmNydGNfbWFzayk7Cj4gIAo+ICAJCWlmICghKHBsbC0+ZmxhZ3Mg JiBJTlRFTF9EUExMX0FMV0FZU19PTikpIHsKPiAtCQkJSTkxNV9TVEFURV9XQVJOKHBsbC0+b24g JiYgIXBsbC0+YWN0aXZlLAo+IC0JCQkgICAgICJwbGwgaW4gb24gYnV0IG5vdCBvbiBpbiB1c2Ug aW4gc3cgdHJhY2tpbmdcbiIpOwo+ICsJCQlJOTE1X1NUQVRFX1dBUk4oIXBsbC0+b24gJiYgcGxs LT5hY3RpdmVfbWFzaywKPiArCQkJICAgICAicGxsIGluIGFjdGl2ZSB1c2UgYnV0IG5vdCBvbiBp biBzdwo+IHRyYWNraW5nXG4iKTsKPiArCQkJSTkxNV9TVEFURV9XQVJOKHBsbC0+b24gJiYgIXBs bC0+YWN0aXZlX21hc2ssCj4gKwkJCSAgICAgInBsbCBpcyBvbiBidXQgbm90IHVzZWQgYnkgYW55 IGFjdGl2ZSBjcnRjXG4iKTsKPiAgCQkJSTkxNV9TVEFURV9XQVJOKHBsbC0+b24gIT0gYWN0aXZl LAo+ICAJCQkgICAgICJwbGwgb24gc3RhdGUgbWlzbWF0Y2ggKGV4cGVjdGVkICVpLCBmb3VuZAo+ ICVpKVxuIiwKPiAgCQkJICAgICBwbGwtPm9uLCBhY3RpdmUpOwo+IEBAIC0xMjk5OCwxNiArMTI5 OTgsMTcgQEAgY2hlY2tfc2hhcmVkX2RwbGxfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikK PiAgCj4gIAkJZm9yX2VhY2hfaW50ZWxfY3J0YyhkZXYsIGNydGMpIHsKPiAgCQkJaWYgKGNydGMt PmJhc2Uuc3RhdGUtPmVuYWJsZSAmJiBjcnRjLT5jb25maWcKPiAtPnNoYXJlZF9kcGxsID09IHBs bCkKPiAtCQkJCWVuYWJsZWRfY3J0Y3MrKzsKPiAtCQkJaWYgKGNydGMtPmFjdGl2ZSAmJiBjcnRj LT5jb25maWctPnNoYXJlZF9kcGxsID09IHBsbCkKPiAtCQkJCWFjdGl2ZV9jcnRjcysrOwo+ICsJ CQkJZW5hYmxlZF9jcnRjcyB8PSAxIDw8IGRybV9jcnRjX2luZGV4KCZjcnRjCj4gLT5iYXNlKTsK PiArCQkJaWYgKGNydGMtPmJhc2Uuc3RhdGUtPmFjdGl2ZSAmJiBjcnRjLT5jb25maWcKPiAtPnNo YXJlZF9kcGxsID09IHBsbCkKPiArCQkJCWFjdGl2ZV9jcnRjcyB8PSAxIDw8IGRybV9jcnRjX2lu ZGV4KCZjcnRjCj4gLT5iYXNlKTsKPiAgCQl9Cj4gLQkJSTkxNV9TVEFURV9XQVJOKHBsbC0+YWN0 aXZlICE9IGFjdGl2ZV9jcnRjcywKPiAtCQkgICAgICJwbGwgYWN0aXZlIGNydGNzIG1pc21hdGNo IChleHBlY3RlZCAlaSwgZm91bmQgJWkpXG4iLAo+IC0JCSAgICAgcGxsLT5hY3RpdmUsIGFjdGl2 ZV9jcnRjcyk7Cj4gLQkJSTkxNV9TVEFURV9XQVJOKGh3ZWlnaHQzMihwbGwtPmNvbmZpZy5jcnRj X21hc2spICE9Cj4gZW5hYmxlZF9jcnRjcywKPiAtCQkgICAgICJwbGwgZW5hYmxlZCBjcnRjcyBt aXNtYXRjaCAoZXhwZWN0ZWQgJWksIGZvdW5kICVpKVxuIiwKPiAtCQkgICAgIGh3ZWlnaHQzMihw bGwtPmNvbmZpZy5jcnRjX21hc2spLCBlbmFibGVkX2NydGNzKTsKPiArCj4gKwkJSTkxNV9TVEFU RV9XQVJOKHBsbC0+YWN0aXZlX21hc2sgIT0gYWN0aXZlX2NydGNzLAo+ICsJCSAgICAgInBsbCBh Y3RpdmUgY3J0Y3MgbWlzbWF0Y2ggKGV4cGVjdGVkICV4LCBmb3VuZCAleClcbiIsCj4gKwkJICAg ICBwbGwtPmFjdGl2ZV9tYXNrLCBhY3RpdmVfY3J0Y3MpOwo+ICsJCUk5MTVfU1RBVEVfV0FSTihw bGwtPmNvbmZpZy5jcnRjX21hc2sgIT0gZW5hYmxlZF9jcnRjcywKPiArCQkgICAgICJwbGwgZW5h YmxlZCBjcnRjcyBtaXNtYXRjaCAoZXhwZWN0ZWQgJXgsIGZvdW5kICV4KVxuIiwKPiArCQkgICAg IHBsbC0+Y29uZmlnLmNydGNfbWFzaywgZW5hYmxlZF9jcnRjcyk7Cj4gIAo+ICAJCUk5MTVfU1RB VEVfV0FSTihwbGwtPm9uICYmIG1lbWNtcCgmcGxsLT5jb25maWcuaHdfc3RhdGUsCj4gJmRwbGxf aHdfc3RhdGUsCj4gIAkJCQkgICAgICAgc2l6ZW9mKGRwbGxfaHdfc3RhdGUpKSwKPiBAQCAtMTU3 MjAsMTQgKzE1NzIxLDEyIEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9od19z dGF0ZShzdHJ1Y3QKPiBkcm1fZGV2aWNlICpkZXYpCj4gIAo+ICAJCXBsbC0+b24gPSBwbGwtPmZ1 bmNzLmdldF9od19zdGF0ZShkZXZfcHJpdiwgcGxsLAo+ICAJCQkJCQkgICZwbGwtPmNvbmZpZy5o d19zdGF0ZSk7Cj4gLQkJcGxsLT5hY3RpdmUgPSAwOwo+ICAJCXBsbC0+Y29uZmlnLmNydGNfbWFz ayA9IDA7Cj4gIAkJZm9yX2VhY2hfaW50ZWxfY3J0YyhkZXYsIGNydGMpIHsKPiAtCQkJaWYgKGNy dGMtPmFjdGl2ZSAmJiBjcnRjLT5jb25maWctPnNoYXJlZF9kcGxsID09IHBsbCkKPiB7Cj4gLQkJ CQlwbGwtPmFjdGl2ZSsrOwo+ICsJCQlpZiAoY3J0Yy0+YWN0aXZlICYmIGNydGMtPmNvbmZpZy0+ c2hhcmVkX2RwbGwgPT0gcGxsKQo+ICAJCQkJcGxsLT5jb25maWcuY3J0Y19tYXNrIHw9IDEgPDwg Y3J0Yy0+cGlwZTsKPiAtCQkJfQo+ICAJCX0KPiArCQlwbGwtPmFjdGl2ZV9tYXNrID0gcGxsLT5j b25maWcuY3J0Y19tYXNrOwo+ICAKPiAgCQlEUk1fREVCVUdfS01TKCIlcyBodyBzdGF0ZSByZWFk b3V0OiBjcnRjX21hc2sgMHglMDh4LCBvbgo+ICVpXG4iLAo+ICAJCQkgICAgICBwbGwtPm5hbWUs IHBsbC0+Y29uZmlnLmNydGNfbWFzaywgcGxsLT5vbik7Cj4gQEAgLTE1ODUxLDcgKzE1ODUwLDcg QEAgaW50ZWxfbW9kZXNldF9zZXR1cF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ICAJZm9yIChpID0gMDsgaSA8IGRldl9wcml2LT5udW1fc2hhcmVkX2RwbGw7IGkrKykgewo+ICAJ CXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsID0gJmRldl9wcml2LT5zaGFyZWRfZHBsbHNb aV07Cj4gIAo+IC0JCWlmICghcGxsLT5vbiB8fCBwbGwtPmFjdGl2ZSkKPiArCQlpZiAoIXBsbC0+ b24gfHwgcGxsLT5hY3RpdmVfbWFzaykKPiAgCQkJY29udGludWU7Cj4gIAo+ICAJCURSTV9ERUJV R19LTVMoIiVzIGVuYWJsZWQgYnV0IG5vdCBpbiB1c2UsIGRpc2FibGluZ1xuIiwgcGxsCj4gLT5u YW1lKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3Iu Ywo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYwo+IGluZGV4IDRiNjM2 YzQ3ZThlMy4uZTVmNjdlZmVjMzJkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwbGxfbWdyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxs X21nci5jCj4gQEAgLTkwLDcgKzkwLDcgQEAgdm9pZCBpbnRlbF9wcmVwYXJlX3NoYXJlZF9kcGxs KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICAJCXJldHVybjsKPiAgCj4gIAlXQVJOX09OKCFw bGwtPmNvbmZpZy5jcnRjX21hc2spOwo+IC0JaWYgKHBsbC0+YWN0aXZlID09IDApIHsKPiArCWlm IChwbGwtPmFjdGl2ZV9tYXNrID09IDApIHsKPiAgCQlEUk1fREVCVUdfRFJJVkVSKCJzZXR0aW5n IHVwICVzXG4iLCBwbGwtPm5hbWUpOwo+ICAJCVdBUk5fT04ocGxsLT5vbik7Cj4gIAkJYXNzZXJ0 X3NoYXJlZF9kcGxsX2Rpc2FibGVkKGRldl9wcml2LCBwbGwpOwo+IEBAIC0xMTIsMTggKzExMiwy MyBAQCB2b2lkIGludGVsX2VuYWJsZV9zaGFyZWRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YykKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKPiAgCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1 Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCA9IGNydGMtPmNvbmZpZy0+c2hhcmVkX2RwbGw7Cj4g Kwl1bnNpZ25lZCBjcnRjX21hc2sgPSAxIDw8IGRybV9jcnRjX2luZGV4KCZjcnRjLT5iYXNlKTsK PiArCXVuc2lnbmVkIG9sZF9tYXNrID0gcGxsLT5hY3RpdmVfbWFzazsKPiAgCj4gIAlpZiAoV0FS Tl9PTihwbGwgPT0gTlVMTCkpCj4gIAkJcmV0dXJuOwo+ICAKPiAtCWlmIChXQVJOX09OKHBsbC0+ Y29uZmlnLmNydGNfbWFzayA9PSAwKSkKPiArCWlmIChXQVJOX09OKCEocGxsLT5jb25maWcuY3J0 Y19tYXNrICYgY3J0Y19tYXNrKSkgfHwKPiArCSAgICBXQVJOX09OKHBsbC0+YWN0aXZlX21hc2sg JiBjcnRjX21hc2spKQo+ICAJCXJldHVybjsKPiAgCj4gLQlEUk1fREVCVUdfS01TKCJlbmFibGUg JXMgKGFjdGl2ZSAlZCwgb24/ICVkKSBmb3IgY3J0YyAlZFxuIiwKPiAtCQkgICAgICBwbGwtPm5h bWUsIHBsbC0+YWN0aXZlLCBwbGwtPm9uLAo+ICsJcGxsLT5hY3RpdmVfbWFzayB8PSBjcnRjX21h c2s7Cj4gKwo+ICsJRFJNX0RFQlVHX0tNUygiZW5hYmxlICVzIChhY3RpdmUgJXgsIG9uPyAlZCkg Zm9yIGNydGMgJWRcbiIsCj4gKwkJICAgICAgcGxsLT5uYW1lLCBwbGwtPmFjdGl2ZV9tYXNrLCBw bGwtPm9uLAo+ICAJCSAgICAgIGNydGMtPmJhc2UuYmFzZS5pZCk7Cj4gIAo+IC0JaWYgKHBsbC0+ YWN0aXZlKyspIHsKPiArCWlmIChvbGRfbWFzaykgewo+ICAJCVdBUk5fT04oIXBsbC0+b24pOwo+ ICAJCWFzc2VydF9zaGFyZWRfZHBsbF9lbmFibGVkKGRldl9wcml2LCBwbGwpOwo+ICAJCXJldHVy bjsKPiBAQCAtMTQyLDYgKzE0Nyw3IEBAIHZvaWQgaW50ZWxfZGlzYWJsZV9zaGFyZWRfZHBsbChz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRj LT5iYXNlLmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCA9IGNydGMtPmNv bmZpZy0+c2hhcmVkX2RwbGw7Cj4gKwl1bnNpZ25lZCBjcnRjX21hc2sgPSAxIDw8IGRybV9jcnRj X2luZGV4KCZjcnRjLT5iYXNlKTsKPiAgCj4gIAkvKiBQQ0ggb25seSBhdmFpbGFibGUgb24gSUxL KyAqLwo+ICAJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDwgNSkKPiBAQCAtMTUwLDIxICsxNTYs MTggQEAgdm9pZCBpbnRlbF9kaXNhYmxlX3NoYXJlZF9kcGxsKHN0cnVjdCBpbnRlbF9jcnRjICpj cnRjKQo+ICAJaWYgKHBsbCA9PSBOVUxMKQo+ICAJCXJldHVybjsKPiAgCj4gLQlpZiAoV0FSTl9P TighKHBsbC0+Y29uZmlnLmNydGNfbWFzayAmICgxIDw8IGRybV9jcnRjX2luZGV4KCZjcnRjCj4g LT5iYXNlKSkpKSkKPiArCWlmIChXQVJOX09OKCEocGxsLT5jb25maWcuY3J0Y19tYXNrICYgY3J0 Y19tYXNrKSkpCj4gIAkJcmV0dXJuOwo+ICAKPiAtCURSTV9ERUJVR19LTVMoImRpc2FibGUgJXMg KGFjdGl2ZSAlZCwgb24/ICVkKSBmb3IgY3J0YyAlZFxuIiwKPiAtCQkgICAgICBwbGwtPm5hbWUs IHBsbC0+YWN0aXZlLCBwbGwtPm9uLAo+ICsJRFJNX0RFQlVHX0tNUygiZGlzYWJsZSAlcyAoYWN0 aXZlICV4LCBvbj8gJWQpIGZvciBjcnRjICVkXG4iLAo+ICsJCSAgICAgIHBsbC0+bmFtZSwgcGxs LT5hY3RpdmVfbWFzaywgcGxsLT5vbiwKPiAgCQkgICAgICBjcnRjLT5iYXNlLmJhc2UuaWQpOwo+ ICAKPiAtCWlmIChXQVJOX09OKHBsbC0+YWN0aXZlID09IDApKSB7Cj4gLQkJYXNzZXJ0X3NoYXJl ZF9kcGxsX2Rpc2FibGVkKGRldl9wcml2LCBwbGwpOwo+IC0JCXJldHVybjsKPiAtCX0KPiAtCj4g IAlhc3NlcnRfc2hhcmVkX2RwbGxfZW5hYmxlZChkZXZfcHJpdiwgcGxsKTsKPiAgCVdBUk5fT04o IXBsbC0+b24pOwo+IC0JaWYgKC0tcGxsLT5hY3RpdmUpCj4gKwo+ICsJcGxsLT5hY3RpdmVfbWFz ayAmPSB+Y3J0Y19tYXNrOwo+ICsJaWYgKHBsbC0+YWN0aXZlX21hc2spCj4gIAkJcmV0dXJuOwo+ ICAKPiAgCURSTV9ERUJVR19LTVMoImRpc2FibGluZyAlc1xuIiwgcGxsLT5uYW1lKTsKPiBAQCAt MTk3LDEwICsyMDAsMTAgQEAgaW50ZWxfZmluZF9zaGFyZWRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YywKPiAgCQlpZiAobWVtY21wKCZjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlLAo+ICAJ CQkgICAmc2hhcmVkX2RwbGxbaV0uaHdfc3RhdGUsCj4gIAkJCSAgIHNpemVvZihjcnRjX3N0YXRl LT5kcGxsX2h3X3N0YXRlKSkgPT0gMCkgewo+IC0JCQlEUk1fREVCVUdfS01TKCJDUlRDOiVkIHNo YXJpbmcgZXhpc3RpbmcgJXMgKGNydGMgbWFzawo+IDB4JTA4eCwgYXRpdmUgJWQpXG4iLAo+ICsJ CQlEUk1fREVCVUdfS01TKCJDUlRDOiVkIHNoYXJpbmcgZXhpc3RpbmcgJXMgKGNydGMgbWFzawo+ IDB4JTA4eCwgYWN0aXZlICV4KVxuIiwKPiAgCQkJCSAgICAgIGNydGMtPmJhc2UuYmFzZS5pZCwg cGxsLT5uYW1lLAo+ICAJCQkJICAgICAgc2hhcmVkX2RwbGxbaV0uY3J0Y19tYXNrLAo+IC0JCQkJ ICAgICAgcGxsLT5hY3RpdmUpOwo+ICsJCQkJICAgICAgcGxsLT5hY3RpdmVfbWFzayk7Cj4gIAkJ CXJldHVybiBwbGw7Cj4gIAkJfQo+ICAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcGxsX21nci5oCj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxs X21nci5oCj4gaW5kZXggMWQzNDE0NzJmOGIwLi44OWM1YWRhMWEzMTUgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmgKPiBAQCAtMTE1LDcgKzExNSw3IEBAIHN0cnVjdCBp bnRlbF9zaGFyZWRfZHBsbF9mdW5jcyB7Cj4gIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCB7Cj4g IAlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxfY29uZmlnIGNvbmZpZzsKPiAgCj4gLQlpbnQgYWN0 aXZlOyAvKiBjb3VudCBvZiBudW1iZXIgb2YgYWN0aXZlIENSVENzIChpLmUuIERQTVMgb24pICov Cj4gKwl1bnNpZ25lZCBhY3RpdmVfbWFzazsgLyogbWFzayBvZiBhY3RpdmUgQ1JUQ3MgKGkuZS4g RFBNUyBvbikgKi8KPiAgCWJvb2wgb247IC8qIGlzIHRoZSBQTEwgYWN0dWFsbHkgYWN0aXZlPyBE aXNhYmxlZCBkdXJpbmcgbW9kZXNldCAqLwo+ICAJY29uc3QgY2hhciAqbmFtZTsKPiAgCS8qIHNo b3VsZCBtYXRjaCB0aGUgaW5kZXggaW4gdGhlIGRldl9wcml2LT5zaGFyZWRfZHBsbHMgYXJyYXkg Ki8KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==