From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steve Longerbeam Subject: [PATCH 50/72] imx-drm: Fix separate primary plane objects Date: Fri, 31 Oct 2014 15:54:33 -0700 Message-ID: <1414796095-10107-51-git-send-email-steve_longerbeam@mentor.com> References: <1414796095-10107-1-git-send-email-steve_longerbeam@mentor.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pd0-f169.google.com (mail-pd0-f169.google.com [209.85.192.169]) by gabe.freedesktop.org (Postfix) with ESMTP id 740026E84E for ; Fri, 31 Oct 2014 15:57:29 -0700 (PDT) Received: by mail-pd0-f169.google.com with SMTP id y10so8159049pdj.0 for ; Fri, 31 Oct 2014 15:57:29 -0700 (PDT) In-Reply-To: <1414796095-10107-1-git-send-email-steve_longerbeam@mentor.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org ZHJtX2NydGNfaW5pdCgpIHdpbGwgY3JlYXRlIGEgcHJpbWFyeSBwbGFuZSBvYmplY3QsIHdoaWxl IGlteC1kcm0gYWxzbwpjcmVhdGVzIGl0cyBvd24sIHRodXMgdHdvIHByaW1hcnkgcGxhbmVzIGFy ZSBzZXBhcmF0ZWx5IGNyZWF0ZWQsIGFuZApjYW4gY2F1c2UgZGlmZmljdWx0IGJ1Z3MgdG8gdHJh Y2sgZG93biBpbiB0aGUgZnV0dXJlLgoKRml4IGJ5IHVzaW5nIGRybV9jcnRjX2luaXRfd2l0aF9w bGFuZXMoKSBpbnN0ZWFkIG9mIGRybV9jcnRjX2luaXQoKSwKc28gdGhhdCB3ZSBjYW4gaGFuZCBk cm0gb3VyIG93biBwcmltYXJ5IHBsYW5lIG9iamVjdCwgdGh1cyBjcnRjLT5wcmltYXJ5CmFuZCBp cHVfY3J0Yy0+cGxhbmVbMF0uYmFzZSBub3cgYXJlIHRoZSBzYW1lIG9iamVjdC4KClRvIGRvIHRo aXMgd2UgbmVlZCB0byBzdGF0aWNhbGx5IGRlY2xhcmUgdGhlIHByaW1hcnkgYW5kIG92ZXJsYXkK cGxhbmVzIGluIHRoZSBjcnRjIGRyaXZlciwgdG8gYXZvaWQgYSBjaGlja2VuLWJlZm9yZS10aGUt ZWdnIHByb2JsZW0sCnRoZSBwcmltYXJ5IHBsYW5lIG11c3QgZXhpc3Qgd2hlbiBpbXhfZHJtX2Fk ZF9jcnRjKCkgaXMgY2FsbGVkIGJ1dApiZWZvcmUgaXB1X3BsYW5lX2luaXQoKS4KClNpZ25lZC1v ZmYtYnk6IFN0ZXZlIExvbmdlcmJlYW0gPHN0ZXZlX2xvbmdlcmJlYW1AbWVudG9yLmNvbT4KLS0t CiBkcml2ZXJzL3N0YWdpbmcvaW14LWRybS9pbXgtZHJtLWNvcmUuYyB8ICAgIDMgKy0KIGRyaXZl cnMvc3RhZ2luZy9pbXgtZHJtL2lteC1kcm0uaCAgICAgIHwgICAgMSArCiBkcml2ZXJzL3N0YWdp bmcvaW14LWRybS9pcHV2My1jcnRjLmMgICB8ICAgNTQgKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0KIGRyaXZlcnMvc3RhZ2luZy9pbXgtZHJtL2lwdXYzLXBsYW5lLmMgIHwgICAzMiAr KysrKy0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL3N0YWdpbmcvaW14LWRybS9pcHV2My1wbGFuZS5o ICB8ICAgIDYgKystLQogNSBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCA1MSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvaW14LWRybS9pbXgtZHJtLWNv cmUuYyBiL2RyaXZlcnMvc3RhZ2luZy9pbXgtZHJtL2lteC1kcm0tY29yZS5jCmluZGV4IGU1ZWMw MTAuLjU5MjAwZmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy9pbXgtZHJtL2lteC1kcm0t Y29yZS5jCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9pbXgtZHJtL2lteC1kcm0tY29yZS5jCkBAIC0z NDIsNiArMzQyLDcgQEAgZXJyX2ttczoKICAqIGlteF9kcm1fYWRkX2NydGMgLSBhZGQgYSBuZXcg Y3J0YwogICovCiBpbnQgaW14X2RybV9hZGRfY3J0YyhzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCBz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCisJCXN0cnVjdCBkcm1fcGxhbmUgKnByaW1hcnksCiAJCXN0 cnVjdCBpbXhfZHJtX2NydGMgKipuZXdfY3J0YywKIAkJY29uc3Qgc3RydWN0IGlteF9kcm1fY3J0 Y19oZWxwZXJfZnVuY3MgKmlteF9kcm1faGVscGVyX2Z1bmNzLAogCQlzdHJ1Y3QgZGV2aWNlX25v ZGUgKnBvcnQpCkBAIC0zODAsNyArMzgxLDcgQEAgaW50IGlteF9kcm1fYWRkX2NydGMoc3RydWN0 IGRybV9kZXZpY2UgKmRybSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAogCWRybV9jcnRjX2hlbHBl cl9hZGQoY3J0YywKIAkJCWlteF9kcm1fY3J0Yy0+aW14X2RybV9oZWxwZXJfZnVuY3MuY3J0Y19o ZWxwZXJfZnVuY3MpOwogCi0JZHJtX2NydGNfaW5pdChkcm0sIGNydGMsCisJZHJtX2NydGNfaW5p dF93aXRoX3BsYW5lcyhkcm0sIGNydGMsIHByaW1hcnksIE5VTEwsCiAJCQlpbXhfZHJtX2NydGMt PmlteF9kcm1faGVscGVyX2Z1bmNzLmNydGNfZnVuY3MpOwogCiAJcmV0dXJuIDA7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL3N0YWdpbmcvaW14LWRybS9pbXgtZHJtLmggYi9kcml2ZXJzL3N0YWdpbmcv aW14LWRybS9pbXgtZHJtLmgKaW5kZXggNzQ1M2FlMC4uM2EzMGYxNiAxMDA2NDQKLS0tIGEvZHJp dmVycy9zdGFnaW5nL2lteC1kcm0vaW14LWRybS5oCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9pbXgt ZHJtL2lteC1kcm0uaApAQCAtMjQsNiArMjQsNyBAQCBzdHJ1Y3QgaW14X2RybV9jcnRjX2hlbHBl cl9mdW5jcyB7CiB9OwogCiBpbnQgaW14X2RybV9hZGRfY3J0YyhzdHJ1Y3QgZHJtX2RldmljZSAq ZHJtLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCisJCXN0cnVjdCBkcm1fcGxhbmUgKnByaW1hcnks CiAJCXN0cnVjdCBpbXhfZHJtX2NydGMgKipuZXdfY3J0YywKIAkJY29uc3Qgc3RydWN0IGlteF9k cm1fY3J0Y19oZWxwZXJfZnVuY3MgKmlteF9oZWxwZXJfZnVuY3MsCiAJCXN0cnVjdCBkZXZpY2Vf bm9kZSAqcG9ydCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvaW14LWRybS9pcHV2My1j cnRjLmMgYi9kcml2ZXJzL3N0YWdpbmcvaW14LWRybS9pcHV2My1jcnRjLmMKaW5kZXggNWE2MDAx Ny4uNTkzMjYxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL2lteC1kcm0vaXB1djMtY3J0 Yy5jCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9pbXgtZHJtL2lwdXYzLWNydGMuYwpAQCAtODQsNyAr ODQsOCBAQCBzdHJ1Y3QgaXB1X2NydGMgewogCWNvbnN0IHN0cnVjdCBpcHVfY2hhbm5lbHMgKmNo OwogCiAJLyogcGxhbmVbMF0gaXMgdGhlIGZ1bGwgcGxhbmUsIHBsYW5lWzFdIGlzIHRoZSBwYXJ0 aWFsIHBsYW5lICovCi0Jc3RydWN0IGlwdV9wbGFuZQkqcGxhbmVbMl07CisJc3RydWN0IGlwdV9w bGFuZQlwbGFuZVsyXTsKKwlib29sCQkJaGF2ZV9vdmVybGF5OyAvKiB3ZSBoYXZlIGEgcGFydGlh bCBwbGFuZSAqLwogCiAJc3RydWN0IGlwdV9kYwkJKmRjOwogCXN0cnVjdCBpcHVfZGkJCSpkaTsK QEAgLTEwNiw3ICsxMDcsNyBAQCBzdGF0aWMgdm9pZCBpcHVfZmJfZW5hYmxlKHN0cnVjdCBpcHVf Y3J0YyAqaXB1X2NydGMpCiAJCXJldHVybjsKIAogCWlwdV9kY19lbmFibGUoaXB1X2NydGMtPmRj KTsKLQlpcHVfcGxhbmVfZW5hYmxlKGlwdV9jcnRjLT5wbGFuZVswXSk7CisJaXB1X3BsYW5lX2Vu YWJsZSgmaXB1X2NydGMtPnBsYW5lWzBdKTsKIAkvKiBTdGFydCBEQyBjaGFubmVsIGFuZCBESSBh ZnRlciBJRE1BQyAqLwogCWlwdV9kY19lbmFibGVfY2hhbm5lbChpcHVfY3J0Yy0+ZGMpOwogCWlw dV9kaV9lbmFibGUoaXB1X2NydGMtPmRpKTsKQEAgLTEyMyw3ICsxMjQsNyBAQCBzdGF0aWMgdm9p ZCBpcHVfZmJfZGlzYWJsZShzdHJ1Y3QgaXB1X2NydGMgKmlwdV9jcnRjKQogCS8qIFN0b3AgREMg Y2hhbm5lbCBhbmQgREkgYmVmb3JlIElETUFDICovCiAJaXB1X2RjX2Rpc2FibGVfY2hhbm5lbChp cHVfY3J0Yy0+ZGMpOwogCWlwdV9kaV9kaXNhYmxlKGlwdV9jcnRjLT5kaSk7Ci0JaXB1X3BsYW5l X2Rpc2FibGUoaXB1X2NydGMtPnBsYW5lWzBdKTsKKwlpcHVfcGxhbmVfZGlzYWJsZSgmaXB1X2Ny dGMtPnBsYW5lWzBdKTsKIAlpcHVfZGNfZGlzYWJsZShpcHVfY3J0Yy0+ZGMpOwogCWlwdV9kaV9k aXNhYmxlX2Nsb2NrKGlwdV9jcnRjLT5kaSk7CiAKQEAgLTI0MSw3ICsyNDIsNyBAQCBzdGF0aWMg aW50IGlwdV9jcnRjX21vZGVfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJcmV0dXJuIHJl dDsKIAl9CiAKLQlyZXR1cm4gaXB1X3BsYW5lX21vZGVfc2V0KGlwdV9jcnRjLT5wbGFuZVswXSwg Y3J0YywgbW9kZSwKKwlyZXR1cm4gaXB1X3BsYW5lX21vZGVfc2V0KCZpcHVfY3J0Yy0+cGxhbmVb MF0sIGNydGMsIG1vZGUsCiAJCQkJICBjcnRjLT5wcmltYXJ5LT5mYiwKIAkJCQkgIDAsIDAsIG1v ZGUtPmhkaXNwbGF5LCBtb2RlLT52ZGlzcGxheSwKIAkJCQkgIHgsIHksIG1vZGUtPmhkaXNwbGF5 LCBtb2RlLT52ZGlzcGxheSk7CkBAIC0yNjcsNyArMjY4LDcgQEAgc3RhdGljIGlycXJldHVybl90 IGlwdV9pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiAJaW14X2RybV9oYW5kbGVf dmJsYW5rKGlwdV9jcnRjLT5pbXhfY3J0Yyk7CiAKIAlpZiAoaXB1X2NydGMtPm5ld2ZiKSB7Ci0J CXN0cnVjdCBpcHVfcGxhbmUgKnBsYW5lID0gaXB1X2NydGMtPnBsYW5lWzBdOworCQlzdHJ1Y3Qg aXB1X3BsYW5lICpwbGFuZSA9ICZpcHVfY3J0Yy0+cGxhbmVbMF07CiAKIAkJaXB1X2NydGMtPm5l d2ZiID0gTlVMTDsKIAkJaXB1X3BsYW5lX3NldF9iYXNlKHBsYW5lLCBpcHVfY3J0Yy0+YmFzZS5w cmltYXJ5LT5mYiwKQEAgLTQ3NCwyMCArNDc1LDI3IEBAIHN0YXRpYyBpbnQgaXB1X2NydGNfaW5p dChzdHJ1Y3QgaXB1X2NydGMgKmlwdV9jcnRjLAogCQlyZXR1cm4gcmV0OwogCX0KIAotCXJldCA9 IGlteF9kcm1fYWRkX2NydGMoZHJtLCAmaXB1X2NydGMtPmJhc2UsICZpcHVfY3J0Yy0+aW14X2Ny dGMsCi0JCQkgICAgICAgJmlwdV9jcnRjX2hlbHBlcl9mdW5jcywgaXB1X2NydGMtPnBvcnQpOwor CXJldCA9IGlteF9kcm1fYWRkX2NydGMoZHJtLCAmaXB1X2NydGMtPmJhc2UsICZpcHVfY3J0Yy0+ cGxhbmVbMF0uYmFzZSwKKwkJCSAgICAgICAmaXB1X2NydGMtPmlteF9jcnRjLCAmaXB1X2NydGNf aGVscGVyX2Z1bmNzLAorCQkJICAgICAgIGlwdV9jcnRjLT5wb3J0KTsKIAlpZiAocmV0KSB7CiAJ CWRldl9lcnIoaXB1X2NydGMtPmRldiwgImFkZGluZyBjcnRjIGZhaWxlZCB3aXRoICVkLlxuIiwg cmV0KTsKIAkJZ290byBlcnJfcHV0X3Jlc291cmNlczsKIAl9CiAKIAlpZCA9IGlteF9kcm1fY3J0 Y19pZChpcHVfY3J0Yy0+aW14X2NydGMpOwotCWlwdV9jcnRjLT5wbGFuZVswXSA9IGlwdV9wbGFu ZV9pbml0KGlwdV9jcnRjLT5iYXNlLmRldiwKLQkJCQkJICAgIGlwdV9jcnRjLT5pcHUsCi0JCQkJ CSAgICBpcHVfY3J0Yy0+Y2gtPmRtYVswXSwKLQkJCQkJICAgIGlwdV9jcnRjLT5jaC0+ZHBbMF0s Ci0JCQkJCSAgICBCSVQoaWQpLCB0cnVlKTsKLQlyZXQgPSBpcHVfcGxhbmVfZ2V0X3Jlc291cmNl cyhpcHVfY3J0Yy0+cGxhbmVbMF0pOworCXJldCA9IGlwdV9wbGFuZV9pbml0KCZpcHVfY3J0Yy0+ cGxhbmVbMF0sIGRybSwKKwkJCSAgICAgaXB1X2NydGMtPmlwdSwKKwkJCSAgICAgaXB1X2NydGMt PmNoLT5kbWFbMF0sCisJCQkgICAgIGlwdV9jcnRjLT5jaC0+ZHBbMF0sCisJCQkgICAgIEJJVChp ZCksIHRydWUpOworCWlmIChyZXQpIHsKKwkJZGV2X2VycihpcHVfY3J0Yy0+ZGV2LCAiaW5pdCBw cmltYXJ5IHBsYW5lIGZhaWxlZCB3aXRoICVkXG4iLAorCQkJcmV0KTsKKwkJZ290byBlcnJfcmVt b3ZlX2NydGM7CisJfQorCisJcmV0ID0gaXB1X3BsYW5lX2dldF9yZXNvdXJjZXMoJmlwdV9jcnRj LT5wbGFuZVswXSk7CiAJaWYgKHJldCkgewogCQlkZXZfZXJyKGlwdV9jcnRjLT5kZXYsICJnZXR0 aW5nIHBsYW5lIDAgcmVzb3VyY2VzIGZhaWxlZCB3aXRoICVkLlxuIiwKIAkJCXJldCk7CkBAIC00 OTYsMTYgKzUwNCwxNiBAQCBzdGF0aWMgaW50IGlwdV9jcnRjX2luaXQoc3RydWN0IGlwdV9jcnRj ICppcHVfY3J0YywKIAogCS8qIElmIHRoaXMgY3J0YyBpcyB1c2luZyB0aGUgRFAsIGFkZCBhbiBv dmVybGF5IHBsYW5lICovCiAJaWYgKGlwdV9jcnRjLT5jaC0+ZHBbMV0gPj0gMCkgewotCQlpcHVf Y3J0Yy0+cGxhbmVbMV0gPSBpcHVfcGxhbmVfaW5pdChpcHVfY3J0Yy0+YmFzZS5kZXYsCi0JCQkJ CQkgICAgaXB1X2NydGMtPmlwdSwKLQkJCQkJCSAgICBpcHVfY3J0Yy0+Y2gtPmRtYVsxXSwKLQkJ CQkJCSAgICBpcHVfY3J0Yy0+Y2gtPmRwWzFdLAotCQkJCQkJICAgIEJJVChpZCksIGZhbHNlKTsK LQkJaWYgKElTX0VSUihpcHVfY3J0Yy0+cGxhbmVbMV0pKQotCQkJaXB1X2NydGMtPnBsYW5lWzFd ID0gTlVMTDsKKwkJcmV0ID0gaXB1X3BsYW5lX2luaXQoJmlwdV9jcnRjLT5wbGFuZVsxXSwgZHJt LAorCQkJCSAgICAgaXB1X2NydGMtPmlwdSwKKwkJCQkgICAgIGlwdV9jcnRjLT5jaC0+ZG1hWzFd LAorCQkJCSAgICAgaXB1X2NydGMtPmNoLT5kcFsxXSwKKwkJCQkgICAgIEJJVChpZCksIGZhbHNl KTsKKworCQlpcHVfY3J0Yy0+aGF2ZV9vdmVybGF5ID0gcmV0ID8gZmFsc2UgOiB0cnVlOwogCX0K IAotCWlwdV9jcnRjLT5pcnEgPSBpcHVfcGxhbmVfaXJxKGlwdV9jcnRjLT5wbGFuZVswXSk7CisJ aXB1X2NydGMtPmlycSA9IGlwdV9wbGFuZV9pcnEoJmlwdV9jcnRjLT5wbGFuZVswXSk7CiAJcmV0 ID0gZGV2bV9yZXF1ZXN0X2lycShpcHVfY3J0Yy0+ZGV2LCBpcHVfY3J0Yy0+aXJxLCBpcHVfaXJx X2hhbmRsZXIsIDAsCiAJCQkiaW14X2RybSIsIGlwdV9jcnRjKTsKIAlpZiAocmV0IDwgMCkgewpA QCAtNTE2LDcgKzUyNCw3IEBAIHN0YXRpYyBpbnQgaXB1X2NydGNfaW5pdChzdHJ1Y3QgaXB1X2Ny dGMgKmlwdV9jcnRjLAogCXJldHVybiAwOwogCiBlcnJfcHV0X3BsYW5lX3JlczoKLQlpcHVfcGxh bmVfcHV0X3Jlc291cmNlcyhpcHVfY3J0Yy0+cGxhbmVbMF0pOworCWlwdV9wbGFuZV9wdXRfcmVz b3VyY2VzKCZpcHVfY3J0Yy0+cGxhbmVbMF0pOwogZXJyX3JlbW92ZV9jcnRjOgogCWlteF9kcm1f cmVtb3ZlX2NydGMoaXB1X2NydGMtPmlteF9jcnRjKTsKIGVycl9wdXRfcmVzb3VyY2VzOgpAQCAt NTUzLDcgKzU2MSw3IEBAIHN0YXRpYyB2b2lkIGlwdV9kcm1fdW5iaW5kKHN0cnVjdCBkZXZpY2Ug KmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLAogCiAJaW14X2RybV9yZW1vdmVfY3J0YyhpcHVf Y3J0Yy0+aW14X2NydGMpOwogCi0JaXB1X3BsYW5lX3B1dF9yZXNvdXJjZXMoaXB1X2NydGMtPnBs YW5lWzBdKTsKKwlpcHVfcGxhbmVfcHV0X3Jlc291cmNlcygmaXB1X2NydGMtPnBsYW5lWzBdKTsK IAlpcHVfcHV0X3Jlc291cmNlcyhpcHVfY3J0Yyk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv c3RhZ2luZy9pbXgtZHJtL2lwdXYzLXBsYW5lLmMgYi9kcml2ZXJzL3N0YWdpbmcvaW14LWRybS9p cHV2My1wbGFuZS5jCmluZGV4IDE1NzJjODAuLjUxYTI1N2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv c3RhZ2luZy9pbXgtZHJtL2lwdXYzLXBsYW5lLmMKKysrIGIvZHJpdmVycy9zdGFnaW5nL2lteC1k cm0vaXB1djMtcGxhbmUuYwpAQCAtMzM4LDEzICszMzgsMTAgQEAgc3RhdGljIGludCBpcHVfZGlz YWJsZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKIAogc3RhdGljIHZvaWQgaXB1X3Bs YW5lX2Rlc3Ryb3koc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCiB7Ci0Jc3RydWN0IGlwdV9wbGFu ZSAqaXB1X3BsYW5lID0gdG9faXB1X3BsYW5lKHBsYW5lKTsKLQogCURSTV9ERUJVR19LTVMoIlsl ZF0gJXNcbiIsIF9fTElORV9fLCBfX2Z1bmNfXyk7CiAKIAlpcHVfZGlzYWJsZV9wbGFuZShwbGFu ZSk7CiAJZHJtX3BsYW5lX2NsZWFudXAocGxhbmUpOwotCWtmcmVlKGlwdV9wbGFuZSk7CiB9CiAK IHN0YXRpYyBpbnQgaXB1X3BsYW5lX3NldF9nbG9iYWxfYWxwaGEoc3RydWN0IGlwdV9wbGFuZSAq aXB1X3BsYW5lLApAQCAtNDI2LDIyICs0MjMsMTUgQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmVf ZnVuY3MgaXB1X3BsYW5lX2Z1bmNzID0gewogCS5zZXRfcHJvcGVydHkJPSBpcHVfcGxhbmVfc2V0 X3Byb3BlcnR5LAogfTsKIAotc3RydWN0IGlwdV9wbGFuZSAqaXB1X3BsYW5lX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRybSwgc3RydWN0IGlwdV9zb2MgKmlwdSwKLQkJCQkgaW50IGRtYSwgaW50 IGRwLCB1bnNpZ25lZCBpbnQgcG9zc2libGVfY3J0Y3MsCi0JCQkJIGJvb2wgcHJpdikKK2ludCBp cHVfcGxhbmVfaW5pdChzdHJ1Y3QgaXB1X3BsYW5lICppcHVfcGxhbmUsIHN0cnVjdCBkcm1fZGV2 aWNlICpkcm0sCisJCSAgIHN0cnVjdCBpcHVfc29jICppcHUsIGludCBkbWEsIGludCBkcCwKKwkJ ICAgdW5zaWduZWQgaW50IHBvc3NpYmxlX2NydGNzLCBib29sIHByaXYpCiB7Ci0Jc3RydWN0IGlw dV9wbGFuZSAqaXB1X3BsYW5lOwogCWludCByZXQ7CiAKIAlEUk1fREVCVUdfS01TKCJjaGFubmVs ICVkLCBkcCBmbG93ICVkLCBwb3NzaWJsZV9jcnRjcz0weCV4XG4iLAogCQkgICAgICBkbWEsIGRw LCBwb3NzaWJsZV9jcnRjcyk7CiAKLQlpcHVfcGxhbmUgPSBremFsbG9jKHNpemVvZigqaXB1X3Bs YW5lKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFpcHVfcGxhbmUpIHsKLQkJRFJNX0VSUk9SKCJmYWls ZWQgdG8gYWxsb2NhdGUgcGxhbmVcbiIpOwotCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKLQl9 Ci0KIAlpcHVfcGxhbmUtPmlwdSA9IGlwdTsKIAlpcHVfcGxhbmUtPmRtYSA9IGRtYTsKIAlpcHVf cGxhbmUtPmRwX2Zsb3cgPSBkcDsKQEAgLTQ1Miw3ICs0NDIsNyBAQCBzdHJ1Y3QgaXB1X3BsYW5l ICppcHVfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCBzdHJ1Y3QgaXB1X3NvYyAq aXB1LAogCQkJICAgICBwcml2KTsKIAlpZiAocmV0KSB7CiAJCURSTV9FUlJPUigiZmFpbGVkIHRv IGluaXRpYWxpemUgcGxhbmVcbiIpOwotCQlnb3RvIGVycl9mcmVlOworCQlyZXR1cm4gcmV0Owog CX0KIAogCS8qIGRlZmF1bHQgZ2xvYmFsIGFscGhhIGlzIGVuYWJsZWQgYW5kIGNvbXBsZXRlbHkg b3BhcXVlICovCkBAIC00NjEsNyArNDUxLDcgQEAgc3RydWN0IGlwdV9wbGFuZSAqaXB1X3BsYW5l X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwgc3RydWN0IGlwdV9zb2MgKmlwdSwKIAogCS8q IGZvciBwcml2YXRlIHBsYW5lcywgc2tpcCBzZXR0aW5nIHVwIHByb3BlcnRpZXMgKi8KIAlpZiAo cHJpdikKLQkJcmV0dXJuIGlwdV9wbGFuZTsKKwkJcmV0dXJuIDA7CiAKIAkvKgogCSAqIGdsb2Jh bCBhbHBoYSByYW5nZSBpcyAwIC0gMjU1LiBCaXQgOCBpcyB1c2VkIGFzIGEKQEAgLTQ3Miw4ICs0 NjIsNyBAQCBzdHJ1Y3QgaXB1X3BsYW5lICppcHVfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZHJtLCBzdHJ1Y3QgaXB1X3NvYyAqaXB1LAogCQkJCQkJCQkgMCwgMHgxZmYpOwogCWlmICgh aXB1X3BsYW5lLT5nbG9iYWxfYWxwaGFfcHJvcCkgewogCQlEUk1fRVJST1IoImZhaWxlZCB0byBj cmVhdGUgZ2xvYmFsIGFscGhhIHByb3BlcnR5XG4iKTsKLQkJcmV0ID0gLUVOT01FTTsKLQkJZ290 byBlcnJfZnJlZTsKKwkJcmV0dXJuIC1FTk9NRU07CiAJfQogCiAJLyoKQEAgLTQ4NSw4ICs0NzQs NyBAQCBzdHJ1Y3QgaXB1X3BsYW5lICppcHVfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZHJtLCBzdHJ1Y3QgaXB1X3NvYyAqaXB1LAogCQkJCQkJCSAgICAgMCwgMHgwMWZmZmZmZik7CiAJ aWYgKCFpcHVfcGxhbmUtPmNvbG9ya2V5X3Byb3ApIHsKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8g Y3JlYXRlIGNvbG9ya2V5IHByb3BlcnR5XG4iKTsKLQkJcmV0ID0gLUVOT01FTTsKLQkJZ290byBl cnJfZnJlZTsKKwkJcmV0dXJuIC1FTk9NRU07CiAJfQogCiAJZHJtX29iamVjdF9hdHRhY2hfcHJv cGVydHkoJmlwdV9wbGFuZS0+YmFzZS5iYXNlLApAQCAtNDk1LDkgKzQ4Myw1IEBAIHN0cnVjdCBp cHVfcGxhbmUgKmlwdV9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHN0cnVjdCBp cHVfc29jICppcHUsCiAJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmlwdV9wbGFuZS0+YmFz ZS5iYXNlLAogCQkJCSAgIGlwdV9wbGFuZS0+Y29sb3JrZXlfcHJvcCwKIAkJCQkgICAwKTsKLQly ZXR1cm4gaXB1X3BsYW5lOwotCi1lcnJfZnJlZToKLQlrZnJlZShpcHVfcGxhbmUpOwotCXJldHVy biBFUlJfUFRSKHJldCk7CisJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdp bmcvaW14LWRybS9pcHV2My1wbGFuZS5oIGIvZHJpdmVycy9zdGFnaW5nL2lteC1kcm0vaXB1djMt cGxhbmUuaAppbmRleCBiNGRhZWU1Li4xNDg3YTA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdp bmcvaW14LWRybS9pcHV2My1wbGFuZS5oCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9pbXgtZHJtL2lw dXYzLXBsYW5lLmgKQEAgLTM3LDkgKzM3LDkgQEAgc3RydWN0IGlwdV9wbGFuZSB7CiAJYm9vbAkJ CWVuYWJsZWQ7CiB9OwogCi1zdHJ1Y3QgaXB1X3BsYW5lICppcHVfcGxhbmVfaW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaXB1X3NvYyAqaXB1LAotCQkJCSBpbnQgZG1hLCBpbnQg ZHAsIHVuc2lnbmVkIGludCBwb3NzaWJsZV9jcnRjcywKLQkJCQkgYm9vbCBwcml2KTsKK2ludCBp cHVfcGxhbmVfaW5pdChzdHJ1Y3QgaXB1X3BsYW5lICppcHVfcGxhbmUsIHN0cnVjdCBkcm1fZGV2 aWNlICpkcm0sCisJCSAgIHN0cnVjdCBpcHVfc29jICppcHUsIGludCBkbWEsIGludCBkcCwKKwkJ ICAgdW5zaWduZWQgaW50IHBvc3NpYmxlX2NydGNzLCBib29sIHByaXYpOwogCiAvKiBJbml0IElE TUFDLCBETUZDLCBEUCAqLwogaW50IGlwdV9wbGFuZV9tb2RlX3NldChzdHJ1Y3QgaXB1X3BsYW5l ICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAotLSAKMS43LjkuNQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK