From mboxrd@z Thu Jan 1 00:00:00 1970 From: Abhinav Kumar Subject: [DPU PATCH] drm/msm: remove support for seamless modes Date: Tue, 12 Jun 2018 17:49:03 -0700 Message-ID: <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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, Abhinav Kumar , hoegsberg@google.com, chandanu@codeaurora.org List-Id: linux-arm-msm@vger.kernel.org U2VhbWxlc3MgbW9kZXMgYXJlIG9uZXMgd2hpY2ggZG8gbm90IHJlcXVpcmUgYSBkaXNwbGF5CnRv IGJlIHR1cm5lZCBPRkYvT04gYmV0d2VlbiBtb2RlIHN3aXRjaGVzLgoKUmVtb3ZlIHN1cHBvcnQg Zm9yIHNlYW1sZXNzIG1vZGVzIGZyb20gRFBVIGZvciBub3cuCgpUaGlzIHdpbGwgYmUgYWRkZWQg bGF0ZXIgYmFzZWQgb24gYWRkaXRpb25hbCByZXF1aXJlbWVudHMuCgpUaGlzIGNoYW5nZSBkZXBl bmRzIG9uIHRoZSBEUFUgY3VzdG9tIHByb3BlcnR5IHJlbW92YWwgc2VyaWVzOgogLSBodHRwczov L3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvc2VyaWVzLzQ0NTkyLwoKU2lnbmVkLW9mZi1ieTog QWJoaW5hdiBLdW1hciA8YWJoaW5hdmtAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyAgICB8ICAzMSAtLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYyB8IDEwNiArLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9rbXMuaCAgICAgICAgICAgICAg IHwgIDQ0IC0tLS0tLS0tLS0tLQogaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICAgICAg ICAgICAgICB8ICAgMSAtCiA0IGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMTc5IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCmluZGV4 IDQ2MTZhNjIuLjljYTgzMjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Ny dGMuYwpAQCAtNTkxLDIyICs1OTEsNiBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19kZXN0cm95KHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlrZnJlZShkcHVfY3J0Yyk7CiB9CiAKLXN0YXRpYyBib29s IGRwdV9jcnRjX21vZGVfZml4dXAoc3RydWN0IGRybV9jcnRjICpjcnRjLAotCQljb25zdCBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKLQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFk anVzdGVkX21vZGUpCi17Ci0JRFBVX0RFQlVHKCJcbiIpOwotCi0JaWYgKChtc21faXNfbW9kZV9z ZWFtbGVzcyhhZGp1c3RlZF9tb2RlKSB8fAotCQkJbXNtX2lzX21vZGVfc2VhbWxlc3NfdnJyKGFk anVzdGVkX21vZGUpKSAmJgotCQkoIWNydGMtPmVuYWJsZWQpKSB7Ci0JCURQVV9FUlJPUigiY3J0 YyBzdGF0ZSBwcmV2ZW50cyBzZWFtbGVzcyB0cmFuc2l0aW9uXG4iKTsKLQkJcmV0dXJuIGZhbHNl OwotCX0KLQotCXJldHVybiB0cnVlOwotfQotCiBzdGF0aWMgdm9pZCBfZHB1X2NydGNfc2V0dXBf YmxlbmRfY2ZnKHN0cnVjdCBkcHVfY3J0Y19taXhlciAqbWl4ZXIsCiAJCXN0cnVjdCBkcHVfcGxh bmVfc3RhdGUgKnBzdGF0ZSkKIHsKQEAgLTE3MjgsMTIgKzE3MTIsNiBAQCBzdGF0aWMgdm9pZCBk cHVfY3J0Y19kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAltb2RlID0gJmNzdGF0ZS0+ YmFzZS5hZGp1c3RlZF9tb2RlOwogCXByaXYgPSBjcnRjLT5kZXYtPmRldl9wcml2YXRlOwogCi0J aWYgKG1zbV9pc19tb2RlX3NlYW1sZXNzKG1vZGUpIHx8IG1zbV9pc19tb2RlX3NlYW1sZXNzX3Zy cihtb2RlKSB8fAotCSAgICBtc21faXNfbW9kZV9zZWFtbGVzc19kbXMobW9kZSkpIHsKLQkJRFBV X0RFQlVHKCJTZWFtbGVzcyBtb2RlIGlzIGJlaW5nIGFwcGxpZWQsIHNraXAgZGlzYWJsZVxuIik7 Ci0JCXJldHVybjsKLQl9Ci0KIAlEUFVfREVCVUcoImNydGMlZFxuIiwgY3J0Yy0+YmFzZS5pZCk7 CiAKIAlpZiAoZHB1X2ttc19pc19zdXNwZW5kX3N0YXRlKGNydGMtPmRldikpCkBAIC0xODE3LDEy ICsxNzk1LDYgQEAgc3RhdGljIHZvaWQgZHB1X2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIAlEUFVfRVZUMzJfVkVSQk9TRShEUk1JRChjcnRjKSk7CiAJZHB1X2NydGMgPSB0b19k cHVfY3J0YyhjcnRjKTsKIAotCWlmIChtc21faXNfbW9kZV9zZWFtbGVzcygmY3J0Yy0+c3RhdGUt PmFkanVzdGVkX21vZGUpIHx8Ci0JICAgIG1zbV9pc19tb2RlX3NlYW1sZXNzX3ZycigmY3J0Yy0+ c3RhdGUtPmFkanVzdGVkX21vZGUpKSB7Ci0JCURQVV9ERUJVRygiU2tpcHBpbmcgY3J0YyBlbmFi bGUsIHNlYW1sZXNzIG1vZGVcbiIpOwotCQlyZXR1cm47Ci0JfQotCiAJZHJtX2Zvcl9lYWNoX2Vu Y29kZXIoZW5jb2RlciwgY3J0Yy0+ZGV2KSB7CiAJCWlmIChlbmNvZGVyLT5jcnRjICE9IGNydGMp CiAJCQljb250aW51ZTsKQEAgLTE4NTcsOCArMTgyOSw2IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRj X2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCURQVV9QT1dFUl9FVkVOVF9QUkVfRElT QUJMRSwKIAkJZHB1X2NydGNfaGFuZGxlX3Bvd2VyX2V2ZW50LCBjcnRjLCBkcHVfY3J0Yy0+bmFt ZSk7CiAKLQlpZiAobXNtX25lZWRzX3ZibGFua19wcmVfbW9kZXNldCgmY3J0Yy0+c3RhdGUtPmFk anVzdGVkX21vZGUpKQotCQlkcm1fY3J0Y193YWl0X29uZV92YmxhbmsoY3J0Yyk7CiB9CiAKIHN0 cnVjdCBwbGFuZV9zdGF0ZSB7CkBAIC0yNDk3LDcgKzI0NjcsNiBAQCBzdGF0aWMgdm9pZCBkcHVf Y3J0Y19lYXJseV91bnJlZ2lzdGVyKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIH07CiAKIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIGRwdV9jcnRjX2hlbHBlcl9mdW5j cyA9IHsKLQkubW9kZV9maXh1cCA9IGRwdV9jcnRjX21vZGVfZml4dXAsCiAJLmRpc2FibGUgPSBk cHVfY3J0Y19kaXNhYmxlLAogCS5hdG9taWNfZW5hYmxlID0gZHB1X2NydGNfZW5hYmxlLAogCS5h dG9taWNfY2hlY2sgPSBkcHVfY3J0Y19hdG9taWNfY2hlY2ssCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jIGIvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwppbmRleCA3ZGQ2MDljLi4xMWExMDQ1IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKQEAgLTk2LDE1ICs5Niw2 IEBACiAgKglJRExFIGlzIGV4cGVjdGVkIHdoZW4gSURMRV9QQyBoYXMgcnVuLCBhbmQgUFJFX09G RiBkaWQgbm90aGluZy4KICAqCVBSRV9PRkYgaXMgZXhwZWN0ZWQgd2hlbiBQUkVfU1RPUCB3YXMg ZXhlY3V0ZWQgZHVyaW5nIHRoZSBPTiBzdGF0ZS4KICAqCVJlc291cmNlIHN0YXRlIHNob3VsZCBi ZSBpbiBPRkYgYXQgdGhlIGVuZCBvZiB0aGUgZXZlbnQuCi0gKiBARFBVX0VOQ19SQ19FVkVOVF9Q UkVfTU9ERVNFVDoKLSAqCVRoaXMgZXZlbnQgaGFwcGVucyBhdCBOT1JNQUwgcHJpb3JpdHkgZnJv bSBhIHdvcmsgaXRlbS4KLSAqCUV2ZW50IHNpZ25hbHMgdGhhdCB0aGVyZSBpcyBhIHNlYW1sZXNz IG1vZGUgc3dpdGNoIGlzIGluIHByZ29yZXNzLiBBCi0gKgljbGllbnQgbmVlZHMgdG8gdHVybiBv ZiBvbmx5IGlycSAtIGxlYXZlIGNsb2NrcyBPTiB0byByZWR1Y2UgdGhlIG1vZGUKLSAqCXN3aXRj aCBsYXRlbmN5LgotICogQERQVV9FTkNfUkNfRVZFTlRfUE9TVF9NT0RFU0VUOgotICoJVGhpcyBl dmVudCBoYXBwZW5zIGF0IE5PUk1BTCBwcmlvcml0eSBmcm9tIGEgd29yayBpdGVtLgotICoJRXZl bnQgc2lnbmFscyB0aGF0IHNlYW1sZXNzIG1vZGUgc3dpdGNoIGlzIGNvbXBsZXRlIGFuZCByZXNv dXJjZXMgYXJlCi0gKglhY3F1aXJlZC4gQ2xpZW50cyB3YW50cyB0byB0dXJuIG9uIHRoZSBpcnEg YWdhaW4uCiAgKiBARFBVX0VOQ19SQ19FVkVOVF9FTlRFUl9JRExFOgogICoJVGhpcyBldmVudCBo YXBwZW5zIGF0IE5PUk1BTCBwcmlvcml0eSBmcm9tIGEgd29yayBpdGVtLgogICoJRXZlbnQgc2ln bmFscyB0aGF0IHRoZXJlIHdlcmUgbm8gZnJhbWUgdXBkYXRlcyBmb3IgSURMRV9USU1FT1VUIHRp bWUuCkBAIC0xMTYsOCArMTA3LDYgQEAgZW51bSBkcHVfZW5jX3JjX2V2ZW50cyB7CiAJRFBVX0VO Q19SQ19FVkVOVF9GUkFNRV9ET05FLAogCURQVV9FTkNfUkNfRVZFTlRfUFJFX1NUT1AsCiAJRFBV X0VOQ19SQ19FVkVOVF9TVE9QLAotCURQVV9FTkNfUkNfRVZFTlRfUFJFX01PREVTRVQsCi0JRFBV X0VOQ19SQ19FVkVOVF9QT1NUX01PREVTRVQsCiAJRFBVX0VOQ19SQ19FVkVOVF9FTlRFUl9JRExF CiB9OwogCkBAIC0xMzMsNyArMTIyLDYgQEAgZW51bSBkcHVfZW5jX3JjX3N0YXRlcyB7CiAJRFBV X0VOQ19SQ19TVEFURV9PRkYsCiAJRFBVX0VOQ19SQ19TVEFURV9QUkVfT0ZGLAogCURQVV9FTkNf UkNfU1RBVEVfT04sCi0JRFBVX0VOQ19SQ19TVEFURV9NT0RFU0VULAogCURQVV9FTkNfUkNfU1RB VEVfSURMRQogfTsKIApAQCAtODA5LDcgKzc5Nyw2IEBAIHN0YXRpYyBpbnQgZHB1X2VuY29kZXJf cmVzb3VyY2VfY29udHJvbChzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMsCiAJc3RydWN0IGRw dV9lbmNvZGVyX3ZpcnQgKmRwdV9lbmM7CiAJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdjsK IAlzdHJ1Y3QgbXNtX2RybV90aHJlYWQgKmRpc3BfdGhyZWFkOwotCWludCByZXQ7CiAJYm9vbCBp c192aWRfbW9kZSA9IGZhbHNlOwogCiAJaWYgKCFkcm1fZW5jIHx8ICFkcm1fZW5jLT5kZXYgfHwg IWRybV9lbmMtPmRldi0+ZGV2X3ByaXZhdGUgfHwKQEAgLTgzNCw4ICs4MjEsNiBAQCBzdGF0aWMg aW50IGRwdV9lbmNvZGVyX3Jlc291cmNlX2NvbnRyb2woc3RydWN0IGRybV9lbmNvZGVyICpkcm1f ZW5jLAogCSAqLwogCWlmICghZHB1X2VuYy0+aWRsZV9wY19zdXBwb3J0ZWQgJiYKIAkJCShzd19l dmVudCAhPSBEUFVfRU5DX1JDX0VWRU5UX0tJQ0tPRkYgJiYKLQkJCXN3X2V2ZW50ICE9IERQVV9F TkNfUkNfRVZFTlRfUFJFX01PREVTRVQgJiYKLQkJCXN3X2V2ZW50ICE9IERQVV9FTkNfUkNfRVZF TlRfUE9TVF9NT0RFU0VUICYmCiAJCQlzd19ldmVudCAhPSBEUFVfRU5DX1JDX0VWRU5UX1NUT1Ag JiYKIAkJCXN3X2V2ZW50ICE9IERQVV9FTkNfUkNfRVZFTlRfUFJFX1NUT1ApKQogCQlyZXR1cm4g MDsKQEAgLTk2Niw4ICs5NTEsNyBAQCBzdGF0aWMgaW50IGRwdV9lbmNvZGVyX3Jlc291cmNlX2Nv bnRyb2woc3RydWN0IGRybV9lbmNvZGVyICpkcm1fZW5jLAogCQkJCURQVV9FVlRMT0dfRlVOQ19D QVNFNCk7CiAJCQltdXRleF91bmxvY2soJmRwdV9lbmMtPnJjX2xvY2spOwogCQkJcmV0dXJuIDA7 Ci0JCX0gZWxzZSBpZiAoZHB1X2VuYy0+cmNfc3RhdGUgPT0gRFBVX0VOQ19SQ19TVEFURV9PTiB8 fAotCQkJICAgZHB1X2VuYy0+cmNfc3RhdGUgPT0gRFBVX0VOQ19SQ19TVEFURV9NT0RFU0VUKSB7 CisJCX0gZWxzZSBpZiAoZHB1X2VuYy0+cmNfc3RhdGUgPT0gRFBVX0VOQ19SQ19TVEFURV9PTikg ewogCQkJRFBVX0VSUk9SX0VOQyhkcHVfZW5jLCAic3dfZXZlbnQ6JWQsIHJjIGluIHN0YXRlICVk XG4iLAogCQkJCQlzd19ldmVudCwgZHB1X2VuYy0+cmNfc3RhdGUpOwogCQkJRFBVX0VWVDMyKERS TUlEKGRybV9lbmMpLCBzd19ldmVudCwgZHB1X2VuYy0+cmNfc3RhdGUsCkBAIC05OTEsNjkgKzk3 NSw2IEBAIHN0YXRpYyBpbnQgZHB1X2VuY29kZXJfcmVzb3VyY2VfY29udHJvbChzdHJ1Y3QgZHJt X2VuY29kZXIgKmRybV9lbmMsCiAJCW11dGV4X3VubG9jaygmZHB1X2VuYy0+cmNfbG9jayk7CiAJ CWJyZWFrOwogCi0JY2FzZSBEUFVfRU5DX1JDX0VWRU5UX1BSRV9NT0RFU0VUOgotCQkvKiBjYW5j ZWwgZGVsYXllZCBvZmYgd29yaywgaWYgYW55ICovCi0JCWlmIChrdGhyZWFkX2NhbmNlbF9kZWxh eWVkX3dvcmtfc3luYygKLQkJCQkmZHB1X2VuYy0+ZGVsYXllZF9vZmZfd29yaykpCi0JCQlEUFVf REVCVUdfRU5DKGRwdV9lbmMsICJzd19ldmVudDolZCwgd29yayBjYW5jZWxsZWRcbiIsCi0JCQkJ CXN3X2V2ZW50KTsKLQotCQltdXRleF9sb2NrKCZkcHVfZW5jLT5yY19sb2NrKTsKLQotCQkvKiBy ZXR1cm4gaWYgdGhlIHJlc291cmNlIGNvbnRyb2wgaXMgYWxyZWFkeSBpbiBPTiBzdGF0ZSAqLwot CQlpZiAoZHB1X2VuYy0+cmNfc3RhdGUgIT0gRFBVX0VOQ19SQ19TVEFURV9PTikgewotCQkJLyog ZW5hYmxlIGFsbCB0aGUgY2xrcyBhbmQgcmVzb3VyY2VzICovCi0JCQlfZHB1X2VuY29kZXJfcmVz b3VyY2VfY29udHJvbF9oZWxwZXIoZHJtX2VuYywgdHJ1ZSk7Ci0KLQkJCURQVV9FVlQzMihEUk1J RChkcm1fZW5jKSwgc3dfZXZlbnQsIGRwdV9lbmMtPnJjX3N0YXRlLAotCQkJCURQVV9FTkNfUkNf U1RBVEVfT04sIERQVV9FVlRMT0dfRlVOQ19DQVNFNSk7Ci0JCQlkcHVfZW5jLT5yY19zdGF0ZSA9 IERQVV9FTkNfUkNfU1RBVEVfT047Ci0JCX0KLQotCQlyZXQgPSBkcHVfZW5jb2Rlcl93YWl0X2Zv cl9ldmVudChkcm1fZW5jLCBNU01fRU5DX1RYX0NPTVBMRVRFKTsKLQkJaWYgKHJldCAmJiByZXQg IT0gLUVXT1VMREJMT0NLKSB7Ci0JCQlEUFVfRVJST1JfRU5DKGRwdV9lbmMsCi0JCQkJCSJ3YWl0 IGZvciBjb21taXQgZG9uZSByZXR1cm5lZCAlZFxuIiwKLQkJCQkJcmV0KTsKLQkJCURQVV9FVlQz MihEUk1JRChkcm1fZW5jKSwgc3dfZXZlbnQsIGRwdV9lbmMtPnJjX3N0YXRlLAotCQkJCQlyZXQs IERQVV9FVlRMT0dfRVJST1IpOwotCQkJbXV0ZXhfdW5sb2NrKCZkcHVfZW5jLT5yY19sb2NrKTsK LQkJCXJldHVybiAtRUlOVkFMOwotCQl9Ci0KLQkJX2RwdV9lbmNvZGVyX2lycV9jb250cm9sKGRy bV9lbmMsIGZhbHNlKTsKLQotCQlEUFVfRVZUMzIoRFJNSUQoZHJtX2VuYyksIHN3X2V2ZW50LCBk cHVfZW5jLT5yY19zdGF0ZSwKLQkJCURQVV9FTkNfUkNfU1RBVEVfTU9ERVNFVCwgRFBVX0VWVExP R19GVU5DX0NBU0U1KTsKLQotCQlkcHVfZW5jLT5yY19zdGF0ZSA9IERQVV9FTkNfUkNfU1RBVEVf TU9ERVNFVDsKLQkJbXV0ZXhfdW5sb2NrKCZkcHVfZW5jLT5yY19sb2NrKTsKLQkJYnJlYWs7Ci0K LQljYXNlIERQVV9FTkNfUkNfRVZFTlRfUE9TVF9NT0RFU0VUOgotCQltdXRleF9sb2NrKCZkcHVf ZW5jLT5yY19sb2NrKTsKLQotCQkvKiByZXR1cm4gaWYgdGhlIHJlc291cmNlIGNvbnRyb2wgaXMg YWxyZWFkeSBpbiBPTiBzdGF0ZSAqLwotCQlpZiAoZHB1X2VuYy0+cmNfc3RhdGUgIT0gRFBVX0VO Q19SQ19TVEFURV9NT0RFU0VUKSB7Ci0JCQlEUFVfRVJST1JfRU5DKGRwdV9lbmMsCi0JCQkJCSJz d19ldmVudDolZCwgcmM6JWQgIU1PREVTRVQgc3RhdGVcbiIsCi0JCQkJCXN3X2V2ZW50LCBkcHVf ZW5jLT5yY19zdGF0ZSk7Ci0JCQlEUFVfRVZUMzIoRFJNSUQoZHJtX2VuYyksIHN3X2V2ZW50LCBk cHVfZW5jLT5yY19zdGF0ZSwKLQkJCQkJRFBVX0VWVExPR19FUlJPUik7Ci0JCQltdXRleF91bmxv Y2soJmRwdV9lbmMtPnJjX2xvY2spOwotCQkJcmV0dXJuIC1FSU5WQUw7Ci0JCX0KLQotCQlfZHB1 X2VuY29kZXJfaXJxX2NvbnRyb2woZHJtX2VuYywgdHJ1ZSk7Ci0KLQkJRFBVX0VWVDMyKERSTUlE KGRybV9lbmMpLCBzd19ldmVudCwgZHB1X2VuYy0+cmNfc3RhdGUsCi0JCQkJRFBVX0VOQ19SQ19T VEFURV9PTiwgRFBVX0VWVExPR19GVU5DX0NBU0U2KTsKLQotCQlkcHVfZW5jLT5yY19zdGF0ZSA9 IERQVV9FTkNfUkNfU1RBVEVfT047Ci0KLQkJbXV0ZXhfdW5sb2NrKCZkcHVfZW5jLT5yY19sb2Nr KTsKLQkJYnJlYWs7Ci0KIAljYXNlIERQVV9FTkNfUkNfRVZFTlRfRU5URVJfSURMRToKIAkJbXV0 ZXhfbG9jaygmZHB1X2VuYy0+cmNfbG9jayk7CiAKQEAgLTExODAsMTEgKzExMDEsNiBAQCBzdGF0 aWMgdm9pZCBkcHVfZW5jb2Rlcl92aXJ0X21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZHJt X2VuYywKIAkJfQogCX0KIAotCS8qIHVwZGF0ZSByZXNvdXJjZXMgYWZ0ZXIgc2VhbWxlc3MgbW9k ZSBjaGFuZ2UgKi8KLQlpZiAobXNtX2lzX21vZGVfc2VhbWxlc3NfZG1zKGFkal9tb2RlKSkKLQkJ ZHB1X2VuY29kZXJfcmVzb3VyY2VfY29udHJvbCgmZHB1X2VuYy0+YmFzZSwKLQkJCQkJCURQVV9F TkNfUkNfRVZFTlRfUE9TVF9NT0RFU0VUKTsKLQogCWRwdV9lbmMtPm1vZGVfc2V0X2NvbXBsZXRl ID0gdHJ1ZTsKIH0KIApAQCAtMTI5NywxNSArMTIxMyw3IEBAIHN0YXRpYyB2b2lkIGRwdV9lbmNv ZGVyX3ZpcnRfZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYykKIAkJCWNvbnRpbnVl OwogCiAJCWlmIChwaHlzICE9IGRwdV9lbmMtPmN1cl9tYXN0ZXIpIHsKLQkJCS8qKgotCQkJICog b24gRE1TIHJlcXVlc3QsIHRoZSBlbmNvZGVyIHdpbGwgYmUgZW5hYmxlZAotCQkJICogYWxyZWFk eS4gSW52b2tlIHJlc3RvcmUgdG8gcmVjb25maWd1cmUgdGhlCi0JCQkgKiBuZXcgbW9kZS4KLQkJ CSAqLwotCQkJaWYgKG1zbV9pc19tb2RlX3NlYW1sZXNzX2RtcyhjdXJfbW9kZSkgJiYKLQkJCQkJ cGh5cy0+b3BzLnJlc3RvcmUpCi0JCQkJcGh5cy0+b3BzLnJlc3RvcmUocGh5cyk7Ci0JCQllbHNl IGlmIChwaHlzLT5vcHMuZW5hYmxlKQorCQkJaWYgKHBoeXMtPm9wcy5lbmFibGUpCiAJCQkJcGh5 cy0+b3BzLmVuYWJsZShwaHlzKTsKIAkJfQogCkBAIC0xMzE1LDEwICsxMjIzLDcgQEAgc3RhdGlj IHZvaWQgZHB1X2VuY29kZXJfdmlydF9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICpkcm1fZW5j KQogCQkJCQkJZHB1X2VuYy0+bWlzcl9mcmFtZV9jb3VudCk7CiAJfQogCi0JaWYgKG1zbV9pc19t b2RlX3NlYW1sZXNzX2RtcyhjdXJfbW9kZSkgJiYKLQkJCWRwdV9lbmMtPmN1cl9tYXN0ZXItPm9w cy5yZXN0b3JlKQotCQlkcHVfZW5jLT5jdXJfbWFzdGVyLT5vcHMucmVzdG9yZShkcHVfZW5jLT5j dXJfbWFzdGVyKTsKLQllbHNlIGlmIChkcHVfZW5jLT5jdXJfbWFzdGVyLT5vcHMuZW5hYmxlKQor CWlmIChkcHVfZW5jLT5jdXJfbWFzdGVyLT5vcHMuZW5hYmxlKQogCQlkcHVfZW5jLT5jdXJfbWFz dGVyLT5vcHMuZW5hYmxlKGRwdV9lbmMtPmN1cl9tYXN0ZXIpOwogCiAJX2RwdV9lbmNvZGVyX3Zp cnRfZW5hYmxlX2hlbHBlcihkcm1fZW5jKTsKQEAgLTEzNDQsMTEgKzEyNDksNiBAQCBzdGF0aWMg dm9pZCBkcHVfZW5jb2Rlcl92aXJ0X2Rpc2FibGUoc3RydWN0IGRybV9lbmNvZGVyICpkcm1fZW5j KQogCX0KIAogCW1vZGUgPSAmZHJtX2VuYy0+Y3J0Yy0+c3RhdGUtPmFkanVzdGVkX21vZGU7Ci0J aWYgKG1zbV9pc19tb2RlX3NlYW1sZXNzKG1vZGUpIHx8IG1zbV9pc19tb2RlX3NlYW1sZXNzX3Zy cihtb2RlKSB8fAotCSAgICBtc21faXNfbW9kZV9zZWFtbGVzc19kbXMobW9kZSkpIHsKLQkJRFBV X0RFQlVHKCJTZWFtbGVzcyBtb2RlIGlzIGJlaW5nIGFwcGxpZWQsIHNraXAgZGlzYWJsZVxuIik7 Ci0JCXJldHVybjsKLQl9CiAKIAlkcHVfZW5jID0gdG9fZHB1X2VuY29kZXJfdmlydChkcm1fZW5j KTsKIAlEUFVfREVCVUdfRU5DKGRwdV9lbmMsICJcbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21zbS9tc21fa21zLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9rbXMuaAppbmRl eCA1ZTFkZTg1Li40NTQ0ZDBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9r bXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9rbXMuaApAQCAtMjYsMTkgKzI2LDYg QEAKIAogI2RlZmluZSBNQVhfUExBTkUJNAogCi0vKioKLSAqIERldmljZSBQcml2YXRlIERSTSBN b2RlIEZsYWdzCi0gKiBkcm1fbW9kZS0+cHJpdmF0ZV9mbGFncwotICovCi0vKiBDb25uZWN0b3Ig aGFzIGludGVycHJldGVkIHNlYW1sZXNzIHRyYW5zaXRpb24gcmVxdWVzdCBhcyBkeW5hbWljIGZw cyAqLwotI2RlZmluZSBNU01fTU9ERV9GTEFHX1NFQU1MRVNTX0RZTkFNSUNfRlBTCSgxPDwwKQot LyogVHJhbnNpdGlvbiB0byBuZXcgbW9kZSByZXF1aXJlcyBhIHdhaXQtZm9yLXZibGFuayBiZWZv cmUgdGhlIG1vZGVzZXQgKi8KLSNkZWZpbmUgTVNNX01PREVfRkxBR19WQkxBTktfUFJFX01PREVT RVQJKDE8PDEpCi0vKiBSZXF1ZXN0IHRvIHN3aXRjaCB0aGUgY29ubmVjdG9yIG1vZGUgKi8KLSNk ZWZpbmUgTVNNX01PREVfRkxBR19TRUFNTEVTU19ETVMJCQkoMTw8MikKLS8qIFJlcXVlc3QgdG8g c3dpdGNoIHRoZSBmcHMgKi8KLSNkZWZpbmUgTVNNX01PREVfRkxBR19TRUFNTEVTU19WUlIJCQko MTw8MykKLQogLyogQXMgdGhlcmUgYXJlIGRpZmZlcmVudCBkaXNwbGF5IGNvbnRyb2xsZXIgYmxv Y2tzIGRlcGVuZGluZyBvbiB0aGUKICAqIHNuYXBkcmFnb24gdmVyc2lvbiwgdGhlIGttcyBzdXBw b3J0IGlzIHNwbGl0IG91dCBhbmQgdGhlIGFwcHJvcHJpYXRlCiAgKiBpbXBsZW1lbnRhdGlvbiBp cyBsb2FkZWQgYXQgcnVudGltZS4gIFRoZSBrbXMgbW9kdWxlIGlzIHJlc3BvbnNpYmxlCkBAIC0x NDYsMzUgKzEzMyw0IEBAIHN0cnVjdCBtc21fbWRzcyB7CiBpbnQgbWRwNV9tZHNzX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7CiBpbnQgZHB1X21kc3NfaW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KTsKIAotLyoqCi0gKiBNb2RlIFNldCBVdGlsaXR5IEZ1bmN0aW9ucwotICovCi1zdGF0 aWMgaW5saW5lIGJvb2wgbXNtX2lzX21vZGVfc2VhbWxlc3MoY29uc3Qgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUpCi17Ci0JcmV0dXJuIChtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdf U0VBTUxFU1MpOwotfQotCi1zdGF0aWMgaW5saW5lIGJvb2wgbXNtX2lzX21vZGVfc2VhbWxlc3Nf ZG1zKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQotewotCXJldHVybiBtb2Rl ID8gKG1vZGUtPnByaXZhdGVfZmxhZ3MgJiBNU01fTU9ERV9GTEFHX1NFQU1MRVNTX0RNUykKLQkJ OiBmYWxzZTsKLX0KLQotc3RhdGljIGlubGluZSBib29sIG1zbV9pc19tb2RlX2R5bmFtaWNfZnBz KGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQotewotCXJldHVybiAoKG1vZGUt PmZsYWdzICYgRFJNX01PREVfRkxBR19TRUFNTEVTUykgJiYKLQkJKG1vZGUtPnByaXZhdGVfZmxh Z3MgJiBNU01fTU9ERV9GTEFHX1NFQU1MRVNTX0RZTkFNSUNfRlBTKSk7Ci19Ci0KLXN0YXRpYyBp bmxpbmUgYm9vbCBtc21faXNfbW9kZV9zZWFtbGVzc192cnIoY29uc3Qgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUpCi17Ci0JcmV0dXJuIG1vZGUgPyAobW9kZS0+cHJpdmF0ZV9mbGFncyAm IE1TTV9NT0RFX0ZMQUdfU0VBTUxFU1NfVlJSKQotCQk6IGZhbHNlOwotfQotCi1zdGF0aWMgaW5s aW5lIGJvb2wgbXNtX25lZWRzX3ZibGFua19wcmVfbW9kZXNldCgKLQkJY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUpCi17Ci0JcmV0dXJuIChtb2RlLT5wcml2YXRlX2ZsYWdzICYg TVNNX01PREVfRkxBR19WQkxBTktfUFJFX01PREVTRVQpOwotfQogI2VuZGlmIC8qIF9fTVNNX0tN U19IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaCBiL2luY2x1 ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAppbmRleCA0ZTFhM2ZmLi41MGJjZjQyIDEwMDY0NAotLS0g YS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm1f bW9kZS5oCkBAIC04OCw3ICs4OCw2IEBACiAjZGVmaW5lICBEUk1fTU9ERV9GTEFHXzNEX0xfREVQ VEhfR0ZYX0dGWF9ERVBUSAkoNjw8MTQpCiAjZGVmaW5lICBEUk1fTU9ERV9GTEFHXzNEX1RPUF9B TkRfQk9UVE9NCSg3PDwxNCkKICNkZWZpbmUgIERSTV9NT0RFX0ZMQUdfM0RfU0lERV9CWV9TSURF X0hBTEYJKDg8PDE0KQotI2RlZmluZSAgRFJNX01PREVfRkxBR19TRUFNTEVTUwkJCSgxPDwxOSkK IAogLyogUGljdHVyZSBhc3BlY3QgcmF0aW8gb3B0aW9ucyAqLwogI2RlZmluZSBEUk1fTU9ERV9Q SUNUVVJFX0FTUEVDVF9OT05FCQkwCi0tIApUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIs IEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVtLAphIExpbnV4IEZvdW5k YXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK