From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 05/17] drm: Add atomic driver interface definitions for objects Date: Sun, 2 Nov 2014 14:19:18 +0100 Message-ID: <1414934370-11924-6-git-send-email-daniel.vetter@ffwll.ch> References: <1414934370-11924-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1414934370-11924-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: DRI Development Cc: Daniel Vetter , Intel Graphics Development List-Id: dri-devel@lists.freedesktop.org SGVhdmlseSBiYXNlZCB1cG9uIFJvYiBDbGFyaydzIGF0b21pYyBzZXJpZXMuCi0gRHJvcHBlZCB0 aGUgY29ubmN0b3Igc3RhdGUgZnJvbSB0aGUgY3J0YyBzdGF0ZSwgaW5zdGVhZCBvcHRpbmcgZm9y IGEKICBmdWxsLWJsb3duIGNvbm5lY3RvciBzdGF0ZS4gVGhlIG9ubHkgdGhpbmcgaXQgaGFzIGlz IHRoZSBkZXNpcmVkCiAgY3J0YywgYnV0IGRyaXZlcnMgd2hpY2ggaGF2ZSBjb25uZWN0b3IgcHJv cGVydGllcyBoYXZlIG5vdyBhCiAgZGF0YS1zdHJ1Y3R1cmUgdG8gc3ViY2xhc3MuCgotIFJlbmFt ZSBjcmVhdGVfc3RhdGUgdG8gZHVwbGljYXRlX3N0YXRlLiBFc3BlY2lhbGx5IGZvciBsZWdhY3kg aW9jdGxzCiAgd2Ugd2FudCB1cGRhdGVzIG9uIHRvcCBvZiBleGlzdGluZyBzdGF0ZSwgc28gd2Ug bmVlZCBhIHdheSB0byBnZXQgYXQKICB0aGUgY3VycmVudCBzdGF0ZS4gV2UgbmVlZCB0byBiZSBj YXJlZnVsIHRvIGNsZWFyIHRoZSBiYWNrcG9pbnRlcnMKICB0byB0aGUgZ2xvYmFsIHN0YXRlIGNv cnJlY3RseSB0aG91Z2guCgotIERyb3AgcHJvcGVydHkgdmFsdWVzLiBEcml2ZXJzIHdpdGggcHJv cGVydGllcyBzaW1wbHkgbmVlZCB0bwogIHN1YmNsYXNzIHRoZSBkYXRhc3RydWN0dXJlcyBhbmQg dHJhY2sgdGhlIGRlY29kZWQgdmFsdWVzIGluIHRoZXJlLiBJCiAgYWxzbyB0aGluayB0aGF0IGNv bW1vbiBwcm9wZXJ0aWVzIChsaWtlIHJvdGF0aW9uKSBzaG91bGQgYmUgZGVjb2RlZAogIGFuZCBz dG9yZWQgaW4gdGhlIGNvcmUgc3RydWN0dXJlcy4KCi0gQ3JlYXRlIGEgbmV3IHNldCBvZiAtPmF0 b21pY19zZXRfcHJvcCBmdW5jdGlvbnMsIGZvciBzbW9vdGhlcgogIHRyYW5zaXRpb25zIGZyb20g bGVnYWN5IHRvIGF0b21pYyBvcGVyYXRpb25zLgoKLSBQYXNzIHRoZSAtPmF0b21pY19zZXRfcHJv cCBpb2N0bCB0aGUgcmlnaHQgc3RydWN0dXJlIHRvIGF2b2lkCiAgY2hhc2luZyBwb2ludGVycyBp biBkcml2ZXJzLgoKLSBEcm9wIHRlbXBvcmFyeSBib29sZWFuIHN0YXRlIGZvciBub3cgdW50aWwg d2UgcmVzdXJyZWN0IHRoZW0gd2l0aAogIHRoZSBoZWxwZXIgZnVuY3Rpb25zLgoKLSBEcm9wIGlu dmVydF9kaW1lbnNpb25zLiBGb3Igbm93IHdlIGRvbid0IG5lZWQgYW55IGNoZWNraW5nIHNpbmNl CiAgdGhhdCdzIGRvbmUgYnkgdGhlIGhpZ2hlci1sZXZlbCBsZWdhY3kgaW9jdGxzLiBCdXQgZXZl biB0aGVuIHdlCiAgc2hvdWxkIGFsc28gYWRkIHJvdGF0aW9uL2ZsaXAgdHJhY2tpbmcgdG8gdGhl IGNvcmUgZHJtX2NydGNfc3RhdGUsCiAgbm90IGp1c3Qgd2hldGhlciB0aGUgZGltZW5zaW9ucyBh cmUgaW52ZXJ0ZWQuCgotIFRyYWNrIGNydGMgc3RhdGUgd2l0aCBhbiBlbmFibGUvZGlzYWJsZS4g VGhhdCdzIGVxdWl2YWxlbnQgdG8KICBtb2RlX3ZhbGlkLCBidXQgYSBiaXQgY2xlYXJlciB0aGF0 IGl0IG1lYW5zIHRoZSBlbnRpcmUgY3J0Yy4KClRoZSBnbG9iYWwgaW50ZXJmYWNlIHdpbGwgZm9s bG93IGluIHN1YnNlcXVlbnQgcGF0Y2hlcy4KCnYyOiBXZSBuZWVkIHRvIGFsbG93IGRyaXZlcnMg dG8gc29tZWhvdyBzZXQgdXAgdGhlIGluaXRpYWwgc3RhdGUgYW5kCmNsZWFyIGl0IG9uIHJlc3Vt ZS4gU28gYWRkIGEgcGxhbmUtPnJlc2V0IGNhbGxiYWNrIGZvciB0aGF0LiBIZWxwZXJzCndpbGwg YmUgcHJvdmlkZWQgd2l0aCBkZWZhdWx0IGJlaGF2aW91ciBmb3IgYWxsIHRoZXNlLgoKdjM6IFNw bGl0IG91dCB0aGUgcGxhbmUtPnJlc2V0IGludG8gYSBzZXBhcmF0ZSBwYXRjaC4KCnY0OiBJbXBy b3ZlIGtlcm5lbGRvYyBpbiBkcm1fY3J0Yy5oCgp2NTogUmVtb3ZlIHVudXNlZCBpbmxpbmUgZnVu Y3Rpb25zIGZvciBoYW5kbGluZyBzdGF0ZSBvYmplY3RzLCB0aG9zZQpjYWxsYmFja3MgYXJlIG5v dyBtYW5kYXRvcnkgZm9yIGZ1bGwgYXRvbWljIHN1cHBvcnQuCgpTaWduZWQtb2ZmLWJ5OiBEYW5p ZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgotLS0KIGluY2x1ZGUvZHJtL2RybV9j cnRjLmggfCAxMDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogMSBmaWxlIGNoYW5nZWQsIDEwNyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvaW5j bHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKaW5kZXggYTY4ZTAy YmU3ZTM3Li45ODQ3MDA5YWQ0NTEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgK KysrIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaApAQCAtMjI0LDYgKzIyNCwyNSBAQCBzdHJ1Y3Qg ZHJtX2VuY29kZXI7CiBzdHJ1Y3QgZHJtX3BlbmRpbmdfdmJsYW5rX2V2ZW50Owogc3RydWN0IGRy bV9wbGFuZTsKIHN0cnVjdCBkcm1fYnJpZGdlOworc3RydWN0IGRybV9hdG9taWNfc3RhdGU7CisK Ky8qKgorICogc3RydWN0IGRybV9jcnRjX3N0YXRlIC0gbXV0YWJsZSBjcnRjIHN0YXRlCisgKiBA ZW5hYmxlOiB3aGV0aGVyIHRoZSBDUlRDIHNob3VsZCBiZSBlbmFibGVkLCBnYXRlcyBhbGwgb3Ro ZXIgc3RhdGUKKyAqIEBtb2RlOiBjdXJyZW50IG1vZGUgdGltaW5ncworICogQGV2ZW50OiBvcHRp b25hbCBwb2ludGVyIHRvIGEgRFJNIGV2ZW50IHRvIHNpZ25hbCB1cG9uIGNvbXBsZXRpb24gb2Yg dGhlCisgKiAJc3RhdGUgdXBkYXRlCisgKiBAc3RhdGU6IGJhY2twb2ludGVyIHRvIGdsb2JhbCBk cm1fYXRvbWljX3N0YXRlCisgKi8KK3N0cnVjdCBkcm1fY3J0Y19zdGF0ZSB7CisJYm9vbCBlbmFi bGUgICAgICAgIDogMTsKKworCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIG1vZGU7CisKKwlzdHJ1 Y3QgZHJtX3BlbmRpbmdfdmJsYW5rX2V2ZW50ICpldmVudDsKKworCXN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZTsKK307CiAKIC8qKgogICogc3RydWN0IGRybV9jcnRjX2Z1bmNzIC0gY29u dHJvbCBDUlRDcyBmb3IgYSBnaXZlbiBkZXZpY2UKQEAgLTIzOCw2ICsyNTcsOSBAQCBzdHJ1Y3Qg ZHJtX2JyaWRnZTsKICAqIEBzZXRfcHJvcGVydHk6IGNhbGxlZCB3aGVuIGEgcHJvcGVydHkgaXMg Y2hhbmdlZAogICogQHNldF9jb25maWc6IGFwcGx5IGEgbmV3IENSVEMgY29uZmlndXJhdGlvbgog ICogQHBhZ2VfZmxpcDogaW5pdGlhdGUgYSBwYWdlIGZsaXAKKyAqIEBhdG9taWNfZHVwbGljYXRl X3N0YXRlOiBkdXBsaWNhdGUgdGhlIGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBDUlRDCisgKiBAYXRv bWljX2Rlc3Ryb3lfc3RhdGU6IGRlc3Ryb3kgYW4gYXRvbWljIHN0YXRlIGZvciB0aGlzIENSVEMK KyAqIEBhdG9taWNfc2V0X3Byb3BlcnR5OiBzZXQgYSBwcm9wZXJ0eSBvbiBhbiBhdG9taWMgc3Rh dGUgZm9yIHRoaXMgQ1JUQwogICoKICAqIFRoZSBkcm1fY3J0Y19mdW5jcyBzdHJ1Y3R1cmUgaXMg dGhlIGNlbnRyYWwgQ1JUQyBtYW5hZ2VtZW50IHN0cnVjdHVyZQogICogaW4gdGhlIERSTS4gIEVh Y2ggQ1JUQyBjb250cm9scyBvbmUgb3IgbW9yZSBjb25uZWN0b3JzIChub3RlIHRoYXQgdGhlIG5h bWUKQEAgLTI4OCw2ICszMTAsMTUgQEAgc3RydWN0IGRybV9jcnRjX2Z1bmNzIHsKIAogCWludCAo KnNldF9wcm9wZXJ0eSkoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJICAgIHN0cnVjdCBkcm1f cHJvcGVydHkgKnByb3BlcnR5LCB1aW50NjRfdCB2YWwpOworCisJLyogYXRvbWljIHVwZGF0ZSBo YW5kbGluZyAqLworCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqKCphdG9taWNfZHVwbGljYXRlX3N0 YXRlKShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOworCXZvaWQgKCphdG9taWNfZGVzdHJveV9zdGF0 ZSkoc3RydWN0IGRybV9jcnRjICpjcnRjLAorCQkJCSAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRl ICpjc3RhdGUpOworCWludCAoKmF0b21pY19zZXRfcHJvcGVydHkpKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKKwkJCQkgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlLAorCQkJCSAgIHN0cnVj dCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAorCQkJCSAgIHVpbnQ2NF90IHZhbCk7CiB9OwogCiAv KioKQEAgLTMxNyw2ICszNDgsNyBAQCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MgewogICogQHBpeGVs ZHVyX25zOiBwcmVjaXNlIHBpeGVsIHRpbWluZwogICogQGhlbHBlcl9wcml2YXRlOiBtaWQtbGF5 ZXIgcHJpdmF0ZSBkYXRhCiAgKiBAcHJvcGVydGllczogcHJvcGVydHkgdHJhY2tpbmcgZm9yIHRo aXMgQ1JUQworICogQHN0YXRlOiBjdXJyZW50IGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBDUlRDCiAg KiBAYWNxdWlyZV9jdHg6IHBlci1DUlRDIGltcGxpY2l0IGFjcXVpcmUgY29udGV4dCB1c2VkIGJ5 IGF0b21pYyBkcml2ZXJzIGZvcgogICogCWxlZ2FjeSBpb2N0bHMKICAqCkBAIC0zNzQsNiArNDA2 LDggQEAgc3RydWN0IGRybV9jcnRjIHsKIAogCXN0cnVjdCBkcm1fb2JqZWN0X3Byb3BlcnRpZXMg cHJvcGVydGllczsKIAorCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGU7CisKIAkvKgogCSAq IEZvciBsZWdhY3kgY3J0YyBpb2N0bHMgc28gdGhhdCBhdG9taWMgZHJpdmVycyBjYW4gZ2V0IGF0 IHRoZSBsb2NraW5nCiAJICogYWNxdWlyZSBjb250ZXh0LgpAQCAtMzgxLDYgKzQxNSwxNiBAQCBz dHJ1Y3QgZHJtX2NydGMgewogCXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqYWNxdWly ZV9jdHg7CiB9OwogCisvKioKKyAqIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlIC0gbXV0YWJs ZSBjb25uZWN0b3Igc3RhdGUKKyAqIEBjcnRjOiBjcnRjIHRvIGNvbm5lY3QgY29ubmVjdG9yIHRv LCBOVUxMIGlmIGRpc2FibGVkCisgKiBAc3RhdGU6IGJhY2twb2ludGVyIHRvIGdsb2JhbCBkcm1f YXRvbWljX3N0YXRlCisgKi8KK3N0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlIHsKKwlzdHJ1Y3Qg ZHJtX2NydGMgKmNydGM7CisKKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cit9Owog CiAvKioKICAqIHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIC0gY29udHJvbCBjb25uZWN0b3Jz IG9uIGEgZ2l2ZW4gZGV2aWNlCkBAIC0zOTMsNiArNDM3LDEwIEBAIHN0cnVjdCBkcm1fY3J0YyB7 CiAgKiBAc2V0X3Byb3BlcnR5OiBwcm9wZXJ0eSBmb3IgdGhpcyBjb25uZWN0b3IgbWF5IG5lZWQg YW4gdXBkYXRlCiAgKiBAZGVzdHJveTogbWFrZSBvYmplY3QgZ28gYXdheQogICogQGZvcmNlOiBu b3RpZnkgdGhlIGRyaXZlciB0aGF0IHRoZSBjb25uZWN0b3IgaXMgZm9yY2VkIG9uCisgKiBAYXRv bWljX2R1cGxpY2F0ZV9zdGF0ZTogZHVwbGljYXRlIHRoZSBhdG9taWMgc3RhdGUgZm9yIHRoaXMg Y29ubmVjdG9yCisgKiBAYXRvbWljX2Rlc3Ryb3lfc3RhdGU6IGRlc3Ryb3kgYW4gYXRvbWljIHN0 YXRlIGZvciB0aGlzIGNvbm5lY3RvcgorICogQGF0b21pY19zZXRfcHJvcGVydHk6IHNldCBhIHBy b3BlcnR5IG9uIGFuIGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBjb25uZWN0b3IKKyAqCiAgKgogICog RWFjaCBDUlRDIG1heSBoYXZlIG9uZSBvciBtb3JlIGNvbm5lY3RvcnMgYXR0YWNoZWQgdG8gaXQu ICBUaGUgZnVuY3Rpb25zCiAgKiBiZWxvdyBhbGxvdyB0aGUgY29yZSBEUk0gY29kZSB0byBjb250 cm9sIGNvbm5lY3RvcnMsIGVudW1lcmF0ZSBhdmFpbGFibGUgbW9kZXMsCkBAIC00MTcsNiArNDY1 LDE1IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIHsKIAkJCSAgICAgdWludDY0X3QgdmFs KTsKIAl2b2lkICgqZGVzdHJveSkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7CiAJ dm9pZCAoKmZvcmNlKShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKKworCS8qIGF0 b21pYyB1cGRhdGUgaGFuZGxpbmcgKi8KKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqKCph dG9taWNfZHVwbGljYXRlX3N0YXRlKShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsK Kwl2b2lkICgqYXRvbWljX2Rlc3Ryb3lfc3RhdGUpKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsCisJCQkJICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY3N0YXRlKTsKKwlp bnQgKCphdG9taWNfc2V0X3Byb3BlcnR5KShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAorCQkJCSAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSwKKwkJCQkgICBzdHJ1 Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKKwkJCQkgICB1aW50NjRfdCB2YWwpOwogfTsKIAog LyoqCkBAIC01MTUsNiArNTcyLDcgQEAgc3RydWN0IGRybV9lbmNvZGVyIHsKICAqIEBudWxsX2Vk aWRfY291bnRlcjogdHJhY2sgc2lua3MgdGhhdCBnaXZlIHVzIGFsbCB6ZXJvcyBmb3IgdGhlIEVE SUQKICAqIEBiYWRfZWRpZF9jb3VudGVyOiB0cmFjayBzaW5rcyB0aGF0IGdpdmUgdXMgYW4gRURJ RCB3aXRoIGludmFsaWQgY2hlY2tzdW0KICAqIEBkZWJ1Z2ZzX2VudHJ5OiBkZWJ1Z2ZzIGRpcmVj dG9yeSBmb3IgdGhpcyBjb25uZWN0b3IKKyAqIEBzdGF0ZTogY3VycmVudCBhdG9taWMgc3RhdGUg Zm9yIHRoaXMgY29ubmVjdG9yCiAgKgogICogRWFjaCBjb25uZWN0b3IgbWF5IGJlIGNvbm5lY3Rl ZCB0byBvbmUgb3IgbW9yZSBDUlRDcywgb3IgbWF5IGJlIGNsb25hYmxlIGJ5CiAgKiBhbm90aGVy IGNvbm5lY3RvciBpZiB0aGV5IGNhbiBzaGFyZSBhIENSVEMuICBFYWNoIGNvbm5lY3RvciBhbHNv IGhhcyBhIHNwZWNpZmljCkBAIC01NzUsOCArNjMzLDQyIEBAIHN0cnVjdCBkcm1fY29ubmVjdG9y IHsKIAl1bnNpZ25lZCBiYWRfZWRpZF9jb3VudGVyOwogCiAJc3RydWN0IGRlbnRyeSAqZGVidWdm c19lbnRyeTsKKworCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZTsKK307CisKKy8q KgorICogc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAtIG11dGFibGUgcGxhbmUgc3RhdGUKKyAqIEBj cnRjOiBjdXJyZW50bHkgYm91bmQgQ1JUQywgTlVMTCBpZiBkaXNhYmxlZAorICogQGZiOiBjdXJy ZW50bHkgYm91bmQgZmIKKyAqIEBjcnRjX3g6IGxlZnQgcG9zaXRpb24gb2YgdmlzaWJsZSBwb3J0 aW9uIG9mIHBsYW5lIG9uIGNydGMKKyAqIEBjcnRjX3k6IHVwcGVyIHBvc2l0aW9uIG9mIHZpc2li bGUgcG9ydGlvbiBvZiBwbGFuZSBvbiBjcnRjCisgKiBAY3J0Y193OiB3aWR0aCBvZiB2aXNpYmxl IHBvcnRpb24gb2YgcGxhbmUgb24gY3J0YworICogQGNydGNfaDogaGVpZ2h0IG9mIHZpc2libGUg cG9ydGlvbiBvZiBwbGFuZSBvbiBjcnRjCisgKiBAc3JjX3g6IGxlZnQgcG9zaXRpb24gb2Ygdmlz aWJsZSBwb3J0aW9uIG9mIHBsYW5lIHdpdGhpbgorICoJcGxhbmUgKGluIDE2LjE2KQorICogQHNy Y195OiB1cHBlciBwb3NpdGlvbiBvZiB2aXNpYmxlIHBvcnRpb24gb2YgcGxhbmUgd2l0aGluCisg KglwbGFuZSAoaW4gMTYuMTYpCisgKiBAc3JjX3c6IHdpZHRoIG9mIHZpc2libGUgcG9ydGlvbiBv ZiBwbGFuZSAoaW4gMTYuMTYpCisgKiBAc3JjX2g6IGhlaWdodCBvZiB2aXNpYmxlIHBvcnRpb24g b2YgcGxhbmUgKGluIDE2LjE2KQorICogQHN0YXRlOiBiYWNrcG9pbnRlciB0byBnbG9iYWwgZHJt X2F0b21pY19zdGF0ZQorICovCitzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlIHsKKwlzdHJ1Y3QgZHJt X2NydGMgKmNydGM7CisJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmI7CisKKwkvKiBTaWduZWQg ZGVzdCBsb2NhdGlvbiBhbGxvd3MgaXQgdG8gYmUgcGFydGlhbGx5IG9mZiBzY3JlZW4gKi8KKwlp bnQzMl90IGNydGNfeCwgY3J0Y195OworCXVpbnQzMl90IGNydGNfdywgY3J0Y19oOworCisJLyog U291cmNlIHZhbHVlcyBhcmUgMTYuMTYgZml4ZWQgcG9pbnQgKi8KKwl1aW50MzJfdCBzcmNfeCwg c3JjX3k7CisJdWludDMyX3Qgc3JjX2gsIHNyY193OworCisJc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlOwogfTsKIAorCiAvKioKICAqIHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgLSBkcml2 ZXIgcGxhbmUgY29udHJvbCBmdW5jdGlvbnMKICAqIEB1cGRhdGVfcGxhbmU6IHVwZGF0ZSB0aGUg cGxhbmUgY29uZmlndXJhdGlvbgpAQCAtNTg0LDYgKzY3Niw5IEBAIHN0cnVjdCBkcm1fY29ubmVj dG9yIHsKICAqIEBkZXN0cm95OiBjbGVhbiB1cCBwbGFuZSByZXNvdXJjZXMKICAqIEByZXNldDog cmVzZXQgcGxhbmUgYWZ0ZXIgc3RhdGUgaGFzIGJlZW4gaW52YWxpZGF0ZWQgKGUuZy4gcmVzdW1l KQogICogQHNldF9wcm9wZXJ0eTogY2FsbGVkIHdoZW4gYSBwcm9wZXJ0eSBpcyBjaGFuZ2VkCisg KiBAYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZTogZHVwbGljYXRlIHRoZSBhdG9taWMgc3RhdGUgZm9y IHRoaXMgcGxhbmUKKyAqIEBhdG9taWNfZGVzdHJveV9zdGF0ZTogZGVzdHJveSBhbiBhdG9taWMg c3RhdGUgZm9yIHRoaXMgcGxhbmUKKyAqIEBhdG9taWNfc2V0X3Byb3BlcnR5OiBzZXQgYSBwcm9w ZXJ0eSBvbiBhbiBhdG9taWMgc3RhdGUgZm9yIHRoaXMgcGxhbmUKICAqLwogc3RydWN0IGRybV9w bGFuZV9mdW5jcyB7CiAJaW50ICgqdXBkYXRlX3BsYW5lKShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwKQEAgLTU5OCw2ICs2OTMsMTUgQEAgc3RydWN0IGRybV9wbGFuZV9mdW5jcyB7CiAKIAlpbnQg KCpzZXRfcHJvcGVydHkpKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJICAgIHN0cnVjdCBk cm1fcHJvcGVydHkgKnByb3BlcnR5LCB1aW50NjRfdCB2YWwpOworCisJLyogYXRvbWljIHVwZGF0 ZSBoYW5kbGluZyAqLworCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKigqYXRvbWljX2R1cGxpY2F0 ZV9zdGF0ZSkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOworCXZvaWQgKCphdG9taWNfZGVzdHJv eV9zdGF0ZSkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCisJCQkJICAgICBzdHJ1Y3QgZHJtX3Bs YW5lX3N0YXRlICpjc3RhdGUpOworCWludCAoKmF0b21pY19zZXRfcHJvcGVydHkpKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAorCQkJCSAgIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlLAor CQkJCSAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAorCQkJCSAgIHVpbnQ2NF90IHZh bCk7CiB9OwogCiBlbnVtIGRybV9wbGFuZV90eXBlIHsKQEAgLTYyMSw2ICs3MjUsNyBAQCBlbnVt IGRybV9wbGFuZV90eXBlIHsKICAqIEBmdW5jczogaGVscGVyIGZ1bmN0aW9ucwogICogQHByb3Bl cnRpZXM6IHByb3BlcnR5IHRyYWNraW5nIGZvciB0aGlzIHBsYW5lCiAgKiBAdHlwZTogdHlwZSBv ZiBwbGFuZSAob3ZlcmxheSwgcHJpbWFyeSwgY3Vyc29yKQorICogQHN0YXRlOiBjdXJyZW50IGF0 b21pYyBzdGF0ZSBmb3IgdGhpcyBwbGFuZQogICovCiBzdHJ1Y3QgZHJtX3BsYW5lIHsKIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2OwpAQCAtNjQyLDYgKzc0Nyw4IEBAIHN0cnVjdCBkcm1fcGxhbmUg ewogCXN0cnVjdCBkcm1fb2JqZWN0X3Byb3BlcnRpZXMgcHJvcGVydGllczsKIAogCWVudW0gZHJt X3BsYW5lX3R5cGUgdHlwZTsKKworCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlOwogfTsK IAogLyoqCi0tIAoyLjEuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK