From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [DPU PATCH] drm/msm: remove support for seamless modes Date: Thu, 14 Jun 2018 11:26:25 -0400 Message-ID: <20180614152625.GB20303@art_vandelay> References: <1528850943-21982-1-git-send-email-abhinavk@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: <1528850943-21982-1-git-send-email-abhinavk@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Abhinav Kumar Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, hoegsberg@google.com, chandanu@codeaurora.org List-Id: linux-arm-msm@vger.kernel.org T24gVHVlLCBKdW4gMTIsIDIwMTggYXQgMDU6NDk6MDNQTSAtMDcwMCwgQWJoaW5hdiBLdW1hciB3 cm90ZToKPiBTZWFtbGVzcyBtb2RlcyBhcmUgb25lcyB3aGljaCBkbyBub3QgcmVxdWlyZSBhIGRp c3BsYXkKPiB0byBiZSB0dXJuZWQgT0ZGL09OIGJldHdlZW4gbW9kZSBzd2l0Y2hlcy4KPiAKPiBS ZW1vdmUgc3VwcG9ydCBmb3Igc2VhbWxlc3MgbW9kZXMgZnJvbSBEUFUgZm9yIG5vdy4KPiAKPiBU aGlzIHdpbGwgYmUgYWRkZWQgbGF0ZXIgYmFzZWQgb24gYWRkaXRpb25hbCByZXF1aXJlbWVudHMu Cj4gCj4gVGhpcyBjaGFuZ2UgZGVwZW5kcyBvbiB0aGUgRFBVIGN1c3RvbSBwcm9wZXJ0eSByZW1v dmFsIHNlcmllczoKPiAgLSBodHRwczovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvc2VyaWVz LzQ0NTkyLwoKUHVzaGVkIHRvIGRwdS1zdGFnaW5nL2Zvci1uZXh0LCB0aGFua3MKClNlYW4KCj4g Cj4gU2lnbmVkLW9mZi1ieTogQWJoaW5hdiBLdW1hciA8YWJoaW5hdmtAY29kZWF1cm9yYS5vcmc+ Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMgICAgfCAg MzEgLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIu YyB8IDEwNiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9t c20vbXNtX2ttcy5oICAgICAgICAgICAgICAgfCAgNDQgLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUv dWFwaS9kcm0vZHJtX21vZGUuaCAgICAgICAgICAgICAgICAgfCAgIDEgLQo+ICA0IGZpbGVzIGNo YW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMTc5IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwo+IGluZGV4IDQ2MTZhNjIuLjljYTgzMjUgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKPiBAQCAtNTkxLDIy ICs1OTEsNiBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19kZXN0cm95KHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKPiAgCWtmcmVlKGRwdV9jcnRjKTsKPiAgfQo+ICAKPiAtc3RhdGljIGJvb2wgZHB1X2Ny dGNfbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gLQkJY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gLQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVz dGVkX21vZGUpCj4gLXsKPiAtCURQVV9ERUJVRygiXG4iKTsKPiAtCj4gLQlpZiAoKG1zbV9pc19t b2RlX3NlYW1sZXNzKGFkanVzdGVkX21vZGUpIHx8Cj4gLQkJCW1zbV9pc19tb2RlX3NlYW1sZXNz X3ZycihhZGp1c3RlZF9tb2RlKSkgJiYKPiAtCQkoIWNydGMtPmVuYWJsZWQpKSB7Cj4gLQkJRFBV X0VSUk9SKCJjcnRjIHN0YXRlIHByZXZlbnRzIHNlYW1sZXNzIHRyYW5zaXRpb25cbiIpOwo+IC0J CXJldHVybiBmYWxzZTsKPiAtCX0KPiAtCj4gLQlyZXR1cm4gdHJ1ZTsKPiAtfQo+IC0KPiAgc3Rh dGljIHZvaWQgX2RwdV9jcnRjX3NldHVwX2JsZW5kX2NmZyhzdHJ1Y3QgZHB1X2NydGNfbWl4ZXIg Km1peGVyLAo+ICAJCXN0cnVjdCBkcHVfcGxhbmVfc3RhdGUgKnBzdGF0ZSkKPiAgewo+IEBAIC0x NzI4LDEyICsxNzEyLDYgQEAgc3RhdGljIHZvaWQgZHB1X2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCj4gIAltb2RlID0gJmNzdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICAJ cHJpdiA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7Cj4gIAo+IC0JaWYgKG1zbV9pc19tb2RlX3Nl YW1sZXNzKG1vZGUpIHx8IG1zbV9pc19tb2RlX3NlYW1sZXNzX3Zycihtb2RlKSB8fAo+IC0JICAg IG1zbV9pc19tb2RlX3NlYW1sZXNzX2Rtcyhtb2RlKSkgewo+IC0JCURQVV9ERUJVRygiU2VhbWxl c3MgbW9kZSBpcyBiZWluZyBhcHBsaWVkLCBza2lwIGRpc2FibGVcbiIpOwo+IC0JCXJldHVybjsK PiAtCX0KPiAtCj4gIAlEUFVfREVCVUcoImNydGMlZFxuIiwgY3J0Yy0+YmFzZS5pZCk7Cj4gIAo+ ICAJaWYgKGRwdV9rbXNfaXNfc3VzcGVuZF9zdGF0ZShjcnRjLT5kZXYpKQo+IEBAIC0xODE3LDEy ICsxNzk1LDYgQEAgc3RhdGljIHZvaWQgZHB1X2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKPiAgCURQVV9FVlQzMl9WRVJCT1NFKERSTUlEKGNydGMpKTsKPiAgCWRwdV9jcnRjID0g dG9fZHB1X2NydGMoY3J0Yyk7Cj4gIAo+IC0JaWYgKG1zbV9pc19tb2RlX3NlYW1sZXNzKCZjcnRj LT5zdGF0ZS0+YWRqdXN0ZWRfbW9kZSkgfHwKPiAtCSAgICBtc21faXNfbW9kZV9zZWFtbGVzc192 cnIoJmNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlKSkgewo+IC0JCURQVV9ERUJVRygiU2tpcHBp bmcgY3J0YyBlbmFibGUsIHNlYW1sZXNzIG1vZGVcbiIpOwo+IC0JCXJldHVybjsKPiAtCX0KPiAt Cj4gIAlkcm1fZm9yX2VhY2hfZW5jb2RlcihlbmNvZGVyLCBjcnRjLT5kZXYpIHsKPiAgCQlpZiAo ZW5jb2Rlci0+Y3J0YyAhPSBjcnRjKQo+ICAJCQljb250aW51ZTsKPiBAQCAtMTg1Nyw4ICsxODI5 LDYgQEAgc3RhdGljIHZvaWQgZHB1X2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK PiAgCQlEUFVfUE9XRVJfRVZFTlRfUFJFX0RJU0FCTEUsCj4gIAkJZHB1X2NydGNfaGFuZGxlX3Bv d2VyX2V2ZW50LCBjcnRjLCBkcHVfY3J0Yy0+bmFtZSk7Cj4gIAo+IC0JaWYgKG1zbV9uZWVkc192 YmxhbmtfcHJlX21vZGVzZXQoJmNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlKSkKPiAtCQlkcm1f Y3J0Y193YWl0X29uZV92YmxhbmsoY3J0Yyk7Cj4gIH0KPiAgCj4gIHN0cnVjdCBwbGFuZV9zdGF0 ZSB7Cj4gQEAgLTI0OTcsNyArMjQ2Nyw2IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2Vhcmx5X3Vu cmVnaXN0ZXIoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICB9Owo+ICAKPiAgc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3MgZHB1X2NydGNfaGVscGVyX2Z1bmNzID0gewo+ IC0JLm1vZGVfZml4dXAgPSBkcHVfY3J0Y19tb2RlX2ZpeHVwLAo+ICAJLmRpc2FibGUgPSBkcHVf Y3J0Y19kaXNhYmxlLAo+ICAJLmF0b21pY19lbmFibGUgPSBkcHVfY3J0Y19lbmFibGUsCj4gIAku YXRvbWljX2NoZWNrID0gZHB1X2NydGNfYXRvbWljX2NoZWNrLAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwo+IGluZGV4IDdkZDYwOWMuLjExYTEwNDUgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKPiBAQCAt OTYsMTUgKzk2LDYgQEAKPiAgICoJSURMRSBpcyBleHBlY3RlZCB3aGVuIElETEVfUEMgaGFzIHJ1 biwgYW5kIFBSRV9PRkYgZGlkIG5vdGhpbmcuCj4gICAqCVBSRV9PRkYgaXMgZXhwZWN0ZWQgd2hl biBQUkVfU1RPUCB3YXMgZXhlY3V0ZWQgZHVyaW5nIHRoZSBPTiBzdGF0ZS4KPiAgICoJUmVzb3Vy Y2Ugc3RhdGUgc2hvdWxkIGJlIGluIE9GRiBhdCB0aGUgZW5kIG9mIHRoZSBldmVudC4KPiAtICog QERQVV9FTkNfUkNfRVZFTlRfUFJFX01PREVTRVQ6Cj4gLSAqCVRoaXMgZXZlbnQgaGFwcGVucyBh dCBOT1JNQUwgcHJpb3JpdHkgZnJvbSBhIHdvcmsgaXRlbS4KPiAtICoJRXZlbnQgc2lnbmFscyB0 aGF0IHRoZXJlIGlzIGEgc2VhbWxlc3MgbW9kZSBzd2l0Y2ggaXMgaW4gcHJnb3Jlc3MuIEEKPiAt ICoJY2xpZW50IG5lZWRzIHRvIHR1cm4gb2Ygb25seSBpcnEgLSBsZWF2ZSBjbG9ja3MgT04gdG8g cmVkdWNlIHRoZSBtb2RlCj4gLSAqCXN3aXRjaCBsYXRlbmN5Lgo+IC0gKiBARFBVX0VOQ19SQ19F VkVOVF9QT1NUX01PREVTRVQ6Cj4gLSAqCVRoaXMgZXZlbnQgaGFwcGVucyBhdCBOT1JNQUwgcHJp b3JpdHkgZnJvbSBhIHdvcmsgaXRlbS4KPiAtICoJRXZlbnQgc2lnbmFscyB0aGF0IHNlYW1sZXNz IG1vZGUgc3dpdGNoIGlzIGNvbXBsZXRlIGFuZCByZXNvdXJjZXMgYXJlCj4gLSAqCWFjcXVpcmVk LiBDbGllbnRzIHdhbnRzIHRvIHR1cm4gb24gdGhlIGlycSBhZ2Fpbi4KPiAgICogQERQVV9FTkNf UkNfRVZFTlRfRU5URVJfSURMRToKPiAgICoJVGhpcyBldmVudCBoYXBwZW5zIGF0IE5PUk1BTCBw cmlvcml0eSBmcm9tIGEgd29yayBpdGVtLgo+ICAgKglFdmVudCBzaWduYWxzIHRoYXQgdGhlcmUg d2VyZSBubyBmcmFtZSB1cGRhdGVzIGZvciBJRExFX1RJTUVPVVQgdGltZS4KPiBAQCAtMTE2LDgg KzEwNyw2IEBAIGVudW0gZHB1X2VuY19yY19ldmVudHMgewo+ICAJRFBVX0VOQ19SQ19FVkVOVF9G UkFNRV9ET05FLAo+ICAJRFBVX0VOQ19SQ19FVkVOVF9QUkVfU1RPUCwKPiAgCURQVV9FTkNfUkNf RVZFTlRfU1RPUCwKPiAtCURQVV9FTkNfUkNfRVZFTlRfUFJFX01PREVTRVQsCj4gLQlEUFVfRU5D X1JDX0VWRU5UX1BPU1RfTU9ERVNFVCwKPiAgCURQVV9FTkNfUkNfRVZFTlRfRU5URVJfSURMRQo+ ICB9Owo+ICAKPiBAQCAtMTMzLDcgKzEyMiw2IEBAIGVudW0gZHB1X2VuY19yY19zdGF0ZXMgewo+ ICAJRFBVX0VOQ19SQ19TVEFURV9PRkYsCj4gIAlEUFVfRU5DX1JDX1NUQVRFX1BSRV9PRkYsCj4g IAlEUFVfRU5DX1JDX1NUQVRFX09OLAo+IC0JRFBVX0VOQ19SQ19TVEFURV9NT0RFU0VULAo+ICAJ RFBVX0VOQ19SQ19TVEFURV9JRExFCj4gIH07Cj4gIAo+IEBAIC04MDksNyArNzk3LDYgQEAgc3Rh dGljIGludCBkcHVfZW5jb2Rlcl9yZXNvdXJjZV9jb250cm9sKHN0cnVjdCBkcm1fZW5jb2RlciAq ZHJtX2VuYywKPiAgCXN0cnVjdCBkcHVfZW5jb2Rlcl92aXJ0ICpkcHVfZW5jOwo+ICAJc3RydWN0 IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdjsKPiAgCXN0cnVjdCBtc21fZHJtX3RocmVhZCAqZGlzcF90 aHJlYWQ7Cj4gLQlpbnQgcmV0Owo+ICAJYm9vbCBpc192aWRfbW9kZSA9IGZhbHNlOwo+ICAKPiAg CWlmICghZHJtX2VuYyB8fCAhZHJtX2VuYy0+ZGV2IHx8ICFkcm1fZW5jLT5kZXYtPmRldl9wcml2 YXRlIHx8Cj4gQEAgLTgzNCw4ICs4MjEsNiBAQCBzdGF0aWMgaW50IGRwdV9lbmNvZGVyX3Jlc291 cmNlX2NvbnRyb2woc3RydWN0IGRybV9lbmNvZGVyICpkcm1fZW5jLAo+ICAJICovCj4gIAlpZiAo IWRwdV9lbmMtPmlkbGVfcGNfc3VwcG9ydGVkICYmCj4gIAkJCShzd19ldmVudCAhPSBEUFVfRU5D X1JDX0VWRU5UX0tJQ0tPRkYgJiYKPiAtCQkJc3dfZXZlbnQgIT0gRFBVX0VOQ19SQ19FVkVOVF9Q UkVfTU9ERVNFVCAmJgo+IC0JCQlzd19ldmVudCAhPSBEUFVfRU5DX1JDX0VWRU5UX1BPU1RfTU9E RVNFVCAmJgo+ICAJCQlzd19ldmVudCAhPSBEUFVfRU5DX1JDX0VWRU5UX1NUT1AgJiYKPiAgCQkJ c3dfZXZlbnQgIT0gRFBVX0VOQ19SQ19FVkVOVF9QUkVfU1RPUCkpCj4gIAkJcmV0dXJuIDA7Cj4g QEAgLTk2Niw4ICs5NTEsNyBAQCBzdGF0aWMgaW50IGRwdV9lbmNvZGVyX3Jlc291cmNlX2NvbnRy b2woc3RydWN0IGRybV9lbmNvZGVyICpkcm1fZW5jLAo+ICAJCQkJRFBVX0VWVExPR19GVU5DX0NB U0U0KTsKPiAgCQkJbXV0ZXhfdW5sb2NrKCZkcHVfZW5jLT5yY19sb2NrKTsKPiAgCQkJcmV0dXJu IDA7Cj4gLQkJfSBlbHNlIGlmIChkcHVfZW5jLT5yY19zdGF0ZSA9PSBEUFVfRU5DX1JDX1NUQVRF X09OIHx8Cj4gLQkJCSAgIGRwdV9lbmMtPnJjX3N0YXRlID09IERQVV9FTkNfUkNfU1RBVEVfTU9E RVNFVCkgewo+ICsJCX0gZWxzZSBpZiAoZHB1X2VuYy0+cmNfc3RhdGUgPT0gRFBVX0VOQ19SQ19T VEFURV9PTikgewo+ICAJCQlEUFVfRVJST1JfRU5DKGRwdV9lbmMsICJzd19ldmVudDolZCwgcmMg aW4gc3RhdGUgJWRcbiIsCj4gIAkJCQkJc3dfZXZlbnQsIGRwdV9lbmMtPnJjX3N0YXRlKTsKPiAg CQkJRFBVX0VWVDMyKERSTUlEKGRybV9lbmMpLCBzd19ldmVudCwgZHB1X2VuYy0+cmNfc3RhdGUs Cj4gQEAgLTk5MSw2OSArOTc1LDYgQEAgc3RhdGljIGludCBkcHVfZW5jb2Rlcl9yZXNvdXJjZV9j b250cm9sKHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYywKPiAgCQltdXRleF91bmxvY2soJmRw dV9lbmMtPnJjX2xvY2spOwo+ICAJCWJyZWFrOwo+ICAKPiAtCWNhc2UgRFBVX0VOQ19SQ19FVkVO VF9QUkVfTU9ERVNFVDoKPiAtCQkvKiBjYW5jZWwgZGVsYXllZCBvZmYgd29yaywgaWYgYW55ICov Cj4gLQkJaWYgKGt0aHJlYWRfY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKAo+IC0JCQkJJmRwdV9l bmMtPmRlbGF5ZWRfb2ZmX3dvcmspKQo+IC0JCQlEUFVfREVCVUdfRU5DKGRwdV9lbmMsICJzd19l dmVudDolZCwgd29yayBjYW5jZWxsZWRcbiIsCj4gLQkJCQkJc3dfZXZlbnQpOwo+IC0KPiAtCQlt dXRleF9sb2NrKCZkcHVfZW5jLT5yY19sb2NrKTsKPiAtCj4gLQkJLyogcmV0dXJuIGlmIHRoZSBy ZXNvdXJjZSBjb250cm9sIGlzIGFscmVhZHkgaW4gT04gc3RhdGUgKi8KPiAtCQlpZiAoZHB1X2Vu Yy0+cmNfc3RhdGUgIT0gRFBVX0VOQ19SQ19TVEFURV9PTikgewo+IC0JCQkvKiBlbmFibGUgYWxs IHRoZSBjbGtzIGFuZCByZXNvdXJjZXMgKi8KPiAtCQkJX2RwdV9lbmNvZGVyX3Jlc291cmNlX2Nv bnRyb2xfaGVscGVyKGRybV9lbmMsIHRydWUpOwo+IC0KPiAtCQkJRFBVX0VWVDMyKERSTUlEKGRy bV9lbmMpLCBzd19ldmVudCwgZHB1X2VuYy0+cmNfc3RhdGUsCj4gLQkJCQlEUFVfRU5DX1JDX1NU QVRFX09OLCBEUFVfRVZUTE9HX0ZVTkNfQ0FTRTUpOwo+IC0JCQlkcHVfZW5jLT5yY19zdGF0ZSA9 IERQVV9FTkNfUkNfU1RBVEVfT047Cj4gLQkJfQo+IC0KPiAtCQlyZXQgPSBkcHVfZW5jb2Rlcl93 YWl0X2Zvcl9ldmVudChkcm1fZW5jLCBNU01fRU5DX1RYX0NPTVBMRVRFKTsKPiAtCQlpZiAocmV0 ICYmIHJldCAhPSAtRVdPVUxEQkxPQ0spIHsKPiAtCQkJRFBVX0VSUk9SX0VOQyhkcHVfZW5jLAo+ IC0JCQkJCSJ3YWl0IGZvciBjb21taXQgZG9uZSByZXR1cm5lZCAlZFxuIiwKPiAtCQkJCQlyZXQp Owo+IC0JCQlEUFVfRVZUMzIoRFJNSUQoZHJtX2VuYyksIHN3X2V2ZW50LCBkcHVfZW5jLT5yY19z dGF0ZSwKPiAtCQkJCQlyZXQsIERQVV9FVlRMT0dfRVJST1IpOwo+IC0JCQltdXRleF91bmxvY2so JmRwdV9lbmMtPnJjX2xvY2spOwo+IC0JCQlyZXR1cm4gLUVJTlZBTDsKPiAtCQl9Cj4gLQo+IC0J CV9kcHVfZW5jb2Rlcl9pcnFfY29udHJvbChkcm1fZW5jLCBmYWxzZSk7Cj4gLQo+IC0JCURQVV9F VlQzMihEUk1JRChkcm1fZW5jKSwgc3dfZXZlbnQsIGRwdV9lbmMtPnJjX3N0YXRlLAo+IC0JCQlE UFVfRU5DX1JDX1NUQVRFX01PREVTRVQsIERQVV9FVlRMT0dfRlVOQ19DQVNFNSk7Cj4gLQo+IC0J CWRwdV9lbmMtPnJjX3N0YXRlID0gRFBVX0VOQ19SQ19TVEFURV9NT0RFU0VUOwo+IC0JCW11dGV4 X3VubG9jaygmZHB1X2VuYy0+cmNfbG9jayk7Cj4gLQkJYnJlYWs7Cj4gLQo+IC0JY2FzZSBEUFVf RU5DX1JDX0VWRU5UX1BPU1RfTU9ERVNFVDoKPiAtCQltdXRleF9sb2NrKCZkcHVfZW5jLT5yY19s b2NrKTsKPiAtCj4gLQkJLyogcmV0dXJuIGlmIHRoZSByZXNvdXJjZSBjb250cm9sIGlzIGFscmVh ZHkgaW4gT04gc3RhdGUgKi8KPiAtCQlpZiAoZHB1X2VuYy0+cmNfc3RhdGUgIT0gRFBVX0VOQ19S Q19TVEFURV9NT0RFU0VUKSB7Cj4gLQkJCURQVV9FUlJPUl9FTkMoZHB1X2VuYywKPiAtCQkJCQki c3dfZXZlbnQ6JWQsIHJjOiVkICFNT0RFU0VUIHN0YXRlXG4iLAo+IC0JCQkJCXN3X2V2ZW50LCBk cHVfZW5jLT5yY19zdGF0ZSk7Cj4gLQkJCURQVV9FVlQzMihEUk1JRChkcm1fZW5jKSwgc3dfZXZl bnQsIGRwdV9lbmMtPnJjX3N0YXRlLAo+IC0JCQkJCURQVV9FVlRMT0dfRVJST1IpOwo+IC0JCQlt dXRleF91bmxvY2soJmRwdV9lbmMtPnJjX2xvY2spOwo+IC0JCQlyZXR1cm4gLUVJTlZBTDsKPiAt CQl9Cj4gLQo+IC0JCV9kcHVfZW5jb2Rlcl9pcnFfY29udHJvbChkcm1fZW5jLCB0cnVlKTsKPiAt Cj4gLQkJRFBVX0VWVDMyKERSTUlEKGRybV9lbmMpLCBzd19ldmVudCwgZHB1X2VuYy0+cmNfc3Rh dGUsCj4gLQkJCQlEUFVfRU5DX1JDX1NUQVRFX09OLCBEUFVfRVZUTE9HX0ZVTkNfQ0FTRTYpOwo+ IC0KPiAtCQlkcHVfZW5jLT5yY19zdGF0ZSA9IERQVV9FTkNfUkNfU1RBVEVfT047Cj4gLQo+IC0J CW11dGV4X3VubG9jaygmZHB1X2VuYy0+cmNfbG9jayk7Cj4gLQkJYnJlYWs7Cj4gLQo+ICAJY2Fz ZSBEUFVfRU5DX1JDX0VWRU5UX0VOVEVSX0lETEU6Cj4gIAkJbXV0ZXhfbG9jaygmZHB1X2VuYy0+ cmNfbG9jayk7Cj4gIAo+IEBAIC0xMTgwLDExICsxMTAxLDYgQEAgc3RhdGljIHZvaWQgZHB1X2Vu Y29kZXJfdmlydF9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMsCj4gIAkJfQo+ ICAJfQo+ICAKPiAtCS8qIHVwZGF0ZSByZXNvdXJjZXMgYWZ0ZXIgc2VhbWxlc3MgbW9kZSBjaGFu Z2UgKi8KPiAtCWlmIChtc21faXNfbW9kZV9zZWFtbGVzc19kbXMoYWRqX21vZGUpKQo+IC0JCWRw dV9lbmNvZGVyX3Jlc291cmNlX2NvbnRyb2woJmRwdV9lbmMtPmJhc2UsCj4gLQkJCQkJCURQVV9F TkNfUkNfRVZFTlRfUE9TVF9NT0RFU0VUKTsKPiAtCj4gIAlkcHVfZW5jLT5tb2RlX3NldF9jb21w bGV0ZSA9IHRydWU7Cj4gIH0KPiAgCj4gQEAgLTEyOTcsMTUgKzEyMTMsNyBAQCBzdGF0aWMgdm9p ZCBkcHVfZW5jb2Rlcl92aXJ0X2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMpCj4g IAkJCWNvbnRpbnVlOwo+ICAKPiAgCQlpZiAocGh5cyAhPSBkcHVfZW5jLT5jdXJfbWFzdGVyKSB7 Cj4gLQkJCS8qKgo+IC0JCQkgKiBvbiBETVMgcmVxdWVzdCwgdGhlIGVuY29kZXIgd2lsbCBiZSBl bmFibGVkCj4gLQkJCSAqIGFscmVhZHkuIEludm9rZSByZXN0b3JlIHRvIHJlY29uZmlndXJlIHRo ZQo+IC0JCQkgKiBuZXcgbW9kZS4KPiAtCQkJICovCj4gLQkJCWlmIChtc21faXNfbW9kZV9zZWFt bGVzc19kbXMoY3VyX21vZGUpICYmCj4gLQkJCQkJcGh5cy0+b3BzLnJlc3RvcmUpCj4gLQkJCQlw aHlzLT5vcHMucmVzdG9yZShwaHlzKTsKPiAtCQkJZWxzZSBpZiAocGh5cy0+b3BzLmVuYWJsZSkK PiArCQkJaWYgKHBoeXMtPm9wcy5lbmFibGUpCj4gIAkJCQlwaHlzLT5vcHMuZW5hYmxlKHBoeXMp Owo+ICAJCX0KPiAgCj4gQEAgLTEzMTUsMTAgKzEyMjMsNyBAQCBzdGF0aWMgdm9pZCBkcHVfZW5j b2Rlcl92aXJ0X2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMpCj4gIAkJCQkJCWRw dV9lbmMtPm1pc3JfZnJhbWVfY291bnQpOwo+ICAJfQo+ICAKPiAtCWlmIChtc21faXNfbW9kZV9z ZWFtbGVzc19kbXMoY3VyX21vZGUpICYmCj4gLQkJCWRwdV9lbmMtPmN1cl9tYXN0ZXItPm9wcy5y ZXN0b3JlKQo+IC0JCWRwdV9lbmMtPmN1cl9tYXN0ZXItPm9wcy5yZXN0b3JlKGRwdV9lbmMtPmN1 cl9tYXN0ZXIpOwo+IC0JZWxzZSBpZiAoZHB1X2VuYy0+Y3VyX21hc3Rlci0+b3BzLmVuYWJsZSkK PiArCWlmIChkcHVfZW5jLT5jdXJfbWFzdGVyLT5vcHMuZW5hYmxlKQo+ICAJCWRwdV9lbmMtPmN1 cl9tYXN0ZXItPm9wcy5lbmFibGUoZHB1X2VuYy0+Y3VyX21hc3Rlcik7Cj4gIAo+ICAJX2RwdV9l bmNvZGVyX3ZpcnRfZW5hYmxlX2hlbHBlcihkcm1fZW5jKTsKPiBAQCAtMTM0NCwxMSArMTI0OSw2 IEBAIHN0YXRpYyB2b2lkIGRwdV9lbmNvZGVyX3ZpcnRfZGlzYWJsZShzdHJ1Y3QgZHJtX2VuY29k ZXIgKmRybV9lbmMpCj4gIAl9Cj4gIAo+ICAJbW9kZSA9ICZkcm1fZW5jLT5jcnRjLT5zdGF0ZS0+ YWRqdXN0ZWRfbW9kZTsKPiAtCWlmIChtc21faXNfbW9kZV9zZWFtbGVzcyhtb2RlKSB8fCBtc21f aXNfbW9kZV9zZWFtbGVzc192cnIobW9kZSkgfHwKPiAtCSAgICBtc21faXNfbW9kZV9zZWFtbGVz c19kbXMobW9kZSkpIHsKPiAtCQlEUFVfREVCVUcoIlNlYW1sZXNzIG1vZGUgaXMgYmVpbmcgYXBw bGllZCwgc2tpcCBkaXNhYmxlXG4iKTsKPiAtCQlyZXR1cm47Cj4gLQl9Cj4gIAo+ICAJZHB1X2Vu YyA9IHRvX2RwdV9lbmNvZGVyX3ZpcnQoZHJtX2VuYyk7Cj4gIAlEUFVfREVCVUdfRU5DKGRwdV9l bmMsICJcbiIpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9rbXMuaCBi L2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2ttcy5oCj4gaW5kZXggNWUxZGU4NS4uNDU0NGQwYSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9rbXMuaAo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vbXNtX2ttcy5oCj4gQEAgLTI2LDE5ICsyNiw2IEBACj4gIAo+ICAjZGVm aW5lIE1BWF9QTEFORQk0Cj4gIAo+IC0vKioKPiAtICogRGV2aWNlIFByaXZhdGUgRFJNIE1vZGUg RmxhZ3MKPiAtICogZHJtX21vZGUtPnByaXZhdGVfZmxhZ3MKPiAtICovCj4gLS8qIENvbm5lY3Rv ciBoYXMgaW50ZXJwcmV0ZWQgc2VhbWxlc3MgdHJhbnNpdGlvbiByZXF1ZXN0IGFzIGR5bmFtaWMg ZnBzICovCj4gLSNkZWZpbmUgTVNNX01PREVfRkxBR19TRUFNTEVTU19EWU5BTUlDX0ZQUwkoMTw8 MCkKPiAtLyogVHJhbnNpdGlvbiB0byBuZXcgbW9kZSByZXF1aXJlcyBhIHdhaXQtZm9yLXZibGFu ayBiZWZvcmUgdGhlIG1vZGVzZXQgKi8KPiAtI2RlZmluZSBNU01fTU9ERV9GTEFHX1ZCTEFOS19Q UkVfTU9ERVNFVAkoMTw8MSkKPiAtLyogUmVxdWVzdCB0byBzd2l0Y2ggdGhlIGNvbm5lY3RvciBt b2RlICovCj4gLSNkZWZpbmUgTVNNX01PREVfRkxBR19TRUFNTEVTU19ETVMJCQkoMTw8MikKPiAt LyogUmVxdWVzdCB0byBzd2l0Y2ggdGhlIGZwcyAqLwo+IC0jZGVmaW5lIE1TTV9NT0RFX0ZMQUdf U0VBTUxFU1NfVlJSCQkJKDE8PDMpCj4gLQo+ICAvKiBBcyB0aGVyZSBhcmUgZGlmZmVyZW50IGRp c3BsYXkgY29udHJvbGxlciBibG9ja3MgZGVwZW5kaW5nIG9uIHRoZQo+ICAgKiBzbmFwZHJhZ29u IHZlcnNpb24sIHRoZSBrbXMgc3VwcG9ydCBpcyBzcGxpdCBvdXQgYW5kIHRoZSBhcHByb3ByaWF0 ZQo+ICAgKiBpbXBsZW1lbnRhdGlvbiBpcyBsb2FkZWQgYXQgcnVudGltZS4gIFRoZSBrbXMgbW9k dWxlIGlzIHJlc3BvbnNpYmxlCj4gQEAgLTE0NiwzNSArMTMzLDQgQEAgc3RydWN0IG1zbV9tZHNz IHsKPiAgaW50IG1kcDVfbWRzc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICBpbnQg ZHB1X21kc3NfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAgCj4gLS8qKgo+IC0gKiBN b2RlIFNldCBVdGlsaXR5IEZ1bmN0aW9ucwo+IC0gKi8KPiAtc3RhdGljIGlubGluZSBib29sIG1z bV9pc19tb2RlX3NlYW1sZXNzKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ IC17Cj4gLQlyZXR1cm4gKG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19TRUFNTEVTUyk7Cj4g LX0KPiAtCj4gLXN0YXRpYyBpbmxpbmUgYm9vbCBtc21faXNfbW9kZV9zZWFtbGVzc19kbXMoY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gLXsKPiAtCXJldHVybiBtb2RlID8g KG1vZGUtPnByaXZhdGVfZmxhZ3MgJiBNU01fTU9ERV9GTEFHX1NFQU1MRVNTX0RNUykKPiAtCQk6 IGZhbHNlOwo+IC19Cj4gLQo+IC1zdGF0aWMgaW5saW5lIGJvb2wgbXNtX2lzX21vZGVfZHluYW1p Y19mcHMoY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gLXsKPiAtCXJldHVy biAoKG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19TRUFNTEVTUykgJiYKPiAtCQkobW9kZS0+ cHJpdmF0ZV9mbGFncyAmIE1TTV9NT0RFX0ZMQUdfU0VBTUxFU1NfRFlOQU1JQ19GUFMpKTsKPiAt fQo+IC0KPiAtc3RhdGljIGlubGluZSBib29sIG1zbV9pc19tb2RlX3NlYW1sZXNzX3Zycihjb25z dCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAtewo+IC0JcmV0dXJuIG1vZGUgPyAo bW9kZS0+cHJpdmF0ZV9mbGFncyAmIE1TTV9NT0RFX0ZMQUdfU0VBTUxFU1NfVlJSKQo+IC0JCTog ZmFsc2U7Cj4gLX0KPiAtCj4gLXN0YXRpYyBpbmxpbmUgYm9vbCBtc21fbmVlZHNfdmJsYW5rX3By ZV9tb2Rlc2V0KAo+IC0JCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+IC17 Cj4gLQlyZXR1cm4gKG1vZGUtPnByaXZhdGVfZmxhZ3MgJiBNU01fTU9ERV9GTEFHX1ZCTEFOS19Q UkVfTU9ERVNFVCk7Cj4gLX0KPiAgI2VuZGlmIC8qIF9fTVNNX0tNU19IX18gKi8KPiBkaWZmIC0t Z2l0IGEvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oIGIvaW5jbHVkZS91YXBpL2RybS9kcm1f bW9kZS5oCj4gaW5kZXggNGUxYTNmZi4uNTBiY2Y0MiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL3Vh cGkvZHJtL2RybV9tb2RlLmgKPiArKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiBA QCAtODgsNyArODgsNiBAQAo+ICAjZGVmaW5lICBEUk1fTU9ERV9GTEFHXzNEX0xfREVQVEhfR0ZY X0dGWF9ERVBUSAkoNjw8MTQpCj4gICNkZWZpbmUgIERSTV9NT0RFX0ZMQUdfM0RfVE9QX0FORF9C T1RUT00JKDc8PDE0KQo+ICAjZGVmaW5lICBEUk1fTU9ERV9GTEFHXzNEX1NJREVfQllfU0lERV9I QUxGCSg4PDwxNCkKPiAtI2RlZmluZSAgRFJNX01PREVfRkxBR19TRUFNTEVTUwkJCSgxPDwxOSkK PiAgCj4gIC8qIFBpY3R1cmUgYXNwZWN0IHJhdGlvIG9wdGlvbnMgKi8KPiAgI2RlZmluZSBEUk1f TU9ERV9QSUNUVVJFX0FTUEVDVF9OT05FCQkwCj4gLS0gCj4gVGhlIFF1YWxjb21tIElubm92YXRp b24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwKPiBh IExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0Cj4gCgotLSAKU2VhbiBQYXVs LCBTb2Z0d2FyZSBFbmdpbmVlciwgR29vZ2xlIC8gQ2hyb21pdW0gT1MKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==