From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH 04/13] drm: add atomic_set_property wrappers Date: Wed, 17 Dec 2014 07:49:54 -0500 Message-ID: <20141217124953.GA19962@philcollins> 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-qc0-f179.google.com (mail-qc0-f179.google.com [209.85.216.179]) by gabe.freedesktop.org (Postfix) with ESMTP id 8196F6E4DD for ; Wed, 17 Dec 2014 04:50:06 -0800 (PST) Received: by mail-qc0-f179.google.com with SMTP id c9so12095048qcz.10 for ; Wed, 17 Dec 2014 04:50:06 -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 cm9iZGNsYXJrQGdtYWlsLmNvbT4KClRpbnkgY29weXBhc3RhIG5pdCBpbiBvbmUgY29tbWVudC4K Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgICAgICAgIHwgNzggKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY19oZWxwZXIuYyB8IDEyICsrKy0tLQo+ICBpbmNsdWRlL2RybS9kcm1fYXRvbWljLmggICAg ICAgICAgICB8ICA5ICsrKysrCj4gIGluY2x1ZGUvZHJtL2RybV9jcnRjLmggICAgICAgICAgICAg IHwgIDMgKysKPiAgNCBmaWxlcyBjaGFuZ2VkLCA5NiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9u cygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IGluZGV4IGZmNWYwMzQuLjEyNjFhZGUgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljLmMKPiBAQCAtMjE3LDYgKzIxNywyOCBAQCBkcm1fYXRvbWljX2dldF9j cnRjX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgRVhQT1JUX1NZTUJP TChkcm1fYXRvbWljX2dldF9jcnRjX3N0YXRlKTsKPiAgCj4gIC8qKgo+ICsgKiBkcm1fYXRvbWlj X2NydGNfc2V0X3Byb3BlcnR5IC0gc2V0IHByb3BlcnR5IG9uIGNvbm5lY3RvcgoKcy9jb25uZWN0 b3IvY3J0Yy8KCj4gKyAqIEBjcnRjOiB0aGUgZHJtIENSVEMgdG8gc2V0IGEgcHJvcGVydHkgb24K PiArICogQHN0YXRlOiB0aGUgc3RhdGUgb2JqZWN0IHRvIHVwZGF0ZSB3aXRoIHRoZSBuZXcgcHJv cGVydHkgdmFsdWUKPiArICogQHByb3BlcnR5OiB0aGUgcHJvcGVydHkgdG8gc2V0Cj4gKyAqIEB2 YWw6IHRoZSBuZXcgcHJvcGVydHkgdmFsdWUKPiArICoKPiArICogVXNlIHRoaXMgaW5zdGVhZCBv ZiBjYWxsaW5nIGNydGMtPmF0b21pY19zZXRfcHJvcGVydHkgZGlyZWN0bHkKPiArICoKPiArICog UkVUVVJOUzoKPiArICogWmVybyBvbiBzdWNjZXNzLCBlcnJvciBjb2RlIG9uIGZhaWx1cmUKPiAr ICovCj4gK2ludCBkcm1fYXRvbWljX2NydGNfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKPiArCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgZHJtX3Byb3Bl cnR5ICpwcm9wZXJ0eSwKPiArCQl1aW50NjRfdCB2YWwpCj4gK3sKPiArCWlmIChjcnRjLT5mdW5j cy0+YXRvbWljX3NldF9wcm9wZXJ0eSkKPiArCQlyZXR1cm4gY3J0Yy0+ZnVuY3MtPmF0b21pY19z ZXRfcHJvcGVydHkoY3J0Yywgc3RhdGUsIHByb3BlcnR5LCB2YWwpOwo+ICsJcmV0dXJuIC1FSU5W QUw7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2NydGNfc2V0X3Byb3BlcnR5KTsK PiArCj4gKy8qKgo+ICAgKiBkcm1fYXRvbWljX2dldF9wbGFuZV9zdGF0ZSAtIGdldCBwbGFuZSBz dGF0ZQo+ICAgKiBAc3RhdGU6IGdsb2JhbCBhdG9taWMgc3RhdGUgb2JqZWN0Cj4gICAqIEBwbGFu ZTogcGxhbmUgdG8gZ2V0IHN0YXRlIG9iamVjdCBmb3IKPiBAQCAtMjcyLDYgKzI5NCwyOCBAQCBk cm1fYXRvbWljX2dldF9wbGFuZV9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUs Cj4gIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUpOwo+ICAKPiAgLyoq Cj4gKyAqIGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5IC0gc2V0IHByb3BlcnR5IG9uIHBs YW5lCj4gKyAqIEBwbGFuZTogdGhlIGRybSBwbGFuZSB0byBzZXQgYSBwcm9wZXJ0eSBvbgo+ICsg KiBAc3RhdGU6IHRoZSBzdGF0ZSBvYmplY3QgdG8gdXBkYXRlIHdpdGggdGhlIG5ldyBwcm9wZXJ0 eSB2YWx1ZQo+ICsgKiBAcHJvcGVydHk6IHRoZSBwcm9wZXJ0eSB0byBzZXQKPiArICogQHZhbDog dGhlIG5ldyBwcm9wZXJ0eSB2YWx1ZQo+ICsgKgo+ICsgKiBVc2UgdGhpcyBpbnN0ZWFkIG9mIGNh bGxpbmcgcGxhbmUtPmF0b21pY19zZXRfcHJvcGVydHkgZGlyZWN0bHkKPiArICoKPiArICogUkVU VVJOUzoKPiArICogWmVybyBvbiBzdWNjZXNzLCBlcnJvciBjb2RlIG9uIGZhaWx1cmUKPiArICov Cj4gK2ludCBkcm1fYXRvbWljX3BsYW5lX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwKPiArCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSwgc3RydWN0IGRybV9wcm9w ZXJ0eSAqcHJvcGVydHksCj4gKwkJdWludDY0X3QgdmFsKQo+ICt7Cj4gKwlpZiAocGxhbmUtPmZ1 bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KQo+ICsJCXJldHVybiBwbGFuZS0+ZnVuY3MtPmF0b21p Y19zZXRfcHJvcGVydHkocGxhbmUsIHN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsKPiArCXJldHVybiAt RUlOVkFMOwo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJtX2F0b21pY19wbGFuZV9zZXRfcHJvcGVy dHkpOwo+ICsKPiArLyoqCj4gICAqIGRybV9hdG9taWNfZ2V0X2Nvbm5lY3Rvcl9zdGF0ZSAtIGdl dCBjb25uZWN0b3Igc3RhdGUKPiAgICogQHN0YXRlOiBnbG9iYWwgYXRvbWljIHN0YXRlIG9iamVj dAo+ICAgKiBAY29ubmVjdG9yOiBjb25uZWN0b3IgdG8gZ2V0IHN0YXRlIG9iamVjdCBmb3IKPiBA QCAtMzQzLDYgKzM4Nyw0MCBAQCBkcm1fYXRvbWljX2dldF9jb25uZWN0b3Jfc3RhdGUoc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfZ2V0 X2Nvbm5lY3Rvcl9zdGF0ZSk7Cj4gIAo+ICAvKioKPiArICogZHJtX2F0b21pY19jb25uZWN0b3Jf c2V0X3Byb3BlcnR5IC0gc2V0IHByb3BlcnR5IG9uIGNvbm5lY3Rvci4KPiArICogQGNvbm5lY3Rv cjogdGhlIGRybSBjb25uZWN0b3IgdG8gc2V0IGEgcHJvcGVydHkgb24KPiArICogQHN0YXRlOiB0 aGUgc3RhdGUgb2JqZWN0IHRvIHVwZGF0ZSB3aXRoIHRoZSBuZXcgcHJvcGVydHkgdmFsdWUKPiAr ICogQHByb3BlcnR5OiB0aGUgcHJvcGVydHkgdG8gc2V0Cj4gKyAqIEB2YWw6IHRoZSBuZXcgcHJv cGVydHkgdmFsdWUKPiArICoKPiArICogVXNlIHRoaXMgaW5zdGVhZCBvZiBjYWxsaW5nIGNvbm5l Y3Rvci0+YXRvbWljX3NldF9wcm9wZXJ0eSBkaXJlY3RseQo+ICsgKgo+ICsgKiBSRVRVUk5TOgo+ ICsgKiBaZXJvIG9uIHN1Y2Nlc3MsIGVycm9yIGNvZGUgb24gZmFpbHVyZQo+ICsgKi8KPiAraW50 IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAo+ICsJCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSwgc3RydWN0 IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCj4gKwkJdWludDY0X3QgdmFsKQo+ICt7Cj4gKwlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX21vZGVf Y29uZmlnICpjb25maWcgPSAmZGV2LT5tb2RlX2NvbmZpZzsKPiArCj4gKwlpZiAocHJvcGVydHkg PT0gY29uZmlnLT5kcG1zX3Byb3BlcnR5KSB7Cj4gKwkJLyogc2V0dGluZyBEUE1TIHByb3BlcnR5 IHJlcXVpcmVzIHNwZWNpYWwgaGFuZGxpbmcsIHdoaWNoCj4gKwkJICogaXMgZG9uZSBpbiBsZWdh Y3kgc2V0cHJvcCBwYXRoIGZvciB1cy4gIERpc2FsbG93IChmb3IKPiArCQkgKiBub3c/KSBhdG9t aWMgd3JpdGVzIHRvIERQTVMgcHJvcGVydHk6Cj4gKwkJICovCj4gKwkJcmV0dXJuIC1FSU5WQUw7 Cj4gKwl9IGVsc2UgaWYgKGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkpIHsK PiArCQlyZXR1cm4gY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eShjb25uZWN0 b3IsCj4gKwkJCQlzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4gKwl9IGVsc2Ugewo+ICsJCXJldHVy biAtRUlOVkFMOwo+ICsJfQo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJtX2F0b21pY19jb25uZWN0 b3Jfc2V0X3Byb3BlcnR5KTsKPiArCj4gKy8qKgo+ICAgKiBkcm1fYXRvbWljX3NldF9jcnRjX2Zv cl9wbGFuZSAtIHNldCBjcnRjIGZvciBwbGFuZQo+ICAgKiBAc3RhdGU6IHRoZSBpbmNvbWluZyBh dG9taWMgc3RhdGUKPiAgICogQHBsYW5lOiB0aGUgcGxhbmUgd2hvc2UgaW5jb21pbmcgc3RhdGUg dG8gdXBkYXRlCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBpbmRleCA0YTc4YTc3 Li5kNDJmZGIxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBAQCAtMTU1 OCw4ICsxNTU4LDggQEAgcmV0cnk6Cj4gIAkJZ290byBmYWlsOwo+ICAJfQo+ICAKPiAtCXJldCA9 IGNydGMtPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KGNydGMsIGNydGNfc3RhdGUsCj4gLQkJ CQkJICAgICAgIHByb3BlcnR5LCB2YWwpOwo+ICsJcmV0ID0gZHJtX2F0b21pY19jcnRjX3NldF9w cm9wZXJ0eShjcnRjLCBjcnRjX3N0YXRlLAo+ICsJCQlwcm9wZXJ0eSwgdmFsKTsKPiAgCWlmIChy ZXQpCj4gIAkJZ290byBmYWlsOwo+ICAKPiBAQCAtMTYxNyw4ICsxNjE3LDggQEAgcmV0cnk6Cj4g IAkJZ290byBmYWlsOwo+ICAJfQo+ICAKPiAtCXJldCA9IHBsYW5lLT5mdW5jcy0+YXRvbWljX3Nl dF9wcm9wZXJ0eShwbGFuZSwgcGxhbmVfc3RhdGUsCj4gLQkJCQkJICAgICAgIHByb3BlcnR5LCB2 YWwpOwo+ICsJcmV0ID0gZHJtX2F0b21pY19wbGFuZV9zZXRfcHJvcGVydHkocGxhbmUsIHBsYW5l X3N0YXRlLAo+ICsJCQlwcm9wZXJ0eSwgdmFsKTsKPiAgCWlmIChyZXQpCj4gIAkJZ290byBmYWls Owo+ICAKPiBAQCAtMTY3Niw4ICsxNjc2LDggQEAgcmV0cnk6Cj4gIAkJZ290byBmYWlsOwo+ICAJ fQo+ICAKPiAtCXJldCA9IGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkoY29u bmVjdG9yLCBjb25uZWN0b3Jfc3RhdGUsCj4gLQkJCQkJICAgICAgIHByb3BlcnR5LCB2YWwpOwo+ ICsJcmV0ID0gZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KGNvbm5lY3RvciwgY29u bmVjdG9yX3N0YXRlLAo+ICsJCQlwcm9wZXJ0eSwgdmFsKTsKPiAgCWlmIChyZXQpCj4gIAkJZ290 byBmYWlsOwo+ICAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oIGIvaW5j bHVkZS9kcm0vZHJtX2F0b21pYy5oCj4gaW5kZXggYWQyMjI5NS4uYjA4MzRkYyAxMDA2NDQKPiAt LS0gYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fYXRv bWljLmgKPiBAQCAtMzgsMTIgKzM4LDIxIEBAIHZvaWQgZHJtX2F0b21pY19zdGF0ZV9mcmVlKHN0 cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAq IF9fbXVzdF9jaGVjawo+ICBkcm1fYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSwKPiAgCQkJICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ICtpbnQg ZHJtX2F0b21pY19jcnRjX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gKwkJ c3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVy dHksCj4gKwkJdWludDY0X3QgdmFsKTsKPiAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqIF9fbXVz dF9jaGVjawo+ICBkcm1fYXRvbWljX2dldF9wbGFuZV9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUsCj4gIAkJCSAgIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKTsKPiAraW50IGRy bV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICsJ CXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9w ZXJ0eSwKPiArCQl1aW50NjRfdCB2YWwpOwo+ICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAq IF9fbXVzdF9jaGVjawo+ICBkcm1fYXRvbWljX2dldF9jb25uZWN0b3Jfc3RhdGUoc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3Rvcik7Cj4gK2ludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9z dGF0ZSAqc3RhdGUsIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ICsJCXVpbnQ2NF90 IHZhbCk7Cj4gIAo+ICBpbnQgX19tdXN0X2NoZWNrCj4gIGRybV9hdG9taWNfc2V0X2NydGNfZm9y X3BsYW5lKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiBkaWZmIC0tZ2l0IGEvaW5j bHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPiBpbmRleCA2MWFi M2U1Li4xYjcxZjYwIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPiArKysg Yi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4gQEAgLTMwMCw2ICszMDAsNyBAQCBzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgewo+ICAgKiBAYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZTogZHVwbGljYXRlIHRo ZSBhdG9taWMgc3RhdGUgZm9yIHRoaXMgQ1JUQwo+ICAgKiBAYXRvbWljX2Rlc3Ryb3lfc3RhdGU6 IGRlc3Ryb3kgYW4gYXRvbWljIHN0YXRlIGZvciB0aGlzIENSVEMKPiAgICogQGF0b21pY19zZXRf cHJvcGVydHk6IHNldCBhIHByb3BlcnR5IG9uIGFuIGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBDUlRD Cj4gKyAqICAgIChkbyBub3QgY2FsbCBkaXJlY3RseSwgdXNlIGRybV9hdG9taWNfY3J0Y19zZXRf cHJvcGVydHkoKSkKPiAgICoKPiAgICogVGhlIGRybV9jcnRjX2Z1bmNzIHN0cnVjdHVyZSBpcyB0 aGUgY2VudHJhbCBDUlRDIG1hbmFnZW1lbnQgc3RydWN0dXJlCj4gICAqIGluIHRoZSBEUk0uICBF YWNoIENSVEMgY29udHJvbHMgb25lIG9yIG1vcmUgY29ubmVjdG9ycyAobm90ZSB0aGF0IHRoZSBu YW1lCj4gQEAgLTQ4Myw2ICs0ODQsNyBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSB7Cj4g ICAqIEBhdG9taWNfZHVwbGljYXRlX3N0YXRlOiBkdXBsaWNhdGUgdGhlIGF0b21pYyBzdGF0ZSBm b3IgdGhpcyBjb25uZWN0b3IKPiAgICogQGF0b21pY19kZXN0cm95X3N0YXRlOiBkZXN0cm95IGFu IGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBjb25uZWN0b3IKPiAgICogQGF0b21pY19zZXRfcHJvcGVy dHk6IHNldCBhIHByb3BlcnR5IG9uIGFuIGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBjb25uZWN0b3IK PiArICogICAgKGRvIG5vdCBjYWxsIGRpcmVjdGx5LCB1c2UgZHJtX2F0b21pY19jb25uZWN0b3Jf c2V0X3Byb3BlcnR5KCkpCj4gICAqCj4gICAqIEVhY2ggQ1JUQyBtYXkgaGF2ZSBvbmUgb3IgbW9y ZSBjb25uZWN0b3JzIGF0dGFjaGVkIHRvIGl0LiAgVGhlIGZ1bmN0aW9ucwo+ICAgKiBiZWxvdyBh bGxvdyB0aGUgY29yZSBEUk0gY29kZSB0byBjb250cm9sIGNvbm5lY3RvcnMsIGVudW1lcmF0ZSBh dmFpbGFibGUgbW9kZXMsCj4gQEAgLTc0Myw2ICs3NDUsNyBAQCBzdHJ1Y3QgZHJtX3BsYW5lX3N0 YXRlIHsKPiAgICogQGF0b21pY19kdXBsaWNhdGVfc3RhdGU6IGR1cGxpY2F0ZSB0aGUgYXRvbWlj IHN0YXRlIGZvciB0aGlzIHBsYW5lCj4gICAqIEBhdG9taWNfZGVzdHJveV9zdGF0ZTogZGVzdHJv eSBhbiBhdG9taWMgc3RhdGUgZm9yIHRoaXMgcGxhbmUKPiAgICogQGF0b21pY19zZXRfcHJvcGVy dHk6IHNldCBhIHByb3BlcnR5IG9uIGFuIGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBwbGFuZQo+ICsg KiAgICAoZG8gbm90IGNhbGwgZGlyZWN0bHksIHVzZSBkcm1fYXRvbWljX3BsYW5lX3NldF9wcm9w ZXJ0eSgpKQo+ICAgKi8KPiAgc3RydWN0IGRybV9wbGFuZV9mdW5jcyB7Cj4gIAlpbnQgKCp1cGRh dGVfcGxhbmUpKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+IC0tIAo+IDIuMS4wCj4gCj4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwg bWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK