From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH 09/17] drm/crtc-helper: Transitional functions using atomic plane helpers Date: Wed, 5 Nov 2014 12:42:25 -0500 Message-ID: References: <1414934370-11924-1-git-send-email-daniel.vetter@ffwll.ch> <1414934370-11924-10-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-10-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: Daniel Vetter Cc: Intel Graphics Development , DRI Development List-Id: dri-devel@lists.freedesktop.org T24gU3VuLCBOb3YgMDIsIDIwMTQgYXQgMDI6MTk6MjJQTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBUaGVzZSB0d28gZnVuY3Rpb25zIGFsbG93IGRyaXZlcnMgdG8gcmV1c2UgdGhlaXIg YXRvbWljIHBsYW5lIGhlbHBlcnMKPiBmdW5jdGlvbnMgZm9yIHRoZSBwcmltYXJ5IHBsYW5lIHRv IGltcGxlbWVudCB0aGUgaW50ZXJmYWNlcyByZXF1aXJlZAo+IGJ5IHRoZSBjcnRjIGhlbHBlcnMg Zm9yIHRoZSBsZWdhY3kgLT5zZXRfY29uZmlnIGNhbGxiYWNrLgo+Cj4gVGhpcyBpcyBwdXJlbHkg dHJhbnNpdGlvbmFsIGFuZCB3b24ndCBiZSB1c2VkIG9uY2UgdGhlIGRyaXZlciBpcyBmdWxseQo+ IGNvbnZlcnRlZC4gQnV0IGl0IGFsbG93cyBwYXJ0aWFsIGNvbnZlcnNpb25zIHRvIHRoZSBhdG9t aWMgcGxhbmUKPiBoZWxwZXJzIHdoaWNoIGFyZSBmdW5jdGlvbmFsLgo+Cj4gdjI6Cj4gLSBVc2Ug LT5hdG9taWNfZHVwbGljYXRlX3N0YXRlIGlmIGF2YWlsYWJsZS4KPiAtIERvbid0IGZvcmdldCB0 byBydW4gY3J0Y19mdW5jcy0+YXRvbWljX2NoZWNrLgo+Cj4gdjM6IFNoaWZ0IHNvdXJjZSBjb29y ZGluYXRlcyBjb3JyZWN0bHkgZm9yIDE2LjE2IGZpeGVkIHBvaW50Lgo+Cj4gdjQ6IERvbid0IGZv cmdldCB0byBjYWxsIC0+YXRvbWljX2Rlc3Ryb3lfc3RhdGUgaWYgYXZhaWxhYmxlLgo+Cj4gdjU6 IEZpeHVwIGtlcm5lbGRvYy4KPgo+IHY2OiBSZXVzZSB0aGUgcGxhbmVfY29tbWl0IGZ1bmN0aW9u IGZyb20gdGhlIHRyYW5zaXRpb25hbCBwbGFuZQo+IGhlbHBlcnMgdG8gYXZvaWQgdG9vIG11Y2gg ZHVwbGljYXRpb24uCj4KPiB2NzoKPiAtIFJlbW92ZSBzb21lIHN0YWxlIGNvbW1lbnQuCj4gLSBD b3JyZWN0bHkgaGFuZGxlIHRoZSBsYWNrIG9mIHBsYW5lLT5zdGF0ZSBvYmplY3QsIG5lY2Vzc2Fy eSBmb3IKPiAgIHRyYW5zaXRpb25hbCB1c2UuCj4KPiB2ODogRml4dXAgYW4gZW1iYXJyYXNzaW5n IGgvdmRpc3BsYXkgbWl4dXAuCj4KPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5p ZWwudmV0dGVyQGZmd2xsLmNoPgoKUmV2aWV3ZWQtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hy b21pdW0ub3JnPgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2hlbHBlci5jICB8 IDExMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1 L2RybS9kcm1fcGxhbmVfaGVscGVyLmMgfCAgMTAgKystLQo+ICBpbmNsdWRlL2RybS9kcm1fY3J0 Yy5oICAgICAgICAgICAgIHwgICA0ICsrCj4gIGluY2x1ZGUvZHJtL2RybV9jcnRjX2hlbHBlci5o ICAgICAgfCAgIDcgKysrCj4gIGluY2x1ZGUvZHJtL2RybV9wbGFuZV9oZWxwZXIuaCAgICAgfCAg IDQgKysKPiAgNSBmaWxlcyBjaGFuZ2VkLCAxMzAgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMo LSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMKPiBpbmRleCA2YzY1YTBhMjhmYmQuLjk1 ZWNiYjEzMTA1MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVy LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMKPiBAQCAtMzgsNiAr MzgsNyBAQAo+ICAjaW5jbHVkZSA8ZHJtL2RybV9mb3VyY2MuaD4KPiAgI2luY2x1ZGUgPGRybS9k cm1fY3J0Y19oZWxwZXIuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fZmJfaGVscGVyLmg+Cj4gKyNp bmNsdWRlIDxkcm0vZHJtX3BsYW5lX2hlbHBlci5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9lZGlk Lmg+Cj4KPiAgTU9EVUxFX0FVVEhPUigiRGF2aWQgQWlybGllLCBKZXNzZSBCYXJuZXMiKTsKPiBA QCAtODg4LDMgKzg4OSwxMTIgQEAgdm9pZCBkcm1faGVscGVyX3Jlc3VtZV9mb3JjZV9tb2RlKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICBkcm1fbW9kZXNldF91bmxvY2tfYWxsKGRldik7Cj4g IH0KPiAgRVhQT1JUX1NZTUJPTChkcm1faGVscGVyX3Jlc3VtZV9mb3JjZV9tb2RlKTsKPiArCj4g Ky8qKgo+ICsgKiBkcm1faGVscGVyX2NydGNfbW9kZV9zZXQgLSBtb2RlX3NldCBpbXBsZW1lbnRh dGlvbiBmb3IgYXRvbWljIHBsYW5lIGhlbHBlcnMKPiArICogQGNydGM6IERSTSBDUlRDCj4gKyAq IEBtb2RlOiBEUk0gZGlzcGxheSBtb2RlIHdoaWNoIHVzZXJzcGFjZSByZXF1ZXN0ZWQKPiArICog QGFkanVzdGVkX21vZGU6IERSTSBkaXNwbGF5IG1vZGUgYWRqdXN0ZWQgYnkgLT5tb2RlX2ZpeHVw IGNhbGxiYWNrcwo+ICsgKiBAeDogeCBvZmZzZXQgb2YgdGhlIENSVEMgc2Nhbm91dCBhcmVhIG9u IHRoZSB1bmRlcmx5aW5nIGZyYW1lYnVmZmVyCj4gKyAqIEB5OiB5IG9mZnNldCBvZiB0aGUgQ1JU QyBzY2Fub3V0IGFyZWEgb24gdGhlIHVuZGVybHlpbmcgZnJhbWVidWZmZXIKPiArICogQG9sZF9m YjogcHJldmlvdXMgZnJhbWVidWZmZXIKPiArICoKPiArICogVGhpcyBmdW5jdGlvbiBpbXBsZW1l bnRzIGEgY2FsbGJhY2sgdXNlYWJsZSBhcyB0aGUgLT5tb2RlX3NldCBjYWxsYmFjawo+ICsgKiBy ZXF1aXJlZCBieSB0aGUgY3J0YyBoZWxwZXJzLiBCZXNpZGVzIHRoZSBhdG9taWMgcGxhbmUgaGVs cGVyIGZ1bmN0aW9ucyBmb3IKPiArICogdGhlIHByaW1hcnkgcGxhbmUgdGhlIGRyaXZlciBtdXN0 IGFsc28gcHJvdmlkZSB0aGUgLT5tb2RlX3NldF9ub2ZiIGNhbGxiYWNrCj4gKyAqIHRvIHNldCB1 cCB0aGUgY3J0Yy4KPiArICoKPiArICogVGhpcyBpcyBhIHRyYW5zaXRpb25hbCBoZWxwZXIgdXNl ZnVsIGZvciBjb252ZXJ0aW5nIGRyaXZlcnMgdG8gdGhlIGF0b21pYwo+ICsgKiBpbnRlcmZhY2Vz Lgo+ICsgKi8KPiAraW50IGRybV9oZWxwZXJfY3J0Y19tb2RlX3NldChzdHJ1Y3QgZHJtX2NydGMg KmNydGMsIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ICsgICAgIHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlLCBpbnQgeCwgaW50IHksCj4gKyAgICAgc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqb2xkX2ZiKQo+ICt7Cj4gKyBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUg KmNydGNfc3RhdGU7Cj4gKyBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzICpjcnRjX2Z1bmNz ID0gY3J0Yy0+aGVscGVyX3ByaXZhdGU7Cj4gKyBpbnQgcmV0Owo+ICsKPiArIGlmIChjcnRjLT5m dW5jcy0+YXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSkKPiArIGNydGNfc3RhdGUgPSBjcnRjLT5mdW5j cy0+YXRvbWljX2R1cGxpY2F0ZV9zdGF0ZShjcnRjKTsKPiArIGVsc2UgaWYgKGNydGMtPnN0YXRl KQo+ICsgY3J0Y19zdGF0ZSA9IGttZW1kdXAoY3J0Yy0+c3RhdGUsIHNpemVvZigqY3J0Y19zdGF0 ZSksCj4gKyAgICAgR0ZQX0tFUk5FTCk7Cj4gKyBlbHNlCj4gKyBjcnRjX3N0YXRlID0ga3phbGxv YyhzaXplb2YoKmNydGNfc3RhdGUpLCBHRlBfS0VSTkVMKTsKPiArIGlmICghY3J0Y19zdGF0ZSkK PiArIHJldHVybiAtRU5PTUVNOwo+ICsKPiArIGNydGNfc3RhdGUtPmVuYWJsZSA9IHRydWU7Cj4g KyBjcnRjX3N0YXRlLT5wbGFuZXNfY2hhbmdlZCA9IHRydWU7Cj4gKyBkcm1fbW9kZV9jb3B5KCZj cnRjX3N0YXRlLT5tb2RlLCBtb2RlKTsKPiArIGRybV9tb2RlX2NvcHkoJmNydGNfc3RhdGUtPmFk anVzdGVkX21vZGUsIGFkanVzdGVkX21vZGUpOwo+ICsKPiArIGlmIChjcnRjX2Z1bmNzLT5hdG9t aWNfY2hlY2spIHsKPiArIHJldCA9IGNydGNfZnVuY3MtPmF0b21pY19jaGVjayhjcnRjLCBjcnRj X3N0YXRlKTsKPiArIGlmIChyZXQpIHsKPiArIGtmcmVlKGNydGNfc3RhdGUpOwo+ICsKPiArIHJl dHVybiByZXQ7Cj4gKyB9Cj4gKyB9Cj4gKwo+ICsgc3dhcChjcnRjLT5zdGF0ZSwgY3J0Y19zdGF0 ZSk7Cj4gKwo+ICsgY3J0Y19mdW5jcy0+bW9kZV9zZXRfbm9mYihjcnRjKTsKPiArCj4gKyBpZiAo Y3J0Y19zdGF0ZSkgewo+ICsgaWYgKGNydGMtPmZ1bmNzLT5hdG9taWNfZGVzdHJveV9zdGF0ZSkK PiArIGNydGMtPmZ1bmNzLT5hdG9taWNfZGVzdHJveV9zdGF0ZShjcnRjLCBjcnRjX3N0YXRlKTsK PiArIGVsc2UKPiArIGtmcmVlKGNydGNfc3RhdGUpOwo+ICsgfQo+ICsKPiArIHJldHVybiBkcm1f aGVscGVyX2NydGNfbW9kZV9zZXRfYmFzZShjcnRjLCB4LCB5LCBvbGRfZmIpOwo+ICt9Cj4gK0VY UE9SVF9TWU1CT0woZHJtX2hlbHBlcl9jcnRjX21vZGVfc2V0KTsKPiArCj4gKy8qKgo+ICsgKiBk cm1faGVscGVyX2NydGNfbW9kZV9zZXRfYmFzZSAtIG1vZGVfc2V0X2Jhc2UgaW1wbGVtZW50YXRp b24gZm9yIGF0b21pYyBwbGFuZSBoZWxwZXJzCj4gKyAqIEBjcnRjOiBEUk0gQ1JUQwo+ICsgKiBA eDogeCBvZmZzZXQgb2YgdGhlIENSVEMgc2Nhbm91dCBhcmVhIG9uIHRoZSB1bmRlcmx5aW5nIGZy YW1lYnVmZmVyCj4gKyAqIEB5OiB5IG9mZnNldCBvZiB0aGUgQ1JUQyBzY2Fub3V0IGFyZWEgb24g dGhlIHVuZGVybHlpbmcgZnJhbWVidWZmZXIKPiArICogQG9sZF9mYjogcHJldmlvdXMgZnJhbWVi dWZmZXIKPiArICoKPiArICogVGhpcyBmdW5jdGlvbiBpbXBsZW1lbnRzIGEgY2FsbGJhY2sgdXNl YWJsZSBhcyB0aGUgLT5tb2RlX3NldF9iYXNlIHVzZWQKPiArICogcmVxdWlyZWQgYnkgdGhlIGNy dGMgaGVscGVycy4gVGhlIGRyaXZlciBtdXN0IHByb3ZpZGUgdGhlIGF0b21pYyBwbGFuZSBoZWxw ZXIKPiArICogZnVuY3Rpb25zIGZvciB0aGUgcHJpbWFyeSBwbGFuZS4KPiArICoKPiArICogVGhp cyBpcyBhIHRyYW5zaXRpb25hbCBoZWxwZXIgdXNlZnVsIGZvciBjb252ZXJ0aW5nIGRyaXZlcnMg dG8gdGhlIGF0b21pYwo+ICsgKiBpbnRlcmZhY2VzLgo+ICsgKi8KPiAraW50IGRybV9oZWxwZXJf Y3J0Y19tb2RlX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgaW50IHgsIGludCB5LAo+ ICsgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9sZF9mYikKPiArewo+ICsgc3RydWN0IGRybV9w bGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7Cj4gKyBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSA9IGNy dGMtPnByaW1hcnk7Cj4gKwo+ICsgaWYgKHBsYW5lLT5mdW5jcy0+YXRvbWljX2R1cGxpY2F0ZV9z dGF0ZSkKPiArIHBsYW5lX3N0YXRlID0gcGxhbmUtPmZ1bmNzLT5hdG9taWNfZHVwbGljYXRlX3N0 YXRlKHBsYW5lKTsKPiArIGVsc2UgaWYgKHBsYW5lLT5zdGF0ZSkKPiArIHBsYW5lX3N0YXRlID0g a21lbWR1cChwbGFuZS0+c3RhdGUsIHNpemVvZigqcGxhbmVfc3RhdGUpLAo+ICsgICAgICBHRlBf S0VSTkVMKTsKPiArIGVsc2UKPiArIHBsYW5lX3N0YXRlID0ga3phbGxvYyhzaXplb2YoKnBsYW5l X3N0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gKyBpZiAoIXBsYW5lX3N0YXRlKQo+ICsgcmV0dXJuIC1F Tk9NRU07Cj4gKwo+ICsgcGxhbmVfc3RhdGUtPmNydGMgPSBjcnRjOwo+ICsgcGxhbmVfc3RhdGUt PmZiID0gY3J0Yy0+cHJpbWFyeS0+ZmI7Cj4gKyBwbGFuZV9zdGF0ZS0+Y3J0Y194ID0gMDsKPiAr IHBsYW5lX3N0YXRlLT5jcnRjX3kgPSAwOwo+ICsgcGxhbmVfc3RhdGUtPmNydGNfaCA9IGNydGMt Pm1vZGUudmRpc3BsYXk7Cj4gKyBwbGFuZV9zdGF0ZS0+Y3J0Y193ID0gY3J0Yy0+bW9kZS5oZGlz cGxheTsKPiArIHBsYW5lX3N0YXRlLT5zcmNfeCA9IHggPDwgMTY7Cj4gKyBwbGFuZV9zdGF0ZS0+ c3JjX3kgPSB5IDw8IDE2Owo+ICsgcGxhbmVfc3RhdGUtPnNyY19oID0gY3J0Yy0+bW9kZS52ZGlz cGxheSA8PCAxNjsKPiArIHBsYW5lX3N0YXRlLT5zcmNfdyA9IGNydGMtPm1vZGUuaGRpc3BsYXkg PDwgMTY7Cj4gKwo+ICsgcmV0dXJuIGRybV9wbGFuZV9oZWxwZXJfY29tbWl0KHBsYW5lLCBwbGFu ZV9zdGF0ZSwgb2xkX2ZiKTsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9oZWxwZXJfY3J0Y19t b2RlX3NldF9iYXNlKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZV9o ZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmMKPiBpbmRleCA0NWFh OGM5OGUzZmIuLjQwZWNiMmM2ZTg1OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X3BsYW5lX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZV9oZWxwZXIu Ywo+IEBAIC0zNzAsOSArMzcwLDkgQEAgaW50IGRybV9jcnRjX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJt X2NydGNfaW5pdCk7Cj4KPiAtc3RhdGljIGludAo+IC1wbGFuZV9jb21taXQoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlLAo+IC0gICAg IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9sZF9mYikKPiAraW50IGRybV9wbGFuZV9oZWxwZXJf Y29tbWl0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICsgICAgc3RydWN0IGRybV9wbGFuZV9z dGF0ZSAqcGxhbmVfc3RhdGUsCj4gKyAgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbGRfZmIp Cj4gIHsKPiAgIHN0cnVjdCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzICpwbGFuZV9mdW5jczsKPiAg IHN0cnVjdCBkcm1fY3J0YyAqY3J0Y1syXTsKPiBAQCAtNDk3LDcgKzQ5Nyw3IEBAIGludCBkcm1f cGxhbmVfaGVscGVyX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9j cnRjICpjcnRjLAo+ICAgcGxhbmVfc3RhdGUtPnNyY19oID0gc3JjX2g7Cj4gICBwbGFuZV9zdGF0 ZS0+c3JjX3cgPSBzcmNfdzsKPgo+IC0gcmV0dXJuIHBsYW5lX2NvbW1pdChwbGFuZSwgcGxhbmVf c3RhdGUsIHBsYW5lLT5mYik7Cj4gKyByZXR1cm4gZHJtX3BsYW5lX2hlbHBlcl9jb21taXQocGxh bmUsIHBsYW5lX3N0YXRlLCBwbGFuZS0+ZmIpOwo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX3Bs YW5lX2hlbHBlcl91cGRhdGUpOwo+Cj4gQEAgLTUzNiw2ICs1MzYsNiBAQCBpbnQgZHJtX3BsYW5l X2hlbHBlcl9kaXNhYmxlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+ICAgcGxhbmVfc3RhdGUt PmNydGMgPSBOVUxMOwo+ICAgcGxhbmVfc3RhdGUtPmZiID0gTlVMTDsKPgo+IC0gcmV0dXJuIHBs YW5lX2NvbW1pdChwbGFuZSwgcGxhbmVfc3RhdGUsIHBsYW5lLT5mYik7Cj4gKyByZXR1cm4gZHJt X3BsYW5lX2hlbHBlcl9jb21taXQocGxhbmUsIHBsYW5lX3N0YXRlLCBwbGFuZS0+ZmIpOwo+ICB9 Cj4gIEVYUE9SVF9TWU1CT0woZHJtX3BsYW5lX2hlbHBlcl9kaXNhYmxlKTsKPiBkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPiBpbmRl eCBkMDA2OGI3YWY2NzguLjc3ZmY4OTkyYTNiNyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9k cm1fY3J0Yy5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+IEBAIC0yMzAsNiArMjMw LDcgQEAgc3RydWN0IGRybV9hdG9taWNfc3RhdGU7Cj4gICAqIHN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAtIG11dGFibGUgY3J0YyBzdGF0ZQo+ICAgKiBAZW5hYmxlOiB3aGV0aGVyIHRoZSBDUlRDIHNo b3VsZCBiZSBlbmFibGVkLCBnYXRlcyBhbGwgb3RoZXIgc3RhdGUKPiAgICogQHBsYW5lc19jaGFu Z2VkOiBmb3IgdXNlIGJ5IGhlbHBlcnMgYW5kIGRyaXZlcnMgd2hlbiBjb21wdXRpbmcgc3RhdGUg dXBkYXRlcwo+ICsgKiBAYWRqdXN0ZWRfbW9kZTogZm9yIHVzZSBieSBoZWxwZXJzIGFuZCBkcml2 ZXJzIHRvIGNvbXB1dGUgYWRqdXN0ZWQgbW9kZSB0aW1pbmdzCj4gICAqIEBtb2RlOiBjdXJyZW50 IG1vZGUgdGltaW5ncwo+ICAgKiBAZXZlbnQ6IG9wdGlvbmFsIHBvaW50ZXIgdG8gYSBEUk0gZXZl bnQgdG8gc2lnbmFsIHVwb24gY29tcGxldGlvbiBvZiB0aGUKPiAgICogc3RhdGUgdXBkYXRlCj4g QEAgLTI0MSw2ICsyNDIsOSBAQCBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgewo+ICAgLyogY29tcHV0 ZWQgc3RhdGUgYml0cyB1c2VkIGJ5IGhlbHBlcnMgYW5kIGRyaXZlcnMgKi8KPiAgIGJvb2wgcGxh bmVzX2NoYW5nZWQgOiAxOwo+Cj4gKyAvKiBhZGp1c3RlZF9tb2RlOiBmb3IgdXNlIGJ5IGhlbHBl cnMgYW5kIGRyaXZlcnMgKi8KPiArIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGFkanVzdGVkX21v ZGU7Cj4gKwo+ICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgbW9kZTsKPgo+ICAgc3RydWN0IGRy bV9wZW5kaW5nX3ZibGFua19ldmVudCAqZXZlbnQ7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt L2RybV9jcnRjX2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2NydGNfaGVscGVyLmgKPiBpbmRl eCBhZGVjNDhiMjdhYTUuLjdhZGJiNjVlYThhZSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9k cm1fY3J0Y19oZWxwZXIuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jcnRjX2hlbHBlci5oCj4g QEAgLTY4LDYgKzY4LDcgQEAgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyB7Cj4gICBpbnQg KCptb2RlX3NldCkoc3RydWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSwKPiAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlLCBpbnQg eCwgaW50IHksCj4gICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbGRfZmIpOwo+ICsgdm9pZCAo Km1vZGVfc2V0X25vZmIpKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4KPiAgIC8qIE1vdmUgdGhl IGNydGMgb24gdGhlIGN1cnJlbnQgZmIgdG8gdGhlIGdpdmVuIHBvc2l0aW9uICpvcHRpb25hbCog Ki8KPiAgIGludCAoKm1vZGVfc2V0X2Jhc2UpKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgaW50IHgs IGludCB5LAo+IEBAIC0xNjcsNiArMTY4LDEyIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBkcm1fY29u bmVjdG9yX2hlbHBlcl9hZGQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPgo+ICBl eHRlcm4gdm9pZCBkcm1faGVscGVyX3Jlc3VtZV9mb3JjZV9tb2RlKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpOwo+Cj4gK2ludCBkcm1faGVscGVyX2NydGNfbW9kZV9zZXQoc3RydWN0IGRybV9jcnRj ICpjcnRjLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiArICAgICBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSwgaW50IHgsIGludCB5LAo+ICsgICAgIHN0cnVj dCBkcm1fZnJhbWVidWZmZXIgKm9sZF9mYik7Cj4gK2ludCBkcm1faGVscGVyX2NydGNfbW9kZV9z ZXRfYmFzZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGludCB4LCBpbnQgeSwKPiArICBzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICpvbGRfZmIpOwo+ICsKPiAgLyogZHJtX3Byb2JlX2hlbHBlci5jICov Cj4gIGV4dGVybiBpbnQgZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzKHN0 cnVjdCBkcm1fY29ubmVjdG9yCj4gICAgICpjb25uZWN0b3IsIHVpbnQzMl90IG1heFgsCj4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9wbGFuZV9oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2Ry bV9wbGFuZV9oZWxwZXIuaAo+IGluZGV4IDhhMDcwOTcwNGFmMC4uNjJhY2IzYzk0MGI0IDEwMDY0 NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9wbGFuZV9oZWxwZXIuaAo+ICsrKyBiL2luY2x1ZGUv ZHJtL2RybV9wbGFuZV9oZWxwZXIuaAo+IEBAIC0xMDIsNCArMTAyLDggQEAgaW50IGRybV9wbGFu ZV9oZWxwZXJfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCj4gICAgICB1aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3JjX2gpOwo+ICBpbnQgZHJt X3BsYW5lX2hlbHBlcl9kaXNhYmxlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKTsKPgo+ICsvKiBG b3IgdXNlIGJ5IGRybV9jcnRjX2hlbHBlci5jICovCj4gK2ludCBkcm1fcGxhbmVfaGVscGVyX2Nv bW1pdChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiArICAgIHN0cnVjdCBkcm1fcGxhbmVfc3Rh dGUgKnBsYW5lX3N0YXRlLAo+ICsgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqb2xkX2ZiKTsK PiAgI2VuZGlmCj4gLS0KPiAyLjEuMQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK