From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher via amd-gfx Subject: [PATCH 5/6] drm/amdgpu/powerplay: split out common smu9 BACO code Date: Fri, 15 Feb 2019 17:46:55 -0500 Message-ID: <20190215224656.16397-5-alexander.deucher@amd.com> References: <20190215224656.16397-1-alexander.deucher@amd.com> Reply-To: Alex Deucher Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190215224656.16397-1-alexander.deucher-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: Alex Deucher U2V2ZXJhbCBvZiB0aGUgQkFDTyBmdW5jdGlvbnMgYXJlIGNvbW1vbiBhY3Jvc3Mgc211OS1iYXNl ZAphc2ljcy4gIFNwbGl0IHRoZSBjb21tb24gY29kZSBvdXQuCgpTaWduZWQtb2ZmLWJ5OiBBbGV4 IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2FtZC9wb3dlcnBsYXkvaHdtZ3IvTWFrZWZpbGUgIHwgIDIgKy0KIC4uLi9ncHUvZHJtL2FtZC9w b3dlcnBsYXkvaHdtZ3Ivc211OV9iYWNvLmMgICB8IDY2ICsrKysrKysrKysrKysrKysrKysKIC4u Li9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Ivc211OV9iYWNvLmggICB8IDMxICsrKysrKysr KwogLi4uL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTBfYmFjby5jIHwgMzkgKy0t LS0tLS0tLS0KIC4uLi9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEwX2JhY28uaCB8 ICA1ICstCiAuLi4vZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEwX2h3bWdyLmMgICAgfCAg NCArLQogLi4uL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTJfYmFjby5jIHwgMzkg Ky0tLS0tLS0tLS0KIC4uLi9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEyX2JhY28u aCB8ICA1ICstCiAuLi4vZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEyX2h3bWdyLmMgICAg fCAgNCArLQogOSBmaWxlcyBjaGFuZ2VkLCAxMDYgaW5zZXJ0aW9ucygrKSwgODkgZGVsZXRpb25z KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdt Z3Ivc211OV9iYWNvLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bv d2VycGxheS9od21nci9zbXU5X2JhY28uaAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvcG93ZXJwbGF5L2h3bWdyL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvaHdtZ3IvTWFrZWZpbGUKaW5kZXggZDFhZGY2OGY0YzY0Li5jYzYzNzA1OTIwZGMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL01ha2VmaWxlCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL01ha2VmaWxlCkBAIC0zNiw3ICsz Niw3IEBAIEhBUkRXQVJFX01HUiA9IGh3bWdyLm8gcHJvY2Vzc3BwdGFibGVzLm8gXAogCQlwcF9v dmVyZHJpdmVyLm8gc211X2hlbHBlci5vIFwKIAkJdmVnYTIwX3Byb2Nlc3NwcHRhYmxlcy5vIHZl Z2EyMF9od21nci5vIHZlZ2EyMF9wb3dlcnR1bmUubyBcCiAJCXZlZ2EyMF90aGVybWFsLm8gY29t bW9uX2JhY28ubyB2ZWdhMTBfYmFjby5vICB2ZWdhMjBfYmFjby5vIFwKLQkJdmVnYTEyX2JhY28u bworCQl2ZWdhMTJfYmFjby5vIHNtdTlfYmFjby5vCiAKIEFNRF9QUF9IV01HUiA9ICQoYWRkcHJl Zml4ICQoQU1EX1BQX1BBVEgpL2h3bWdyLywkKEhBUkRXQVJFX01HUikpCiAKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3NtdTlfYmFjby5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Ivc211OV9iYWNvLmMKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kZTBhMzdmN2M2MzIKLS0tIC9kZXYvbnVsbAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9zbXU5X2JhY28uYwpAQCAtMCww ICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTggQWR2YW5jZWQgTWljcm8gRGV2aWNlcywg SW5jLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8g ZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhv dXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us IHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMg b2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNv ZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNv bmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vi c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJ UyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNT IE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U SUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIENPUFlS SUdIVCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1B R0VTIE9SCisgKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS QUNULCBUT1JUIE9SIE9USEVSV0lTRSwKKyAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENP Tk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgorICogT1RIRVIgREVBTElO R1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqLworI2luY2x1ZGUgImFtZGdwdS5oIgorI2luY2x1 ZGUgInNvYzE1LmgiCisjaW5jbHVkZSAic29jMTVfaHdfaXAuaCIKKyNpbmNsdWRlICJ2ZWdhMTBf aXBfb2Zmc2V0LmgiCisjaW5jbHVkZSAic29jMTVfY29tbW9uLmgiCisjaW5jbHVkZSAidmVnYTEw X2luYy5oIgorI2luY2x1ZGUgInNtdTlfYmFjby5oIgorCitpbnQgc211OV9iYWNvX2dldF9jYXBh YmlsaXR5KHN0cnVjdCBwcF9od21nciAqaHdtZ3IsIGJvb2wgKmNhcCkKK3sKKwlzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiA9IChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqKShod21nci0+YWRldik7 CisJdWludDMyX3QgcmVnLCBkYXRhOworCisJKmNhcCA9IGZhbHNlOworCWlmICghcGhtX2NhcF9l bmFibGVkKGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywgUEhNX1BsYXRm b3JtQ2Fwc19CQUNPKSkKKwkJcmV0dXJuIDA7CisKKwlXUkVHMzIoMHgxMjA3NCwgMHhGRkYwMDAz Qik7CisJZGF0YSA9IFJSRUczMigweDEyMDc1KTsKKworCWlmIChkYXRhID09IDB4MSkgeworCQly ZWcgPSBSUkVHMzJfU09DMTUoTkJJRiwgMCwgbW1SQ0NfQklGX1NUUkFQMCk7CisKKwkJaWYgKHJl ZyAmIFJDQ19CSUZfU1RSQVAwX19TVFJBUF9QWF9DQVBBQkxFX01BU0spCisJCQkqY2FwID0gdHJ1 ZTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworaW50IHNtdTlfYmFjb19nZXRfc3RhdGUoc3RydWN0 IHBwX2h3bWdyICpod21nciwgZW51bSBCQUNPX1NUQVRFICpzdGF0ZSkKK3sKKwlzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiA9IChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqKShod21nci0+YWRldik7 CisJdWludDMyX3QgcmVnOworCisJcmVnID0gUlJFRzMyX1NPQzE1KE5CSUYsIDAsIG1tQkFDT19D TlRMKTsKKworCWlmIChyZWcgJiBCQUNPX0NOVExfX0JBQ09fTU9ERV9NQVNLKQorCQkvKiBnZngg aGFzIGFscmVhZHkgZW50ZXJlZCBCQUNPIHN0YXRlICovCisJCSpzdGF0ZSA9IEJBQ09fU1RBVEVf SU47CisJZWxzZQorCQkqc3RhdGUgPSBCQUNPX1NUQVRFX09VVDsKKwlyZXR1cm4gMDsKK30KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3NtdTlfYmFjby5o IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Ivc211OV9iYWNvLmgKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44NGU5MGY4MDFhYzMKLS0tIC9kZXYv bnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9zbXU5X2JhY28u aApAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTggQWR2YW5jZWQgTWljcm8g RGV2aWNlcywgSW5jLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29m dHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIp LAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk aW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm eSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2Vs bCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0 aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9s bG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5k IHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3Bp ZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBT T0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E LCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI RSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICog VEhFIENPUFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZIENM QUlNLCBEQU1BR0VTIE9SCisgKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O IE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwKKyAqIEFSSVNJTkcgRlJPTSwgT1VUIE9G IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgorICogT1RI RVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqLworI2lmbmRlZiBfX1NNVTlfQkFD T19IX18KKyNkZWZpbmUgX19TTVU5X0JBQ09fSF9fCisjaW5jbHVkZSAiaHdtZ3IuaCIKKyNpbmNs dWRlICJjb21tb25fYmFjby5oIgorCitleHRlcm4gaW50IHNtdTlfYmFjb19nZXRfY2FwYWJpbGl0 eShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLCBib29sICpjYXApOworZXh0ZXJuIGludCBzbXU5X2Jh Y29fZ2V0X3N0YXRlKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsIGVudW0gQkFDT19TVEFURSAqc3Rh dGUpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5 L2h3bWdyL3ZlZ2ExMF9iYWNvLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21n ci92ZWdhMTBfYmFjby5jCmluZGV4IDczMzdiZTU2MDJlNC4uZDE2OGFmNGE0ZDc4IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTBfYmFjby5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3ZlZ2ExMF9iYWNvLmMKQEAg LTg1LDQ4ICs4NSwxMSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHNvYzE1X2JhY29fY21kX2VudHJ5 IGNsZWFuX2JhY29fdGJsW10gPQogCXtDTURfV1JJVEUsIFNPQzE1X1JFR19FTlRSWShOQklGLCAw LCBtbUJJT1NfU0NSQVRDSF83KSwgMCwgMCwgMCwgMH0sCiB9OwogCi1pbnQgdmVnYTEwX2JhY29f Z2V0X2NhcGFiaWxpdHkoc3RydWN0IHBwX2h3bWdyICpod21nciwgYm9vbCAqY2FwKQotewotCXN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopKGh3bWdy LT5hZGV2KTsKLQl1aW50MzJfdCByZWcsIGRhdGE7Ci0KLQkqY2FwID0gZmFsc2U7Ci0JaWYgKCFw aG1fY2FwX2VuYWJsZWQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLCBQ SE1fUGxhdGZvcm1DYXBzX0JBQ08pKQotCQlyZXR1cm4gMDsKLQotCVdSRUczMigweDEyMDc0LCAw eEZGRjAwMDNCKTsKLQlkYXRhID0gUlJFRzMyKDB4MTIwNzUpOwotCi0JaWYgKGRhdGEgPT0gMHgx KSB7Ci0JCXJlZyA9IFJSRUczMl9TT0MxNShOQklGLCAwLCBtbVJDQ19CSUZfU1RSQVAwKTsKLQot CQlpZiAocmVnICYgUkNDX0JJRl9TVFJBUDBfX1NUUkFQX1BYX0NBUEFCTEVfTUFTSykKLQkJCSpj YXAgPSB0cnVlOwotCX0KLQotCXJldHVybiAwOwotfQotCi1pbnQgdmVnYTEwX2JhY29fZ2V0X3N0 YXRlKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsIGVudW0gQkFDT19TVEFURSAqc3RhdGUpCi17Ci0J c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKikoaHdt Z3ItPmFkZXYpOwotCXVpbnQzMl90IHJlZzsKLQotCXJlZyA9IFJSRUczMl9TT0MxNShOQklGLCAw LCBtbUJBQ09fQ05UTCk7Ci0KLQlpZiAocmVnICYgQkFDT19DTlRMX19CQUNPX01PREVfTUFTSykK LQkJLyogZ2Z4IGhhcyBhbHJlYWR5IGVudGVyZWQgQkFDTyBzdGF0ZSAqLwotCQkqc3RhdGUgPSBC QUNPX1NUQVRFX0lOOwotCWVsc2UKLQkJKnN0YXRlID0gQkFDT19TVEFURV9PVVQ7Ci0JcmV0dXJu IDA7Ci19Ci0KIGludCB2ZWdhMTBfYmFjb19zZXRfc3RhdGUoc3RydWN0IHBwX2h3bWdyICpod21n ciwgZW51bSBCQUNPX1NUQVRFIHN0YXRlKQogewogCWVudW0gQkFDT19TVEFURSBjdXJfc3RhdGU7 CiAKLQl2ZWdhMTBfYmFjb19nZXRfc3RhdGUoaHdtZ3IsICZjdXJfc3RhdGUpOworCXNtdTlfYmFj b19nZXRfc3RhdGUoaHdtZ3IsICZjdXJfc3RhdGUpOwogCiAJaWYgKGN1cl9zdGF0ZSA9PSBzdGF0 ZSkKIAkJLyogYWlzYyBhbHJlYWR5IGluIHRoZSB0YXJnZXQgc3RhdGUgKi8KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3ZlZ2ExMF9iYWNvLmggYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTBfYmFjby5oCmluZGV4IGY3YTNm ZmE3NDRiMy4uOTZkNzkzZjAyNmE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bv d2VycGxheS9od21nci92ZWdhMTBfYmFjby5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93 ZXJwbGF5L2h3bWdyL3ZlZ2ExMF9iYWNvLmgKQEAgLTIyLDExICsyMiw4IEBACiAgKi8KICNpZm5k ZWYgX19WRUdBMTBfQkFDT19IX18KICNkZWZpbmUgX19WRUdBMTBfQkFDT19IX18KLSNpbmNsdWRl ICJod21nci5oIgotI2luY2x1ZGUgImNvbW1vbl9iYWNvLmgiCisjaW5jbHVkZSAic211OV9iYWNv LmgiCiAKLWV4dGVybiBpbnQgdmVnYTEwX2JhY29fZ2V0X2NhcGFiaWxpdHkoc3RydWN0IHBwX2h3 bWdyICpod21nciwgYm9vbCAqY2FwKTsKLWV4dGVybiBpbnQgdmVnYTEwX2JhY29fZ2V0X3N0YXRl KHN0cnVjdCBwcF9od21nciAqaHdtZ3IsIGVudW0gQkFDT19TVEFURSAqc3RhdGUpOwogZXh0ZXJu IGludCB2ZWdhMTBfYmFjb19zZXRfc3RhdGUoc3RydWN0IHBwX2h3bWdyICpod21nciwgZW51bSBC QUNPX1NUQVRFIHN0YXRlKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL3Bvd2VycGxheS9od21nci92ZWdhMTBfaHdtZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv cG93ZXJwbGF5L2h3bWdyL3ZlZ2ExMF9od21nci5jCmluZGV4IDU0NzkxMjVmZjRmNi4uMjYwNTY2 MzFkMmUxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92 ZWdhMTBfaHdtZ3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92 ZWdhMTBfaHdtZ3IuYwpAQCAtNTE3MCw4ICs1MTcwLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBw cF9od21ncl9mdW5jIHZlZ2ExMF9od21ncl9mdW5jcyA9IHsKIAkuc2V0X3Bvd2VyX2xpbWl0ID0g dmVnYTEwX3NldF9wb3dlcl9saW1pdCwKIAkub2RuX2VkaXRfZHBtX3RhYmxlID0gdmVnYTEwX29k bl9lZGl0X2RwbV90YWJsZSwKIAkuZ2V0X3BlcmZvcm1hbmNlX2xldmVsID0gdmVnYTEwX2dldF9w ZXJmb3JtYW5jZV9sZXZlbCwKLQkuZ2V0X2FzaWNfYmFjb19jYXBhYmlsaXR5ID0gdmVnYTEwX2Jh Y29fZ2V0X2NhcGFiaWxpdHksCi0JLmdldF9hc2ljX2JhY29fc3RhdGUgPSB2ZWdhMTBfYmFjb19n ZXRfc3RhdGUsCisJLmdldF9hc2ljX2JhY29fY2FwYWJpbGl0eSA9IHNtdTlfYmFjb19nZXRfY2Fw YWJpbGl0eSwKKwkuZ2V0X2FzaWNfYmFjb19zdGF0ZSA9IHNtdTlfYmFjb19nZXRfc3RhdGUsCiAJ LnNldF9hc2ljX2JhY29fc3RhdGUgPSB2ZWdhMTBfYmFjb19zZXRfc3RhdGUsCiAJLmVuYWJsZV9t Z3B1X2Zhbl9ib29zdCA9IHZlZ2ExMF9lbmFibGVfbWdwdV9mYW5fYm9vc3QsCiAJLmdldF9wcGZl YXR1cmVfc3RhdHVzID0gdmVnYTEwX2dldF9wcGZlYXR1cmVfc3RhdHVzLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEyX2JhY28uYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3ZlZ2ExMl9iYWNvLmMKaW5kZXggYzJjYzE1 Mzg1MDEyLi45ZDhjYTk0YThmMGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93 ZXJwbGF5L2h3bWdyL3ZlZ2ExMl9iYWNvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvaHdtZ3IvdmVnYTEyX2JhY28uYwpAQCAtODMsNDggKzgzLDExIEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3Qgc29jMTVfYmFjb19jbWRfZW50cnkgY2xlYW5fYmFjb190YmxbXSA9CiAJeyBDTURf V1JJVEUsIE5CSUZfSFdJRCwgMCwgbW1CSU9TX1NDUkFUQ0hfN19CQVNFX0lEWCwgbW1CSU9TX1ND UkFUQ0hfNywgMCwgMCwgMCwgMCB9CiB9OwogCi1pbnQgdmVnYTEyX2JhY29fZ2V0X2NhcGFiaWxp dHkoc3RydWN0IHBwX2h3bWdyICpod21nciwgYm9vbCAqY2FwKQotewotCXN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopKGh3bWdyLT5hZGV2KTsKLQl1 aW50MzJfdCByZWcsIGRhdGE7Ci0KLQkqY2FwID0gZmFsc2U7Ci0JaWYgKCFwaG1fY2FwX2VuYWJs ZWQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLCBQSE1fUGxhdGZvcm1D YXBzX0JBQ08pKQotCQlyZXR1cm4gMDsKLQotCVdSRUczMigweDEyMDc0LCAweEZGRjAwMDNCKTsK LQlkYXRhID0gUlJFRzMyKDB4MTIwNzUpOwotCi0JaWYgKGRhdGEgPT0gMHgxKSB7Ci0JCXJlZyA9 IFJSRUczMl9TT0MxNShOQklGLCAwLCBtbVJDQ19CSUZfU1RSQVAwKTsKLQotCQlpZiAocmVnICYg UkNDX0JJRl9TVFJBUDBfX1NUUkFQX1BYX0NBUEFCTEVfTUFTSykKLQkJCSpjYXAgPSB0cnVlOwot CX0KLQotCXJldHVybiAwOwotfQotCi1pbnQgdmVnYTEyX2JhY29fZ2V0X3N0YXRlKHN0cnVjdCBw cF9od21nciAqaHdtZ3IsIGVudW0gQkFDT19TVEFURSAqc3RhdGUpCi17Ci0Jc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKikoaHdtZ3ItPmFkZXYpOwot CXVpbnQzMl90IHJlZzsKLQotCXJlZyA9IFJSRUczMl9TT0MxNShOQklGLCAwLCBtbUJBQ09fQ05U TCk7Ci0KLQlpZiAocmVnICYgQkFDT19DTlRMX19CQUNPX01PREVfTUFTSykKLQkJLyogZ2Z4IGhh cyBhbHJlYWR5IGVudGVyZWQgQkFDTyBzdGF0ZSAqLwotCQkqc3RhdGUgPSBCQUNPX1NUQVRFX0lO OwotCWVsc2UKLQkJKnN0YXRlID0gQkFDT19TVEFURV9PVVQ7Ci0JcmV0dXJuIDA7Ci19Ci0KIGlu dCB2ZWdhMTJfYmFjb19zZXRfc3RhdGUoc3RydWN0IHBwX2h3bWdyICpod21nciwgZW51bSBCQUNP X1NUQVRFIHN0YXRlKQogewogCWVudW0gQkFDT19TVEFURSBjdXJfc3RhdGU7CiAKLQl2ZWdhMTJf YmFjb19nZXRfc3RhdGUoaHdtZ3IsICZjdXJfc3RhdGUpOworCXNtdTlfYmFjb19nZXRfc3RhdGUo aHdtZ3IsICZjdXJfc3RhdGUpOwogCiAJaWYgKGN1cl9zdGF0ZSA9PSBzdGF0ZSkKIAkJLyogYWlz YyBhbHJlYWR5IGluIHRoZSB0YXJnZXQgc3RhdGUgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3ZlZ2ExMl9iYWNvLmggYi9kcml2ZXJzL2dwdS9kcm0v YW1kL3Bvd2VycGxheS9od21nci92ZWdhMTJfYmFjby5oCmluZGV4IDQ1NzY3MGVlOWRkYS4uNTdi NzJlNWE5NWFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21n ci92ZWdhMTJfYmFjby5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdy L3ZlZ2ExMl9iYWNvLmgKQEAgLTIyLDExICsyMiw4IEBACiAgKi8KICNpZm5kZWYgX19WRUdBMTJf QkFDT19IX18KICNkZWZpbmUgX19WRUdBMTJfQkFDT19IX18KLSNpbmNsdWRlICJod21nci5oIgot I2luY2x1ZGUgImNvbW1vbl9iYWNvLmgiCisjaW5jbHVkZSAic211OV9iYWNvLmgiCiAKLWV4dGVy biBpbnQgdmVnYTEyX2JhY29fZ2V0X2NhcGFiaWxpdHkoc3RydWN0IHBwX2h3bWdyICpod21nciwg Ym9vbCAqY2FwKTsKLWV4dGVybiBpbnQgdmVnYTEyX2JhY29fZ2V0X3N0YXRlKHN0cnVjdCBwcF9o d21nciAqaHdtZ3IsIGVudW0gQkFDT19TVEFURSAqc3RhdGUpOwogZXh0ZXJuIGludCB2ZWdhMTJf YmFjb19zZXRfc3RhdGUoc3RydWN0IHBwX2h3bWdyICpod21nciwgZW51bSBCQUNPX1NUQVRFIHN0 YXRlKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxh eS9od21nci92ZWdhMTJfaHdtZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3 bWdyL3ZlZ2ExMl9od21nci5jCmluZGV4IDlkOGM1OTMwZDRiNi4uYjFhOWEzYzk0MGMyIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTJfaHdtZ3Iu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTJfaHdtZ3Iu YwpAQCAtMjYyNyw4ICsyNjI3LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwcF9od21ncl9mdW5j IHZlZ2ExMl9od21ncl9mdW5jcyA9IHsKIAkuc3RhcnRfdGhlcm1hbF9jb250cm9sbGVyID0gdmVn YTEyX3N0YXJ0X3RoZXJtYWxfY29udHJvbGxlciwKIAkucG93ZXJnYXRlX2dmeCA9IHZlZ2ExMl9n Znhfb2ZmX2NvbnRyb2wsCiAJLmdldF9wZXJmb3JtYW5jZV9sZXZlbCA9IHZlZ2ExMl9nZXRfcGVy Zm9ybWFuY2VfbGV2ZWwsCi0JLmdldF9hc2ljX2JhY29fY2FwYWJpbGl0eSA9IHZlZ2ExMl9iYWNv X2dldF9jYXBhYmlsaXR5LAotCS5nZXRfYXNpY19iYWNvX3N0YXRlID0gdmVnYTEyX2JhY29fZ2V0 X3N0YXRlLAorCS5nZXRfYXNpY19iYWNvX2NhcGFiaWxpdHkgPSBzbXU5X2JhY29fZ2V0X2NhcGFi aWxpdHksCisJLmdldF9hc2ljX2JhY29fc3RhdGUgPSBzbXU5X2JhY29fZ2V0X3N0YXRlLAogCS5z ZXRfYXNpY19iYWNvX3N0YXRlID0gdmVnYTEyX2JhY29fc2V0X3N0YXRlLAogCS5nZXRfcHBmZWF0 dXJlX3N0YXR1cyA9IHZlZ2ExMl9nZXRfcHBmZWF0dXJlX3N0YXR1cywKIAkuc2V0X3BwZmVhdHVy ZV9zdGF0dXMgPSB2ZWdhMTJfc2V0X3BwZmVhdHVyZV9zdGF0dXMsCi0tIAoyLjIwLjEKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGlu ZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==