From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dhinakaran Pandiyan Subject: [RESEND FOR CI PATCH v8 1/4] drm: Add driver-private objects to atomic state Date: Mon, 1 May 2017 11:36:56 -0700 Message-ID: <1493663819-3382-2-git-send-email-dhinakaran.pandiyan@intel.com> References: <1493663819-3382-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: <1493663819-3382-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: dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogIlBhbmRpeWFuLCBEaGluYWthcmFuIiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5j b20+CgpJdCBpcyBuZWNlc3NhcnkgdG8gdHJhY2sgc3RhdGVzIGZvciBvYmplY3RzIG90aGVyIHRo YW4gY29ubmVjdG9yLCBjcnRjCmFuZCBwbGFuZSBmb3IgYXRvbWljIG1vZGVzZXRzLiBCdXQgYWRk aW5nIG9iamVjdHMgbGlrZSBEUCBNU1QgbGluawpiYW5kd2lkdGggdG8gZHJtX2F0b21pY19zdGF0 ZSB3b3VsZCBtZWFuIHRoYXQgYSBub24tY29yZSBvYmplY3Qgd2lsbCBiZQptb2RpZmllZCBieSB0 aGUgY29yZSBoZWxwZXIgZnVuY3Rpb25zIGZvciBzd2FwcGluZyBhbmQgY2xlYXJpbmcKaXQncyBz dGF0ZS4gU28sIGxldHMgYWRkIHZvaWQgKiBvYmplY3RzIGFuZCBoZWxwZXIgZnVuY3Rpb25zIHRo YXQgb3BlcmF0ZQpvbiB2b2lkICogdHlwZXMgdG8ga2VlcCB0aGVzZSBvYmplY3RzIGFuZCBzdGF0 ZXMgcHJpdmF0ZSB0byB0aGUgY29yZS4KRHJpdmVycyBjYW4gdGhlbiBpbXBsZW1lbnQgc3BlY2lm aWMgZnVuY3Rpb25zIHRvIHN3YXAgYW5kIGNsZWFyIHN0YXRlcy4KVGhlIG90aGVyIGFkdmFudGFn ZSBoYXZpbmcganVzdCB2b2lkICogZm9yIHRoZXNlIG9iamVjdHMgaW4KZHJtX2F0b21pY19zdGF0 ZSBpcyB0aGF0IG9iamVjdHMgb2YgZGlmZmVyZW50IHR5cGVzIGNhbiBiZSBtYW5hZ2VkIGluIHRo ZQpzYW1lIHN0YXRlIGFycmF5LgoKdjc6IFVzZSBfX2Zvcl9lYWNoX3ByaXZhdGVfb2JqIHRvIGRl ZmluZSBmb3JfZWFjaF9wcml2YXRlX29iaiAoTWFhcnRlbikKdjY6IE1vcmUga2VybmVsLWRvYyB0 byBrZWVwIDAtZGF5IGhhcHB5CnY1OiBSZW1vdmUgbW9yZSBOVUxMIGNoZWNrcyAoTWFhcnRlbikK djQ6IEF2b2lkIHJlZHVuZGFudCBOVUxMIGNoZWNrcyB3aGVuIHByaXZhdGVfb2JqcyBhcnJheSBp cyBlbXB0eSAoTWFhcnRlbikKdjM6IE1hY3JvIGFsaWdubWVudCAoQ2hyaXMpCnYyOiBBZGRlZCBk b2NzIGFuZCBuZXcgaXRlcmF0b3IgdG8gZmlsdGVyIHByaXZhdGUgb2JqZWN0cyAoRGFuaWVsKQoK Q2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CkNjOiBNYWFydGVuIExh bmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpDYzogQXJjaGl0IFRh bmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hy aXMtd2lsc29uLmNvLnVrPgpDYzogSGFycnkgV2VudGxhbmQgPEhhcnJ5LndlbnRsYW5kQGFtZC5j b20+CgpBY2tlZC1ieTogSGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+ClJl dmlld2VkLWJ5OiBIYXJyeSBXZW50bGFuZCA8aGFycnkud2VudGxhbmRAYW1kLmNvbT4KUmV2aWV3 ZWQtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5j b20+ClN1Z2dlc3RlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4K U2lnbmVkLW9mZi1ieTogRGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBp bnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgfCA2NSAr KysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxw ZXIuYyB8ICA1ICsrCiBpbmNsdWRlL2RybS9kcm1fYXRvbWljLmggICAgICAgICAgICB8IDk1ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTY1 IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5j IGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwppbmRleCAzMDIyOWFiLi44ZTVmM2ViIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljLmMKQEAgLTU3LDYgKzU3LDcgQEAgdm9pZCBkcm1fYXRvbWljX3N0YXRl X2RlZmF1bHRfcmVsZWFzZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJa2ZyZWUo c3RhdGUtPmNvbm5lY3RvcnMpOwogCWtmcmVlKHN0YXRlLT5jcnRjcyk7CiAJa2ZyZWUoc3RhdGUt PnBsYW5lcyk7CisJa2ZyZWUoc3RhdGUtPnByaXZhdGVfb2Jqcyk7CiB9CiBFWFBPUlRfU1lNQk9M KGRybV9hdG9taWNfc3RhdGVfZGVmYXVsdF9yZWxlYXNlKTsKIApAQCAtMTg0LDYgKzE4NSwxNyBA QCB2b2lkIGRybV9hdG9taWNfc3RhdGVfZGVmYXVsdF9jbGVhcihzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpCiAJCXN0YXRlLT5wbGFuZXNbaV0ucHRyID0gTlVMTDsKIAkJc3RhdGUtPnBs YW5lc1tpXS5zdGF0ZSA9IE5VTEw7CiAJfQorCisJZm9yIChpID0gMDsgaSA8IHN0YXRlLT5udW1f cHJpdmF0ZV9vYmpzOyBpKyspIHsKKwkJdm9pZCAqb2JqX3N0YXRlID0gc3RhdGUtPnByaXZhdGVf b2Jqc1tpXS5vYmpfc3RhdGU7CisKKwkJc3RhdGUtPnByaXZhdGVfb2Jqc1tpXS5mdW5jcy0+ZGVz dHJveV9zdGF0ZShvYmpfc3RhdGUpOworCQlzdGF0ZS0+cHJpdmF0ZV9vYmpzW2ldLm9iaiA9IE5V TEw7CisJCXN0YXRlLT5wcml2YXRlX29ianNbaV0ub2JqX3N0YXRlID0gTlVMTDsKKwkJc3RhdGUt PnByaXZhdGVfb2Jqc1tpXS5mdW5jcyA9IE5VTEw7CisJfQorCXN0YXRlLT5udW1fcHJpdmF0ZV9v YmpzID0gMDsKKwogfQogRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX3N0YXRlX2RlZmF1bHRfY2xl YXIpOwogCkBAIC05NzgsNiArOTkwLDU5IEBAIHN0YXRpYyB2b2lkIGRybV9hdG9taWNfcGxhbmVf cHJpbnRfc3RhdGUoc3RydWN0IGRybV9wcmludGVyICpwLAogfQogCiAvKioKKyAqIGRybV9hdG9t aWNfZ2V0X3ByaXZhdGVfb2JqX3N0YXRlIC0gZ2V0IHByaXZhdGUgb2JqZWN0IHN0YXRlCisgKiBA c3RhdGU6IGdsb2JhbCBhdG9taWMgc3RhdGUKKyAqIEBvYmo6IHByaXZhdGUgb2JqZWN0IHRvIGdl dCB0aGUgc3RhdGUgZm9yCisgKiBAZnVuY3M6IHBvaW50ZXIgdG8gdGhlIHN0cnVjdCBvZiBmdW5j dGlvbiBwb2ludGVycyB0aGF0IGlkZW50aWZ5IHRoZSBvYmplY3QKKyAqIHR5cGUKKyAqCisgKiBU aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHByaXZhdGUgb2JqZWN0IHN0YXRlIGZvciB0aGUgZ2l2 ZW4gcHJpdmF0ZSBvYmplY3QsCisgKiBhbGxvY2F0aW5nIHRoZSBzdGF0ZSBpZiBuZWVkZWQuIEl0 IGRvZXMgbm90IGdyYWIgYW55IGxvY2tzIGFzIHRoZSBjYWxsZXIgaXMKKyAqIGV4cGVjdGVkIHRv IGNhcmUgb2YgYW55IHJlcXVpcmVkIGxvY2tpbmcuCisgKgorICogUkVUVVJOUzoKKyAqCisgKiBF aXRoZXIgdGhlIGFsbG9jYXRlZCBzdGF0ZSBvciB0aGUgZXJyb3IgY29kZSBlbmNvZGVkIGludG8g YSBwb2ludGVyLgorICovCit2b2lkICoKK2RybV9hdG9taWNfZ2V0X3ByaXZhdGVfb2JqX3N0YXRl KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwgdm9pZCAqb2JqLAorCQkJICAgICAgY29u c3Qgc3RydWN0IGRybV9wcml2YXRlX3N0YXRlX2Z1bmNzICpmdW5jcykKK3sKKwlpbnQgaW5kZXgs IG51bV9vYmpzLCBpOworCXNpemVfdCBzaXplOworCXN0cnVjdCBfX2RybV9wcml2YXRlX29ianNf c3RhdGUgKmFycjsKKworCWZvciAoaSA9IDA7IGkgPCBzdGF0ZS0+bnVtX3ByaXZhdGVfb2Jqczsg aSsrKQorCQlpZiAob2JqID09IHN0YXRlLT5wcml2YXRlX29ianNbaV0ub2JqICYmCisJCSAgICBz dGF0ZS0+cHJpdmF0ZV9vYmpzW2ldLm9ial9zdGF0ZSkKKwkJCXJldHVybiBzdGF0ZS0+cHJpdmF0 ZV9vYmpzW2ldLm9ial9zdGF0ZTsKKworCW51bV9vYmpzID0gc3RhdGUtPm51bV9wcml2YXRlX29i anMgKyAxOworCXNpemUgPSBzaXplb2YoKnN0YXRlLT5wcml2YXRlX29ianMpICogbnVtX29ianM7 CisJYXJyID0ga3JlYWxsb2Moc3RhdGUtPnByaXZhdGVfb2Jqcywgc2l6ZSwgR0ZQX0tFUk5FTCk7 CisJaWYgKCFhcnIpCisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOworCisJc3RhdGUtPnByaXZh dGVfb2JqcyA9IGFycjsKKwlpbmRleCA9IHN0YXRlLT5udW1fcHJpdmF0ZV9vYmpzOworCW1lbXNl dCgmc3RhdGUtPnByaXZhdGVfb2Jqc1tpbmRleF0sIDAsIHNpemVvZigqc3RhdGUtPnByaXZhdGVf b2JqcykpOworCisJc3RhdGUtPnByaXZhdGVfb2Jqc1tpbmRleF0ub2JqX3N0YXRlID0gZnVuY3Mt PmR1cGxpY2F0ZV9zdGF0ZShzdGF0ZSwgb2JqKTsKKwlpZiAoIXN0YXRlLT5wcml2YXRlX29ianNb aW5kZXhdLm9ial9zdGF0ZSkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisKKwlzdGF0ZS0+ cHJpdmF0ZV9vYmpzW2luZGV4XS5vYmogPSBvYmo7CisJc3RhdGUtPnByaXZhdGVfb2Jqc1tpbmRl eF0uZnVuY3MgPSBmdW5jczsKKwlzdGF0ZS0+bnVtX3ByaXZhdGVfb2JqcyA9IG51bV9vYmpzOwor CisJRFJNX0RFQlVHX0FUT01JQygiQWRkZWQgbmV3IHByaXZhdGUgb2JqZWN0IHN0YXRlICVwIHRv ICVwXG4iLAorCQkJIHN0YXRlLT5wcml2YXRlX29ianNbaW5kZXhdLm9ial9zdGF0ZSwgc3RhdGUp OworCisJcmV0dXJuIHN0YXRlLT5wcml2YXRlX29ianNbaW5kZXhdLm9ial9zdGF0ZTsKK30KK0VY UE9SVF9TWU1CT0woZHJtX2F0b21pY19nZXRfcHJpdmF0ZV9vYmpfc3RhdGUpOworCisvKioKICAq IGRybV9hdG9taWNfZ2V0X2Nvbm5lY3Rvcl9zdGF0ZSAtIGdldCBjb25uZWN0b3Igc3RhdGUKICAq IEBzdGF0ZTogZ2xvYmFsIGF0b21pYyBzdGF0ZSBvYmplY3QKICAqIEBjb25uZWN0b3I6IGNvbm5l Y3RvciB0byBnZXQgc3RhdGUgb2JqZWN0IGZvcgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIu YwppbmRleCBjZmVkYTVmLi5jY2UwNWZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY19oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIu YwpAQCAtMjAzMiw2ICsyMDMyLDggQEAgdm9pZCBkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRl KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZTsKIAlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGUsICpuZXdfcGxhbmVf c3RhdGU7CiAJc3RydWN0IGRybV9jcnRjX2NvbW1pdCAqY29tbWl0OworCXZvaWQgKm9iaiwgKm9i al9zdGF0ZTsKKwljb25zdCBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3MgKmZ1bmNzOwog CiAJaWYgKHN0YWxsKSB7CiAJCWZvcl9lYWNoX25ld19jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRj LCBuZXdfY3J0Y19zdGF0ZSwgaSkgewpAQCAtMjA5Miw2ICsyMDk0LDkgQEAgdm9pZCBkcm1fYXRv bWljX2hlbHBlcl9zd2FwX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJ c3RhdGUtPnBsYW5lc1tpXS5zdGF0ZSA9IG9sZF9wbGFuZV9zdGF0ZTsKIAkJcGxhbmUtPnN0YXRl ID0gbmV3X3BsYW5lX3N0YXRlOwogCX0KKworCV9fZm9yX2VhY2hfcHJpdmF0ZV9vYmooc3RhdGUs IG9iaiwgb2JqX3N0YXRlLCBpLCBmdW5jcykKKwkJZnVuY3MtPnN3YXBfc3RhdGUob2JqLCAmc3Rh dGUtPnByaXZhdGVfb2Jqc1tpXS5vYmpfc3RhdGUpOwogfQogRVhQT1JUX1NZTUJPTChkcm1fYXRv bWljX2hlbHBlcl9zd2FwX3N0YXRlKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0 b21pYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCmluZGV4IDc4OGRhZjcuLjg2NDVkY2Qg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaAorKysgYi9pbmNsdWRlL2RybS9k cm1fYXRvbWljLmgKQEAgLTE1NSw2ICsxNTUsNTMgQEAgc3RydWN0IF9fZHJtX2Nvbm5uZWN0b3Jz X3N0YXRlIHsKIH07CiAKIC8qKgorICogc3RydWN0IGRybV9wcml2YXRlX3N0YXRlX2Z1bmNzIC0g YXRvbWljIHN0YXRlIGZ1bmN0aW9ucyBmb3IgcHJpdmF0ZSBvYmplY3RzCisgKgorICogVGhlc2Ug aG9va3MgYXJlIHVzZWQgYnkgYXRvbWljIGhlbHBlcnMgdG8gY3JlYXRlLCBzd2FwIGFuZCBkZXN0 cm95IHN0YXRlcyBvZgorICogcHJpdmF0ZSBvYmplY3RzLiBUaGUgc3RydWN0dXJlIGl0c2VsZiBp cyB1c2VkIGFzIGEgdnRhYmxlIHRvIGlkZW50aWZ5IHRoZQorICogYXNzb2NpYXRlZCBwcml2YXRl IG9iamVjdCB0eXBlLiBFYWNoIHByaXZhdGUgb2JqZWN0IHR5cGUgdGhhdCBuZWVkcyB0byBiZQor ICogYWRkZWQgdG8gdGhlIGF0b21pYyBzdGF0ZXMgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBhbiBpbXBs ZW1lbnRhdGlvbiBvZiB0aGVzZQorICogaG9va3MgYW5kIHBhc3MgYSBwb2ludGVyIHRvIGl0J3Mg ZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3Mgc3RydWN0IHRvCisgKiBkcm1fYXRvbWljX2dldF9wcml2 YXRlX29ial9zdGF0ZSgpLgorICovCitzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3Mgewor CS8qKgorCSAqIEBkdXBsaWNhdGVfc3RhdGU6CisJICoKKwkgKiBEdXBsaWNhdGUgdGhlIGN1cnJl bnQgc3RhdGUgb2YgdGhlIHByaXZhdGUgb2JqZWN0IGFuZCByZXR1cm4gaXQuIEl0CisJICogaXMg YW4gZXJyb3IgdG8gY2FsbCB0aGlzIGJlZm9yZSBvYmotPnN0YXRlIGhhcyBiZWVuIGluaXRpYWxp emVkLgorCSAqCisJICogUkVUVVJOUzoKKwkgKgorCSAqIER1cGxpY2F0ZWQgYXRvbWljIHN0YXRl IG9yIE5VTEwgd2hlbiBvYmotPnN0YXRlIGlzIG5vdAorCSAqIGluaXRpYWxpemVkIG9yIGFsbG9j YXRpb24gZmFpbGVkLgorCSAqLworCXZvaWQgKigqZHVwbGljYXRlX3N0YXRlKShzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUsIHZvaWQgKm9iaik7CisKKwkvKioKKwkgKiBAc3dhcF9zdGF0 ZToKKwkgKgorCSAqIFRoaXMgZnVuY3Rpb24gc3dhcHMgdGhlIGV4aXN0aW5nIHN0YXRlIG9mIGEg cHJpdmF0ZSBvYmplY3QgQG9iaiB3aXRoCisJICogaXQncyBuZXdseSBjcmVhdGVkIHN0YXRlLCB0 aGUgcG9pbnRlciB0byB3aGljaCBpcyBwYXNzZWQgYXMKKwkgKiBAb2JqX3N0YXRlX3B0ci4KKwkg Ki8KKwl2b2lkICgqc3dhcF9zdGF0ZSkodm9pZCAqb2JqLCB2b2lkICoqb2JqX3N0YXRlX3B0cik7 CisKKwkvKioKKwkgKiBAZGVzdHJveV9zdGF0ZToKKwkgKgorCSAqIEZyZWVzIHRoZSBwcml2YXRl IG9iamVjdCBzdGF0ZSBjcmVhdGVkIHdpdGggQGR1cGxpY2F0ZV9zdGF0ZS4KKwkgKi8KKwl2b2lk ICgqZGVzdHJveV9zdGF0ZSkodm9pZCAqb2JqX3N0YXRlKTsKK307CisKK3N0cnVjdCBfX2RybV9w cml2YXRlX29ianNfc3RhdGUgeworCXZvaWQgKm9iajsKKwl2b2lkICpvYmpfc3RhdGU7CisJY29u c3Qgc3RydWN0IGRybV9wcml2YXRlX3N0YXRlX2Z1bmNzICpmdW5jczsKK307CisKKy8qKgogICog c3RydWN0IGRybV9hdG9taWNfc3RhdGUgLSB0aGUgZ2xvYmFsIHN0YXRlIG9iamVjdCBmb3IgYXRv bWljIHVwZGF0ZXMKICAqIEByZWY6IGNvdW50IG9mIGFsbCByZWZlcmVuY2VzIHRvIHRoaXMgc3Rh dGUgKHdpbGwgbm90IGJlIGZyZWVkIHVudGlsIHplcm8pCiAgKiBAZGV2OiBwYXJlbnQgRFJNIGRl dmljZQpAQCAtMTY0LDYgKzIxMSw4IEBAIHN0cnVjdCBfX2RybV9jb25ubmVjdG9yc19zdGF0ZSB7 CiAgKiBAY3J0Y3M6IHBvaW50ZXIgdG8gYXJyYXkgb2YgQ1JUQyBwb2ludGVycwogICogQG51bV9j b25uZWN0b3I6IHNpemUgb2YgdGhlIEBjb25uZWN0b3JzIGFuZCBAY29ubmVjdG9yX3N0YXRlcyBh cnJheXMKICAqIEBjb25uZWN0b3JzOiBwb2ludGVyIHRvIGFycmF5IG9mIHN0cnVjdHVyZXMgd2l0 aCBwZXItY29ubmVjdG9yIGRhdGEKKyAqIEBudW1fcHJpdmF0ZV9vYmpzOiBzaXplIG9mIHRoZSBA cHJpdmF0ZV9vYmpzIGFycmF5CisgKiBAcHJpdmF0ZV9vYmpzOiBwb2ludGVyIHRvIGFycmF5IG9m IHByaXZhdGUgb2JqZWN0IHBvaW50ZXJzCiAgKiBAYWNxdWlyZV9jdHg6IGFjcXVpcmUgY29udGV4 dCBmb3IgdGhpcyBhdG9taWMgbW9kZXNldCBzdGF0ZSB1cGRhdGUKICAqLwogc3RydWN0IGRybV9h dG9taWNfc3RhdGUgewpAQCAtMTc2LDYgKzIyNSw4IEBAIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRl IHsKIAlzdHJ1Y3QgX19kcm1fY3J0Y3Nfc3RhdGUgKmNydGNzOwogCWludCBudW1fY29ubmVjdG9y OwogCXN0cnVjdCBfX2RybV9jb25ubmVjdG9yc19zdGF0ZSAqY29ubmVjdG9yczsKKwlpbnQgbnVt X3ByaXZhdGVfb2JqczsKKwlzdHJ1Y3QgX19kcm1fcHJpdmF0ZV9vYmpzX3N0YXRlICpwcml2YXRl X29ianM7CiAKIAlzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmFjcXVpcmVfY3R4Owog CkBAIC0yNjgsNiArMzE5LDExIEBAIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVy dHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJc3RydWN0IGRybV9jb25uZWN0 b3Jfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKIAkJdWludDY0 X3QgdmFsKTsKIAordm9pZCAqIF9fbXVzdF9jaGVjaworZHJtX2F0b21pY19nZXRfcHJpdmF0ZV9v Ympfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAorCQkJICAgICAgdm9pZCAq b2JqLAorCQkJICAgICAgY29uc3Qgc3RydWN0IGRybV9wcml2YXRlX3N0YXRlX2Z1bmNzICpmdW5j cyk7CisKIC8qKgogICogZHJtX2F0b21pY19nZXRfZXhpc3RpbmdfY3J0Y19zdGF0ZSAtIGdldCBj cnRjIHN0YXRlLCBpZiBpdCBleGlzdHMKICAqIEBzdGF0ZTogZ2xvYmFsIGF0b21pYyBzdGF0ZSBv YmplY3QKQEAgLTc1Myw2ICs4MDksNDUgQEAgdm9pZCBkcm1fc3RhdGVfZHVtcChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3ByaW50ZXIgKnApOwogCQlmb3JfZWFjaF9pZiAocGxh bmUpCiAKIC8qKgorICogX19mb3JfZWFjaF9wcml2YXRlX29iaiAtIGl0ZXJhdGUgb3ZlciBhbGwg cHJpdmF0ZSBvYmplY3RzCisgKiBAX19zdGF0ZTogJnN0cnVjdCBkcm1fYXRvbWljX3N0YXRlIHBv aW50ZXIKKyAqIEBvYmo6IHByaXZhdGUgb2JqZWN0IGl0ZXJhdGlvbiBjdXJzb3IKKyAqIEBvYmpf c3RhdGU6IHByaXZhdGUgb2JqZWN0IHN0YXRlIGl0ZXJhdGlvbiBjdXJzb3IKKyAqIEBfX2k6IGlu dCBpdGVyYXRpb24gY3Vyc29yLCBmb3IgbWFjcm8taW50ZXJuYWwgdXNlCisgKiBAX19mdW5jczog JnN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZV9mdW5jcyBpdGVyYXRpb24gY3Vyc29yCisgKgorICog VGhpcyBtYWNybyBpdGVyYXRlcyBvdmVyIHRoZSBhcnJheSBjb250YWluaW5nIHByaXZhdGUgb2Jq ZWN0IGRhdGEgaW4gYXRvbWljCisgKiBzdGF0ZQorICovCisjZGVmaW5lIF9fZm9yX2VhY2hfcHJp dmF0ZV9vYmooX19zdGF0ZSwgb2JqLCBvYmpfc3RhdGUsIF9faSwgX19mdW5jcykJXAorCWZvciAo KF9faSkgPSAwOwkJCQkJCQlcCisJICAgICAoX19pKSA8IChfX3N0YXRlKS0+bnVtX3ByaXZhdGVf b2JqcyAmJgkJCVwKKwkgICAgICgob2JqKSA9IChfX3N0YXRlKS0+cHJpdmF0ZV9vYmpzW19faV0u b2JqLAkJCVwKKwkgICAgICAoX19mdW5jcykgPSAoX19zdGF0ZSktPnByaXZhdGVfb2Jqc1tfX2ld LmZ1bmNzLAkJXAorCSAgICAgIChvYmpfc3RhdGUpID0gKF9fc3RhdGUpLT5wcml2YXRlX29ianNb X19pXS5vYmpfc3RhdGUsCVwKKwkgICAgICAxKTsJCQkJCQkJXAorCSAgICAgKF9faSkrKykJCQkJ CQkJXAorCisvKioKKyAqIGZvcl9lYWNoX3ByaXZhdGVfb2JqIC0gaXRlcmF0ZSBvdmVyIGEgc3Bl Y2lmeSB0eXBlIG9mIHByaXZhdGUgb2JqZWN0CisgKiBAX19zdGF0ZTogJnN0cnVjdCBkcm1fYXRv bWljX3N0YXRlIHBvaW50ZXIKKyAqIEBvYmpfZnVuY3M6ICZzdHJ1Y3QgZHJtX3ByaXZhdGVfc3Rh dGVfZnVuY3MgZnVuY3Rpb24gdGFibGUgdG8gZmlsdGVyCisgKiAJcHJpdmF0ZSBvYmplY3RzCisg KiBAb2JqOiBwcml2YXRlIG9iamVjdCBpdGVyYXRpb24gY3Vyc29yCisgKiBAb2JqX3N0YXRlOiBw cml2YXRlIG9iamVjdCBzdGF0ZSBpdGVyYXRpb24gY3Vyc29yCisgKiBAX19pOiBpbnQgaXRlcmF0 aW9uIGN1cnNvciwgZm9yIG1hY3JvLWludGVybmFsIHVzZQorICogQF9fZnVuY3M6ICZzdHJ1Y3Qg ZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3MgaXRlcmF0aW9uIGN1cnNvcgorICoKKyAqIFRoaXMgbWFj cm8gaXRlcmF0ZXMgb3ZlciB0aGUgcHJpdmF0ZSBvYmplY3RzIHN0YXRlIGFycmF5IHdoaWxlIGZp bHRlcmluZyB0aGUKKyAqIG9iamVjdHMgYmFzZWQgb24gdGhlIHZmdW5jIHRhYmxlIHRoYXQgaXMg cGFzc2VkIGFzIEBvYmpfZnVuY3MuIE5ldyBtYWNyb3MKKyAqIGNhbiBiZSBjcmVhdGVkIGJ5IHBh c3NpbmcgaW4gdGhlIHZmdW5jIHRhYmxlIGFzc29jaWF0ZWQgd2l0aCBhIHNwZWNpZmljCisgKiBw cml2YXRlIG9iamVjdC4KKyAqLworI2RlZmluZSBmb3JfZWFjaF9wcml2YXRlX29iaihfX3N0YXRl LCBvYmpfZnVuY3MsIG9iaiwgb2JqX3N0YXRlLCBfX2ksIF9fZnVuY3MpCVwKKwlfX2Zvcl9lYWNo X3ByaXZhdGVfb2JqKF9fc3RhdGUsIG9iaiwgb2JqX3N0YXRlLCBfX2ksIF9fZnVuY3MpCQlcCisJ CWZvcl9lYWNoX2lmIChfX2Z1bmNzID09IG9ial9mdW5jcykKKworLyoqCiAgKiBkcm1fYXRvbWlj X2NydGNfbmVlZHNfbW9kZXNldCAtIGNvbXB1dGUgY29tYmluZWQgbW9kZXNldCBuZWVkCiAgKiBA c3RhdGU6ICZkcm1fY3J0Y19zdGF0ZSBmb3IgdGhlIENSVEMKICAqCi0tIAoyLjcuNAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==