From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH v2 15/24] drm/msm: dpu: Stop using encoder->crtc pointer Date: Mon, 26 Nov 2018 16:53:36 -0500 Message-ID: <20181126215336.GE154160@art_vandelay> References: <20181116184238.170034-1-sean@poorly.run> <20181116184238.170034-16-sean@poorly.run> <580ced340265a3c45b31836291bfbb4c@codeaurora.org> <20181116211417.GX154160@art_vandelay> <8676ddf837e19e27f2483d262290a345@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <8676ddf837e19e27f2483d262290a345@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jeykumar Sankaran Cc: Sean Paul , dri-devel@lists.freedesktop.org, Sean Paul , linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org T24gTW9uLCBOb3YgMTksIDIwMTggYXQgMTI6MDM6NTNQTSAtMDgwMCwgSmV5a3VtYXIgU2Fua2Fy YW4gd3JvdGU6Cj4gT24gMjAxOC0xMS0xNiAxMzoxNCwgU2VhbiBQYXVsIHdyb3RlOgo+ID4gT24g RnJpLCBOb3YgMTYsIDIwMTggYXQgMTI6MDU6MDlQTSAtMDgwMCwgSmV5a3VtYXIgU2Fua2FyYW4g d3JvdGU6Cj4gPiA+IE9uIDIwMTgtMTEtMTYgMTA6NDIsIFNlYW4gUGF1bCB3cm90ZToKPiA+ID4g PiBGcm9tOiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KPiA+ID4gPgo+ID4gPiA+ IEl0J3MgZm9yIGxlZ2FjeSBkcml2ZXJzLCBmb3IgYXRvbWljIGRyaXZlcnMgY3J0Yy0+c3RhdGUt PmVuY29kZXJfbWFzawo+ID4gPiA+IHNob3VsZCBiZSB1c2VkIHRvIG1hcCBlbmNvZGVyIHRvIGNy dGMuCj4gPiA+ID4KPiA+ID4gPiBDaGFuZ2VzIGluIHYyOgo+ID4gPiA+IC0gTm9uZQo+ID4gPiA+ Cj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+ Cj4gPiA+ID4gLS0tCj4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9j cnRjLmMgfCA0Ngo+ID4gKysrKysrKystLS0tLS0tLS0tLS0tLS0tCj4gPiA+ID4gIGRyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYyAgfCAxOSArKysrKysrLS0tCj4gPiA+ID4g IDIgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pCj4gPiA+ ID4KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2NydGMuYwo+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMu Ywo+ID4gPiA+IGluZGV4IDE1NmY0Yzc3Y2E0NC4uYTAwOGE4N2E4MTEzIDEwMDY0NAo+ID4gPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKPiA+ID4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4gPiA+ID4gQEAg LTI4NCw5ICsyODQsOSBAQCBlbnVtIGRwdV9pbnRmX21vZGUgZHB1X2NydGNfZ2V0X2ludGZfbW9k ZShzdHJ1Y3QKPiA+ID4gPiBkcm1fY3J0YyAqY3J0YykKPiA+ID4gPiAgCQlyZXR1cm4gSU5URl9N T0RFX05PTkU7Cj4gPiA+ID4gIAl9Cj4gPiA+ID4KPiA+ID4gPiAtCWRybV9mb3JfZWFjaF9lbmNv ZGVyKGVuY29kZXIsIGNydGMtPmRldikKPiA+ID4gPiAtCQlpZiAoZW5jb2Rlci0+Y3J0YyA9PSBj cnRjKQo+ID4gPiA+IC0JCQlyZXR1cm4gZHB1X2VuY29kZXJfZ2V0X2ludGZfbW9kZShlbmNvZGVy KTsKPiA+ID4gPiArCS8qIFRPRE86IFJldHVybnMgdGhlIGZpcnN0IElOVEZfTU9ERSwgY291bGQg dGhlcmUgYmUgbXVsdGlwbGUKPiA+ID4gPiB2YWx1ZXM/ICovCj4gPiA+ID4gKwlkcm1fZm9yX2Vh Y2hfZW5jb2Rlcl9tYXNrKGVuY29kZXIsIGNydGMtPmRldiwKPiA+ID4gPiBjcnRjLT5zdGF0ZS0+ ZW5jb2Rlcl9tYXNrKQo+ID4gPiA+ICsJCXJldHVybiBkcHVfZW5jb2Rlcl9nZXRfaW50Zl9tb2Rl KGVuY29kZXIpOwo+ID4gPiA+Cj4gPiA+ID4gIAlyZXR1cm4gSU5URl9NT0RFX05PTkU7Cj4gPiA+ ID4gIH0KPiA+ID4gPiBAQCAtNTUxLDEzICs1NTEsOSBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19h dG9taWNfYmVnaW4oc3RydWN0IGRybV9jcnRjCj4gPiA+ID4gKmNydGMsCj4gPiA+ID4gIAkJc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7Cj4gPiA+ID4gIAl9 Cj4gPiA+ID4KPiA+ID4gPiAtCWxpc3RfZm9yX2VhY2hfZW50cnkoZW5jb2RlciwgJmRldi0+bW9k ZV9jb25maWcuZW5jb2Rlcl9saXN0LCBoZWFkKQo+ID4gPiA+IHsKPiA+ID4gPiAtCQlpZiAoZW5j b2Rlci0+Y3J0YyAhPSBjcnRjKQo+ID4gPiA+IC0JCQljb250aW51ZTsKPiA+ID4gPiAtCj4gPiA+ ID4gLQkJLyogZW5jb2RlciB3aWxsIHRyaWdnZXIgcGVuZGluZyBtYXNrIG5vdyAqLwo+ID4gPiA+ ICsJLyogZW5jb2RlciB3aWxsIHRyaWdnZXIgcGVuZGluZyBtYXNrIG5vdyAqLwo+ID4gPiA+ICsJ ZHJtX2Zvcl9lYWNoX2VuY29kZXJfbWFzayhlbmNvZGVyLCBjcnRjLT5kZXYsCj4gPiA+ID4gY3J0 Yy0+c3RhdGUtPmVuY29kZXJfbWFzaykKPiA+ID4gPiAgCQlkcHVfZW5jb2Rlcl90cmlnZ2VyX2tp Y2tvZmZfcGVuZGluZyhlbmNvZGVyKTsKPiA+ID4gPiAtCX0KPiA+ID4gPgo+ID4gPiA+ICAJLyoK PiA+ID4gPiAgCSAqIElmIG5vIG1peGVycyBoYXZlIGJlZW4gYWxsb2NhdGVkIGluIGRwdV9jcnRj X2F0b21pY19jaGVjaygpLAo+ID4gPiA+IEBAIC03MDQsNyArNzAwLDYgQEAgc3RhdGljIGludCBf ZHB1X2NydGNfd2FpdF9mb3JfZnJhbWVfZG9uZShzdHJ1Y3QKPiA+ID4gPiBkcm1fY3J0YyAqY3J0 YykKPiA+ID4gPiAgdm9pZCBkcHVfY3J0Y19jb21taXRfa2lja29mZihzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCj4gPiA+ID4gIHsKPiA+ID4gPiAgCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsK PiA+ID4gPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gPiA+ID4gIAlz dHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjID0gdG9fZHB1X2NydGMoY3J0Yyk7Cj4gPiA+ID4gIAlz dHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcyA9IF9kcHVfY3J0Y19nZXRfa21zKGNydGMpOwo+ID4gPiA+ ICAJc3RydWN0IGRwdV9jcnRjX3N0YXRlICpjc3RhdGUgPSB0b19kcHVfY3J0Y19zdGF0ZShjcnRj LT5zdGF0ZSk7Cj4gPiA+ID4gQEAgLTcyMCwxNiArNzE1LDEzIEBAIHZvaWQgZHB1X2NydGNfY29t bWl0X2tpY2tvZmYoc3RydWN0IGRybV9jcnRjCj4gPiA+ID4gKmNydGMpCj4gPiA+ID4KPiA+ID4g PiAgCURQVV9BVFJBQ0VfQkVHSU4oImNydGNfY29tbWl0Iik7Cj4gPiA+ID4KPiA+ID4gPiAtCWxp c3RfZm9yX2VhY2hfZW50cnkoZW5jb2RlciwgJmRldi0+bW9kZV9jb25maWcuZW5jb2Rlcl9saXN0 LCBoZWFkKQo+ID4gPiA+IHsKPiA+ID4gPiArCS8qCj4gPiA+ID4gKwkgKiBFbmNvZGVyIHdpbGwg Zmx1c2gvc3RhcnQgbm93LCB1bmxlc3MgaXQgaGFzIGEgdHggcGVuZGluZy4gSWYKPiA+ID4gPiBz bywgaXQKPiA+ID4gPiArCSAqIG1heSBkZWxheSBhbmQgZmx1c2ggYXQgYW4gaXJxIGV2ZW50IChl LmcuIHBwZG9uZSkKPiA+ID4gPiArCSAqLwo+ID4gPiA+ICsJZHJtX2Zvcl9lYWNoX2VuY29kZXJf bWFzayhlbmNvZGVyLCBjcnRjLT5kZXYsCj4gPiA+ID4gKwkJCQkgIGNydGMtPnN0YXRlLT5lbmNv ZGVyX21hc2spIHsKPiA+ID4gPiAgCQlzdHJ1Y3QgZHB1X2VuY29kZXJfa2lja29mZl9wYXJhbXMg cGFyYW1zID0geyAwIH07Cj4gPiA+ID4gLQo+ID4gPiA+IC0JCWlmIChlbmNvZGVyLT5jcnRjICE9 IGNydGMpCj4gPiA+ID4gLQkJCWNvbnRpbnVlOwo+ID4gPiA+IC0KPiA+ID4gPiAtCQkvKgo+ID4g PiA+IC0JCSAqIEVuY29kZXIgd2lsbCBmbHVzaC9zdGFydCBub3csIHVubGVzcyBpdCBoYXMgYSB0 eAo+ID4gPiA+IHBlbmRpbmcuCj4gPiA+ID4gLQkJICogSWYgc28sIGl0IG1heSBkZWxheSBhbmQg Zmx1c2ggYXQgYW4gaXJxIGV2ZW50IChlLmcuCj4gPiA+ID4gcHBkb25lKQo+ID4gPiA+IC0JCSAq Lwo+ID4gPiA+ICAJCWRwdV9lbmNvZGVyX3ByZXBhcmVfZm9yX2tpY2tvZmYoZW5jb2RlciwgJnBh cmFtcyk7Cj4gPiA+ID4gIAl9Cj4gPiA+ID4KPiA+ID4gPiBAQCAtNzU0LDEyICs3NDYsOCBAQCB2 b2lkIGRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmKHN0cnVjdCBkcm1fY3J0Ywo+ID4gKmNydGMpCj4g PiA+ID4KPiA+ID4gPiAgCWRwdV92YmlmX2NsZWFyX2Vycm9ycyhkcHVfa21zKTsKPiA+ID4gPgo+ ID4gPiA+IC0JbGlzdF9mb3JfZWFjaF9lbnRyeShlbmNvZGVyLCAmZGV2LT5tb2RlX2NvbmZpZy5l bmNvZGVyX2xpc3QsIGhlYWQpCj4gPiA+ID4gewo+ID4gPiA+IC0JCWlmIChlbmNvZGVyLT5jcnRj ICE9IGNydGMpCj4gPiA+ID4gLQkJCWNvbnRpbnVlOwo+ID4gPiA+IC0KPiA+ID4gPiArCWRybV9m b3JfZWFjaF9lbmNvZGVyX21hc2soZW5jb2RlciwgY3J0Yy0+ZGV2LAo+ID4gPiA+IGNydGMtPnN0 YXRlLT5lbmNvZGVyX21hc2spCj4gPiA+ID4gIAkJZHB1X2VuY29kZXJfa2lja29mZihlbmNvZGVy KTsKPiA+ID4gPiAtCX0KPiA+ID4gV2Ugd29udCBiZSBob2xkaW5nIHRoZSBtb2Rlc2V0IGxvY2tz IGhlcmUgKGFuZCBpbiBjcnRjX2F0b21pY19iZWdpbikKPiA+ID4gaW4KPiA+IHRoZQo+ID4gPiBk aXNwbGF5IHRocmVhZC4gSXMKPiA+ID4gaXQgc2FmZSB0byBpdGVyYXRlIG92ZXIgZW5jb2Rlcl9t YXNrPwo+ID4gCj4gPiBIbW0sIEknbSBub3Qgc3VyZSBJIGZvbGxvdy4gQUZBSUNULCB0aGVyZSBh cmUgMiBjYWxsc2l0ZXMgZm9yCj4gPiBkcHVfY3J0Y19jb21taXRfa2lja29mZigpOgo+ID4gCj4g PiAxLSBkcHVfa21zX2VuY29kZXJfZW5hYmxlKCkgd2hpY2ggaXMgY2FsbGVkIHZpYSB0aGUKPiA+ IGVuY29kZXItPmZ1bmNzLT5lbmFibGUKPiA+IGhvb2sKPiA+IDItIGRwdV9rbXNfY29tbWl0KCkg d2hpY2ggaXMgY2FsbGVkIGluIHRoZQo+ID4gbW9kZV9jb25maWctPmZ1bmNzLT5hdG9taWNfY29t bWl0X3RhaWwKPiAKPiBhdG9taWNfY29tbWl0X3RhaWwgd2lsbCBiZSBjYWxsZWQgZnJvbSB0aGUg V1EuIERvIHdlIGhvbGQKPiB0aGUgbW9kZXNldCBsb2NrcyBpbiB0aGUgV1E/IEkgYmVsaWV2ZSB1 c2Vyc3BhY2UgdGhyZWFkIHdpbGwgZHJvcAo+IHRoZSBsb2NrcyBhdCB0aGUgZW5kIG9mIGRybV9t b2RlX2F0b21pY19pb2N0bC4KCkFjY2Vzc2luZyBzdGF0ZSBpcyBzYWZlIGluIG5vbi1ibG9ja2lu ZyBjb21taXRzIGR1ZSB0byBzdGFsbGluZyBhbnkgc3Vic2VxdWVudApjb21taXRzIHVudGlsIHRo ZSBwcmV2aW91cyBvbmUgaGFzIGNvbXBsZXRlZC4gQ2hlY2sgb3V0IHRoZSBjb21tZW50IGF0OgoK aHR0cHM6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9kcm0tdGlwL3RyZWUvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWNfaGVscGVyLmMjbjE3NTQKClNlYW4KCj4gCj4gVGhhbmtzCj4gPiAKPiA+IEJv dGggb2YgdGhlc2UgY2FsbHNpdGVzIHdpbGwgaG9sZCB0aGUgbW9kZXNldCBsb2Nrcy4KPiA+IAo+ ID4gQW0gSSBtaXNzaW5nIHNvbWV0aGluZz8KPiA+IAo+ID4gVGhhbmtzIGZvciB5b3VyIHJldmll dywKPiA+IAo+ID4gU2Vhbgo+ID4gCj4gPiA+ID4KPiA+ID4gPiAgZW5kOgo+ID4gPiA+ICAJcmVp bml0X2NvbXBsZXRpb24oJmRwdV9jcnRjLT5mcmFtZV9kb25lX2NvbXApOwo+ID4gPiA+IEBAIC04 ODMsMTEgKzg3MSw4IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9j cnRjCj4gPiAqY3J0YykKPiA+ID4gPgo+ID4gPiA+ICAJZHB1X2NvcmVfcGVyZl9jcnRjX3VwZGF0 ZShjcnRjLCAwLCB0cnVlKTsKPiA+ID4gPgo+ID4gPiA+IC0JZHJtX2Zvcl9lYWNoX2VuY29kZXIo ZW5jb2RlciwgY3J0Yy0+ZGV2KSB7Cj4gPiA+ID4gLQkJaWYgKGVuY29kZXItPmNydGMgIT0gY3J0 YykKPiA+ID4gPiAtCQkJY29udGludWU7Cj4gPiA+ID4gKwlkcm1fZm9yX2VhY2hfZW5jb2Rlcl9t YXNrKGVuY29kZXIsIGNydGMtPmRldiwKPiA+ID4gPiBjcnRjLT5zdGF0ZS0+ZW5jb2Rlcl9tYXNr KQo+ID4gPiA+ICAJCWRwdV9lbmNvZGVyX3JlZ2lzdGVyX2ZyYW1lX2V2ZW50X2NhbGxiYWNrKGVu Y29kZXIsIE5VTEwsCj4gPiA+ID4gTlVMTCk7Cj4gPiA+ID4gLQl9Cj4gPiA+ID4KPiA+ID4gPiAg CW1lbXNldChjc3RhdGUtPm1peGVycywgMCwgc2l6ZW9mKGNzdGF0ZS0+bWl4ZXJzKSk7Cj4gPiA+ ID4gIAljc3RhdGUtPm51bV9taXhlcnMgPSAwOwo+ID4gPiA+IEBAIC05MjIsMTIgKzkwNyw5IEBA IHN0YXRpYyB2b2lkIGRwdV9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMKPiA+ICpjcnRjLAo+ ID4gPiA+ICAJRFJNX0RFQlVHX0tNUygiY3J0YyVkXG4iLCBjcnRjLT5iYXNlLmlkKTsKPiA+ID4g PiAgCWRwdV9jcnRjID0gdG9fZHB1X2NydGMoY3J0Yyk7Cj4gPiA+ID4KPiA+ID4gPiAtCWRybV9m b3JfZWFjaF9lbmNvZGVyKGVuY29kZXIsIGNydGMtPmRldikgewo+ID4gPiA+IC0JCWlmIChlbmNv ZGVyLT5jcnRjICE9IGNydGMpCj4gPiA+ID4gLQkJCWNvbnRpbnVlOwo+ID4gPiA+ICsJZHJtX2Zv cl9lYWNoX2VuY29kZXJfbWFzayhlbmNvZGVyLCBjcnRjLT5kZXYsCj4gPiA+ID4gY3J0Yy0+c3Rh dGUtPmVuY29kZXJfbWFzaykKPiA+ID4gPiAgCQlkcHVfZW5jb2Rlcl9yZWdpc3Rlcl9mcmFtZV9l dmVudF9jYWxsYmFjayhlbmNvZGVyLAo+ID4gPiA+ICAJCQkJZHB1X2NydGNfZnJhbWVfZXZlbnRf Y2IsICh2b2lkICopY3J0Yyk7Cj4gPiA+ID4gLQl9Cj4gPiA+ID4KPiA+ID4gPiAgCW11dGV4X2xv Y2soJmRwdV9jcnRjLT5jcnRjX2xvY2spOwo+ID4gPiA+ICAJdHJhY2VfZHB1X2NydGNfZW5hYmxl KERSTUlEKGNydGMpLCB0cnVlLCBkcHVfY3J0Yyk7Cj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYwo+ID4gPiA+IGIvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jCj4gPiA+ID4gaW5kZXggMWJlYzQ1NDBmM2UxLi42 NDEzNGQ2MTk3NDggMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2ttcy5jCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X2ttcy5jCj4gPiA+ID4gQEAgLTMyMCw3ICszMjAsMTAgQEAgc3RhdGljIHZvaWQgZHB1 X2ttc19wcmVwYXJlX2NvbW1pdChzdHJ1Y3QgbXNtX2ttcwo+ID4gPiA+ICprbXMsCj4gPiA+ID4g IAlzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttczsKPiA+ID4gPiAgCXN0cnVjdCBtc21fZHJtX3ByaXZh dGUgKnByaXY7Cj4gPiA+ID4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2Owo+ID4gPiA+ICsJc3Ry dWN0IGRybV9jcnRjICpjcnRjOwo+ID4gPiA+ICsJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRj X3N0YXRlOwo+ID4gPiA+ICAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwo+ID4gPiA+ICsJ aW50IGk7Cj4gPiA+ID4KPiA+ID4gPiAgCWlmICgha21zKQo+ID4gPiA+ICAJCXJldHVybjsKPiA+ ID4gPiBAQCAtMzMyLDkgKzMzNSwxMyBAQCBzdGF0aWMgdm9pZCBkcHVfa21zX3ByZXBhcmVfY29t bWl0KHN0cnVjdCBtc21fa21zCj4gPiA+ID4gKmttcywKPiA+ID4gPiAgCXByaXYgPSBkZXYtPmRl dl9wcml2YXRlOwo+ID4gPiA+ICAJcG1fcnVudGltZV9nZXRfc3luYygmZHB1X2ttcy0+cGRldi0+ ZGV2KTsKPiA+ID4gPgo+ID4gPiA+IC0JbGlzdF9mb3JfZWFjaF9lbnRyeShlbmNvZGVyLCAmZGV2 LT5tb2RlX2NvbmZpZy5lbmNvZGVyX2xpc3QsIGhlYWQpCj4gPiA+ID4gLQkJaWYgKGVuY29kZXIt PmNydGMgIT0gTlVMTCkKPiA+ID4gPiArCS8qIENhbGwgcHJlcGFyZV9jb21taXQgZm9yIGFsbCBh ZmZlY3RlZCBlbmNvZGVycyAqLwo+ID4gPiA+ICsJZm9yX2VhY2hfbmV3X2NydGNfaW5fc3RhdGUo c3RhdGUsIGNydGMsIGNydGNfc3RhdGUsIGkpIHsKPiA+ID4gPiArCQlkcm1fZm9yX2VhY2hfZW5j b2Rlcl9tYXNrKGVuY29kZXIsIGNydGMtPmRldiwKPiA+ID4gPiArCQkJCQkgIGNydGNfc3RhdGUt PmVuY29kZXJfbWFzaykgewo+ID4gPiA+ICAJCQlkcHVfZW5jb2Rlcl9wcmVwYXJlX2NvbW1pdChl bmNvZGVyKTsKPiA+ID4gPiArCQl9Cj4gPiA+ID4gKwl9Cj4gPiA+ID4gIH0KPiA+ID4gPgo+ID4g PiA+ICAvKgo+ID4gPiA+IEBAIC0zNDQsMTMgKzM1MSwxNyBAQCBzdGF0aWMgdm9pZCBkcHVfa21z X3ByZXBhcmVfY29tbWl0KHN0cnVjdAo+ID4gbXNtX2ttcwo+ID4gPiA+ICprbXMsCj4gPiA+ID4g IHZvaWQgZHB1X2ttc19lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIp Cj4gPiA+ID4gIHsKPiA+ID4gPiAgCWNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9oZWxwZXJfZnVu Y3MgKmZ1bmNzID0KPiA+ID4gPiBlbmNvZGVyLT5oZWxwZXJfcHJpdmF0ZTsKPiA+ID4gPiAtCXN0 cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGVuY29kZXItPmNydGM7Cj4gPiA+ID4gKwlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ZGV2Owo+ID4gPiA+ICsJc3RydWN0IGRybV9jcnRjICpj cnRjOwo+ID4gPiA+Cj4gPiA+ID4gIAkvKiBGb3J3YXJkIHRoaXMgZW5hYmxlIGNhbGwgdG8gdGhl IGNvbW1pdCBob29rICovCj4gPiA+ID4gIAlpZiAoZnVuY3MgJiYgZnVuY3MtPmNvbW1pdCkKPiA+ ID4gPiAgCQlmdW5jcy0+Y29tbWl0KGVuY29kZXIpOwo+ID4gPiA+Cj4gPiA+ID4gLQlpZiAoY3J0 YyAmJiBjcnRjLT5zdGF0ZS0+YWN0aXZlKSB7Cj4gPiA+ID4gKwlkcm1fZm9yX2VhY2hfY3J0Yyhj cnRjLCBkZXYpIHsKPiA+ID4gPiArCQlpZiAoIShjcnRjLT5zdGF0ZS0+ZW5jb2Rlcl9tYXNrICYK PiA+ID4gPiBkcm1fZW5jb2Rlcl9tYXNrKGVuY29kZXIpKSkKPiA+ID4gPiArCQkJY29udGludWU7 Cj4gPiA+ID4gKwo+ID4gPiA+ICAJCXRyYWNlX2RwdV9rbXNfZW5jX2VuYWJsZShEUk1JRChjcnRj KSk7Cj4gPiA+ID4gIAkJZHB1X2NydGNfY29tbWl0X2tpY2tvZmYoY3J0Yyk7Cj4gPiA+ID4gIAl9 Cj4gPiA+IAo+ID4gPiAtLQo+ID4gPiBKZXlrdW1hciBTCj4gCj4gLS0gCj4gSmV5a3VtYXIgUwoK LS0gClNlYW4gUGF1bCwgU29mdHdhcmUgRW5naW5lZXIsIEdvb2dsZSAvIENocm9taXVtIE9TCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=