From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH 8/9] drm/i915: Consolidate top-level .update_plane() handlers Date: Mon, 24 Nov 2014 11:53:05 -0800 Message-ID: <1416858786-25376-9-git-send-email-matthew.d.roper@intel.com> References: <1416858786-25376-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 406BF6ED68 for ; Mon, 24 Nov 2014 11:55:13 -0800 (PST) In-Reply-To: <1416858786-25376-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 T3VyIC51cGRhdGVfcGxhbmUoKSBoYW5kbGVycyBkbyB0aGUgc2FtZSBjaGVjay9wcmVwYXJlL2Nv bW1pdC9jbGVhbnVwCnN0ZXBzIHJlZ2FyZGxlc3Mgb2YgcGxhbmUgdHlwZS4gIENvbnNvbGlkYXRl IHRoZW0gYWxsIGludG8gYSBzaW5nbGUKZnVuY3Rpb24gdGhhdCBjYWxscyBjaGVjay9jb21taXQg dGhyb3VnaCBhIHZ0YWJsZS4KClNpZ25lZC1vZmYtYnk6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5y b3BlckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j IHwgMTEzICsrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgIDkgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zcHJpdGUuYyAgfCAgNTkgKy0tLS0tLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQs IDQ0IGluc2VydGlvbnMoKyksIDEzNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKaW5kZXggMjA4OTBhOS4uZGQxMGRjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwpAQCAtMTE2NjgsMTIgKzExNjY4LDIzIEBAIGludGVsX2NoZWNrX3ByaW1h cnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJc3RydWN0IGRybV9yZWN0ICpkZXN0 ID0gJnN0YXRlLT5kc3Q7CiAJc3RydWN0IGRybV9yZWN0ICpzcmMgPSAmc3RhdGUtPnNyYzsKIAlj b25zdCBzdHJ1Y3QgZHJtX3JlY3QgKmNsaXAgPSAmc3RhdGUtPmNsaXA7CisJaW50IHJldDsKKwor CXJldCA9IGRybV9wbGFuZV9oZWxwZXJfY2hlY2tfdXBkYXRlKHBsYW5lLCBjcnRjLCBmYiwKKwkJ CQkJICAgIHNyYywgZGVzdCwgY2xpcCwKKwkJCQkJICAgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NB TElORywKKwkJCQkJICAgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElORywKKwkJCQkJICAgIGZh bHNlLCB0cnVlLCAmc3RhdGUtPnZpc2libGUpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisK KwlpbnRlbF9jcnRjX3dhaXRfZm9yX3BlbmRpbmdfZmxpcHMoY3J0Yyk7CisJaWYgKGludGVsX2Ny dGNfaGFzX3BlbmRpbmdfZmxpcChjcnRjKSkgeworCQlEUk1fRVJST1IoInBpcGUgaXMgc3RpbGwg YnVzeSB3aXRoIGFuIG9sZCBwYWdlZmxpcFxuIik7CisJCXJldHVybiAtRUJVU1k7CisJfQogCi0J cmV0dXJuIGRybV9wbGFuZV9oZWxwZXJfY2hlY2tfdXBkYXRlKHBsYW5lLCBjcnRjLCBmYiwKLQkJ CQkJICAgICBzcmMsIGRlc3QsIGNsaXAsCi0JCQkJCSAgICAgRFJNX1BMQU5FX0hFTFBFUl9OT19T Q0FMSU5HLAotCQkJCQkgICAgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElORywKLQkJCQkJICAg ICBmYWxzZSwgdHJ1ZSwgJnN0YXRlLT52aXNpYmxlKTsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGlj IHZvaWQKQEAgLTExNzU5LDE2ICsxMTc3MCwxNyBAQCBpbnRlbF9jb21taXRfcHJpbWFyeV9wbGFu ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAl9CiB9CiAKLXN0YXRpYyBpbnQKLWludGVsX3By aW1hcnlfcGxhbmVfc2V0cGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKLQkJCSAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBjcnRj X3gsIGludCBjcnRjX3ksCi0JCQkgICAgIHVuc2lnbmVkIGludCBjcnRjX3csIHVuc2lnbmVkIGlu dCBjcnRjX2gsCi0JCQkgICAgIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNfeSwKLQkJCSAg ICAgdWludDMyX3Qgc3JjX3csIHVpbnQzMl90IHNyY19oKQoraW50CitpbnRlbF91cGRhdGVfcGxh bmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKKwkJICAg c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBjcnRjX3gsIGludCBjcnRjX3ksCisJCSAg IHVuc2lnbmVkIGludCBjcnRjX3csIHVuc2lnbmVkIGludCBjcnRjX2gsCisJCSAgIHVpbnQzMl90 IHNyY194LCB1aW50MzJfdCBzcmNfeSwKKwkJICAgdWludDMyX3Qgc3JjX3csIHVpbnQzMl90IHNy Y19oKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwbGFuZS0+ZGV2OwogCXN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKm9sZF9mYiA9IHBsYW5lLT5mYjsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmVf c3RhdGUgc3RhdGU7CisJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVs X3BsYW5lKHBsYW5lKTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Yyk7CiAJaW50IHJldDsKIApAQCAtMTE3OTUsMjQgKzExODA3LDE3IEBAIGludGVs X3ByaW1hcnlfcGxhbmVfc2V0cGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKIAlzdGF0ZS5vcmlnX3NyYyA9IHN0YXRlLnNyYzsKIAlzdGF0ZS5vcmln X2RzdCA9IHN0YXRlLmRzdDsKIAotCXJldCA9IGludGVsX2NoZWNrX3ByaW1hcnlfcGxhbmUocGxh bmUsICZzdGF0ZSk7CisJcmV0ID0gaW50ZWxfcGxhbmUtPmNoZWNrX3BsYW5lKHBsYW5lLCAmc3Rh dGUpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlpbnRlbF9jcnRjX3dhaXRfZm9yX3Bl bmRpbmdfZmxpcHMoY3J0Yyk7Ci0KLQlpZiAoaW50ZWxfY3J0Y19oYXNfcGVuZGluZ19mbGlwKGNy dGMpKSB7Ci0JCURSTV9FUlJPUigicGlwZSBpcyBzdGlsbCBidXN5IHdpdGggYW4gb2xkIHBhZ2Vm bGlwXG4iKTsKLQkJcmV0dXJuIC1FQlVTWTsKLQl9Ci0KIAlpZiAoZmIgIT0gb2xkX2ZiICYmIGZi KSB7CiAJCXJldCA9IGludGVsX3ByZXBhcmVfcGxhbmVfZmIocGxhbmUsIGZiKTsKIAkJaWYgKHJl dCkKIAkJCXJldHVybiByZXQ7CiAJfQogCi0JaW50ZWxfY29tbWl0X3ByaW1hcnlfcGxhbmUocGxh bmUsICZzdGF0ZSk7CisJaW50ZWxfcGxhbmUtPmNvbW1pdF9wbGFuZShwbGFuZSwgJnN0YXRlKTsK IAogCWlmIChmYiAhPSBvbGRfZmIpIHsKIAkJaWYgKGludGVsX2NydGMtPmFjdGl2ZSkKQEAgLTEx ODIxLDYgKzExODI2LDggQEAgaW50ZWxfcHJpbWFyeV9wbGFuZV9zZXRwbGFuZShzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJaW50ZWxfY2xlYW51cF9w bGFuZV9mYihwbGFuZSwgb2xkX2ZiKTsKIAl9CiAKKwlwbGFuZS0+ZmIgPSBmYjsKKwogCXJldHVy biAwOwogfQogCkBAIC0xMTgzMyw3ICsxMTg0MCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3BsYW5l X2Rlc3Ryb3koc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZHJtX3BsYW5lX2Z1bmNzIGludGVsX3ByaW1hcnlfcGxhbmVfZnVuY3MgPSB7Ci0JLnVwZGF0 ZV9wbGFuZSA9IGludGVsX3ByaW1hcnlfcGxhbmVfc2V0cGxhbmUsCisJLnVwZGF0ZV9wbGFuZSA9 IGludGVsX3VwZGF0ZV9wbGFuZSwKIAkuZGlzYWJsZV9wbGFuZSA9IGludGVsX3ByaW1hcnlfcGxh bmVfZGlzYWJsZSwKIAkuZGVzdHJveSA9IGludGVsX3BsYW5lX2Rlc3Ryb3ksCiAJLnNldF9wcm9w ZXJ0eSA9IGludGVsX3BsYW5lX3NldF9wcm9wZXJ0eQpAQCAtMTE4NTUsNiArMTE4NjIsOCBAQCBz dGF0aWMgc3RydWN0IGRybV9wbGFuZSAqaW50ZWxfcHJpbWFyeV9wbGFuZV9jcmVhdGUoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAlwcmltYXJ5LT5waXBlID0gcGlwZTsKIAlwcmltYXJ5LT5wbGFu ZSA9IHBpcGU7CiAJcHJpbWFyeS0+cm90YXRpb24gPSBCSVQoRFJNX1JPVEFURV8wKTsKKwlwcmlt YXJ5LT5jaGVja19wbGFuZSA9IGludGVsX2NoZWNrX3ByaW1hcnlfcGxhbmU7CisJcHJpbWFyeS0+ Y29tbWl0X3BsYW5lID0gaW50ZWxfY29tbWl0X3ByaW1hcnlfcGxhbmU7CiAJaWYgKEhBU19GQkMo ZGV2KSAmJiBJTlRFTF9JTkZPKGRldiktPmdlbiA8IDQpCiAJCXByaW1hcnktPnBsYW5lID0gIXBp cGU7CiAKQEAgLTEyMDE5LDY2ICsxMjAyOCw4IEBAIHVwZGF0ZToKIAl9CiB9CiAKLXN0YXRpYyBp bnQKLWludGVsX2N1cnNvcl9wbGFuZV91cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKLQkJCSAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGlu dCBjcnRjX3gsIGludCBjcnRjX3ksCi0JCQkgIHVuc2lnbmVkIGludCBjcnRjX3csIHVuc2lnbmVk IGludCBjcnRjX2gsCi0JCQkgIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNfeSwKLQkJCSAg dWludDMyX3Qgc3JjX3csIHVpbnQzMl90IHNyY19oKQotewotCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBwbGFuZS0+ZGV2OwotCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9sZF9mYiA9IHBsYW5l LT5mYjsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Yyk7Ci0Jc3RydWN0IGludGVsX3BsYW5lX3N0YXRlIHN0YXRlOwotCWludCByZXQ7Ci0KLQlzdGF0 ZS5iYXNlLmNydGMgPSBjcnRjOwotCXN0YXRlLmJhc2UuZmIgPSBmYjsKLQotCS8qIHNhbXBsZSBj b29yZGluYXRlcyBpbiAxNi4xNiBmaXhlZCBwb2ludCAqLwotCXN0YXRlLnNyYy54MSA9IHNyY194 OwotCXN0YXRlLnNyYy54MiA9IHNyY194ICsgc3JjX3c7Ci0Jc3RhdGUuc3JjLnkxID0gc3JjX3k7 Ci0Jc3RhdGUuc3JjLnkyID0gc3JjX3kgKyBzcmNfaDsKLQotCS8qIGludGVnZXIgcGl4ZWxzICov Ci0Jc3RhdGUuZHN0LngxID0gY3J0Y194OwotCXN0YXRlLmRzdC54MiA9IGNydGNfeCArIGNydGNf dzsKLQlzdGF0ZS5kc3QueTEgPSBjcnRjX3k7Ci0Jc3RhdGUuZHN0LnkyID0gY3J0Y195ICsgY3J0 Y19oOwotCi0Jc3RhdGUuY2xpcC54MSA9IDA7Ci0Jc3RhdGUuY2xpcC55MSA9IDA7Ci0Jc3RhdGUu Y2xpcC54MiA9IGludGVsX2NydGMtPmFjdGl2ZSA/IGludGVsX2NydGMtPmNvbmZpZy5waXBlX3Ny Y193IDogMDsKLQlzdGF0ZS5jbGlwLnkyID0gaW50ZWxfY3J0Yy0+YWN0aXZlID8gaW50ZWxfY3J0 Yy0+Y29uZmlnLnBpcGVfc3JjX2ggOiAwOwotCi0Jc3RhdGUub3JpZ19zcmMgPSBzdGF0ZS5zcmM7 Ci0Jc3RhdGUub3JpZ19kc3QgPSBzdGF0ZS5kc3Q7Ci0KLQlyZXQgPSBpbnRlbF9jaGVja19jdXJz b3JfcGxhbmUocGxhbmUsICZzdGF0ZSk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKLQotCWlm IChmYiAhPSBvbGRfZmIgJiYgZmIpIHsKLQkJcmV0ID0gaW50ZWxfcHJlcGFyZV9wbGFuZV9mYihw bGFuZSwgZmIpOwotCQlpZiAocmV0KQotCQkJcmV0dXJuIHJldDsKLQl9Ci0KLQlpbnRlbF9jb21t aXRfY3Vyc29yX3BsYW5lKHBsYW5lLCAmc3RhdGUpOwotCi0JaWYgKGZiICE9IG9sZF9mYikgewot CQlpZiAoaW50ZWxfY3J0Yy0+YWN0aXZlKQotCQkJaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRldiwg aW50ZWxfY3J0Yy0+cGlwZSk7Ci0JCWlmIChvbGRfZmIpCi0JCQlpbnRlbF9jbGVhbnVwX3BsYW5l X2ZiKHBsYW5lLCBvbGRfZmIpOwotCX0KLQotCXJldHVybiAwOwotfQotCiBzdGF0aWMgY29uc3Qg c3RydWN0IGRybV9wbGFuZV9mdW5jcyBpbnRlbF9jdXJzb3JfcGxhbmVfZnVuY3MgPSB7Ci0JLnVw ZGF0ZV9wbGFuZSA9IGludGVsX2N1cnNvcl9wbGFuZV91cGRhdGUsCisJLnVwZGF0ZV9wbGFuZSA9 IGludGVsX3VwZGF0ZV9wbGFuZSwKIAkuZGlzYWJsZV9wbGFuZSA9IGludGVsX2N1cnNvcl9wbGFu ZV9kaXNhYmxlLAogCS5kZXN0cm95ID0gaW50ZWxfcGxhbmVfZGVzdHJveSwKIAkuc2V0X3Byb3Bl cnR5ID0gaW50ZWxfcGxhbmVfc2V0X3Byb3BlcnR5LApAQCAtMTIwOTgsNiArMTIwNDksOCBAQCBz dGF0aWMgc3RydWN0IGRybV9wbGFuZSAqaW50ZWxfY3Vyc29yX3BsYW5lX2NyZWF0ZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCWN1cnNvci0+cGlwZSA9IHBpcGU7CiAJY3Vyc29yLT5wbGFuZSA9 IHBpcGU7CiAJY3Vyc29yLT5yb3RhdGlvbiA9IEJJVChEUk1fUk9UQVRFXzApOworCWN1cnNvci0+ Y2hlY2tfcGxhbmUgPSBpbnRlbF9jaGVja19jdXJzb3JfcGxhbmU7CisJY3Vyc29yLT5jb21taXRf cGxhbmUgPSBpbnRlbF9jb21taXRfY3Vyc29yX3BsYW5lOwogCiAJZHJtX3VuaXZlcnNhbF9wbGFu ZV9pbml0KGRldiwgJmN1cnNvci0+YmFzZSwgMCwKIAkJCQkgJmludGVsX2N1cnNvcl9wbGFuZV9m dW5jcywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMjk5ZmM0Zi4uNWY3YTA3MSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTUwOSw2ICs1MDksMTAgQEAgc3RydWN0IGludGVs X3BsYW5lIHsKIAkJCSAgICAgdWludDMyX3Qgc3JjX3csIHVpbnQzMl90IHNyY19oKTsKIAl2b2lk ICgqZGlzYWJsZV9wbGFuZSkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkgICAgICBzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpOworCWludCAoKmNoZWNrX3BsYW5lKShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKKwkJCSAgIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUpOworCXZvaWQg KCpjb21taXRfcGxhbmUpKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAorCQkJICAgICBzdHJ1Y3Qg aW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlKTsKIAlpbnQgKCp1cGRhdGVfY29sb3JrZXkpKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJICAgICAgIHN0cnVjdCBkcm1faW50ZWxfc3ByaXRlX2Nv bG9ya2V5ICprZXkpOwogCXZvaWQgKCpnZXRfY29sb3JrZXkpKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLApAQCAtMTAxMiw2ICsxMDE2LDExIEBAIHZvaWQgaW50ZWxfZHBfaG90X3BsdWcoc3RydWN0 IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpOwogdm9pZCB2bHZfcG93ZXJfc2VxdWVuY2Vy X3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB1aW50MzJfdCBpbnRl bF9kcF9wYWNrX2F1eChjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfYnl0ZXMpOwogdm9pZCBp bnRlbF9kcF91bnBhY2tfYXV4KHVpbnQzMl90IHNyYywgdWludDhfdCAqZHN0LCBpbnQgZHN0X2J5 dGVzKTsKK2ludCBpbnRlbF91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKKwkJICAgICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZi LCBpbnQgY3J0Y194LCBpbnQgY3J0Y195LAorCQkgICAgICAgdW5zaWduZWQgaW50IGNydGNfdywg dW5zaWduZWQgaW50IGNydGNfaCwKKwkJICAgICAgIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBz cmNfeSwKKwkJICAgICAgIHVpbnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNfaCk7CiAKIC8qIGlu dGVsX2RwX21zdC5jICovCiBpbnQgaW50ZWxfZHBfbXN0X2VuY29kZXJfaW5pdChzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwgaW50IGNvbm5faWQpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zcHJpdGUuYwppbmRleCAxNTJhMzJkLi5iZmQ1MjcwIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zcHJpdGUuYwpAQCAtMTMyOCw2MyArMTMyOCw2IEBAIGludGVsX2NvbW1pdF9z cHJpdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiB9CiAKIHN0YXRpYyBpbnQKLWlu dGVsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRj ICpjcnRjLAotCQkgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwgaW50IGNydGNfeCwgaW50 IGNydGNfeSwKLQkJICAgdW5zaWduZWQgaW50IGNydGNfdywgdW5zaWduZWQgaW50IGNydGNfaCwK LQkJICAgdWludDMyX3Qgc3JjX3gsIHVpbnQzMl90IHNyY195LAotCQkgICB1aW50MzJfdCBzcmNf dywgdWludDMyX3Qgc3JjX2gpCi17Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBsYW5lLT5k ZXY7Ci0Jc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqb2xkX2ZiID0gcGxhbmUtPmZiOwotCXN0cnVj dCBpbnRlbF9wbGFuZV9zdGF0ZSBzdGF0ZTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Ci0JaW50IHJldDsKLQotCXN0YXRlLmJhc2UuY3J0YyA9 IGNydGM7Ci0Jc3RhdGUuYmFzZS5mYiA9IGZiOwotCi0JLyogc2FtcGxlIGNvb3JkaW5hdGVzIGlu IDE2LjE2IGZpeGVkIHBvaW50ICovCi0Jc3RhdGUuc3JjLngxID0gc3JjX3g7Ci0Jc3RhdGUuc3Jj LngyID0gc3JjX3ggKyBzcmNfdzsKLQlzdGF0ZS5zcmMueTEgPSBzcmNfeTsKLQlzdGF0ZS5zcmMu eTIgPSBzcmNfeSArIHNyY19oOwotCi0JLyogaW50ZWdlciBwaXhlbHMgKi8KLQlzdGF0ZS5kc3Qu eDEgPSBjcnRjX3g7Ci0Jc3RhdGUuZHN0LngyID0gY3J0Y194ICsgY3J0Y193OwotCXN0YXRlLmRz dC55MSA9IGNydGNfeTsKLQlzdGF0ZS5kc3QueTIgPSBjcnRjX3kgKyBjcnRjX2g7Ci0KLQlzdGF0 ZS5jbGlwLngxID0gMDsKLQlzdGF0ZS5jbGlwLnkxID0gMDsKLQlzdGF0ZS5jbGlwLngyID0gaW50 ZWxfY3J0Yy0+YWN0aXZlID8gaW50ZWxfY3J0Yy0+Y29uZmlnLnBpcGVfc3JjX3cgOiAwOwotCXN0 YXRlLmNsaXAueTIgPSBpbnRlbF9jcnRjLT5hY3RpdmUgPyBpbnRlbF9jcnRjLT5jb25maWcucGlw ZV9zcmNfaCA6IDA7Ci0Jc3RhdGUub3JpZ19zcmMgPSBzdGF0ZS5zcmM7Ci0Jc3RhdGUub3JpZ19k c3QgPSBzdGF0ZS5kc3Q7Ci0KLQlyZXQgPSBpbnRlbF9jaGVja19zcHJpdGVfcGxhbmUocGxhbmUs ICZzdGF0ZSk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKLQotCWlmIChmYiAhPSBvbGRfZmIg JiYgZmIpIHsKLQkJcmV0ID0gaW50ZWxfcHJlcGFyZV9wbGFuZV9mYihwbGFuZSwgZmIpOwotCQlp ZiAocmV0KQotCQkJcmV0dXJuIHJldDsKLQl9Ci0KLQlpbnRlbF9jb21taXRfc3ByaXRlX3BsYW5l KHBsYW5lLCAmc3RhdGUpOwotCi0JaWYgKGZiICE9IG9sZF9mYikgewotCQlpZiAoaW50ZWxfY3J0 Yy0+YWN0aXZlKQotCQkJaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRldiwgaW50ZWxfY3J0Yy0+cGlw ZSk7Ci0JCWlmIChvbGRfZmIpCi0JCQlpbnRlbF9jbGVhbnVwX3BsYW5lX2ZiKHBsYW5lLCBvbGRf ZmIpOwotCX0KLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50CiBpbnRlbF9kaXNhYmxlX3Bs YW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBwbGFuZS0+ZGV2OwpAQCAtMTY3OSw2ICsxNjIyLDggQEAgaW50ZWxfcGxhbmVfaW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBpcGUgcGlwZSwgaW50IHBsYW5lKQogCWludGVsX3Bs YW5lLT5waXBlID0gcGlwZTsKIAlpbnRlbF9wbGFuZS0+cGxhbmUgPSBwbGFuZTsKIAlpbnRlbF9w bGFuZS0+cm90YXRpb24gPSBCSVQoRFJNX1JPVEFURV8wKTsKKwlpbnRlbF9wbGFuZS0+Y2hlY2tf cGxhbmUgPSBpbnRlbF9jaGVja19zcHJpdGVfcGxhbmU7CisJaW50ZWxfcGxhbmUtPmNvbW1pdF9w bGFuZSA9IGludGVsX2NvbW1pdF9zcHJpdGVfcGxhbmU7CiAJcG9zc2libGVfY3J0Y3MgPSAoMSA8 PCBwaXBlKTsKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCAmaW50ZWxfcGxh bmUtPmJhc2UsIHBvc3NpYmxlX2NydGNzLAogCQkJCSAgICAgICAmaW50ZWxfcGxhbmVfZnVuY3Ms Ci0tIAoxLjguNS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=