From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 04/13] drm: add atomic_set_property wrappers Date: Wed, 17 Dec 2014 14:43:44 +0100 Message-ID: <20141217134344.GH2711@phenom.ffwll.local> References: <1418771141-16954-1-git-send-email-robdclark@gmail.com> <1418771141-16954-5-git-send-email-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f48.google.com (mail-wg0-f48.google.com [74.125.82.48]) by gabe.freedesktop.org (Postfix) with ESMTP id 0F6FC6E1B4 for ; Wed, 17 Dec 2014 05:43:09 -0800 (PST) Received: by mail-wg0-f48.google.com with SMTP id y19so20347343wgg.35 for ; Wed, 17 Dec 2014 05:43:08 -0800 (PST) Content-Disposition: inline In-Reply-To: <1418771141-16954-5-git-send-email-robdclark@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Clark Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBEZWMgMTYsIDIwMTQgYXQgMDY6MDU6MzJQTSAtMDUwMCwgUm9iIENsYXJrIHdyb3Rl Ogo+IEFzIHdlIGFkZCBwcm9wZXJ0aWVzIGZvciBhbGwgdGhlIHN0YW5kYXJkIHBsYW5lL2NydGMv Y29ubmVjdG9yCj4gYXR0cmlidXRlcyAoaW4gcHJlcGVyYXRpb24gZm9yIHRoZSBhdG9taWMgaW9j dGwpLCB3ZSBhcmUgZ29pbmcgdG8gd2FudAo+IHRvIGhhbmRsZSBjb3JlIHN0YXRlIGluIGNvcmUg KHJhdGhlciB0aGFuIHBlciBkcml2ZXIpLiAgSW50ZXJjZXB0aW5nIHRoZQo+IGNvcmUgcHJvcGVy dGllcyB3aWxsIGJlIGVhc2llciBpZiB0aGUgYXRvbWljX3NldF9wcm9wZXJ0eSB2ZnVuY3MgYXJl IG5vdAo+IGNhbGxlZCBkaXJlY3RseSwgYnV0IGluc3RlYWQgaGF2ZSBhIG1hbmRhdG9yeSB3cmFw cGVyIGZ1bmN0aW9uICh3aGljaAo+IHdpbGwgbGF0ZXIgc2VydmUgYXMgdGhlIHBvaW50IHRvIGlu dGVyY2VwdCBjb3JlIHByb3BlcnRpZXMpLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFJvYiBDbGFyayA8 cm9iZGNsYXJrQGdtYWlsLmNvbT4KClR3byBzdWdnZXN0aW9ucyBmb3IgY29tbWVudCBpbXByb3Zl bWVudHMgYmVsb3cuIFdpdGggdGhhdCBhZGRyZXNzZWQ6CgpSZXZpZXdlZC1ieTogRGFuaWVsIFZl dHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljLmMgICAgICAgIHwgNzggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8IDEyICsrKy0tLQo+ ICBpbmNsdWRlL2RybS9kcm1fYXRvbWljLmggICAgICAgICAgICB8ICA5ICsrKysrCj4gIGluY2x1 ZGUvZHJtL2RybV9jcnRjLmggICAgICAgICAgICAgIHwgIDMgKysKPiAgNCBmaWxlcyBjaGFuZ2Vk LCA5NiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ IGluZGV4IGZmNWYwMzQuLjEyNjFhZGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBAQCAtMjE3 LDYgKzIxNywyOCBAQCBkcm1fYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSwKPiAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2dldF9jcnRjX3N0YXRl KTsKPiAgCj4gIC8qKgo+ICsgKiBkcm1fYXRvbWljX2NydGNfc2V0X3Byb3BlcnR5IC0gc2V0IHBy b3BlcnR5IG9uIGNvbm5lY3Rvcgo+ICsgKiBAY3J0YzogdGhlIGRybSBDUlRDIHRvIHNldCBhIHBy b3BlcnR5IG9uCj4gKyAqIEBzdGF0ZTogdGhlIHN0YXRlIG9iamVjdCB0byB1cGRhdGUgd2l0aCB0 aGUgbmV3IHByb3BlcnR5IHZhbHVlCj4gKyAqIEBwcm9wZXJ0eTogdGhlIHByb3BlcnR5IHRvIHNl dAo+ICsgKiBAdmFsOiB0aGUgbmV3IHByb3BlcnR5IHZhbHVlCj4gKyAqCj4gKyAqIFVzZSB0aGlz IGluc3RlYWQgb2YgY2FsbGluZyBjcnRjLT5hdG9taWNfc2V0X3Byb3BlcnR5IGRpcmVjdGx5CgpN YXliZSBjbGFyaWZ5IGEgYml0IG1vcmUgaGVyZS4gV2hhdCBhYm91dAoKIlRoaXMgZnVuY3Rpb24g ZGlyZWN0bHkgcHJvY2Vzc2VzIGdlbmVyaWMgcHJvcGVydGllcyAoYm90aCBtYW5kYXRvcnkgYW5k Cm9wdGlvbmFsIG9uZXMpIGFuZCBjYWxscyBpbnRvIHRoZSBkcml2ZXIncyAtPmF0b21pY19zZXRf cHJvcGVydHkgaG9vayBmb3IKYW55dGhpbmcgZWxzZS4gVG8gZXNudXJlIGNvbnNpc3RlbnQgYmVo YXZpb3IgdGhpcyB3cmFwcGVyIG11c3QgYmUgdXNlZAppbnN0ZWFkIG9mIGNhbGxpbmcgdGhlIGRy aXZlciBob29rIGRpcmVjdGx5LCBldmVuIGZvciBkcml2ZXIgcHJpdmF0ZQpwcm9wZXJ0aWVzLiIK CkEgYml0IG11Y2ggcGVyaGFwcywgYnV0IGtlcm5lbGRvYyBpcyBjaGVhcCA7LSkKCj4gKyAqCj4g KyAqIFJFVFVSTlM6Cj4gKyAqIFplcm8gb24gc3VjY2VzcywgZXJyb3IgY29kZSBvbiBmYWlsdXJl Cj4gKyAqLwo+ICtpbnQgZHJtX2F0b21pY19jcnRjX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCj4gKwkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwgc3RydWN0IGRybV9w cm9wZXJ0eSAqcHJvcGVydHksCj4gKwkJdWludDY0X3QgdmFsKQo+ICt7Cj4gKwlpZiAoY3J0Yy0+ ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkpCj4gKwkJcmV0dXJuIGNydGMtPmZ1bmNzLT5hdG9t aWNfc2V0X3Byb3BlcnR5KGNydGMsIHN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsKPiArCXJldHVybiAt RUlOVkFMOwo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJtX2F0b21pY19jcnRjX3NldF9wcm9wZXJ0 eSk7Cj4gKwo+ICsvKioKPiAgICogZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUgLSBnZXQgcGxh bmUgc3RhdGUKPiAgICogQHN0YXRlOiBnbG9iYWwgYXRvbWljIHN0YXRlIG9iamVjdAo+ICAgKiBA cGxhbmU6IHBsYW5lIHRvIGdldCBzdGF0ZSBvYmplY3QgZm9yCj4gQEAgLTI3Miw2ICsyOTQsMjgg QEAgZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0 YXRlLAo+ICBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlKTsKPiAgCj4g IC8qKgo+ICsgKiBkcm1fYXRvbWljX3BsYW5lX3NldF9wcm9wZXJ0eSAtIHNldCBwcm9wZXJ0eSBv biBwbGFuZQo+ICsgKiBAcGxhbmU6IHRoZSBkcm0gcGxhbmUgdG8gc2V0IGEgcHJvcGVydHkgb24K PiArICogQHN0YXRlOiB0aGUgc3RhdGUgb2JqZWN0IHRvIHVwZGF0ZSB3aXRoIHRoZSBuZXcgcHJv cGVydHkgdmFsdWUKPiArICogQHByb3BlcnR5OiB0aGUgcHJvcGVydHkgdG8gc2V0Cj4gKyAqIEB2 YWw6IHRoZSBuZXcgcHJvcGVydHkgdmFsdWUKPiArICoKPiArICogVXNlIHRoaXMgaW5zdGVhZCBv ZiBjYWxsaW5nIHBsYW5lLT5hdG9taWNfc2V0X3Byb3BlcnR5IGRpcmVjdGx5Cj4gKyAqCj4gKyAq IFJFVFVSTlM6Cj4gKyAqIFplcm8gb24gc3VjY2VzcywgZXJyb3IgY29kZSBvbiBmYWlsdXJlCj4g KyAqLwo+ICtpbnQgZHJtX2F0b21pY19wbGFuZV9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsCj4gKwkJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUsIHN0cnVjdCBkcm1f cHJvcGVydHkgKnByb3BlcnR5LAo+ICsJCXVpbnQ2NF90IHZhbCkKPiArewo+ICsJaWYgKHBsYW5l LT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eSkKPiArCQlyZXR1cm4gcGxhbmUtPmZ1bmNzLT5h dG9taWNfc2V0X3Byb3BlcnR5KHBsYW5lLCBzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4gKwlyZXR1 cm4gLUVJTlZBTDsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfcGxhbmVfc2V0X3By b3BlcnR5KTsKPiArCj4gKy8qKgo+ICAgKiBkcm1fYXRvbWljX2dldF9jb25uZWN0b3Jfc3RhdGUg LSBnZXQgY29ubmVjdG9yIHN0YXRlCj4gICAqIEBzdGF0ZTogZ2xvYmFsIGF0b21pYyBzdGF0ZSBv YmplY3QKPiAgICogQGNvbm5lY3RvcjogY29ubmVjdG9yIHRvIGdldCBzdGF0ZSBvYmplY3QgZm9y Cj4gQEAgLTM0Myw2ICszODcsNDAgQEAgZHJtX2F0b21pY19nZXRfY29ubmVjdG9yX3N0YXRlKHN0 cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWlj X2dldF9jb25uZWN0b3Jfc3RhdGUpOwo+ICAKPiAgLyoqCj4gKyAqIGRybV9hdG9taWNfY29ubmVj dG9yX3NldF9wcm9wZXJ0eSAtIHNldCBwcm9wZXJ0eSBvbiBjb25uZWN0b3IuCj4gKyAqIEBjb25u ZWN0b3I6IHRoZSBkcm0gY29ubmVjdG9yIHRvIHNldCBhIHByb3BlcnR5IG9uCj4gKyAqIEBzdGF0 ZTogdGhlIHN0YXRlIG9iamVjdCB0byB1cGRhdGUgd2l0aCB0aGUgbmV3IHByb3BlcnR5IHZhbHVl Cj4gKyAqIEBwcm9wZXJ0eTogdGhlIHByb3BlcnR5IHRvIHNldAo+ICsgKiBAdmFsOiB0aGUgbmV3 IHByb3BlcnR5IHZhbHVlCj4gKyAqCj4gKyAqIFVzZSB0aGlzIGluc3RlYWQgb2YgY2FsbGluZyBj b25uZWN0b3ItPmF0b21pY19zZXRfcHJvcGVydHkgZGlyZWN0bHkKPiArICoKPiArICogUkVUVVJO UzoKPiArICogWmVybyBvbiBzdWNjZXNzLCBlcnJvciBjb2RlIG9uIGZhaWx1cmUKPiArICovCj4g K2ludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwKPiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqc3RhdGUsIHN0 cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ICsJCXVpbnQ2NF90IHZhbCkKPiArewo+ICsJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2Owo+ICsJc3RydWN0IGRybV9t b2RlX2NvbmZpZyAqY29uZmlnID0gJmRldi0+bW9kZV9jb25maWc7Cj4gKwo+ICsJaWYgKHByb3Bl cnR5ID09IGNvbmZpZy0+ZHBtc19wcm9wZXJ0eSkgewo+ICsJCS8qIHNldHRpbmcgRFBNUyBwcm9w ZXJ0eSByZXF1aXJlcyBzcGVjaWFsIGhhbmRsaW5nLCB3aGljaAo+ICsJCSAqIGlzIGRvbmUgaW4g bGVnYWN5IHNldHByb3AgcGF0aCBmb3IgdXMuICBEaXNhbGxvdyAoZm9yCj4gKwkJICogbm93Pykg YXRvbWljIHdyaXRlcyB0byBEUE1TIHByb3BlcnR5Ogo+ICsJCSAqLwoKQXJnaCwgSSBzdGlsbCBu ZWVkIHRvIHdyaXRlIHRob3NlIHBhdGNoZXMgZm9yIGRwbXMgaW4gYXRvbWljLiBCdXQgaW1vIGEK YmV0dGVyIGNvbW1lbnQgd291bGQgYmU6CgoJLyoKCSAqIFBlci1jb25uZWN0b3IgaXMgYSBsZWdh Y3ktb25seSBmZWF0dXJlLCBkaXNhbGxvdyBmb3IgYXRvbWljCgkgKiB1cGRhdGVzLgoJICovCgpJ J2xsIGV4dGVuZCB0aGUgY29tbWVudCBvbmNlIHRoZSBhdG9taWMgZHBtcyBpcyB0aGVyZS4KCj4g KwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9IGVsc2UgaWYgKGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21p Y19zZXRfcHJvcGVydHkpIHsKPiArCQlyZXR1cm4gY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX3Nl dF9wcm9wZXJ0eShjb25uZWN0b3IsCj4gKwkJCQlzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4gKwl9 IGVsc2Ugewo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsJfQo+ICt9Cj4gK0VYUE9SVF9TWU1CT0wo ZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KTsKPiArCj4gKy8qKgo+ICAgKiBkcm1f YXRvbWljX3NldF9jcnRjX2Zvcl9wbGFuZSAtIHNldCBjcnRjIGZvciBwbGFuZQo+ICAgKiBAc3Rh dGU6IHRoZSBpbmNvbWluZyBhdG9taWMgc3RhdGUKPiAgICogQHBsYW5lOiB0aGUgcGxhbmUgd2hv c2UgaW5jb21pbmcgc3RhdGUgdG8gdXBkYXRlCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVy LmMKPiBpbmRleCA0YTc4YTc3Li5kNDJmZGIxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf aGVscGVyLmMKPiBAQCAtMTU1OCw4ICsxNTU4LDggQEAgcmV0cnk6Cj4gIAkJZ290byBmYWlsOwo+ ICAJfQo+ICAKPiAtCXJldCA9IGNydGMtPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KGNydGMs IGNydGNfc3RhdGUsCj4gLQkJCQkJICAgICAgIHByb3BlcnR5LCB2YWwpOwo+ICsJcmV0ID0gZHJt X2F0b21pY19jcnRjX3NldF9wcm9wZXJ0eShjcnRjLCBjcnRjX3N0YXRlLAo+ICsJCQlwcm9wZXJ0 eSwgdmFsKTsKPiAgCWlmIChyZXQpCj4gIAkJZ290byBmYWlsOwo+ICAKPiBAQCAtMTYxNyw4ICsx NjE3LDggQEAgcmV0cnk6Cj4gIAkJZ290byBmYWlsOwo+ICAJfQo+ICAKPiAtCXJldCA9IHBsYW5l LT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eShwbGFuZSwgcGxhbmVfc3RhdGUsCj4gLQkJCQkJ ICAgICAgIHByb3BlcnR5LCB2YWwpOwo+ICsJcmV0ID0gZHJtX2F0b21pY19wbGFuZV9zZXRfcHJv cGVydHkocGxhbmUsIHBsYW5lX3N0YXRlLAo+ICsJCQlwcm9wZXJ0eSwgdmFsKTsKPiAgCWlmIChy ZXQpCj4gIAkJZ290byBmYWlsOwo+ICAKPiBAQCAtMTY3Niw4ICsxNjc2LDggQEAgcmV0cnk6Cj4g IAkJZ290byBmYWlsOwo+ICAJfQo+ICAKPiAtCXJldCA9IGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21p Y19zZXRfcHJvcGVydHkoY29ubmVjdG9yLCBjb25uZWN0b3Jfc3RhdGUsCj4gLQkJCQkJICAgICAg IHByb3BlcnR5LCB2YWwpOwo+ICsJcmV0ID0gZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3Bl cnR5KGNvbm5lY3RvciwgY29ubmVjdG9yX3N0YXRlLAo+ICsJCQlwcm9wZXJ0eSwgdmFsKTsKPiAg CWlmIChyZXQpCj4gIAkJZ290byBmYWlsOwo+ICAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0v ZHJtX2F0b21pYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCj4gaW5kZXggYWQyMjI5NS4u YjA4MzRkYyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPiArKysgYi9p bmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPiBAQCAtMzgsMTIgKzM4LDIxIEBAIHZvaWQgZHJtX2F0 b21pY19zdGF0ZV9mcmVlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gIHN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqIF9fbXVzdF9jaGVjawo+ICBkcm1fYXRvbWljX2dldF9jcnRjX3N0 YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgCQkJICBzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpOwo+ICtpbnQgZHJtX2F0b21pY19jcnRjX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCj4gKwkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwgc3RydWN0IGRy bV9wcm9wZXJ0eSAqcHJvcGVydHksCj4gKwkJdWludDY0X3QgdmFsKTsKPiAgc3RydWN0IGRybV9w bGFuZV9zdGF0ZSAqIF9fbXVzdF9jaGVjawo+ICBkcm1fYXRvbWljX2dldF9wbGFuZV9zdGF0ZShz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJCSAgIHN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lKTsKPiAraW50IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAo+ICsJCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlLCBzdHJ1Y3Qg ZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKPiArCQl1aW50NjRfdCB2YWwpOwo+ICBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9zdGF0ZSAqIF9fbXVzdF9jaGVjawo+ICBkcm1fYXRvbWljX2dldF9jb25uZWN0 b3Jfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAJCQkgICAgICAgc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gK2ludCBkcm1fYXRvbWljX2Nvbm5lY3Rv cl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiArCQlzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqc3RhdGUsIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3Bl cnR5LAo+ICsJCXVpbnQ2NF90IHZhbCk7Cj4gIAo+ICBpbnQgX19tdXN0X2NoZWNrCj4gIGRybV9h dG9taWNfc2V0X2NydGNfZm9yX3BsYW5lKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwK PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9j cnRjLmgKPiBpbmRleCA2MWFiM2U1Li4xYjcxZjYwIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJt L2RybV9jcnRjLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4gQEAgLTMwMCw2ICsz MDAsNyBAQCBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgewo+ICAgKiBAYXRvbWljX2R1cGxpY2F0ZV9z dGF0ZTogZHVwbGljYXRlIHRoZSBhdG9taWMgc3RhdGUgZm9yIHRoaXMgQ1JUQwo+ICAgKiBAYXRv bWljX2Rlc3Ryb3lfc3RhdGU6IGRlc3Ryb3kgYW4gYXRvbWljIHN0YXRlIGZvciB0aGlzIENSVEMK PiAgICogQGF0b21pY19zZXRfcHJvcGVydHk6IHNldCBhIHByb3BlcnR5IG9uIGFuIGF0b21pYyBz dGF0ZSBmb3IgdGhpcyBDUlRDCj4gKyAqICAgIChkbyBub3QgY2FsbCBkaXJlY3RseSwgdXNlIGRy bV9hdG9taWNfY3J0Y19zZXRfcHJvcGVydHkoKSkKPiAgICoKPiAgICogVGhlIGRybV9jcnRjX2Z1 bmNzIHN0cnVjdHVyZSBpcyB0aGUgY2VudHJhbCBDUlRDIG1hbmFnZW1lbnQgc3RydWN0dXJlCj4g ICAqIGluIHRoZSBEUk0uICBFYWNoIENSVEMgY29udHJvbHMgb25lIG9yIG1vcmUgY29ubmVjdG9y cyAobm90ZSB0aGF0IHRoZSBuYW1lCj4gQEAgLTQ4Myw2ICs0ODQsNyBAQCBzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9zdGF0ZSB7Cj4gICAqIEBhdG9taWNfZHVwbGljYXRlX3N0YXRlOiBkdXBsaWNhdGUg dGhlIGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBjb25uZWN0b3IKPiAgICogQGF0b21pY19kZXN0cm95 X3N0YXRlOiBkZXN0cm95IGFuIGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBjb25uZWN0b3IKPiAgICog QGF0b21pY19zZXRfcHJvcGVydHk6IHNldCBhIHByb3BlcnR5IG9uIGFuIGF0b21pYyBzdGF0ZSBm b3IgdGhpcyBjb25uZWN0b3IKPiArICogICAgKGRvIG5vdCBjYWxsIGRpcmVjdGx5LCB1c2UgZHJt X2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KCkpCj4gICAqCj4gICAqIEVhY2ggQ1JUQyBt YXkgaGF2ZSBvbmUgb3IgbW9yZSBjb25uZWN0b3JzIGF0dGFjaGVkIHRvIGl0LiAgVGhlIGZ1bmN0 aW9ucwo+ICAgKiBiZWxvdyBhbGxvdyB0aGUgY29yZSBEUk0gY29kZSB0byBjb250cm9sIGNvbm5l Y3RvcnMsIGVudW1lcmF0ZSBhdmFpbGFibGUgbW9kZXMsCj4gQEAgLTc0Myw2ICs3NDUsNyBAQCBz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlIHsKPiAgICogQGF0b21pY19kdXBsaWNhdGVfc3RhdGU6IGR1 cGxpY2F0ZSB0aGUgYXRvbWljIHN0YXRlIGZvciB0aGlzIHBsYW5lCj4gICAqIEBhdG9taWNfZGVz dHJveV9zdGF0ZTogZGVzdHJveSBhbiBhdG9taWMgc3RhdGUgZm9yIHRoaXMgcGxhbmUKPiAgICog QGF0b21pY19zZXRfcHJvcGVydHk6IHNldCBhIHByb3BlcnR5IG9uIGFuIGF0b21pYyBzdGF0ZSBm b3IgdGhpcyBwbGFuZQo+ICsgKiAgICAoZG8gbm90IGNhbGwgZGlyZWN0bHksIHVzZSBkcm1fYXRv bWljX3BsYW5lX3NldF9wcm9wZXJ0eSgpKQo+ICAgKi8KPiAgc3RydWN0IGRybV9wbGFuZV9mdW5j cyB7Cj4gIAlpbnQgKCp1cGRhdGVfcGxhbmUpKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+IC0t IAo+IDIuMS4wCj4gCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwg Q29ycG9yYXRpb24KKzQxICgwKSA3OSAzNjUgNTcgNDggLSBodHRwOi8vYmxvZy5mZndsbC5jaApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=