From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mauro Rossi Subject: [PATCH 07/10] drm/amd/display: dc/irq: add support for DCE6 Date: Mon, 8 Oct 2018 04:23:41 +0200 Message-ID: <20181008022344.10247-8-issor.oruam@gmail.com> References: <20181008022344.10247-1-issor.oruam@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181008022344.10247-1-issor.oruam-Re5JQEeQqe8AvxtiuMwx3w@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: harry.wentland-5C7GfCeVMHo@public.gmane.org RENFNiB0YXJnZXRzIGFyZSBhZGRlZCByZXBsaWNhdGluZyBleGlzdGluZyBEQ0U4IGltcGxlbWVu dGF0aW9uLgoKTk9URTogZHVlIHRvIG1pc3NpbmcgQ1JUQ19WRVJUSUNBTF9JTlRFUlJVUFQwX0NP TlRST0wgcmVnaXN0ZXJzL21hc2tzLApkY2UvZGNlXzhfMF97ZCxzaF9tYXNrfS5oIGhlYWRlcnMg d2VyZSB1c2VkIGluc3RlYWQgb2YgZGNlL2RjZV82XzBfe2Qsc2hfbWFza30uaApidXQgb25seSBh cyBleGNlcHRpb24gaW4gZGNlL2lycV9zZXJ2aWNlX2RjZTYwLmMKCklNUE9SVEFOVDogQ29kaW5n IG9mIGRjZS9pcnFfc2VydmljZV9kY2U2MC5jIHJlcXVpcmVzIHJldmlldyB0byB1bmRlcnN0YW5k CmlmIGRjZV82XzBfe2Qsc2hfbWFza30uaCBzaG91bGQgYmUgdXBkYXRlZCB3aXRoIG1hY3Jvcy9y ZWdpc3RlcnMvbWFza3MKLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL01h a2VmaWxlICAgfCAgMTEgKwogLi4uL2Rpc3BsYXkvZGMvaXJxL2RjZTYwL2lycV9zZXJ2aWNlX2Rj ZTYwLmMgIHwgMzAzICsrKysrKysrKysrKysrKysrKwogLi4uL2Rpc3BsYXkvZGMvaXJxL2RjZTYw L2lycV9zZXJ2aWNlX2RjZTYwLmggIHwgIDM1ICsrCiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9pcnEvaXJxX3NlcnZpY2UuYyAgfCAgIDMgKwogNCBmaWxlcyBjaGFuZ2VkLCAzNTIgaW5zZXJ0 aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9pcnEvZGNlNjAvaXJxX3NlcnZpY2VfZGNlNjAuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pcnEvZGNlNjAvaXJxX3NlcnZpY2VfZGNlNjAuaAoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pcnEvTWFrZWZpbGUg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL01ha2VmaWxlCmluZGV4IDQ5ODUx NWFhZDRhNS4uZTM4YjZkOGQ2MTRkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvaXJxL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9pcnEvTWFrZWZpbGUKQEAgLTMwLDYgKzMwLDE3IEBAIEFNRF9EQUxfSVJRID0gJChhZGRwcmVm aXggJChBTUREQUxQQVRIKS9kYy9pcnEvLCQoSVJRKSkKIAogQU1EX0RJU1BMQVlfRklMRVMgKz0g JChBTURfREFMX0lSUSkKIAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBEQ0UgNngKKyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKK2lmZGVmIENPTkZJR19EUk1fQU1EX0RDX1NJCitJUlFfRENFNjAg PSBpcnFfc2VydmljZV9kY2U2MC5vCisKK0FNRF9EQUxfSVJRX0RDRTYwID0gJChhZGRwcmVmaXgg JChBTUREQUxQQVRIKS9kYy9pcnEvZGNlNjAvLCQoSVJRX0RDRTYwKSkKKworQU1EX0RJU1BMQVlf RklMRVMgKz0gJChBTURfREFMX0lSUV9EQ0U2MCkKK2VuZGlmCisKICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKICMgRENFIDh4CiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjZTYwL2lycV9zZXJ2aWNlX2RjZTYwLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjZTYwL2lycV9zZXJ2aWNlX2Rj ZTYwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xMDdlMGRjYjVm ODAKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJx L2RjZTYwL2lycV9zZXJ2aWNlX2RjZTYwLmMKQEAgLTAsMCArMSwzMDMgQEAKKy8qCisgKiBDb3B5 cmlnaHQgMjAxMi0xNSBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisgKgorICogUGVybWlz c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0 YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVu dGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2Fy ZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0 aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0 ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFu ZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVk IHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBU aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFs bCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv ZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIs IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElO Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM SVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF TUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBPUiBB VVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IKKyAqIE9USEVSIExJ QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJX SVNFLAorICogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBT T0ZUV0FSRSBPUiBUSEUgVVNFIE9SCisgKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUu CisgKgorICogQXV0aG9yczogQU1ECisgKgorICovCisKKyNpbmNsdWRlICJkbV9zZXJ2aWNlcy5o IgorCisjaW5jbHVkZSAiaW5jbHVkZS9sb2dnZXJfaW50ZXJmYWNlLmgiCisKKyNpbmNsdWRlICJp cnFfc2VydmljZV9kY2U2MC5oIgorI2luY2x1ZGUgIi4uL2RjZTExMC9pcnFfc2VydmljZV9kY2Ux MTAuaCIKKworI2luY2x1ZGUgImRjZS9kY2VfOF8wX2QuaCIKKyNpbmNsdWRlICJkY2UvZGNlXzhf MF9zaF9tYXNrLmgiCisKKyNpbmNsdWRlICJpdnNyY2lkL2l2c3JjaWRfdmlzbGFuZHMzMC5oIgor CisjaW5jbHVkZSAiZGNfdHlwZXMuaCIKKworc3RhdGljIGJvb2wgaHBkX2FjaygKKwlzdHJ1Y3Qg aXJxX3NlcnZpY2UgKmlycV9zZXJ2aWNlLAorCWNvbnN0IHN0cnVjdCBpcnFfc291cmNlX2luZm8g KmluZm8pCit7CisJdWludDMyX3QgYWRkciA9IGluZm8tPnN0YXR1c19yZWc7CisJdWludDMyX3Qg dmFsdWUgPSBkbV9yZWFkX3JlZyhpcnFfc2VydmljZS0+Y3R4LCBhZGRyKTsKKwl1aW50MzJfdCBj dXJyZW50X3N0YXR1cyA9CisJCWdldF9yZWdfZmllbGRfdmFsdWUoCisJCQl2YWx1ZSwKKwkJCURD X0hQRDFfSU5UX1NUQVRVUywKKwkJCURDX0hQRDFfU0VOU0VfREVMQVlFRCk7CisKKwlkYWxfaXJx X3NlcnZpY2VfYWNrX2dlbmVyaWMoaXJxX3NlcnZpY2UsIGluZm8pOworCisJdmFsdWUgPSBkbV9y ZWFkX3JlZyhpcnFfc2VydmljZS0+Y3R4LCBpbmZvLT5lbmFibGVfcmVnKTsKKworCXNldF9yZWdf ZmllbGRfdmFsdWUoCisJCXZhbHVlLAorCQljdXJyZW50X3N0YXR1cyA/IDAgOiAxLAorCQlEQ19I UEQxX0lOVF9DT05UUk9MLAorCQlEQ19IUEQxX0lOVF9QT0xBUklUWSk7CisKKwlkbV93cml0ZV9y ZWcoaXJxX3NlcnZpY2UtPmN0eCwgaW5mby0+ZW5hYmxlX3JlZywgdmFsdWUpOworCisJcmV0dXJu IHRydWU7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaXJxX3NvdXJjZV9pbmZvX2Z1bmNzIGhw ZF9pcnFfaW5mb19mdW5jcyA9IHsKKwkuc2V0ID0gTlVMTCwKKwkuYWNrID0gaHBkX2FjaworfTsK Kworc3RhdGljIGNvbnN0IHN0cnVjdCBpcnFfc291cmNlX2luZm9fZnVuY3MgaHBkX3J4X2lycV9p bmZvX2Z1bmNzID0geworCS5zZXQgPSBOVUxMLAorCS5hY2sgPSBOVUxMCit9OworCitzdGF0aWMg Y29uc3Qgc3RydWN0IGlycV9zb3VyY2VfaW5mb19mdW5jcyBwZmxpcF9pcnFfaW5mb19mdW5jcyA9 IHsKKwkuc2V0ID0gTlVMTCwKKwkuYWNrID0gTlVMTAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVj dCBpcnFfc291cmNlX2luZm9fZnVuY3MgdmJsYW5rX2lycV9pbmZvX2Z1bmNzID0geworCS5zZXQg PSBkY2UxMTBfdmJsYW5rX3NldCwKKwkuYWNrID0gTlVMTAorfTsKKworCisjZGVmaW5lIGhwZF9p bnRfZW50cnkocmVnX251bSlcCisJW0RDX0lSUV9TT1VSQ0VfSU5WQUxJRCArIHJlZ19udW1dID0g e1wKKwkJLmVuYWJsZV9yZWcgPSBtbURDX0hQRCAjIyByZWdfbnVtICMjIF9JTlRfQ09OVFJPTCxc CisJCS5lbmFibGVfbWFzayA9IERDX0hQRDFfSU5UX0NPTlRST0xfX0RDX0hQRDFfSU5UX0VOX01B U0ssXAorCQkuZW5hYmxlX3ZhbHVlID0ge1wKKwkJCURDX0hQRDFfSU5UX0NPTlRST0xfX0RDX0hQ RDFfSU5UX0VOX01BU0ssXAorCQkJfkRDX0hQRDFfSU5UX0NPTlRST0xfX0RDX0hQRDFfSU5UX0VO X01BU0tcCisJCX0sXAorCQkuYWNrX3JlZyA9IG1tRENfSFBEICMjIHJlZ19udW0gIyMgX0lOVF9D T05UUk9MLFwKKwkJLmFja19tYXNrID0gRENfSFBEMV9JTlRfQ09OVFJPTF9fRENfSFBEMV9JTlRf QUNLX01BU0ssXAorCQkuYWNrX3ZhbHVlID0gRENfSFBEMV9JTlRfQ09OVFJPTF9fRENfSFBEMV9J TlRfQUNLX01BU0ssXAorCQkuc3RhdHVzX3JlZyA9IG1tRENfSFBEICMjIHJlZ19udW0gIyMgX0lO VF9TVEFUVVMsXAorCQkuZnVuY3MgPSAmaHBkX2lycV9pbmZvX2Z1bmNzXAorCX0KKworI2RlZmlu ZSBocGRfcnhfaW50X2VudHJ5KHJlZ19udW0pXAorCVtEQ19JUlFfU09VUkNFX0hQRDYgKyByZWdf bnVtXSA9IHtcCisJCS5lbmFibGVfcmVnID0gbW1EQ19IUEQgIyMgcmVnX251bSAjIyBfSU5UX0NP TlRST0wsXAorCQkuZW5hYmxlX21hc2sgPSBEQ19IUEQxX0lOVF9DT05UUk9MX19EQ19IUEQxX1JY X0lOVF9FTl9NQVNLLFwKKwkJLmVuYWJsZV92YWx1ZSA9IHtcCisJCQkJRENfSFBEMV9JTlRfQ09O VFJPTF9fRENfSFBEMV9SWF9JTlRfRU5fTUFTSyxcCisJCQl+RENfSFBEMV9JTlRfQ09OVFJPTF9f RENfSFBEMV9SWF9JTlRfRU5fTUFTSyB9LFwKKwkJLmFja19yZWcgPSBtbURDX0hQRCAjIyByZWdf bnVtICMjIF9JTlRfQ09OVFJPTCxcCisJCS5hY2tfbWFzayA9IERDX0hQRDFfSU5UX0NPTlRST0xf X0RDX0hQRDFfUlhfSU5UX0FDS19NQVNLLFwKKwkJLmFja192YWx1ZSA9IERDX0hQRDFfSU5UX0NP TlRST0xfX0RDX0hQRDFfUlhfSU5UX0FDS19NQVNLLFwKKwkJLnN0YXR1c19yZWcgPSBtbURDX0hQ RCAjIyByZWdfbnVtICMjIF9JTlRfU1RBVFVTLFwKKwkJLmZ1bmNzID0gJmhwZF9yeF9pcnFfaW5m b19mdW5jc1wKKwl9CisKKyNkZWZpbmUgcGZsaXBfaW50X2VudHJ5KHJlZ19udW0pXAorCVtEQ19J UlFfU09VUkNFX1BGTElQMSArIHJlZ19udW1dID0ge1wKKwkJLmVuYWJsZV9yZWcgPSBtbURDUCAj IyByZWdfbnVtICMjIF9HUlBIX0lOVEVSUlVQVF9DT05UUk9MLFwKKwkJLmVuYWJsZV9tYXNrID1c CisJCUdSUEhfSU5URVJSVVBUX0NPTlRST0xfX0dSUEhfUEZMSVBfSU5UX01BU0tfTUFTSyxcCisJ CS5lbmFibGVfdmFsdWUgPSB7XAorCQkJR1JQSF9JTlRFUlJVUFRfQ09OVFJPTF9fR1JQSF9QRkxJ UF9JTlRfTUFTS19NQVNLLFwKKwkJCX5HUlBIX0lOVEVSUlVQVF9DT05UUk9MX19HUlBIX1BGTElQ X0lOVF9NQVNLX01BU0t9LFwKKwkJLmFja19yZWcgPSBtbURDUCAjIyByZWdfbnVtICMjIF9HUlBI X0lOVEVSUlVQVF9TVEFUVVMsXAorCQkuYWNrX21hc2sgPSBHUlBIX0lOVEVSUlVQVF9TVEFUVVNf X0dSUEhfUEZMSVBfSU5UX0NMRUFSX01BU0ssXAorCQkuYWNrX3ZhbHVlID0gR1JQSF9JTlRFUlJV UFRfU1RBVFVTX19HUlBIX1BGTElQX0lOVF9DTEVBUl9NQVNLLFwKKwkJLnN0YXR1c19yZWcgPSBt bURDUCAjIyByZWdfbnVtICMjX0dSUEhfSU5URVJSVVBUX1NUQVRVUyxcCisJCS5mdW5jcyA9ICZw ZmxpcF9pcnFfaW5mb19mdW5jc1wKKyAJfQorCisjZGVmaW5lIHZ1cGRhdGVfaW50X2VudHJ5KHJl Z19udW0pXAorCVtEQ19JUlFfU09VUkNFX1ZVUERBVEUxICsgcmVnX251bV0gPSB7XAorCQkuZW5h YmxlX3JlZyA9IG1tQ1JUQyAjIyByZWdfbnVtICMjIF9DUlRDX0lOVEVSUlVQVF9DT05UUk9MLFwK KwkJLmVuYWJsZV9tYXNrID1cCisJCUNSVENfSU5URVJSVVBUX0NPTlRST0xfX0NSVENfVl9VUERB VEVfSU5UX01TS19NQVNLLFwKKwkJLmVuYWJsZV92YWx1ZSA9IHtcCisJCQlDUlRDX0lOVEVSUlVQ VF9DT05UUk9MX19DUlRDX1ZfVVBEQVRFX0lOVF9NU0tfTUFTSyxcCisJCQl+Q1JUQ19JTlRFUlJV UFRfQ09OVFJPTF9fQ1JUQ19WX1VQREFURV9JTlRfTVNLX01BU0t9LFwKKwkJLmFja19yZWcgPSBt bUNSVEMgIyMgcmVnX251bSAjIyBfQ1JUQ19WX1VQREFURV9JTlRfU1RBVFVTLFwKKwkJLmFja19t YXNrID1cCisJCUNSVENfVl9VUERBVEVfSU5UX1NUQVRVU19fQ1JUQ19WX1VQREFURV9JTlRfQ0xF QVJfTUFTSyxcCisJCS5hY2tfdmFsdWUgPVwKKwkJQ1JUQ19WX1VQREFURV9JTlRfU1RBVFVTX19D UlRDX1ZfVVBEQVRFX0lOVF9DTEVBUl9NQVNLLFwKKwkJLmZ1bmNzID0gJnZibGFua19pcnFfaW5m b19mdW5jc1wKKwl9CisKKyNkZWZpbmUgdmJsYW5rX2ludF9lbnRyeShyZWdfbnVtKVwKKwlbRENf SVJRX1NPVVJDRV9WQkxBTksxICsgcmVnX251bV0gPSB7XAorCQkuZW5hYmxlX3JlZyA9IG1tQ1JU QyAjIyByZWdfbnVtICMjIF9DUlRDX1ZFUlRJQ0FMX0lOVEVSUlVQVDBfQ09OVFJPTCxcCisJCS5l bmFibGVfbWFzayA9XAorCQlDUlRDX1ZFUlRJQ0FMX0lOVEVSUlVQVDBfQ09OVFJPTF9fQ1JUQ19W RVJUSUNBTF9JTlRFUlJVUFQwX0lOVF9FTkFCTEVfTUFTSyxcCisJCS5lbmFibGVfdmFsdWUgPSB7 XAorCQkJQ1JUQ19WRVJUSUNBTF9JTlRFUlJVUFQwX0NPTlRST0xfX0NSVENfVkVSVElDQUxfSU5U RVJSVVBUMF9JTlRfRU5BQkxFX01BU0ssXAorCQkJfkNSVENfVkVSVElDQUxfSU5URVJSVVBUMF9D T05UUk9MX19DUlRDX1ZFUlRJQ0FMX0lOVEVSUlVQVDBfSU5UX0VOQUJMRV9NQVNLfSxcCisJCS5h Y2tfcmVnID0gbW1DUlRDICMjIHJlZ19udW0gIyMgX0NSVENfVkVSVElDQUxfSU5URVJSVVBUMF9D T05UUk9MLFwKKwkJLmFja19tYXNrID1cCisJCUNSVENfVkVSVElDQUxfSU5URVJSVVBUMF9DT05U Uk9MX19DUlRDX1ZFUlRJQ0FMX0lOVEVSUlVQVDBfQ0xFQVJfTUFTSyxcCisJCS5hY2tfdmFsdWUg PVwKKwkJQ1JUQ19WRVJUSUNBTF9JTlRFUlJVUFQwX0NPTlRST0xfX0NSVENfVkVSVElDQUxfSU5U RVJSVVBUMF9DTEVBUl9NQVNLLFwKKwkJLmZ1bmNzID0gJnZibGFua19pcnFfaW5mb19mdW5jcyxc CisJCS5zcmNfaWQgPSBWSVNMQU5EUzMwX0lWX1NSQ0lEX0QxX1ZFUlRJQ0FMX0lOVEVSUlVQVDAg KyByZWdfbnVtXAorCX0KKworI2RlZmluZSBkdW1teV9pcnFfZW50cnkoKSBcCisJe1wKKwkJLmZ1 bmNzID0gJmR1bW15X2lycV9pbmZvX2Z1bmNzXAorCX0KKworI2RlZmluZSBpMmNfaW50X2VudHJ5 KHJlZ19udW0pIFwKKwlbRENfSVJRX1NPVVJDRV9JMkNfRERDICMjIHJlZ19udW1dID0gZHVtbXlf aXJxX2VudHJ5KCkKKworI2RlZmluZSBkcF9zaW5rX2ludF9lbnRyeShyZWdfbnVtKSBcCisJW0RD X0lSUV9TT1VSQ0VfRFBTSU5LICMjIHJlZ19udW1dID0gZHVtbXlfaXJxX2VudHJ5KCkKKworI2Rl ZmluZSBncGlvX3BhZF9pbnRfZW50cnkocmVnX251bSkgXAorCVtEQ19JUlFfU09VUkNFX0dQSU9Q QUQgIyMgcmVnX251bV0gPSBkdW1teV9pcnFfZW50cnkoKQorCisjZGVmaW5lIGRjX3VuZGVyZmxv d19pbnRfZW50cnkocmVnX251bSkgXAorCVtEQ19JUlFfU09VUkNFX0RDICMjIHJlZ19udW0gIyMg VU5ERVJGTE9XXSA9IGR1bW15X2lycV9lbnRyeSgpCisKKworc3RhdGljIGNvbnN0IHN0cnVjdCBp cnFfc291cmNlX2luZm9fZnVuY3MgZHVtbXlfaXJxX2luZm9fZnVuY3MgPSB7CisJLnNldCA9IGRh bF9pcnFfc2VydmljZV9kdW1teV9zZXQsCisJLmFjayA9IGRhbF9pcnFfc2VydmljZV9kdW1teV9h Y2sKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaXJxX3NvdXJjZV9pbmZvCitpcnFfc291cmNl X2luZm9fZGNlNjBbREFMX0lSUV9TT1VSQ0VTX05VTUJFUl0gPSB7CisJW0RDX0lSUV9TT1VSQ0Vf SU5WQUxJRF0gPSBkdW1teV9pcnFfZW50cnkoKSwKKwlocGRfaW50X2VudHJ5KDEpLAorCWhwZF9p bnRfZW50cnkoMiksCisJaHBkX2ludF9lbnRyeSgzKSwKKwlocGRfaW50X2VudHJ5KDQpLAorCWhw ZF9pbnRfZW50cnkoNSksCisJaHBkX2ludF9lbnRyeSg2KSwKKwlocGRfcnhfaW50X2VudHJ5KDEp LAorCWhwZF9yeF9pbnRfZW50cnkoMiksCisJaHBkX3J4X2ludF9lbnRyeSgzKSwKKwlocGRfcnhf aW50X2VudHJ5KDQpLAorCWhwZF9yeF9pbnRfZW50cnkoNSksCisJaHBkX3J4X2ludF9lbnRyeSg2 KSwKKwlpMmNfaW50X2VudHJ5KDEpLAorCWkyY19pbnRfZW50cnkoMiksCisJaTJjX2ludF9lbnRy eSgzKSwKKwlpMmNfaW50X2VudHJ5KDQpLAorCWkyY19pbnRfZW50cnkoNSksCisJaTJjX2ludF9l bnRyeSg2KSwKKwlkcF9zaW5rX2ludF9lbnRyeSgxKSwKKwlkcF9zaW5rX2ludF9lbnRyeSgyKSwK KwlkcF9zaW5rX2ludF9lbnRyeSgzKSwKKwlkcF9zaW5rX2ludF9lbnRyeSg0KSwKKwlkcF9zaW5r X2ludF9lbnRyeSg1KSwKKwlkcF9zaW5rX2ludF9lbnRyeSg2KSwKKwlbRENfSVJRX1NPVVJDRV9U SU1FUl0gPSBkdW1teV9pcnFfZW50cnkoKSwKKwlwZmxpcF9pbnRfZW50cnkoMCksCisJcGZsaXBf aW50X2VudHJ5KDEpLAorCXBmbGlwX2ludF9lbnRyeSgyKSwKKwlwZmxpcF9pbnRfZW50cnkoMyks CisJcGZsaXBfaW50X2VudHJ5KDQpLAorCXBmbGlwX2ludF9lbnRyeSg1KSwKKwlbRENfSVJRX1NP VVJDRV9QRkxJUF9VTkRFUkxBWTBdID0gZHVtbXlfaXJxX2VudHJ5KCksCisJZ3Bpb19wYWRfaW50 X2VudHJ5KDApLAorCWdwaW9fcGFkX2ludF9lbnRyeSgxKSwKKwlncGlvX3BhZF9pbnRfZW50cnko MiksCisJZ3Bpb19wYWRfaW50X2VudHJ5KDMpLAorCWdwaW9fcGFkX2ludF9lbnRyeSg0KSwKKwln cGlvX3BhZF9pbnRfZW50cnkoNSksCisJZ3Bpb19wYWRfaW50X2VudHJ5KDYpLAorCWdwaW9fcGFk X2ludF9lbnRyeSg3KSwKKwlncGlvX3BhZF9pbnRfZW50cnkoOCksCisJZ3Bpb19wYWRfaW50X2Vu dHJ5KDkpLAorCWdwaW9fcGFkX2ludF9lbnRyeSgxMCksCisJZ3Bpb19wYWRfaW50X2VudHJ5KDEx KSwKKwlncGlvX3BhZF9pbnRfZW50cnkoMTIpLAorCWdwaW9fcGFkX2ludF9lbnRyeSgxMyksCisJ Z3Bpb19wYWRfaW50X2VudHJ5KDE0KSwKKwlncGlvX3BhZF9pbnRfZW50cnkoMTUpLAorCWdwaW9f cGFkX2ludF9lbnRyeSgxNiksCisJZ3Bpb19wYWRfaW50X2VudHJ5KDE3KSwKKwlncGlvX3BhZF9p bnRfZW50cnkoMTgpLAorCWdwaW9fcGFkX2ludF9lbnRyeSgxOSksCisJZ3Bpb19wYWRfaW50X2Vu dHJ5KDIwKSwKKwlncGlvX3BhZF9pbnRfZW50cnkoMjEpLAorCWdwaW9fcGFkX2ludF9lbnRyeSgy MiksCisJZ3Bpb19wYWRfaW50X2VudHJ5KDIzKSwKKwlncGlvX3BhZF9pbnRfZW50cnkoMjQpLAor CWdwaW9fcGFkX2ludF9lbnRyeSgyNSksCisJZ3Bpb19wYWRfaW50X2VudHJ5KDI2KSwKKwlncGlv X3BhZF9pbnRfZW50cnkoMjcpLAorCWdwaW9fcGFkX2ludF9lbnRyeSgyOCksCisJZ3Bpb19wYWRf aW50X2VudHJ5KDI5KSwKKwlncGlvX3BhZF9pbnRfZW50cnkoMzApLAorCWRjX3VuZGVyZmxvd19p bnRfZW50cnkoMSksCisJZGNfdW5kZXJmbG93X2ludF9lbnRyeSgyKSwKKwlkY191bmRlcmZsb3df aW50X2VudHJ5KDMpLAorCWRjX3VuZGVyZmxvd19pbnRfZW50cnkoNCksCisJZGNfdW5kZXJmbG93 X2ludF9lbnRyeSg1KSwKKwlkY191bmRlcmZsb3dfaW50X2VudHJ5KDYpLAorCVtEQ19JUlFfU09V UkNFX0RNQ1VfU0NQXSA9IGR1bW15X2lycV9lbnRyeSgpLAorCVtEQ19JUlFfU09VUkNFX1ZCSU9T X1NXXSA9IGR1bW15X2lycV9lbnRyeSgpLAorCXZ1cGRhdGVfaW50X2VudHJ5KDApLAorCXZ1cGRh dGVfaW50X2VudHJ5KDEpLAorCXZ1cGRhdGVfaW50X2VudHJ5KDIpLAorCXZ1cGRhdGVfaW50X2Vu dHJ5KDMpLAorCXZ1cGRhdGVfaW50X2VudHJ5KDQpLAorCXZ1cGRhdGVfaW50X2VudHJ5KDUpLAor CXZibGFua19pbnRfZW50cnkoMCksCisJdmJsYW5rX2ludF9lbnRyeSgxKSwKKwl2YmxhbmtfaW50 X2VudHJ5KDIpLAorCXZibGFua19pbnRfZW50cnkoMyksCisJdmJsYW5rX2ludF9lbnRyeSg0KSwK Kwl2YmxhbmtfaW50X2VudHJ5KDUpLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpcnFfc2Vy dmljZV9mdW5jcyBpcnFfc2VydmljZV9mdW5jc19kY2U2MCA9IHsKKwkJLnRvX2RhbF9pcnFfc291 cmNlID0gdG9fZGFsX2lycV9zb3VyY2VfZGNlMTEwCit9OworCitzdGF0aWMgdm9pZCBjb25zdHJ1 Y3QoCisJc3RydWN0IGlycV9zZXJ2aWNlICppcnFfc2VydmljZSwKKwlzdHJ1Y3QgaXJxX3NlcnZp Y2VfaW5pdF9kYXRhICppbml0X2RhdGEpCit7CisJZGFsX2lycV9zZXJ2aWNlX2NvbnN0cnVjdChp cnFfc2VydmljZSwgaW5pdF9kYXRhKTsKKworCWlycV9zZXJ2aWNlLT5pbmZvID0gaXJxX3NvdXJj ZV9pbmZvX2RjZTYwOworCWlycV9zZXJ2aWNlLT5mdW5jcyA9ICZpcnFfc2VydmljZV9mdW5jc19k Y2U2MDsKK30KKworc3RydWN0IGlycV9zZXJ2aWNlICpkYWxfaXJxX3NlcnZpY2VfZGNlNjBfY3Jl YXRlKAorCXN0cnVjdCBpcnFfc2VydmljZV9pbml0X2RhdGEgKmluaXRfZGF0YSkKK3sKKwlzdHJ1 Y3QgaXJxX3NlcnZpY2UgKmlycV9zZXJ2aWNlID0ga3phbGxvYyhzaXplb2YoKmlycV9zZXJ2aWNl KSwKKwkJCQkJCSAgR0ZQX0tFUk5FTCk7CisKKwlpZiAoIWlycV9zZXJ2aWNlKQorCQlyZXR1cm4g TlVMTDsKKworCWNvbnN0cnVjdChpcnFfc2VydmljZSwgaW5pdF9kYXRhKTsKKwlyZXR1cm4gaXJx X3NlcnZpY2U7Cit9CisKKwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2lycS9kY2U2MC9pcnFfc2VydmljZV9kY2U2MC5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2lycS9kY2U2MC9pcnFfc2VydmljZV9kY2U2MC5oCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNzMxNDI2OGM3MzljCi0tLSAvZGV2L251bGwKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2lycS9kY2U2MC9pcnFfc2VydmljZV9kY2U2 MC5oCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMi0xNSBBZHZhbmNlZCBN aWNybyBEZXZpY2VzLCBJbmMuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhp cyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3 YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBp bmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9v ciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3 aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRo ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxs IGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICog VEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z IEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg VE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxM CisgKiBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBPUiBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBB TlkgQ0xBSU0sIERBTUFHRVMgT1IKKyAqIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB Q1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAorICogQVJJU0lORyBGUk9NLCBP VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SCisg KiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogQXV0aG9yczogQU1ECisg KgorICovCisKKyNpZm5kZWYgX19EQUxfSVJRX1NFUlZJQ0VfRENFNjBfSF9fCisjZGVmaW5lIF9f REFMX0lSUV9TRVJWSUNFX0RDRTYwX0hfXworCisjaW5jbHVkZSAiLi4vaXJxX3NlcnZpY2UuaCIK Kworc3RydWN0IGlycV9zZXJ2aWNlICpkYWxfaXJxX3NlcnZpY2VfZGNlNjBfY3JlYXRlKAorCXN0 cnVjdCBpcnFfc2VydmljZV9pbml0X2RhdGEgKmluaXRfZGF0YSk7CisKKyNlbmRpZgorCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2lycV9zZXJ2aWNlLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2lycV9zZXJ2aWNlLmMKaW5kZXgg NjA0YmVhMDFmYzEzLi4xOTA1NDNjZGZmNjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9pcnEvaXJxX3NlcnZpY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvaXJxL2lycV9zZXJ2aWNlLmMKQEAgLTMwLDYgKzMwLDkgQEAKIAogI2luY2x1 ZGUgImRjZTExMC9pcnFfc2VydmljZV9kY2UxMTAuaCIKIAorI2lmIGRlZmluZWQoQ09ORklHX0RS TV9BTURfRENfU0kpCisjaW5jbHVkZSAiZGNlNjAvaXJxX3NlcnZpY2VfZGNlNjAuaCIKKyNlbmRp ZgogCiAjaW5jbHVkZSAiZGNlODAvaXJxX3NlcnZpY2VfZGNlODAuaCIKIAotLSAKMi4xNy4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1h aWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK