From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2.1 1/7] drm/atomic: Add new iterators over all state, v3. Date: Tue, 10 Jan 2017 14:46:58 +0100 Message-ID: References: <1484043698-6703-1-git-send-email-maarten.lankhorst@linux.intel.com> <1484043698-6703-2-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: In-Reply-To: <1484043698-6703-2-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: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org QWRkIGZvcl9lYWNoXyhvbGQpKG5ldylfKHBsYW5lLGNvbm5lY3RvcixjcnRjKV9pbl9zdGF0ZSBp dGVyYXRvcnMgdG8KcmVwbGFjZSB0aGUgb2xkIGZvcl9lYWNoX3h4eF9pbl9zdGF0ZSBvbmVzLiBU aGlzIGlzIHVzZWZ1bCBmb3IgPjEgZmxpcApkZXB0aCBhbmQgZ2V0dGluZyByaWQgb2YgYWxsIHh4 eC0+c3RhdGUgZGVyZWZlcmVuY2VzLgoKVGhpcyByZXF1aXJlcyBleHRyYSBmaXh1cHMgZG9uZSB3 aGVuIGNvbW1pdHRpbmcgYSBzdGF0ZSBhZnRlcgpkdXBsaWNhdGluZywgd2hpY2ggaW4gZ2VuZXJh bCBpc24ndCB2YWxpZCBidXQgaXMgdXNlZCBieSBzdXNwZW5kL3Jlc3VtZS4KVG8gaGFuZGxlIHRo ZXNlLCBpbnRyb2R1Y2UgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2R1cGxpY2F0ZWRfc3RhdGUK d2hpY2ggcGVyZm9ybXMgdGhvc2UgZml4dXBzIGJlZm9yZSBjaGVja2luZyAmIGNvbW1pdHRpbmcg dGhlIHN0YXRlLgoKQ2hhbmdlcyBzaW5jZSB2MToKLSBSZW1vdmUgbm9uYmxvY2sgcGFyYW1ldGVy IGZvciBjb21taXRfZHVwbGljYXRlZF9zdGF0ZS4KQ2hhbmdlcyBzaW5jZSB2MjoKLSBVc2UgY29t bWl0X2R1cGxpY2F0ZWRfc3RhdGUgZm9yIGk5MTUgbG9hZCBkZXRlY3Rpb24uCi0gQWRkIFdBUk5f T04ob2xkX3N0YXRlICE9IG9iai0+c3RhdGUpIGJlZm9yZSBzd2FwcGluZy4KClNpZ25lZC1vZmYt Ynk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ Ci0tLQpGb3Jnb3QgdGhhdCB0aGVyZSB3YXMgYSB2Mi4gSXQgc3RpbGwgYnJva2Ugb24gaWd0IGxv YWQgZGV0ZWN0IHRlc3RzLCB0aGlzIHNob3VsZCBiZSB0aGUgZml4LgoKSSBhbHNvIGFkZGVkIGEg YmlnIFdBUk5fT04gYmVmb3JlIHN3YXBwaW5nIHRvIGVuc3VyZSBvbGQgc3RhdGUgaXMgY29ycmVj dC4gQXQgdGhpcyBwb2ludCB3ZQpjYW4gbm8gbG9uZ2VyIGZpeCBpdCBiZWNhdXNlIGF0b21pY19j aGVjayBpcyBjYWxsZWQgd2l0aCB0aGUgd3JvbmcgaXRlbXMsIGJ1dCBpdCB3aWxsIGhlbHAKbGlt aXQgdGhlIGRhbWFnZS4KCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAgICAgfCAg NiArKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jICB8IDY1ICsrKysrKysr KysrKysrKysrKysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgfCAxMyArKystLS0KIGluY2x1ZGUvZHJtL2RybV9hdG9taWMuaCAgICAgICAgICAgICB8IDgx ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogaW5jbHVkZS9kcm0vZHJtX2F0 b21pY19oZWxwZXIuaCAgICAgIHwgIDIgKwogNSBmaWxlcyBjaGFuZ2VkLCAxNDkgaW5zZXJ0aW9u cygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKaW5kZXggNjQxNGJjZjdmNDFi Li4xYzFjYmY0MzY3MTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwpAQCAtMjc1LDYgKzI3NSw4IEBAIGRy bV9hdG9taWNfZ2V0X2NydGNfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAog CQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIAogCXN0YXRlLT5jcnRjc1tpbmRleF0uc3RhdGUg PSBjcnRjX3N0YXRlOworCXN0YXRlLT5jcnRjc1tpbmRleF0ub2xkX3N0YXRlID0gY3J0Yy0+c3Rh dGU7CisJc3RhdGUtPmNydGNzW2luZGV4XS5uZXdfc3RhdGUgPSBjcnRjX3N0YXRlOwogCXN0YXRl LT5jcnRjc1tpbmRleF0ucHRyID0gY3J0YzsKIAljcnRjX3N0YXRlLT5zdGF0ZSA9IHN0YXRlOwog CkBAIC02OTEsNiArNjkzLDggQEAgZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCiAJc3RhdGUtPnBsYW5lc1tpbmRleF0uc3RhdGUgPSBw bGFuZV9zdGF0ZTsKIAlzdGF0ZS0+cGxhbmVzW2luZGV4XS5wdHIgPSBwbGFuZTsKKwlzdGF0ZS0+ cGxhbmVzW2luZGV4XS5vbGRfc3RhdGUgPSBwbGFuZS0+c3RhdGU7CisJc3RhdGUtPnBsYW5lc1tp bmRleF0ubmV3X3N0YXRlID0gcGxhbmVfc3RhdGU7CiAJcGxhbmVfc3RhdGUtPnN0YXRlID0gc3Rh dGU7CiAKIAlEUk1fREVCVUdfQVRPTUlDKCJBZGRlZCBbUExBTkU6JWQ6JXNdICVwIHN0YXRlIHRv ICVwXG4iLApAQCAtMTAzMSw2ICsxMDM1LDggQEAgZHJtX2F0b21pY19nZXRfY29ubmVjdG9yX3N0 YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAogCWRybV9jb25uZWN0b3JfcmVm ZXJlbmNlKGNvbm5lY3Rvcik7CiAJc3RhdGUtPmNvbm5lY3RvcnNbaW5kZXhdLnN0YXRlID0gY29u bmVjdG9yX3N0YXRlOworCXN0YXRlLT5jb25uZWN0b3JzW2luZGV4XS5vbGRfc3RhdGUgPSBjb25u ZWN0b3ItPnN0YXRlOworCXN0YXRlLT5jb25uZWN0b3JzW2luZGV4XS5uZXdfc3RhdGUgPSBjb25u ZWN0b3Jfc3RhdGU7CiAJc3RhdGUtPmNvbm5lY3RvcnNbaW5kZXhdLnB0ciA9IGNvbm5lY3RvcjsK IAljb25uZWN0b3Jfc3RhdGUtPnN0YXRlID0gc3RhdGU7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf aGVscGVyLmMKaW5kZXggN2I3MWFjNDhiOGE0Li5iNjUyZWYxYTI1YjEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jCkBAIC0xOTcxLDExICsxOTcxLDExIEBAIHZvaWQgZHJtX2F0b21p Y19oZWxwZXJfc3dhcF9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJaW50 IGk7CiAJbG9uZyByZXQ7CiAJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKLQlzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZTsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rv cl9zdGF0ZSAqY29ubl9zdGF0ZSwgKm9sZF9jb25uX3N0YXRlOwogCXN0cnVjdCBkcm1fY3J0YyAq Y3J0YzsKLQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7CisJc3RydWN0IGRybV9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLCAqb2xkX2NydGNfc3RhdGU7CiAJc3RydWN0IGRybV9wbGFu ZSAqcGxhbmU7Ci0Jc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7CisJc3RydWN0 IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUsICpvbGRfcGxhbmVfc3RhdGU7CiAJc3RydWN0 IGRybV9jcnRjX2NvbW1pdCAqY29tbWl0OwogCiAJaWYgKHN0YWxsKSB7CkBAIC0xOTk5LDEzICsx OTk5LDE3IEBAIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfc3dhcF9zdGF0ZShzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUsCiAJCX0KIAl9CiAKLQlmb3JfZWFjaF9jb25uZWN0b3JfaW5fc3Rh dGUoc3RhdGUsIGNvbm5lY3RvciwgY29ubl9zdGF0ZSwgaSkgeworCWZvcl9lYWNoX29sZG5ld19j b25uZWN0b3JfaW5fc3RhdGUoc3RhdGUsIGNvbm5lY3Rvciwgb2xkX2Nvbm5fc3RhdGUsIGNvbm5f c3RhdGUsIGkpIHsKKwkJV0FSTl9PTihjb25uZWN0b3ItPnN0YXRlICE9IG9sZF9jb25uX3N0YXRl KTsKKwogCQljb25uZWN0b3ItPnN0YXRlLT5zdGF0ZSA9IHN0YXRlOwogCQlzd2FwKHN0YXRlLT5j b25uZWN0b3JzW2ldLnN0YXRlLCBjb25uZWN0b3ItPnN0YXRlKTsKIAkJY29ubmVjdG9yLT5zdGF0 ZS0+c3RhdGUgPSBOVUxMOwogCX0KIAotCWZvcl9lYWNoX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNy dGMsIGNydGNfc3RhdGUsIGkpIHsKKwlmb3JfZWFjaF9vbGRuZXdfY3J0Y19pbl9zdGF0ZShzdGF0 ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsIGNydGNfc3RhdGUsIGkpIHsKKwkJV0FSTl9PTihjcnRj LT5zdGF0ZSAhPSBvbGRfY3J0Y19zdGF0ZSk7CisKIAkJY3J0Yy0+c3RhdGUtPnN0YXRlID0gc3Rh dGU7CiAJCXN3YXAoc3RhdGUtPmNydGNzW2ldLnN0YXRlLCBjcnRjLT5zdGF0ZSk7CiAJCWNydGMt PnN0YXRlLT5zdGF0ZSA9IE5VTEw7CkBAIC0yMDIwLDcgKzIwMjQsOSBAQCB2b2lkIGRybV9hdG9t aWNfaGVscGVyX3N3YXBfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQl9 CiAJfQogCi0JZm9yX2VhY2hfcGxhbmVfaW5fc3RhdGUoc3RhdGUsIHBsYW5lLCBwbGFuZV9zdGF0 ZSwgaSkgeworCWZvcl9lYWNoX29sZG5ld19wbGFuZV9pbl9zdGF0ZShzdGF0ZSwgcGxhbmUsIG9s ZF9wbGFuZV9zdGF0ZSwgcGxhbmVfc3RhdGUsIGkpIHsKKwkJV0FSTl9PTihwbGFuZS0+c3RhdGUg IT0gb2xkX3BsYW5lX3N0YXRlKTsKKwogCQlwbGFuZS0+c3RhdGUtPnN0YXRlID0gc3RhdGU7CiAJ CXN3YXAoc3RhdGUtPnBsYW5lc1tpXS5zdGF0ZSwgcGxhbmUtPnN0YXRlKTsKIAkJcGxhbmUtPnN0 YXRlLT5zdGF0ZSA9IE5VTEw7CkBAIC0yNDcxLDcgKzI0NzcsNyBAQCBFWFBPUlRfU1lNQk9MKGRy bV9hdG9taWNfaGVscGVyX2Rpc2FibGVfYWxsKTsKICAqCiAgKiBTZWUgYWxzbzoKICAqIGRybV9h dG9taWNfaGVscGVyX2R1cGxpY2F0ZV9zdGF0ZSgpLCBkcm1fYXRvbWljX2hlbHBlcl9kaXNhYmxl X2FsbCgpLAotICogZHJtX2F0b21pY19oZWxwZXJfcmVzdW1lKCkKKyAqIGRybV9hdG9taWNfaGVs cGVyX3Jlc3VtZSgpLCBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfZHVwbGljYXRlZF9zdGF0ZSgp CiAgKi8KIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpkcm1fYXRvbWljX2hlbHBlcl9zdXNwZW5k KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CkBAIC0yNTEyLDYgKzI1MTgsNDcgQEAgc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKmRybV9hdG9taWNfaGVscGVyX3N1c3BlbmQoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfc3VzcGVuZCk7CiAK IC8qKgorICogZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2R1cGxpY2F0ZWRfc3RhdGUgLSBjb21t aXQgZHVwbGljYXRlZCBzdGF0ZQorICogQHN0YXRlOiBkdXBsaWNhdGVkIGF0b21pYyBzdGF0ZSB0 byBjb21taXQKKyAqIEBjdHg6IHBvaW50ZXIgdG8gYWNxdWlyZV9jdHggdG8gdXNlIGZvciBjb21t aXQuCisgKgorICogVGhlIHN0YXRlIHJldHVybmVkIGJ5IGRybV9hdG9taWNfaGVscGVyX2R1cGxp Y2F0ZV9zdGF0ZSgpIGFuZAorICogZHJtX2F0b21pY19oZWxwZXJfc3VzcGVuZCgpIGlzIHBhcnRp YWxseSBpbnZhbGlkLCBhbmQgbmVlZHMgdG8KKyAqIGJlIGZpeGVkIHVwIGJlZm9yZSBjb21taXQu CisgKgorICogUmV0dXJuczoKKyAqIDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIGVycm9yIGNv ZGUgb24gZmFpbHVyZS4KKyAqCisgKiBTZWUgYWxzbzoKKyAqIGRybV9hdG9taWNfaGVscGVyX3N1 c3BlbmQoKQorICovCitpbnQgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2R1cGxpY2F0ZWRfc3Rh dGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAorCQkJCQkgICAgICBzdHJ1Y3QgZHJt X21vZGVzZXRfYWNxdWlyZV9jdHggKmN0eCkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZTsKKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKKwlzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOworCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpj b25uX3N0YXRlOworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKKwlzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgKmNydGNfc3RhdGU7CisKKwlzdGF0ZS0+YWNxdWlyZV9jdHggPSBjdHg7CisKKwlmb3JfZWFj aF9uZXdfcGxhbmVfaW5fc3RhdGUoc3RhdGUsIHBsYW5lLCBwbGFuZV9zdGF0ZSwgaSkKKwkJc3Rh dGUtPnBsYW5lc1tpXS5vbGRfc3RhdGUgPSBwbGFuZS0+c3RhdGU7CisKKwlmb3JfZWFjaF9uZXdf Y3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkKKwkJc3RhdGUtPmNydGNz W2ldLm9sZF9zdGF0ZSA9IGNydGMtPnN0YXRlOworCisJZm9yX2VhY2hfbmV3X2Nvbm5lY3Rvcl9p bl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBjb25uX3N0YXRlLCBpKQorCQlzdGF0ZS0+Y29ubmVj dG9yc1tpXS5vbGRfc3RhdGUgPSBjb25uZWN0b3ItPnN0YXRlOworCisJcmV0dXJuIGRybV9hdG9t aWNfY29tbWl0KHN0YXRlKTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfY29t bWl0X2R1cGxpY2F0ZWRfc3RhdGUpOworCisvKioKICAqIGRybV9hdG9taWNfaGVscGVyX3Jlc3Vt ZSAtIHN1YnN5c3RlbS1sZXZlbCByZXN1bWUgaGVscGVyCiAgKiBAZGV2OiBEUk0gZGV2aWNlCiAg KiBAc3RhdGU6IGF0b21pYyBzdGF0ZSB0byByZXN1bWUgdG8KQEAgLTI1MzQsOSArMjU4MSw5IEBA IGludCBkcm1fYXRvbWljX2hlbHBlcl9yZXN1bWUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlp bnQgZXJyOwogCiAJZHJtX21vZGVfY29uZmlnX3Jlc2V0KGRldik7CisKIAlkcm1fbW9kZXNldF9s b2NrX2FsbChkZXYpOwotCXN0YXRlLT5hY3F1aXJlX2N0eCA9IGNvbmZpZy0+YWNxdWlyZV9jdHg7 Ci0JZXJyID0gZHJtX2F0b21pY19jb21taXQoc3RhdGUpOworCWVyciA9IGRybV9hdG9taWNfaGVs cGVyX2NvbW1pdF9kdXBsaWNhdGVkX3N0YXRlKHN0YXRlLCBjb25maWctPmFjcXVpcmVfY3R4KTsK IAlkcm1fbW9kZXNldF91bmxvY2tfYWxsKGRldik7CiAKIAlyZXR1cm4gZXJyOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IGUyMTUwYTY0ODYwYy4uNTM2NDcyNGRmNTdmIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0zNDg5LDcgKzM0ODksOCBAQCBz dGF0aWMgdm9pZCBpbnRlbF91cGRhdGVfcHJpbWFyeV9wbGFuZXMoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKIAogc3RhdGljIGludAogX19pbnRlbF9kaXNwbGF5X3Jlc3VtZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAotCQkgICAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQorCQkg ICAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAorCQkgICAgICAgc3RydWN0IGRy bV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpCiB7CiAJc3RydWN0IGRybV9jcnRjX3N0YXRlICpj cnRjX3N0YXRlOwogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKQEAgLTM1MTMsNyArMzUxNCw3IEBA IF9faW50ZWxfZGlzcGxheV9yZXN1bWUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkvKiBpZ25v cmUgYW55IHJlc2V0IHZhbHVlcy9CSU9TIGxlZnRvdmVycyBpbiB0aGUgV00gcmVnaXN0ZXJzICov CiAJdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKS0+c2tpcF9pbnRlcm1lZGlhdGVfd20gPSB0 cnVlOwogCi0JcmV0ID0gZHJtX2F0b21pY19jb21taXQoc3RhdGUpOworCXJldCA9IGRybV9hdG9t aWNfaGVscGVyX2NvbW1pdF9kdXBsaWNhdGVkX3N0YXRlKHN0YXRlLCBjdHgpOwogCiAJV0FSTl9P TihyZXQgPT0gLUVERUFETEspOwogCXJldHVybiByZXQ7CkBAIC0zNjA3LDcgKzM2MDgsNyBAQCB2 b2lkIGludGVsX2ZpbmlzaF9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiAJCQkgKi8KIAkJCWludGVsX3VwZGF0ZV9wcmltYXJ5X3BsYW5lcyhkZXYpOwogCQl9IGVsc2Ug ewotCQkJcmV0ID0gX19pbnRlbF9kaXNwbGF5X3Jlc3VtZShkZXYsIHN0YXRlKTsKKwkJCXJldCA9 IF9faW50ZWxfZGlzcGxheV9yZXN1bWUoZGV2LCBzdGF0ZSwgY3R4KTsKIAkJCWlmIChyZXQpCiAJ CQkJRFJNX0VSUk9SKCJSZXN0b3Jpbmcgb2xkIHN0YXRlIGZhaWxlZCB3aXRoICVpXG4iLCByZXQp OwogCQl9CkBAIC0zNjI3LDcgKzM2MjgsNyBAQCB2b2lkIGludGVsX2ZpbmlzaF9yZXNldChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCQlkZXZfcHJpdi0+ZGlzcGxheS5ocGRf aXJxX3NldHVwKGRldl9wcml2KTsKIAkJc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xv Y2spOwogCi0JCXJldCA9IF9faW50ZWxfZGlzcGxheV9yZXN1bWUoZGV2LCBzdGF0ZSk7CisJCXJl dCA9IF9faW50ZWxfZGlzcGxheV9yZXN1bWUoZGV2LCBzdGF0ZSwgY3R4KTsKIAkJaWYgKHJldCkK IAkJCURSTV9FUlJPUigiUmVzdG9yaW5nIG9sZCBzdGF0ZSBmYWlsZWQgd2l0aCAlaVxuIiwgcmV0 KTsKIApAQCAtMTEzMjgsNyArMTEzMjksNyBAQCB2b2lkIGludGVsX3JlbGVhc2VfbG9hZF9kZXRl Y3RfcGlwZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCWlmICghc3RhdGUpCiAJ CXJldHVybjsKIAotCXJldCA9IGRybV9hdG9taWNfY29tbWl0KHN0YXRlKTsKKwlyZXQgPSBkcm1f YXRvbWljX2hlbHBlcl9jb21taXRfZHVwbGljYXRlZF9zdGF0ZShzdGF0ZSwgY3R4KTsKIAlpZiAo cmV0KQogCQlEUk1fREVCVUdfS01TKCJDb3VsZG4ndCByZWxlYXNlIGxvYWQgZGV0ZWN0IHBpcGU6 ICVpXG4iLCByZXQpOwogCWRybV9hdG9taWNfc3RhdGVfcHV0KHN0YXRlKTsKQEAgLTE3MjEwLDcg KzE3MjExLDcgQEAgdm9pZCBpbnRlbF9kaXNwbGF5X3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQogCX0KIAogCWlmICghcmV0KQotCQlyZXQgPSBfX2ludGVsX2Rpc3BsYXlfcmVzdW1lKGRl diwgc3RhdGUpOworCQlyZXQgPSBfX2ludGVsX2Rpc3BsYXlfcmVzdW1lKGRldiwgc3RhdGUsICZj dHgpOwogCiAJZHJtX21vZGVzZXRfZHJvcF9sb2NrcygmY3R4KTsKIAlkcm1fbW9kZXNldF9hY3F1 aXJlX2ZpbmkoJmN0eCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmggYi9p bmNsdWRlL2RybS9kcm1fYXRvbWljLmgKaW5kZXggZjk2MjIwZWQ0MDA0Li42MDYyZTdmMjczMjUg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaAorKysgYi9pbmNsdWRlL2RybS9k cm1fYXRvbWljLmgKQEAgLTEzNywxMiArMTM3LDEyIEBAIHN0cnVjdCBkcm1fY3J0Y19jb21taXQg ewogCiBzdHJ1Y3QgX19kcm1fcGxhbmVzX3N0YXRlIHsKIAlzdHJ1Y3QgZHJtX3BsYW5lICpwdHI7 Ci0Jc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGU7CisJc3RydWN0IGRybV9wbGFuZV9zdGF0 ZSAqc3RhdGUsICpvbGRfc3RhdGUsICpuZXdfc3RhdGU7CiB9OwogCiBzdHJ1Y3QgX19kcm1fY3J0 Y3Nfc3RhdGUgewogCXN0cnVjdCBkcm1fY3J0YyAqcHRyOwotCXN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqc3RhdGU7CisJc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwgKm9sZF9zdGF0ZSwgKm5l d19zdGF0ZTsKIAlzdHJ1Y3QgZHJtX2NydGNfY29tbWl0ICpjb21taXQ7CiAJczY0IF9fdXNlciAq b3V0X2ZlbmNlX3B0cjsKIAl1bnNpZ25lZCBsYXN0X3ZibGFua19jb3VudDsKQEAgLTE1MCw3ICsx NTAsNyBAQCBzdHJ1Y3QgX19kcm1fY3J0Y3Nfc3RhdGUgewogCiBzdHJ1Y3QgX19kcm1fY29ubm5l Y3RvcnNfc3RhdGUgewogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpwdHI7Ci0Jc3RydWN0IGRybV9j b25uZWN0b3Jfc3RhdGUgKnN0YXRlOworCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0 ZSwgKm9sZF9zdGF0ZSwgKm5ld19zdGF0ZTsKIH07CiAKIC8qKgpAQCAtMzk3LDYgKzM5NywzMSBA QCB2b2lkIGRybV9zdGF0ZV9kdW1wKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1f cHJpbnRlciAqcCk7CiAJICAgICAoX19pKSsrKQkJCQkJCQlcCiAJCWZvcl9lYWNoX2lmIChjb25u ZWN0b3IpCiAKKyNkZWZpbmUgZm9yX2VhY2hfb2xkbmV3X2Nvbm5lY3Rvcl9pbl9zdGF0ZShfX3N0 YXRlLCBjb25uZWN0b3IsIG9sZF9jb25uZWN0b3Jfc3RhdGUsIG5ld19jb25uZWN0b3Jfc3RhdGUs IF9faSkgXAorCWZvciAoKF9faSkgPSAwOwkJCQkJCQkJXAorCSAgICAgKF9faSkgPCAoX19zdGF0 ZSktPm51bV9jb25uZWN0b3IgJiYJCQkJXAorCSAgICAgKChjb25uZWN0b3IpID0gKF9fc3RhdGUp LT5jb25uZWN0b3JzW19faV0ucHRyLAkJCVwKKwkgICAgIChvbGRfY29ubmVjdG9yX3N0YXRlKSA9 IChfX3N0YXRlKS0+Y29ubmVjdG9yc1tfX2ldLm9sZF9zdGF0ZSwJXAorCSAgICAgKG5ld19jb25u ZWN0b3Jfc3RhdGUpID0gKF9fc3RhdGUpLT5jb25uZWN0b3JzW19faV0ubmV3X3N0YXRlLCAxKTsg CVwKKwkgICAgIChfX2kpKyspCQkJCQkJCVwKKwkJZm9yX2VhY2hfaWYgKGNvbm5lY3RvcikKKwor I2RlZmluZSBmb3JfZWFjaF9vbGRfY29ubmVjdG9yX2luX3N0YXRlKF9fc3RhdGUsIGNvbm5lY3Rv ciwgb2xkX2Nvbm5lY3Rvcl9zdGF0ZSwgX19pKSBcCisJZm9yICgoX19pKSA9IDA7CQkJCQkJCQlc CisJICAgICAoX19pKSA8IChfX3N0YXRlKS0+bnVtX2Nvbm5lY3RvciAmJgkJCQlcCisJICAgICAo KGNvbm5lY3RvcikgPSAoX19zdGF0ZSktPmNvbm5lY3RvcnNbX19pXS5wdHIsCQkJXAorCSAgICAg KG9sZF9jb25uZWN0b3Jfc3RhdGUpID0gKF9fc3RhdGUpLT5jb25uZWN0b3JzW19faV0ub2xkX3N0 YXRlLCAxKTsgCVwKKwkgICAgIChfX2kpKyspCQkJCQkJCVwKKwkJZm9yX2VhY2hfaWYgKGNvbm5l Y3RvcikKKworI2RlZmluZSBmb3JfZWFjaF9uZXdfY29ubmVjdG9yX2luX3N0YXRlKF9fc3RhdGUs IGNvbm5lY3RvciwgbmV3X2Nvbm5lY3Rvcl9zdGF0ZSwgX19pKSBcCisJZm9yICgoX19pKSA9IDA7 CQkJCQkJCQlcCisJICAgICAoX19pKSA8IChfX3N0YXRlKS0+bnVtX2Nvbm5lY3RvciAmJgkJCQlc CisJICAgICAoKGNvbm5lY3RvcikgPSAoX19zdGF0ZSktPmNvbm5lY3RvcnNbX19pXS5wdHIsCQkJ XAorCSAgICAgKG5ld19jb25uZWN0b3Jfc3RhdGUpID0gKF9fc3RhdGUpLT5jb25uZWN0b3JzW19f aV0ubmV3X3N0YXRlLCAxKTsgCVwKKwkgICAgIChfX2kpKyspCQkJCQkJCVwKKwkJZm9yX2VhY2hf aWYgKGNvbm5lY3RvcikKKwogI2RlZmluZSBmb3JfZWFjaF9jcnRjX2luX3N0YXRlKF9fc3RhdGUs IGNydGMsIGNydGNfc3RhdGUsIF9faSkJXAogCWZvciAoKF9faSkgPSAwOwkJCQkJCVwKIAkgICAg IChfX2kpIDwgKF9fc3RhdGUpLT5kZXYtPm1vZGVfY29uZmlnLm51bV9jcnRjICYmCVwKQEAgLTQw NSw2ICs0MzAsMzEgQEAgdm9pZCBkcm1fc3RhdGVfZHVtcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCBzdHJ1Y3QgZHJtX3ByaW50ZXIgKnApOwogCSAgICAgKF9faSkrKykJCQkJCQlcCiAJCWZvcl9l YWNoX2lmIChjcnRjX3N0YXRlKQogCisjZGVmaW5lIGZvcl9lYWNoX29sZG5ld19jcnRjX2luX3N0 YXRlKF9fc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLCBuZXdfY3J0Y19zdGF0ZSwgX19pKSBc CisJZm9yICgoX19pKSA9IDA7CQkJCQkJCVwKKwkgICAgIChfX2kpIDwgKF9fc3RhdGUpLT5kZXYt Pm1vZGVfY29uZmlnLm51bV9jcnRjICYmCQlcCisJICAgICAoKGNydGMpID0gKF9fc3RhdGUpLT5j cnRjc1tfX2ldLnB0ciwJCQlcCisJICAgICAob2xkX2NydGNfc3RhdGUpID0gKF9fc3RhdGUpLT5j cnRjc1tfX2ldLm9sZF9zdGF0ZSwJXAorCSAgICAgKG5ld19jcnRjX3N0YXRlKSA9IChfX3N0YXRl KS0+Y3J0Y3NbX19pXS5uZXdfc3RhdGUsIDEpOwlcCisJICAgICAoX19pKSsrKQkJCQkJCQlcCisJ CWZvcl9lYWNoX2lmIChjcnRjKQorCisjZGVmaW5lIGZvcl9lYWNoX29sZF9jcnRjX2luX3N0YXRl KF9fc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLCBfX2kpCVwKKwlmb3IgKChfX2kpID0gMDsJ CQkJCQkJXAorCSAgICAgKF9faSkgPCAoX19zdGF0ZSktPmRldi0+bW9kZV9jb25maWcubnVtX2Ny dGMgJiYJCVwKKwkgICAgICgoY3J0YykgPSAoX19zdGF0ZSktPmNydGNzW19faV0ucHRyLAkJCVwK KwkgICAgIChvbGRfY3J0Y19zdGF0ZSkgPSAoX19zdGF0ZSktPmNydGNzW19faV0ub2xkX3N0YXRl LCAxKTsJXAorCSAgICAgKF9faSkrKykJCQkJCQkJXAorCQlmb3JfZWFjaF9pZiAoY3J0YykKKwor I2RlZmluZSBmb3JfZWFjaF9uZXdfY3J0Y19pbl9zdGF0ZShfX3N0YXRlLCBjcnRjLCBuZXdfY3J0 Y19zdGF0ZSwgX19pKQlcCisJZm9yICgoX19pKSA9IDA7CQkJCQkJCVwKKwkgICAgIChfX2kpIDwg KF9fc3RhdGUpLT5kZXYtPm1vZGVfY29uZmlnLm51bV9jcnRjICYmCQlcCisJICAgICAoKGNydGMp ID0gKF9fc3RhdGUpLT5jcnRjc1tfX2ldLnB0ciwJCQlcCisJICAgICAobmV3X2NydGNfc3RhdGUp ID0gKF9fc3RhdGUpLT5jcnRjc1tfX2ldLm5ld19zdGF0ZSwgMSk7CVwKKwkgICAgIChfX2kpKysp CQkJCQkJCVwKKwkJZm9yX2VhY2hfaWYgKGNydGMpCisKICNkZWZpbmUgZm9yX2VhY2hfcGxhbmVf aW5fc3RhdGUoX19zdGF0ZSwgcGxhbmUsIHBsYW5lX3N0YXRlLCBfX2kpCQlcCiAJZm9yICgoX19p KSA9IDA7CQkJCQkJCVwKIAkgICAgIChfX2kpIDwgKF9fc3RhdGUpLT5kZXYtPm1vZGVfY29uZmln Lm51bV90b3RhbF9wbGFuZSAmJglcCkBAIC00MTMsNiArNDYzLDMxIEBAIHZvaWQgZHJtX3N0YXRl X2R1bXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wcmludGVyICpwKTsKIAkg ICAgIChfX2kpKyspCQkJCQkJCVwKIAkJZm9yX2VhY2hfaWYgKHBsYW5lX3N0YXRlKQogCisjZGVm aW5lIGZvcl9lYWNoX29sZG5ld19wbGFuZV9pbl9zdGF0ZShfX3N0YXRlLCBwbGFuZSwgb2xkX3Bs YW5lX3N0YXRlLCBuZXdfcGxhbmVfc3RhdGUsIF9faSkgXAorCWZvciAoKF9faSkgPSAwOwkJCQkJ CQlcCisJICAgICAoX19pKSA8IChfX3N0YXRlKS0+ZGV2LT5tb2RlX2NvbmZpZy5udW1fdG90YWxf cGxhbmUgJiYJXAorCSAgICAgKChwbGFuZSkgPSAoX19zdGF0ZSktPnBsYW5lc1tfX2ldLnB0ciwJ CQlcCisJICAgICAob2xkX3BsYW5lX3N0YXRlKSA9IChfX3N0YXRlKS0+cGxhbmVzW19faV0ub2xk X3N0YXRlLAlcCisJICAgICAobmV3X3BsYW5lX3N0YXRlKSA9IChfX3N0YXRlKS0+cGxhbmVzW19f aV0ubmV3X3N0YXRlLCAxKTsJXAorCSAgICAgKF9faSkrKykJCQkJCQkJXAorCQlmb3JfZWFjaF9p ZiAocGxhbmUpCisKKyNkZWZpbmUgZm9yX2VhY2hfb2xkX3BsYW5lX2luX3N0YXRlKF9fc3RhdGUs IHBsYW5lLCBvbGRfcGxhbmVfc3RhdGUsIF9faSkgXAorCWZvciAoKF9faSkgPSAwOwkJCQkJCQlc CisJICAgICAoX19pKSA8IChfX3N0YXRlKS0+ZGV2LT5tb2RlX2NvbmZpZy5udW1fdG90YWxfcGxh bmUgJiYJXAorCSAgICAgKChwbGFuZSkgPSAoX19zdGF0ZSktPnBsYW5lc1tfX2ldLnB0ciwJCQlc CisJICAgICAob2xkX3BsYW5lX3N0YXRlKSA9IChfX3N0YXRlKS0+cGxhbmVzW19faV0ub2xkX3N0 YXRlLCAxKTsJXAorCSAgICAgKF9faSkrKykJCQkJCQkJXAorCQlmb3JfZWFjaF9pZiAocGxhbmUp CisKKyNkZWZpbmUgZm9yX2VhY2hfbmV3X3BsYW5lX2luX3N0YXRlKF9fc3RhdGUsIHBsYW5lLCBu ZXdfcGxhbmVfc3RhdGUsIF9faSkgXAorCWZvciAoKF9faSkgPSAwOwkJCQkJCQlcCisJICAgICAo X19pKSA8IChfX3N0YXRlKS0+ZGV2LT5tb2RlX2NvbmZpZy5udW1fdG90YWxfcGxhbmUgJiYJXAor CSAgICAgKChwbGFuZSkgPSAoX19zdGF0ZSktPnBsYW5lc1tfX2ldLnB0ciwJCQlcCisJICAgICAo bmV3X3BsYW5lX3N0YXRlKSA9IChfX3N0YXRlKS0+cGxhbmVzW19faV0ubmV3X3N0YXRlLCAxKTsJ XAorCSAgICAgKF9faSkrKykJCQkJCQkJXAorCQlmb3JfZWFjaF9pZiAocGxhbmUpCisKIC8qKgog ICogZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQgLSBjb21wdXRlIGNvbWJpbmVkIG1vZGVz ZXQgbmVlZAogICogQHN0YXRlOiAmZHJtX2NydGNfc3RhdGUgZm9yIHRoZSBDUlRDCmRpZmYgLS1n aXQgYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljX2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0 b21pY19oZWxwZXIuaAppbmRleCA0YjIzNTNkYzM0YmEuLmU0M2Q0ZGUyZmY4ZiAxMDA2NDQKLS0t IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19oZWxwZXIuaAorKysgYi9pbmNsdWRlL2RybS9kcm1f YXRvbWljX2hlbHBlci5oCkBAIC0xMDUsNiArMTA1LDggQEAgaW50IF9fZHJtX2F0b21pY19oZWxw ZXJfc2V0X2NvbmZpZyhzdHJ1Y3QgZHJtX21vZGVfc2V0ICpzZXQsCiBpbnQgZHJtX2F0b21pY19o ZWxwZXJfZGlzYWJsZV9hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgIHN0cnVjdCBk cm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KTsKIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpk cm1fYXRvbWljX2hlbHBlcl9zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOworaW50IGRy bV9hdG9taWNfaGVscGVyX2NvbW1pdF9kdXBsaWNhdGVkX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSwKKwkJCQkJICAgICAgc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4 ICpjdHgpOwogaW50IGRybV9hdG9taWNfaGVscGVyX3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogCQkJICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwogCi0tIDIuNy40 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK