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' (v4) Date: Tue, 2 Dec 2014 08:26:02 -0800 Message-ID: <1417537562-20978-1-git-send-email-matthew.d.roper@intel.com> References: <1417535962-20744-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id EBC536F0DD for ; Tue, 2 Dec 2014 08:26:08 -0800 (PST) In-Reply-To: <1417535962-20744-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 dGVzLgoKdjI6CiAtIENoYW5nZSBCVUdfT04gdG8gV0FSTl9PTiAoQW5kZXIvRGFuaWVsKQoKdjM6 CiAtIERyb3AgdW5uZWNlc3NhcnkgcGxhbmUtPmNydGMgY2hlY2sgc2luY2UgYSBwcmV2aW91cyBw YXRjaCB0byBwbGFuZQogICB1cGRhdGUgZW5zdXJlcyB0aGF0IHBsYW5lLT5jcnRjIHdpbGwgYWx3 YXlzIGJlIG5vbi1OVUxMLCBldmVuIGZvcgogICBkaXNhYmxlIGNhbGxzIHRoYXQgbWlnaHQgcGFz cyBOVUxMIGZyb20gdXNlcnNwYWNlLiAgKEFuZGVyKQogLSBEcm9wIGEgcy9jcnRjL3BsYW5lLT5j cnRjLyBodW5rIHRoYXQgd2FzIHVubmVjZXNzYXJ5LiAgKEFuZGVyKQoKdjQ6CiAtIEZpeCBtaXNz aW5nIHdoaXRlc3BhY2UgKEFuZGVyKQoKU2lnbmVkLW9mZi1ieTogTWF0dCBSb3BlciA8bWF0dGhl dy5kLnJvcGVyQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2 ZWlyYSA8YW5kZXIuY29uc2VsdmFuLmRlLm9saXZlaXJhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA5MyArKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAy ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgfCA3MSArKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKSwgMTEw IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCBkMTMw MTVjLi5lYjQyMmJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC00MDYw LDcgKzQwNjAsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX3BsYW5lcyhzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCiAJZHJtX2Zvcl9lYWNoX2xlZ2FjeV9wbGFuZShwbGFuZSwgJmRldi0+bW9k ZV9jb25maWcucGxhbmVfbGlzdCkgewogCQlpbnRlbF9wbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBs YW5lKTsKIAkJaWYgKGludGVsX3BsYW5lLT5waXBlID09IHBpcGUpCi0JCQlpbnRlbF9wbGFuZV9k aXNhYmxlKCZpbnRlbF9wbGFuZS0+YmFzZSk7CisJCQlwbGFuZS0+ZnVuY3MtPmRpc2FibGVfcGxh bmUocGxhbmUpOwogCX0KIH0KIApAQCAtMTE2MDUsNDMgKzExNjA1LDYgQEAgc3RhdGljIHZvaWQg aW50ZWxfc2hhcmVkX2RwbGxfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCUJVR19PTihk ZXZfcHJpdi0+bnVtX3NoYXJlZF9kcGxsID4gSTkxNV9OVU1fUExMUyk7CiB9CiAKLXN0YXRpYyBp bnQKLWludGVsX3ByaW1hcnlfcGxhbmVfZGlzYWJsZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkK LXsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUtPmRldjsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0YzsKLQotCWlmICghcGxhbmUtPmZiKQotCQlyZXR1cm4gMDsKLQotCUJV R19PTighcGxhbmUtPmNydGMpOwotCi0JaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGxhbmUt PmNydGMpOwotCi0JLyoKLQkgKiBFdmVuIHRob3VnaCB3ZSBjaGVja2VkIHBsYW5lLT5mYiBhYm92 ZSwgaXQncyBzdGlsbCBwb3NzaWJsZSB0aGF0Ci0JICogdGhlIHByaW1hcnkgcGxhbmUgaGFzIGJl ZW4gaW1wbGljaXRseSBkaXNhYmxlZCBiZWNhdXNlIHRoZSBjcnRjCi0JICogY29vcmRpbmF0ZXMg Z2l2ZW4gd2VyZW4ndCB2aXNpYmxlLCBvciBiZWNhdXNlIHdlIGRldGVjdGVkCi0JICogdGhhdCBp dCB3YXMgMTAwJSBjb3ZlcmVkIGJ5IGEgc3ByaXRlIHBsYW5lLiAgT3IsIHRoZSBDUlRDIG1heSBi ZQotCSAqIG9mZiBhbmQgd2UndmUgc2V0IGEgZmIsIGJ1dCBoYXZlbid0IGFjdHVhbGx5IHR1cm5l ZCBvbiB0aGUgQ1JUQyB5ZXQuCi0JICogSW4gZWl0aGVyIGNhc2UsIHdlIG5lZWQgdG8gdW5waW4g dGhlIEZCIGFuZCBsZXQgdGhlIGZiIHBvaW50ZXIgZ2V0Ci0JICogdXBkYXRlZCwgYnV0IG90aGVy d2lzZSB3ZSBkb24ndCBuZWVkIHRvIHRvdWNoIHRoZSBoYXJkd2FyZS4KLQkgKi8KLQlpZiAoaW50 ZWxfY3J0Yy0+cHJpbWFyeV9lbmFibGVkKSB7Ci0JCWludGVsX2NydGNfd2FpdF9mb3JfcGVuZGlu Z19mbGlwcyhwbGFuZS0+Y3J0Yyk7Ci0JCWludGVsX2Rpc2FibGVfcHJpbWFyeV9od19wbGFuZShw bGFuZSwgcGxhbmUtPmNydGMpOwotCX0KLQotCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4 KTsKLQlpOTE1X2dlbV90cmFja19mYihpbnRlbF9mYl9vYmoocGxhbmUtPmZiKSwgTlVMTCwKLQkJ CSAgSU5URUxfRlJPTlRCVUZGRVJfUFJJTUFSWShpbnRlbF9jcnRjLT5waXBlKSk7Ci0JaW50ZWxf dW5waW5fZmJfb2JqKGludGVsX2ZiX29iaihwbGFuZS0+ZmIpKTsKLQltdXRleF91bmxvY2soJmRl di0+c3RydWN0X211dGV4KTsKLQlwbGFuZS0+ZmIgPSBOVUxMOwotCi0JcmV0dXJuIDA7Ci19Ci0K IC8qKgogICogaW50ZWxfcHJlcGFyZV9wbGFuZV9mYiAtIFByZXBhcmUgZmIgZm9yIHVzYWdlIG9u IHBsYW5lCiAgKiBAcGxhbmU6IGRybSBwbGFuZSB0byBwcmVwYXJlIGZvcgpAQCAtMTE3NDUsOCAr MTE3MDgsOCBAQCBpbnRlbF9jaGVja19wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLAogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlpbnRlbF9jcnRjX3dhaXRfZm9yX3Bl bmRpbmdfZmxpcHMoY3J0Yyk7Ci0JaWYgKGludGVsX2NydGNfaGFzX3BlbmRpbmdfZmxpcChjcnRj KSkgeworCWludGVsX2NydGNfd2FpdF9mb3JfcGVuZGluZ19mbGlwcyhwbGFuZS0+Y3J0Yyk7CisJ aWYgKGludGVsX2NydGNfaGFzX3BlbmRpbmdfZmxpcChwbGFuZS0+Y3J0YykpIHsKIAkJRFJNX0VS Uk9SKCJwaXBlIGlzIHN0aWxsIGJ1c3kgd2l0aCBhbiBvbGQgcGFnZWZsaXBcbiIpOwogCQlyZXR1 cm4gLUVCVVNZOwogCX0KQEAgLTExNzYzLDEyICsxMTcyNiwyMyBAQCBpbnRlbF9jb21taXRfcHJp bWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gcGxhbmUtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjKTsKLQllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7CiAJc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2ZiX29iaihmYik7CiAJc3RydWN0 IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lKTsKIAlzdHJ1 Y3QgZHJtX3JlY3QgKnNyYyA9ICZzdGF0ZS0+c3JjOworCWVudW0gcGlwZSBwaXBlID0gaW50ZWxf cGxhbmUtPnBpcGU7CiAKLQljcnRjLT5wcmltYXJ5LT5mYiA9IGZiOworCWlmICghZmIpIHsKKwkJ LyoKKwkJICogJ3ByZXBhcmUnIGlzIG5ldmVyIGNhbGxlZCB3aGVuIHBsYW5lIGlzIGJlaW5nIGRp c2FibGVkLCBzbworCQkgKiB3ZSBuZWVkIHRvIGhhbmRsZSBmcm9udGJ1ZmZlciB0cmFja2luZyBo ZXJlCisJCSAqLworCQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CisJCWk5MTVfZ2Vt X3RyYWNrX2ZiKGludGVsX2ZiX29iaihwbGFuZS0+ZmIpLCBOVUxMLAorCQkJCSAgSU5URUxfRlJP TlRCVUZGRVJfUFJJTUFSWShwaXBlKSk7CisJCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0 ZXgpOworCX0KKworCXBsYW5lLT5mYiA9IGZiOwogCWNydGMtPnggPSBzcmMtPngxID4+IDE2Owog CWNydGMtPnkgPSBzcmMtPnkxID4+IDE2OwogCkBAIC0xMTg5Nyw2ICsxMTg3MSwyNSBAQCBpbnRl bF91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIAlyZXR1cm4gMDsKIH0KIAorLyoqCisgKiBpbnRlbF9kaXNhYmxlX3BsYW5lIC0gZGlz YWJsZSBhIHBsYW5lCisgKiBAcGxhbmU6IHBsYW5lIHRvIGRpc2FibGUKKyAqCisgKiBHZW5lcmFs IGRpc2FibGUgaGFuZGxlciBmb3IgYWxsIHBsYW5lIHR5cGVzLgorICovCitpbnQKK2ludGVsX2Rp c2FibGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCit7CisJaWYgKCFwbGFuZS0+ZmIp CisJCXJldHVybiAwOworCisJaWYgKFdBUk5fT04oIXBsYW5lLT5jcnRjKSkKKwkJcmV0dXJuIC1F SU5WQUw7CisKKwlyZXR1cm4gcGxhbmUtPmZ1bmNzLT51cGRhdGVfcGxhbmUocGxhbmUsIHBsYW5l LT5jcnRjLCBOVUxMLAorCQkJCQkgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDApOworfQorCiAvKiBD b21tb24gZGVzdHJ1Y3Rpb24gZnVuY3Rpb24gZm9yIGJvdGggcHJpbWFyeSBhbmQgY3Vyc29yIHBs YW5lcyAqLwogc3RhdGljIHZvaWQgaW50ZWxfcGxhbmVfZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSkKIHsKQEAgLTExOTA3LDcgKzExOTAwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcGxh bmVfZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKIAogc3RhdGljIGNvbnN0IHN0cnVj dCBkcm1fcGxhbmVfZnVuY3MgaW50ZWxfcHJpbWFyeV9wbGFuZV9mdW5jcyA9IHsKIAkudXBkYXRl X3BsYW5lID0gaW50ZWxfdXBkYXRlX3BsYW5lLAotCS5kaXNhYmxlX3BsYW5lID0gaW50ZWxfcHJp bWFyeV9wbGFuZV9kaXNhYmxlLAorCS5kaXNhYmxlX3BsYW5lID0gaW50ZWxfZGlzYWJsZV9wbGFu ZSwKIAkuZGVzdHJveSA9IGludGVsX3BsYW5lX2Rlc3Ryb3ksCiAJLnNldF9wcm9wZXJ0eSA9IGlu dGVsX3BsYW5lX3NldF9wcm9wZXJ0eQogfTsKQEAgLTExOTYyLDE4ICsxMTk1NSw2IEBAIHN0YXRp YyBzdHJ1Y3QgZHJtX3BsYW5lICppbnRlbF9wcmltYXJ5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAogfQogCiBzdGF0aWMgaW50Ci1pbnRlbF9jdXJzb3JfcGxhbmVfZGlzYWJs ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKLXsKLQlpZiAoIXBsYW5lLT5mYikKLQkJcmV0dXJu IDA7Ci0KLQlCVUdfT04oIXBsYW5lLT5jcnRjKTsKLQotCXJldHVybiBwbGFuZS0+ZnVuY3MtPnVw ZGF0ZV9wbGFuZShwbGFuZSwgcGxhbmUtPmNydGMsIE5VTEwsCi0JCQkJCSAgMCwgMCwgMCwgMCwg MCwgMCwgMCwgMCk7Ci19Ci0KLXN0YXRpYyBpbnQKIGludGVsX2NoZWNrX2N1cnNvcl9wbGFuZShz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCSBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0 YXRlKQogewpAQCAtMTIwOTcsNyArMTIwNzgsNyBAQCB1cGRhdGU6CiAKIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIGludGVsX2N1cnNvcl9wbGFuZV9mdW5jcyA9IHsKIAkudXBk YXRlX3BsYW5lID0gaW50ZWxfdXBkYXRlX3BsYW5lLAotCS5kaXNhYmxlX3BsYW5lID0gaW50ZWxf Y3Vyc29yX3BsYW5lX2Rpc2FibGUsCisJLmRpc2FibGVfcGxhbmUgPSBpbnRlbF9kaXNhYmxlX3Bs YW5lLAogCS5kZXN0cm95ID0gaW50ZWxfcGxhbmVfZGVzdHJveSwKIAkuc2V0X3Byb3BlcnR5ID0g aW50ZWxfcGxhbmVfc2V0X3Byb3BlcnR5LAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5k ZXggZjdiNjYxOS4uNTNiNjk2ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTEwMjAs NiArMTAyMCw3IEBAIGludCBpbnRlbF91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJICAgICAgIHVuc2lnbmVkIGludCBjcnRjX3cs IHVuc2lnbmVkIGludCBjcnRjX2gsCiAJCSAgICAgICB1aW50MzJfdCBzcmNfeCwgdWludDMyX3Qg c3JjX3ksCiAJCSAgICAgICB1aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3JjX2gpOworaW50IGlu dGVsX2Rpc2FibGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwogCiAvKiBpbnRlbF9k cF9tc3QuYyAqLwogaW50IGludGVsX2RwX21zdF9lbmNvZGVyX2luaXQoc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsIGludCBjb25uX2lkKTsKQEAgLTEyMDEsNyArMTIw Miw2IEBAIGludCBpbnRlbF9wbGFuZV9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCiAJCQkgICAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3AsCiAJCQkgICAgIHVpbnQ2NF90 IHZhbCk7CiBpbnQgaW50ZWxfcGxhbmVfcmVzdG9yZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSk7 Ci12b2lkIGludGVsX3BsYW5lX2Rpc2FibGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwogaW50 IGludGVsX3Nwcml0ZV9zZXRfY29sb3JrZXkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKIAkJCSAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKIGludCBpbnRlbF9z cHJpdGVfZ2V0X2NvbG9ya2V5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCmluZGV4IGJmZDUyNzAuLmJjNTgzNGIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCkBAIC0xMTA5LDcgKzExMDksMTIgQEAgaW50ZWxf Y2hlY2tfc3ByaXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCWNvbnN0IHN0cnVj dCBkcm1fcmVjdCAqY2xpcCA9ICZzdGF0ZS0+Y2xpcDsKIAlpbnQgaHNjYWxlLCB2c2NhbGU7CiAJ aW50IG1heF9zY2FsZSwgbWluX3NjYWxlOwotCWludCBwaXhlbF9zaXplID0gZHJtX2Zvcm1hdF9w bGFuZV9jcHAoZmItPnBpeGVsX2Zvcm1hdCwgMCk7CisJaW50IHBpeGVsX3NpemU7CisKKwlpZiAo IWZiKSB7CisJCXN0YXRlLT52aXNpYmxlID0gZmFsc2U7CisJCXJldHVybiAwOworCX0KIAogCS8q IERvbid0IG1vZGlmeSBhbm90aGVyIHBpcGUncyBwbGFuZSAqLwogCWlmIChpbnRlbF9wbGFuZS0+ cGlwZSAhPSBpbnRlbF9jcnRjLT5waXBlKSB7CkBAIC0xMjMyLDYgKzEyMzcsNyBAQCBpbnRlbF9j aGVja19zcHJpdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCWlmIChzcmNfdyA8 IDMgfHwgc3JjX2ggPCAzKQogCQkJc3RhdGUtPnZpc2libGUgPSBmYWxzZTsKIAorCQlwaXhlbF9z aXplID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAoZmItPnBpeGVsX2Zvcm1hdCwgMCk7CiAJCXdpZHRo X2J5dGVzID0gKChzcmNfeCAqIHBpeGVsX3NpemUpICYgNjMpICsKIAkJCQkJc3JjX3cgKiBwaXhl bF9zaXplOwogCkBAIC0xMjc2LDYgKzEyODIsMTcgQEAgaW50ZWxfY29tbWl0X3Nwcml0ZV9wbGFu ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlib29sIHByaW1hcnlfZW5hYmxlZDsKIAogCS8q CisJICogJ3ByZXBhcmUnIGlzIG5ldmVyIGNhbGxlZCB3aGVuIHBsYW5lIGlzIGJlaW5nIGRpc2Fi bGVkLCBzbyB3ZSBuZWVkCisJICogdG8gaGFuZGxlIGZyb250YnVmZmVyIHRyYWNraW5nIGhlcmUK KwkgKi8KKwlpZiAoIWZiKSB7CisJCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKKwkJ aTkxNV9nZW1fdHJhY2tfZmIoaW50ZWxfZmJfb2JqKHBsYW5lLT5mYiksIE5VTEwsCisJCQkJICBJ TlRFTF9GUk9OVEJVRkZFUl9TUFJJVEUocGlwZSkpOworCQltdXRleF91bmxvY2soJmRldi0+c3Ry dWN0X211dGV4KTsKKwl9CisKKwkvKgogCSAqIElmIHRoZSBzcHJpdGUgaXMgY29tcGxldGVseSBj b3ZlcmluZyB0aGUgcHJpbWFyeSBwbGFuZSwKIAkgKiB3ZSBjYW4gZGlzYWJsZSB0aGUgcHJpbWFy eSBhbmQgc2F2ZSBwb3dlci4KIAkgKi8KQEAgLTEzMjcsNTAgKzEzNDQsNiBAQCBpbnRlbF9jb21t aXRfc3ByaXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCX0KIH0KIAotc3RhdGlj IGludAotaW50ZWxfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKLXsKLQlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUtPmRldjsKLQlzdHJ1Y3QgaW50ZWxfcGxhbmUg KmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwotCXN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjOwotCWVudW0gcGlwZSBwaXBlOwotCi0JaWYgKCFwbGFuZS0+ZmIpCi0JCXJl dHVybiAwOwotCi0JaWYgKFdBUk5fT04oIXBsYW5lLT5jcnRjKSkKLQkJcmV0dXJuIC1FSU5WQUw7 Ci0KLQlpbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhwbGFuZS0+Y3J0Yyk7Ci0JcGlwZSA9IGlu dGVsX2NydGMtPnBpcGU7Ci0KLQlpZiAoaW50ZWxfY3J0Yy0+YWN0aXZlKSB7Ci0JCWJvb2wgcHJp bWFyeV93YXNfZW5hYmxlZCA9IGludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZDsKLQotCQlpbnRl bF9jcnRjLT5wcmltYXJ5X2VuYWJsZWQgPSB0cnVlOwotCi0JCWludGVsX3BsYW5lLT5kaXNhYmxl X3BsYW5lKHBsYW5lLCBwbGFuZS0+Y3J0Yyk7Ci0KLQkJaWYgKCFwcmltYXJ5X3dhc19lbmFibGVk ICYmIGludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZCkKLQkJCWludGVsX3Bvc3RfZW5hYmxlX3By aW1hcnkocGxhbmUtPmNydGMpOwotCX0KLQotCWlmIChpbnRlbF9wbGFuZS0+b2JqKSB7Ci0JCWlm IChpbnRlbF9jcnRjLT5hY3RpdmUpCi0JCQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBpbnRl bF9wbGFuZS0+cGlwZSk7Ci0KLQkJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCQlp bnRlbF91bnBpbl9mYl9vYmooaW50ZWxfcGxhbmUtPm9iaik7Ci0JCWk5MTVfZ2VtX3RyYWNrX2Zi KGludGVsX3BsYW5lLT5vYmosIE5VTEwsCi0JCQkJICBJTlRFTF9GUk9OVEJVRkZFUl9TUFJJVEUo cGlwZSkpOwotCQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKLQotCQlpbnRlbF9w bGFuZS0+b2JqID0gTlVMTDsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIHZvaWQgaW50 ZWxfZGVzdHJveV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKIHsKIAlzdHJ1Y3QgaW50 ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwpAQCAtMTQ3OCwx NCArMTQ1MSw2IEBAIGludCBpbnRlbF9wbGFuZV9yZXN0b3JlKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lKQogCQkJCSAgaW50ZWxfcGxhbmUtPnNyY193LCBpbnRlbF9wbGFuZS0+c3JjX2gpOwogfQog Ci12b2lkIGludGVsX3BsYW5lX2Rpc2FibGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCi17Ci0J aWYgKCFwbGFuZS0+Y3J0YyB8fCAhcGxhbmUtPmZiKQotCQlyZXR1cm47Ci0KLQlpbnRlbF9kaXNh YmxlX3BsYW5lKHBsYW5lKTsKLX0KLQogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVu Y3MgaW50ZWxfcGxhbmVfZnVuY3MgPSB7CiAJLnVwZGF0ZV9wbGFuZSA9IGludGVsX3VwZGF0ZV9w bGFuZSwKIAkuZGlzYWJsZV9wbGFuZSA9IGludGVsX2Rpc2FibGVfcGxhbmUsCi0tIAoxLjguNS4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=