From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Thompson Subject: Re: [PATCH 15/17] drm/atomic-helpers: functions for state duplicate/destroy/reset Date: Mon, 03 Nov 2014 14:45:28 +0000 Message-ID: <54579508.1030404@linaro.org> References: <1414934370-11924-1-git-send-email-daniel.vetter@ffwll.ch> <1414934370-11924-16-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f178.google.com (mail-wi0-f178.google.com [209.85.212.178]) by gabe.freedesktop.org (Postfix) with ESMTP id 7BBA26E04A for ; Mon, 3 Nov 2014 06:45:37 -0800 (PST) Received: by mail-wi0-f178.google.com with SMTP id q5so6585409wiv.11 for ; Mon, 03 Nov 2014 06:45:36 -0800 (PST) In-Reply-To: <1414934370-11924-16-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter , DRI Development Cc: Intel Graphics Development List-Id: dri-devel@lists.freedesktop.org T24gMDIvMTEvMTQgMTM6MTksIERhbmllbCBWZXR0ZXIgd3JvdGU6PiBUaGUgYXRvbWljIHVzZXJz IGFuZCBoZWxwZXJzCmFzc3VtZSB0aGF0IHRoZXJlIGlzIGFsd2F5cyBhIG9iai0+c3RhdGUKPiBz dHJ1Y3R1cmUgYXJvdW5kLiBXaGljaCBtZWFucyBkcml2ZXJzIG5lZWQgdG8gc29tZWhvdyBjcmVh dGUgdGhhdCBhdAo+IGRyaXZlciBsb2FkIHRpbWUuIEFsc28gaXQgc2hvdWxkIG9idmlvdXNseSBy ZXNldCBoYXJkd2FyZSBzdGF0ZSwgc28KPiBuZWVkcyB0byBiZSByZXNldCB1cG9uIHJlc3VtZS4K Pgo+IEZpbmFsbHkgdGhlIGRlc3Ryb3kvZHVwbGljYXRlX3N0YXRlIGZ1bmN0aW9ucyBhcmUgYW4g YXdmdWwgbG90IG9mCj4gYm9pbGVycGxhdGUgaWYgdGhlIGRyaXZlciBkb2Vzbid0IG5lZWQgYW55 dGhpbmcgYmV5b25kIHRoZSBkZWZhdWx0Cj4gc3RhdGUgb2JqZWN0cy4KPgo+IFNvIGFkZCBoZWxw ZXIgZnVuY3Rpb25zIGZvciBhbGwgb2YgdGhpcy4KPgo+IHYyOiBTb21laG93IHRoZSBwbGFuZS9j b25uZWN0b3IgdmVyc2lvbnMgZ290IGxvc3QgaW4gdGhlIGZpcnN0Cj4gdmVyc2lvbi4KPgo+IHYz OiBBZGQga2VybmVsZG9jLgo+Cj4gdjQ6IE1ha2UgZHVwbGljYXRlX3N0YXRlIGZ1bmN0aW9ucyBh IGJpdCBtb3JlIHJvYnVzdCwgd2hpY2ggaXMgdXNlZnVsCj4gZm9yIGRlYnVnZ2luZyBzdGF0ZSB0 cmFja2luZyBpc3N1ZXMgd2hlbiB0cmFuc2l0aW9uaW5nIHRvIGF0b21pYy4KPgo+IHY1OiBDbGVh ciB0ZW1wb3JhcnkgdmFyaWFibGVzIGluIHRoZSBjcnRjIHN0YXRlIHdoZW4gZHVwbGljYXRpbmcg aXQsCj4gbGlrZSAtPm1vZGVfY2hhbmdlZCBvciAtPnBsYW5lc19jaGFuZ2VkLiBJZiB3ZSBkb24n dCBkbyB0aGlzIHN0YWxlCj4gdmFsdWVzIGZvciB0aGVzZSBtaWdodCBwb2xsdXRlIHRoZSBuZXh0 IGF0b21pYyBtb2Rlc2V0Lgo+Cj4gdjY6IEFsc28gY2xlYXIgY3J0Y19zdGF0ZS0+ZXZlbnQgaW4g Y2FzZSB0aGUgZHJpdmVyIGRpZG4ndCAoeWV0KSBjbGVhcgo+IHRoaXMgb3V0Lgo+Cj4gU2lnbmVk LW9mZi1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiAtLS0KPiAg ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgfCAxNTQKKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystCj4gIGluY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmgg ICAgIHwgIDE5ICsrKysrCj4gIDIgZmlsZXMgY2hhbmdlZCwgMTcwIGluc2VydGlvbnMoKyksIDMg ZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf aGVscGVyLmMKYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IGluZGV4IDcw YmQ2N2NmODZlMy4uYmQzOGRmM2NiZTU1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVs cGVyLmMKPiBAQCAtMTQyOSw3ICsxNDI5LDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hl bHBlcl9zZXRfY29uZmlnKTsKPiAgLyoqCj4gICAqIGRybV9hdG9taWNfaGVscGVyX2NydGNfc2V0 X3Byb3BlcnR5IC0gaGVscGVyIGZvciBjcnRjIHByb3J0aWVzCj4gICAqIEBjcnRjOiBEUk0gY3J0 Ywo+IC0gKiBAcHJvcnR5OiBEUk0gcHJvcGVydHkKPiArICogQHByb3BlcnR5OiBEUk0gcHJvcGVy dHkKClRoaXMgbG9va3MgbGlrZSBhIGJhZCBmaXh1cCAoc2hvdWxkIGJlIGluIHBhdGNoIDExKS4K Cgo+ICAgKiBAdmFsOiB2YWx1ZSBvZiBwcm9wZXJ0eQo+ICAgKgo+ICAgKiBQcm92aWRlcyBhIGRl ZmF1bHQgcGxhbmUgZGlzYWJsbGUgaGFuZGxlciB1c2luZyB0aGUgYXRvbWljIGRyaXZlcgppbnRl cmZhY2UuCj4gQEAgLTE0OTMsNyArMTQ5Myw3IEBAIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19o ZWxwZXJfY3J0Y19zZXRfcHJvcGVydHkpOwo+ICAvKioKPiAgICogZHJtX2F0b21pY19oZWxwZXJf cGxhbmVfc2V0X3Byb3BlcnR5IC0gaGVscGVyIGZvciBwbGFuZSBwcm9ydGllcwo+ICAgKiBAcGxh bmU6IERSTSBwbGFuZQo+IC0gKiBAcHJvcnR5OiBEUk0gcHJvcGVydHkKPiArICogQHByb3BlcnR5 OiBEUk0gcHJvcGVydHkKCisxCgoKPiAgICogQHZhbDogdmFsdWUgb2YgcHJvcGVydHkKPiAgICoK PiAgICogUHJvdmlkZXMgYSBkZWZhdWx0IHBsYW5lIGRpc2FibGUgaGFuZGxlciB1c2luZyB0aGUg YXRvbWljIGRyaXZlcgppbnRlcmZhY2UuCj4gQEAgLTE1NTcsNyArMTU1Nyw3IEBAIEVYUE9SVF9T WU1CT0woZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfc2V0X3Byb3BlcnR5KTsKPiAgLyoqCj4gICAq IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkgLSBoZWxwZXIgZm9yIGNv bm5lY3Rvcgpwcm9ydGllcwo+ICAgKiBAY29ubmVjdG9yOiBEUk0gY29ubmVjdG9yCj4gLSAqIEBw cm9ydHk6IERSTSBwcm9wZXJ0eQo+ICsgKiBAcHJvcGVydHk6IERSTSBwcm9wZXJ0eQoKKzEKCgo+ ICAgKiBAdmFsOiB2YWx1ZSBvZiBwcm9wZXJ0eQo+ICAgKgo+ICAgKiBQcm92aWRlcyBhIGRlZmF1 bHQgcGxhbmUgZGlzYWJsbGUgaGFuZGxlciB1c2luZyB0aGUgYXRvbWljIGRyaXZlcgppbnRlcmZh Y2UuCj4gQEAgLTE3MDcsMyArMTcwNywxNTEgQEAgYmFja29mZjoKPiAgCWdvdG8gcmV0cnk7Cj4g IH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9wYWdlX2ZsaXApOwo+ICsKPiAr LyoqCj4gKyAqIGRybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQgLSBkZWZhdWx0IC0+cmVzZXQg aG9vayBmb3IgQ1JUQ3MKPiArICogQGNydGM6IGRybSBDUlRDCj4gKyAqCj4gKyAqIFJlc2V0cyB0 aGUgYXRvbWljIHN0YXRlIGZvciBAY3J0YyBieSBmcmVlaW5nIHRoZSBzdGF0ZSBwb2ludGVyIGFu ZAphbGxvY2F0aW5nCj4gKyAqIGEgbmV3IGVtcHR5IHN0YXRlIG9iamVjdC4KPiArICovCj4gK3Zv aWQgZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4g K3sKPiArCWtmcmVlKGNydGMtPnN0YXRlKTsKPiArCWNydGMtPnN0YXRlID0ga3phbGxvYyhzaXpl b2YoKmNydGMtPnN0YXRlKSwgR0ZQX0tFUk5FTCk7CgpUaGlzIGNvZGUgbG9va3Mgc2VtYW50aWNh bGx5IGVxdWl2YWxlbnQgdG8gYSBtZW1zZXQoKSBhbHRob3VnaCBpdCBtYXkKcmVzdWx0IGluIGEg Y2hhbmdlIHRvIHRoZSBwb2ludGVyIHZhbHVlLiBJcyB0aGlzIGNvZGUgdHJ5aW5nIHRvIGZsdXNo Cm91dCB1c2VzLWFmdGVyLWZyZWU/CgpJIGNhbid0IGZpbmQgdGhpcyBmcmVlL2FsbG9jIHBhdHRl cm4gaW4gZGVsaXZlcmVkIGNvZGUgYW55d2hlcmUgZWxzZSBpbgp0aGUgZHJtIGNvZGUgYmFzZS4g U2hvdWxkIHRoaXMgbmVlZCB0byBiZSByZXBsYWNlZCB3aXRoIG1lbXNldCgpIGJlZm9yZQptZXJn aW5nIChvciBhdCBsZWFzdCBjb21tZW50aW5nKT8KCgo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJt X2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCk7Cj4gKwo+ICsvKioKPiArICogZHJtX2F0b21pY19o ZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUgLSBkZWZhdWx0IHN0YXRlIGR1cGxpY2F0ZSBob29r Cj4gKyAqIEBjcnRjOiBkcm0gQ1JUQwo+ICsgKgo+ICsgKiBEZWZhdWx0IENSVEMgc3RhdGUgZHVw bGljYXRlIGhvb2sgZm9yIGRyaXZlcnMgd2hpY2ggZG9uJ3QgaGF2ZQp0aGVpciBvd24KPiArICog c3ViY2xhc3NlZCBDUlRDIHN0YXRlIHN0cnVjdHVyZS4KPiArICovCj4gK3N0cnVjdCBkcm1fY3J0 Y19zdGF0ZSAqCj4gK2RybV9hdG9taWNfaGVscGVyX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKPiArewo+ICsJc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZTsK PiArCj4gKwlpZiAoV0FSTl9PTighY3J0Yy0+c3RhdGUpKQo+ICsJCXJldHVybiBOVUxMOwo+ICsK PiArCXN0YXRlID0ga21lbWR1cChjcnRjLT5zdGF0ZSwgc2l6ZW9mKCpjcnRjLT5zdGF0ZSksIEdG UF9LRVJORUwpOwo+ICsKPiArCWlmIChzdGF0ZSkgewo+ICsJCXN0YXRlLT5tb2RlX2NoYW5nZWQg PSBmYWxzZTsKPiArCQlzdGF0ZS0+cGxhbmVzX2NoYW5nZWQgPSBmYWxzZTsKPiArCQlzdGF0ZS0+ ZXZlbnQgPSBOVUxMOwo+ICsJfQo+ICsKPiArCXJldHVybiBzdGF0ZTsKPiArfQo+ICtFWFBPUlRf U1lNQk9MKGRybV9hdG9taWNfaGVscGVyX2NydGNfZHVwbGljYXRlX3N0YXRlKTsKPiArCj4gKy8q Kgo+ICsgKiBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUgLSBkZWZhdWx0IHN0 YXRlIGRlc3Ryb3kgaG9vawo+ICsgKiBAY3J0YzogZHJtIENSVEMKPiArICogQHN0YXRlOiBDUlRD IHN0YXRlIG9iamVjdCB0byByZWxlYXNlCj4gKyAqCj4gKyAqIERlZmF1bHQgQ1JUQyBzdGF0ZSBk ZXN0cm95IGhvb2sgZm9yIGRyaXZlcnMgd2hpY2ggZG9uJ3QgaGF2ZSB0aGVpciBvd24KPiArICog c3ViY2xhc3NlZCBDUlRDIHN0YXRlIHN0cnVjdHVyZS4KPiArICovCj4gK3ZvaWQgZHJtX2F0b21p Y19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiArCQkJ CQkgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpCj4gK3sKPiArCWtmcmVlKHN0YXRlKTsK PiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0 ZSk7Cj4gKwo+ICsvKioKPiArICogZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfcmVzZXQgLSBkZWZh dWx0IC0+cmVzZXQgaG9vayBmb3IgcGxhbmVzCj4gKyAqIEBwbGFuZTogZHJtIHBsYW5lCj4gKyAq Cj4gKyAqIFJlc2V0cyB0aGUgYXRvbWljIHN0YXRlIGZvciBAcGxhbmUgYnkgZnJlZWluZyB0aGUg c3RhdGUgcG9pbnRlciBhbmQKPiArICogYWxsb2NhdGluZyBhIG5ldyBlbXB0eSBzdGF0ZSBvYmpl Y3QuCj4gKyAqLwo+ICt2b2lkIGRybV9hdG9taWNfaGVscGVyX3BsYW5lX3Jlc2V0KHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lKQo+ICt7Cj4gKwlrZnJlZShwbGFuZS0+c3RhdGUpOwo+ICsJcGxhbmUt PnN0YXRlID0ga3phbGxvYyhzaXplb2YoKnBsYW5lLT5zdGF0ZSksIEdGUF9LRVJORUwpOwoKKzEK Cgo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfcmVzZXQpOwo+ ICsKPiArLyoqCj4gKyAqIGRybV9hdG9taWNfaGVscGVyX3BsYW5lX2R1cGxpY2F0ZV9zdGF0ZSAt IGRlZmF1bHQgc3RhdGUgZHVwbGljYXRlIGhvb2sKPiArICogQHBsYW5lOiBkcm0gcGxhbmUKPiAr ICoKPiArICogRGVmYXVsdCBwbGFuZSBzdGF0ZSBkdXBsaWNhdGUgaG9vayBmb3IgZHJpdmVycyB3 aGljaCBkb24ndCBoYXZlCnRoZWlyIG93bgo+ICsgKiBzdWJjbGFzc2VkIHBsYW5lIHN0YXRlIHN0 cnVjdHVyZS4KPiArICovCj4gK3N0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKgo+ICtkcm1fYXRvbWlj X2hlbHBlcl9wbGFuZV9kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4g K3sKPiArCWlmIChXQVJOX09OKCFwbGFuZS0+c3RhdGUpKQo+ICsJCXJldHVybiBOVUxMOwo+ICsK PiArCXJldHVybiBrbWVtZHVwKHBsYW5lLT5zdGF0ZSwgc2l6ZW9mKCpwbGFuZS0+c3RhdGUpLCBH RlBfS0VSTkVMKTsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX3BsYW5l X2R1cGxpY2F0ZV9zdGF0ZSk7Cj4gKwo+ICsvKioKPiArICogZHJtX2F0b21pY19oZWxwZXJfcGxh bmVfZGVzdHJveV9zdGF0ZSAtIGRlZmF1bHQgc3RhdGUgZGVzdHJveSBob29rCj4gKyAqIEBwbGFu ZTogZHJtIHBsYW5lCj4gKyAqIEBzdGF0ZTogcGxhbmUgc3RhdGUgb2JqZWN0IHRvIHJlbGVhc2UK PiArICoKPiArICogRGVmYXVsdCBwbGFuZSBzdGF0ZSBkZXN0cm95IGhvb2sgZm9yIGRyaXZlcnMg d2hpY2ggZG9uJ3QgaGF2ZQp0aGVpciBvd24KPiArICogc3ViY2xhc3NlZCBwbGFuZSBzdGF0ZSBz dHJ1Y3R1cmUuCj4gKyAqLwo+ICt2b2lkIGRybV9hdG9taWNfaGVscGVyX3BsYW5lX2Rlc3Ryb3lf c3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gKwkJCQkJICBzdHJ1Y3QgZHJtX3BsYW5l X3N0YXRlICpzdGF0ZSkKPiArewo+ICsJa2ZyZWUoc3RhdGUpOwo+ICt9Cj4gK0VYUE9SVF9TWU1C T0woZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfZGVzdHJveV9zdGF0ZSk7Cj4gKwo+ICsvKioKPiAr ICogZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX3Jlc2V0IC0gZGVmYXVsdCAtPnJlc2V0IGhv b2sgZm9yCmNvbm5lY3RvcnMKPiArICogQGNvbm5lY3RvcjogZHJtIGNvbm5lY3Rvcgo+ICsgKgo+ ICsgKiBSZXNldHMgdGhlIGF0b21pYyBzdGF0ZSBmb3IgQGNvbm5lY3RvciBieSBmcmVlaW5nIHRo ZSBzdGF0ZQpwb2ludGVyIGFuZAo+ICsgKiBhbGxvY2F0aW5nIGEgbmV3IGVtcHR5IHN0YXRlIG9i amVjdC4KPiArICovCj4gK3ZvaWQgZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX3Jlc2V0KHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gK3sKPiArCWtmcmVlKGNvbm5lY3Rvci0+ c3RhdGUpOwo+ICsJY29ubmVjdG9yLT5zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpjb25uZWN0b3It PnN0YXRlKSwgR0ZQX0tFUk5FTCk7CgorMQoKCj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fYXRv bWljX2hlbHBlcl9jb25uZWN0b3JfcmVzZXQpOwo+ICsKPiArLyoqCj4gKyAqIGRybV9hdG9taWNf aGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUgLSBkZWZhdWx0IHN0YXRlCmR1cGxpY2F0 ZSBob29rCj4gKyAqIEBjb25uZWN0b3I6IGRybSBjb25uZWN0b3IKPiArICoKPiArICogRGVmYXVs dCBjb25uZWN0b3Igc3RhdGUgZHVwbGljYXRlIGhvb2sgZm9yIGRyaXZlcnMgd2hpY2ggZG9uJ3QK aGF2ZSB0aGVpciBvd24KPiArICogc3ViY2xhc3NlZCBjb25uZWN0b3Igc3RhdGUgc3RydWN0dXJl Lgo+ICsgKi8KPiArc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKgo+ICtkcm1fYXRvbWljX2hl bHBlcl9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yCipjb25u ZWN0b3IpCj4gK3sKPiArCWlmIChXQVJOX09OKCFjb25uZWN0b3ItPnN0YXRlKSkKPiArCQlyZXR1 cm4gTlVMTDsKPiArCj4gKwlyZXR1cm4ga21lbWR1cChjb25uZWN0b3ItPnN0YXRlLCBzaXplb2Yo KmNvbm5lY3Rvci0+c3RhdGUpLCBHRlBfS0VSTkVMKTsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRy bV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUpOwo+ICsKPiArLyoqCj4g KyAqIGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kZXN0cm95X3N0YXRlIC0gZGVmYXVsdCBz dGF0ZSBkZXN0cm95IGhvb2sKPiArICogQGNvbm5lY3RvcjogZHJtIGNvbm5lY3Rvcgo+ICsgKiBA c3RhdGU6IGNvbm5lY3RvciBzdGF0ZSBvYmplY3QgdG8gcmVsZWFzZQo+ICsgKgo+ICsgKiBEZWZh dWx0IGNvbm5lY3RvciBzdGF0ZSBkZXN0cm95IGhvb2sgZm9yIGRyaXZlcnMgd2hpY2ggZG9uJ3Qg aGF2ZQp0aGVpciBvd24KPiArICogc3ViY2xhc3NlZCBjb25uZWN0b3Igc3RhdGUgc3RydWN0dXJl Lgo+ICsgKi8KPiArdm9pZCBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0 ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvcgoqY29ubmVjdG9yLAo+ICsJCQkJCSAgc3RydWN0IGRybV9j b25uZWN0b3Jfc3RhdGUgKnN0YXRlKQo+ICt7Cj4gKwlrZnJlZShzdGF0ZSk7Cj4gK30KPiArRVhQ T1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0ZSk7Cj4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmgKYi9pbmNsdWRlL2Ry bS9kcm1fYXRvbWljX2hlbHBlci5oCj4gaW5kZXggMjhhMmYzYTgxNWZkLi42N2UzYzQ2NDVhZTAg MTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19oZWxwZXIuaAo+ICsrKyBiL2lu Y2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmgKPiBAQCAtNzQsNSArNzQsMjQgQEAgaW50IGRy bV9hdG9taWNfaGVscGVyX3BhZ2VfZmxpcChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJCQlz dHJ1Y3QgZHJtX3BlbmRpbmdfdmJsYW5rX2V2ZW50ICpldmVudCwKPiAgCQkJCXVpbnQzMl90IGZs YWdzKTsKPgo+ICsvKiBkZWZhdWx0IGltcGxlbWVudGF0aW9ucyBmb3Igc3RhdGUgaGFuZGxpbmcg Ki8KPiArdm9pZCBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAq Y3J0Yyk7Cj4gK3N0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqCj4gK2RybV9hdG9taWNfaGVscGVyX2Ny dGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gK3ZvaWQgZHJtX2F0 b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAr CQkJCQkgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpOwo+ICsKPiArdm9pZCBkcm1fYXRv bWljX2hlbHBlcl9wbGFuZV9yZXNldChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSk7Cj4gK3N0cnVj dCBkcm1fcGxhbmVfc3RhdGUgKgo+ICtkcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9kdXBsaWNhdGVf c3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwo+ICt2b2lkIGRybV9hdG9taWNfaGVscGVy X3BsYW5lX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gKwkJCQkJICBz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSk7Cj4gKwo+ICt2b2lkIGRybV9hdG9taWNfaGVs cGVyX2Nvbm5lY3Rvcl9yZXNldChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiAr c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKgo+ICtkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0 b3JfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yCipjb25uZWN0b3IpOwo+ICt2 b2lkIGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1f Y29ubmVjdG9yCipjb25uZWN0b3IsCj4gKwkJCQkJICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZSAqc3RhdGUpOwo+ICsKPgo+ICAjZW5kaWYgLyogRFJNX0FUT01JQ19IRUxQRVJfSF8gKi8KPgoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==