From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher via amd-gfx Subject: [PATCH 4/6] drm/amdgpu/powerplay: add BACO support for vega12 Date: Fri, 15 Feb 2019 17:46:54 -0500 Message-ID: <20190215224656.16397-4-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 VGhpcyBpbXBsZW1lbnRzIEJBQ08gKEJ1cyBBY3RpdmUsIENoaXAgT2ZmKSBzdXBwb3J0CmZvciB2 ZWdhMTIuCgpTaWduZWQtb2ZmLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFt ZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvTWFrZWZpbGUg IHwgICAzICstCiAuLi4vZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3ZlZ2ExMl9iYWNvLmMg fCAxNTYgKysrKysrKysrKysrKysrKysrCiAuLi4vZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdy L3ZlZ2ExMl9iYWNvLmggfCAgMzIgKysrKwogLi4uL2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3Zl Z2ExMl9od21nci5jICAgIHwgICA1ICsKIC4uLi9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Iv dmVnYTEyX2luYy5oICB8ICAgMiArCiA1IGZpbGVzIGNoYW5nZWQsIDE5NyBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2FtZC9w b3dlcnBsYXkvaHdtZ3IvdmVnYTEyX2JhY28uYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv Z3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3ZlZ2ExMl9iYWNvLmgKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL01ha2VmaWxlCmluZGV4IDBiM2M2ZDFkNTJlNC4uZDFh ZGY2OGY0YzY0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21n ci9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9NYWtl ZmlsZQpAQCAtMzUsNyArMzUsOCBAQCBIQVJEV0FSRV9NR1IgPSBod21nci5vIHByb2Nlc3NwcHRh Ymxlcy5vIFwKIAkJdmVnYTEyX3RoZXJtYWwubyBcCiAJCXBwX292ZXJkcml2ZXIubyBzbXVfaGVs cGVyLm8gXAogCQl2ZWdhMjBfcHJvY2Vzc3BwdGFibGVzLm8gdmVnYTIwX2h3bWdyLm8gdmVnYTIw X3Bvd2VydHVuZS5vIFwKLQkJdmVnYTIwX3RoZXJtYWwubyBjb21tb25fYmFjby5vIHZlZ2ExMF9i YWNvLm8gIHZlZ2EyMF9iYWNvLm8KKwkJdmVnYTIwX3RoZXJtYWwubyBjb21tb25fYmFjby5vIHZl Z2ExMF9iYWNvLm8gIHZlZ2EyMF9iYWNvLm8gXAorCQl2ZWdhMTJfYmFjby5vCiAKIEFNRF9QUF9I V01HUiA9ICQoYWRkcHJlZml4ICQoQU1EX1BQX1BBVEgpL2h3bWdyLywkKEhBUkRXQVJFX01HUikp CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3ZlZ2Ex Ml9iYWNvLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTJfYmFj by5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYzJjYzE1Mzg1MDEy Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Iv dmVnYTEyX2JhY28uYwpAQCAtMCwwICsxLDE1NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE5IEFk dmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29w eSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo ZSAiU29mdHdhcmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJp Y3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNl LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAor ICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJz b25zIHRvIHdob20gdGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl Y3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmln aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGlu CisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4K KyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U WSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZF TlQgU0hBTEwKKyAqIFRIRSBDT1BZUklHSFQgSE9MREVSKFMpIE9SIEFVVEhPUihTKSBCRSBMSUFC TEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUgorICogT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCisgKiBBUklTSU5H IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBV U0UgT1IKKyAqIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKi8KKyNpbmNs dWRlICJhbWRncHUuaCIKKyNpbmNsdWRlICJzb2MxNS5oIgorI2luY2x1ZGUgInNvYzE1X2h3X2lw LmgiCisjaW5jbHVkZSAidmVnYTEwX2lwX29mZnNldC5oIgorI2luY2x1ZGUgInNvYzE1X2NvbW1v bi5oIgorI2luY2x1ZGUgInZlZ2ExMl9pbmMuaCIKKyNpbmNsdWRlICJ2ZWdhMTJfcHBzbWMuaCIK KyNpbmNsdWRlICJ2ZWdhMTJfYmFjby5oIgorCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvYzE1X2Jh Y29fY21kX2VudHJ5ICBwcmVfYmFjb190YmxbXSA9Cit7CisJeyBDTURfUkVBRE1PRElGWVdSSVRF LCBOQklGX0hXSUQsIDAsIG1tQklGX0RPT1JCRUxMX0NOVExfQkFTRV9JRFgsIG1tQklGX0RPT1JC RUxMX0NOVEwsIEJJRl9ET09SQkVMTF9DTlRMX19ET09SQkVMTF9NT05JVE9SX0VOX01BU0ssIEJJ Rl9ET09SQkVMTF9DTlRMX19ET09SQkVMTF9NT05JVE9SX0VOX19TSElGVCwgMCwgMCB9LAorCXsg Q01EX1dSSVRFLCBOQklGX0hXSUQsIDAsIG1tQklGX0ZCX0VOX0JBU0VfSURYLCBtbUJJRl9GQl9F TiwgMCwgMCwgMCwgMCB9LAorCXsgQ01EX1JFQURNT0RJRllXUklURSwgTkJJRl9IV0lELCAwLCBt bVJDQ19CQUNPX0NOVExfTUlTQ19CQVNFX0lEWCwgbW1CQUNPX0NOVEwsIEJBQ09fQ05UTF9fQkFD T19EU1RBVEVfQllQQVNTX01BU0ssIEJBQ09fQ05UTF9fQkFDT19EU1RBVEVfQllQQVNTX19TSElG VCwgMCwgMSB9LAorCXsgQ01EX1JFQURNT0RJRllXUklURSwgTkJJRl9IV0lELCAwLCBtbVJDQ19C QUNPX0NOVExfTUlTQ19CQVNFX0lEWCwgbW1CQUNPX0NOVEwsIEJBQ09fQ05UTF9fQkFDT19SU1Rf SU5UUl9NQVNLX01BU0ssIEJBQ09fQ05UTF9fQkFDT19SU1RfSU5UUl9NQVNLX19TSElGVCwgMCwg MSB9Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvYzE1X2JhY29fY21kX2VudHJ5IGVudGVy X2JhY29fdGJsW10gPQoreworCXsgQ01EX1dBSVRGT1IsIFRITV9IV0lELCAwLCBtbVRITV9CQUNP X0NOVExfQkFTRV9JRFgsIG1tVEhNX0JBQ09fQ05UTCwgVEhNX0JBQ09fQ05UTF9fU09DX0RPTUFJ Tl9JRExFX01BU0ssIFRITV9CQUNPX0NOVExfX1NPQ19ET01BSU5fSURMRV9fU0hJRlQsIDB4ZmZm ZmZmZmYsIDB4ODAwMDAwMDAgfSwKKwl7IENNRF9SRUFETU9ESUZZV1JJVEUsIE5CSUZfSFdJRCwg MCwgbW1SQ0NfQkFDT19DTlRMX01JU0NfQkFTRV9JRFgsIG1tQkFDT19DTlRMLCBCQUNPX0NOVExf X0JBQ09fRU5fTUFTSywgQkFDT19DTlRMX19CQUNPX0VOX19TSElGVCwgMCwgMSB9LAorCXsgQ01E X1JFQURNT0RJRllXUklURSwgTkJJRl9IV0lELCAwLCBtbVJDQ19CQUNPX0NOVExfTUlTQ19CQVNF X0lEWCwgbW1CQUNPX0NOVEwsIEJBQ09fQ05UTF9fQkFDT19CSUZfTENMS19TV0lUQ0hfTUFTSywg QkFDT19DTlRMX19CQUNPX0JJRl9MQ0xLX1NXSVRDSF9fU0hJRlQsIDAsIDEgfSwKKwl7IENNRF9S RUFETU9ESUZZV1JJVEUsIE5CSUZfSFdJRCwgMCwgbW1SQ0NfQkFDT19DTlRMX01JU0NfQkFTRV9J RFgsIG1tQkFDT19DTlRMLCBCQUNPX0NOVExfX0JBQ09fRFVNTVlfRU5fTUFTSywgQkFDT19DTlRM X19CQUNPX0RVTU1ZX0VOX19TSElGVCwgMCwgMSB9LAorCXsgQ01EX1JFQURNT0RJRllXUklURSwg VEhNX0hXSUQsIDAsIG1tVEhNX0JBQ09fQ05UTF9CQVNFX0lEWCwgbW1USE1fQkFDT19DTlRMLCBU SE1fQkFDT19DTlRMX19CQUNPX1NPQ19WRENJX1JFU0VUX01BU0ssIFRITV9CQUNPX0NOVExfX0JB Q09fU09DX1ZEQ0lfUkVTRVRfX1NISUZULCAwLCAxIH0sCisJeyBDTURfUkVBRE1PRElGWVdSSVRF LCBUSE1fSFdJRCwgMCwgbW1USE1fQkFDT19DTlRMX0JBU0VfSURYLCBtbVRITV9CQUNPX0NOVEws IFRITV9CQUNPX0NOVExfX0JBQ09fU01OQ0xLX01VWF9NQVNLLCBUSE1fQkFDT19DTlRMX19CQUNP X1NNTkNMS19NVVhfX1NISUZULCAwLCAxIH0sCisJeyBDTURfUkVBRE1PRElGWVdSSVRFLCBUSE1f SFdJRCwgMCwgbW1USE1fQkFDT19DTlRMX0JBU0VfSURYLCBtbVRITV9CQUNPX0NOVEwsIFRITV9C QUNPX0NOVExfX0JBQ09fSVNPX0VOX01BU0ssIFRITV9CQUNPX0NOVExfX0JBQ09fSVNPX0VOX19T SElGVCwgMCwgMSB9LAorCXsgQ01EX1JFQURNT0RJRllXUklURSwgVEhNX0hXSUQsIDAsIG1tVEhN X0JBQ09fQ05UTF9CQVNFX0lEWCwgbW1USE1fQkFDT19DTlRMLCBUSE1fQkFDT19DTlRMX19CQUNP X0FFQl9JU09fRU5fTUFTSywgVEhNX0JBQ09fQ05UTF9fQkFDT19BRUJfSVNPX0VOX19TSElGVCwg MCwgMSB9LAorCXsgQ01EX1JFQURNT0RJRllXUklURSwgVEhNX0hXSUQsIDAsIG1tVEhNX0JBQ09f Q05UTF9CQVNFX0lEWCwgbW1USE1fQkFDT19DTlRMLCBUSE1fQkFDT19DTlRMX19CQUNPX0FOQV9J U09fRU5fTUFTSywgVEhNX0JBQ09fQ05UTF9fQkFDT19BTkFfSVNPX0VOX19TSElGVCwgMCwgMSB9 LAorCXsgQ01EX1JFQURNT0RJRllXUklURSwgVEhNX0hXSUQsIDAsIG1tVEhNX0JBQ09fQ05UTF9C QVNFX0lEWCwgbW1USE1fQkFDT19DTlRMLCBUSE1fQkFDT19DTlRMX19CQUNPX1NPQ19SRUZDTEtf T0ZGX01BU0ssIFRITV9CQUNPX0NOVExfX0JBQ09fU09DX1JFRkNMS19PRkZfX1NISUZULCAwLCAx IH0sCisJeyBDTURfUkVBRE1PRElGWVdSSVRFLCBOQklGX0hXSUQsIDAsIG1tUkNDX0JBQ09fQ05U TF9NSVNDX0JBU0VfSURYLCBtbUJBQ09fQ05UTCwgQkFDT19DTlRMX19CQUNPX1BPV0VSX09GRl9N QVNLLCBCQUNPX0NOVExfX0JBQ09fUE9XRVJfT0ZGX19TSElGVCwgMCwgMSB9LAorCXsgQ01EX0RF TEFZX01TLCAwLCAwLCAwLCA1LCAwIH0sCisJeyBDTURfUkVBRE1PRElGWVdSSVRFLCBUSE1fSFdJ RCwgMCwgbW1USE1fQkFDT19DTlRMX0JBU0VfSURYLCBtbVRITV9CQUNPX0NOVEwsIFRITV9CQUNP X0NOVExfX0JBQ09fUkVTRVRfRU5fTUFTSywgVEhNX0JBQ09fQ05UTF9fQkFDT19SRVNFVF9FTl9f U0hJRlQsIDAsIDEgfSwKKwl7IENNRF9SRUFETU9ESUZZV1JJVEUsIFRITV9IV0lELCAwLCBtbVRI TV9CQUNPX0NOVExfQkFTRV9JRFgsIG1tVEhNX0JBQ09fQ05UTCwgVEhNX0JBQ09fQ05UTF9fQkFD T19QV1JPS1JBV19DTlRMX01BU0ssIFRITV9CQUNPX0NOVExfX0JBQ09fUFdST0tSQVdfQ05UTF9f U0hJRlQsIDAsIDAgfSwKKwl7IENNRF9XQUlURk9SLCBOQklGX0hXSUQsIDAsIG1tUkNDX0JBQ09f Q05UTF9NSVNDX0JBU0VfSURYLCBtbUJBQ09fQ05UTCwgQkFDT19DTlRMX19CQUNPX01PREVfTUFT SywgQkFDT19DTlRMX19CQUNPX01PREVfX1NISUZULCAweGZmZmZmZmZmLCAweDEwMCB9Cit9Owor CitzdGF0aWMgY29uc3Qgc3RydWN0IHNvYzE1X2JhY29fY21kX2VudHJ5IGV4aXRfYmFjb190Ymxb XSA9Cit7CisJeyBDTURfUkVBRE1PRElGWVdSSVRFLCBOQklGX0hXSUQsIDAsIG1tUkNDX0JBQ09f Q05UTF9NSVNDX0JBU0VfSURYLCBtbUJBQ09fQ05UTCwgQkFDT19DTlRMX19CQUNPX1BPV0VSX09G Rl9NQVNLLCBCQUNPX0NOVExfX0JBQ09fUE9XRVJfT0ZGX19TSElGVCwgMCwgMCB9LAorCXsgQ01E X0RFTEFZX01TLCAwLCAwLCAwLCAwLCAwLCAwLCAxMCwgMCB9LAorCXsgQ01EX1JFQURNT0RJRllX UklURSwgVEhNX0hXSUQsIDAsIG1tVEhNX0JBQ09fQ05UTF9CQVNFX0lEWCwgbW1USE1fQkFDT19D TlRMLCBUSE1fQkFDT19DTlRMX19CQUNPX1NPQ19SRUZDTEtfT0ZGX01BU0ssIFRITV9CQUNPX0NO VExfX0JBQ09fU09DX1JFRkNMS19PRkZfX1NISUZULCAwLCAwIH0sCisJeyBDTURfUkVBRE1PRElG WVdSSVRFLCBUSE1fSFdJRCwgMCwgbW1USE1fQkFDT19DTlRMX0JBU0VfSURYLCBtbVRITV9CQUNP X0NOVEwsIFRITV9CQUNPX0NOVExfX0JBQ09fQU5BX0lTT19FTl9NQVNLLCBUSE1fQkFDT19DTlRM X19CQUNPX0FOQV9JU09fRU5fX1NISUZULCAwLCAwIH0sCisJeyBDTURfUkVBRE1PRElGWVdSSVRF LCBUSE1fSFdJRCwgMCwgbW1USE1fQkFDT19DTlRMX0JBU0VfSURYLCBtbVRITV9CQUNPX0NOVEws IFRITV9CQUNPX0NOVExfX0JBQ09fQUVCX0lTT19FTl9NQVNLLCBUSE1fQkFDT19DTlRMX19CQUNP X0FFQl9JU09fRU5fX1NISUZULCAwLCAwIH0sCisJeyBDTURfUkVBRE1PRElGWVdSSVRFLCBUSE1f SFdJRCwgMCwgbW1USE1fQkFDT19DTlRMX0JBU0VfSURYLCBtbVRITV9CQUNPX0NOVEwsIFRITV9C QUNPX0NOVExfX0JBQ09fSVNPX0VOX01BU0ssIFRITV9CQUNPX0NOVExfX0JBQ09fSVNPX0VOX19T SElGVCwgMCwgMCB9LAorCXsgQ01EX1JFQURNT0RJRllXUklURSwgVEhNX0hXSUQsIDAsIG1tVEhN X0JBQ09fQ05UTF9CQVNFX0lEWCwgbW1USE1fQkFDT19DTlRMLCBUSE1fQkFDT19DTlRMX19CQUNP X1BXUk9LUkFXX0NOVExfTUFTSywgVEhNX0JBQ09fQ05UTF9fQkFDT19QV1JPS1JBV19DTlRMX19T SElGVCwgMCwgMSB9LAorCXsgQ01EX1JFQURNT0RJRllXUklURSwgVEhNX0hXSUQsIDAsIG1tVEhN X0JBQ09fQ05UTF9CQVNFX0lEWCwgbW1USE1fQkFDT19DTlRMLCBUSE1fQkFDT19DTlRMX19CQUNP X1NNTkNMS19NVVhfTUFTSywgVEhNX0JBQ09fQ05UTF9fQkFDT19TTU5DTEtfTVVYX19TSElGVCwg MCwgMCB9LAorCXsgQ01EX1JFQURNT0RJRllXUklURSwgVEhNX0hXSUQsIDAsIG1tVEhNX0JBQ09f Q05UTF9CQVNFX0lEWCwgbW1USE1fQkFDT19DTlRMLCBUSE1fQkFDT19DTlRMX19CQUNPX1NPQ19W RENJX1JFU0VUX01BU0ssIFRITV9CQUNPX0NOVExfX0JBQ09fU09DX1ZEQ0lfUkVTRVRfX1NISUZU LCAwLCAwIH0sCisJeyBDTURfUkVBRE1PRElGWVdSSVRFLCBUSE1fSFdJRCwgMCwgbW1USE1fQkFD T19DTlRMX0JBU0VfSURYLCBtbVRITV9CQUNPX0NOVEwsIFRITV9CQUNPX0NOVExfX0JBQ09fRVhJ VF9NQVNLLCBUSE1fQkFDT19DTlRMX19CQUNPX0VYSVRfX1NISUZULCAwLCAxIH0sCisJeyBDTURf UkVBRE1PRElGWVdSSVRFLCBUSE1fSFdJRCwgMCwgbW1USE1fQkFDT19DTlRMX0JBU0VfSURYLCBt bVRITV9CQUNPX0NOVEwsIFRITV9CQUNPX0NOVExfX0JBQ09fUkVTRVRfRU5fTUFTSywgVEhNX0JB Q09fQ05UTF9fQkFDT19SRVNFVF9FTl9fU0hJRlQsIDAsIDAgfSwKKwl7IENNRF9XQUlURk9SLCBU SE1fSFdJRCwgMCwgbW1USE1fQkFDT19DTlRMX0JBU0VfSURYLCBtbVRITV9CQUNPX0NOVEwsIFRI TV9CQUNPX0NOVExfX0JBQ09fRVhJVF9NQVNLLCAwLCAweGZmZmZmZmZmLCAwIH0sCisJeyBDTURf UkVBRE1PRElGWVdSSVRFLCBUSE1fSFdJRCwgMCwgbW1USE1fQkFDT19DTlRMX0JBU0VfSURYLCBt bVRITV9CQUNPX0NOVEwsIFRITV9CQUNPX0NOVExfX0JBQ09fU0JfQVhJX0ZFTkNFX01BU0ssIFRI TV9CQUNPX0NOVExfX0JBQ09fU0JfQVhJX0ZFTkNFX19TSElGVCwgMCwgMCB9LAorCXsgQ01EX1JF QURNT0RJRllXUklURSwgTkJJRl9IV0lELCAwLCBtbVJDQ19CQUNPX0NOVExfTUlTQ19CQVNFX0lE WCwgbW1CQUNPX0NOVEwsIEJBQ09fQ05UTF9fQkFDT19EVU1NWV9FTl9NQVNLLCBCQUNPX0NOVExf X0JBQ09fRFVNTVlfRU5fX1NISUZULCAwLCAwIH0sCisJeyBDTURfUkVBRE1PRElGWVdSSVRFLCBO QklGX0hXSUQsIDAsIG1tUkNDX0JBQ09fQ05UTF9NSVNDX0JBU0VfSURYLCBtbUJBQ09fQ05UTCwg QkFDT19DTlRMX19CQUNPX0JJRl9MQ0xLX1NXSVRDSF9NQVNLLCBCQUNPX0NOVExfX0JBQ09fQklG X0xDTEtfU1dJVENIX19TSElGVCwgMCwgMCB9LAorCXsgQ01EX1JFQURNT0RJRllXUklURSwgTkJJ Rl9IV0lELCAwLCBtbVJDQ19CQUNPX0NOVExfTUlTQ19CQVNFX0lEWCwgbW1CQUNPX0NOVEwsIEJB Q09fQ05UTF9fQkFDT19FTl9NQVNLLCBCQUNPX0NOVExfX0JBQ09fRU5fX1NISUZULCAwLCAwIH0s CisJeyBDTURfV0FJVEZPUiwgTkJJRl9IV0lELCAwLCBtbVJDQ19CQUNPX0NOVExfTUlTQ19CQVNF X0lEWCwgbW1CQUNPX0NOVEwsIEJBQ09fQ05UTF9fQkFDT19NT0RFX01BU0ssIDAsIDB4ZmZmZmZm ZmYsIDAgfQorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2MxNV9iYWNvX2NtZF9lbnRyeSBj bGVhbl9iYWNvX3RibFtdID0KK3sKKwl7IENNRF9XUklURSwgTkJJRl9IV0lELCAwLCBtbUJJT1Nf U0NSQVRDSF82X0JBU0VfSURYLCBtbUJJT1NfU0NSQVRDSF82LCAwLCAwLCAwLCAwIH0sCisJeyBD TURfV1JJVEUsIE5CSUZfSFdJRCwgMCwgbW1CSU9TX1NDUkFUQ0hfN19CQVNFX0lEWCwgbW1CSU9T X1NDUkFUQ0hfNywgMCwgMCwgMCwgMCB9Cit9OworCitpbnQgdmVnYTEyX2JhY29fZ2V0X2NhcGFi aWxpdHkoc3RydWN0IHBwX2h3bWdyICpod21nciwgYm9vbCAqY2FwKQoreworCXN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopKGh3bWdyLT5hZGV2KTsK Kwl1aW50MzJfdCByZWcsIGRhdGE7CisKKwkqY2FwID0gZmFsc2U7CisJaWYgKCFwaG1fY2FwX2Vu YWJsZWQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLCBQSE1fUGxhdGZv cm1DYXBzX0JBQ08pKQorCQlyZXR1cm4gMDsKKworCVdSRUczMigweDEyMDc0LCAweEZGRjAwMDNC KTsKKwlkYXRhID0gUlJFRzMyKDB4MTIwNzUpOworCisJaWYgKGRhdGEgPT0gMHgxKSB7CisJCXJl ZyA9IFJSRUczMl9TT0MxNShOQklGLCAwLCBtbVJDQ19CSUZfU1RSQVAwKTsKKworCQlpZiAocmVn ICYgUkNDX0JJRl9TVFJBUDBfX1NUUkFQX1BYX0NBUEFCTEVfTUFTSykKKwkJCSpjYXAgPSB0cnVl OworCX0KKworCXJldHVybiAwOworfQorCitpbnQgdmVnYTEyX2JhY29fZ2V0X3N0YXRlKHN0cnVj dCBwcF9od21nciAqaHdtZ3IsIGVudW0gQkFDT19TVEFURSAqc3RhdGUpCit7CisJc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKikoaHdtZ3ItPmFkZXYp OworCXVpbnQzMl90IHJlZzsKKworCXJlZyA9IFJSRUczMl9TT0MxNShOQklGLCAwLCBtbUJBQ09f Q05UTCk7CisKKwlpZiAocmVnICYgQkFDT19DTlRMX19CQUNPX01PREVfTUFTSykKKwkJLyogZ2Z4 IGhhcyBhbHJlYWR5IGVudGVyZWQgQkFDTyBzdGF0ZSAqLworCQkqc3RhdGUgPSBCQUNPX1NUQVRF X0lOOworCWVsc2UKKwkJKnN0YXRlID0gQkFDT19TVEFURV9PVVQ7CisJcmV0dXJuIDA7Cit9CisK K2ludCB2ZWdhMTJfYmFjb19zZXRfc3RhdGUoc3RydWN0IHBwX2h3bWdyICpod21nciwgZW51bSBC QUNPX1NUQVRFIHN0YXRlKQoreworCWVudW0gQkFDT19TVEFURSBjdXJfc3RhdGU7CisKKwl2ZWdh MTJfYmFjb19nZXRfc3RhdGUoaHdtZ3IsICZjdXJfc3RhdGUpOworCisJaWYgKGN1cl9zdGF0ZSA9 PSBzdGF0ZSkKKwkJLyogYWlzYyBhbHJlYWR5IGluIHRoZSB0YXJnZXQgc3RhdGUgKi8KKwkJcmV0 dXJuIDA7CisKKwlpZiAoc3RhdGUgPT0gQkFDT19TVEFURV9JTikgeworCQlpZiAoc29jMTVfYmFj b19wcm9ncmFtX3JlZ2lzdGVycyhod21nciwgcHJlX2JhY29fdGJsLAorCQkJCQkgICAgIEFSUkFZ X1NJWkUocHJlX2JhY29fdGJsKSkpIHsKKwkJCWlmIChzbXVtX3NlbmRfbXNnX3RvX3NtY193aXRo X3BhcmFtZXRlcihod21nciwgUFBTTUNfTVNHX0VudGVyQmFjbywgMCkpCisJCQkJcmV0dXJuIC1F SU5WQUw7CisKKwkJCWlmIChzb2MxNV9iYWNvX3Byb2dyYW1fcmVnaXN0ZXJzKGh3bWdyLCBlbnRl cl9iYWNvX3RibCwKKwkJCQkJCSAgIEFSUkFZX1NJWkUoZW50ZXJfYmFjb190YmwpKSkKKwkJCQly ZXR1cm4gMDsKKwkJfQorCX0gZWxzZSBpZiAoc3RhdGUgPT0gQkFDT19TVEFURV9PVVQpIHsKKwkJ LyogSFcgcmVxdWlyZXMgYXQgbGVhc3QgMjBtcyBiZXR3ZWVuIHJlZ3VsYXRvciBvZmYgYW5kIG9u ICovCisJCW1zbGVlcCgyMCk7CisJCS8qIEV4ZWN1dGUgSGFyZHdhcmUgQkFDTyBleGl0IHNlcXVl bmNlICovCisJCWlmIChzb2MxNV9iYWNvX3Byb2dyYW1fcmVnaXN0ZXJzKGh3bWdyLCBleGl0X2Jh Y29fdGJsLAorCQkJCQkgICAgIEFSUkFZX1NJWkUoZXhpdF9iYWNvX3RibCkpKSB7CisJCQlpZiAo c29jMTVfYmFjb19wcm9ncmFtX3JlZ2lzdGVycyhod21nciwgY2xlYW5fYmFjb190YmwsCisJCQkJ CQkgICAgIEFSUkFZX1NJWkUoY2xlYW5fYmFjb190YmwpKSkKKwkJCQlyZXR1cm4gMDsKKwkJfQor CX0KKworCXJldHVybiAtRUlOVkFMOworfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEyX2JhY28uaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93 ZXJwbGF5L2h3bWdyL3ZlZ2ExMl9iYWNvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi40NTc2NzBlZTlkZGEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTJfYmFjby5oCkBAIC0wLDAgKzEsMzIgQEAKKy8q CisgKiBDb3B5cmlnaHQgMjAxOSBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisgKgorICog UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJz b24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBk b2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBT b2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9u CisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlz dHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdh cmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVy bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAq CisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj ZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0 aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJB UyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJ RUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hB TlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklO RlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQ09QWVJJR0hUIEhPTERFUihT KSBPUiBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IKKyAqIE9U SEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Ig T1RIRVJXSVNFLAorICogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI IFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SCisgKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09G VFdBUkUuCisgKgorICovCisjaWZuZGVmIF9fVkVHQTEyX0JBQ09fSF9fCisjZGVmaW5lIF9fVkVH QTEyX0JBQ09fSF9fCisjaW5jbHVkZSAiaHdtZ3IuaCIKKyNpbmNsdWRlICJjb21tb25fYmFjby5o IgorCitleHRlcm4gaW50IHZlZ2ExMl9iYWNvX2dldF9jYXBhYmlsaXR5KHN0cnVjdCBwcF9od21n ciAqaHdtZ3IsIGJvb2wgKmNhcCk7CitleHRlcm4gaW50IHZlZ2ExMl9iYWNvX2dldF9zdGF0ZShz dHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLCBlbnVtIEJBQ09fU1RBVEUgKnN0YXRlKTsKK2V4dGVybiBp bnQgdmVnYTEyX2JhY29fc2V0X3N0YXRlKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsIGVudW0gQkFD T19TVEFURSBzdGF0ZSk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEyX2h3bWdyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bv d2VycGxheS9od21nci92ZWdhMTJfaHdtZ3IuYwppbmRleCA2YzhlNzg2MTFjMDMuLjlkOGM1OTMw ZDRiNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVn YTEyX2h3bWdyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVn YTEyX2h3bWdyLmMKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJwcGludGVycnVwdC5oIgog I2luY2x1ZGUgInBwX292ZXJkcml2ZXIuaCIKICNpbmNsdWRlICJwcF90aGVybWFsLmgiCisjaW5j bHVkZSAidmVnYTEyX2JhY28uaCIKIAogCiBzdGF0aWMgaW50IHZlZ2ExMl9mb3JjZV9jbG9ja19s ZXZlbChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLApAQCAtMjYyNiw4ICsyNjI3LDEyIEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgcHBfaHdtZ3JfZnVuYyB2ZWdhMTJfaHdtZ3JfZnVuY3MgPSB7CiAJLnN0 YXJ0X3RoZXJtYWxfY29udHJvbGxlciA9IHZlZ2ExMl9zdGFydF90aGVybWFsX2NvbnRyb2xsZXIs CiAJLnBvd2VyZ2F0ZV9nZnggPSB2ZWdhMTJfZ2Z4X29mZl9jb250cm9sLAogCS5nZXRfcGVyZm9y bWFuY2VfbGV2ZWwgPSB2ZWdhMTJfZ2V0X3BlcmZvcm1hbmNlX2xldmVsLAorCS5nZXRfYXNpY19i YWNvX2NhcGFiaWxpdHkgPSB2ZWdhMTJfYmFjb19nZXRfY2FwYWJpbGl0eSwKKwkuZ2V0X2FzaWNf YmFjb19zdGF0ZSA9IHZlZ2ExMl9iYWNvX2dldF9zdGF0ZSwKKwkuc2V0X2FzaWNfYmFjb19zdGF0 ZSA9IHZlZ2ExMl9iYWNvX3NldF9zdGF0ZSwKIAkuZ2V0X3BwZmVhdHVyZV9zdGF0dXMgPSB2ZWdh MTJfZ2V0X3BwZmVhdHVyZV9zdGF0dXMsCiAJLnNldF9wcGZlYXR1cmVfc3RhdHVzID0gdmVnYTEy X3NldF9wcGZlYXR1cmVfc3RhdHVzLAorCiB9OwogCiBpbnQgdmVnYTEyX2h3bWdyX2luaXQoc3Ry dWN0IHBwX2h3bWdyICpod21ncikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93 ZXJwbGF5L2h3bWdyL3ZlZ2ExMl9pbmMuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5 L2h3bWdyL3ZlZ2ExMl9pbmMuaAppbmRleCAzMGIyNzhjNTAyMjIuLmU2ZDllODQwNTllMSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEyX2luYy5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3ZlZ2ExMl9pbmMuaApA QCAtMzUsNSArMzUsNyBAQAogI2luY2x1ZGUgImFzaWNfcmVnL2djL2djXzlfMl8xX3NoX21hc2su aCIKIAogI2luY2x1ZGUgImFzaWNfcmVnL25iaW8vbmJpb182XzFfb2Zmc2V0LmgiCisjaW5jbHVk ZSAiYXNpY19yZWcvbmJpby9uYmlvXzZfMV9vZmZzZXQuaCIKKyNpbmNsdWRlICJhc2ljX3JlZy9u YmlvL25iaW9fNl8xX3NoX21hc2suaCIKIAogI2VuZGlmCi0tIAoyLjIwLjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0 CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==