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' (v5) Date: Thu, 4 Dec 2014 10:27:42 -0800 Message-ID: <1417717662-12822-1-git-send-email-matthew.d.roper@intel.com> References: <547EDDAE.3000907@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 910366E1C5 for ; Thu, 4 Dec 2014 10:27:46 -0800 (PST) In-Reply-To: <547EDDAE.3000907@gmail.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 aW5nIHdoaXRlc3BhY2UgKEFuZGVyKQoKdjU6CiAtIFVzZSBzdGF0ZSdzIGNydGMgcmF0aGVyIHRo YW4gcGxhbmUncyBjcnRjIGluCiAgIGludGVsX2NoZWNrX3ByaW1hcnlfcGxhbmUoKS4gIHBsYW5l LT5jcnRjIGNvdWxkIGJlIE5VTEwsIGJ1dCB3ZSd2ZQogICBhbHJlYWR5IGZpeGVkIHVwIHN0YXRl LT5jcnRjIHRvIGVuc3VyZSBpdCdzIG5vbi1OVUxMIChldmVuIGlmCiAgIHVzZXJzcGFjZSBwYXNz ZWQgaXQgYXMgTlVMTCBkdXJpbmcgYSBkaXNhYmxlIGNhbGwpLiAgKEFuZGVyKQoKU2lnbmVkLW9m Zi1ieTogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6 IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWlyYSA8YW5kZXIuY29uc2VsdmFuLmRlLm9saXZlaXJh QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA4 OSArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9z cHJpdGUuYyAgfCA3MSArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5n ZWQsIDU0IGluc2VydGlvbnMoKyksIDEwOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKaW5kZXggZDEzMDE1Yy4uN2U1Mzk5NCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwpAQCAtNDA2MCw3ICs0MDYwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxf ZGlzYWJsZV9wbGFuZXMoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCWRybV9mb3JfZWFjaF9sZWdh Y3lfcGxhbmUocGxhbmUsICZkZXYtPm1vZGVfY29uZmlnLnBsYW5lX2xpc3QpIHsKIAkJaW50ZWxf cGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7CiAJCWlmIChpbnRlbF9wbGFuZS0+cGlwZSA9 PSBwaXBlKQotCQkJaW50ZWxfcGxhbmVfZGlzYWJsZSgmaW50ZWxfcGxhbmUtPmJhc2UpOworCQkJ cGxhbmUtPmZ1bmNzLT5kaXNhYmxlX3BsYW5lKHBsYW5lKTsKIAl9CiB9CiAKQEAgLTExNjA1LDQz ICsxMTYwNSw2IEBAIHN0YXRpYyB2b2lkIGludGVsX3NoYXJlZF9kcGxsX2luaXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldikKIAlCVUdfT04oZGV2X3ByaXYtPm51bV9zaGFyZWRfZHBsbCA+IEk5MTVf TlVNX1BMTFMpOwogfQogCi1zdGF0aWMgaW50Ci1pbnRlbF9wcmltYXJ5X3BsYW5lX2Rpc2FibGUo c3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCi17Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBs YW5lLT5kZXY7Ci0Jc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGM7Ci0KLQlpZiAoIXBsYW5l LT5mYikKLQkJcmV0dXJuIDA7Ci0KLQlCVUdfT04oIXBsYW5lLT5jcnRjKTsKLQotCWludGVsX2Ny dGMgPSB0b19pbnRlbF9jcnRjKHBsYW5lLT5jcnRjKTsKLQotCS8qCi0JICogRXZlbiB0aG91Z2gg d2UgY2hlY2tlZCBwbGFuZS0+ZmIgYWJvdmUsIGl0J3Mgc3RpbGwgcG9zc2libGUgdGhhdAotCSAq IHRoZSBwcmltYXJ5IHBsYW5lIGhhcyBiZWVuIGltcGxpY2l0bHkgZGlzYWJsZWQgYmVjYXVzZSB0 aGUgY3J0YwotCSAqIGNvb3JkaW5hdGVzIGdpdmVuIHdlcmVuJ3QgdmlzaWJsZSwgb3IgYmVjYXVz ZSB3ZSBkZXRlY3RlZAotCSAqIHRoYXQgaXQgd2FzIDEwMCUgY292ZXJlZCBieSBhIHNwcml0ZSBw bGFuZS4gIE9yLCB0aGUgQ1JUQyBtYXkgYmUKLQkgKiBvZmYgYW5kIHdlJ3ZlIHNldCBhIGZiLCBi dXQgaGF2ZW4ndCBhY3R1YWxseSB0dXJuZWQgb24gdGhlIENSVEMgeWV0LgotCSAqIEluIGVpdGhl ciBjYXNlLCB3ZSBuZWVkIHRvIHVucGluIHRoZSBGQiBhbmQgbGV0IHRoZSBmYiBwb2ludGVyIGdl dAotCSAqIHVwZGF0ZWQsIGJ1dCBvdGhlcndpc2Ugd2UgZG9uJ3QgbmVlZCB0byB0b3VjaCB0aGUg aGFyZHdhcmUuCi0JICovCi0JaWYgKGludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZCkgewotCQlp bnRlbF9jcnRjX3dhaXRfZm9yX3BlbmRpbmdfZmxpcHMocGxhbmUtPmNydGMpOwotCQlpbnRlbF9k aXNhYmxlX3ByaW1hcnlfaHdfcGxhbmUocGxhbmUsIHBsYW5lLT5jcnRjKTsKLQl9Ci0KLQltdXRl eF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0JaTkxNV9nZW1fdHJhY2tfZmIoaW50ZWxfZmJf b2JqKHBsYW5lLT5mYiksIE5VTEwsCi0JCQkgIElOVEVMX0ZST05UQlVGRkVSX1BSSU1BUlkoaW50 ZWxfY3J0Yy0+cGlwZSkpOwotCWludGVsX3VucGluX2ZiX29iaihpbnRlbF9mYl9vYmoocGxhbmUt PmZiKSk7Ci0JbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0JcGxhbmUtPmZiID0g TlVMTDsKLQotCXJldHVybiAwOwotfQotCiAvKioKICAqIGludGVsX3ByZXBhcmVfcGxhbmVfZmIg LSBQcmVwYXJlIGZiIGZvciB1c2FnZSBvbiBwbGFuZQogICogQHBsYW5lOiBkcm0gcGxhbmUgdG8g cHJlcGFyZSBmb3IKQEAgLTExNzYzLDEyICsxMTcyNiwyMyBAQCBpbnRlbF9jb21taXRfcHJpbWFy eV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gcGxhbmUtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjKTsKLQllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7CiAJc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2ZiX29iaihmYik7CiAJc3RydWN0IGlu dGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lKTsKIAlzdHJ1Y3Qg ZHJtX3JlY3QgKnNyYyA9ICZzdGF0ZS0+c3JjOworCWVudW0gcGlwZSBwaXBlID0gaW50ZWxfcGxh bmUtPnBpcGU7CiAKLQljcnRjLT5wcmltYXJ5LT5mYiA9IGZiOworCWlmICghZmIpIHsKKwkJLyoK KwkJICogJ3ByZXBhcmUnIGlzIG5ldmVyIGNhbGxlZCB3aGVuIHBsYW5lIGlzIGJlaW5nIGRpc2Fi bGVkLCBzbworCQkgKiB3ZSBuZWVkIHRvIGhhbmRsZSBmcm9udGJ1ZmZlciB0cmFja2luZyBoZXJl CisJCSAqLworCQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CisJCWk5MTVfZ2VtX3Ry YWNrX2ZiKGludGVsX2ZiX29iaihwbGFuZS0+ZmIpLCBOVUxMLAorCQkJCSAgSU5URUxfRlJPTlRC VUZGRVJfUFJJTUFSWShwaXBlKSk7CisJCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgp OworCX0KKworCXBsYW5lLT5mYiA9IGZiOwogCWNydGMtPnggPSBzcmMtPngxID4+IDE2OwogCWNy dGMtPnkgPSBzcmMtPnkxID4+IDE2OwogCkBAIC0xMTg5Nyw2ICsxMTg3MSwyNSBAQCBpbnRlbF91 cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKIAlyZXR1cm4gMDsKIH0KIAorLyoqCisgKiBpbnRlbF9kaXNhYmxlX3BsYW5lIC0gZGlzYWJs ZSBhIHBsYW5lCisgKiBAcGxhbmU6IHBsYW5lIHRvIGRpc2FibGUKKyAqCisgKiBHZW5lcmFsIGRp c2FibGUgaGFuZGxlciBmb3IgYWxsIHBsYW5lIHR5cGVzLgorICovCitpbnQKK2ludGVsX2Rpc2Fi bGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCit7CisJaWYgKCFwbGFuZS0+ZmIpCisJ CXJldHVybiAwOworCisJaWYgKFdBUk5fT04oIXBsYW5lLT5jcnRjKSkKKwkJcmV0dXJuIC1FSU5W QUw7CisKKwlyZXR1cm4gcGxhbmUtPmZ1bmNzLT51cGRhdGVfcGxhbmUocGxhbmUsIHBsYW5lLT5j cnRjLCBOVUxMLAorCQkJCQkgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDApOworfQorCiAvKiBDb21t b24gZGVzdHJ1Y3Rpb24gZnVuY3Rpb24gZm9yIGJvdGggcHJpbWFyeSBhbmQgY3Vyc29yIHBsYW5l cyAqLwogc3RhdGljIHZvaWQgaW50ZWxfcGxhbmVfZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSkKIHsKQEAgLTExOTA3LDcgKzExOTAwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcGxhbmVf ZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fcGxhbmVfZnVuY3MgaW50ZWxfcHJpbWFyeV9wbGFuZV9mdW5jcyA9IHsKIAkudXBkYXRlX3Bs YW5lID0gaW50ZWxfdXBkYXRlX3BsYW5lLAotCS5kaXNhYmxlX3BsYW5lID0gaW50ZWxfcHJpbWFy eV9wbGFuZV9kaXNhYmxlLAorCS5kaXNhYmxlX3BsYW5lID0gaW50ZWxfZGlzYWJsZV9wbGFuZSwK IAkuZGVzdHJveSA9IGludGVsX3BsYW5lX2Rlc3Ryb3ksCiAJLnNldF9wcm9wZXJ0eSA9IGludGVs X3BsYW5lX3NldF9wcm9wZXJ0eQogfTsKQEAgLTExOTYyLDE4ICsxMTk1NSw2IEBAIHN0YXRpYyBz dHJ1Y3QgZHJtX3BsYW5lICppbnRlbF9wcmltYXJ5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogfQogCiBzdGF0aWMgaW50Ci1pbnRlbF9jdXJzb3JfcGxhbmVfZGlzYWJsZShz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKLXsKLQlpZiAoIXBsYW5lLT5mYikKLQkJcmV0dXJuIDA7 Ci0KLQlCVUdfT04oIXBsYW5lLT5jcnRjKTsKLQotCXJldHVybiBwbGFuZS0+ZnVuY3MtPnVwZGF0 ZV9wbGFuZShwbGFuZSwgcGxhbmUtPmNydGMsIE5VTEwsCi0JCQkJCSAgMCwgMCwgMCwgMCwgMCwg MCwgMCwgMCk7Ci19Ci0KLXN0YXRpYyBpbnQKIGludGVsX2NoZWNrX2N1cnNvcl9wbGFuZShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCSBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRl KQogewpAQCAtMTIwOTcsNyArMTIwNzgsNyBAQCB1cGRhdGU6CiAKIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZHJtX3BsYW5lX2Z1bmNzIGludGVsX2N1cnNvcl9wbGFuZV9mdW5jcyA9IHsKIAkudXBkYXRl X3BsYW5lID0gaW50ZWxfdXBkYXRlX3BsYW5lLAotCS5kaXNhYmxlX3BsYW5lID0gaW50ZWxfY3Vy c29yX3BsYW5lX2Rpc2FibGUsCisJLmRpc2FibGVfcGxhbmUgPSBpbnRlbF9kaXNhYmxlX3BsYW5l LAogCS5kZXN0cm95ID0gaW50ZWxfcGxhbmVfZGVzdHJveSwKIAkuc2V0X3Byb3BlcnR5ID0gaW50 ZWxfcGxhbmVfc2V0X3Byb3BlcnR5LAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXgg ZjdiNjYxOS4uNTNiNjk2ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTEwMjAsNiAr MTAyMCw3IEBAIGludCBpbnRlbF91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs IHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJICAgICAgIHVuc2lnbmVkIGludCBjcnRjX3csIHVu c2lnbmVkIGludCBjcnRjX2gsCiAJCSAgICAgICB1aW50MzJfdCBzcmNfeCwgdWludDMyX3Qgc3Jj X3ksCiAJCSAgICAgICB1aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3JjX2gpOworaW50IGludGVs X2Rpc2FibGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwogCiAvKiBpbnRlbF9kcF9t c3QuYyAqLwogaW50IGludGVsX2RwX21zdF9lbmNvZGVyX2luaXQoc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsIGludCBjb25uX2lkKTsKQEAgLTEyMDEsNyArMTIwMiw2 IEBAIGludCBpbnRlbF9wbGFuZV9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs CiAJCQkgICAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3AsCiAJCQkgICAgIHVpbnQ2NF90IHZh bCk7CiBpbnQgaW50ZWxfcGxhbmVfcmVzdG9yZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSk7Ci12 b2lkIGludGVsX3BsYW5lX2Rpc2FibGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwogaW50IGlu dGVsX3Nwcml0ZV9zZXRfY29sb3JrZXkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0 YSwKIAkJCSAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKIGludCBpbnRlbF9zcHJp dGVfZ2V0X2NvbG9ya2V5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCmluZGV4IGJmZDUyNzAuLmJjNTgzNGIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCkBAIC0xMTA5LDcgKzExMDksMTIgQEAgaW50ZWxfY2hl Y2tfc3ByaXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCWNvbnN0IHN0cnVjdCBk cm1fcmVjdCAqY2xpcCA9ICZzdGF0ZS0+Y2xpcDsKIAlpbnQgaHNjYWxlLCB2c2NhbGU7CiAJaW50 IG1heF9zY2FsZSwgbWluX3NjYWxlOwotCWludCBwaXhlbF9zaXplID0gZHJtX2Zvcm1hdF9wbGFu ZV9jcHAoZmItPnBpeGVsX2Zvcm1hdCwgMCk7CisJaW50IHBpeGVsX3NpemU7CisKKwlpZiAoIWZi KSB7CisJCXN0YXRlLT52aXNpYmxlID0gZmFsc2U7CisJCXJldHVybiAwOworCX0KIAogCS8qIERv bid0IG1vZGlmeSBhbm90aGVyIHBpcGUncyBwbGFuZSAqLwogCWlmIChpbnRlbF9wbGFuZS0+cGlw ZSAhPSBpbnRlbF9jcnRjLT5waXBlKSB7CkBAIC0xMjMyLDYgKzEyMzcsNyBAQCBpbnRlbF9jaGVj a19zcHJpdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCWlmIChzcmNfdyA8IDMg fHwgc3JjX2ggPCAzKQogCQkJc3RhdGUtPnZpc2libGUgPSBmYWxzZTsKIAorCQlwaXhlbF9zaXpl ID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAoZmItPnBpeGVsX2Zvcm1hdCwgMCk7CiAJCXdpZHRoX2J5 dGVzID0gKChzcmNfeCAqIHBpeGVsX3NpemUpICYgNjMpICsKIAkJCQkJc3JjX3cgKiBwaXhlbF9z aXplOwogCkBAIC0xMjc2LDYgKzEyODIsMTcgQEAgaW50ZWxfY29tbWl0X3Nwcml0ZV9wbGFuZShz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlib29sIHByaW1hcnlfZW5hYmxlZDsKIAogCS8qCisJ ICogJ3ByZXBhcmUnIGlzIG5ldmVyIGNhbGxlZCB3aGVuIHBsYW5lIGlzIGJlaW5nIGRpc2FibGVk LCBzbyB3ZSBuZWVkCisJICogdG8gaGFuZGxlIGZyb250YnVmZmVyIHRyYWNraW5nIGhlcmUKKwkg Ki8KKwlpZiAoIWZiKSB7CisJCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKKwkJaTkx NV9nZW1fdHJhY2tfZmIoaW50ZWxfZmJfb2JqKHBsYW5lLT5mYiksIE5VTEwsCisJCQkJICBJTlRF TF9GUk9OVEJVRkZFUl9TUFJJVEUocGlwZSkpOworCQltdXRleF91bmxvY2soJmRldi0+c3RydWN0 X211dGV4KTsKKwl9CisKKwkvKgogCSAqIElmIHRoZSBzcHJpdGUgaXMgY29tcGxldGVseSBjb3Zl cmluZyB0aGUgcHJpbWFyeSBwbGFuZSwKIAkgKiB3ZSBjYW4gZGlzYWJsZSB0aGUgcHJpbWFyeSBh bmQgc2F2ZSBwb3dlci4KIAkgKi8KQEAgLTEzMjcsNTAgKzEzNDQsNiBAQCBpbnRlbF9jb21taXRf c3ByaXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCX0KIH0KIAotc3RhdGljIGlu dAotaW50ZWxfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKLXsKLQlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUtPmRldjsKLQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmlu dGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwotCXN0cnVjdCBpbnRlbF9jcnRjICpp bnRlbF9jcnRjOwotCWVudW0gcGlwZSBwaXBlOwotCi0JaWYgKCFwbGFuZS0+ZmIpCi0JCXJldHVy biAwOwotCi0JaWYgKFdBUk5fT04oIXBsYW5lLT5jcnRjKSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0K LQlpbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhwbGFuZS0+Y3J0Yyk7Ci0JcGlwZSA9IGludGVs X2NydGMtPnBpcGU7Ci0KLQlpZiAoaW50ZWxfY3J0Yy0+YWN0aXZlKSB7Ci0JCWJvb2wgcHJpbWFy eV93YXNfZW5hYmxlZCA9IGludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZDsKLQotCQlpbnRlbF9j cnRjLT5wcmltYXJ5X2VuYWJsZWQgPSB0cnVlOwotCi0JCWludGVsX3BsYW5lLT5kaXNhYmxlX3Bs YW5lKHBsYW5lLCBwbGFuZS0+Y3J0Yyk7Ci0KLQkJaWYgKCFwcmltYXJ5X3dhc19lbmFibGVkICYm IGludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZCkKLQkJCWludGVsX3Bvc3RfZW5hYmxlX3ByaW1h cnkocGxhbmUtPmNydGMpOwotCX0KLQotCWlmIChpbnRlbF9wbGFuZS0+b2JqKSB7Ci0JCWlmIChp bnRlbF9jcnRjLT5hY3RpdmUpCi0JCQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBpbnRlbF9w bGFuZS0+cGlwZSk7Ci0KLQkJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCQlpbnRl bF91bnBpbl9mYl9vYmooaW50ZWxfcGxhbmUtPm9iaik7Ci0JCWk5MTVfZ2VtX3RyYWNrX2ZiKGlu dGVsX3BsYW5lLT5vYmosIE5VTEwsCi0JCQkJICBJTlRFTF9GUk9OVEJVRkZFUl9TUFJJVEUocGlw ZSkpOwotCQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKLQotCQlpbnRlbF9wbGFu ZS0+b2JqID0gTlVMTDsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIHZvaWQgaW50ZWxf ZGVzdHJveV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKIHsKIAlzdHJ1Y3QgaW50ZWxf cGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwpAQCAtMTQ3OCwxNCAr MTQ1MSw2IEBAIGludCBpbnRlbF9wbGFuZV9yZXN0b3JlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l KQogCQkJCSAgaW50ZWxfcGxhbmUtPnNyY193LCBpbnRlbF9wbGFuZS0+c3JjX2gpOwogfQogCi12 b2lkIGludGVsX3BsYW5lX2Rpc2FibGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCi17Ci0JaWYg KCFwbGFuZS0+Y3J0YyB8fCAhcGxhbmUtPmZiKQotCQlyZXR1cm47Ci0KLQlpbnRlbF9kaXNhYmxl X3BsYW5lKHBsYW5lKTsKLX0KLQogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3Mg aW50ZWxfcGxhbmVfZnVuY3MgPSB7CiAJLnVwZGF0ZV9wbGFuZSA9IGludGVsX3VwZGF0ZV9wbGFu ZSwKIAkuZGlzYWJsZV9wbGFuZSA9IGludGVsX2Rpc2FibGVfcGxhbmUsCi0tIAoxLjguNS4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=