From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH v3 06/21] drm: Stop accessing encoder->bridge directly Date: Sun, 24 Nov 2019 12:39:26 +0200 Message-ID: <20191124103926.GG4727@pendragon.ideasonboard.com> References: <20191023154512.9762-1-boris.brezillon@collabora.com> <20191023154512.9762-7-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 AFF2689C14 for ; Sun, 24 Nov 2019 10:39:37 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191023154512.9762-7-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 IGF0IDA1OjQ0OjU3UE0gKzAyMDAsIEJvcmlzIEJyZXppbGxvbiB3cm90ZToKPiBXZSBhcmUgYWJv dXQgdG8gcmVwbGFjZSB0aGUgc2luZ2xlLWxpbmtlZCBicmlkZ2UgbGlzdCBieSBhIGRvdWJsZS1s aW5rZWQKPiBvbmUgYmFzZWQgb24gbGlzdC5oLCBsZWFkaW5nIHRvIHRoZSBzdXBwcmVzc2lvbiBv ZiB0aGUgZW5jb2Rlci0+YnJpZGdlCj4gZmllbGQuIEJ1dCBiZWZvcmUgd2UgY2FuIGRvIHRoYXQg d2UgbXVzdCBwcm92aWRlIGEKPiBkcm1fYnJpZGdlX2NoYWluX2dldF9maXJzdF9icmlkZ2UoKSBi cmlkZ2UgaGVscGVyIGFuZCBwYXRjaCBhbGwgZHJpdmVycwo+IGFuZCBjb3JlIGhlbHBlcnMgdG8g dXNlIGl0IGluc3RlYWQgb2YgZGlyZWN0bHkgYWNjZXNzaW5nIGVuY29kZXItPmJyaWRnZS4KPiAK PiBTaWduZWQtb2ZmLWJ5OiBCb3JpcyBCcmV6aWxsb24gPGJvcmlzLmJyZXppbGxvbkBjb2xsYWJv cmEuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyAgICB8 IDI1ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9lbmNv ZGVyLmMgICAgICAgICAgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxw ZXIuYyAgICAgfCAgNCArKystCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZWRwL2VkcF9icmlkZ2Uu YyAgIHwgMTAgKysrKysrKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2Ny dGMuYyB8IDExICsrKysrKysrLS0tCj4gIGluY2x1ZGUvZHJtL2RybV9icmlkZ2UuaCAgICAgICAg ICAgICAgIHwgMTUgKysrKysrKysrKysrKysrCj4gIDYgZmlsZXMgY2hhbmdlZCwgNTMgaW5zZXJ0 aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVy LmMKPiBpbmRleCBjZjY3OGJlNThmYTQuLmYwMmRkZmZkNDk2MCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jCj4gQEAgLTQxOSw2ICs0MTksNyBAQCBtb2RlX2ZpeHVwKHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgCWZvcl9lYWNoX25ld19jb25uZWN0b3JfaW5f c3RhdGUoc3RhdGUsIGNvbm5lY3RvciwgbmV3X2Nvbm5fc3RhdGUsIGkpIHsKPiAgCQljb25zdCBz dHJ1Y3QgZHJtX2VuY29kZXJfaGVscGVyX2Z1bmNzICpmdW5jczsKPiAgCQlzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXI7Cj4gKwkJc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZTsKPiAgCj4gIAkJ V0FSTl9PTighIW5ld19jb25uX3N0YXRlLT5iZXN0X2VuY29kZXIgIT0gISFuZXdfY29ubl9zdGF0 ZS0+Y3J0Yyk7Cj4gIAo+IEBAIC00MzUsNyArNDM2LDggQEAgbW9kZV9maXh1cChzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkJZW5jb2RlciA9IG5ld19jb25uX3N0YXRlLT5iZXN0 X2VuY29kZXI7Cj4gIAkJZnVuY3MgPSBlbmNvZGVyLT5oZWxwZXJfcHJpdmF0ZTsKPiAgCj4gLQkJ cmV0ID0gZHJtX2JyaWRnZV9jaGFpbl9tb2RlX2ZpeHVwKGVuY29kZXItPmJyaWRnZSwKPiArCQli cmlkZ2UgPSBkcm1fYnJpZGdlX2NoYWluX2dldF9maXJzdF9icmlkZ2UoZW5jb2Rlcik7Cj4gKwkJ cmV0ID0gZHJtX2JyaWRnZV9jaGFpbl9tb2RlX2ZpeHVwKGJyaWRnZSwKPiAgCQkJCQkmbmV3X2Ny dGNfc3RhdGUtPm1vZGUsCj4gIAkJCQkJJm5ld19jcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlKTsK PiAgCQlpZiAoIXJldCkgewo+IEBAIC00OTMsNiArNDk1LDcgQEAgc3RhdGljIGVudW0gZHJtX21v ZGVfc3RhdHVzIG1vZGVfdmFsaWRfcGF0aChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+ICAJCQkJCSAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJCQkJICAgIGNvbnN0IHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4gKwlzdHJ1Y3QgZHJtX2JyaWRnZSAq YnJpZGdlOwo+ICAJZW51bSBkcm1fbW9kZV9zdGF0dXMgcmV0Owo+ICAKPiAgCXJldCA9IGRybV9l bmNvZGVyX21vZGVfdmFsaWQoZW5jb2RlciwgbW9kZSk7Cj4gQEAgLTUwMiw3ICs1MDUsOCBAQCBz dGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMgbW9kZV92YWxpZF9wYXRoKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsCj4gIAkJcmV0dXJuIHJldDsKPiAgCX0KPiAgCj4gLQlyZXQgPSBk cm1fYnJpZGdlX2NoYWluX21vZGVfdmFsaWQoZW5jb2Rlci0+YnJpZGdlLCBtb2RlKTsKPiArCWJy aWRnZSA9IGRybV9icmlkZ2VfY2hhaW5fZ2V0X2ZpcnN0X2JyaWRnZShlbmNvZGVyKTsKPiArCXJl dCA9IGRybV9icmlkZ2VfY2hhaW5fbW9kZV92YWxpZChicmlkZ2UsIG1vZGUpOwo+ICAJaWYgKHJl dCAhPSBNT0RFX09LKSB7Cj4gIAkJRFJNX0RFQlVHX0FUT01JQygiW0JSSURHRV0gbW9kZV92YWxp ZCgpIGZhaWxlZFxuIik7Cj4gIAkJcmV0dXJuIHJldDsKPiBAQCAtOTg1LDYgKzk4OSw3IEBAIGRp c2FibGVfb3V0cHV0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqb2xkX3N0YXRlKQo+ICAJZm9yX2VhY2hfb2xkbmV3X2Nvbm5lY3Rvcl9pbl9zdGF0ZShv bGRfc3RhdGUsIGNvbm5lY3Rvciwgb2xkX2Nvbm5fc3RhdGUsIG5ld19jb25uX3N0YXRlLCBpKSB7 Cj4gIAkJY29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcyAqZnVuY3M7Cj4gIAkJ c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwo+ICsJCXN0cnVjdCBkcm1fYnJpZGdlICpicmlk Z2U7Cj4gIAo+ICAJCS8qIFNodXQgZG93biBldmVyeXRoaW5nIHRoYXQncyBpbiB0aGUgY2hhbmdl c2V0IGFuZCBjdXJyZW50bHkKPiAgCQkgKiBzdGlsbCBvbi4gU28gbmVlZCB0byBjaGVjayB0aGUg b2xkLCBzYXZlZCBzdGF0ZS4gKi8KPiBAQCAtMTAyMSw3ICsxMDI2LDggQEAgZGlzYWJsZV9vdXRw dXRzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRf c3RhdGUpCj4gIAkJICogRWFjaCBlbmNvZGVyIGhhcyBhdCBtb3N0IG9uZSBjb25uZWN0b3IgKHNp bmNlIHdlIGFsd2F5cyBzdGVhbAo+ICAJCSAqIGl0IGF3YXkpLCBzbyB3ZSB3b24ndCBjYWxsIGRp c2FibGUgaG9va3MgdHdpY2UuCj4gIAkJICovCj4gLQkJZHJtX2F0b21pY19icmlkZ2VfY2hhaW5f ZGlzYWJsZShlbmNvZGVyLT5icmlkZ2UsIG9sZF9zdGF0ZSk7Cj4gKwkJYnJpZGdlID0gZHJtX2Jy aWRnZV9jaGFpbl9nZXRfZmlyc3RfYnJpZGdlKGVuY29kZXIpOwo+ICsJCWRybV9hdG9taWNfYnJp ZGdlX2NoYWluX2Rpc2FibGUoYnJpZGdlLCBvbGRfc3RhdGUpOwo+ICAKPiAgCQkvKiBSaWdodCBm dW5jdGlvbiBkZXBlbmRzIHVwb24gdGFyZ2V0IHN0YXRlLiAqLwo+ICAJCWlmIChmdW5jcykgewo+ IEBAIC0xMDM1LDcgKzEwNDEsNyBAQCBkaXNhYmxlX291dHB1dHMoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAgCQkJCWZ1bmNzLT5k cG1zKGVuY29kZXIsIERSTV9NT0RFX0RQTVNfT0ZGKTsKPiAgCQl9Cj4gIAo+IC0JCWRybV9hdG9t aWNfYnJpZGdlX2NoYWluX3Bvc3RfZGlzYWJsZShlbmNvZGVyLT5icmlkZ2UsCj4gKwkJZHJtX2F0 b21pY19icmlkZ2VfY2hhaW5fcG9zdF9kaXNhYmxlKGJyaWRnZSwKPiAgCQkJCQkJICAgICBvbGRf c3RhdGUpOwoKVGhpcyBub3cgZml0cyBvbiBhIHNpbmdsZSBsaW5lLgoKPiAgCX0KPiAgCj4gQEAg LTExOTAsNiArMTE5Niw3IEBAIGNydGNfc2V0X21vZGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAgCQljb25zdCBzdHJ1Y3QgZHJt X2VuY29kZXJfaGVscGVyX2Z1bmNzICpmdW5jczsKPiAgCQlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXI7Cj4gIAkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsICphZGp1c3RlZF9tb2Rl Owo+ICsJCXN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2U7Cj4gIAo+ICAJCWlmICghbmV3X2Nvbm5f c3RhdGUtPmJlc3RfZW5jb2RlcikKPiAgCQkJY29udGludWU7Cj4gQEAgLTEyMTcsOCArMTIyNCw4 IEBAIGNydGNfc2V0X21vZGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAgCQkJZnVuY3MtPm1vZGVfc2V0KGVuY29kZXIsIG1vZGUs IGFkanVzdGVkX21vZGUpOwo+ICAJCX0KPiAgCj4gLQkJZHJtX2JyaWRnZV9jaGFpbl9tb2RlX3Nl dChlbmNvZGVyLT5icmlkZ2UsIG1vZGUsCj4gLQkJCQkJICBhZGp1c3RlZF9tb2RlKTsKPiArCQli cmlkZ2UgPSBkcm1fYnJpZGdlX2NoYWluX2dldF9maXJzdF9icmlkZ2UoZW5jb2Rlcik7Cj4gKwkJ ZHJtX2JyaWRnZV9jaGFpbl9tb2RlX3NldChicmlkZ2UsIG1vZGUsIGFkanVzdGVkX21vZGUpOwo+ ICAJfQo+ICB9Cj4gIAo+IEBAIC0xMzE3LDYgKzEzMjQsNyBAQCB2b2lkIGRybV9hdG9taWNfaGVs cGVyX2NvbW1pdF9tb2Rlc2V0X2VuYWJsZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCWZv cl9lYWNoX25ld19jb25uZWN0b3JfaW5fc3RhdGUob2xkX3N0YXRlLCBjb25uZWN0b3IsIG5ld19j b25uX3N0YXRlLCBpKSB7Cj4gIAkJY29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5j cyAqZnVuY3M7Cj4gIAkJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwo+ICsJCXN0cnVjdCBk cm1fYnJpZGdlICpicmlkZ2U7Cj4gIAo+ICAJCWlmICghbmV3X2Nvbm5fc3RhdGUtPmJlc3RfZW5j b2RlcikKPiAgCQkJY29udGludWU7Cj4gQEAgLTEzMzUsNyArMTM0Myw4IEBAIHZvaWQgZHJtX2F0 b21pY19oZWxwZXJfY29tbWl0X21vZGVzZXRfZW5hYmxlcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+ICAJCSAqIEVhY2ggZW5jb2RlciBoYXMgYXQgbW9zdCBvbmUgY29ubmVjdG9yIChzaW5jZSB3 ZSBhbHdheXMgc3RlYWwKPiAgCQkgKiBpdCBhd2F5KSwgc28gd2Ugd29uJ3QgY2FsbCBlbmFibGUg aG9va3MgdHdpY2UuCj4gIAkJICovCj4gLQkJZHJtX2F0b21pY19icmlkZ2VfY2hhaW5fcHJlX2Vu YWJsZShlbmNvZGVyLT5icmlkZ2UsIG9sZF9zdGF0ZSk7Cj4gKwkJYnJpZGdlID0gZHJtX2JyaWRn ZV9jaGFpbl9nZXRfZmlyc3RfYnJpZGdlKGVuY29kZXIpOwo+ICsJCWRybV9hdG9taWNfYnJpZGdl X2NoYWluX3ByZV9lbmFibGUoYnJpZGdlLCBvbGRfc3RhdGUpOwo+ICAKPiAgCQlpZiAoZnVuY3Mp IHsKPiAgCQkJaWYgKGZ1bmNzLT5hdG9taWNfZW5hYmxlKQo+IEBAIC0xMzQ2LDcgKzEzNTUsNyBA QCB2b2lkIGRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9tb2Rlc2V0X2VuYWJsZXMoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKPiAgCQkJCWZ1bmNzLT5jb21taXQoZW5jb2Rlcik7Cj4gIAkJfQo+ICAK PiAtCQlkcm1fYXRvbWljX2JyaWRnZV9jaGFpbl9lbmFibGUoZW5jb2Rlci0+YnJpZGdlLCBvbGRf c3RhdGUpOwo+ICsJCWRybV9hdG9taWNfYnJpZGdlX2NoYWluX2VuYWJsZShicmlkZ2UsIG9sZF9z dGF0ZSk7Cj4gIAl9Cj4gIAo+ICAJZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3dyaXRlYmFja3Mo ZGV2LCBvbGRfc3RhdGUpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VuY29k ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZW5jb2Rlci5jCj4gaW5kZXggODBkODhhNTUzMDJl Li40ZmU5ZTcyM2UyMjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9lbmNvZGVy LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VuY29kZXIuYwo+IEBAIC0xNjcsOSArMTY3 LDEwIEBAIHZvaWQgZHJtX2VuY29kZXJfY2xlYW51cChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIpCj4gIAkgKi8KPiAgCj4gIAlpZiAoZW5jb2Rlci0+YnJpZGdlKSB7Cj4gLQkJc3RydWN0IGRy bV9icmlkZ2UgKmJyaWRnZSA9IGVuY29kZXItPmJyaWRnZTsKPiArCQlzdHJ1Y3QgZHJtX2JyaWRn ZSAqYnJpZGdlOwo+ICAJCXN0cnVjdCBkcm1fYnJpZGdlICpuZXh0Owo+ICAKPiArCQlicmlkZ2Ug PSBkcm1fYnJpZGdlX2NoYWluX2dldF9maXJzdF9icmlkZ2UoZW5jb2Rlcik7Cj4gIAkJd2hpbGUg KGJyaWRnZSkgewo+ICAJCQluZXh0ID0gYnJpZGdlLT5uZXh0OwoKU2hvdWxkbid0IHRoaXMgaGF2 ZSBiZWVuIGFkZHJlc3NlZCBpbiB0aGUgcHJldmlvdXMgcGF0Y2ggPwoKPiAgCQkJZHJtX2JyaWRn ZV9kZXRhY2goYnJpZGdlKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9i ZV9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMKPiBpbmRleCBj M2VhNzIyMDY1YzQuLjU3NmI0YjdkY2Q4OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX3Byb2JlX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxw ZXIuYwo+IEBAIC0xMDEsNiArMTAxLDcgQEAgZHJtX21vZGVfdmFsaWRhdGVfcGlwZWxpbmUoc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gIAo+ICAJLyogU3RlcCAyOiBWYWxpZGF0ZSBh Z2FpbnN0IGVuY29kZXJzIGFuZCBjcnRjcyAqLwo+ICAJZHJtX2Nvbm5lY3Rvcl9mb3JfZWFjaF9w b3NzaWJsZV9lbmNvZGVyKGNvbm5lY3RvciwgZW5jb2Rlcikgewo+ICsJCXN0cnVjdCBkcm1fYnJp ZGdlICpicmlkZ2U7Cj4gIAkJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+ICAKPiAgCQlyZXQgPSBk cm1fZW5jb2Rlcl9tb2RlX3ZhbGlkKGVuY29kZXIsIG1vZGUpOwo+IEBAIC0xMTIsNyArMTEzLDgg QEAgZHJtX21vZGVfdmFsaWRhdGVfcGlwZWxpbmUoc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUsCj4gIAkJCWNvbnRpbnVlOwo+ICAJCX0KPiAgCj4gLQkJcmV0ID0gZHJtX2JyaWRnZV9jaGFp bl9tb2RlX3ZhbGlkKGVuY29kZXItPmJyaWRnZSwgbW9kZSk7Cj4gKwkJYnJpZGdlID0gZHJtX2Jy aWRnZV9jaGFpbl9nZXRfZmlyc3RfYnJpZGdlKGVuY29kZXIpOwo+ICsJCXJldCA9IGRybV9icmlk Z2VfY2hhaW5fbW9kZV92YWxpZChicmlkZ2UsIG1vZGUpOwo+ICAJCWlmIChyZXQgIT0gTU9ERV9P Sykgewo+ICAJCQkvKiBUaGVyZSBpcyBhbHNvIG5vIHBvaW50IGluIGNvbnRpbnVpbmcgZm9yIGNy dGMgY2hlY2sKPiAgCQkJICogaGVyZS4gKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21zbS9lZHAvZWRwX2JyaWRnZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9lZHAvZWRwX2JyaWRn ZS5jCj4gaW5kZXggMjk1MGJiYTRhY2E5Li5iNjViNWNjMmRiYTIgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL21zbS9lZHAvZWRwX2JyaWRnZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L21zbS9lZHAvZWRwX2JyaWRnZS5jCj4gQEAgLTU1LDggKzU1LDE0IEBAIHN0YXRpYyB2b2lkIGVk cF9icmlkZ2VfbW9kZV9zZXQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiAgCURCRygic2V0 IG1vZGU6ICIgRFJNX01PREVfRk1ULCBEUk1fTU9ERV9BUkcobW9kZSkpOwo+ICAKPiAgCWxpc3Rf Zm9yX2VhY2hfZW50cnkoY29ubmVjdG9yLCAmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfbGlz dCwgaGVhZCkgewo+IC0JCWlmICgoY29ubmVjdG9yLT5lbmNvZGVyICE9IE5VTEwpICYmCj4gLQkJ CShjb25uZWN0b3ItPmVuY29kZXItPmJyaWRnZSA9PSBicmlkZ2UpKSB7Cj4gKwkJc3RydWN0IGRy bV9lbmNvZGVyICplbmNvZGVyID0gY29ubmVjdG9yLT5lbmNvZGVyOwo+ICsJCXN0cnVjdCBkcm1f YnJpZGdlICpmaXJzdF9icmlkZ2U7Cj4gKwo+ICsJCWlmICghY29ubmVjdG9yLT5lbmNvZGVyKQo+ ICsJCQljb250aW51ZTsKPiArCj4gKwkJZmlyc3RfYnJpZGdlID0gZHJtX2JyaWRnZV9jaGFpbl9n ZXRfZmlyc3RfYnJpZGdlKGVuY29kZXIpOwo+ICsJCWlmIChicmlkZ2UgPT0gZmlyc3RfYnJpZGdl KSB7Cj4gIAkJCW1zbV9lZHBfY3RybF90aW1pbmdfY2ZnKGVkcC0+Y3RybCwKPiAgCQkJCWFkanVz dGVkX21vZGUsICZjb25uZWN0b3ItPmRpc3BsYXlfaW5mbyk7Cj4gIAkJCWJyZWFrOwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYyBiL2RyaXZlcnMv Z3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jCj4gaW5kZXggMmRhNDZlM2RjNGFlLi43YTFm MWU1ZjAzMjYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9j cnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYwo+IEBA IC0xNCw2ICsxNCw3IEBACj4gIAo+ICAjaW5jbHVkZSA8ZHJtL2RybV9hdG9taWMuaD4KPiAgI2lu Y2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBlci5oPgo+ICsjaW5jbHVkZSA8ZHJtL2RybV9icmlk Z2UuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fY3J0Yy5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9k ZXZpY2UuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fZmJfY21hX2hlbHBlci5oPgo+IEBAIC02ODAs OSArNjgxLDEwIEBAIHN0YXRpYyB2b2lkIHJjYXJfZHVfY3J0Y19hdG9taWNfZW5hYmxlKHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKPiAgCQkJcmNkdS0+ZW5jb2RlcnNbUkNBUl9EVV9PVVRQVVRfTFZE UzAgKyByY3J0Yy0+aW5kZXhdOwo+ICAJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlID0KPiAgCQkJJmNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlOwo+ICsJCXN0cnVjdCBkcm1f YnJpZGdlICpicmlkZ2U7Cj4gIAo+IC0JCXJjYXJfbHZkc19jbGtfZW5hYmxlKGVuY29kZXItPmJh c2UuYnJpZGdlLAo+IC0JCQkJICAgICBtb2RlLT5jbG9jayAqIDEwMDApOwo+ICsJCWJyaWRnZSA9 IGRybV9icmlkZ2VfY2hhaW5fZ2V0X2ZpcnN0X2JyaWRnZSgmZW5jb2Rlci0+YmFzZSk7Cj4gKwkJ cmNhcl9sdmRzX2Nsa19lbmFibGUoYnJpZGdlLCBtb2RlLT5jbG9jayAqIDEwMDApOwo+ICAJfQo+ ICAKPiAgCXJjYXJfZHVfY3J0Y19zdGFydChyY3J0Yyk7Cj4gQEAgLTcwMiwxMiArNzA0LDE1IEBA IHN0YXRpYyB2b2lkIHJjYXJfZHVfY3J0Y19hdG9taWNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCj4gIAkgICAgcnN0YXRlLT5vdXRwdXRzID09IEJJVChSQ0FSX0RVX09VVFBVVF9EUEFE MCkpIHsKPiAgCQlzdHJ1Y3QgcmNhcl9kdV9lbmNvZGVyICplbmNvZGVyID0KPiAgCQkJcmNkdS0+ ZW5jb2RlcnNbUkNBUl9EVV9PVVRQVVRfTFZEUzAgKyByY3J0Yy0+aW5kZXhdOwo+ICsJCXN0cnVj dCBkcm1fYnJpZGdlICpicmlkZ2U7Cj4gKwoKRXh0cmEgYmxhbmsgbGluZS4KCldpdGggdGhvc2Ug c21hbGwgaXNzdWVzIGZpeGVkLAoKUmV2aWV3ZWQtYnk6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJl bnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KCj4gIAo+ICAJCS8qCj4gIAkJICogRGlzYWJs ZSB0aGUgTFZEUyBjbG9jayBvdXRwdXQsIHNlZQo+ICAJCSAqIHJjYXJfZHVfY3J0Y19hdG9taWNf ZW5hYmxlKCkuCj4gIAkJICovCj4gLQkJcmNhcl9sdmRzX2Nsa19kaXNhYmxlKGVuY29kZXItPmJh c2UuYnJpZGdlKTsKPiArCQlicmlkZ2UgPSBkcm1fYnJpZGdlX2NoYWluX2dldF9maXJzdF9icmlk Z2UoJmVuY29kZXItPmJhc2UpOwo+ICsJCXJjYXJfbHZkc19jbGtfZGlzYWJsZShicmlkZ2UpOwo+ ICAJfQo+ICAKPiAgCXNwaW5fbG9ja19pcnEoJmNydGMtPmRldi0+ZXZlbnRfbG9jayk7Cj4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9icmlkZ2UuaCBiL2luY2x1ZGUvZHJtL2RybV9icmlk Z2UuaAo+IGluZGV4IDhhZWJhODNmY2YzMS4uMjdlZWY2M2NlMGZmIDEwMDY0NAo+IC0tLSBhL2lu Y2x1ZGUvZHJtL2RybV9icmlkZ2UuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9icmlkZ2UuaAo+ IEBAIC0yNSw2ICsyNSw3IEBACj4gIAo+ICAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgo+ICAjaW5j bHVkZSA8bGludXgvY3R5cGUuaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fZW5jb2Rlci5oPgo+ICAj aW5jbHVkZSA8ZHJtL2RybV9tb2RlX29iamVjdC5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9tb2Rl cy5oPgo+ICAKPiBAQCAtNDIyLDYgKzQyMywyMCBAQCBkcm1fYnJpZGdlX2NoYWluX2dldF9uZXh0 X2JyaWRnZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQo+ICAJcmV0dXJuIGJyaWRnZS0+bmV4 dDsKPiAgfQo+ICAKPiArLyoqCj4gKyAqIGRybV9icmlkZ2VfY2hhaW5fZ2V0X2ZpcnN0X2JyaWRn ZSgpIC0gR2V0IHRoZSBmaXJzdCBicmlkZ2UgaW4gdGhlIGNoYWluCj4gKyAqIEBlbmNvZGVyOiBl bmNvZGVyIG9iamVjdAo+ICsgKgo+ICsgKiBSRVRVUk5TOgo+ICsgKiB0aGUgZmlyc3QgYnJpZGdl IGluIHRoZSBjaGFpbiwgb3IgTlVMTCBpZiBAZW5jb2RlciBoYXMgbm8gYnJpZGdlIGF0dGFjaGVk Cj4gKyAqIHRvIGl0Lgo+ICsgKi8KPiArc3RhdGljIGlubGluZSBzdHJ1Y3QgZHJtX2JyaWRnZSAq Cj4gK2RybV9icmlkZ2VfY2hhaW5fZ2V0X2ZpcnN0X2JyaWRnZShzdHJ1Y3QgZHJtX2VuY29kZXIg KmVuY29kZXIpCj4gK3sKPiArCXJldHVybiBlbmNvZGVyLT5icmlkZ2U7Cj4gK30KPiArCj4gIGJv b2wgZHJtX2JyaWRnZV9jaGFpbl9tb2RlX2ZpeHVwKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2Us Cj4gIAkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gIAkJCQkgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpOwoKLS0gClJlZ2FyZHMsCgpMYXVy ZW50IFBpbmNoYXJ0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bA==