From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH v3 10/21] drm/bridge: Clarify the atomic enable/disable hooks semantics Date: Mon, 2 Dec 2019 18:50:39 +0200 Message-ID: <20191202165039.GN4929@pendragon.ideasonboard.com> References: <20191023154512.9762-1-boris.brezillon@collabora.com> <20191023154512.9762-11-boris.brezillon@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by gabe.freedesktop.org (Postfix) with ESMTPS id AFBD46E247 for ; Mon, 2 Dec 2019 16:50:49 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191023154512.9762-11-boris.brezillon@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Boris Brezillon Cc: Mark Rutland , Neil Armstrong , dri-devel@lists.freedesktop.org, Thierry Reding , kernel@collabora.com, Sam Ravnborg , Nikita Yushchenko , Andrey Smirnov , Kyungmin Park , Chris Healy , devicetree@vger.kernel.org, Jonas Karlman , Rob Herring , Jernej Skrabec , Seung-Woo Kim List-Id: dri-devel@lists.freedesktop.org SGkgQm9yaXMsCgpUaGFuayB5b3UgZm9yIHRoZSBwYXRjaC4KCk9uIFdlZCwgT2N0IDIzLCAyMDE5 IGF0IDA1OjQ1OjAxUE0gKzAyMDAsIEJvcmlzIEJyZXppbGxvbiB3cm90ZToKPiBUaGUgW3ByZV9d ZW5hYmxlL1twb3N0X11kaXNhYmxlIGhvb2tzIGFyZSBwYXNzZWQgdGhlIG9sZCBhdG9taWMgc3Rh dGUuCj4gVXBkYXRlIHRoZSBkb2MgYW5kIHJlbmFtZSB0aGUgYXJndW1lbnRzIHRvIG1ha2UgaXQg Y2xlYXIuCj4gCj4gU2lnbmVkLW9mZi1ieTogQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxs b25AY29sbGFib3JhLmNvbT4KPiAtLS0KPiBDaGFuZ2VzIGluIHYzOgo+ICogTmV3IHBhdGNoCj4g LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYnJpZGdlLmMgfCAyNCArKysrKysrKysrKystLS0t LS0tLS0tLS0KPiAgaW5jbHVkZS9kcm0vZHJtX2JyaWRnZS5oICAgICB8IDE2ICsrKysrKysrKysr Ky0tLS0KPiAgMiBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMo LSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9icmlkZ2UuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fYnJpZGdlLmMKPiBpbmRleCBjNTM5NjY3Njc3ODIuLmNhNzRiZmUwMjhj OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2JyaWRnZS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9icmlkZ2UuYwo+IEBAIC00NDcsNyArNDQ3LDcgQEAgRVhQT1JUX1NZ TUJPTChkcm1fYnJpZGdlX2NoYWluX2VuYWJsZSk7Cj4gIC8qKgo+ICAgKiBkcm1fYXRvbWljX2Jy aWRnZV9jaGFpbl9kaXNhYmxlIC0gZGlzYWJsZXMgYWxsIGJyaWRnZXMgaW4gdGhlIGVuY29kZXIg Y2hhaW4KPiAgICogQGJyaWRnZTogYnJpZGdlIGNvbnRyb2wgc3RydWN0dXJlCj4gLSAqIEBzdGF0 ZTogYXRvbWljIHN0YXRlIGJlaW5nIGNvbW1pdHRlZAo+ICsgKiBAb2xkX3N0YXRlOiBvbGQgYXRv bWljIHN0YXRlCj4gICAqCj4gICAqIENhbGxzICZkcm1fYnJpZGdlX2Z1bmNzLmF0b21pY19kaXNh YmxlIChmYWxscyBiYWNrIG9uCj4gICAqICZkcm1fYnJpZGdlX2Z1bmNzLmRpc2FibGUpIG9wIGZv ciBhbGwgdGhlIGJyaWRnZXMgaW4gdGhlIGVuY29kZXIgY2hhaW4sCj4gQEAgLTQ1Nyw3ICs0NTcs NyBAQCBFWFBPUlRfU1lNQk9MKGRybV9icmlkZ2VfY2hhaW5fZW5hYmxlKTsKPiAgICogTm90ZTog dGhlIGJyaWRnZSBwYXNzZWQgc2hvdWxkIGJlIHRoZSBvbmUgY2xvc2VzdCB0byB0aGUgZW5jb2Rl cgo+ICAgKi8KPiAgdm9pZCBkcm1fYXRvbWljX2JyaWRnZV9jaGFpbl9kaXNhYmxlKHN0cnVjdCBk cm1fYnJpZGdlICpicmlkZ2UsCj4gLQkJCQkgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSkKPiArCQkJCSAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAg ewo+ICAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwo+ICAJc3RydWN0IGRybV9icmlkZ2Ug Kml0ZXI7Cj4gQEAgLTQ2OSw3ICs0NjksNyBAQCB2b2lkIGRybV9hdG9taWNfYnJpZGdlX2NoYWlu X2Rpc2FibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiAgCWxpc3RfZm9yX2VhY2hfZW50 cnlfcmV2ZXJzZShpdGVyLCAmZW5jb2Rlci0+YnJpZGdlX2NoYWluLAo+ICAJCQkJICAgIGNoYWlu X25vZGUpIHsKPiAgCQlpZiAoaXRlci0+ZnVuY3MtPmF0b21pY19kaXNhYmxlKQo+IC0JCQlpdGVy LT5mdW5jcy0+YXRvbWljX2Rpc2FibGUoaXRlciwgc3RhdGUpOwo+ICsJCQlpdGVyLT5mdW5jcy0+ YXRvbWljX2Rpc2FibGUoaXRlciwgb2xkX3N0YXRlKTsKPiAgCQllbHNlIGlmIChpdGVyLT5mdW5j cy0+ZGlzYWJsZSkKPiAgCQkJaXRlci0+ZnVuY3MtPmRpc2FibGUoaXRlcik7Cj4gIAo+IEBAIC00 ODMsNyArNDgzLDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2JyaWRnZV9jaGFpbl9kaXNh YmxlKTsKPiAgICogZHJtX2F0b21pY19icmlkZ2VfY2hhaW5fcG9zdF9kaXNhYmxlIC0gY2xlYW5z IHVwIGFmdGVyIGRpc2FibGluZyBhbGwgYnJpZGdlcwo+ICAgKgkJCQkJICBpbiB0aGUgZW5jb2Rl ciBjaGFpbgo+ICAgKiBAYnJpZGdlOiBicmlkZ2UgY29udHJvbCBzdHJ1Y3R1cmUKPiAtICogQHN0 YXRlOiBhdG9taWMgc3RhdGUgYmVpbmcgY29tbWl0dGVkCj4gKyAqIEBvbGRfc3RhdGU6IG9sZCBh dG9taWMgc3RhdGUKPiAgICoKPiAgICogQ2FsbHMgJmRybV9icmlkZ2VfZnVuY3MuYXRvbWljX3Bv c3RfZGlzYWJsZSAoZmFsbHMgYmFjayBvbgo+ICAgKiAmZHJtX2JyaWRnZV9mdW5jcy5wb3N0X2Rp c2FibGUpIG9wIGZvciBhbGwgdGhlIGJyaWRnZXMgaW4gdGhlIGVuY29kZXIgY2hhaW4sCj4gQEAg LTQ5Myw3ICs0OTMsNyBAQCBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfYnJpZGdlX2NoYWluX2Rp c2FibGUpOwo+ICAgKiBOb3RlOiB0aGUgYnJpZGdlIHBhc3NlZCBzaG91bGQgYmUgdGhlIG9uZSBj bG9zZXN0IHRvIHRoZSBlbmNvZGVyCj4gICAqLwo+ICB2b2lkIGRybV9hdG9taWNfYnJpZGdlX2No YWluX3Bvc3RfZGlzYWJsZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+IC0JCQkJCSAgc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICsJCQkJCSAgc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKm9sZF9zdGF0ZSkKPiAgewo+ICAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwo+ ICAKPiBAQCAtNTA0LDcgKzUwNCw3IEBAIHZvaWQgZHJtX2F0b21pY19icmlkZ2VfY2hhaW5fcG9z dF9kaXNhYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gIAlsaXN0X2Zvcl9lYWNoX2Vu dHJ5X2Zyb20oYnJpZGdlLCAmZW5jb2Rlci0+YnJpZGdlX2NoYWluLAo+ICAJCQkJIGNoYWluX25v ZGUpIHsKPiAgCQlpZiAoYnJpZGdlLT5mdW5jcy0+YXRvbWljX3Bvc3RfZGlzYWJsZSkKPiAtCQkJ YnJpZGdlLT5mdW5jcy0+YXRvbWljX3Bvc3RfZGlzYWJsZShicmlkZ2UsIHN0YXRlKTsKPiArCQkJ YnJpZGdlLT5mdW5jcy0+YXRvbWljX3Bvc3RfZGlzYWJsZShicmlkZ2UsIG9sZF9zdGF0ZSk7Cj4g IAkJZWxzZSBpZiAoYnJpZGdlLT5mdW5jcy0+cG9zdF9kaXNhYmxlKQo+ICAJCQlicmlkZ2UtPmZ1 bmNzLT5wb3N0X2Rpc2FibGUoYnJpZGdlKTsKPiAgCX0KPiBAQCAtNTE1LDcgKzUxNSw3IEBAIEVY UE9SVF9TWU1CT0woZHJtX2F0b21pY19icmlkZ2VfY2hhaW5fcG9zdF9kaXNhYmxlKTsKPiAgICog ZHJtX2F0b21pY19icmlkZ2VfY2hhaW5fcHJlX2VuYWJsZSAtIHByZXBhcmVzIGZvciBlbmFibGlu ZyBhbGwgYnJpZGdlcyBpbgo+ICAgKgkJCQkJdGhlIGVuY29kZXIgY2hhaW4KPiAgICogQGJyaWRn ZTogYnJpZGdlIGNvbnRyb2wgc3RydWN0dXJlCj4gLSAqIEBzdGF0ZTogYXRvbWljIHN0YXRlIGJl aW5nIGNvbW1pdHRlZAo+ICsgKiBAb2xkX3N0YXRlOiBvbGQgYXRvbWljIHN0YXRlCj4gICAqCj4g ICAqIENhbGxzICZkcm1fYnJpZGdlX2Z1bmNzLmF0b21pY19wcmVfZW5hYmxlIChmYWxscyBiYWNr IG9uCj4gICAqICZkcm1fYnJpZGdlX2Z1bmNzLnByZV9lbmFibGUpIG9wIGZvciBhbGwgdGhlIGJy aWRnZXMgaW4gdGhlIGVuY29kZXIgY2hhaW4sCj4gQEAgLTUyNSw3ICs1MjUsNyBAQCBFWFBPUlRf U1lNQk9MKGRybV9hdG9taWNfYnJpZGdlX2NoYWluX3Bvc3RfZGlzYWJsZSk7Cj4gICAqIE5vdGU6 IHRoZSBicmlkZ2UgcGFzc2VkIHNob3VsZCBiZSB0aGUgb25lIGNsb3Nlc3QgdG8gdGhlIGVuY29k ZXIKPiAgICovCj4gIHZvaWQgZHJtX2F0b21pY19icmlkZ2VfY2hhaW5fcHJlX2VuYWJsZShzdHJ1 Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+IC0JCQkJCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSkKPiArCQkJCQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQo+ICB7Cj4g IAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXI7Cj4gIAlzdHJ1Y3QgZHJtX2JyaWRnZSAqaXRl cjsKPiBAQCAtNTM3LDcgKzUzNyw3IEBAIHZvaWQgZHJtX2F0b21pY19icmlkZ2VfY2hhaW5fcHJl X2VuYWJsZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+ICAJbGlzdF9mb3JfZWFjaF9lbnRy eV9yZXZlcnNlKGl0ZXIsICZicmlkZ2UtPmVuY29kZXItPmJyaWRnZV9jaGFpbiwKPiAgCQkJCSAg ICBjaGFpbl9ub2RlKSB7Cj4gIAkJaWYgKGl0ZXItPmZ1bmNzLT5hdG9taWNfcHJlX2VuYWJsZSkK PiAtCQkJaXRlci0+ZnVuY3MtPmF0b21pY19wcmVfZW5hYmxlKGl0ZXIsIHN0YXRlKTsKPiArCQkJ aXRlci0+ZnVuY3MtPmF0b21pY19wcmVfZW5hYmxlKGl0ZXIsIG9sZF9zdGF0ZSk7Cj4gIAkJZWxz ZSBpZiAoaXRlci0+ZnVuY3MtPnByZV9lbmFibGUpCj4gIAkJCWl0ZXItPmZ1bmNzLT5wcmVfZW5h YmxlKGl0ZXIpOwo+ICAKPiBAQCAtNTUwLDcgKzU1MCw3IEBAIEVYUE9SVF9TWU1CT0woZHJtX2F0 b21pY19icmlkZ2VfY2hhaW5fcHJlX2VuYWJsZSk7Cj4gIC8qKgo+ICAgKiBkcm1fYXRvbWljX2Jy aWRnZV9jaGFpbl9lbmFibGUgLSBlbmFibGVzIGFsbCBicmlkZ2VzIGluIHRoZSBlbmNvZGVyIGNo YWluCj4gICAqIEBicmlkZ2U6IGJyaWRnZSBjb250cm9sIHN0cnVjdHVyZQo+IC0gKiBAc3RhdGU6 IGF0b21pYyBzdGF0ZSBiZWluZyBjb21taXR0ZWQKPiArICogQG9sZF9zdGF0ZTogb2xkIGF0b21p YyBzdGF0ZQo+ICAgKgo+ICAgKiBDYWxscyAmZHJtX2JyaWRnZV9mdW5jcy5hdG9taWNfZW5hYmxl IChmYWxscyBiYWNrIG9uCj4gICAqICZkcm1fYnJpZGdlX2Z1bmNzLmVuYWJsZSkgb3AgZm9yIGFs bCB0aGUgYnJpZGdlcyBpbiB0aGUgZW5jb2RlciBjaGFpbiwKPiBAQCAtNTYwLDcgKzU2MCw3IEBA IEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19icmlkZ2VfY2hhaW5fcHJlX2VuYWJsZSk7Cj4gICAq IE5vdGU6IHRoZSBicmlkZ2UgcGFzc2VkIHNob3VsZCBiZSB0aGUgb25lIGNsb3Nlc3QgdG8gdGhl IGVuY29kZXIKPiAgICovCj4gIHZvaWQgZHJtX2F0b21pY19icmlkZ2VfY2hhaW5fZW5hYmxlKHN0 cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gLQkJCQkgICAgc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlKQo+ICsJCQkJICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUp Cj4gIHsKPiAgCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKPiAgCj4gQEAgLTU3MSw3ICs1 NzEsNyBAQCB2b2lkIGRybV9hdG9taWNfYnJpZGdlX2NoYWluX2VuYWJsZShzdHJ1Y3QgZHJtX2Jy aWRnZSAqYnJpZGdlLAo+ICAJbGlzdF9mb3JfZWFjaF9lbnRyeV9mcm9tKGJyaWRnZSwgJmJyaWRn ZS0+ZW5jb2Rlci0+YnJpZGdlX2NoYWluLAo+ICAJCQkJIGNoYWluX25vZGUpIHsKPiAgCQlpZiAo YnJpZGdlLT5mdW5jcy0+YXRvbWljX2VuYWJsZSkKPiAtCQkJYnJpZGdlLT5mdW5jcy0+YXRvbWlj X2VuYWJsZShicmlkZ2UsIHN0YXRlKTsKPiArCQkJYnJpZGdlLT5mdW5jcy0+YXRvbWljX2VuYWJs ZShicmlkZ2UsIG9sZF9zdGF0ZSk7Cj4gIAkJZWxzZSBpZiAoYnJpZGdlLT5mdW5jcy0+ZW5hYmxl KQo+ICAJCQlicmlkZ2UtPmZ1bmNzLT5lbmFibGUoYnJpZGdlKTsKPiAgCX0KPiBkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9kcm0vZHJtX2JyaWRnZS5oIGIvaW5jbHVkZS9kcm0vZHJtX2JyaWRnZS5oCj4g aW5kZXggYTYwOGM0N2QxZGU1Li5lODE0ZTZkNmU3YzIgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9k cm0vZHJtX2JyaWRnZS5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2JyaWRnZS5oCj4gQEAgLTI2 Niw2ICsyNjYsOCBAQCBzdHJ1Y3QgZHJtX2JyaWRnZV9mdW5jcyB7Cj4gIAkgKiBicmlkZ2UncyBA YXRvbWljX3ByZV9lbmFibGUgb3IgQHByZV9lbmFibGUgZnVuY3Rpb24uIElmIHRoZSBwcmVjZWRp bmcKPiAgCSAqIGVsZW1lbnQgaXMgYSAmZHJtX2VuY29kZXIgaXQncyBjYWxsZWQgcmlnaHQgYmVm b3JlIHRoZSBlbmNvZGVyJ3MKPiAgCSAqICZkcm1fZW5jb2Rlcl9oZWxwZXJfZnVuY3MuYXRvbWlj X2VuYWJsZSBob29rLgo+ICsJICogVGhpcyBob29rIGlzIHBhc3NlZCB0aGUgb2xkIGF0b21pYyBz dGF0ZSAoYXRvbWljIHN0YXRlIGFmdGVyIG5ldy9vbGQKPiArCSAqIHN0YXRlcyBoYXZlIGJlZW4g c3dhcHBlZCkuCgpJIHRoaW5rIHRoZSBuYW1lIGNoYW5nZSBpcyBlbm91Z2ggdG8gZXhwbGFpbiB0 aGlzLiBJZiB5b3Ugd2FudCB0byBtYWtlCml0IGV4cGxpY2l0IGluIHRoZSBkb2N1bWVudGF0aW9u LCBJIGZpbmQgdGhlIHBhcnQgYmV0d2VlbiBwYXJlbnRoZXNlcyBhCmJpdCBjb25mdXNpbmcuCgpX aXRoIHRoaXMgY29tbWVudCBhZGRyZXNzZWQsCgpSZXZpZXdlZC1ieTogTGF1cmVudCBQaW5jaGFy dCA8bGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgoKPiAgCSAqCj4gIAkgKiBUaGUg ZGlzcGxheSBwaXBlIChpLmUuIGNsb2NrcyBhbmQgdGltaW5nIHNpZ25hbHMpIGZlZWRpbmcgdGhp cyBicmlkZ2UKPiAgCSAqIHdpbGwgbm90IHlldCBiZSBydW5uaW5nIHdoZW4gdGhpcyBjYWxsYmFj ayBpcyBjYWxsZWQuIFRoZSBicmlkZ2UgbXVzdAo+IEBAIC0yODEsNyArMjgzLDcgQEAgc3RydWN0 IGRybV9icmlkZ2VfZnVuY3Mgewo+ICAJICogVGhlIEBhdG9taWNfcHJlX2VuYWJsZSBjYWxsYmFj ayBpcyBvcHRpb25hbC4KPiAgCSAqLwo+ICAJdm9pZCAoKmF0b21pY19wcmVfZW5hYmxlKShzdHJ1 Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+IC0JCQkJICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUpOwo+ICsJCQkJICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKTsKPiAg Cj4gIAkvKioKPiAgCSAqIEBhdG9taWNfZW5hYmxlOgo+IEBAIC0yOTIsNiArMjk0LDggQEAgc3Ry dWN0IGRybV9icmlkZ2VfZnVuY3Mgewo+ICAJICogYnJpZGdlJ3MgQGF0b21pY19lbmFibGUgb3Ig QGVuYWJsZSBmdW5jdGlvbi4gSWYgdGhlIHByZWNlZGluZyBlbGVtZW50Cj4gIAkgKiBpcyBhICZk cm1fZW5jb2RlciBpdCdzIGNhbGxlZCByaWdodCBhZnRlciB0aGUgZW5jb2RlcidzCj4gIAkgKiAm ZHJtX2VuY29kZXJfaGVscGVyX2Z1bmNzLmF0b21pY19lbmFibGUgaG9vay4KPiArCSAqIFRoaXMg aG9vayBpcyBwYXNzZWQgdGhlIG9sZCBhdG9taWMgc3RhdGUgKGF0b21pYyBzdGF0ZSBhZnRlciBu ZXcvb2xkCj4gKwkgKiBzdGF0ZXMgaGF2ZSBiZWVuIHN3YXBwZWQpLgo+ICAJICoKPiAgCSAqIFRo ZSBicmlkZ2UgY2FuIGFzc3VtZSB0aGF0IHRoZSBkaXNwbGF5IHBpcGUgKGkuZS4gY2xvY2tzIGFu ZCB0aW1pbmcKPiAgCSAqIHNpZ25hbHMpIGZlZWRpbmcgaXQgaXMgcnVubmluZyB3aGVuIHRoaXMg Y2FsbGJhY2sgaXMgY2FsbGVkLiBUaGlzCj4gQEAgLTMwNiw3ICszMTAsNyBAQCBzdHJ1Y3QgZHJt X2JyaWRnZV9mdW5jcyB7Cj4gIAkgKiBUaGUgQGF0b21pY19lbmFibGUgY2FsbGJhY2sgaXMgb3B0 aW9uYWwuCj4gIAkgKi8KPiAgCXZvaWQgKCphdG9taWNfZW5hYmxlKShzdHJ1Y3QgZHJtX2JyaWRn ZSAqYnJpZGdlLAo+IC0JCQkgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ ICsJCQkgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKTsKPiAgCS8qKgo+ ICAJICogQGF0b21pY19kaXNhYmxlOgo+ICAJICoKPiBAQCAtMzE2LDYgKzMyMCw4IEBAIHN0cnVj dCBkcm1fYnJpZGdlX2Z1bmNzIHsKPiAgCSAqIGJyaWRnZSdzIEBhdG9taWNfZGlzYWJsZSBvciBA ZGlzYWJsZSB2ZnVuYy4gSWYgdGhlIHByZWNlZGluZyBlbGVtZW50Cj4gIAkgKiBpcyBhICZkcm1f ZW5jb2RlciBpdCdzIGNhbGxlZCByaWdodCBiZWZvcmUgdGhlCj4gIAkgKiAmZHJtX2VuY29kZXJf aGVscGVyX2Z1bmNzLmF0b21pY19kaXNhYmxlIGhvb2suCj4gKwkgKiBUaGlzIGhvb2sgaXMgcGFz c2VkIHRoZSBvbGQgYXRvbWljIHN0YXRlIChhdG9taWMgc3RhdGUgYWZ0ZXIgbmV3L29sZAo+ICsJ ICogc3RhdGVzIGhhdmUgYmVlbiBzd2FwcGVkKS4KPiAgCSAqCj4gIAkgKiBUaGUgYnJpZGdlIGNh biBhc3N1bWUgdGhhdCB0aGUgZGlzcGxheSBwaXBlIChpLmUuIGNsb2NrcyBhbmQgdGltaW5nCj4g IAkgKiBzaWduYWxzKSBmZWVkaW5nIGl0IGlzIHN0aWxsIHJ1bm5pbmcgd2hlbiB0aGlzIGNhbGxi YWNrIGlzIGNhbGxlZC4KPiBAQCAtMzI5LDcgKzMzNSw3IEBAIHN0cnVjdCBkcm1fYnJpZGdlX2Z1 bmNzIHsKPiAgCSAqIFRoZSBAYXRvbWljX2Rpc2FibGUgY2FsbGJhY2sgaXMgb3B0aW9uYWwuCj4g IAkgKi8KPiAgCXZvaWQgKCphdG9taWNfZGlzYWJsZSkoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRn ZSwKPiAtCQkJICAgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gKwkJCSAg ICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKTsKPiAgCj4gIAkvKioKPiAg CSAqIEBhdG9taWNfcG9zdF9kaXNhYmxlOgo+IEBAIC0zNDAsNiArMzQ2LDggQEAgc3RydWN0IGRy bV9icmlkZ2VfZnVuY3Mgewo+ICAJICogQGF0b21pY19wb3N0X2Rpc2FibGUgb3IgQHBvc3RfZGlz YWJsZSBmdW5jdGlvbi4gSWYgdGhlIHByZWNlZGluZwo+ICAJICogZWxlbWVudCBpcyBhICZkcm1f ZW5jb2RlciBpdCdzIGNhbGxlZCByaWdodCBhZnRlciB0aGUgZW5jb2RlcidzCj4gIAkgKiAmZHJt X2VuY29kZXJfaGVscGVyX2Z1bmNzLmF0b21pY19kaXNhYmxlIGhvb2suCj4gKwkgKiBUaGlzIGhv b2sgaXMgcGFzc2VkIHRoZSBvbGQgYXRvbWljIHN0YXRlIChhdG9taWMgc3RhdGUgYWZ0ZXIgbmV3 L29sZAo+ICsJICogc3RhdGVzIGhhdmUgYmVlbiBzd2FwcGVkKS4KPiAgCSAqCj4gIAkgKiBUaGUg YnJpZGdlIG11c3QgYXNzdW1lIHRoYXQgdGhlIGRpc3BsYXkgcGlwZSAoaS5lLiBjbG9ja3MgYW5k IHRpbWluZwo+ICAJICogc2lnbmFscykgZmVlZGluZyBpdCBpcyBubyBsb25nZXIgcnVubmluZyB3 aGVuIHRoaXMgY2FsbGJhY2sgaXMKPiBAQCAtMzU1LDcgKzM2Myw3IEBAIHN0cnVjdCBkcm1fYnJp ZGdlX2Z1bmNzIHsKPiAgCSAqIFRoZSBAYXRvbWljX3Bvc3RfZGlzYWJsZSBjYWxsYmFjayBpcyBv cHRpb25hbC4KPiAgCSAqLwo+ICAJdm9pZCAoKmF0b21pY19wb3N0X2Rpc2FibGUpKHN0cnVjdCBk cm1fYnJpZGdlICpicmlkZ2UsCj4gLQkJCQkgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0 YXRlKTsKPiArCQkJCSAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKTsKPiAg Cj4gIAkvKioKPiAgCSAqIEBhdG9taWNfZHVwbGljYXRlX3N0YXRlOgoKLS0gClJlZ2FyZHMsCgpM YXVyZW50IFBpbmNoYXJ0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbA==