From: Rex Zhu Subject: [PATCH] drm/amd/powerplay: move set_clockgating_by_smu to pp func table Date: Tue, 26 Sep 2017 13:49:06 +0800 Message-ID: <1506404946-18852-1-git-send-email-Rex.Zhu@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Rex Zhu Q2hhbmdlLUlkOiBJMDhmN2ViOWFmMWRkZjRmYWMxOTlkNzEyZjQxYjlhZmVlOTRiOWFjZApTaWdu ZWQtb2ZmLWJ5OiBSZXggWmh1IDxSZXguWmh1QGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2RwbS5oICAgICAgICAgICB8ICA0ICsrKwogZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYyAgICAgICAgICAgICB8IDIzICsrKysrKystLS0tLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmkuYyAgICAgICAgICAgICAgICAgICB8IDIyICsr KysrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kX3Bvd2VycGxheS5j ICAgICB8IDQ0ICsrKysrKysrKysrLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bv d2VycGxheS9pbmMvYW1kX3Bvd2VycGxheS5oIHwgIDEgLQogNSBmaWxlcyBjaGFuZ2VkLCA1NCBp bnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfZHBtLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZHBtLmgKaW5kZXggMGQyMjI1OS4uNTZjYWFlZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RwbS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9kcG0uaApAQCAtMzU2LDYgKzM1NiwxMCBAQCBlbnVtIGFtZGdwdV9wY2ll X2dlbiB7CiAJCSgoYWRldiktPnBvd2VycGxheS5wcF9mdW5jcy0+c3dpdGNoX3Bvd2VyX3Byb2Zp bGUoXAogCQkJKGFkZXYpLT5wb3dlcnBsYXkucHBfaGFuZGxlLCB0eXBlKSkKIAorI2RlZmluZSBh bWRncHVfZHBtX3NldF9jbG9ja2dhdGluZ19ieV9zbXUoYWRldiwgbXNnX2lkKSBcCisJCSgoYWRl diktPnBvd2VycGxheS5wcF9mdW5jcy0+c2V0X2Nsb2NrZ2F0aW5nX2J5X3NtdShcCisJCQkoYWRl diktPnBvd2VycGxheS5wcF9oYW5kbGUsIG1zZ19pZCkpCisKIHN0cnVjdCBhbWRncHVfZHBtIHsK IAlzdHJ1Y3QgYW1kZ3B1X3BzICAgICAgICAqcHM7CiAJLyogbnVtYmVyIG9mIHZhbGlkIHBvd2Vy IHN0YXRlcyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4 XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OF8wLmMKaW5kZXggZTA0ZGU3 YS4uMjkwMmNlYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4 XzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jCkBAIC01OTg0 LDcgKzU5ODQsNiBAQCBzdGF0aWMgaW50IGdmeF92OF8wX3RvbmdhX3VwZGF0ZV9nZnhfY2xvY2tf Z2F0aW5nKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogewogCXVpbnQzMl90IG1zZ19pZCwg cHBfc3RhdGUgPSAwOwogCXVpbnQzMl90IHBwX3N1cHBvcnRfc3RhdGUgPSAwOwotCXZvaWQgKnBw X2hhbmRsZSA9IGFkZXYtPnBvd2VycGxheS5wcF9oYW5kbGU7CiAKIAlpZiAoYWRldi0+Y2dfZmxh Z3MgJiAoQU1EX0NHX1NVUFBPUlRfR0ZYX0NHQ0cgfCBBTURfQ0dfU1VQUE9SVF9HRlhfQ0dMUykp IHsKIAkJaWYgKGFkZXYtPmNnX2ZsYWdzICYgQU1EX0NHX1NVUFBPUlRfR0ZYX0NHTFMpIHsKQEAg LTYwMDIsNyArNjAwMSw4IEBAIHN0YXRpYyBpbnQgZ2Z4X3Y4XzBfdG9uZ2FfdXBkYXRlX2dmeF9j bG9ja19nYXRpbmcoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCQkJUFBfQkxPQ0tfR0ZY X0NHLAogCQkJCXBwX3N1cHBvcnRfc3RhdGUsCiAJCQkJcHBfc3RhdGUpOwotCQlhbWRfc2V0X2Ns b2NrZ2F0aW5nX2J5X3NtdShwcF9oYW5kbGUsIG1zZ19pZCk7CisJCWlmIChhZGV2LT5wb3dlcnBs YXkucHBfZnVuY3MtPnNldF9jbG9ja2dhdGluZ19ieV9zbXUpCisJCQlhbWRncHVfZHBtX3NldF9j bG9ja2dhdGluZ19ieV9zbXUoYWRldiwgbXNnX2lkKTsKIAl9CiAKIAlpZiAoYWRldi0+Y2dfZmxh Z3MgJiAoQU1EX0NHX1NVUFBPUlRfR0ZYX01HQ0cgfCBBTURfQ0dfU1VQUE9SVF9HRlhfTUdMUykp IHsKQEAgLTYwMjMsNyArNjAyMyw4IEBAIHN0YXRpYyBpbnQgZ2Z4X3Y4XzBfdG9uZ2FfdXBkYXRl X2dmeF9jbG9ja19nYXRpbmcoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCQkJUFBfQkxP Q0tfR0ZYX01HLAogCQkJCXBwX3N1cHBvcnRfc3RhdGUsCiAJCQkJcHBfc3RhdGUpOwotCQlhbWRf c2V0X2Nsb2NrZ2F0aW5nX2J5X3NtdShwcF9oYW5kbGUsIG1zZ19pZCk7CisJCWlmIChhZGV2LT5w b3dlcnBsYXkucHBfZnVuY3MtPnNldF9jbG9ja2dhdGluZ19ieV9zbXUpCisJCQlhbWRncHVfZHBt X3NldF9jbG9ja2dhdGluZ19ieV9zbXUoYWRldiwgbXNnX2lkKTsKIAl9CiAKIAlyZXR1cm4gMDsK QEAgLTYwMzUsNyArNjAzNiw2IEBAIHN0YXRpYyBpbnQgZ2Z4X3Y4XzBfcG9sYXJpc191cGRhdGVf Z2Z4X2Nsb2NrX2dhdGluZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAogCXVpbnQzMl90 IG1zZ19pZCwgcHBfc3RhdGUgPSAwOwogCXVpbnQzMl90IHBwX3N1cHBvcnRfc3RhdGUgPSAwOwot CXZvaWQgKnBwX2hhbmRsZSA9IGFkZXYtPnBvd2VycGxheS5wcF9oYW5kbGU7CiAKIAlpZiAoYWRl di0+Y2dfZmxhZ3MgJiAoQU1EX0NHX1NVUFBPUlRfR0ZYX0NHQ0cgfCBBTURfQ0dfU1VQUE9SVF9H RlhfQ0dMUykpIHsKIAkJaWYgKGFkZXYtPmNnX2ZsYWdzICYgQU1EX0NHX1NVUFBPUlRfR0ZYX0NH TFMpIHsKQEAgLTYwNTMsNyArNjA1Myw4IEBAIHN0YXRpYyBpbnQgZ2Z4X3Y4XzBfcG9sYXJpc191 cGRhdGVfZ2Z4X2Nsb2NrX2dhdGluZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkJCQlQ UF9CTE9DS19HRlhfQ0csCiAJCQkJcHBfc3VwcG9ydF9zdGF0ZSwKIAkJCQlwcF9zdGF0ZSk7Ci0J CWFtZF9zZXRfY2xvY2tnYXRpbmdfYnlfc211KHBwX2hhbmRsZSwgbXNnX2lkKTsKKwkJaWYgKGFk ZXYtPnBvd2VycGxheS5wcF9mdW5jcy0+c2V0X2Nsb2NrZ2F0aW5nX2J5X3NtdSkKKwkJCWFtZGdw dV9kcG1fc2V0X2Nsb2NrZ2F0aW5nX2J5X3NtdShhZGV2LCBtc2dfaWQpOwogCX0KIAogCWlmIChh ZGV2LT5jZ19mbGFncyAmIChBTURfQ0dfU1VQUE9SVF9HRlhfM0RfQ0dDRyB8IEFNRF9DR19TVVBQ T1JUX0dGWF8zRF9DR0xTKSkgewpAQCAtNjA3Miw3ICs2MDczLDggQEAgc3RhdGljIGludCBnZnhf djhfMF9wb2xhcmlzX3VwZGF0ZV9nZnhfY2xvY2tfZ2F0aW5nKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LAogCQkJCVBQX0JMT0NLX0dGWF8zRCwKIAkJCQlwcF9zdXBwb3J0X3N0YXRlLAogCQkJ CXBwX3N0YXRlKTsKLQkJYW1kX3NldF9jbG9ja2dhdGluZ19ieV9zbXUocHBfaGFuZGxlLCBtc2df aWQpOworCQlpZiAoYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5zZXRfY2xvY2tnYXRpbmdfYnlf c211KQorCQkJYW1kZ3B1X2RwbV9zZXRfY2xvY2tnYXRpbmdfYnlfc211KGFkZXYsIG1zZ19pZCk7 CiAJfQogCiAJaWYgKGFkZXYtPmNnX2ZsYWdzICYgKEFNRF9DR19TVVBQT1JUX0dGWF9NR0NHIHwg QU1EX0NHX1NVUFBPUlRfR0ZYX01HTFMpKSB7CkBAIC02MDkzLDcgKzYwOTUsOCBAQCBzdGF0aWMg aW50IGdmeF92OF8wX3BvbGFyaXNfdXBkYXRlX2dmeF9jbG9ja19nYXRpbmcoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYsCiAJCQkJUFBfQkxPQ0tfR0ZYX01HLAogCQkJCXBwX3N1cHBvcnRfc3Rh dGUsCiAJCQkJcHBfc3RhdGUpOwotCQlhbWRfc2V0X2Nsb2NrZ2F0aW5nX2J5X3NtdShwcF9oYW5k bGUsIG1zZ19pZCk7CisJCWlmIChhZGV2LT5wb3dlcnBsYXkucHBfZnVuY3MtPnNldF9jbG9ja2dh dGluZ19ieV9zbXUpCisJCQlhbWRncHVfZHBtX3NldF9jbG9ja2dhdGluZ19ieV9zbXUoYWRldiwg bXNnX2lkKTsKIAl9CiAKIAlpZiAoYWRldi0+Y2dfZmxhZ3MgJiBBTURfQ0dfU1VQUE9SVF9HRlhf UkxDX0xTKSB7CkBAIC02MTA4LDcgKzYxMTEsOCBAQCBzdGF0aWMgaW50IGdmeF92OF8wX3BvbGFy aXNfdXBkYXRlX2dmeF9jbG9ja19nYXRpbmcoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJ CQkJUFBfQkxPQ0tfR0ZYX1JMQywKIAkJCQlwcF9zdXBwb3J0X3N0YXRlLAogCQkJCXBwX3N0YXRl KTsKLQkJYW1kX3NldF9jbG9ja2dhdGluZ19ieV9zbXUocHBfaGFuZGxlLCBtc2dfaWQpOworCQlp ZiAoYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5zZXRfY2xvY2tnYXRpbmdfYnlfc211KQorCQkJ YW1kZ3B1X2RwbV9zZXRfY2xvY2tnYXRpbmdfYnlfc211KGFkZXYsIG1zZ19pZCk7CiAJfQogCiAJ aWYgKGFkZXYtPmNnX2ZsYWdzICYgQU1EX0NHX1NVUFBPUlRfR0ZYX0NQX0xTKSB7CkBAIC02MTIy LDcgKzYxMjYsOCBAQCBzdGF0aWMgaW50IGdmeF92OF8wX3BvbGFyaXNfdXBkYXRlX2dmeF9jbG9j a19nYXRpbmcoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCQlQUF9CTE9DS19HRlhfQ1As CiAJCQlwcF9zdXBwb3J0X3N0YXRlLAogCQkJcHBfc3RhdGUpOwotCQlhbWRfc2V0X2Nsb2NrZ2F0 aW5nX2J5X3NtdShwcF9oYW5kbGUsIG1zZ19pZCk7CisJCWlmIChhZGV2LT5wb3dlcnBsYXkucHBf ZnVuY3MtPnNldF9jbG9ja2dhdGluZ19ieV9zbXUpCisJCQlhbWRncHVfZHBtX3NldF9jbG9ja2dh dGluZ19ieV9zbXUoYWRldiwgbXNnX2lkKTsKIAl9CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZpLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS92aS5jCmluZGV4IDJhYzViODQuLjNhNGMyZmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L3ZpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmku YwpAQCAtMTI1NSw3ICsxMjU1LDYgQEAgc3RhdGljIGludCB2aV9jb21tb25fc2V0X2Nsb2NrZ2F0 aW5nX3N0YXRlX2J5X3NtdSh2b2lkICpoYW5kbGUsCiAJdWludDMyX3QgbXNnX2lkLCBwcF9zdGF0 ZSA9IDA7CiAJdWludDMyX3QgcHBfc3VwcG9ydF9zdGF0ZSA9IDA7CiAJc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Ci0Jdm9pZCAqcHBf aGFuZGxlID0gYWRldi0+cG93ZXJwbGF5LnBwX2hhbmRsZTsKIAogCWlmIChhZGV2LT5jZ19mbGFn cyAmIChBTURfQ0dfU1VQUE9SVF9NQ19MUyB8IEFNRF9DR19TVVBQT1JUX01DX01HQ0cpKSB7CiAJ CWlmIChhZGV2LT5jZ19mbGFncyAmIEFNRF9DR19TVVBQT1JUX01DX0xTKSB7CkBAIC0xMjcyLDcg KzEyNzEsOCBAQCBzdGF0aWMgaW50IHZpX2NvbW1vbl9zZXRfY2xvY2tnYXRpbmdfc3RhdGVfYnlf c211KHZvaWQgKmhhbmRsZSwKIAkJCSAgICAgICBQUF9CTE9DS19TWVNfTUMsCiAJCQkgICAgICAg cHBfc3VwcG9ydF9zdGF0ZSwKIAkJCSAgICAgICBwcF9zdGF0ZSk7Ci0JCWFtZF9zZXRfY2xvY2tn YXRpbmdfYnlfc211KHBwX2hhbmRsZSwgbXNnX2lkKTsKKwkJaWYgKGFkZXYtPnBvd2VycGxheS5w cF9mdW5jcy0+c2V0X2Nsb2NrZ2F0aW5nX2J5X3NtdSkKKwkJCWFtZGdwdV9kcG1fc2V0X2Nsb2Nr Z2F0aW5nX2J5X3NtdShhZGV2LCBtc2dfaWQpOwogCX0KIAogCWlmIChhZGV2LT5jZ19mbGFncyAm IChBTURfQ0dfU1VQUE9SVF9TRE1BX0xTIHwgQU1EX0NHX1NVUFBPUlRfU0RNQV9NR0NHKSkgewpA QCAtMTI5MCw3ICsxMjkwLDggQEAgc3RhdGljIGludCB2aV9jb21tb25fc2V0X2Nsb2NrZ2F0aW5n X3N0YXRlX2J5X3NtdSh2b2lkICpoYW5kbGUsCiAJCQkgICAgICAgUFBfQkxPQ0tfU1lTX1NETUEs CiAJCQkgICAgICAgcHBfc3VwcG9ydF9zdGF0ZSwKIAkJCSAgICAgICBwcF9zdGF0ZSk7Ci0JCWFt ZF9zZXRfY2xvY2tnYXRpbmdfYnlfc211KHBwX2hhbmRsZSwgbXNnX2lkKTsKKwkJaWYgKGFkZXYt PnBvd2VycGxheS5wcF9mdW5jcy0+c2V0X2Nsb2NrZ2F0aW5nX2J5X3NtdSkKKwkJCWFtZGdwdV9k cG1fc2V0X2Nsb2NrZ2F0aW5nX2J5X3NtdShhZGV2LCBtc2dfaWQpOwogCX0KIAogCWlmIChhZGV2 LT5jZ19mbGFncyAmIChBTURfQ0dfU1VQUE9SVF9IRFBfTFMgfCBBTURfQ0dfU1VQUE9SVF9IRFBf TUdDRykpIHsKQEAgLTEzMDgsNyArMTMwOSw4IEBAIHN0YXRpYyBpbnQgdmlfY29tbW9uX3NldF9j bG9ja2dhdGluZ19zdGF0ZV9ieV9zbXUodm9pZCAqaGFuZGxlLAogCQkJICAgICAgIFBQX0JMT0NL X1NZU19IRFAsCiAJCQkgICAgICAgcHBfc3VwcG9ydF9zdGF0ZSwKIAkJCSAgICAgICBwcF9zdGF0 ZSk7Ci0JCWFtZF9zZXRfY2xvY2tnYXRpbmdfYnlfc211KHBwX2hhbmRsZSwgbXNnX2lkKTsKKwkJ aWYgKGFkZXYtPnBvd2VycGxheS5wcF9mdW5jcy0+c2V0X2Nsb2NrZ2F0aW5nX2J5X3NtdSkKKwkJ CWFtZGdwdV9kcG1fc2V0X2Nsb2NrZ2F0aW5nX2J5X3NtdShhZGV2LCBtc2dfaWQpOwogCX0KIAog CkBAIC0xMzIyLDcgKzEzMjQsOCBAQCBzdGF0aWMgaW50IHZpX2NvbW1vbl9zZXRfY2xvY2tnYXRp bmdfc3RhdGVfYnlfc211KHZvaWQgKmhhbmRsZSwKIAkJCSAgICAgICBQUF9CTE9DS19TWVNfQklG LAogCQkJICAgICAgIFBQX1NUQVRFX1NVUFBPUlRfTFMsCiAJCQkgICAgICAgIHBwX3N0YXRlKTsK LQkJYW1kX3NldF9jbG9ja2dhdGluZ19ieV9zbXUocHBfaGFuZGxlLCBtc2dfaWQpOworCQlpZiAo YWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5zZXRfY2xvY2tnYXRpbmdfYnlfc211KQorCQkJYW1k Z3B1X2RwbV9zZXRfY2xvY2tnYXRpbmdfYnlfc211KGFkZXYsIG1zZ19pZCk7CiAJfQogCWlmIChh ZGV2LT5jZ19mbGFncyAmIEFNRF9DR19TVVBQT1JUX0JJRl9NR0NHKSB7CiAJCWlmIChzdGF0ZSA9 PSBBTURfQ0dfU1RBVEVfVU5HQVRFKQpAQCAtMTMzNCw3ICsxMzM3LDggQEAgc3RhdGljIGludCB2 aV9jb21tb25fc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlX2J5X3NtdSh2b2lkICpoYW5kbGUsCiAJCQkg ICAgICAgUFBfQkxPQ0tfU1lTX0JJRiwKIAkJCSAgICAgICBQUF9TVEFURV9TVVBQT1JUX0NHLAog CQkJICAgICAgIHBwX3N0YXRlKTsKLQkJYW1kX3NldF9jbG9ja2dhdGluZ19ieV9zbXUocHBfaGFu ZGxlLCBtc2dfaWQpOworCQlpZiAoYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5zZXRfY2xvY2tn YXRpbmdfYnlfc211KQorCQkJYW1kZ3B1X2RwbV9zZXRfY2xvY2tnYXRpbmdfYnlfc211KGFkZXYs IG1zZ19pZCk7CiAJfQogCiAJaWYgKGFkZXYtPmNnX2ZsYWdzICYgQU1EX0NHX1NVUFBPUlRfRFJN X0xTKSB7CkBAIC0xMzQ4LDcgKzEzNTIsOCBAQCBzdGF0aWMgaW50IHZpX2NvbW1vbl9zZXRfY2xv Y2tnYXRpbmdfc3RhdGVfYnlfc211KHZvaWQgKmhhbmRsZSwKIAkJCSAgICAgICBQUF9CTE9DS19T WVNfRFJNLAogCQkJICAgICAgIFBQX1NUQVRFX1NVUFBPUlRfTFMsCiAJCQkgICAgICAgcHBfc3Rh dGUpOwotCQlhbWRfc2V0X2Nsb2NrZ2F0aW5nX2J5X3NtdShwcF9oYW5kbGUsIG1zZ19pZCk7CisJ CWlmIChhZGV2LT5wb3dlcnBsYXkucHBfZnVuY3MtPnNldF9jbG9ja2dhdGluZ19ieV9zbXUpCisJ CQlhbWRncHVfZHBtX3NldF9jbG9ja2dhdGluZ19ieV9zbXUoYWRldiwgbXNnX2lkKTsKIAl9CiAK IAlpZiAoYWRldi0+Y2dfZmxhZ3MgJiBBTURfQ0dfU1VQUE9SVF9ST01fTUdDRykgewpAQCAtMTM2 Miw3ICsxMzY3LDggQEAgc3RhdGljIGludCB2aV9jb21tb25fc2V0X2Nsb2NrZ2F0aW5nX3N0YXRl X2J5X3NtdSh2b2lkICpoYW5kbGUsCiAJCQkgICAgICAgUFBfQkxPQ0tfU1lTX1JPTSwKIAkJCSAg ICAgICBQUF9TVEFURV9TVVBQT1JUX0NHLAogCQkJICAgICAgIHBwX3N0YXRlKTsKLQkJYW1kX3Nl dF9jbG9ja2dhdGluZ19ieV9zbXUocHBfaGFuZGxlLCBtc2dfaWQpOworCQlpZiAoYWRldi0+cG93 ZXJwbGF5LnBwX2Z1bmNzLT5zZXRfY2xvY2tnYXRpbmdfYnlfc211KQorCQkJYW1kZ3B1X2RwbV9z ZXRfY2xvY2tnYXRpbmdfYnlfc211KGFkZXYsIG1zZ19pZCk7CiAJfQogCXJldHVybiAwOwogfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kX3Bvd2VycGxheS5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kX3Bvd2VycGxheS5jCmluZGV4IGY0 NzU0MzguLjYzNTRhYzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5 L2FtZF9wb3dlcnBsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRf cG93ZXJwbGF5LmMKQEAgLTIxMCwyOCArMjEwLDYgQEAgc3RhdGljIGludCBwcF9zd19yZXNldCh2 b2lkICpoYW5kbGUpCiAJcmV0dXJuIDA7CiB9CiAKLQotaW50IGFtZF9zZXRfY2xvY2tnYXRpbmdf Ynlfc211KHZvaWQgKmhhbmRsZSwgdWludDMyX3QgbXNnX2lkKQotewotCXN0cnVjdCBwcF9od21n ciAgKmh3bWdyOwotCXN0cnVjdCBwcF9pbnN0YW5jZSAqcHBfaGFuZGxlID0gKHN0cnVjdCBwcF9p bnN0YW5jZSAqKWhhbmRsZTsKLQlpbnQgcmV0ID0gMDsKLQotCXJldCA9IHBwX2NoZWNrKHBwX2hh bmRsZSk7Ci0KLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OwotCi0JaHdtZ3IgPSBwcF9oYW5kbGUt Pmh3bWdyOwotCi0JaWYgKGh3bWdyLT5od21ncl9mdW5jLT51cGRhdGVfY2xvY2tfZ2F0aW5ncyA9 PSBOVUxMKSB7Ci0JCXByX2luZm8oIiVzIHdhcyBub3QgaW1wbGVtZW50ZWQuXG4iLCBfX2Z1bmNf Xyk7Ci0JCXJldHVybiAwOwotCX0KLQotCXJldHVybiBod21nci0+aHdtZ3JfZnVuYy0+dXBkYXRl X2Nsb2NrX2dhdGluZ3MoaHdtZ3IsICZtc2dfaWQpOwotfQotCiBzdGF0aWMgaW50IHBwX3NldF9w b3dlcmdhdGluZ19zdGF0ZSh2b2lkICpoYW5kbGUsCiAJCQkJICAgIGVudW0gYW1kX3Bvd2VyZ2F0 aW5nX3N0YXRlIHN0YXRlKQogewpAQCAtMzI3LDYgKzMwNSwyNyBAQCBzdGF0aWMgaW50IHBwX2Rw bV9md19sb2FkaW5nX2NvbXBsZXRlKHZvaWQgKmhhbmRsZSkKIAlyZXR1cm4gMDsKIH0KIAorc3Rh dGljIGludCBwcF9zZXRfY2xvY2tnYXRpbmdfYnlfc211KHZvaWQgKmhhbmRsZSwgdWludDMyX3Qg bXNnX2lkKQoreworCXN0cnVjdCBwcF9od21nciAgKmh3bWdyOworCXN0cnVjdCBwcF9pbnN0YW5j ZSAqcHBfaGFuZGxlID0gKHN0cnVjdCBwcF9pbnN0YW5jZSAqKWhhbmRsZTsKKwlpbnQgcmV0ID0g MDsKKworCXJldCA9IHBwX2NoZWNrKHBwX2hhbmRsZSk7CisKKwlpZiAocmV0KQorCQlyZXR1cm4g cmV0OworCisJaHdtZ3IgPSBwcF9oYW5kbGUtPmh3bWdyOworCisJaWYgKGh3bWdyLT5od21ncl9m dW5jLT51cGRhdGVfY2xvY2tfZ2F0aW5ncyA9PSBOVUxMKSB7CisJCXByX2luZm8oIiVzIHdhcyBu b3QgaW1wbGVtZW50ZWQuXG4iLCBfX2Z1bmNfXyk7CisJCXJldHVybiAwOworCX0KKworCXJldHVy biBod21nci0+aHdtZ3JfZnVuYy0+dXBkYXRlX2Nsb2NrX2dhdGluZ3MoaHdtZ3IsICZtc2dfaWQp OworfQorCiBzdGF0aWMgdm9pZCBwcF9kcG1fZW5fdW1kX3BzdGF0ZShzdHJ1Y3QgcHBfaHdtZ3Ig ICpod21nciwKIAkJCQkJCWVudW0gYW1kX2RwbV9mb3JjZWRfbGV2ZWwgKmxldmVsKQogewpAQCAt MTE2Niw2ICsxMTY1LDcgQEAgc3RhdGljIGludCBwcF9kcG1fc3dpdGNoX3Bvd2VyX3Byb2ZpbGUo dm9pZCAqaGFuZGxlLAogCS5nZXRfcG93ZXJfcHJvZmlsZV9zdGF0ZSA9IHBwX2RwbV9nZXRfcG93 ZXJfcHJvZmlsZV9zdGF0ZSwKIAkuc2V0X3Bvd2VyX3Byb2ZpbGVfc3RhdGUgPSBwcF9kcG1fc2V0 X3Bvd2VyX3Byb2ZpbGVfc3RhdGUsCiAJLnN3aXRjaF9wb3dlcl9wcm9maWxlID0gcHBfZHBtX3N3 aXRjaF9wb3dlcl9wcm9maWxlLAorCS5zZXRfY2xvY2tnYXRpbmdfYnlfc211ID0gcHBfc2V0X2Ns b2NrZ2F0aW5nX2J5X3NtdSwKIH07CiAKIGludCBhbWRfcG93ZXJwbGF5X3Jlc2V0KHZvaWQgKmhh bmRsZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9hbWRf cG93ZXJwbGF5LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvYW1kX3Bvd2Vy cGxheS5oCmluZGV4IGU1MmFkYzguLjk1OTMyY2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvcG93ZXJwbGF5L2luYy9hbWRfcG93ZXJwbGF5LmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9wb3dlcnBsYXkvaW5jL2FtZF9wb3dlcnBsYXkuaApAQCAtMzA0LDYgKzMwNCw1IEBAIGlu dCBhbWRfcG93ZXJwbGF5X2Rpc3BsYXlfY2xvY2tfdm9sdGFnZV9yZXF1ZXN0KHZvaWQgKmhhbmRs ZSwKIGludCBhbWRfcG93ZXJwbGF5X2dldF9kaXNwbGF5X21vZGVfdmFsaWRhdGlvbl9jbG9ja3Mo dm9pZCAqaGFuZGxlLAogCQlzdHJ1Y3QgYW1kX3BwX3NpbXBsZV9jbG9ja19pbmZvICpvdXRwdXQp OwogCi1pbnQgYW1kX3NldF9jbG9ja2dhdGluZ19ieV9zbXUodm9pZCAqaGFuZGxlLCB1aW50MzJf dCBtc2dfaWQpOwogCiAjZW5kaWYgLyogX0FNRF9QT1dFUlBMQVlfSF8gKi8KLS0gCjEuOS4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1h aWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK