From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH 10/10] drm/i915: Make all plane disables use 'update_plane' (v2) Date: Mon, 1 Dec 2014 15:40:18 -0800 Message-ID: <1417477218-9519-10-git-send-email-matthew.d.roper@intel.com> References: <1417477218-9519-1-git-send-email-matthew.d.roper@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 D85D56E410 for ; Mon, 1 Dec 2014 15:40:37 -0800 (PST) In-Reply-To: <1417477218-9519-1-git-send-email-matthew.d.roper@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 SWYgd2UgZXh0ZW5kIHRoZSBjb21taXRfcGxhbmUgaGFuZGxlcnMgZm9yIGVhY2ggcGxhbmUgdHlw ZSB0byBiZSBhYmxlIHRvCmhhbmRsZSBmYj0wLCB0aGVuIHdlIGNhbiBlYXNpbHkgaW1wbGVtZW50 IHBsYW5lIGRpc2FibGUgdmlhIHRoZQp1cGRhdGVfcGxhbmUgaGFuZGxlci4gIFRoZSBjdXJzb3Ig cGxhbmUgYWxyZWFkeSB3b3JrcyB0aGlzIHdheSwgYW5kIHRoaXMKaXMgdGhlIGRpcmVjdGlvbiB3 ZSBuZWVkIHRvIGdvIHRvIGludGVncmF0ZSB3aXRoIHRoZSBhdG9taWMgcGxhbmUKaGFuZGxlci4g IFdlIGNhbiBub3cga2lsbCBvZmYgdGhlIHR5cGUtc3BlY2lmaWMgZGlzYWJsZSBmdW5jdGlvbnMs IGFzCndlbGwgYXMgdGhlIHJlZHVuZGFudCBpbnRlbF9wbGFuZV9kaXNhYmxlKCkgKG5vdCB0byBi ZSBjb25mdXNlZCB3aXRoCmludGVsX2Rpc2FibGVfcGxhbmUoKSkuCgpOb3RlIHRoYXQgcHJlcGFy ZV9wbGFuZV9mYigpIG9ubHkgZ2V0cyBjYWxsZWQgYXMgcGFydCBvZiB1cGRhdGVfcGxhbmUKd2hl biBmYiE9TlVMTCAoYnkgZGVzaWduLCB0byBtYXRjaCB0aGUgc2VtYW50aWNzIG9mIHRoZSBhdG9t aWMgcGxhbmUKaGVscGVycyk7IHRoaXMgbWVhbnMgdGhhdCBvdXIgY29tbWl0X3BsYW5lIGhhbmRs ZXJzIG5lZWQgdG8gaGFuZGxlIHRoZQpmcm9udGJ1ZmZlciB0cmFja2luZyBmb3IgdGhlIGRpc2Fi bGUgY2FzZSwgZXZlbiB0aG91Z2ggdGhleSBkb24ndCBoYW5kbGUKaXQgZm9yIG5vcm1hbCB1cGRh dGVzLgoKdjI6CiAtIERyb3AgYW4gdW5uZWNlc3NhcnkgY3J0YyBhY2Nlc3MgY2hhbmdlIChBbmRl cikKIC0gQ2hhbmdlIEJVR19PTiB0byBXQVJOX09OIChBbmRlci9EYW5pZWwpCgpTaWduZWQtb2Zm LWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDEwMSArKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgICAy ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgfCAgNzEgKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDExMyBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggZDEzMDE1 Yy4uZDE5N2JiYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtNDA2MCw3 ICs0MDYwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9wbGFuZXMoc3RydWN0IGRybV9j cnRjICpjcnRjKQogCWRybV9mb3JfZWFjaF9sZWdhY3lfcGxhbmUocGxhbmUsICZkZXYtPm1vZGVf Y29uZmlnLnBsYW5lX2xpc3QpIHsKIAkJaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFu ZSk7CiAJCWlmIChpbnRlbF9wbGFuZS0+cGlwZSA9PSBwaXBlKQotCQkJaW50ZWxfcGxhbmVfZGlz YWJsZSgmaW50ZWxfcGxhbmUtPmJhc2UpOworCQkJcGxhbmUtPmZ1bmNzLT5kaXNhYmxlX3BsYW5l KHBsYW5lKTsKIAl9CiB9CiAKQEAgLTExNjA1LDQzICsxMTYwNSw2IEBAIHN0YXRpYyB2b2lkIGlu dGVsX3NoYXJlZF9kcGxsX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlCVUdfT04oZGV2 X3ByaXYtPm51bV9zaGFyZWRfZHBsbCA+IEk5MTVfTlVNX1BMTFMpOwogfQogCi1zdGF0aWMgaW50 Ci1pbnRlbF9wcmltYXJ5X3BsYW5lX2Rpc2FibGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCi17 Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBsYW5lLT5kZXY7Ci0Jc3RydWN0IGludGVsX2Ny dGMgKmludGVsX2NydGM7Ci0KLQlpZiAoIXBsYW5lLT5mYikKLQkJcmV0dXJuIDA7Ci0KLQlCVUdf T04oIXBsYW5lLT5jcnRjKTsKLQotCWludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKHBsYW5lLT5j cnRjKTsKLQotCS8qCi0JICogRXZlbiB0aG91Z2ggd2UgY2hlY2tlZCBwbGFuZS0+ZmIgYWJvdmUs IGl0J3Mgc3RpbGwgcG9zc2libGUgdGhhdAotCSAqIHRoZSBwcmltYXJ5IHBsYW5lIGhhcyBiZWVu IGltcGxpY2l0bHkgZGlzYWJsZWQgYmVjYXVzZSB0aGUgY3J0YwotCSAqIGNvb3JkaW5hdGVzIGdp dmVuIHdlcmVuJ3QgdmlzaWJsZSwgb3IgYmVjYXVzZSB3ZSBkZXRlY3RlZAotCSAqIHRoYXQgaXQg d2FzIDEwMCUgY292ZXJlZCBieSBhIHNwcml0ZSBwbGFuZS4gIE9yLCB0aGUgQ1JUQyBtYXkgYmUK LQkgKiBvZmYgYW5kIHdlJ3ZlIHNldCBhIGZiLCBidXQgaGF2ZW4ndCBhY3R1YWxseSB0dXJuZWQg b24gdGhlIENSVEMgeWV0LgotCSAqIEluIGVpdGhlciBjYXNlLCB3ZSBuZWVkIHRvIHVucGluIHRo ZSBGQiBhbmQgbGV0IHRoZSBmYiBwb2ludGVyIGdldAotCSAqIHVwZGF0ZWQsIGJ1dCBvdGhlcndp c2Ugd2UgZG9uJ3QgbmVlZCB0byB0b3VjaCB0aGUgaGFyZHdhcmUuCi0JICovCi0JaWYgKGludGVs X2NydGMtPnByaW1hcnlfZW5hYmxlZCkgewotCQlpbnRlbF9jcnRjX3dhaXRfZm9yX3BlbmRpbmdf ZmxpcHMocGxhbmUtPmNydGMpOwotCQlpbnRlbF9kaXNhYmxlX3ByaW1hcnlfaHdfcGxhbmUocGxh bmUsIHBsYW5lLT5jcnRjKTsKLQl9Ci0KLQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7 Ci0JaTkxNV9nZW1fdHJhY2tfZmIoaW50ZWxfZmJfb2JqKHBsYW5lLT5mYiksIE5VTEwsCi0JCQkg IElOVEVMX0ZST05UQlVGRkVSX1BSSU1BUlkoaW50ZWxfY3J0Yy0+cGlwZSkpOwotCWludGVsX3Vu cGluX2ZiX29iaihpbnRlbF9mYl9vYmoocGxhbmUtPmZiKSk7Ci0JbXV0ZXhfdW5sb2NrKCZkZXYt PnN0cnVjdF9tdXRleCk7Ci0JcGxhbmUtPmZiID0gTlVMTDsKLQotCXJldHVybiAwOwotfQotCiAv KioKICAqIGludGVsX3ByZXBhcmVfcGxhbmVfZmIgLSBQcmVwYXJlIGZiIGZvciB1c2FnZSBvbiBw bGFuZQogICogQHBsYW5lOiBkcm0gcGxhbmUgdG8gcHJlcGFyZSBmb3IKQEAgLTExNzQ1LDEwICsx MTcwOCwxMiBAQCBpbnRlbF9jaGVja19wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLAogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlpbnRlbF9jcnRjX3dhaXRfZm9yX3Bl bmRpbmdfZmxpcHMoY3J0Yyk7Ci0JaWYgKGludGVsX2NydGNfaGFzX3BlbmRpbmdfZmxpcChjcnRj KSkgewotCQlEUk1fRVJST1IoInBpcGUgaXMgc3RpbGwgYnVzeSB3aXRoIGFuIG9sZCBwYWdlZmxp cFxuIik7Ci0JCXJldHVybiAtRUJVU1k7CisJaWYgKHBsYW5lLT5jcnRjKSB7CisJCWludGVsX2Ny dGNfd2FpdF9mb3JfcGVuZGluZ19mbGlwcyhwbGFuZS0+Y3J0Yyk7CisJCWlmIChpbnRlbF9jcnRj X2hhc19wZW5kaW5nX2ZsaXAocGxhbmUtPmNydGMpKSB7CisJCQlEUk1fRVJST1IoInBpcGUgaXMg c3RpbGwgYnVzeSB3aXRoIGFuIG9sZCBwYWdlZmxpcFxuIik7CisJCQlyZXR1cm4gLUVCVVNZOwor CQl9CiAJfQogCiAJcmV0dXJuIDA7CkBAIC0xMTc2MywxMiArMTE3MjgsMjMgQEAgaW50ZWxfY29t bWl0X3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IHBsYW5lLT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9 IHRvX2ludGVsX2NydGMoY3J0Yyk7Ci0JZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9jcnRjLT5waXBl OwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYl9vYmooZmIpOwog CXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7 CiAJc3RydWN0IGRybV9yZWN0ICpzcmMgPSAmc3RhdGUtPnNyYzsKKwllbnVtIHBpcGUgcGlwZSA9 IGludGVsX3BsYW5lLT5waXBlOwogCi0JY3J0Yy0+cHJpbWFyeS0+ZmIgPSBmYjsKKwlpZiAoIWZi KSB7CisJCS8qCisJCSAqICdwcmVwYXJlJyBpcyBuZXZlciBjYWxsZWQgd2hlbiBwbGFuZSBpcyBi ZWluZyBkaXNhYmxlZCwgc28KKwkJICogd2UgbmVlZCB0byBoYW5kbGUgZnJvbnRidWZmZXIgdHJh Y2tpbmcgaGVyZQorCQkgKi8KKwkJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOworCQlp OTE1X2dlbV90cmFja19mYihpbnRlbF9mYl9vYmoocGxhbmUtPmZiKSwgTlVMTCwKKwkJCQkgIElO VEVMX0ZST05UQlVGRkVSX1BSSU1BUlkocGlwZSkpOworCQltdXRleF91bmxvY2soJmRldi0+c3Ry dWN0X211dGV4KTsKKwl9CisKKwlwbGFuZS0+ZmIgPSBmYjsKIAljcnRjLT54ID0gc3JjLT54MSA+ PiAxNjsKIAljcnRjLT55ID0gc3JjLT55MSA+PiAxNjsKIApAQCAtMTE4MjYsNyArMTE4MDIsNyBA QCBpbnRlbF9jb21taXRfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJ CSAqIGV4cGxpY2l0bHkgZGlzYWJsZXMgdGhlIHBsYW5lIGJ5IHBhc3NpbmcgZmI9MAogCQkJICog YmVjYXVzZSBwbGFuZS0+ZmIgc3RpbGwgZ2V0cyBzZXQgYW5kIHBpbm5lZC4KIAkJCSAqLwotCQkJ aW50ZWxfZGlzYWJsZV9wcmltYXJ5X2h3X3BsYW5lKHBsYW5lLCBjcnRjKTsKKwkJCWludGVsX2Rp c2FibGVfcHJpbWFyeV9od19wbGFuZShwbGFuZSwgcGxhbmUtPmNydGMpOwogCQl9CiAKIAkJaW50 ZWxfZnJvbnRidWZmZXJfZmxpcChkZXYsIElOVEVMX0ZST05UQlVGRkVSX1BSSU1BUlkocGlwZSkp OwpAQCAtMTE4OTcsNiArMTE4NzMsMjUgQEAgaW50ZWxfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJcmV0dXJuIDA7CiB9CiAKKy8q KgorICogaW50ZWxfZGlzYWJsZV9wbGFuZSAtIGRpc2FibGUgYSBwbGFuZQorICogQHBsYW5lOiBw bGFuZSB0byBkaXNhYmxlCisgKgorICogR2VuZXJhbCBkaXNhYmxlIGhhbmRsZXIgZm9yIGFsbCBw bGFuZSB0eXBlcy4KKyAqLworaW50CitpbnRlbF9kaXNhYmxlX3BsYW5lKHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lKQoreworCWlmICghcGxhbmUtPmZiKQorCQlyZXR1cm4gMDsKKworCWlmKFdBUk5f T04oIXBsYW5lLT5jcnRjKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gcGxhbmUtPmZ1 bmNzLT51cGRhdGVfcGxhbmUocGxhbmUsIHBsYW5lLT5jcnRjLCBOVUxMLAorCQkJCQkgIDAsIDAs IDAsIDAsIDAsIDAsIDAsIDApOworfQorCiAvKiBDb21tb24gZGVzdHJ1Y3Rpb24gZnVuY3Rpb24g Zm9yIGJvdGggcHJpbWFyeSBhbmQgY3Vyc29yIHBsYW5lcyAqLwogc3RhdGljIHZvaWQgaW50ZWxf cGxhbmVfZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKIHsKQEAgLTExOTA3LDcgKzEx OTAyLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcGxhbmVfZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSkKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgaW50ZWxfcHJp bWFyeV9wbGFuZV9mdW5jcyA9IHsKIAkudXBkYXRlX3BsYW5lID0gaW50ZWxfdXBkYXRlX3BsYW5l LAotCS5kaXNhYmxlX3BsYW5lID0gaW50ZWxfcHJpbWFyeV9wbGFuZV9kaXNhYmxlLAorCS5kaXNh YmxlX3BsYW5lID0gaW50ZWxfZGlzYWJsZV9wbGFuZSwKIAkuZGVzdHJveSA9IGludGVsX3BsYW5l X2Rlc3Ryb3ksCiAJLnNldF9wcm9wZXJ0eSA9IGludGVsX3BsYW5lX3NldF9wcm9wZXJ0eQogfTsK QEAgLTExOTYyLDE4ICsxMTk1Nyw2IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICppbnRlbF9w cmltYXJ5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogfQogCiBzdGF0aWMg aW50Ci1pbnRlbF9jdXJzb3JfcGxhbmVfZGlzYWJsZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkK LXsKLQlpZiAoIXBsYW5lLT5mYikKLQkJcmV0dXJuIDA7Ci0KLQlCVUdfT04oIXBsYW5lLT5jcnRj KTsKLQotCXJldHVybiBwbGFuZS0+ZnVuY3MtPnVwZGF0ZV9wbGFuZShwbGFuZSwgcGxhbmUtPmNy dGMsIE5VTEwsCi0JCQkJCSAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCk7Ci19Ci0KLXN0YXRpYyBp bnQKIGludGVsX2NoZWNrX2N1cnNvcl9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJ CSBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlKQogewpAQCAtMTIwOTcsNyArMTIwODAs NyBAQCB1cGRhdGU6CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIGludGVs X2N1cnNvcl9wbGFuZV9mdW5jcyA9IHsKIAkudXBkYXRlX3BsYW5lID0gaW50ZWxfdXBkYXRlX3Bs YW5lLAotCS5kaXNhYmxlX3BsYW5lID0gaW50ZWxfY3Vyc29yX3BsYW5lX2Rpc2FibGUsCisJLmRp c2FibGVfcGxhbmUgPSBpbnRlbF9kaXNhYmxlX3BsYW5lLAogCS5kZXN0cm95ID0gaW50ZWxfcGxh bmVfZGVzdHJveSwKIAkuc2V0X3Byb3BlcnR5ID0gaW50ZWxfcGxhbmVfc2V0X3Byb3BlcnR5LAog fTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggZjdiNjYxOS4uNTNiNjk2ZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTEwMjAsNiArMTAyMCw3IEBAIGludCBpbnRlbF91cGRh dGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK IAkJICAgICAgIHVuc2lnbmVkIGludCBjcnRjX3csIHVuc2lnbmVkIGludCBjcnRjX2gsCiAJCSAg ICAgICB1aW50MzJfdCBzcmNfeCwgdWludDMyX3Qgc3JjX3ksCiAJCSAgICAgICB1aW50MzJfdCBz cmNfdywgdWludDMyX3Qgc3JjX2gpOworaW50IGludGVsX2Rpc2FibGVfcGxhbmUoc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUpOwogCiAvKiBpbnRlbF9kcF9tc3QuYyAqLwogaW50IGludGVsX2RwX21z dF9lbmNvZGVyX2luaXQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQs IGludCBjb25uX2lkKTsKQEAgLTEyMDEsNyArMTIwMiw2IEBAIGludCBpbnRlbF9wbGFuZV9zZXRf cHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkgICAgIHN0cnVjdCBkcm1fcHJv cGVydHkgKnByb3AsCiAJCQkgICAgIHVpbnQ2NF90IHZhbCk7CiBpbnQgaW50ZWxfcGxhbmVfcmVz dG9yZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSk7Ci12b2lkIGludGVsX3BsYW5lX2Rpc2FibGUo c3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwogaW50IGludGVsX3Nwcml0ZV9zZXRfY29sb3JrZXko c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCSAgICAgIHN0cnVjdCBkcm1f ZmlsZSAqZmlsZV9wcml2KTsKIGludCBpbnRlbF9zcHJpdGVfZ2V0X2NvbG9ya2V5KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5j CmluZGV4IGJmZDUyNzAuLmJjNTgzNGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Nwcml0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5j CkBAIC0xMTA5LDcgKzExMDksMTIgQEAgaW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5lKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAogCWNvbnN0IHN0cnVjdCBkcm1fcmVjdCAqY2xpcCA9ICZzdGF0ZS0+ Y2xpcDsKIAlpbnQgaHNjYWxlLCB2c2NhbGU7CiAJaW50IG1heF9zY2FsZSwgbWluX3NjYWxlOwot CWludCBwaXhlbF9zaXplID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAoZmItPnBpeGVsX2Zvcm1hdCwg MCk7CisJaW50IHBpeGVsX3NpemU7CisKKwlpZiAoIWZiKSB7CisJCXN0YXRlLT52aXNpYmxlID0g ZmFsc2U7CisJCXJldHVybiAwOworCX0KIAogCS8qIERvbid0IG1vZGlmeSBhbm90aGVyIHBpcGUn cyBwbGFuZSAqLwogCWlmIChpbnRlbF9wbGFuZS0+cGlwZSAhPSBpbnRlbF9jcnRjLT5waXBlKSB7 CkBAIC0xMjMyLDYgKzEyMzcsNyBAQCBpbnRlbF9jaGVja19zcHJpdGVfcGxhbmUoc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUsCiAJCWlmIChzcmNfdyA8IDMgfHwgc3JjX2ggPCAzKQogCQkJc3RhdGUt PnZpc2libGUgPSBmYWxzZTsKIAorCQlwaXhlbF9zaXplID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAo ZmItPnBpeGVsX2Zvcm1hdCwgMCk7CiAJCXdpZHRoX2J5dGVzID0gKChzcmNfeCAqIHBpeGVsX3Np emUpICYgNjMpICsKIAkJCQkJc3JjX3cgKiBwaXhlbF9zaXplOwogCkBAIC0xMjc2LDYgKzEyODIs MTcgQEAgaW50ZWxfY29tbWl0X3Nwcml0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK IAlib29sIHByaW1hcnlfZW5hYmxlZDsKIAogCS8qCisJICogJ3ByZXBhcmUnIGlzIG5ldmVyIGNh bGxlZCB3aGVuIHBsYW5lIGlzIGJlaW5nIGRpc2FibGVkLCBzbyB3ZSBuZWVkCisJICogdG8gaGFu ZGxlIGZyb250YnVmZmVyIHRyYWNraW5nIGhlcmUKKwkgKi8KKwlpZiAoIWZiKSB7CisJCW11dGV4 X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKKwkJaTkxNV9nZW1fdHJhY2tfZmIoaW50ZWxfZmJf b2JqKHBsYW5lLT5mYiksIE5VTEwsCisJCQkJICBJTlRFTF9GUk9OVEJVRkZFUl9TUFJJVEUocGlw ZSkpOworCQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKKwl9CisKKwkvKgogCSAq IElmIHRoZSBzcHJpdGUgaXMgY29tcGxldGVseSBjb3ZlcmluZyB0aGUgcHJpbWFyeSBwbGFuZSwK IAkgKiB3ZSBjYW4gZGlzYWJsZSB0aGUgcHJpbWFyeSBhbmQgc2F2ZSBwb3dlci4KIAkgKi8KQEAg LTEzMjcsNTAgKzEzNDQsNiBAQCBpbnRlbF9jb21taXRfc3ByaXRlX3BsYW5lKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAogCX0KIH0KIAotc3RhdGljIGludAotaW50ZWxfZGlzYWJsZV9wbGFuZShz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKLXsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxh bmUtPmRldjsKLQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxh bmUocGxhbmUpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjOwotCWVudW0gcGlwZSBw aXBlOwotCi0JaWYgKCFwbGFuZS0+ZmIpCi0JCXJldHVybiAwOwotCi0JaWYgKFdBUk5fT04oIXBs YW5lLT5jcnRjKSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlpbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0YyhwbGFuZS0+Y3J0Yyk7Ci0JcGlwZSA9IGludGVsX2NydGMtPnBpcGU7Ci0KLQlpZiAoaW50 ZWxfY3J0Yy0+YWN0aXZlKSB7Ci0JCWJvb2wgcHJpbWFyeV93YXNfZW5hYmxlZCA9IGludGVsX2Ny dGMtPnByaW1hcnlfZW5hYmxlZDsKLQotCQlpbnRlbF9jcnRjLT5wcmltYXJ5X2VuYWJsZWQgPSB0 cnVlOwotCi0JCWludGVsX3BsYW5lLT5kaXNhYmxlX3BsYW5lKHBsYW5lLCBwbGFuZS0+Y3J0Yyk7 Ci0KLQkJaWYgKCFwcmltYXJ5X3dhc19lbmFibGVkICYmIGludGVsX2NydGMtPnByaW1hcnlfZW5h YmxlZCkKLQkJCWludGVsX3Bvc3RfZW5hYmxlX3ByaW1hcnkocGxhbmUtPmNydGMpOwotCX0KLQot CWlmIChpbnRlbF9wbGFuZS0+b2JqKSB7Ci0JCWlmIChpbnRlbF9jcnRjLT5hY3RpdmUpCi0JCQlp bnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBpbnRlbF9wbGFuZS0+cGlwZSk7Ci0KLQkJbXV0ZXhf bG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCQlpbnRlbF91bnBpbl9mYl9vYmooaW50ZWxfcGxh bmUtPm9iaik7Ci0JCWk5MTVfZ2VtX3RyYWNrX2ZiKGludGVsX3BsYW5lLT5vYmosIE5VTEwsCi0J CQkJICBJTlRFTF9GUk9OVEJVRkZFUl9TUFJJVEUocGlwZSkpOwotCQltdXRleF91bmxvY2soJmRl di0+c3RydWN0X211dGV4KTsKLQotCQlpbnRlbF9wbGFuZS0+b2JqID0gTlVMTDsKLQl9Ci0KLQly ZXR1cm4gMDsKLX0KLQogc3RhdGljIHZvaWQgaW50ZWxfZGVzdHJveV9wbGFuZShzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9f aW50ZWxfcGxhbmUocGxhbmUpOwpAQCAtMTQ3OCwxNCArMTQ1MSw2IEBAIGludCBpbnRlbF9wbGFu ZV9yZXN0b3JlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQogCQkJCSAgaW50ZWxfcGxhbmUtPnNy Y193LCBpbnRlbF9wbGFuZS0+c3JjX2gpOwogfQogCi12b2lkIGludGVsX3BsYW5lX2Rpc2FibGUo c3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCi17Ci0JaWYgKCFwbGFuZS0+Y3J0YyB8fCAhcGxhbmUt PmZiKQotCQlyZXR1cm47Ci0KLQlpbnRlbF9kaXNhYmxlX3BsYW5lKHBsYW5lKTsKLX0KLQogc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgaW50ZWxfcGxhbmVfZnVuY3MgPSB7CiAJ LnVwZGF0ZV9wbGFuZSA9IGludGVsX3VwZGF0ZV9wbGFuZSwKIAkuZGlzYWJsZV9wbGFuZSA9IGlu dGVsX2Rpc2FibGVfcGxhbmUsCi0tIAoxLjguNS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=