From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dhinakaran Pandiyan Subject: [PATCH v7 1/4] drm: Add driver-private objects to atomic state Date: Thu, 20 Apr 2017 22:51:30 -0700 Message-ID: <1492753893-3748-2-git-send-email-dhinakaran.pandiyan@intel.com> References: <1492753893-3748-1-git-send-email-dhinakaran.pandiyan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1492753893-3748-1-git-send-email-dhinakaran.pandiyan@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 Cc: architt@codeaurora.org, daniel.vetter@ffwll.ch, dri-devel@lists.freedesktop.org, "Pandiyan, Dhinakaran" , Harry.wentland@amd.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogIlBhbmRpeWFuLCBEaGluYWthcmFuIiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5j b20+CgpJdCBpcyBuZWNlc3NhcnkgdG8gdHJhY2sgc3RhdGVzIGZvciBvYmplY3RzIG90aGVyIHRo YW4gY29ubmVjdG9yLCBjcnRjCmFuZCBwbGFuZSBmb3IgYXRvbWljIG1vZGVzZXRzLiBCdXQgYWRk aW5nIG9iamVjdHMgbGlrZSBEUCBNU1QgbGluawpiYW5kd2lkdGggdG8gZHJtX2F0b21pY19zdGF0 ZSB3b3VsZCBtZWFuIHRoYXQgYSBub24tY29yZSBvYmplY3Qgd2lsbCBiZQptb2RpZmllZCBieSB0 aGUgY29yZSBoZWxwZXIgZnVuY3Rpb25zIGZvciBzd2FwcGluZyBhbmQgY2xlYXJpbmcKaXQncyBz dGF0ZS4gU28sIGxldHMgYWRkIHZvaWQgKiBvYmplY3RzIGFuZCBoZWxwZXIgZnVuY3Rpb25zIHRo YXQgb3BlcmF0ZQpvbiB2b2lkICogdHlwZXMgdG8ga2VlcCB0aGVzZSBvYmplY3RzIGFuZCBzdGF0 ZXMgcHJpdmF0ZSB0byB0aGUgY29yZS4KRHJpdmVycyBjYW4gdGhlbiBpbXBsZW1lbnQgc3BlY2lm aWMgZnVuY3Rpb25zIHRvIHN3YXAgYW5kIGNsZWFyIHN0YXRlcy4KVGhlIG90aGVyIGFkdmFudGFn ZSBoYXZpbmcganVzdCB2b2lkICogZm9yIHRoZXNlIG9iamVjdHMgaW4KZHJtX2F0b21pY19zdGF0 ZSBpcyB0aGF0IG9iamVjdHMgb2YgZGlmZmVyZW50IHR5cGVzIGNhbiBiZSBtYW5hZ2VkIGluIHRo ZQpzYW1lIHN0YXRlIGFycmF5LgoKdjY6IE1vcmUga2VybmVsLWRvYyB0byBrZWVwIDAtZGF5IGhh cHB5CnY1OiBSZW1vdmUgbW9yZSBOVUxMIGNoZWNrcyAoTWFhcnRlbikKdjQ6IEF2b2lkIHJlZHVu ZGFudCBOVUxMIGNoZWNrcyB3aGVuIHByaXZhdGVfb2JqcyBhcnJheSBpcyBlbXB0eSAoTWFhcnRl bikKdjM6IE1hY3JvIGFsaWdubWVudCAoQ2hyaXMpCnYyOiBBZGRlZCBkb2NzIGFuZCBuZXcgaXRl cmF0b3IgdG8gZmlsdGVyIHByaXZhdGUgb2JqZWN0cyAoRGFuaWVsKQoKQ2M6IERhbmllbCBWZXR0 ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CkNjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRl bi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpDYzogQXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBj b2RlYXVyb3JhLm9yZz4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVr PgpDYzogSGFycnkgV2VudGxhbmQgPEhhcnJ5LndlbnRsYW5kQGFtZC5jb20+CgpBY2tlZC1ieTog SGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+ClN1Z2dlc3RlZC1ieTogRGFu aWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KU2lnbmVkLW9mZi1ieTogRGhpbmFr YXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgfCAgNjUgKysrKysrKysrKysrKysrKysrKysr KysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIHwgICA1ICsrCiBpbmNsdWRl L2RybS9kcm1fYXRvbWljLmggICAgICAgICAgICB8IDEwMSArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTcxIGluc2VydGlvbnMoKykKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWMuYwppbmRleCAzMDIyOWFiLi44ZTVmM2ViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKQEAg LTU3LDYgKzU3LDcgQEAgdm9pZCBkcm1fYXRvbWljX3N0YXRlX2RlZmF1bHRfcmVsZWFzZShzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJa2ZyZWUoc3RhdGUtPmNvbm5lY3RvcnMpOwog CWtmcmVlKHN0YXRlLT5jcnRjcyk7CiAJa2ZyZWUoc3RhdGUtPnBsYW5lcyk7CisJa2ZyZWUoc3Rh dGUtPnByaXZhdGVfb2Jqcyk7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfc3RhdGVfZGVm YXVsdF9yZWxlYXNlKTsKIApAQCAtMTg0LDYgKzE4NSwxNyBAQCB2b2lkIGRybV9hdG9taWNfc3Rh dGVfZGVmYXVsdF9jbGVhcihzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJCXN0YXRl LT5wbGFuZXNbaV0ucHRyID0gTlVMTDsKIAkJc3RhdGUtPnBsYW5lc1tpXS5zdGF0ZSA9IE5VTEw7 CiAJfQorCisJZm9yIChpID0gMDsgaSA8IHN0YXRlLT5udW1fcHJpdmF0ZV9vYmpzOyBpKyspIHsK KwkJdm9pZCAqb2JqX3N0YXRlID0gc3RhdGUtPnByaXZhdGVfb2Jqc1tpXS5vYmpfc3RhdGU7CisK KwkJc3RhdGUtPnByaXZhdGVfb2Jqc1tpXS5mdW5jcy0+ZGVzdHJveV9zdGF0ZShvYmpfc3RhdGUp OworCQlzdGF0ZS0+cHJpdmF0ZV9vYmpzW2ldLm9iaiA9IE5VTEw7CisJCXN0YXRlLT5wcml2YXRl X29ianNbaV0ub2JqX3N0YXRlID0gTlVMTDsKKwkJc3RhdGUtPnByaXZhdGVfb2Jqc1tpXS5mdW5j cyA9IE5VTEw7CisJfQorCXN0YXRlLT5udW1fcHJpdmF0ZV9vYmpzID0gMDsKKwogfQogRVhQT1JU X1NZTUJPTChkcm1fYXRvbWljX3N0YXRlX2RlZmF1bHRfY2xlYXIpOwogCkBAIC05NzgsNiArOTkw LDU5IEBAIHN0YXRpYyB2b2lkIGRybV9hdG9taWNfcGxhbmVfcHJpbnRfc3RhdGUoc3RydWN0IGRy bV9wcmludGVyICpwLAogfQogCiAvKioKKyAqIGRybV9hdG9taWNfZ2V0X3ByaXZhdGVfb2JqX3N0 YXRlIC0gZ2V0IHByaXZhdGUgb2JqZWN0IHN0YXRlCisgKiBAc3RhdGU6IGdsb2JhbCBhdG9taWMg c3RhdGUKKyAqIEBvYmo6IHByaXZhdGUgb2JqZWN0IHRvIGdldCB0aGUgc3RhdGUgZm9yCisgKiBA ZnVuY3M6IHBvaW50ZXIgdG8gdGhlIHN0cnVjdCBvZiBmdW5jdGlvbiBwb2ludGVycyB0aGF0IGlk ZW50aWZ5IHRoZSBvYmplY3QKKyAqIHR5cGUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMg dGhlIHByaXZhdGUgb2JqZWN0IHN0YXRlIGZvciB0aGUgZ2l2ZW4gcHJpdmF0ZSBvYmplY3QsCisg KiBhbGxvY2F0aW5nIHRoZSBzdGF0ZSBpZiBuZWVkZWQuIEl0IGRvZXMgbm90IGdyYWIgYW55IGxv Y2tzIGFzIHRoZSBjYWxsZXIgaXMKKyAqIGV4cGVjdGVkIHRvIGNhcmUgb2YgYW55IHJlcXVpcmVk IGxvY2tpbmcuCisgKgorICogUkVUVVJOUzoKKyAqCisgKiBFaXRoZXIgdGhlIGFsbG9jYXRlZCBz dGF0ZSBvciB0aGUgZXJyb3IgY29kZSBlbmNvZGVkIGludG8gYSBwb2ludGVyLgorICovCit2b2lk ICoKK2RybV9hdG9taWNfZ2V0X3ByaXZhdGVfb2JqX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSwgdm9pZCAqb2JqLAorCQkJICAgICAgY29uc3Qgc3RydWN0IGRybV9wcml2YXRl X3N0YXRlX2Z1bmNzICpmdW5jcykKK3sKKwlpbnQgaW5kZXgsIG51bV9vYmpzLCBpOworCXNpemVf dCBzaXplOworCXN0cnVjdCBfX2RybV9wcml2YXRlX29ianNfc3RhdGUgKmFycjsKKworCWZvciAo aSA9IDA7IGkgPCBzdGF0ZS0+bnVtX3ByaXZhdGVfb2JqczsgaSsrKQorCQlpZiAob2JqID09IHN0 YXRlLT5wcml2YXRlX29ianNbaV0ub2JqICYmCisJCSAgICBzdGF0ZS0+cHJpdmF0ZV9vYmpzW2ld Lm9ial9zdGF0ZSkKKwkJCXJldHVybiBzdGF0ZS0+cHJpdmF0ZV9vYmpzW2ldLm9ial9zdGF0ZTsK KworCW51bV9vYmpzID0gc3RhdGUtPm51bV9wcml2YXRlX29ianMgKyAxOworCXNpemUgPSBzaXpl b2YoKnN0YXRlLT5wcml2YXRlX29ianMpICogbnVtX29ianM7CisJYXJyID0ga3JlYWxsb2Moc3Rh dGUtPnByaXZhdGVfb2Jqcywgc2l6ZSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFhcnIpCisJCXJldHVy biBFUlJfUFRSKC1FTk9NRU0pOworCisJc3RhdGUtPnByaXZhdGVfb2JqcyA9IGFycjsKKwlpbmRl eCA9IHN0YXRlLT5udW1fcHJpdmF0ZV9vYmpzOworCW1lbXNldCgmc3RhdGUtPnByaXZhdGVfb2Jq c1tpbmRleF0sIDAsIHNpemVvZigqc3RhdGUtPnByaXZhdGVfb2JqcykpOworCisJc3RhdGUtPnBy aXZhdGVfb2Jqc1tpbmRleF0ub2JqX3N0YXRlID0gZnVuY3MtPmR1cGxpY2F0ZV9zdGF0ZShzdGF0 ZSwgb2JqKTsKKwlpZiAoIXN0YXRlLT5wcml2YXRlX29ianNbaW5kZXhdLm9ial9zdGF0ZSkKKwkJ cmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisKKwlzdGF0ZS0+cHJpdmF0ZV9vYmpzW2luZGV4XS5v YmogPSBvYmo7CisJc3RhdGUtPnByaXZhdGVfb2Jqc1tpbmRleF0uZnVuY3MgPSBmdW5jczsKKwlz dGF0ZS0+bnVtX3ByaXZhdGVfb2JqcyA9IG51bV9vYmpzOworCisJRFJNX0RFQlVHX0FUT01JQygi QWRkZWQgbmV3IHByaXZhdGUgb2JqZWN0IHN0YXRlICVwIHRvICVwXG4iLAorCQkJIHN0YXRlLT5w cml2YXRlX29ianNbaW5kZXhdLm9ial9zdGF0ZSwgc3RhdGUpOworCisJcmV0dXJuIHN0YXRlLT5w cml2YXRlX29ianNbaW5kZXhdLm9ial9zdGF0ZTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2F0b21p Y19nZXRfcHJpdmF0ZV9vYmpfc3RhdGUpOworCisvKioKICAqIGRybV9hdG9taWNfZ2V0X2Nvbm5l Y3Rvcl9zdGF0ZSAtIGdldCBjb25uZWN0b3Igc3RhdGUKICAqIEBzdGF0ZTogZ2xvYmFsIGF0b21p YyBzdGF0ZSBvYmplY3QKICAqIEBjb25uZWN0b3I6IGNvbm5lY3RvciB0byBnZXQgc3RhdGUgb2Jq ZWN0IGZvcgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwppbmRleCBjZmVkYTVmLi5jY2Uw NWZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwpAQCAtMjAzMiw2ICsyMDMyLDgg QEAgdm9pZCBkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSwKIAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKIAlzdHJ1Y3QgZHJtX3BsYW5l X3N0YXRlICpvbGRfcGxhbmVfc3RhdGUsICpuZXdfcGxhbmVfc3RhdGU7CiAJc3RydWN0IGRybV9j cnRjX2NvbW1pdCAqY29tbWl0OworCXZvaWQgKm9iaiwgKm9ial9zdGF0ZTsKKwljb25zdCBzdHJ1 Y3QgZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3MgKmZ1bmNzOwogCiAJaWYgKHN0YWxsKSB7CiAJCWZv cl9lYWNoX25ld19jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBuZXdfY3J0Y19zdGF0ZSwgaSkg ewpAQCAtMjA5Miw2ICsyMDk0LDkgQEAgdm9pZCBkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRl KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJc3RhdGUtPnBsYW5lc1tpXS5zdGF0 ZSA9IG9sZF9wbGFuZV9zdGF0ZTsKIAkJcGxhbmUtPnN0YXRlID0gbmV3X3BsYW5lX3N0YXRlOwog CX0KKworCV9fZm9yX2VhY2hfcHJpdmF0ZV9vYmooc3RhdGUsIG9iaiwgb2JqX3N0YXRlLCBpLCBm dW5jcykKKwkJZnVuY3MtPnN3YXBfc3RhdGUob2JqLCAmc3RhdGUtPnByaXZhdGVfb2Jqc1tpXS5v Ympfc3RhdGUpOwogfQogRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRl KTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oIGIvaW5jbHVkZS9kcm0v ZHJtX2F0b21pYy5oCmluZGV4IDc4OGRhZjcuLjI4NWIzYTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv ZHJtL2RybV9hdG9taWMuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKQEAgLTE1NSw2 ICsxNTUsNTMgQEAgc3RydWN0IF9fZHJtX2Nvbm5uZWN0b3JzX3N0YXRlIHsKIH07CiAKIC8qKgor ICogc3RydWN0IGRybV9wcml2YXRlX3N0YXRlX2Z1bmNzIC0gYXRvbWljIHN0YXRlIGZ1bmN0aW9u cyBmb3IgcHJpdmF0ZSBvYmplY3RzCisgKgorICogVGhlc2UgaG9va3MgYXJlIHVzZWQgYnkgYXRv bWljIGhlbHBlcnMgdG8gY3JlYXRlLCBzd2FwIGFuZCBkZXN0cm95IHN0YXRlcyBvZgorICogcHJp dmF0ZSBvYmplY3RzLiBUaGUgc3RydWN0dXJlIGl0c2VsZiBpcyB1c2VkIGFzIGEgdnRhYmxlIHRv IGlkZW50aWZ5IHRoZQorICogYXNzb2NpYXRlZCBwcml2YXRlIG9iamVjdCB0eXBlLiBFYWNoIHBy aXZhdGUgb2JqZWN0IHR5cGUgdGhhdCBuZWVkcyB0byBiZQorICogYWRkZWQgdG8gdGhlIGF0b21p YyBzdGF0ZXMgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBhbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGVzZQor ICogaG9va3MgYW5kIHBhc3MgYSBwb2ludGVyIHRvIGl0J3MgZHJtX3ByaXZhdGVfc3RhdGVfZnVu Y3Mgc3RydWN0IHRvCisgKiBkcm1fYXRvbWljX2dldF9wcml2YXRlX29ial9zdGF0ZSgpLgorICov CitzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3MgeworCS8qKgorCSAqIEBkdXBsaWNhdGVf c3RhdGU6CisJICoKKwkgKiBEdXBsaWNhdGUgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHByaXZh dGUgb2JqZWN0IGFuZCByZXR1cm4gaXQuIEl0CisJICogaXMgYW4gZXJyb3IgdG8gY2FsbCB0aGlz IGJlZm9yZSBvYmotPnN0YXRlIGhhcyBiZWVuIGluaXRpYWxpemVkLgorCSAqCisJICogUkVUVVJO UzoKKwkgKgorCSAqIER1cGxpY2F0ZWQgYXRvbWljIHN0YXRlIG9yIE5VTEwgd2hlbiBvYmotPnN0 YXRlIGlzIG5vdAorCSAqIGluaXRpYWxpemVkIG9yIGFsbG9jYXRpb24gZmFpbGVkLgorCSAqLwor CXZvaWQgKigqZHVwbGljYXRlX3N0YXRlKShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUs IHZvaWQgKm9iaik7CisKKwkvKioKKwkgKiBAc3dhcF9zdGF0ZToKKwkgKgorCSAqIFRoaXMgZnVu Y3Rpb24gc3dhcHMgdGhlIGV4aXN0aW5nIHN0YXRlIG9mIGEgcHJpdmF0ZSBvYmplY3QgQG9iaiB3 aXRoCisJICogaXQncyBuZXdseSBjcmVhdGVkIHN0YXRlLCB0aGUgcG9pbnRlciB0byB3aGljaCBp cyBwYXNzZWQgYXMKKwkgKiBAb2JqX3N0YXRlX3B0ci4KKwkgKi8KKwl2b2lkICgqc3dhcF9zdGF0 ZSkodm9pZCAqb2JqLCB2b2lkICoqb2JqX3N0YXRlX3B0cik7CisKKwkvKioKKwkgKiBAZGVzdHJv eV9zdGF0ZToKKwkgKgorCSAqIEZyZWVzIHRoZSBwcml2YXRlIG9iamVjdCBzdGF0ZSBjcmVhdGVk IHdpdGggQGR1cGxpY2F0ZV9zdGF0ZS4KKwkgKi8KKwl2b2lkICgqZGVzdHJveV9zdGF0ZSkodm9p ZCAqb2JqX3N0YXRlKTsKK307CisKK3N0cnVjdCBfX2RybV9wcml2YXRlX29ianNfc3RhdGUgewor CXZvaWQgKm9iajsKKwl2b2lkICpvYmpfc3RhdGU7CisJY29uc3Qgc3RydWN0IGRybV9wcml2YXRl X3N0YXRlX2Z1bmNzICpmdW5jczsKK307CisKKy8qKgogICogc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgLSB0aGUgZ2xvYmFsIHN0YXRlIG9iamVjdCBmb3IgYXRvbWljIHVwZGF0ZXMKICAqIEByZWY6 IGNvdW50IG9mIGFsbCByZWZlcmVuY2VzIHRvIHRoaXMgc3RhdGUgKHdpbGwgbm90IGJlIGZyZWVk IHVudGlsIHplcm8pCiAgKiBAZGV2OiBwYXJlbnQgRFJNIGRldmljZQpAQCAtMTY0LDYgKzIxMSw4 IEBAIHN0cnVjdCBfX2RybV9jb25ubmVjdG9yc19zdGF0ZSB7CiAgKiBAY3J0Y3M6IHBvaW50ZXIg dG8gYXJyYXkgb2YgQ1JUQyBwb2ludGVycwogICogQG51bV9jb25uZWN0b3I6IHNpemUgb2YgdGhl IEBjb25uZWN0b3JzIGFuZCBAY29ubmVjdG9yX3N0YXRlcyBhcnJheXMKICAqIEBjb25uZWN0b3Jz OiBwb2ludGVyIHRvIGFycmF5IG9mIHN0cnVjdHVyZXMgd2l0aCBwZXItY29ubmVjdG9yIGRhdGEK KyAqIEBudW1fcHJpdmF0ZV9vYmpzOiBzaXplIG9mIHRoZSBAcHJpdmF0ZV9vYmpzIGFycmF5Cisg KiBAcHJpdmF0ZV9vYmpzOiBwb2ludGVyIHRvIGFycmF5IG9mIHByaXZhdGUgb2JqZWN0IHBvaW50 ZXJzCiAgKiBAYWNxdWlyZV9jdHg6IGFjcXVpcmUgY29udGV4dCBmb3IgdGhpcyBhdG9taWMgbW9k ZXNldCBzdGF0ZSB1cGRhdGUKICAqLwogc3RydWN0IGRybV9hdG9taWNfc3RhdGUgewpAQCAtMTc2 LDYgKzIyNSw4IEBAIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlIHsKIAlzdHJ1Y3QgX19kcm1fY3J0 Y3Nfc3RhdGUgKmNydGNzOwogCWludCBudW1fY29ubmVjdG9yOwogCXN0cnVjdCBfX2RybV9jb25u bmVjdG9yc19zdGF0ZSAqY29ubmVjdG9yczsKKwlpbnQgbnVtX3ByaXZhdGVfb2JqczsKKwlzdHJ1 Y3QgX19kcm1fcHJpdmF0ZV9vYmpzX3N0YXRlICpwcml2YXRlX29ianM7CiAKIAlzdHJ1Y3QgZHJt X21vZGVzZXRfYWNxdWlyZV9jdHggKmFjcXVpcmVfY3R4OwogCkBAIC0yNjgsNiArMzE5LDExIEBA IGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwKIAkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKnN0YXRlLCBzdHJ1 Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKIAkJdWludDY0X3QgdmFsKTsKIAordm9pZCAqIF9f bXVzdF9jaGVjaworZHJtX2F0b21pY19nZXRfcHJpdmF0ZV9vYmpfc3RhdGUoc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlLAorCQkJICAgICAgdm9pZCAqb2JqLAorCQkJICAgICAgY29uc3Qg c3RydWN0IGRybV9wcml2YXRlX3N0YXRlX2Z1bmNzICpmdW5jcyk7CisKIC8qKgogICogZHJtX2F0 b21pY19nZXRfZXhpc3RpbmdfY3J0Y19zdGF0ZSAtIGdldCBjcnRjIHN0YXRlLCBpZiBpdCBleGlz dHMKICAqIEBzdGF0ZTogZ2xvYmFsIGF0b21pYyBzdGF0ZSBvYmplY3QKQEAgLTc1Myw2ICs4MDks NTEgQEAgdm9pZCBkcm1fc3RhdGVfZHVtcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3Qg ZHJtX3ByaW50ZXIgKnApOwogCQlmb3JfZWFjaF9pZiAocGxhbmUpCiAKIC8qKgorICogX19mb3Jf ZWFjaF9wcml2YXRlX29iaiAtIGl0ZXJhdGUgb3ZlciBhbGwgcHJpdmF0ZSBvYmplY3RzCisgKiBA X19zdGF0ZTogJnN0cnVjdCBkcm1fYXRvbWljX3N0YXRlIHBvaW50ZXIKKyAqIEBvYmo6IHByaXZh dGUgb2JqZWN0IGl0ZXJhdGlvbiBjdXJzb3IKKyAqIEBvYmpfc3RhdGU6IHByaXZhdGUgb2JqZWN0 IHN0YXRlIGl0ZXJhdGlvbiBjdXJzb3IKKyAqIEBfX2k6IGludCBpdGVyYXRpb24gY3Vyc29yLCBm b3IgbWFjcm8taW50ZXJuYWwgdXNlCisgKiBAX19mdW5jczogJnN0cnVjdCBkcm1fcHJpdmF0ZV9z dGF0ZV9mdW5jcyBpdGVyYXRpb24gY3Vyc29yCisgKgorICogVGhpcyBtYWNybyBpdGVyYXRlcyBv dmVyIHRoZSBhcnJheSBjb250YWluaW5nIHByaXZhdGUgb2JqZWN0IGRhdGEgaW4gYXRvbWljCisg KiBzdGF0ZQorICovCisjZGVmaW5lIF9fZm9yX2VhY2hfcHJpdmF0ZV9vYmooX19zdGF0ZSwgb2Jq LCBvYmpfc3RhdGUsIF9faSwgX19mdW5jcykJXAorCWZvciAoKF9faSkgPSAwOwkJCQkJCQlcCisJ ICAgICAoX19pKSA8IChfX3N0YXRlKS0+bnVtX3ByaXZhdGVfb2JqcyAmJgkJCVwKKwkgICAgICgo b2JqKSA9IChfX3N0YXRlKS0+cHJpdmF0ZV9vYmpzW19faV0ub2JqLAkJCVwKKwkgICAgICAoX19m dW5jcykgPSAoX19zdGF0ZSktPnByaXZhdGVfb2Jqc1tfX2ldLmZ1bmNzLAkJXAorCSAgICAgIChv Ympfc3RhdGUpID0gKF9fc3RhdGUpLT5wcml2YXRlX29ianNbX19pXS5vYmpfc3RhdGUsCVwKKwkg ICAgICAxKTsJCQkJCQkJXAorCSAgICAgKF9faSkrKykJCQkJCQkJXAorCisvKioKKyAqIGZvcl9l YWNoX3ByaXZhdGVfb2JqIC0gaXRlcmF0ZSBvdmVyIGEgc3BlY2lmeSB0eXBlIG9mIHByaXZhdGUg b2JqZWN0CisgKiBAX19zdGF0ZTogJnN0cnVjdCBkcm1fYXRvbWljX3N0YXRlIHBvaW50ZXIKKyAq IEBvYmpfZnVuY3M6ICZzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3MgZnVuY3Rpb24gdGFi bGUgdG8gZmlsdGVyCisgKiAJcHJpdmF0ZSBvYmplY3RzCisgKiBAb2JqOiBwcml2YXRlIG9iamVj dCBpdGVyYXRpb24gY3Vyc29yCisgKiBAb2JqX3N0YXRlOiBwcml2YXRlIG9iamVjdCBzdGF0ZSBp dGVyYXRpb24gY3Vyc29yCisgKiBAX19pOiBpbnQgaXRlcmF0aW9uIGN1cnNvciwgZm9yIG1hY3Jv LWludGVybmFsIHVzZQorICogQF9fZnVuY3M6ICZzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGVfZnVu Y3MgaXRlcmF0aW9uIGN1cnNvcgorICoKKyAqIFRoaXMgbWFjcm8gaXRlcmF0ZXMgb3ZlciB0aGUg cHJpdmF0ZSBvYmplY3RzIHN0YXRlIGFycmF5IHdoaWxlIGZpbHRlcmluZyB0aGUKKyAqIG9iamVj dHMgYmFzZWQgb24gdGhlIHZmdW5jIHRhYmxlIHRoYXQgaXMgcGFzc2VkIGFzIEBvYmpfZnVuY3Mu IE5ldyBtYWNyb3MKKyAqIGNhbiBiZSBjcmVhdGVkIGJ5IHBhc3NpbmcgaW4gdGhlIHZmdW5jIHRh YmxlIGFzc29jaWF0ZWQgd2l0aCBhIHNwZWNpZmljCisgKiBwcml2YXRlIG9iamVjdC4KKyAqLwor I2RlZmluZSBmb3JfZWFjaF9wcml2YXRlX29iaihfX3N0YXRlLCBvYmpfZnVuY3MsIG9iaiwgb2Jq X3N0YXRlLCBfX2ksIF9fZnVuY3MpCVwKKwlmb3IgKChfX2kpID0gMDsJCQkJCQkJXAorCSAgICAg KF9faSkgPCAoX19zdGF0ZSktPm51bV9wcml2YXRlX29ianMgJiYJCQlcCisJICAgICAoKG9iaikg PSAoX19zdGF0ZSktPnByaXZhdGVfb2Jqc1tfX2ldLm9iaiwJCQlcCisJICAgICAgKF9fZnVuY3Mp ID0gKF9fc3RhdGUpLT5wcml2YXRlX29ianNbX19pXS5mdW5jcywJCVwKKwkgICAgICAob2JqX3N0 YXRlKSA9IChfX3N0YXRlKS0+cHJpdmF0ZV9vYmpzW19faV0ub2JqX3N0YXRlLAlcCisJICAgICAg MSk7CQkJCQkJCVwKKwkgICAgIChfX2kpKyspCQkJCQkJCVwKKwkJZm9yX2VhY2hfaWYgKF9fZnVu Y3MgPT0gb2JqX2Z1bmNzKQorCisvKioKICAqIGRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0 IC0gY29tcHV0ZSBjb21iaW5lZCBtb2Rlc2V0IG5lZWQKICAqIEBzdGF0ZTogJmRybV9jcnRjX3N0 YXRlIGZvciB0aGUgQ1JUQwogICoKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK