From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH 08/10] drm/i915: Consolidate top-level .update_plane() handlers Date: Mon, 1 Dec 2014 15:40:16 -0800 Message-ID: <1417477218-9519-8-git-send-email-matthew.d.roper@intel.com> References: <1417477218-9519-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 55F0D6E410 for ; Mon, 1 Dec 2014 15:48:56 -0800 (PST) In-Reply-To: <1417477218-9519-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 bF9kaXNwbGF5LmMKaW5kZXggOThlNGZiZi4uZjYyOGEyOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwpAQCAtMTE3MzUsMTIgKzExNzM1LDIzIEBAIGludGVsX2NoZWNrX3ByaW1h cnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJc3RydWN0IGRybV9yZWN0ICpkZXN0 ID0gJnN0YXRlLT5kc3Q7CiAJc3RydWN0IGRybV9yZWN0ICpzcmMgPSAmc3RhdGUtPnNyYzsKIAlj b25zdCBzdHJ1Y3QgZHJtX3JlY3QgKmNsaXAgPSAmc3RhdGUtPmNsaXA7CisJaW50IHJldDsKKwor CXJldCA9IGRybV9wbGFuZV9oZWxwZXJfY2hlY2tfdXBkYXRlKHBsYW5lLCBjcnRjLCBmYiwKKwkJ CQkJICAgIHNyYywgZGVzdCwgY2xpcCwKKwkJCQkJICAgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NB TElORywKKwkJCQkJICAgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElORywKKwkJCQkJICAgIGZh bHNlLCB0cnVlLCAmc3RhdGUtPnZpc2libGUpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CiAK LQlyZXR1cm4gZHJtX3BsYW5lX2hlbHBlcl9jaGVja191cGRhdGUocGxhbmUsIGNydGMsIGZiLAot CQkJCQkgICAgIHNyYywgZGVzdCwgY2xpcCwKLQkJCQkJICAgICBEUk1fUExBTkVfSEVMUEVSX05P X1NDQUxJTkcsCi0JCQkJCSAgICAgRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HLAotCQkJCQkg ICAgIGZhbHNlLCB0cnVlLCAmc3RhdGUtPnZpc2libGUpOworCWludGVsX2NydGNfd2FpdF9mb3Jf cGVuZGluZ19mbGlwcyhjcnRjKTsKKwlpZiAoaW50ZWxfY3J0Y19oYXNfcGVuZGluZ19mbGlwKGNy dGMpKSB7CisJCURSTV9FUlJPUigicGlwZSBpcyBzdGlsbCBidXN5IHdpdGggYW4gb2xkIHBhZ2Vm bGlwXG4iKTsKKwkJcmV0dXJuIC1FQlVTWTsKKwl9CisKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGlj IHZvaWQKQEAgLTExODI2LDE2ICsxMTgzNywxNyBAQCBpbnRlbF9jb21taXRfcHJpbWFyeV9wbGFu ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAl9CiB9CiAKLXN0YXRpYyBpbnQKLWludGVsX3By aW1hcnlfcGxhbmVfc2V0cGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKLQkJCSAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBjcnRj X3gsIGludCBjcnRjX3ksCi0JCQkgICAgIHVuc2lnbmVkIGludCBjcnRjX3csIHVuc2lnbmVkIGlu dCBjcnRjX2gsCi0JCQkgICAgIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNfeSwKLQkJCSAg ICAgdWludDMyX3Qgc3JjX3csIHVpbnQzMl90IHNyY19oKQoraW50CitpbnRlbF91cGRhdGVfcGxh bmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKKwkJICAg c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBjcnRjX3gsIGludCBjcnRjX3ksCisJCSAg IHVuc2lnbmVkIGludCBjcnRjX3csIHVuc2lnbmVkIGludCBjcnRjX2gsCisJCSAgIHVpbnQzMl90 IHNyY194LCB1aW50MzJfdCBzcmNfeSwKKwkJICAgdWludDMyX3Qgc3JjX3csIHVpbnQzMl90IHNy Y19oKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwbGFuZS0+ZGV2OwogCXN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKm9sZF9mYiA9IHBsYW5lLT5mYjsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmVf c3RhdGUgc3RhdGU7CisJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVs X3BsYW5lKHBsYW5lKTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Yyk7CiAJaW50IHJldDsKIApAQCAtMTE4NjIsMjQgKzExODc0LDE3IEBAIGludGVs X3ByaW1hcnlfcGxhbmVfc2V0cGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKIAlzdGF0ZS5vcmlnX3NyYyA9IHN0YXRlLnNyYzsKIAlzdGF0ZS5vcmln X2RzdCA9IHN0YXRlLmRzdDsKIAotCXJldCA9IGludGVsX2NoZWNrX3ByaW1hcnlfcGxhbmUocGxh bmUsICZzdGF0ZSk7CisJcmV0ID0gaW50ZWxfcGxhbmUtPmNoZWNrX3BsYW5lKHBsYW5lLCAmc3Rh dGUpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlpbnRlbF9jcnRjX3dhaXRfZm9yX3Bl bmRpbmdfZmxpcHMoY3J0Yyk7Ci0KLQlpZiAoaW50ZWxfY3J0Y19oYXNfcGVuZGluZ19mbGlwKGNy dGMpKSB7Ci0JCURSTV9FUlJPUigicGlwZSBpcyBzdGlsbCBidXN5IHdpdGggYW4gb2xkIHBhZ2Vm bGlwXG4iKTsKLQkJcmV0dXJuIC1FQlVTWTsKLQl9Ci0KIAlpZiAoZmIgIT0gb2xkX2ZiICYmIGZi KSB7CiAJCXJldCA9IGludGVsX3ByZXBhcmVfcGxhbmVfZmIocGxhbmUsIGZiKTsKIAkJaWYgKHJl dCkKIAkJCXJldHVybiByZXQ7CiAJfQogCi0JaW50ZWxfY29tbWl0X3ByaW1hcnlfcGxhbmUocGxh bmUsICZzdGF0ZSk7CisJaW50ZWxfcGxhbmUtPmNvbW1pdF9wbGFuZShwbGFuZSwgJnN0YXRlKTsK IAogCWlmIChmYiAhPSBvbGRfZmIgJiYgb2xkX2ZiKSB7CiAJCWlmIChpbnRlbF9jcnRjLT5hY3Rp dmUpCkBAIC0xMTg4Nyw2ICsxMTg5Miw4IEBAIGludGVsX3ByaW1hcnlfcGxhbmVfc2V0cGxhbmUo c3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJaW50ZWxf Y2xlYW51cF9wbGFuZV9mYihwbGFuZSwgb2xkX2ZiKTsKIAl9CiAKKwlwbGFuZS0+ZmIgPSBmYjsK KwogCXJldHVybiAwOwogfQogCkBAIC0xMTg5OSw3ICsxMTkwNiw3IEBAIHN0YXRpYyB2b2lkIGlu dGVsX3BsYW5lX2Rlc3Ryb3koc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCiB9CiAKIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIGludGVsX3ByaW1hcnlfcGxhbmVfZnVuY3MgPSB7 Ci0JLnVwZGF0ZV9wbGFuZSA9IGludGVsX3ByaW1hcnlfcGxhbmVfc2V0cGxhbmUsCisJLnVwZGF0 ZV9wbGFuZSA9IGludGVsX3VwZGF0ZV9wbGFuZSwKIAkuZGlzYWJsZV9wbGFuZSA9IGludGVsX3By aW1hcnlfcGxhbmVfZGlzYWJsZSwKIAkuZGVzdHJveSA9IGludGVsX3BsYW5lX2Rlc3Ryb3ksCiAJ LnNldF9wcm9wZXJ0eSA9IGludGVsX3BsYW5lX3NldF9wcm9wZXJ0eQpAQCAtMTE5MjEsNiArMTE5 MjgsOCBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqaW50ZWxfcHJpbWFyeV9wbGFuZV9jcmVh dGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlwcmltYXJ5LT5waXBlID0gcGlwZTsKIAlwcmlt YXJ5LT5wbGFuZSA9IHBpcGU7CiAJcHJpbWFyeS0+cm90YXRpb24gPSBCSVQoRFJNX1JPVEFURV8w KTsKKwlwcmltYXJ5LT5jaGVja19wbGFuZSA9IGludGVsX2NoZWNrX3ByaW1hcnlfcGxhbmU7CisJ cHJpbWFyeS0+Y29tbWl0X3BsYW5lID0gaW50ZWxfY29tbWl0X3ByaW1hcnlfcGxhbmU7CiAJaWYg KEhBU19GQkMoZGV2KSAmJiBJTlRFTF9JTkZPKGRldiktPmdlbiA8IDQpCiAJCXByaW1hcnktPnBs YW5lID0gIXBpcGU7CiAKQEAgLTEyMDg2LDY2ICsxMjA5NSw4IEBAIHVwZGF0ZToKIAl9CiB9CiAK LXN0YXRpYyBpbnQKLWludGVsX2N1cnNvcl9wbGFuZV91cGRhdGUoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKLQkJCSAgc3RydWN0IGRybV9mcmFtZWJ1ZmZl ciAqZmIsIGludCBjcnRjX3gsIGludCBjcnRjX3ksCi0JCQkgIHVuc2lnbmVkIGludCBjcnRjX3cs IHVuc2lnbmVkIGludCBjcnRjX2gsCi0JCQkgIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNf eSwKLQkJCSAgdWludDMyX3Qgc3JjX3csIHVpbnQzMl90IHNyY19oKQotewotCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBwbGFuZS0+ZGV2OwotCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9sZF9m YiA9IHBsYW5lLT5mYjsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Yyk7Ci0Jc3RydWN0IGludGVsX3BsYW5lX3N0YXRlIHN0YXRlOwotCWludCByZXQ7 Ci0KLQlzdGF0ZS5iYXNlLmNydGMgPSBjcnRjOwotCXN0YXRlLmJhc2UuZmIgPSBmYjsKLQotCS8q IHNhbXBsZSBjb29yZGluYXRlcyBpbiAxNi4xNiBmaXhlZCBwb2ludCAqLwotCXN0YXRlLnNyYy54 MSA9IHNyY194OwotCXN0YXRlLnNyYy54MiA9IHNyY194ICsgc3JjX3c7Ci0Jc3RhdGUuc3JjLnkx ID0gc3JjX3k7Ci0Jc3RhdGUuc3JjLnkyID0gc3JjX3kgKyBzcmNfaDsKLQotCS8qIGludGVnZXIg cGl4ZWxzICovCi0Jc3RhdGUuZHN0LngxID0gY3J0Y194OwotCXN0YXRlLmRzdC54MiA9IGNydGNf eCArIGNydGNfdzsKLQlzdGF0ZS5kc3QueTEgPSBjcnRjX3k7Ci0Jc3RhdGUuZHN0LnkyID0gY3J0 Y195ICsgY3J0Y19oOwotCi0Jc3RhdGUuY2xpcC54MSA9IDA7Ci0Jc3RhdGUuY2xpcC55MSA9IDA7 Ci0Jc3RhdGUuY2xpcC54MiA9IGludGVsX2NydGMtPmFjdGl2ZSA/IGludGVsX2NydGMtPmNvbmZp Zy5waXBlX3NyY193IDogMDsKLQlzdGF0ZS5jbGlwLnkyID0gaW50ZWxfY3J0Yy0+YWN0aXZlID8g aW50ZWxfY3J0Yy0+Y29uZmlnLnBpcGVfc3JjX2ggOiAwOwotCi0Jc3RhdGUub3JpZ19zcmMgPSBz dGF0ZS5zcmM7Ci0Jc3RhdGUub3JpZ19kc3QgPSBzdGF0ZS5kc3Q7Ci0KLQlyZXQgPSBpbnRlbF9j aGVja19jdXJzb3JfcGxhbmUocGxhbmUsICZzdGF0ZSk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJl dDsKLQotCWlmIChmYiAhPSBvbGRfZmIgJiYgZmIpIHsKLQkJcmV0ID0gaW50ZWxfcHJlcGFyZV9w bGFuZV9mYihwbGFuZSwgZmIpOwotCQlpZiAocmV0KQotCQkJcmV0dXJuIHJldDsKLQl9Ci0KLQlp bnRlbF9jb21taXRfY3Vyc29yX3BsYW5lKHBsYW5lLCAmc3RhdGUpOwotCi0JaWYgKGZiICE9IG9s ZF9mYikgewotCQlpZiAoaW50ZWxfY3J0Yy0+YWN0aXZlKQotCQkJaW50ZWxfd2FpdF9mb3JfdmJs YW5rKGRldiwgaW50ZWxfY3J0Yy0+cGlwZSk7Ci0JCWlmIChvbGRfZmIpCi0JCQlpbnRlbF9jbGVh bnVwX3BsYW5lX2ZiKHBsYW5lLCBvbGRfZmIpOwotCX0KLQotCXJldHVybiAwOwotfQotCiBzdGF0 aWMgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9mdW5jcyBpbnRlbF9jdXJzb3JfcGxhbmVfZnVuY3Mg PSB7Ci0JLnVwZGF0ZV9wbGFuZSA9IGludGVsX2N1cnNvcl9wbGFuZV91cGRhdGUsCisJLnVwZGF0 ZV9wbGFuZSA9IGludGVsX3VwZGF0ZV9wbGFuZSwKIAkuZGlzYWJsZV9wbGFuZSA9IGludGVsX2N1 cnNvcl9wbGFuZV9kaXNhYmxlLAogCS5kZXN0cm95ID0gaW50ZWxfcGxhbmVfZGVzdHJveSwKIAku c2V0X3Byb3BlcnR5ID0gaW50ZWxfcGxhbmVfc2V0X3Byb3BlcnR5LApAQCAtMTIxNjUsNiArMTIx MTYsOCBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqaW50ZWxfY3Vyc29yX3BsYW5lX2NyZWF0 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWN1cnNvci0+cGlwZSA9IHBpcGU7CiAJY3Vyc29y LT5wbGFuZSA9IHBpcGU7CiAJY3Vyc29yLT5yb3RhdGlvbiA9IEJJVChEUk1fUk9UQVRFXzApOwor CWN1cnNvci0+Y2hlY2tfcGxhbmUgPSBpbnRlbF9jaGVja19jdXJzb3JfcGxhbmU7CisJY3Vyc29y LT5jb21taXRfcGxhbmUgPSBpbnRlbF9jb21taXRfY3Vyc29yX3BsYW5lOwogCiAJZHJtX3VuaXZl cnNhbF9wbGFuZV9pbml0KGRldiwgJmN1cnNvci0+YmFzZSwgMCwKIAkJCQkgJmludGVsX2N1cnNv cl9wbGFuZV9mdW5jcywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMzhjYjU1My4uZjdi NjYxOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTUwOCw2ICs1MDgsMTAgQEAgc3Ry dWN0IGludGVsX3BsYW5lIHsKIAkJCSAgICAgdWludDMyX3Qgc3JjX3csIHVpbnQzMl90IHNyY19o KTsKIAl2b2lkICgqZGlzYWJsZV9wbGFuZSkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkg ICAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOworCWludCAoKmNoZWNrX3BsYW5lKShzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKKwkJCSAgIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUp OworCXZvaWQgKCpjb21taXRfcGxhbmUpKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAorCQkJICAg ICBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlKTsKIAlpbnQgKCp1cGRhdGVfY29sb3Jr ZXkpKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJICAgICAgIHN0cnVjdCBkcm1faW50ZWxf c3ByaXRlX2NvbG9ya2V5ICprZXkpOwogCXZvaWQgKCpnZXRfY29sb3JrZXkpKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLApAQCAtMTAxMSw2ICsxMDE1LDExIEBAIHZvaWQgaW50ZWxfZHBfaG90X3Bs dWcoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpOwogdm9pZCB2bHZfcG93ZXJf c2VxdWVuY2VyX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB1aW50 MzJfdCBpbnRlbF9kcF9wYWNrX2F1eChjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfYnl0ZXMp Owogdm9pZCBpbnRlbF9kcF91bnBhY2tfYXV4KHVpbnQzMl90IHNyYywgdWludDhfdCAqZHN0LCBp bnQgZHN0X2J5dGVzKTsKK2ludCBpbnRlbF91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKKwkJICAgICAgIHN0cnVjdCBkcm1fZnJhbWVi dWZmZXIgKmZiLCBpbnQgY3J0Y194LCBpbnQgY3J0Y195LAorCQkgICAgICAgdW5zaWduZWQgaW50 IGNydGNfdywgdW5zaWduZWQgaW50IGNydGNfaCwKKwkJICAgICAgIHVpbnQzMl90IHNyY194LCB1 aW50MzJfdCBzcmNfeSwKKwkJICAgICAgIHVpbnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNfaCk7 CiAKIC8qIGludGVsX2RwX21zdC5jICovCiBpbnQgaW50ZWxfZHBfbXN0X2VuY29kZXJfaW5pdChz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwgaW50IGNvbm5faWQpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwppbmRleCAxNTJhMzJkLi5iZmQ1MjcwIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwpAQCAtMTMyOCw2MyArMTMyOCw2IEBAIGludGVs X2NvbW1pdF9zcHJpdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiB9CiAKIHN0YXRp YyBpbnQKLWludGVsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0 IGRybV9jcnRjICpjcnRjLAotCQkgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwgaW50IGNy dGNfeCwgaW50IGNydGNfeSwKLQkJICAgdW5zaWduZWQgaW50IGNydGNfdywgdW5zaWduZWQgaW50 IGNydGNfaCwKLQkJICAgdWludDMyX3Qgc3JjX3gsIHVpbnQzMl90IHNyY195LAotCQkgICB1aW50 MzJfdCBzcmNfdywgdWludDMyX3Qgc3JjX2gpCi17Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IHBsYW5lLT5kZXY7Ci0Jc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqb2xkX2ZiID0gcGxhbmUtPmZi OwotCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSBzdGF0ZTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAq aW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Ci0JaW50IHJldDsKLQotCXN0YXRlLmJh c2UuY3J0YyA9IGNydGM7Ci0Jc3RhdGUuYmFzZS5mYiA9IGZiOwotCi0JLyogc2FtcGxlIGNvb3Jk aW5hdGVzIGluIDE2LjE2IGZpeGVkIHBvaW50ICovCi0Jc3RhdGUuc3JjLngxID0gc3JjX3g7Ci0J c3RhdGUuc3JjLngyID0gc3JjX3ggKyBzcmNfdzsKLQlzdGF0ZS5zcmMueTEgPSBzcmNfeTsKLQlz dGF0ZS5zcmMueTIgPSBzcmNfeSArIHNyY19oOwotCi0JLyogaW50ZWdlciBwaXhlbHMgKi8KLQlz dGF0ZS5kc3QueDEgPSBjcnRjX3g7Ci0Jc3RhdGUuZHN0LngyID0gY3J0Y194ICsgY3J0Y193Owot CXN0YXRlLmRzdC55MSA9IGNydGNfeTsKLQlzdGF0ZS5kc3QueTIgPSBjcnRjX3kgKyBjcnRjX2g7 Ci0KLQlzdGF0ZS5jbGlwLngxID0gMDsKLQlzdGF0ZS5jbGlwLnkxID0gMDsKLQlzdGF0ZS5jbGlw LngyID0gaW50ZWxfY3J0Yy0+YWN0aXZlID8gaW50ZWxfY3J0Yy0+Y29uZmlnLnBpcGVfc3JjX3cg OiAwOwotCXN0YXRlLmNsaXAueTIgPSBpbnRlbF9jcnRjLT5hY3RpdmUgPyBpbnRlbF9jcnRjLT5j b25maWcucGlwZV9zcmNfaCA6IDA7Ci0Jc3RhdGUub3JpZ19zcmMgPSBzdGF0ZS5zcmM7Ci0Jc3Rh dGUub3JpZ19kc3QgPSBzdGF0ZS5kc3Q7Ci0KLQlyZXQgPSBpbnRlbF9jaGVja19zcHJpdGVfcGxh bmUocGxhbmUsICZzdGF0ZSk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKLQotCWlmIChmYiAh PSBvbGRfZmIgJiYgZmIpIHsKLQkJcmV0ID0gaW50ZWxfcHJlcGFyZV9wbGFuZV9mYihwbGFuZSwg ZmIpOwotCQlpZiAocmV0KQotCQkJcmV0dXJuIHJldDsKLQl9Ci0KLQlpbnRlbF9jb21taXRfc3By aXRlX3BsYW5lKHBsYW5lLCAmc3RhdGUpOwotCi0JaWYgKGZiICE9IG9sZF9mYikgewotCQlpZiAo aW50ZWxfY3J0Yy0+YWN0aXZlKQotCQkJaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRldiwgaW50ZWxf Y3J0Yy0+cGlwZSk7Ci0JCWlmIChvbGRfZmIpCi0JCQlpbnRlbF9jbGVhbnVwX3BsYW5lX2ZiKHBs YW5lLCBvbGRfZmIpOwotCX0KLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50CiBpbnRlbF9k aXNhYmxlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQogewogCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBwbGFuZS0+ZGV2OwpAQCAtMTY3OSw2ICsxNjIyLDggQEAgaW50ZWxfcGxhbmVf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBpcGUgcGlwZSwgaW50IHBsYW5lKQog CWludGVsX3BsYW5lLT5waXBlID0gcGlwZTsKIAlpbnRlbF9wbGFuZS0+cGxhbmUgPSBwbGFuZTsK IAlpbnRlbF9wbGFuZS0+cm90YXRpb24gPSBCSVQoRFJNX1JPVEFURV8wKTsKKwlpbnRlbF9wbGFu ZS0+Y2hlY2tfcGxhbmUgPSBpbnRlbF9jaGVja19zcHJpdGVfcGxhbmU7CisJaW50ZWxfcGxhbmUt PmNvbW1pdF9wbGFuZSA9IGludGVsX2NvbW1pdF9zcHJpdGVfcGxhbmU7CiAJcG9zc2libGVfY3J0 Y3MgPSAoMSA8PCBwaXBlKTsKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCAm aW50ZWxfcGxhbmUtPmJhc2UsIHBvc3NpYmxlX2NydGNzLAogCQkJCSAgICAgICAmaW50ZWxfcGxh bmVfZnVuY3MsCi0tIAoxLjguNS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=