From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhawanpreet Lakha Subject: [PATCH 08/20] drm/amdgpu: psp HDCP init Date: Thu, 29 Aug 2019 12:22:41 -0400 Message-ID: <20190829162253.10195-9-Bhawanpreet.Lakha@amd.com> References: <20190829162253.10195-1-Bhawanpreet.Lakha@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190829162253.10195-1-Bhawanpreet.Lakha-5C7GfCeVMHo@public.gmane.org> 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: Bhawanpreet Lakha VGhpcyBwYXRjaCBhZGRzCi1Mb2FkaW5nIHRoZSBmaXJtd2FyZQotVGhlIGZ1bmN0aW9ucyBhbmQg ZGVmaW5pdGlvbnMgZm9yIGNvbW11bmljYXRpb24gd2l0aCB0aGUgZmlybXdhcmUKClNpZ25lZC1v ZmYtYnk6IEJoYXdhbnByZWV0IExha2hhIDxCaGF3YW5wcmVldC5MYWtoYUBhbWQuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wc3AuYyAgIHwgMTg4ICsrKysrKysr KysrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wc3AuaCAg IHwgIDE3ICsrCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdWNvZGUuaCB8ICAg MyArCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9wc3BfdjEwXzAuYyAgICB8ICAzMSArKyst CiA0IGZpbGVzIGNoYW5nZWQsIDIzNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wc3AuYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wc3AuYwppbmRleCA5ZjdjYzViY2MwMzcuLmNj Y2UxYjUwNmExMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X3BzcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wc3AuYwpAQCAt NzY5LDYgKzc2OSwxNzkgQEAgc3RhdGljIGludCBwc3BfcmFzX2luaXRpYWxpemUoc3RydWN0IHBz cF9jb250ZXh0ICpwc3ApCiB9CiAvLyByYXMgZW5kCiAKKy8vIEhEQ1Agc3RhcnQKK3N0YXRpYyB2 b2lkIHBzcF9wcmVwX2hkY3BfdGFfbG9hZF9jbWRfYnVmKHN0cnVjdCBwc3BfZ2Z4X2NtZF9yZXNw ICpjbWQsCisJCXVpbnQ2NF90IGhkY3BfdGFfbWMsIHVpbnQ2NF90IGhkY3BfbWNfc2hhcmVkLAor CQl1aW50MzJfdCBoZGNwX3RhX3NpemUsIHVpbnQzMl90IHNoYXJlZF9zaXplKQoreworCWNtZC0+ Y21kX2lkID0gR0ZYX0NNRF9JRF9MT0FEX1RBOworCWNtZC0+Y21kLmNtZF9sb2FkX3RhLmFwcF9w aHlfYWRkcl9sbyA9IGxvd2VyXzMyX2JpdHMoaGRjcF90YV9tYyk7CisJY21kLT5jbWQuY21kX2xv YWRfdGEuYXBwX3BoeV9hZGRyX2hpID0gdXBwZXJfMzJfYml0cyhoZGNwX3RhX21jKTsKKwljbWQt PmNtZC5jbWRfbG9hZF90YS5hcHBfbGVuID0gaGRjcF90YV9zaXplOworCisJY21kLT5jbWQuY21k X2xvYWRfdGEuY21kX2J1Zl9waHlfYWRkcl9sbyA9IGxvd2VyXzMyX2JpdHMoaGRjcF9tY19zaGFy ZWQpOworCWNtZC0+Y21kLmNtZF9sb2FkX3RhLmNtZF9idWZfcGh5X2FkZHJfaGkgPSB1cHBlcl8z Ml9iaXRzKGhkY3BfbWNfc2hhcmVkKTsKKwljbWQtPmNtZC5jbWRfbG9hZF90YS5jbWRfYnVmX2xl biA9IHNoYXJlZF9zaXplOworfQorCitzdGF0aWMgaW50IHBzcF9oZGNwX2luaXRfc2hhcmVkX2J1 ZihzdHJ1Y3QgcHNwX2NvbnRleHQgKnBzcCkKK3sKKwlpbnQgcmV0OworCisJLyoKKwkgKiBBbGxv Y2F0ZSAxNmsgbWVtb3J5IGFsaWduZWQgdG8gNGsgZnJvbSBGcmFtZSBCdWZmZXIgKGxvY2FsCisJ ICogcGh5c2ljYWwpIGZvciBoZGNwIHRhIDwtPiBEcml2ZXIKKwkgKi8KKwlyZXQgPSBhbWRncHVf Ym9fY3JlYXRlX2tlcm5lbChwc3AtPmFkZXYsIFBTUF9IRENQX1NIQVJFRF9NRU1fU0laRSwKKwkJ CVBBR0VfU0laRSwgQU1ER1BVX0dFTV9ET01BSU5fVlJBTSwKKwkJCSZwc3AtPmhkY3BfY29udGV4 dC5oZGNwX3NoYXJlZF9ibywKKwkJCSZwc3AtPmhkY3BfY29udGV4dC5oZGNwX3NoYXJlZF9tY19h ZGRyLAorCQkJJnBzcC0+aGRjcF9jb250ZXh0LmhkY3Bfc2hhcmVkX2J1Zik7CisKKwlyZXR1cm4g cmV0OworfQorCitzdGF0aWMgaW50IHBzcF9oZGNwX2xvYWQoc3RydWN0IHBzcF9jb250ZXh0ICpw c3ApCit7CisJaW50IHJldDsKKwlzdHJ1Y3QgcHNwX2dmeF9jbWRfcmVzcCAqY21kOworCisJLyoK KwkgKiBUT0RPOiBieXBhc3MgdGhlIGxvYWRpbmcgaW4gc3Jpb3YgZm9yIG5vdworCSAqLworCWlm IChhbWRncHVfc3Jpb3ZfdmYocHNwLT5hZGV2KSkKKwkJcmV0dXJuIDA7CisKKwljbWQgPSBremFs bG9jKHNpemVvZihzdHJ1Y3QgcHNwX2dmeF9jbWRfcmVzcCksIEdGUF9LRVJORUwpOworCWlmICgh Y21kKQorCQlyZXR1cm4gLUVOT01FTTsKKworCW1lbXNldChwc3AtPmZ3X3ByaV9idWYsIDAsIFBT UF8xX01FRyk7CisJbWVtY3B5KHBzcC0+ZndfcHJpX2J1ZiwgcHNwLT50YV9oZGNwX3N0YXJ0X2Fk ZHIsIHBzcC0+dGFfaGRjcF91Y29kZV9zaXplKTsKKworCXBzcF9wcmVwX2hkY3BfdGFfbG9hZF9j bWRfYnVmKGNtZCwgcHNwLT5md19wcmlfbWNfYWRkciwKKwkJCXBzcC0+aGRjcF9jb250ZXh0Lmhk Y3Bfc2hhcmVkX21jX2FkZHIsCisJCQlwc3AtPnRhX2hkY3BfdWNvZGVfc2l6ZSwgUFNQX0hEQ1Bf U0hBUkVEX01FTV9TSVpFKTsKKworCXJldCA9IHBzcF9jbWRfc3VibWl0X2J1Zihwc3AsIE5VTEws IGNtZCwKKwkJCXBzcC0+ZmVuY2VfYnVmX21jX2FkZHIpOworCisJaWYgKCFyZXQpIHsKKwkJcHNw LT5oZGNwX2NvbnRleHQuaGRjcF9pbml0aWFsaXplZCA9IDE7CisJCXBzcC0+aGRjcF9jb250ZXh0 LnNlc3Npb25faWQgPSBjbWQtPnJlc3Auc2Vzc2lvbl9pZDsKKwl9CisKKwlrZnJlZShjbWQpOwor CisJcmV0dXJuIHJldDsKK30KK3N0YXRpYyBpbnQgcHNwX2hkY3BfaW5pdGlhbGl6ZShzdHJ1Y3Qg cHNwX2NvbnRleHQgKnBzcCkKK3sKKwlpbnQgcmV0OworCisJaWYgKCFwc3AtPmhkY3BfY29udGV4 dC5oZGNwX2luaXRpYWxpemVkKSB7CisJCXJldCA9IHBzcF9oZGNwX2luaXRfc2hhcmVkX2J1Zihw c3ApOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXQgPSBwc3BfaGRjcF9s b2FkKHBzcCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCXJldHVybiAwOworfQorc3Rh dGljIHZvaWQgcHNwX3ByZXBfaGRjcF90YV91bmxvYWRfY21kX2J1ZihzdHJ1Y3QgcHNwX2dmeF9j bWRfcmVzcCAqY21kLAorCQkJCQkJdWludDMyX3QgaGRjcF9zZXNzaW9uX2lkKQoreworCWNtZC0+ Y21kX2lkID0gR0ZYX0NNRF9JRF9VTkxPQURfVEE7CisJY21kLT5jbWQuY21kX3VubG9hZF90YS5z ZXNzaW9uX2lkID0gaGRjcF9zZXNzaW9uX2lkOworfQorCitzdGF0aWMgaW50IHBzcF9oZGNwX3Vu bG9hZChzdHJ1Y3QgcHNwX2NvbnRleHQgKnBzcCkKK3sKKwlpbnQgcmV0OworCXN0cnVjdCBwc3Bf Z2Z4X2NtZF9yZXNwICpjbWQ7CisKKwkvKgorCSAqIFRPRE86IGJ5cGFzcyB0aGUgdW5sb2FkaW5n IGluIHNyaW92IGZvciBub3cKKwkgKi8KKwlpZiAoYW1kZ3B1X3NyaW92X3ZmKHBzcC0+YWRldikp CisJCXJldHVybiAwOworCisJY21kID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHBzcF9nZnhfY21k X3Jlc3ApLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNtZCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlw c3BfcHJlcF9oZGNwX3RhX3VubG9hZF9jbWRfYnVmKGNtZCwgcHNwLT5oZGNwX2NvbnRleHQuc2Vz c2lvbl9pZCk7CisKKwlyZXQgPSBwc3BfY21kX3N1Ym1pdF9idWYocHNwLCBOVUxMLCBjbWQsCisJ CQlwc3AtPmZlbmNlX2J1Zl9tY19hZGRyKTsKKworCWtmcmVlKGNtZCk7CisKKwlyZXR1cm4gcmV0 OworfQorCitzdGF0aWMgdm9pZCBwc3BfcHJlcF9oZGNwX3RhX2ludm9rZV9jbWRfYnVmKHN0cnVj dCBwc3BfZ2Z4X2NtZF9yZXNwICpjbWQsCisJCXVpbnQzMl90IHRhX2NtZF9pZCwKKwkJdWludDMy X3QgaGRjcF9zZXNzaW9uX2lkKQoreworCWNtZC0+Y21kX2lkID0gR0ZYX0NNRF9JRF9JTlZPS0Vf Q01EOworCWNtZC0+Y21kLmNtZF9pbnZva2VfY21kLnNlc3Npb25faWQgPSBoZGNwX3Nlc3Npb25f aWQ7CisJY21kLT5jbWQuY21kX2ludm9rZV9jbWQudGFfY21kX2lkID0gdGFfY21kX2lkOworCS8q IE5vdGU6IGNtZF9pbnZva2VfY21kLmJ1ZiBpcyBub3QgdXNlZCBmb3Igbm93ICovCit9CisKK2lu dCBwc3BfaGRjcF9pbnZva2Uoc3RydWN0IHBzcF9jb250ZXh0ICpwc3AsIHVpbnQzMl90IHRhX2Nt ZF9pZCkKK3sKKwlpbnQgcmV0OworCXN0cnVjdCBwc3BfZ2Z4X2NtZF9yZXNwICpjbWQ7CisKKwkv KgorCSAqIFRPRE86IGJ5cGFzcyB0aGUgbG9hZGluZyBpbiBzcmlvdiBmb3Igbm93CisJICovCisJ aWYgKGFtZGdwdV9zcmlvdl92Zihwc3AtPmFkZXYpKQorCQlyZXR1cm4gMDsKKworCWNtZCA9IGt6 YWxsb2Moc2l6ZW9mKHN0cnVjdCBwc3BfZ2Z4X2NtZF9yZXNwKSwgR0ZQX0tFUk5FTCk7CisJaWYg KCFjbWQpCisJCXJldHVybiAtRU5PTUVNOworCisJcHNwX3ByZXBfaGRjcF90YV9pbnZva2VfY21k X2J1ZihjbWQsIHRhX2NtZF9pZCwKKwkJCXBzcC0+aGRjcF9jb250ZXh0LnNlc3Npb25faWQpOwor CisJcmV0ID0gcHNwX2NtZF9zdWJtaXRfYnVmKHBzcCwgTlVMTCwgY21kLAorCQkJcHNwLT5mZW5j ZV9idWZfbWNfYWRkcik7CisKKwlrZnJlZShjbWQpOworCisJcmV0dXJuIHJldDsKK30KKworCitz dGF0aWMgaW50IHBzcF9oZGNwX3Rlcm1pbmF0ZShzdHJ1Y3QgcHNwX2NvbnRleHQgKnBzcCkKK3sK KwlpbnQgcmV0OworCisJaWYgKCFwc3AtPmhkY3BfY29udGV4dC5oZGNwX2luaXRpYWxpemVkKQor CQlyZXR1cm4gMDsKKworCXJldCA9IHBzcF9oZGNwX3VubG9hZChwc3ApOworCWlmIChyZXQpCisJ CXJldHVybiByZXQ7CisKKwlwc3AtPmhkY3BfY29udGV4dC5oZGNwX2luaXRpYWxpemVkID0gMDsK KworCS8qIGZyZWUgaGRjcCBzaGFyZWQgbWVtb3J5ICovCisJYW1kZ3B1X2JvX2ZyZWVfa2VybmVs KCZwc3AtPmhkY3BfY29udGV4dC5oZGNwX3NoYXJlZF9ibywKKwkJCSZwc3AtPmhkY3BfY29udGV4 dC5oZGNwX3NoYXJlZF9tY19hZGRyLAorCQkJJnBzcC0+aGRjcF9jb250ZXh0LmhkY3Bfc2hhcmVk X2J1Zik7CisKKwlyZXR1cm4gMDsKK30KKy8vIEhEQ1AgZW5kCisKIHN0YXRpYyBpbnQgcHNwX2h3 X3N0YXJ0KHN0cnVjdCBwc3BfY29udGV4dCAqcHNwKQogewogCXN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2ID0gcHNwLT5hZGV2OwpAQCAtODQyLDYgKzEwMTUsMTIgQEAgc3RhdGljIGludCBwc3Bf aHdfc3RhcnQoc3RydWN0IHBzcF9jb250ZXh0ICpwc3ApCiAJCWlmIChyZXQpCiAJCQlkZXZfZXJy KHBzcC0+YWRldi0+ZGV2LAogCQkJCQkiUkFTOiBGYWlsZWQgdG8gaW5pdGlhbGl6ZSBSQVNcbiIp OworCisJCXJldCA9IHBzcF9oZGNwX2luaXRpYWxpemUocHNwKTsKKwkJaWYgKHJldCkKKwkJCWRl dl9lcnIocHNwLT5hZGV2LT5kZXYsCisJCQkJCSJIRENQOiBGYWlsZWQgdG8gaW5pdGlhbGl6ZSBI RENQXG4iKTsKKwogCX0KIAogCXJldHVybiAwOwpAQCAtMTIxMSw4ICsxMzkwLDEwIEBAIHN0YXRp YyBpbnQgcHNwX2h3X2Zpbmkodm9pZCAqaGFuZGxlKQogCSAgICBwc3AtPnhnbWlfY29udGV4dC5p bml0aWFsaXplZCA9PSAxKQogICAgICAgICAgICAgICAgIHBzcF94Z21pX3Rlcm1pbmF0ZShwc3Ap OwogCi0JaWYgKHBzcC0+YWRldi0+cHNwLnRhX2Z3KQorCWlmIChwc3AtPmFkZXYtPnBzcC50YV9m dykgewogCQlwc3BfcmFzX3Rlcm1pbmF0ZShwc3ApOworCQlwc3BfaGRjcF90ZXJtaW5hdGUocHNw KTsKKwl9CiAKIAlwc3BfcmluZ19kZXN0cm95KHBzcCwgUFNQX1JJTkdfVFlQRV9fS00pOwogCkBA IC0xMjUzLDYgKzE0MzQsMTEgQEAgc3RhdGljIGludCBwc3Bfc3VzcGVuZCh2b2lkICpoYW5kbGUp CiAJCQlEUk1fRVJST1IoIkZhaWxlZCB0byB0ZXJtaW5hdGUgcmFzIHRhXG4iKTsKIAkJCXJldHVy biByZXQ7CiAJCX0KKwkJcmV0ID0gcHNwX2hkY3BfdGVybWluYXRlKHBzcCk7CisJCWlmIChyZXQp IHsKKwkJCURSTV9FUlJPUigiRmFpbGVkIHRvIHRlcm1pbmF0ZSBoZGNwIHRhXG4iKTsKKwkJCXJl dHVybiByZXQ7CisJCX0KIAl9CiAKIAlyZXQgPSBwc3BfcmluZ19zdG9wKHBzcCwgUFNQX1JJTkdf VFlQRV9fS00pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X3BzcC5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BzcC5oCmluZGV4IGJj MDk0N2Y2YmM4YS4uNjc4OGUxNjAxOTQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfcHNwLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X3BzcC5oCkBAIC0zNyw2ICszNyw4IEBACiAjZGVmaW5lIFBTUF9SQVNfU0hBUkVEX01FTV9T SVpFIDB4NDAwMAogI2RlZmluZSBQU1BfMV9NRUcJCTB4MTAwMDAwCiAjZGVmaW5lIFBTUF9UTVJf U0laRQkweDQwMDAwMAorI2RlZmluZSBQU1BfSERDUF9TSEFSRURfTUVNX1NJWkUJMHg0MDAwCisj ZGVmaW5lIFBTUF9TSEFSRURfTUVNX1NJWkUJCTB4NDAwMAogCiBzdHJ1Y3QgcHNwX2NvbnRleHQ7 CiBzdHJ1Y3QgcHNwX3hnbWlfbm9kZV9pbmZvOwpAQCAtMTQyLDYgKzE0NCwxNCBAQCBzdHJ1Y3Qg cHNwX3Jhc19jb250ZXh0IHsKIAlzdHJ1Y3QgYW1kZ3B1X3JhcwkqcmFzOwogfTsKIAorc3RydWN0 IHBzcF9oZGNwX2NvbnRleHQgeworCWJvb2wJCQloZGNwX2luaXRpYWxpemVkOworCXVpbnQzMl90 CQlzZXNzaW9uX2lkOworCXN0cnVjdCBhbWRncHVfYm8JKmhkY3Bfc2hhcmVkX2JvOworCXVpbnQ2 NF90CQloZGNwX3NoYXJlZF9tY19hZGRyOworCXZvaWQJCQkqaGRjcF9zaGFyZWRfYnVmOworfTsK Kwogc3RydWN0IHBzcF9jb250ZXh0CiB7CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgICAgICAgICAg ICAqYWRldjsKQEAgLTIwNiw4ICsyMTYsMTQgQEAgc3RydWN0IHBzcF9jb250ZXh0CiAJdWludDMy X3QJCQl0YV9yYXNfdWNvZGVfdmVyc2lvbjsKIAl1aW50MzJfdAkJCXRhX3Jhc191Y29kZV9zaXpl OwogCXVpbnQ4X3QJCQkJKnRhX3Jhc19zdGFydF9hZGRyOworCisJdWludDMyX3QJCQl0YV9oZGNw X3Vjb2RlX3ZlcnNpb247CisJdWludDMyX3QJCQl0YV9oZGNwX3Vjb2RlX3NpemU7CisJdWludDhf dAkJCQkqdGFfaGRjcF9zdGFydF9hZGRyOworCiAJc3RydWN0IHBzcF94Z21pX2NvbnRleHQJCXhn bWlfY29udGV4dDsKIAlzdHJ1Y3QgcHNwX3Jhc19jb250ZXh0CQlyYXM7CisJc3RydWN0IHBzcF9o ZGNwX2NvbnRleHQgCWhkY3BfY29udGV4dDsKIAlzdHJ1Y3QgbXV0ZXgJCQltdXRleDsKIH07CiAK QEAgLTI3OSw2ICsyOTUsNyBAQCBpbnQgcHNwX3hnbWlfaW52b2tlKHN0cnVjdCBwc3BfY29udGV4 dCAqcHNwLCB1aW50MzJfdCB0YV9jbWRfaWQpOwogaW50IHBzcF9yYXNfaW52b2tlKHN0cnVjdCBw c3BfY29udGV4dCAqcHNwLCB1aW50MzJfdCB0YV9jbWRfaWQpOwogaW50IHBzcF9yYXNfZW5hYmxl X2ZlYXR1cmVzKHN0cnVjdCBwc3BfY29udGV4dCAqcHNwLAogCQl1bmlvbiB0YV9yYXNfY21kX2lu cHV0ICppbmZvLCBib29sIGVuYWJsZSk7CitpbnQgcHNwX2hkY3BfaW52b2tlKHN0cnVjdCBwc3Bf Y29udGV4dCAqcHNwLCB1aW50MzJfdCB0YV9jbWRfaWQpOwogCiBpbnQgcHNwX3JsY19hdXRvbG9h ZF9zdGFydChzdHJ1Y3QgcHNwX2NvbnRleHQgKnBzcCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91Y29kZS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3Vjb2RlLmgKaW5kZXggYjM0ZjAwZDQyMDQ5Li5jMmI1OTNhYjc0OTUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91Y29kZS5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91Y29kZS5oCkBAIC0xMDgsNiArMTA4 LDkgQEAgc3RydWN0IHRhX2Zpcm13YXJlX2hlYWRlcl92MV8wIHsKIAl1aW50MzJfdCB0YV9yYXNf dWNvZGVfdmVyc2lvbjsKIAl1aW50MzJfdCB0YV9yYXNfb2Zmc2V0X2J5dGVzOwogCXVpbnQzMl90 IHRhX3Jhc19zaXplX2J5dGVzOworCXVpbnQzMl90IHRhX2hkY3BfdWNvZGVfdmVyc2lvbjsKKwl1 aW50MzJfdCB0YV9oZGNwX29mZnNldF9ieXRlczsKKwl1aW50MzJfdCB0YV9oZGNwX3NpemVfYnl0 ZXM7CiB9OwogCiAvKiB2ZXJzaW9uX21ham9yPTEsIHZlcnNpb25fbWlub3I9MCAqLwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvcHNwX3YxMF8wLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9wc3BfdjEwXzAuYwppbmRleCBlNWZmZjZiMzAxMzcuLjM0OGVjNGUy NzVmMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvcHNwX3YxMF8wLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvcHNwX3YxMF8wLmMKQEAgLTQ1LDcgKzQ1 LDcgQEAgc3RhdGljIGludCBwc3BfdjEwXzBfaW5pdF9taWNyb2NvZGUoc3RydWN0IHBzcF9jb250 ZXh0ICpwc3ApCiAJY2hhciBmd19uYW1lWzMwXTsKIAlpbnQgZXJyID0gMDsKIAljb25zdCBzdHJ1 Y3QgcHNwX2Zpcm13YXJlX2hlYWRlcl92MV8wICpoZHI7Ci0KKwljb25zdCBzdHJ1Y3QgdGFfZmly bXdhcmVfaGVhZGVyX3YxXzAgKnRhX2hkcjsKIAlEUk1fREVCVUcoIlxuIik7CiAKIAlzd2l0Y2gg KGFkZXYtPmFzaWNfdHlwZSkgewpAQCAtNzYsNyArNzYsMzYgQEAgc3RhdGljIGludCBwc3BfdjEw XzBfaW5pdF9taWNyb2NvZGUoc3RydWN0IHBzcF9jb250ZXh0ICpwc3ApCiAJYWRldi0+cHNwLmFz ZF9zdGFydF9hZGRyID0gKHVpbnQ4X3QgKiloZHIgKwogCQkJCWxlMzJfdG9fY3B1KGhkci0+aGVh ZGVyLnVjb2RlX2FycmF5X29mZnNldF9ieXRlcyk7CiAKKworCXNucHJpbnRmKGZ3X25hbWUsIHNp emVvZihmd19uYW1lKSwgImFtZGdwdS8lc190YS5iaW4iLCBjaGlwX25hbWUpOworCWVyciA9IHJl cXVlc3RfZmlybXdhcmUoJmFkZXYtPnBzcC50YV9mdywgZndfbmFtZSwgYWRldi0+ZGV2KTsKKwlp ZiAoZXJyKSB7CisJCXJlbGVhc2VfZmlybXdhcmUoYWRldi0+cHNwLnRhX2Z3KTsKKwkJYWRldi0+ cHNwLnRhX2Z3ID0gTlVMTDsKKwkJZGV2X2luZm8oYWRldi0+ZGV2LAorCQkJICJwc3AgdjEwLjA6 IEZhaWxlZCB0byBsb2FkIGZpcm13YXJlIFwiJXNcIlxuIiwgZndfbmFtZSk7CisJfSBlbHNlIHsK KwkJZXJyID0gYW1kZ3B1X3Vjb2RlX3ZhbGlkYXRlKGFkZXYtPnBzcC50YV9mdyk7CisJCWlmIChl cnIpCisJCQlnb3RvIG91dDI7CisKKwkJdGFfaGRyID0gKGNvbnN0IHN0cnVjdCB0YV9maXJtd2Fy ZV9oZWFkZXJfdjFfMCAqKWFkZXYtPnBzcC50YV9mdy0+ZGF0YTsKKwkJYWRldi0+cHNwLnRhX2hk Y3BfdWNvZGVfdmVyc2lvbiA9IGxlMzJfdG9fY3B1KHRhX2hkci0+dGFfaGRjcF91Y29kZV92ZXJz aW9uKTsKKwkJYWRldi0+cHNwLnRhX2hkY3BfdWNvZGVfc2l6ZSA9IGxlMzJfdG9fY3B1KHRhX2hk ci0+dGFfaGRjcF9zaXplX2J5dGVzKTsKKwkJYWRldi0+cHNwLnRhX2hkY3Bfc3RhcnRfYWRkciA9 ICh1aW50OF90ICopdGFfaGRyICsKKwkJCWxlMzJfdG9fY3B1KHRhX2hkci0+aGVhZGVyLnVjb2Rl X2FycmF5X29mZnNldF9ieXRlcyk7CisKKwkJYWRldi0+cHNwLnRhX2Z3X3ZlcnNpb24gPSBsZTMy X3RvX2NwdSh0YV9oZHItPmhlYWRlci51Y29kZV92ZXJzaW9uKTsKKworCX0KKwogCXJldHVybiAw OworCisKKworb3V0MjoKKwlyZWxlYXNlX2Zpcm13YXJlKGFkZXYtPnBzcC50YV9mdyk7CisJYWRl di0+cHNwLnRhX2Z3ID0gTlVMTDsKIG91dDoKIAlpZiAoZXJyKSB7CiAJCWRldl9lcnIoYWRldi0+ ZGV2LAotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng=