From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 2/5] drm/atomic: Make prepare_fb/cleanup_fb only take state. Date: Thu, 16 Jul 2015 14:57:48 +0200 Message-ID: <1437051471-15397-3-git-send-email-maarten.lankhorst@linux.intel.com> References: <1437051471-15397-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 [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6D0D86E46C for ; Thu, 16 Jul 2015 05:57:56 -0700 (PDT) In-Reply-To: <1437051471-15397-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 VGhpcyByZW1vdmVzIHRoZSBuZWVkIHRvIHNlcGFyYXRlbHkgdHJhY2sgZmIgY2hhbmdlcyBpOTE1 LgoKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxp bnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxj ZGNfcGxhbmUuYyB8ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyAg ICAgICAgICAgICB8IDIxICsrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVs cGVyLmMgICAgICAgICAgICAgIHwgIDYgKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgICAgICAgICAgICB8IDUyICsrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgICAgICAgICAgIHwgIDMgLS0KIGRyaXZl cnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9wbGFuZS5jICAgICAgIHwgMTAgKysrKy0KIGRy aXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jICAgICAgIHwgIDkgKysrKy0K IGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfcGxhbmUuYyAgICAgICAgICAgIHwgMTAgKysr LS0KIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2RybV9wbGFuZS5jICAgICAgICAgICAgIHwgIDIg LQogZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMiAt CiBpbmNsdWRlL2RybS9kcm1fcGxhbmVfaGVscGVyLmggICAgICAgICAgICAgICAgICB8ICAyIC0K IDExIGZpbGVzIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDY3IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19wbGFuZS5j IGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX3BsYW5lLmMKaW5kZXgg YmU5ZmE4MjIwNDk5Li4zNmZkYTg2YjM1MTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h dG1lbC1obGNkYy9hdG1lbF9obGNkY19wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hdG1l bC1obGNkYy9hdG1lbF9obGNkY19wbGFuZS5jCkBAIC03MTIsMTEgKzcxMiwxMyBAQCBzdGF0aWMg aW50IGF0bWVsX2hsY2RjX3BsYW5lX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX3BsYW5lICpwLAog fQogCiBzdGF0aWMgaW50IGF0bWVsX2hsY2RjX3BsYW5lX3ByZXBhcmVfZmIoc3RydWN0IGRybV9w bGFuZSAqcCwKLQkJCQkJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQkJCWNvbnN0IHN0 cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm5ld19zdGF0ZSkKIHsKIAlzdHJ1Y3QgYXRtZWxfaGxjZGNf cGxhbmUgKnBsYW5lID0gZHJtX3BsYW5lX3RvX2F0bWVsX2hsY2RjX3BsYW5lKHApOwogCisJaWYg KCFuZXdfc3RhdGUtPmZiKQorCQlyZXR1cm4gMDsKKwogCXJldHVybiBhdG1lbF9obGNkY19sYXll cl91cGRhdGVfc3RhcnQoJnBsYW5lLT5sYXllcik7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf aGVscGVyLmMKaW5kZXggMDg5OGFmYmM5ZTIzLi5lNTJkZmM4MjhlNjAgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jCkBAIC0xMDYzLDE3ICsxMDYzLDE0IEBAIGludCBkcm1fYXRvbWlj X2hlbHBlcl9wcmVwYXJlX3BsYW5lcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQljb25zdCBz dHJ1Y3QgZHJtX3BsYW5lX2hlbHBlcl9mdW5jcyAqZnVuY3M7CiAJCXN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lID0gc3RhdGUtPnBsYW5lc1tpXTsKIAkJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxh bmVfc3RhdGUgPSBzdGF0ZS0+cGxhbmVfc3RhdGVzW2ldOwotCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmYjsKIAogCQlpZiAoIXBsYW5lKQogCQkJY29udGludWU7CiAKIAkJZnVuY3MgPSBwbGFu ZS0+aGVscGVyX3ByaXZhdGU7CiAKLQkJZmIgPSBwbGFuZV9zdGF0ZS0+ZmI7Ci0KLQkJaWYgKGZi ICYmIGZ1bmNzLT5wcmVwYXJlX2ZiKSB7Ci0JCQlyZXQgPSBmdW5jcy0+cHJlcGFyZV9mYihwbGFu ZSwgZmIsIHBsYW5lX3N0YXRlKTsKKwkJaWYgKGZ1bmNzLT5wcmVwYXJlX2ZiKSB7CisJCQlyZXQg PSBmdW5jcy0+cHJlcGFyZV9mYihwbGFuZSwgcGxhbmVfc3RhdGUpOwogCQkJaWYgKHJldCkKIAkJ CQlnb3RvIGZhaWw7CiAJCX0KQEAgLTEwODYsMTcgKzEwODMsMTQgQEAgZmFpbDoKIAkJY29uc3Qg c3RydWN0IGRybV9wbGFuZV9oZWxwZXJfZnVuY3MgKmZ1bmNzOwogCQlzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSA9IHN0YXRlLT5wbGFuZXNbaV07CiAJCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBs YW5lX3N0YXRlID0gc3RhdGUtPnBsYW5lX3N0YXRlc1tpXTsKLQkJc3RydWN0IGRybV9mcmFtZWJ1 ZmZlciAqZmI7CiAKIAkJaWYgKCFwbGFuZSkKIAkJCWNvbnRpbnVlOwogCiAJCWZ1bmNzID0gcGxh bmUtPmhlbHBlcl9wcml2YXRlOwogCi0JCWZiID0gc3RhdGUtPnBsYW5lX3N0YXRlc1tpXS0+ZmI7 Ci0KLQkJaWYgKGZiICYmIGZ1bmNzLT5jbGVhbnVwX2ZiKQotCQkJZnVuY3MtPmNsZWFudXBfZmIo cGxhbmUsIGZiLCBwbGFuZV9zdGF0ZSk7CisJCWlmIChmdW5jcy0+Y2xlYW51cF9mYikKKwkJCWZ1 bmNzLT5jbGVhbnVwX2ZiKHBsYW5lLCBwbGFuZV9zdGF0ZSk7CiAKIAl9CiAKQEAgLTEyNTIsMTQg KzEyNDYsMTEgQEAgdm9pZCBkcm1fYXRvbWljX2hlbHBlcl9jbGVhbnVwX3BsYW5lcyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCiAJZm9yX2VhY2hfcGxhbmVfaW5fc3RhdGUob2xkX3N0YXRlLCBw bGFuZSwgcGxhbmVfc3RhdGUsIGkpIHsKIAkJY29uc3Qgc3RydWN0IGRybV9wbGFuZV9oZWxwZXJf ZnVuY3MgKmZ1bmNzOwotCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbGRfZmI7CiAKIAkJZnVu Y3MgPSBwbGFuZS0+aGVscGVyX3ByaXZhdGU7CiAKLQkJb2xkX2ZiID0gcGxhbmVfc3RhdGUtPmZi OwotCi0JCWlmIChvbGRfZmIgJiYgZnVuY3MtPmNsZWFudXBfZmIpCi0JCQlmdW5jcy0+Y2xlYW51 cF9mYihwbGFuZSwgb2xkX2ZiLCBwbGFuZV9zdGF0ZSk7CisJCWlmIChmdW5jcy0+Y2xlYW51cF9m YikKKwkJCWZ1bmNzLT5jbGVhbnVwX2ZiKHBsYW5lLCBwbGFuZV9zdGF0ZSk7CiAJfQogfQogRVhQ T1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9jbGVhbnVwX3BsYW5lcyk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9wbGFuZV9oZWxwZXIuYwppbmRleCBiMDdhMjEzZjU2NTUuLjAzYjdhZmU0NTVlNiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZV9oZWxwZXIuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX3BsYW5lX2hlbHBlci5jCkBAIC00MjUsNyArNDI1LDcgQEAgaW50IGRybV9wbGFu ZV9oZWxwZXJfY29tbWl0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCiAJaWYgKHBsYW5lX2Z1 bmNzLT5wcmVwYXJlX2ZiICYmIHBsYW5lX3N0YXRlLT5mYiAmJgogCSAgICBwbGFuZV9zdGF0ZS0+ ZmIgIT0gb2xkX2ZiKSB7Ci0JCXJldCA9IHBsYW5lX2Z1bmNzLT5wcmVwYXJlX2ZiKHBsYW5lLCBw bGFuZV9zdGF0ZS0+ZmIsCisJCXJldCA9IHBsYW5lX2Z1bmNzLT5wcmVwYXJlX2ZiKHBsYW5lLAog CQkJCQkgICAgICBwbGFuZV9zdGF0ZSk7CiAJCWlmIChyZXQpCiAJCQlnb3RvIG91dDsKQEAgLTQ3 OCw4ICs0NzgsOCBAQCBpbnQgZHJtX3BsYW5lX2hlbHBlcl9jb21taXQoc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsCiAJCXJldCA9IDA7CiAJfQogCi0JaWYgKHBsYW5lX2Z1bmNzLT5jbGVhbnVwX2Zi ICYmIG9sZF9mYikKLQkJcGxhbmVfZnVuY3MtPmNsZWFudXBfZmIocGxhbmUsIG9sZF9mYiwgcGxh bmVfc3RhdGUpOworCWlmIChwbGFuZV9mdW5jcy0+Y2xlYW51cF9mYikKKwkJcGxhbmVfZnVuY3Mt PmNsZWFudXBfZmIocGxhbmUsIHBsYW5lX3N0YXRlKTsKIG91dDoKIAlpZiAocGxhbmVfc3RhdGUp IHsKIAkJaWYgKHBsYW5lLT5mdW5jcy0+YXRvbWljX2Rlc3Ryb3lfc3RhdGUpCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggNzg2MDE4ZWFmMzkzLi4zZjgyMjE0YjczN2IgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTQ3NzUsMTcgKzQ3NzUsNiBAQCBz dGF0aWMgdm9pZCBpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRj KQogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRl bF9jcnRjX2F0b21pY19jb21taXQgKmF0b21pYyA9ICZjcnRjLT5hdG9taWM7Ci0Jc3RydWN0IGRy bV9wbGFuZSAqcDsKLQotCS8qIFRyYWNrIGZiJ3MgZm9yIGFueSBwbGFuZXMgYmVpbmcgZGlzYWJs ZWQgKi8KLQlkcm1fZm9yX2VhY2hfcGxhbmVfbWFzayhwLCBkZXYsIGF0b21pYy0+ZGlzYWJsZWRf cGxhbmVzKSB7Ci0JCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUgPSB0b19pbnRlbF9wbGFuZShw KTsKLQotCQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0JCWk5MTVfZ2VtX3RyYWNr X2ZiKGludGVsX2ZiX29iaihwbGFuZS0+YmFzZS5mYiksIE5VTEwsCi0JCQkJICBwbGFuZS0+ZnJv bnRidWZmZXJfYml0KTsKLQkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0JfQog CiAJaWYgKGF0b21pYy0+d2FpdF9mb3JfZmxpcHMpCiAJCWludGVsX2NydGNfd2FpdF9mb3JfcGVu ZGluZ19mbGlwcygmY3J0Yy0+YmFzZSk7CkBAIC0xMTY2OCwxNCArMTE2NTcsNiBAQCBpbnQgaW50 ZWxfcGxhbmVfYXRvbWljX2NhbGNfY2hhbmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNf c3RhdGUsCiAJCQlyZXR1cm4gcmV0OwogCX0KIAotCS8qCi0JICogRGlzYWJsaW5nIGEgcGxhbmUg aXMgYWx3YXlzIG9rYXk7IHdlIGp1c3QgbmVlZCB0byB1cGRhdGUKLQkgKiBmYiB0cmFja2luZyBp biBhIHNwZWNpYWwgd2F5IHNpbmNlIGNsZWFudXBfZmIoKSB3b24ndAotCSAqIGdldCBjYWxsZWQg YnkgdGhlIHBsYW5lIGhlbHBlcnMuCi0JICovCi0JaWYgKG9sZF9wbGFuZV9zdGF0ZS0+YmFzZS5m YiAmJiAhZmIpCi0JCWludGVsX2NydGMtPmF0b21pYy5kaXNhYmxlZF9wbGFuZXMgfD0gMSA8PCBp OwotCiAJd2FzX3Zpc2libGUgPSBvbGRfcGxhbmVfc3RhdGUtPnZpc2libGU7CiAJdmlzaWJsZSA9 IHRvX2ludGVsX3BsYW5lX3N0YXRlKHBsYW5lX3N0YXRlKS0+dmlzaWJsZTsKIApAQCAtMTM0ODgs MjEgKzEzNDY5LDIzIEBAIHN0YXRpYyB2b2lkIGludGVsX3NoYXJlZF9kcGxsX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKICAqLwogaW50CiBpbnRlbF9wcmVwYXJlX3BsYW5lX2ZiKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAotCQkgICAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIs CiAJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdfc3RhdGUpCiB7CiAJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBsYW5lLT5kZXY7CisJc3RydWN0IGRybV9mcmFtZWJ1 ZmZlciAqZmIgPSBuZXdfc3RhdGUtPmZiOwogCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxh bmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiA9IGludGVsX2ZiX29iaihmYik7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9s ZF9vYmogPSBpbnRlbF9mYl9vYmoocGxhbmUtPmZiKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2xkX29iaiA9IGludGVsX2ZiX29iaihwbGFuZS0+c3RhdGUtPmZiKTsKIAlpbnQgcmV0 ID0gMDsKIAotCWlmICghb2JqKQorCWlmIChvYmogPT0gb2xkX29iaikKIAkJcmV0dXJuIDA7CiAK IAltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CiAKLQlpZiAocGxhbmUtPnR5cGUgPT0g RFJNX1BMQU5FX1RZUEVfQ1VSU09SICYmCisJaWYgKCFvYmopIHsKKwkJcmV0ID0gMDsKKwl9IGVs c2UgaWYgKHBsYW5lLT50eXBlID09IERSTV9QTEFORV9UWVBFX0NVUlNPUiAmJgogCSAgICBJTlRF TF9JTkZPKGRldiktPmN1cnNvcl9uZWVkc19waHlzaWNhbCkgewogCQlpbnQgYWxpZ24gPSBJU19J ODMwKGRldikgPyAxNiAqIDEwMjQgOiAyNTY7CiAJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9hdHRh Y2hfcGh5cyhvYmosIGFsaWduKTsKQEAgLTEzNTI5LDIxICsxMzUxMiwyNiBAQCBpbnRlbF9wcmVw YXJlX3BsYW5lX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogICovCiB2b2lkCiBpbnRlbF9j bGVhbnVwX3BsYW5lX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAotCQkgICAgICAgc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0 YXRlICpvbGRfc3RhdGUpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBsYW5lLT5kZXY7 Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2ZiX29iaihmYik7CisJ c3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lKTsK KwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2xkX29iaiA9IGludGVsX2ZiX29iaihvbGRf c3RhdGUtPmZiKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gaW50ZWxfZmJf b2JqKHBsYW5lLT5mYik7CiAKLQlpZiAoV0FSTl9PTighb2JqKSkKKwlpZiAob2xkX29iaiA9PSBv YmopCiAJCXJldHVybjsKIAotCWlmIChwbGFuZS0+dHlwZSAhPSBEUk1fUExBTkVfVFlQRV9DVVJT T1IgfHwKLQkgICAgIUlOVEVMX0lORk8oZGV2KS0+Y3Vyc29yX25lZWRzX3BoeXNpY2FsKSB7Ci0J CW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKLQkJaW50ZWxfdW5waW5fZmJfb2JqKGZi LCBvbGRfc3RhdGUpOwotCQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKLQl9CisJ bXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOworCWlmIChvbGRfb2JqICYmIChwbGFuZS0+ dHlwZSAhPSBEUk1fUExBTkVfVFlQRV9DVVJTT1IgfHwKKwkgICAgIUlOVEVMX0lORk8oZGV2KS0+ Y3Vyc29yX25lZWRzX3BoeXNpY2FsKSkKKwkJaW50ZWxfdW5waW5fZmJfb2JqKG9sZF9zdGF0ZS0+ ZmIsIG9sZF9zdGF0ZSk7CisKKwkvKiBwcmVwYXJlX2ZiIGFib3J0ZWQ/ICovCisJaWYgKChvbGRf b2JqICYmIChvbGRfb2JqLT5mcm9udGJ1ZmZlcl9iaXRzICYgaW50ZWxfcGxhbmUtPmZyb250YnVm ZmVyX2JpdCkpIHx8CisJICAgIChvYmogJiYgIShvYmotPmZyb250YnVmZmVyX2JpdHMgJiBpbnRl bF9wbGFuZS0+ZnJvbnRidWZmZXJfYml0KSkpCisJCWk5MTVfZ2VtX3RyYWNrX2ZiKG9sZF9vYmos IG9iaiwgaW50ZWxfcGxhbmUtPmZyb250YnVmZmVyX2JpdCk7CisJbXV0ZXhfdW5sb2NrKCZkZXYt PnN0cnVjdF9tdXRleCk7CiB9CiAKIGludApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCAw ZmNmYTdmMTc5YzQuLmU2YjA0OTQxZjljYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAg LTQ5NSw3ICs0OTUsNiBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19hdG9taWNfY29tbWl0IHsKIAlib29s IGRpc2FibGVfY3hzcjsKIAlib29sIHByZV9kaXNhYmxlX3ByaW1hcnk7CiAJYm9vbCB1cGRhdGVf d21fcHJlLCB1cGRhdGVfd21fcG9zdDsKLQl1bnNpZ25lZCBkaXNhYmxlZF9wbGFuZXM7CiAKIAkv KiBTbGVlcGFibGUgb3BlcmF0aW9ucyB0byBwZXJmb3JtIGFmdGVyIGNvbW1pdCAqLwogCXVuc2ln bmVkIGZiX2JpdHM7CkBAIC0xMDM3LDEwICsxMDM2LDggQEAgdm9pZCBpbnRlbF9maW5pc2hfcGFn ZV9mbGlwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBwaXBlKTsKIHZvaWQgaW50ZWxfZmlu aXNoX3BhZ2VfZmxpcF9wbGFuZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgcGxhbmUpOwog dm9pZCBpbnRlbF9jaGVja19wYWdlX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBp cGUpOwogaW50IGludGVsX3ByZXBhcmVfcGxhbmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs Ci0JCQkgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAkJCSAgIGNvbnN0IHN0cnVjdCBk cm1fcGxhbmVfc3RhdGUgKm5ld19zdGF0ZSk7CiB2b2lkIGludGVsX2NsZWFudXBfcGxhbmVfZmIo c3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCi0JCQkgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAq ZmIsCiAJCQkgICAgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3N0YXRlKTsKIGlu dCBpbnRlbF9wbGFuZV9hdG9taWNfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LAogCQkJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSwKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9wbGFuZS5jIGIvZHJpdmVycy9n cHUvZHJtL21zbS9tZHAvbWRwNC9tZHA0X3BsYW5lLmMKaW5kZXggMGQxZGJiNzM3OTMzLi42MGU4 M2MzNzY1YzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9w bGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9wbGFuZS5jCkBA IC05OCwyMiArOTgsMjggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgbWRw NF9wbGFuZV9mdW5jcyA9IHsKIH07CiAKIHN0YXRpYyBpbnQgbWRwNF9wbGFuZV9wcmVwYXJlX2Zi KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAotCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwK IAkJY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqbmV3X3N0YXRlKQogewogCXN0cnVjdCBt ZHA0X3BsYW5lICptZHA0X3BsYW5lID0gdG9fbWRwNF9wbGFuZShwbGFuZSk7CiAJc3RydWN0IG1k cDRfa21zICptZHA0X2ttcyA9IGdldF9rbXMocGxhbmUpOworCXN0cnVjdCBkcm1fZnJhbWVidWZm ZXIgKmZiID0gbmV3X3N0YXRlLT5mYjsKKworCWlmICghZmIpCisJCXJldHVybiAwOwogCiAJREJH KCIlczogcHJlcGFyZTogRkJbJXVdIiwgbWRwNF9wbGFuZS0+bmFtZSwgZmItPmJhc2UuaWQpOwog CXJldHVybiBtc21fZnJhbWVidWZmZXJfcHJlcGFyZShmYiwgbWRwNF9rbXMtPmlkKTsKIH0KIAog c3RhdGljIHZvaWQgbWRwNF9wbGFuZV9jbGVhbnVwX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LAotCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAkJY29uc3Qgc3RydWN0IGRybV9wbGFu ZV9zdGF0ZSAqb2xkX3N0YXRlKQogewogCXN0cnVjdCBtZHA0X3BsYW5lICptZHA0X3BsYW5lID0g dG9fbWRwNF9wbGFuZShwbGFuZSk7CiAJc3RydWN0IG1kcDRfa21zICptZHA0X2ttcyA9IGdldF9r bXMocGxhbmUpOworCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gb2xkX3N0YXRlLT5mYjsK KworCWlmICghZmIpCisJCXJldHVybjsKIAogCURCRygiJXM6IGNsZWFudXA6IEZCWyV1XSIsIG1k cDRfcGxhbmUtPm5hbWUsIGZiLT5iYXNlLmlkKTsKIAltc21fZnJhbWVidWZmZXJfY2xlYW51cChm YiwgbWRwNF9rbXMtPmlkKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21k cDUvbWRwNV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5l LmMKaW5kZXggNTdiOGY1NmFlOWQwLi5kMGY2MjdiOTYyZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vbWRwL21kcDUvbWRwNV9wbGFuZS5jCkBAIC0xNTYsMTEgKzE1NiwxNCBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9wbGFuZV9mdW5jcyBtZHA1X3BsYW5lX2Z1bmNzID0gewogfTsKIAogc3Rh dGljIGludCBtZHA1X3BsYW5lX3ByZXBhcmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCi0J CXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAogCQljb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0 YXRlICpuZXdfc3RhdGUpCiB7CiAJc3RydWN0IG1kcDVfcGxhbmUgKm1kcDVfcGxhbmUgPSB0b19t ZHA1X3BsYW5lKHBsYW5lKTsKIAlzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zID0gZ2V0X2ttcyhw bGFuZSk7CisJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBuZXdfc3RhdGUtPmZiOworCisJ aWYgKCFuZXdfc3RhdGUtPmZiKQorCQlyZXR1cm4gMDsKIAogCURCRygiJXM6IHByZXBhcmU6IEZC WyV1XSIsIG1kcDVfcGxhbmUtPm5hbWUsIGZiLT5iYXNlLmlkKTsKIAlyZXR1cm4gbXNtX2ZyYW1l YnVmZmVyX3ByZXBhcmUoZmIsIG1kcDVfa21zLT5pZCk7CkBAIC0xNzIsNiArMTc1LDEwIEBAIHN0 YXRpYyB2b2lkIG1kcDVfcGxhbmVfY2xlYW51cF9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK IHsKIAlzdHJ1Y3QgbWRwNV9wbGFuZSAqbWRwNV9wbGFuZSA9IHRvX21kcDVfcGxhbmUocGxhbmUp OwogCXN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMgPSBnZXRfa21zKHBsYW5lKTsKKwlzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICpmYiA9IG9sZF9zdGF0ZS0+ZmI7CisKKwlpZiAoIWZiKQorCQlyZXR1 cm47CiAKIAlEQkcoIiVzOiBjbGVhbnVwOiBGQlsldV0iLCBtZHA1X3BsYW5lLT5uYW1lLCBmYi0+ YmFzZS5pZCk7CiAJbXNtX2ZyYW1lYnVmZmVyX2NsZWFudXAoZmIsIG1kcDVfa21zLT5pZCk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMgYi9kcml2ZXJz L2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMKaW5kZXggMDk4OTA0Njk2YTVjLi4wOWUzNjNi YjU1ZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfcGxhbmUuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMKQEAgLTYwLDE3ICs2MCwx OSBAQCB0b19vbWFwX3BsYW5lX3N0YXRlKHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQog fQogCiBzdGF0aWMgaW50IG9tYXBfcGxhbmVfcHJlcGFyZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwKLQkJCQkgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQkJIGNvbnN0IHN0cnVj dCBkcm1fcGxhbmVfc3RhdGUgKm5ld19zdGF0ZSkKIHsKLQlyZXR1cm4gb21hcF9mcmFtZWJ1ZmZl cl9waW4oZmIpOworCWlmICghbmV3X3N0YXRlLT5mYikKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4g b21hcF9mcmFtZWJ1ZmZlcl9waW4obmV3X3N0YXRlLT5mYik7CiB9CiAKIHN0YXRpYyB2b2lkIG9t YXBfcGxhbmVfY2xlYW51cF9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKLQkJCQkgIHN0cnVj dCBkcm1fZnJhbWVidWZmZXIgKmZiLAogCQkJCSAgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0 ZSAqb2xkX3N0YXRlKQogewotCW9tYXBfZnJhbWVidWZmZXJfdW5waW4oZmIpOworCWlmIChvbGRf c3RhdGUtPmZiKQorCQlvbWFwX2ZyYW1lYnVmZmVyX3VucGluKG9sZF9zdGF0ZS0+ZmIpOwogfQog CiBzdGF0aWMgdm9pZCBvbWFwX3BsYW5lX2F0b21pY191cGRhdGUoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kcm1fcGxhbmUuYyBi L2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2RybV9wbGFuZS5jCmluZGV4IDY0ZDRlZDQzZGRhMy4u ZjM3MTcyOTJlNzQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kcm1fcGxh bmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kcm1fcGxhbmUuYwpAQCAtMTQ3LDE0 ICsxNDcsMTIgQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmVfZnVuY3Mgc3RpX2RybV9wbGFuZV9m dW5jcyA9IHsKIH07CiAKIHN0YXRpYyBpbnQgc3RpX2RybV9wbGFuZV9wcmVwYXJlX2ZiKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAotCQkJCSAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJ CQkJICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdfc3RhdGUpCiB7CiAJcmV0dXJu IDA7CiB9CiAKIHN0YXRpYyB2b2lkIHN0aV9kcm1fcGxhbmVfY2xlYW51cF9mYihzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSwKLQkJCQkgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAkJCQkg ICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfZmIpCiB7CiB9CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5j CmluZGV4IGEyODdlNGZlYzg2NS4uZDQ0NzcwMTE3M2U2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vdGVncmEvZGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYwpAQCAtNDcy LDE0ICs0NzIsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgdGVncmFf cHJpbWFyeV9wbGFuZV9mdW5jcyA9IHsKIH07CiAKIHN0YXRpYyBpbnQgdGVncmFfcGxhbmVfcHJl cGFyZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKLQkJCQkgIHN0cnVjdCBkcm1fZnJhbWVi dWZmZXIgKmZiLAogCQkJCSAgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqbmV3X3N0YXRl KQogewogCXJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZCB0ZWdyYV9wbGFuZV9jbGVhbnVwX2Zi KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAotCQkJCSAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIg KmZiLAogCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9sZF9mYikKIHsKIH0K ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9wbGFuZV9oZWxwZXIuaCBiL2luY2x1ZGUvZHJt L2RybV9wbGFuZV9oZWxwZXIuaAppbmRleCA5NmUxNjI4M2FmYjkuLjVmZmNhNGU1MWU0MCAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3BsYW5lX2hlbHBlci5oCisrKyBiL2luY2x1ZGUvZHJt L2RybV9wbGFuZV9oZWxwZXIuaApAQCAtNTksMTAgKzU5LDggQEAgZXh0ZXJuIGludCBkcm1fY3J0 Y19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAgKi8KIHN0cnVjdCBkcm1fcGxhbmVfaGVs cGVyX2Z1bmNzIHsKIAlpbnQgKCpwcmVwYXJlX2ZiKShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK LQkJCSAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQkgIGNvbnN0IHN0cnVjdCBkcm1f cGxhbmVfc3RhdGUgKm5ld19zdGF0ZSk7CiAJdm9pZCAoKmNsZWFudXBfZmIpKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAotCQkJICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQkgICBj b25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfc3RhdGUpOwogCiAJaW50ICgqYXRvbWlj X2NoZWNrKShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKLS0gCjIuMS4wCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=