From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 (rebased) 1/4] drm/i915: Use a crtc mask instead of a refcount for dpll functions, v2. Date: Mon, 14 Mar 2016 09:27:52 +0100 Message-ID: <1457944075-14123-2-git-send-email-maarten.lankhorst@linux.intel.com> References: <1457944075-14123-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 mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id C46266E61C for ; Mon, 14 Mar 2016 08:28:00 +0000 (UTC) In-Reply-To: <1457944075-14123-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gdmVyaWZ5IGNvcnJlY3QgZHBsbCBzZXR1cCB3aXRoIG9u bHkgYSBzaW5nbGUgY3J0Yy4KSXQgaXMgYWxzbyB1c2VmdWwgdG8gZGV0ZWN0IGRvdWJsZSBkcGxs IGVuYWJsZS9kaXNhYmxlLgoKQ2hhbmdlcyBzaW5jZSB2MToKLSBSZWJhc2Ugb24gdG9wIG9mIEFu ZGVyJ3MgZHBsbCByZXdvcmsuCi0gQ2hhbmdlIGRlYnVnZnMgYWN0aXZlIHRvIGEgbWFzay4KLSBD aGFuZ2UgZW5hYmxlZF9jcnRjcyBhbmQgYWN0aXZlX2NydGNzIHRvIHVuc2lnbmVkLgoKU2lnbmVk LW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgIHwgIDQgKyst LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICB8IDQzICsrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxs X21nci5jIHwgMzUgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHBsbF9tZ3IuaCB8ICAyICstCiA0IGZpbGVzIGNoYW5nZWQsIDQzIGluc2Vy dGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMK aW5kZXggZDY3YWI3MTMwYzBmLi5mOGZkMzBiZDc1YmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jCkBAIC0zMjA4LDggKzMyMDgsOCBAQCBzdGF0aWMgaW50IGk5MTVfc2hhcmVkX2Rw bGxzX2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCiAJCXN0cnVjdCBpbnRl bF9zaGFyZWRfZHBsbCAqcGxsID0gJmRldl9wcml2LT5zaGFyZWRfZHBsbHNbaV07CiAKIAkJc2Vx X3ByaW50ZihtLCAiRFBMTCVpOiAlcywgaWQ6ICVpXG4iLCBpLCBwbGwtPm5hbWUsIHBsbC0+aWQp OwotCQlzZXFfcHJpbnRmKG0sICIgY3J0Y19tYXNrOiAweCUwOHgsIGFjdGl2ZTogJWQsIG9uOiAl c1xuIiwKLQkJCSAgIHBsbC0+Y29uZmlnLmNydGNfbWFzaywgcGxsLT5hY3RpdmUsIHllc25vKHBs bC0+b24pKTsKKwkJc2VxX3ByaW50ZihtLCAiIGNydGNfbWFzazogMHglMDh4LCBhY3RpdmU6IDB4 JXgsIG9uOiAlc1xuIiwKKwkJCSAgIHBsbC0+Y29uZmlnLmNydGNfbWFzaywgcGxsLT5hY3RpdmVf bWFzaywgeWVzbm8ocGxsLT5vbikpOwogCQlzZXFfcHJpbnRmKG0sICIgdHJhY2tlZCBoYXJkd2Fy ZSBzdGF0ZTpcbiIpOwogCQlzZXFfcHJpbnRmKG0sICIgZHBsbDogICAgMHglMDh4XG4iLCBwbGwt PmNvbmZpZy5od19zdGF0ZS5kcGxsKTsKIAkJc2VxX3ByaW50ZihtLCAiIGRwbGxfbWQ6IDB4JTA4 eFxuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCA1YTk1ZGNmNjhkZjEu LmY4ZjAyZWMyMDFiNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTI5 NzMsNyArMTI5NzMsNyBAQCBjaGVja19zaGFyZWRfZHBsbF9zdGF0ZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQogCWZvciAoaSA9IDA7IGkgPCBkZXZfcHJpdi0+bnVtX3NoYXJlZF9kcGxsOyBpKysp IHsKIAkJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwgPQogCQkJaW50ZWxfZ2V0X3NoYXJl ZF9kcGxsX2J5X2lkKGRldl9wcml2LCBpKTsKLQkJaW50IGVuYWJsZWRfY3J0Y3MgPSAwLCBhY3Rp dmVfY3J0Y3MgPSAwOworCQl1bnNpZ25lZCBlbmFibGVkX2NydGNzID0gMCwgYWN0aXZlX2NydGNz ID0gMDsKIAkJYm9vbCBhY3RpdmU7CiAKIAkJbWVtc2V0KCZkcGxsX2h3X3N0YXRlLCAwLCBzaXpl b2YoZHBsbF9od19zdGF0ZSkpOwpAQCAtMTI5ODIsMTUgKzEyOTgyLDE1IEBAIGNoZWNrX3NoYXJl ZF9kcGxsX3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAKIAkJYWN0aXZlID0gcGxsLT5m dW5jcy5nZXRfaHdfc3RhdGUoZGV2X3ByaXYsIHBsbCwgJmRwbGxfaHdfc3RhdGUpOwogCi0JCUk5 MTVfU1RBVEVfV0FSTihwbGwtPmFjdGl2ZSA+IGh3ZWlnaHQzMihwbGwtPmNvbmZpZy5jcnRjX21h c2spLAotCQkgICAgICJtb3JlIGFjdGl2ZSBwbGwgdXNlcnMgdGhhbiByZWZlcmVuY2VzOiAlaSB2 cyAlaVxuIiwKLQkJICAgICBwbGwtPmFjdGl2ZSwgaHdlaWdodDMyKHBsbC0+Y29uZmlnLmNydGNf bWFzaykpOwotCQlJOTE1X1NUQVRFX1dBUk4ocGxsLT5hY3RpdmUgJiYgIXBsbC0+b24sCi0JCSAg ICAgInBsbCBpbiBhY3RpdmUgdXNlIGJ1dCBub3Qgb24gaW4gc3cgdHJhY2tpbmdcbiIpOworCQlJ OTE1X1NUQVRFX1dBUk4ocGxsLT5hY3RpdmVfbWFzayAmIH5wbGwtPmNvbmZpZy5jcnRjX21hc2ss CisJCSAgICAgIm1vcmUgYWN0aXZlIHBsbCB1c2VycyB0aGFuIHJlZmVyZW5jZXM6ICV4IHZzICV4 XG4iLAorCQkgICAgIHBsbC0+YWN0aXZlX21hc2ssIHBsbC0+Y29uZmlnLmNydGNfbWFzayk7CiAK IAkJaWYgKCEocGxsLT5mbGFncyAmIElOVEVMX0RQTExfQUxXQVlTX09OKSkgewotCQkJSTkxNV9T VEFURV9XQVJOKHBsbC0+b24gJiYgIXBsbC0+YWN0aXZlLAotCQkJICAgICAicGxsIGluIG9uIGJ1 dCBub3Qgb24gaW4gdXNlIGluIHN3IHRyYWNraW5nXG4iKTsKKwkJCUk5MTVfU1RBVEVfV0FSTigh cGxsLT5vbiAmJiBwbGwtPmFjdGl2ZV9tYXNrLAorCQkJICAgICAicGxsIGluIGFjdGl2ZSB1c2Ug YnV0IG5vdCBvbiBpbiBzdyB0cmFja2luZ1xuIik7CisJCQlJOTE1X1NUQVRFX1dBUk4ocGxsLT5v biAmJiAhcGxsLT5hY3RpdmVfbWFzaywKKwkJCSAgICAgInBsbCBpcyBvbiBidXQgbm90IHVzZWQg YnkgYW55IGFjdGl2ZSBjcnRjXG4iKTsKIAkJCUk5MTVfU1RBVEVfV0FSTihwbGwtPm9uICE9IGFj dGl2ZSwKIAkJCSAgICAgInBsbCBvbiBzdGF0ZSBtaXNtYXRjaCAoZXhwZWN0ZWQgJWksIGZvdW5k ICVpKVxuIiwKIAkJCSAgICAgcGxsLT5vbiwgYWN0aXZlKTsKQEAgLTEyOTk4LDE2ICsxMjk5OCwx NyBAQCBjaGVja19zaGFyZWRfZHBsbF9zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJ CWZvcl9lYWNoX2ludGVsX2NydGMoZGV2LCBjcnRjKSB7CiAJCQlpZiAoY3J0Yy0+YmFzZS5zdGF0 ZS0+ZW5hYmxlICYmIGNydGMtPmNvbmZpZy0+c2hhcmVkX2RwbGwgPT0gcGxsKQotCQkJCWVuYWJs ZWRfY3J0Y3MrKzsKLQkJCWlmIChjcnRjLT5hY3RpdmUgJiYgY3J0Yy0+Y29uZmlnLT5zaGFyZWRf ZHBsbCA9PSBwbGwpCi0JCQkJYWN0aXZlX2NydGNzKys7CisJCQkJZW5hYmxlZF9jcnRjcyB8PSAx IDw8IGRybV9jcnRjX2luZGV4KCZjcnRjLT5iYXNlKTsKKwkJCWlmIChjcnRjLT5iYXNlLnN0YXRl LT5hY3RpdmUgJiYgY3J0Yy0+Y29uZmlnLT5zaGFyZWRfZHBsbCA9PSBwbGwpCisJCQkJYWN0aXZl X2NydGNzIHw9IDEgPDwgZHJtX2NydGNfaW5kZXgoJmNydGMtPmJhc2UpOwogCQl9Ci0JCUk5MTVf U1RBVEVfV0FSTihwbGwtPmFjdGl2ZSAhPSBhY3RpdmVfY3J0Y3MsCi0JCSAgICAgInBsbCBhY3Rp dmUgY3J0Y3MgbWlzbWF0Y2ggKGV4cGVjdGVkICVpLCBmb3VuZCAlaSlcbiIsCi0JCSAgICAgcGxs LT5hY3RpdmUsIGFjdGl2ZV9jcnRjcyk7Ci0JCUk5MTVfU1RBVEVfV0FSTihod2VpZ2h0MzIocGxs LT5jb25maWcuY3J0Y19tYXNrKSAhPSBlbmFibGVkX2NydGNzLAotCQkgICAgICJwbGwgZW5hYmxl ZCBjcnRjcyBtaXNtYXRjaCAoZXhwZWN0ZWQgJWksIGZvdW5kICVpKVxuIiwKLQkJICAgICBod2Vp Z2h0MzIocGxsLT5jb25maWcuY3J0Y19tYXNrKSwgZW5hYmxlZF9jcnRjcyk7CisKKwkJSTkxNV9T VEFURV9XQVJOKHBsbC0+YWN0aXZlX21hc2sgIT0gYWN0aXZlX2NydGNzLAorCQkgICAgICJwbGwg YWN0aXZlIGNydGNzIG1pc21hdGNoIChleHBlY3RlZCAleCwgZm91bmQgJXgpXG4iLAorCQkgICAg IHBsbC0+YWN0aXZlX21hc2ssIGFjdGl2ZV9jcnRjcyk7CisJCUk5MTVfU1RBVEVfV0FSTihwbGwt PmNvbmZpZy5jcnRjX21hc2sgIT0gZW5hYmxlZF9jcnRjcywKKwkJICAgICAicGxsIGVuYWJsZWQg Y3J0Y3MgbWlzbWF0Y2ggKGV4cGVjdGVkICV4LCBmb3VuZCAleClcbiIsCisJCSAgICAgcGxsLT5j b25maWcuY3J0Y19tYXNrLCBlbmFibGVkX2NydGNzKTsKIAogCQlJOTE1X1NUQVRFX1dBUk4ocGxs LT5vbiAmJiBtZW1jbXAoJnBsbC0+Y29uZmlnLmh3X3N0YXRlLCAmZHBsbF9od19zdGF0ZSwKIAkJ CQkgICAgICAgc2l6ZW9mKGRwbGxfaHdfc3RhdGUpKSwKQEAgLTE1NzIwLDE0ICsxNTcyMSwxMiBA QCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIAogCQlwbGwtPm9uID0gcGxsLT5mdW5jcy5nZXRfaHdfc3RhdGUoZGV2X3By aXYsIHBsbCwKIAkJCQkJCSAgJnBsbC0+Y29uZmlnLmh3X3N0YXRlKTsKLQkJcGxsLT5hY3RpdmUg PSAwOwogCQlwbGwtPmNvbmZpZy5jcnRjX21hc2sgPSAwOwogCQlmb3JfZWFjaF9pbnRlbF9jcnRj KGRldiwgY3J0YykgewotCQkJaWYgKGNydGMtPmFjdGl2ZSAmJiBjcnRjLT5jb25maWctPnNoYXJl ZF9kcGxsID09IHBsbCkgewotCQkJCXBsbC0+YWN0aXZlKys7CisJCQlpZiAoY3J0Yy0+YWN0aXZl ICYmIGNydGMtPmNvbmZpZy0+c2hhcmVkX2RwbGwgPT0gcGxsKQogCQkJCXBsbC0+Y29uZmlnLmNy dGNfbWFzayB8PSAxIDw8IGNydGMtPnBpcGU7Ci0JCQl9CiAJCX0KKwkJcGxsLT5hY3RpdmVfbWFz ayA9IHBsbC0+Y29uZmlnLmNydGNfbWFzazsKIAogCQlEUk1fREVCVUdfS01TKCIlcyBodyBzdGF0 ZSByZWFkb3V0OiBjcnRjX21hc2sgMHglMDh4LCBvbiAlaVxuIiwKIAkJCSAgICAgIHBsbC0+bmFt ZSwgcGxsLT5jb25maWcuY3J0Y19tYXNrLCBwbGwtPm9uKTsKQEAgLTE1ODUxLDcgKzE1ODUwLDcg QEAgaW50ZWxfbW9kZXNldF9zZXR1cF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQog CWZvciAoaSA9IDA7IGkgPCBkZXZfcHJpdi0+bnVtX3NoYXJlZF9kcGxsOyBpKyspIHsKIAkJc3Ry dWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwgPSAmZGV2X3ByaXYtPnNoYXJlZF9kcGxsc1tpXTsK IAotCQlpZiAoIXBsbC0+b24gfHwgcGxsLT5hY3RpdmUpCisJCWlmICghcGxsLT5vbiB8fCBwbGwt PmFjdGl2ZV9tYXNrKQogCQkJY29udGludWU7CiAKIAkJRFJNX0RFQlVHX0tNUygiJXMgZW5hYmxl ZCBidXQgbm90IGluIHVzZSwgZGlzYWJsaW5nXG4iLCBwbGwtPm5hbWUpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwbGxfbWdyLmMKaW5kZXggNGI2MzZjNDdlOGUzLi5lNWY2N2VmZWMzMmQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYwpAQCAtOTAsNyArOTAsNyBAQCB2b2lk IGludGVsX3ByZXBhcmVfc2hhcmVkX2RwbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJCXJl dHVybjsKIAogCVdBUk5fT04oIXBsbC0+Y29uZmlnLmNydGNfbWFzayk7Ci0JaWYgKHBsbC0+YWN0 aXZlID09IDApIHsKKwlpZiAocGxsLT5hY3RpdmVfbWFzayA9PSAwKSB7CiAJCURSTV9ERUJVR19E UklWRVIoInNldHRpbmcgdXAgJXNcbiIsIHBsbC0+bmFtZSk7CiAJCVdBUk5fT04ocGxsLT5vbik7 CiAJCWFzc2VydF9zaGFyZWRfZHBsbF9kaXNhYmxlZChkZXZfcHJpdiwgcGxsKTsKQEAgLTExMiwx OCArMTEyLDIzIEBAIHZvaWQgaW50ZWxfZW5hYmxlX3NoYXJlZF9kcGxsKHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjKQogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0 cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsID0gY3J0Yy0+Y29uZmlnLT5zaGFyZWRfZHBsbDsK Kwl1bnNpZ25lZCBjcnRjX21hc2sgPSAxIDw8IGRybV9jcnRjX2luZGV4KCZjcnRjLT5iYXNlKTsK Kwl1bnNpZ25lZCBvbGRfbWFzayA9IHBsbC0+YWN0aXZlX21hc2s7CiAKIAlpZiAoV0FSTl9PTihw bGwgPT0gTlVMTCkpCiAJCXJldHVybjsKIAotCWlmIChXQVJOX09OKHBsbC0+Y29uZmlnLmNydGNf bWFzayA9PSAwKSkKKwlpZiAoV0FSTl9PTighKHBsbC0+Y29uZmlnLmNydGNfbWFzayAmIGNydGNf bWFzaykpIHx8CisJICAgIFdBUk5fT04ocGxsLT5hY3RpdmVfbWFzayAmIGNydGNfbWFzaykpCiAJ CXJldHVybjsKIAotCURSTV9ERUJVR19LTVMoImVuYWJsZSAlcyAoYWN0aXZlICVkLCBvbj8gJWQp IGZvciBjcnRjICVkXG4iLAotCQkgICAgICBwbGwtPm5hbWUsIHBsbC0+YWN0aXZlLCBwbGwtPm9u LAorCXBsbC0+YWN0aXZlX21hc2sgfD0gY3J0Y19tYXNrOworCisJRFJNX0RFQlVHX0tNUygiZW5h YmxlICVzIChhY3RpdmUgJXgsIG9uPyAlZCkgZm9yIGNydGMgJWRcbiIsCisJCSAgICAgIHBsbC0+ bmFtZSwgcGxsLT5hY3RpdmVfbWFzaywgcGxsLT5vbiwKIAkJICAgICAgY3J0Yy0+YmFzZS5iYXNl LmlkKTsKIAotCWlmIChwbGwtPmFjdGl2ZSsrKSB7CisJaWYgKG9sZF9tYXNrKSB7CiAJCVdBUk5f T04oIXBsbC0+b24pOwogCQlhc3NlcnRfc2hhcmVkX2RwbGxfZW5hYmxlZChkZXZfcHJpdiwgcGxs KTsKIAkJcmV0dXJuOwpAQCAtMTQyLDYgKzE0Nyw3IEBAIHZvaWQgaW50ZWxfZGlzYWJsZV9zaGFy ZWRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCA9IGNydGMt PmNvbmZpZy0+c2hhcmVkX2RwbGw7CisJdW5zaWduZWQgY3J0Y19tYXNrID0gMSA8PCBkcm1fY3J0 Y19pbmRleCgmY3J0Yy0+YmFzZSk7CiAKIAkvKiBQQ0ggb25seSBhdmFpbGFibGUgb24gSUxLKyAq LwogCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA8IDUpCkBAIC0xNTAsMjEgKzE1NiwxOCBAQCB2 b2lkIGludGVsX2Rpc2FibGVfc2hhcmVkX2RwbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJ aWYgKHBsbCA9PSBOVUxMKQogCQlyZXR1cm47CiAKLQlpZiAoV0FSTl9PTighKHBsbC0+Y29uZmln LmNydGNfbWFzayAmICgxIDw8IGRybV9jcnRjX2luZGV4KCZjcnRjLT5iYXNlKSkpKSkKKwlpZiAo V0FSTl9PTighKHBsbC0+Y29uZmlnLmNydGNfbWFzayAmIGNydGNfbWFzaykpKQogCQlyZXR1cm47 CiAKLQlEUk1fREVCVUdfS01TKCJkaXNhYmxlICVzIChhY3RpdmUgJWQsIG9uPyAlZCkgZm9yIGNy dGMgJWRcbiIsCi0JCSAgICAgIHBsbC0+bmFtZSwgcGxsLT5hY3RpdmUsIHBsbC0+b24sCisJRFJN X0RFQlVHX0tNUygiZGlzYWJsZSAlcyAoYWN0aXZlICV4LCBvbj8gJWQpIGZvciBjcnRjICVkXG4i LAorCQkgICAgICBwbGwtPm5hbWUsIHBsbC0+YWN0aXZlX21hc2ssIHBsbC0+b24sCiAJCSAgICAg IGNydGMtPmJhc2UuYmFzZS5pZCk7CiAKLQlpZiAoV0FSTl9PTihwbGwtPmFjdGl2ZSA9PSAwKSkg ewotCQlhc3NlcnRfc2hhcmVkX2RwbGxfZGlzYWJsZWQoZGV2X3ByaXYsIHBsbCk7Ci0JCXJldHVy bjsKLQl9Ci0KIAlhc3NlcnRfc2hhcmVkX2RwbGxfZW5hYmxlZChkZXZfcHJpdiwgcGxsKTsKIAlX QVJOX09OKCFwbGwtPm9uKTsKLQlpZiAoLS1wbGwtPmFjdGl2ZSkKKworCXBsbC0+YWN0aXZlX21h c2sgJj0gfmNydGNfbWFzazsKKwlpZiAocGxsLT5hY3RpdmVfbWFzaykKIAkJcmV0dXJuOwogCiAJ RFJNX0RFQlVHX0tNUygiZGlzYWJsaW5nICVzXG4iLCBwbGwtPm5hbWUpOwpAQCAtMTk3LDEwICsy MDAsMTAgQEAgaW50ZWxfZmluZF9zaGFyZWRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywK IAkJaWYgKG1lbWNtcCgmY3J0Y19zdGF0ZS0+ZHBsbF9od19zdGF0ZSwKIAkJCSAgICZzaGFyZWRf ZHBsbFtpXS5od19zdGF0ZSwKIAkJCSAgIHNpemVvZihjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRl KSkgPT0gMCkgewotCQkJRFJNX0RFQlVHX0tNUygiQ1JUQzolZCBzaGFyaW5nIGV4aXN0aW5nICVz IChjcnRjIG1hc2sgMHglMDh4LCBhdGl2ZSAlZClcbiIsCisJCQlEUk1fREVCVUdfS01TKCJDUlRD OiVkIHNoYXJpbmcgZXhpc3RpbmcgJXMgKGNydGMgbWFzayAweCUwOHgsIGFjdGl2ZSAleClcbiIs CiAJCQkJICAgICAgY3J0Yy0+YmFzZS5iYXNlLmlkLCBwbGwtPm5hbWUsCiAJCQkJICAgICAgc2hh cmVkX2RwbGxbaV0uY3J0Y19tYXNrLAotCQkJCSAgICAgIHBsbC0+YWN0aXZlKTsKKwkJCQkgICAg ICBwbGwtPmFjdGl2ZV9tYXNrKTsKIAkJCXJldHVybiBwbGw7CiAJCX0KIAl9CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHBsbF9tZ3IuaAppbmRleCAxZDM0MTQ3MmY4YjAuLjg5YzVhZGExYTMxNSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5oCkBAIC0xMTUsNyArMTE1LDcgQEAg c3RydWN0IGludGVsX3NoYXJlZF9kcGxsX2Z1bmNzIHsKIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBs bCB7CiAJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsX2NvbmZpZyBjb25maWc7CiAKLQlpbnQgYWN0 aXZlOyAvKiBjb3VudCBvZiBudW1iZXIgb2YgYWN0aXZlIENSVENzIChpLmUuIERQTVMgb24pICov CisJdW5zaWduZWQgYWN0aXZlX21hc2s7IC8qIG1hc2sgb2YgYWN0aXZlIENSVENzIChpLmUuIERQ TVMgb24pICovCiAJYm9vbCBvbjsgLyogaXMgdGhlIFBMTCBhY3R1YWxseSBhY3RpdmU/IERpc2Fi bGVkIGR1cmluZyBtb2Rlc2V0ICovCiAJY29uc3QgY2hhciAqbmFtZTsKIAkvKiBzaG91bGQgbWF0 Y2ggdGhlIGluZGV4IGluIHRoZSBkZXZfcHJpdi0+c2hhcmVkX2RwbGxzIGFycmF5ICovCi0tIAoy LjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==