From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 1/4] drm/atomic: Add new iterators over all state, v2. Date: Wed, 16 Nov 2016 14:58:05 +0100 Message-ID: <1479304688-24010-2-git-send-email-maarten.lankhorst@linux.intel.com> References: <1479304688-24010-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 [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 698AB6E6B0 for ; Wed, 16 Nov 2016 13:58:14 +0000 (UTC) In-Reply-To: <1479304688-24010-1-git-send-email-maarten.lankhorst@linux.intel.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 QWRkIGZvcl9lYWNoXyhvbGQpKG5ldylfKHBsYW5lLGNvbm5lY3RvcixjcnRjKV9pbl9zdGF0ZSBp dGVyYXRvcnMgdG8KcmVwbGFjZSB0aGUgb2xkIGZvcl9lYWNoX3h4eF9pbl9zdGF0ZSBvbmVzLiBU aGlzIGlzIHVzZWZ1bCBmb3IgPjEgZmxpcApkZXB0aCBhbmQgZ2V0dGluZyByaWQgb2YgYWxsIHh4 eC0+c3RhdGUgZGVyZWZlcmVuY2VzLgoKVGhpcyByZXF1aXJlcyBleHRyYSBmaXh1cHMgZG9uZSB3 aGVuIGNvbW1pdHRpbmcgYSBzdGF0ZSBhZnRlcgpkdXBsaWNhdGluZywgd2hpY2ggaW4gZ2VuZXJh bCBpc24ndCB2YWxpZCBidXQgaXMgdXNlZCBieSBzdXNwZW5kL3Jlc3VtZS4KVG8gaGFuZGxlIHRo ZXNlLCBpbnRyb2R1Y2UgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2R1cGxpY2F0ZWRfc3RhdGUK d2hpY2ggcGVyZm9ybXMgdGhvc2UgZml4dXBzIGJlZm9yZSBjaGVja2luZyAmIGNvbW1pdHRpbmcg dGhlIHN0YXRlLgoKQ2hhbmdlcyBzaW5jZSB2MToKLSBSZW1vdmUgbm9uYmxvY2sgcGFyYW1ldGVy IGZvciBjb21taXRfZHVwbGljYXRlZF9zdGF0ZS4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFu a2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgIHwgIDYgKysrCiBkcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY19oZWxwZXIuYyAgfCA0NyArKysrKysrKysrKysrKysrKysrLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDExICsrLS0tCiBpbmNsdWRlL2RybS9kcm1fYXRv bWljLmggICAgICAgICAgICAgfCA4MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0KIGluY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmggICAgICB8ICAyICsKIDUgZmlsZXMg Y2hhbmdlZCwgMTM2IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Yy5jCmluZGV4IDU3ZTBhNmU5NmY2ZC4uZTgwNjYzMTU0ODU4IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMK QEAgLTI3OSw2ICsyNzksOCBAQCBkcm1fYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAKIAlzdGF0 ZS0+Y3J0Y3NbaW5kZXhdLnN0YXRlID0gY3J0Y19zdGF0ZTsKKwlzdGF0ZS0+Y3J0Y3NbaW5kZXhd Lm9sZF9zdGF0ZSA9IGNydGMtPnN0YXRlOworCXN0YXRlLT5jcnRjc1tpbmRleF0ubmV3X3N0YXRl ID0gY3J0Y19zdGF0ZTsKIAlzdGF0ZS0+Y3J0Y3NbaW5kZXhdLnB0ciA9IGNydGM7CiAJY3J0Y19z dGF0ZS0+c3RhdGUgPSBzdGF0ZTsKIApAQCAtNjY2LDYgKzY2OCw4IEBAIGRybV9hdG9taWNfZ2V0 X3BsYW5lX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAogCXN0YXRlLT5w bGFuZXNbaW5kZXhdLnN0YXRlID0gcGxhbmVfc3RhdGU7CiAJc3RhdGUtPnBsYW5lc1tpbmRleF0u cHRyID0gcGxhbmU7CisJc3RhdGUtPnBsYW5lc1tpbmRleF0ub2xkX3N0YXRlID0gcGxhbmUtPnN0 YXRlOworCXN0YXRlLT5wbGFuZXNbaW5kZXhdLm5ld19zdGF0ZSA9IHBsYW5lX3N0YXRlOwogCXBs YW5lX3N0YXRlLT5zdGF0ZSA9IHN0YXRlOwogCiAJRFJNX0RFQlVHX0FUT01JQygiQWRkZWQgW1BM QU5FOiVkOiVzXSAlcCBzdGF0ZSB0byAlcFxuIiwKQEAgLTk5Myw2ICs5OTcsOCBAQCBkcm1fYXRv bWljX2dldF9jb25uZWN0b3Jfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAog CiAJZHJtX2Nvbm5lY3Rvcl9yZWZlcmVuY2UoY29ubmVjdG9yKTsKIAlzdGF0ZS0+Y29ubmVjdG9y c1tpbmRleF0uc3RhdGUgPSBjb25uZWN0b3Jfc3RhdGU7CisJc3RhdGUtPmNvbm5lY3RvcnNbaW5k ZXhdLm9sZF9zdGF0ZSA9IGNvbm5lY3Rvci0+c3RhdGU7CisJc3RhdGUtPmNvbm5lY3RvcnNbaW5k ZXhdLm5ld19zdGF0ZSA9IGNvbm5lY3Rvcl9zdGF0ZTsKIAlzdGF0ZS0+Y29ubmVjdG9yc1tpbmRl eF0ucHRyID0gY29ubmVjdG9yOwogCWNvbm5lY3Rvcl9zdGF0ZS0+c3RhdGUgPSBzdGF0ZTsKIApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwppbmRleCA1MDA3Nzk2MTIyOGEuLjBlMTFiZWYy Njk5OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKQEAgLTI0OTEsNyArMjQ5MSw3 IEBAIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9hbGwpOwogICoKICAq IFNlZSBhbHNvOgogICogZHJtX2F0b21pY19oZWxwZXJfZHVwbGljYXRlX3N0YXRlKCksIGRybV9h dG9taWNfaGVscGVyX2Rpc2FibGVfYWxsKCksCi0gKiBkcm1fYXRvbWljX2hlbHBlcl9yZXN1bWUo KQorICogZHJtX2F0b21pY19oZWxwZXJfcmVzdW1lKCksIGRybV9hdG9taWNfaGVscGVyX2NvbW1p dF9kdXBsaWNhdGVkX3N0YXRlKCkKICAqLwogc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKmRybV9h dG9taWNfaGVscGVyX3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKQEAgLTI1MzIs NiArMjUzMiw0NyBAQCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqZHJtX2F0b21pY19oZWxwZXJf c3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogRVhQT1JUX1NZTUJPTChkcm1fYXRvbWlj X2hlbHBlcl9zdXNwZW5kKTsKIAogLyoqCisgKiBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfZHVw bGljYXRlZF9zdGF0ZSAtIGNvbW1pdCBkdXBsaWNhdGVkIHN0YXRlCisgKiBAc3RhdGU6IGR1cGxp Y2F0ZWQgYXRvbWljIHN0YXRlIHRvIGNvbW1pdAorICogQGN0eDogcG9pbnRlciB0byBhY3F1aXJl X2N0eCB0byB1c2UgZm9yIGNvbW1pdC4KKyAqCisgKiBUaGUgc3RhdGUgcmV0dXJuZWQgYnkgZHJt X2F0b21pY19oZWxwZXJfZHVwbGljYXRlX3N0YXRlKCkgYW5kCisgKiBkcm1fYXRvbWljX2hlbHBl cl9zdXNwZW5kKCkgaXMgcGFydGlhbGx5IGludmFsaWQsIGFuZCBuZWVkcyB0bworICogYmUgZml4 ZWQgdXAgYmVmb3JlIGNvbW1pdC4KKyAqCisgKiBSZXR1cm5zOgorICogMCBvbiBzdWNjZXNzIG9y IGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgorICoKKyAqIFNlZSBhbHNvOgorICog ZHJtX2F0b21pY19oZWxwZXJfc3VzcGVuZCgpCisgKi8KK2ludCBkcm1fYXRvbWljX2hlbHBlcl9j b21taXRfZHVwbGljYXRlZF9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCisJ CQkJCSAgICAgIHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KQoreworCWludCBp OworCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOworCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBs YW5lX3N0YXRlOworCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7CisJc3RydWN0IGRy bV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGU7CisJc3RydWN0IGRybV9jcnRjICpjcnRjOwor CXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKKworCXN0YXRlLT5hY3F1aXJlX2N0 eCA9IGN0eDsKKworCWZvcl9lYWNoX25ld19wbGFuZV9pbl9zdGF0ZShzdGF0ZSwgcGxhbmUsIHBs YW5lX3N0YXRlLCBpKQorCQlzdGF0ZS0+cGxhbmVzW2ldLm9sZF9zdGF0ZSA9IHBsYW5lLT5zdGF0 ZTsKKworCWZvcl9lYWNoX25ld19jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRjX3N0YXRl LCBpKQorCQlzdGF0ZS0+Y3J0Y3NbaV0ub2xkX3N0YXRlID0gY3J0Yy0+c3RhdGU7CisKKwlmb3Jf ZWFjaF9uZXdfY29ubmVjdG9yX2luX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IsIGNvbm5fc3RhdGUs IGkpCisJCXN0YXRlLT5jb25uZWN0b3JzW2ldLm9sZF9zdGF0ZSA9IGNvbm5lY3Rvci0+c3RhdGU7 CisKKwlyZXR1cm4gZHJtX2F0b21pY19jb21taXQoc3RhdGUpOworfQorRVhQT1JUX1NZTUJPTChk cm1fYXRvbWljX2hlbHBlcl9jb21taXRfZHVwbGljYXRlZF9zdGF0ZSk7CisKKy8qKgogICogZHJt X2F0b21pY19oZWxwZXJfcmVzdW1lIC0gc3Vic3lzdGVtLWxldmVsIHJlc3VtZSBoZWxwZXIKICAq IEBkZXY6IERSTSBkZXZpY2UKICAqIEBzdGF0ZTogYXRvbWljIHN0YXRlIHRvIHJlc3VtZSB0bwpA QCAtMjU1NCw5ICsyNTk1LDkgQEAgaW50IGRybV9hdG9taWNfaGVscGVyX3Jlc3VtZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCWludCBlcnI7CiAKIAlkcm1fbW9kZV9jb25maWdfcmVzZXQoZGV2 KTsKKwogCWRybV9tb2Rlc2V0X2xvY2tfYWxsKGRldik7Ci0Jc3RhdGUtPmFjcXVpcmVfY3R4ID0g Y29uZmlnLT5hY3F1aXJlX2N0eDsKLQllcnIgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7CisJ ZXJyID0gZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2R1cGxpY2F0ZWRfc3RhdGUoc3RhdGUsIGNv bmZpZy0+YWNxdWlyZV9jdHgpOwogCWRybV9tb2Rlc2V0X3VubG9ja19hbGwoZGV2KTsKIAogCXJl dHVybiBlcnI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggMmViYjhiODMz Mzk1Li5iMjMyNGYzYjVlZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAg LTM0OTYsNyArMzQ5Niw4IEBAIHN0YXRpYyB2b2lkIGludGVsX3VwZGF0ZV9wcmltYXJ5X3BsYW5l cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiBzdGF0aWMgaW50CiBfX2ludGVsX2Rpc3BsYXlf cmVzdW1lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0JCSAgICAgICBzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUpCisJCSAgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUs CisJCSAgICAgICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmN0eCkKIHsKIAlzdHJ1 Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwpA QCAtMzUyMCw3ICszNTIxLDcgQEAgX19pbnRlbF9kaXNwbGF5X3Jlc3VtZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCS8qIGlnbm9yZSBhbnkgcmVzZXQgdmFsdWVzL0JJT1MgbGVmdG92ZXJzIGlu IHRoZSBXTSByZWdpc3RlcnMgKi8KIAl0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpLT5za2lw X2ludGVybWVkaWF0ZV93bSA9IHRydWU7CiAKLQlyZXQgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0 ZSk7CisJcmV0ID0gZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2R1cGxpY2F0ZWRfc3RhdGUoc3Rh dGUsIGN0eCk7CiAKIAlXQVJOX09OKHJldCA9PSAtRURFQURMSyk7CiAJcmV0dXJuIHJldDsKQEAg LTM2MTQsNyArMzYxNSw3IEBAIHZvaWQgaW50ZWxfZmluaXNoX3Jlc2V0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKIAkJCSAqLwogCQkJaW50ZWxfdXBkYXRlX3ByaW1hcnlfcGxh bmVzKGRldik7CiAJCX0gZWxzZSB7Ci0JCQlyZXQgPSBfX2ludGVsX2Rpc3BsYXlfcmVzdW1lKGRl diwgc3RhdGUpOworCQkJcmV0ID0gX19pbnRlbF9kaXNwbGF5X3Jlc3VtZShkZXYsIHN0YXRlLCBj dHgpOwogCQkJaWYgKHJldCkKIAkJCQlEUk1fRVJST1IoIlJlc3RvcmluZyBvbGQgc3RhdGUgZmFp bGVkIHdpdGggJWlcbiIsIHJldCk7CiAJCX0KQEAgLTM2MzQsNyArMzYzNSw3IEBAIHZvaWQgaW50 ZWxfZmluaXNoX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJCWRl dl9wcml2LT5kaXNwbGF5LmhwZF9pcnFfc2V0dXAoZGV2X3ByaXYpOwogCQlzcGluX3VubG9ja19p cnEoJmRldl9wcml2LT5pcnFfbG9jayk7CiAKLQkJcmV0ID0gX19pbnRlbF9kaXNwbGF5X3Jlc3Vt ZShkZXYsIHN0YXRlKTsKKwkJcmV0ID0gX19pbnRlbF9kaXNwbGF5X3Jlc3VtZShkZXYsIHN0YXRl LCBjdHgpOwogCQlpZiAocmV0KQogCQkJRFJNX0VSUk9SKCJSZXN0b3Jpbmcgb2xkIHN0YXRlIGZh aWxlZCB3aXRoICVpXG4iLCByZXQpOwogCkBAIC0xNzA2MSw3ICsxNzA2Miw3IEBAIHZvaWQgaW50 ZWxfZGlzcGxheV9yZXN1bWUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAl9CiAKIAlpZiAoIXJl dCkKLQkJcmV0ID0gX19pbnRlbF9kaXNwbGF5X3Jlc3VtZShkZXYsIHN0YXRlKTsKKwkJcmV0ID0g X19pbnRlbF9kaXNwbGF5X3Jlc3VtZShkZXYsIHN0YXRlLCAmY3R4KTsKIAogCWRybV9tb2Rlc2V0 X2Ryb3BfbG9ja3MoJmN0eCk7CiAJZHJtX21vZGVzZXRfYWNxdWlyZV9maW5pKCZjdHgpOwpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21p Yy5oCmluZGV4IDMzMWJiMTAwYjcxOC4uZTUyNzY4NGRkMzk0IDEwMDY0NAotLS0gYS9pbmNsdWRl L2RybS9kcm1fYXRvbWljLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCkBAIC0xMzcs MTggKzEzNywxOCBAQCBzdHJ1Y3QgZHJtX2NydGNfY29tbWl0IHsKIAogc3RydWN0IF9fZHJtX3Bs YW5lc19zdGF0ZSB7CiAJc3RydWN0IGRybV9wbGFuZSAqcHRyOwotCXN0cnVjdCBkcm1fcGxhbmVf c3RhdGUgKnN0YXRlOworCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlLCAqb2xkX3N0YXRl LCAqbmV3X3N0YXRlOwogfTsKIAogc3RydWN0IF9fZHJtX2NydGNzX3N0YXRlIHsKIAlzdHJ1Y3Qg ZHJtX2NydGMgKnB0cjsKLQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlOworCXN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqc3RhdGUsICpvbGRfc3RhdGUsICpuZXdfc3RhdGU7CiAJc3RydWN0IGRy bV9jcnRjX2NvbW1pdCAqY29tbWl0OwogfTsKIAogc3RydWN0IF9fZHJtX2Nvbm5uZWN0b3JzX3N0 YXRlIHsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqcHRyOwotCXN0cnVjdCBkcm1fY29ubmVjdG9y X3N0YXRlICpzdGF0ZTsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqc3RhdGUsICpvbGRf c3RhdGUsICpuZXdfc3RhdGU7CiB9OwogCiAvKioKQEAgLTM4MSw2ICszODEsMzEgQEAgaW50IGRy bV9hdG9taWNfZGVidWdmc19pbml0KHN0cnVjdCBkcm1fbWlub3IgKm1pbm9yKTsKIAkgICAgIChf X2kpKyspCQkJCQkJCVwKIAkJZm9yX2VhY2hfaWYgKGNvbm5lY3RvcikKIAorI2RlZmluZSBmb3Jf ZWFjaF9vbGRuZXdfY29ubmVjdG9yX2luX3N0YXRlKF9fc3RhdGUsIGNvbm5lY3Rvciwgb2xkX2Nv bm5lY3Rvcl9zdGF0ZSwgbmV3X2Nvbm5lY3Rvcl9zdGF0ZSwgX19pKSBcCisJZm9yICgoX19pKSA9 IDA7CQkJCQkJCQlcCisJICAgICAoX19pKSA8IChfX3N0YXRlKS0+bnVtX2Nvbm5lY3RvciAmJgkJ CQlcCisJICAgICAoKGNvbm5lY3RvcikgPSAoX19zdGF0ZSktPmNvbm5lY3RvcnNbX19pXS5wdHIs CQkJXAorCSAgICAgKG9sZF9jb25uZWN0b3Jfc3RhdGUpID0gKF9fc3RhdGUpLT5jb25uZWN0b3Jz W19faV0ub2xkX3N0YXRlLAlcCisJICAgICAobmV3X2Nvbm5lY3Rvcl9zdGF0ZSkgPSAoX19zdGF0 ZSktPmNvbm5lY3RvcnNbX19pXS5uZXdfc3RhdGUsIDEpOyAJXAorCSAgICAgKF9faSkrKykJCQkJ CQkJXAorCQlmb3JfZWFjaF9pZiAoY29ubmVjdG9yKQorCisjZGVmaW5lIGZvcl9lYWNoX29sZF9j b25uZWN0b3JfaW5fc3RhdGUoX19zdGF0ZSwgY29ubmVjdG9yLCBvbGRfY29ubmVjdG9yX3N0YXRl LCBfX2kpIFwKKwlmb3IgKChfX2kpID0gMDsJCQkJCQkJCVwKKwkgICAgIChfX2kpIDwgKF9fc3Rh dGUpLT5udW1fY29ubmVjdG9yICYmCQkJCVwKKwkgICAgICgoY29ubmVjdG9yKSA9IChfX3N0YXRl KS0+Y29ubmVjdG9yc1tfX2ldLnB0ciwJCQlcCisJICAgICAob2xkX2Nvbm5lY3Rvcl9zdGF0ZSkg PSAoX19zdGF0ZSktPmNvbm5lY3RvcnNbX19pXS5vbGRfc3RhdGUsIDEpOyAJXAorCSAgICAgKF9f aSkrKykJCQkJCQkJXAorCQlmb3JfZWFjaF9pZiAoY29ubmVjdG9yKQorCisjZGVmaW5lIGZvcl9l YWNoX25ld19jb25uZWN0b3JfaW5fc3RhdGUoX19zdGF0ZSwgY29ubmVjdG9yLCBuZXdfY29ubmVj dG9yX3N0YXRlLCBfX2kpIFwKKwlmb3IgKChfX2kpID0gMDsJCQkJCQkJCVwKKwkgICAgIChfX2kp IDwgKF9fc3RhdGUpLT5udW1fY29ubmVjdG9yICYmCQkJCVwKKwkgICAgICgoY29ubmVjdG9yKSA9 IChfX3N0YXRlKS0+Y29ubmVjdG9yc1tfX2ldLnB0ciwJCQlcCisJICAgICAobmV3X2Nvbm5lY3Rv cl9zdGF0ZSkgPSAoX19zdGF0ZSktPmNvbm5lY3RvcnNbX19pXS5uZXdfc3RhdGUsIDEpOyAJXAor CSAgICAgKF9faSkrKykJCQkJCQkJXAorCQlmb3JfZWFjaF9pZiAoY29ubmVjdG9yKQorCiAjZGVm aW5lIGZvcl9lYWNoX2NydGNfaW5fc3RhdGUoX19zdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgX19p KQlcCiAJZm9yICgoX19pKSA9IDA7CQkJCQkJXAogCSAgICAgKF9faSkgPCAoX19zdGF0ZSktPmRl di0+bW9kZV9jb25maWcubnVtX2NydGMgJiYJXApAQCAtMzg5LDYgKzQxNCwzMSBAQCBpbnQgZHJt X2F0b21pY19kZWJ1Z2ZzX2luaXQoc3RydWN0IGRybV9taW5vciAqbWlub3IpOwogCSAgICAgKF9f aSkrKykJCQkJCQlcCiAJCWZvcl9lYWNoX2lmIChjcnRjX3N0YXRlKQogCisjZGVmaW5lIGZvcl9l YWNoX29sZG5ld19jcnRjX2luX3N0YXRlKF9fc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLCBu ZXdfY3J0Y19zdGF0ZSwgX19pKSBcCisJZm9yICgoX19pKSA9IDA7CQkJCQkJCVwKKwkgICAgIChf X2kpIDwgKF9fc3RhdGUpLT5kZXYtPm1vZGVfY29uZmlnLm51bV9jcnRjICYmCQlcCisJICAgICAo KGNydGMpID0gKF9fc3RhdGUpLT5jcnRjc1tfX2ldLnB0ciwJCQlcCisJICAgICAob2xkX2NydGNf c3RhdGUpID0gKF9fc3RhdGUpLT5jcnRjc1tfX2ldLm9sZF9zdGF0ZSwJXAorCSAgICAgKG5ld19j cnRjX3N0YXRlKSA9IChfX3N0YXRlKS0+Y3J0Y3NbX19pXS5uZXdfc3RhdGUsIDEpOwlcCisJICAg ICAoX19pKSsrKQkJCQkJCQlcCisJCWZvcl9lYWNoX2lmIChjcnRjKQorCisjZGVmaW5lIGZvcl9l YWNoX29sZF9jcnRjX2luX3N0YXRlKF9fc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLCBfX2kp CVwKKwlmb3IgKChfX2kpID0gMDsJCQkJCQkJXAorCSAgICAgKF9faSkgPCAoX19zdGF0ZSktPmRl di0+bW9kZV9jb25maWcubnVtX2NydGMgJiYJCVwKKwkgICAgICgoY3J0YykgPSAoX19zdGF0ZSkt PmNydGNzW19faV0ucHRyLAkJCVwKKwkgICAgIChvbGRfY3J0Y19zdGF0ZSkgPSAoX19zdGF0ZSkt PmNydGNzW19faV0ub2xkX3N0YXRlLCAxKTsJXAorCSAgICAgKF9faSkrKykJCQkJCQkJXAorCQlm b3JfZWFjaF9pZiAoY3J0YykKKworI2RlZmluZSBmb3JfZWFjaF9uZXdfY3J0Y19pbl9zdGF0ZShf X3N0YXRlLCBjcnRjLCBuZXdfY3J0Y19zdGF0ZSwgX19pKQlcCisJZm9yICgoX19pKSA9IDA7CQkJ CQkJCVwKKwkgICAgIChfX2kpIDwgKF9fc3RhdGUpLT5kZXYtPm1vZGVfY29uZmlnLm51bV9jcnRj ICYmCQlcCisJICAgICAoKGNydGMpID0gKF9fc3RhdGUpLT5jcnRjc1tfX2ldLnB0ciwJCQlcCisJ ICAgICAobmV3X2NydGNfc3RhdGUpID0gKF9fc3RhdGUpLT5jcnRjc1tfX2ldLm5ld19zdGF0ZSwg MSk7CVwKKwkgICAgIChfX2kpKyspCQkJCQkJCVwKKwkJZm9yX2VhY2hfaWYgKGNydGMpCisKICNk ZWZpbmUgZm9yX2VhY2hfcGxhbmVfaW5fc3RhdGUoX19zdGF0ZSwgcGxhbmUsIHBsYW5lX3N0YXRl LCBfX2kpCQlcCiAJZm9yICgoX19pKSA9IDA7CQkJCQkJCVwKIAkgICAgIChfX2kpIDwgKF9fc3Rh dGUpLT5kZXYtPm1vZGVfY29uZmlnLm51bV90b3RhbF9wbGFuZSAmJglcCkBAIC0zOTcsNiArNDQ3 LDMxIEBAIGludCBkcm1fYXRvbWljX2RlYnVnZnNfaW5pdChzdHJ1Y3QgZHJtX21pbm9yICptaW5v cik7CiAJICAgICAoX19pKSsrKQkJCQkJCQlcCiAJCWZvcl9lYWNoX2lmIChwbGFuZV9zdGF0ZSkK IAorI2RlZmluZSBmb3JfZWFjaF9vbGRuZXdfcGxhbmVfaW5fc3RhdGUoX19zdGF0ZSwgcGxhbmUs IG9sZF9wbGFuZV9zdGF0ZSwgbmV3X3BsYW5lX3N0YXRlLCBfX2kpIFwKKwlmb3IgKChfX2kpID0g MDsJCQkJCQkJXAorCSAgICAgKF9faSkgPCAoX19zdGF0ZSktPmRldi0+bW9kZV9jb25maWcubnVt X3RvdGFsX3BsYW5lICYmCVwKKwkgICAgICgocGxhbmUpID0gKF9fc3RhdGUpLT5wbGFuZXNbX19p XS5wdHIsCQkJXAorCSAgICAgKG9sZF9wbGFuZV9zdGF0ZSkgPSAoX19zdGF0ZSktPnBsYW5lc1tf X2ldLm9sZF9zdGF0ZSwJXAorCSAgICAgKG5ld19wbGFuZV9zdGF0ZSkgPSAoX19zdGF0ZSktPnBs YW5lc1tfX2ldLm5ld19zdGF0ZSwgMSk7CVwKKwkgICAgIChfX2kpKyspCQkJCQkJCVwKKwkJZm9y X2VhY2hfaWYgKHBsYW5lKQorCisjZGVmaW5lIGZvcl9lYWNoX29sZF9wbGFuZV9pbl9zdGF0ZShf X3N0YXRlLCBwbGFuZSwgb2xkX3BsYW5lX3N0YXRlLCBfX2kpIFwKKwlmb3IgKChfX2kpID0gMDsJ CQkJCQkJXAorCSAgICAgKF9faSkgPCAoX19zdGF0ZSktPmRldi0+bW9kZV9jb25maWcubnVtX3Rv dGFsX3BsYW5lICYmCVwKKwkgICAgICgocGxhbmUpID0gKF9fc3RhdGUpLT5wbGFuZXNbX19pXS5w dHIsCQkJXAorCSAgICAgKG9sZF9wbGFuZV9zdGF0ZSkgPSAoX19zdGF0ZSktPnBsYW5lc1tfX2ld Lm9sZF9zdGF0ZSwgMSk7CVwKKwkgICAgIChfX2kpKyspCQkJCQkJCVwKKwkJZm9yX2VhY2hfaWYg KHBsYW5lKQorCisjZGVmaW5lIGZvcl9lYWNoX25ld19wbGFuZV9pbl9zdGF0ZShfX3N0YXRlLCBw bGFuZSwgbmV3X3BsYW5lX3N0YXRlLCBfX2kpIFwKKwlmb3IgKChfX2kpID0gMDsJCQkJCQkJXAor CSAgICAgKF9faSkgPCAoX19zdGF0ZSktPmRldi0+bW9kZV9jb25maWcubnVtX3RvdGFsX3BsYW5l ICYmCVwKKwkgICAgICgocGxhbmUpID0gKF9fc3RhdGUpLT5wbGFuZXNbX19pXS5wdHIsCQkJXAor CSAgICAgKG5ld19wbGFuZV9zdGF0ZSkgPSAoX19zdGF0ZSktPnBsYW5lc1tfX2ldLm5ld19zdGF0 ZSwgMSk7CVwKKwkgICAgIChfX2kpKyspCQkJCQkJCVwKKwkJZm9yX2VhY2hfaWYgKHBsYW5lKQor CiAvKioKICAqIGRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0IC0gY29tcHV0ZSBjb21iaW5l ZCBtb2Rlc2V0IG5lZWQKICAqIEBzdGF0ZTogJmRybV9jcnRjX3N0YXRlIGZvciB0aGUgQ1JUQwpk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19oZWxwZXIuaCBiL2luY2x1ZGUvZHJt L2RybV9hdG9taWNfaGVscGVyLmgKaW5kZXggN2ZmOTJiMDlmZDljLi5mNTcyMzgzMWExOTEgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmgKKysrIGIvaW5jbHVkZS9k cm0vZHJtX2F0b21pY19oZWxwZXIuaApAQCAtMTA4LDYgKzEwOCw4IEBAIGludCBfX2RybV9hdG9t aWNfaGVscGVyX3NldF9jb25maWcoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0LAogaW50IGRybV9h dG9taWNfaGVscGVyX2Rpc2FibGVfYWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJICBz dHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmN0eCk7CiBzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqZHJtX2F0b21pY19oZWxwZXJfc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsK K2ludCBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfZHVwbGljYXRlZF9zdGF0ZShzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUsCisJCQkJCSAgICAgIHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1 aXJlX2N0eCAqY3R4KTsKIGludCBkcm1fYXRvbWljX2hlbHBlcl9yZXN1bWUoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAkJCSAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKIAot LSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=