From mboxrd@z Thu Jan 1 00:00:00 1970 From: jsanka@codeaurora.org Subject: Re: [DPU PATCH 01/11] drm/msm: Skip seamless disables in crtc/encoder Date: Fri, 02 Mar 2018 16:04:24 -0800 Message-ID: References: <20180228191906.185417-1-seanpaul@chromium.org> <20180228191906.185417-2-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180228191906.185417-2-seanpaul@chromium.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sean Paul Cc: linux-arm-msm@vger.kernel.org, abhinavk@codeaurora.org, dri-devel@lists.freedesktop.org, hoegsberg@chromium.org, freedreno@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gMjAxOC0wMi0yOCAxMToxOCwgU2VhbiBQYXVsIHdyb3RlOgo+IEluc3RlYWQgb2YgZHVwbGlj YXRpbmcgd2hvbGUgc3dhdGhzIG9mIGF0b21pYyBoZWxwZXIgZnVuY3Rpb25zICh3aGljaAo+IGFy ZSBhbHJlYWR5IG91dC1vZi1kYXRlKSwganVzdCBza2lwIHRoZSBlbmNvZGVyL2NydGMgZGlzYWJs ZXMgaW4gdGhlCj4gLmRpc2FibGUgaG9va3MuCj4gCj4gQ2hhbmdlLUlkOiBJN2JkOTE4M2FlNjA2 MjQyMDRmYjFkZTk1NTA2NTZiNzc2ZWZjNzIwMgo+IFNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8 c2VhbnBhdWxAY2hyb21pdW0ub3JnPgoKQ2FuIHlvdSBjb25zaWRlciBnZXR0aW5nIHJpZCBvZiB0 aGVzZSBjaGVja3M/Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf Y3J0Yy5jICAgIHwgICA4ICsKPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Vu Y29kZXIuYyB8ICAgOCArCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5jICAgICAg ICAgICAgfCAxODUgKy0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgMyBmaWxlcyBjaGFuZ2VkLCAxNyBp bnNlcnRpb25zKCspLCAxODQgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9jcnRjLmMKPiBpbmRleCAzY2RmMWUzZDlkOTYuLmEzYWI2ZWQyYmYxZCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwo+IEBAIC0zMzkz LDYgKzMzOTMsNyBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19kaXNhYmxlKHN0cnVjdCBkcm1fY3J0 YyAKPiAqY3J0YykKPiAgewo+ICAJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YzsKPiAgCXN0cnVj dCBkcHVfY3J0Y19zdGF0ZSAqY3N0YXRlOwo+ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGU7Cj4gIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXI7Cj4gIAlzdHJ1Y3QgbXNtX2RybV9w cml2YXRlICpwcml2Owo+ICAJdW5zaWduZWQgbG9uZyBmbGFnczsKPiBAQCAtMzQwNyw4ICszNDA4 LDE1IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjIAo+ICpj cnRjKQo+ICAJfQo+ICAJZHB1X2NydGMgPSB0b19kcHVfY3J0YyhjcnRjKTsKPiAgCWNzdGF0ZSA9 IHRvX2RwdV9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPiArCW1vZGUgPSAmY3N0YXRlLT5iYXNl LmFkanVzdGVkX21vZGU7Cj4gIAlwcml2ID0gY3J0Yy0+ZGV2LT5kZXZfcHJpdmF0ZTsKPiAKPiAr CWlmIChtc21faXNfbW9kZV9zZWFtbGVzcyhtb2RlKSB8fCBtc21faXNfbW9kZV9zZWFtbGVzc192 cnIobW9kZSkKPiB8fAo+ICsJICAgIG1zbV9pc19tb2RlX3NlYW1sZXNzX2Rtcyhtb2RlKSkgewo+ ICsJCURQVV9ERUJVRygiU2VhbWxlc3MgbW9kZSBpcyBiZWluZyBhcHBsaWVkLCBza2lwCj4gZGlz YWJsZVxuIik7Cj4gKwkJcmV0dXJuOwo+ICsJfQo+ICsKQW5vdGhlciB0b3BpYyBvZiBkaXNjdXNz aW9uIHdoaWNoIHNob3VsZCBiZSBicm91Z2h0IHVwIHdpdGggZHJpLWRldmVsLgoKTWF5IG5vdCBi ZSBjb21tb24gaW4gUEMgd29ybGQsIGJ1dCB0aGVyZSBhcmUgYSBoYW5kZnVsIG9mIG1vYmlsZSBP RU0ncwp1c2luZyBwYW5lbHMgd2hpY2ggc3VwcG9ydHMgbW9yZSB0aGFuIG9uZSByZXNvbHV0aW9u LiBQcmltYXJ5IHVzZSBjYXNlcwppbnZvbHZlICJzZWFtbGVzcyIgc3dpdGNoaW5nIHRvIG9wdGlt aXplZCBkaXNwbGF5IHJlc29sdXRpb24gd2hlbgpzdHJlYW1pbmcgY29udGVudCBjaGFuZ2VzIHJl c29sdXRpb25zIG9yIHJlbmRlcmluZyBsb3NzbGVzcyBkYXRhLgoKSmV5a3VtYXIgUy4KCj4gIAlE UFVfREVCVUcoImNydGMlZFxuIiwgY3J0Yy0+YmFzZS5pZCk7Cj4gCj4gIAlpZiAoZHB1X2ttc19p c19zdXNwZW5kX3N0YXRlKGNydGMtPmRldikpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9lbmNvZGVyLmMKPiBpbmRleCAzZDE2OGZhMDlmM2YuLjI4Y2ViNTg5ZWU0MCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwo+IEBA IC0yMTgzLDYgKzIxODMsNyBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl92aXJ0X2Rpc2FibGUo c3RydWN0Cj4gZHJtX2VuY29kZXIgKmRybV9lbmMpCj4gIAlzdHJ1Y3QgZHB1X2VuY29kZXJfdmly dCAqZHB1X2VuYyA9IE5VTEw7Cj4gIAlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2Owo+ICAJ c3RydWN0IGRwdV9rbXMgKmRwdV9rbXM7Cj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZTsKPiAgCWludCBpID0gMDsKPiAKPiAgCWlmICghZHJtX2VuYykgewo+IEBAIC0yMTk2LDYgKzIx OTcsMTMgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJfdmlydF9kaXNhYmxlKHN0cnVjdAo+IGRy bV9lbmNvZGVyICpkcm1fZW5jKQo+ICAJCXJldHVybjsKPiAgCX0KPiAKPiArCW1vZGUgPSAmZHJt X2VuYy0+Y3J0Yy0+c3RhdGUtPmFkanVzdGVkX21vZGU7Cj4gKwlpZiAobXNtX2lzX21vZGVfc2Vh bWxlc3MobW9kZSkgfHwgbXNtX2lzX21vZGVfc2VhbWxlc3NfdnJyKG1vZGUpCj4gfHwKPiArCSAg ICBtc21faXNfbW9kZV9zZWFtbGVzc19kbXMobW9kZSkpIHsKPiArCQlEUFVfREVCVUcoIlNlYW1s ZXNzIG1vZGUgaXMgYmVpbmcgYXBwbGllZCwgc2tpcAo+IGRpc2FibGVcbiIpOwo+ICsJCXJldHVy bjsKPiArCX0KPiArCj4gIAlkcHVfZW5jID0gdG9fZHB1X2VuY29kZXJfdmlydChkcm1fZW5jKTsK PiAgCURQVV9ERUJVR19FTkMoZHB1X2VuYywgIlxuIik7Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9h dG9taWMuYwo+IGluZGV4IDQ2NTM2ZWRiNzJlZS4uNWNmYjgwMzQ1MDUyIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L21zbS9tc21fYXRvbWljLmMKPiBAQCAtODQsMTg5ICs4NCw2IEBAIHN0YXRpYyB2b2lkIG1zbV9h dG9taWNfd2FpdF9mb3JfY29tbWl0X2RvbmUoCj4gIAl9Cj4gIH0KPiAKPiAtc3RhdGljIHZvaWQK PiAtbXNtX2Rpc2FibGVfb3V0cHV0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZQo+ICpvbGRfc3RhdGUpCj4gLXsKPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3I7Cj4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3Rh dGUsICpuZXdfY29ubl9zdGF0ZTsKPiAtCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiAtCXN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsICpuZXdfY3J0Y19zdGF0ZTsKPiAtCWlu dCBpOwo+IC0KPiAtCWZvcl9lYWNoX29sZG5ld19jb25uZWN0b3JfaW5fc3RhdGUob2xkX3N0YXRl LCBjb25uZWN0b3IsCj4gb2xkX2Nvbm5fc3RhdGUsIG5ld19jb25uX3N0YXRlLCBpKSB7Cj4gLQkJ Y29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcyAqZnVuY3M7Cj4gLQkJc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyOwo+IC0JCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2Ny dGNfc3RhdGU7Cj4gLQkJdW5zaWduZWQgaW50IGNydGNfaWR4Owo+IC0KPiAtCQkvKgo+IC0JCSAq IFNodXQgZG93biBldmVyeXRoaW5nIHRoYXQncyBpbiB0aGUgY2hhbmdlc2V0IGFuZAo+IGN1cnJl bnRseQo+IC0JCSAqIHN0aWxsIG9uLiBTbyBuZWVkIHRvIGNoZWNrIHRoZSBvbGQsIHNhdmVkIHN0 YXRlLgo+IC0JCSAqLwo+IC0JCWlmICghb2xkX2Nvbm5fc3RhdGUtPmNydGMpCj4gLQkJCWNvbnRp bnVlOwo+IC0KPiAtCQljcnRjX2lkeCA9IGRybV9jcnRjX2luZGV4KG9sZF9jb25uX3N0YXRlLT5j cnRjKTsKPiAtCQlvbGRfY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X29sZF9jcnRjX3N0YXRl KG9sZF9zdGF0ZSwKPiAtCj4gb2xkX2Nvbm5fc3RhdGUtPmNydGMpOwo+IC0KPiAtCQlpZiAoIW9s ZF9jcnRjX3N0YXRlLT5hY3RpdmUgfHwKPiAtCj4gIWRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rl c2V0KG9sZF9jb25uX3N0YXRlLT5jcnRjLT5zdGF0ZSkpCj4gLQkJCWNvbnRpbnVlOwo+IC0KPiAt CQllbmNvZGVyID0gb2xkX2Nvbm5fc3RhdGUtPmJlc3RfZW5jb2RlcjsKPiAtCj4gLQkJLyogV2Ug c2hvdWxkbid0IGdldCB0aGlzIGZhciBpZiB3ZSBkaWRuJ3QgcHJldmlvdXNseSBoYXZlCj4gLQkJ ICogYW4gZW5jb2Rlci4uIGJ1dCBXQVJOX09OKCkgcmF0aGVyIHRoYW4gZXhwbG9kZS4KPiAtCQkg Ki8KPiAtCQlpZiAoV0FSTl9PTighZW5jb2RlcikpCj4gLQkJCWNvbnRpbnVlOwo+IC0KPiAtCQlp ZiAobXNtX2lzX21vZGVfc2VhbWxlc3MoCj4gLQkJCSZjb25uZWN0b3ItPmVuY29kZXItPmNydGMt PnN0YXRlLT5tb2RlKSB8fAo+IC0JCQltc21faXNfbW9kZV9zZWFtbGVzc192cnIoCj4gLQkJCSZj b25uZWN0b3ItPmVuY29kZXItPmNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlKSkKPiAtCQkJY29u dGludWU7Cj4gLQo+IC0JCWlmIChtc21faXNfbW9kZV9zZWFtbGVzc19kbXMoCj4gLQkJCSZjb25u ZWN0b3ItPmVuY29kZXItPmNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlKSkKPiAtCQkJY29udGlu dWU7Cj4gLQo+IC0JCWZ1bmNzID0gZW5jb2Rlci0+aGVscGVyX3ByaXZhdGU7Cj4gLQo+IC0JCURS TV9ERUJVR19BVE9NSUMoImRpc2FibGluZyBbRU5DT0RFUjolZDolc11cbiIsCj4gLQkJCQkgZW5j b2Rlci0+YmFzZS5pZCwgZW5jb2Rlci0+bmFtZSk7Cj4gLQo+IC0JCS8qCj4gLQkJICogRWFjaCBl bmNvZGVyIGhhcyBhdCBtb3N0IG9uZSBjb25uZWN0b3IgKHNpbmNlIHdlIGFsd2F5cwo+IHN0ZWFs Cj4gLQkJICogaXQgYXdheSksIHNvIHdlIHdvbid0IGNhbGwgZGlzYWJsZSBob29rcyB0d2ljZS4K PiAtCQkgKi8KPiAtCQlkcm1fYnJpZGdlX2Rpc2FibGUoZW5jb2Rlci0+YnJpZGdlKTsKPiAtCj4g LQkJLyogUmlnaHQgZnVuY3Rpb24gZGVwZW5kcyB1cG9uIHRhcmdldCBzdGF0ZS4gKi8KPiAtCQlp ZiAobmV3X2Nvbm5fc3RhdGUtPmNydGMgJiYgZnVuY3MtPnByZXBhcmUpCj4gLQkJCWZ1bmNzLT5w cmVwYXJlKGVuY29kZXIpOwo+IC0JCWVsc2UgaWYgKGZ1bmNzLT5kaXNhYmxlKQo+IC0JCQlmdW5j cy0+ZGlzYWJsZShlbmNvZGVyKTsKPiAtCQllbHNlCj4gLQkJCWZ1bmNzLT5kcG1zKGVuY29kZXIs IERSTV9NT0RFX0RQTVNfT0ZGKTsKPiAtCj4gLQkJZHJtX2JyaWRnZV9wb3N0X2Rpc2FibGUoZW5j b2Rlci0+YnJpZGdlKTsKPiAtCX0KPiAtCj4gLQlmb3JfZWFjaF9vbGRuZXdfY3J0Y19pbl9zdGF0 ZShvbGRfc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLAo+IG5ld19jcnRjX3N0YXRlLCBpKSB7 Cj4gLQkJY29uc3Qgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyAqZnVuY3M7Cj4gLQo+IC0J CS8qIFNodXQgZG93biBldmVyeXRoaW5nIHRoYXQgbmVlZHMgYSBmdWxsIG1vZGVzZXQuICovCj4g LQkJaWYgKCFkcm1fYXRvbWljX2NydGNfbmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSkpCj4g LQkJCWNvbnRpbnVlOwo+IC0KPiAtCQlpZiAoIW9sZF9jcnRjX3N0YXRlLT5hY3RpdmUpCj4gLQkJ CWNvbnRpbnVlOwo+IC0KPiAtCQlpZiAobXNtX2lzX21vZGVfc2VhbWxlc3MoJmNydGMtPnN0YXRl LT5tb2RlKSB8fAo+IC0KPiBtc21faXNfbW9kZV9zZWFtbGVzc192cnIoJmNydGMtPnN0YXRlLT5h ZGp1c3RlZF9tb2RlKSkKPiAtCQkJY29udGludWU7Cj4gLQo+IC0JCWlmIChtc21faXNfbW9kZV9z ZWFtbGVzc19kbXMoJmNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlKSkKPiAtCQkJY29udGludWU7 Cj4gLQo+IC0JCWZ1bmNzID0gY3J0Yy0+aGVscGVyX3ByaXZhdGU7Cj4gLQo+IC0JCURSTV9ERUJV R19BVE9NSUMoImRpc2FibGluZyBbQ1JUQzolZF1cbiIsCj4gLQkJCQkgY3J0Yy0+YmFzZS5pZCk7 Cj4gLQo+IC0JCS8qIFJpZ2h0IGZ1bmN0aW9uIGRlcGVuZHMgdXBvbiB0YXJnZXQgc3RhdGUuICov Cj4gLQkJaWYgKG5ld19jcnRjX3N0YXRlLT5lbmFibGUgJiYgZnVuY3MtPnByZXBhcmUpCj4gLQkJ CWZ1bmNzLT5wcmVwYXJlKGNydGMpOwo+IC0JCWVsc2UgaWYgKGZ1bmNzLT5kaXNhYmxlKQo+IC0J CQlmdW5jcy0+ZGlzYWJsZShjcnRjKTsKPiAtCQllbHNlCj4gLQkJCWZ1bmNzLT5kcG1zKGNydGMs IERSTV9NT0RFX0RQTVNfT0ZGKTsKPiAtCX0KPiAtfQo+IC0KPiAtc3RhdGljIHZvaWQKPiAtbXNt X2NydGNfc2V0X21vZGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9hdG9taWNf c3RhdGUKPiAqb2xkX3N0YXRlKQo+IC17Cj4gLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4gLQlz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlOwo+IC0Jc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcjsKPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpuZXdfY29u bl9zdGF0ZTsKPiAtCWludCBpOwo+IC0KPiAtCWZvcl9lYWNoX25ld19jcnRjX2luX3N0YXRlKG9s ZF9zdGF0ZSwgY3J0YywgbmV3X2NydGNfc3RhdGUsIGkpIHsKPiAtCQljb25zdCBzdHJ1Y3QgZHJt X2NydGNfaGVscGVyX2Z1bmNzICpmdW5jczsKPiAtCj4gLQkJaWYgKCFuZXdfY3J0Y19zdGF0ZS0+ bW9kZV9jaGFuZ2VkKQo+IC0JCQljb250aW51ZTsKPiAtCj4gLQkJZnVuY3MgPSBjcnRjLT5oZWxw ZXJfcHJpdmF0ZTsKPiAtCj4gLQkJaWYgKG5ld19jcnRjX3N0YXRlLT5lbmFibGUgJiYgZnVuY3Mt Pm1vZGVfc2V0X25vZmIpIHsKPiAtCQkJRFJNX0RFQlVHX0FUT01JQygibW9kZXNldCBvbiBbQ1JU QzolZF1cbiIsCj4gLQkJCQkJIGNydGMtPmJhc2UuaWQpOwo+IC0KPiAtCQkJZnVuY3MtPm1vZGVf c2V0X25vZmIoY3J0Yyk7Cj4gLQkJfQo+IC0JfQo+IC0KPiAtCWZvcl9lYWNoX25ld19jb25uZWN0 b3JfaW5fc3RhdGUob2xkX3N0YXRlLCBjb25uZWN0b3IsCj4gbmV3X2Nvbm5fc3RhdGUsIGkpIHsK PiAtCQljb25zdCBzdHJ1Y3QgZHJtX2VuY29kZXJfaGVscGVyX2Z1bmNzICpmdW5jczsKPiAtCQlz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlOwo+IC0JCXN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlcjsKPiAtCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwgKmFkanVz dGVkX21vZGU7Cj4gLQo+IC0JCWlmICghbmV3X2Nvbm5fc3RhdGUtPmJlc3RfZW5jb2RlcikKPiAt CQkJY29udGludWU7Cj4gLQo+IC0JCWVuY29kZXIgPSBuZXdfY29ubl9zdGF0ZS0+YmVzdF9lbmNv ZGVyOwo+IC0JCWZ1bmNzID0gZW5jb2Rlci0+aGVscGVyX3ByaXZhdGU7Cj4gLQkJbmV3X2NydGNf c3RhdGUgPSBuZXdfY29ubl9zdGF0ZS0+Y3J0Yy0+c3RhdGU7Cj4gLQkJbW9kZSA9ICZuZXdfY3J0 Y19zdGF0ZS0+bW9kZTsKPiAtCQlhZGp1c3RlZF9tb2RlID0gJm5ld19jcnRjX3N0YXRlLT5hZGp1 c3RlZF9tb2RlOwo+IC0KPiAtCQlpZiAoIW5ld19jcnRjX3N0YXRlLT5tb2RlX2NoYW5nZWQpCj4g LQkJCWNvbnRpbnVlOwo+IC0KPiAtCQlEUk1fREVCVUdfQVRPTUlDKCJtb2Rlc2V0IG9uIFtFTkNP REVSOiVkOiVzXVxuIiwKPiAtCQkJCSBlbmNvZGVyLT5iYXNlLmlkLCBlbmNvZGVyLT5uYW1lKTsK PiAtCj4gLQkJLyoKPiAtCQkgKiBFYWNoIGVuY29kZXIgaGFzIGF0IG1vc3Qgb25lIGNvbm5lY3Rv ciAoc2luY2Ugd2UgYWx3YXlzCj4gc3RlYWwKPiAtCQkgKiBpdCBhd2F5KSwgc28gd2Ugd29uJ3Qg Y2FsbCBtb2RlX3NldCBob29rcyB0d2ljZS4KPiAtCQkgKi8KPiAtCQlpZiAoZnVuY3MtPm1vZGVf c2V0KQo+IC0JCQlmdW5jcy0+bW9kZV9zZXQoZW5jb2RlciwgbW9kZSwgYWRqdXN0ZWRfbW9kZSk7 Cj4gLQo+IC0JCWRybV9icmlkZ2VfbW9kZV9zZXQoZW5jb2Rlci0+YnJpZGdlLCBtb2RlLCBhZGp1 c3RlZF9tb2RlKTsKPiAtCX0KPiAtfQo+IC0KPiAtLyoqCj4gLSAqIG1zbV9hdG9taWNfaGVscGVy X2NvbW1pdF9tb2Rlc2V0X2Rpc2FibGVzIC0gbW9kZXNldCBjb21taXQgdG8gCj4gZGlzYWJsZQo+ IG91dHB1dHMKPiAtICogQGRldjogRFJNIGRldmljZQo+IC0gKiBAb2xkX3N0YXRlOiBhdG9taWMg c3RhdGUgb2JqZWN0IHdpdGggb2xkIHN0YXRlIHN0cnVjdHVyZXMKPiAtICoKPiAtICogVGhpcyBm dW5jdGlvbiBzaHV0cyBkb3duIGFsbCB0aGUgb3V0cHV0cyB0aGF0IG5lZWQgdG8gYmUgc2h1dCBk b3duIAo+IGFuZAo+IC0gKiBwcmVwYXJlcyB0aGVtIChpZiByZXF1aXJlZCkgd2l0aCB0aGUgbmV3 IG1vZGUuCj4gLSAqCj4gLSAqIEZvciBjb21wYXRpYmlsaXR5IHdpdGggbGVnYWN5IGNydGMgaGVs cGVycyB0aGlzIHNob3VsZCBiZSBjYWxsZWQKPiBiZWZvcmUKPiAtICogZHJtX2F0b21pY19oZWxw ZXJfY29tbWl0X3BsYW5lcygpLCB3aGljaCBpcyB3aGF0IHRoZSBkZWZhdWx0IGNvbW1pdAo+IGZ1 bmN0aW9uCj4gLSAqIGRvZXMuIEJ1dCBkcml2ZXJzIHdpdGggZGlmZmVyZW50IG5lZWRzIGNhbiBn cm91cCB0aGUgbW9kZXNldCAKPiBjb21taXRzCj4gdG9nZXRoZXIKPiAtICogYW5kIGRvIHRoZSBw bGFuZSBjb21taXRzIGF0IHRoZSBlbmQuIFRoaXMgaXMgdXNlZnVsIGZvciBkcml2ZXJzIAo+IGRv aW5nCj4gcnVudGltZQo+IC0gKiBQTSBzaW5jZSBwbGFuZXMgdXBkYXRlcyB0aGVuIG9ubHkgaGFw cGVuIHdoZW4gdGhlIENSVEMgaXMgYWN0dWFsbHkKPiBlbmFibGVkLgo+IC0gKi8KPiAtdm9pZCBt c21fYXRvbWljX2hlbHBlcl9jb21taXRfbW9kZXNldF9kaXNhYmxlcyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+IC0JCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCj4gLXsKPiAt CW1zbV9kaXNhYmxlX291dHB1dHMoZGV2LCBvbGRfc3RhdGUpOwo+IC0KPiAtCWRybV9hdG9taWNf aGVscGVyX3VwZGF0ZV9sZWdhY3lfbW9kZXNldF9zdGF0ZShkZXYsIG9sZF9zdGF0ZSk7Cj4gLQo+ IC0JbXNtX2NydGNfc2V0X21vZGUoZGV2LCBvbGRfc3RhdGUpOwo+IC19Cj4gLQo+ICAvKioKPiAg ICogbXNtX2F0b21pY19oZWxwZXJfY29tbWl0X21vZGVzZXRfZW5hYmxlcyAtIG1vZGVzZXQgY29t bWl0IHRvIGVuYWJsZQo+IG91dHB1dHMKPiAgICogQGRldjogRFJNIGRldmljZQo+IEBAIC00MDYs NyArMjIzLDcgQEAgc3RhdGljIHZvaWQgY29tcGxldGVfY29tbWl0KHN0cnVjdCBtc21fY29tbWl0 ICpjKQo+IAo+ICAJa21zLT5mdW5jcy0+cHJlcGFyZV9jb21taXQoa21zLCBzdGF0ZSk7Cj4gCj4g LQltc21fYXRvbWljX2hlbHBlcl9jb21taXRfbW9kZXNldF9kaXNhYmxlcyhkZXYsIHN0YXRlKTsK PiArCWRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9tb2Rlc2V0X2Rpc2FibGVzKGRldiwgc3RhdGUp Owo+IAo+ICAJZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3BsYW5lcyhkZXYsIHN0YXRlLCAwKTsK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==